;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:45:48 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/gnus/nnslashdot.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`nnslashdot.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require nnoo message gnus-util gnus nnmail mm-util] 2)
(require 'nnweb)
(byte-code "\302\303\304\305\"\305\211FB\302\306D	B\305\207" [nnoo-definition-alist nnoo-state-alist nnslashdot mapcar #[(p) "C\207" [p] 1] nil "*internal-non-initialized-backend*"] 4)
#@39 Where nnslashdot will save its files.
(defvar nnslashdot-directory (nnheader-concat gnus-directory "slashdot/") (#$ . 981))
(nnoo-define 'nnslashdot-directory nil)
#@51 Where nnslashdot will fetch the active file from.
(defvar nnslashdot-active-url "http://slashdot.org/search.pl?section=&min=%d" (#$ . 1151))
(nnoo-define 'nnslashdot-active-url nil)
#@44 Where nnslashdot will fetch comments from.
(defvar nnslashdot-comments-url "http://slashdot.org/comments.pl?sid=%s&threshold=%d&commentsort=%d&mode=flat&startat=%d" (#$ . 1339))
(nnoo-define 'nnslashdot-comments-url nil)
#@47 Where nnslashdot will fetch the article from.
(defvar nnslashdot-article-url "http://slashdot.org/article.pl?sid=%s&mode=nocomment" (#$ . 1566))
(nnoo-define 'nnslashdot-article-url nil)
#@47 Where nnslashdot will fetch the stories from.
(defvar nnslashdot-backslash-url "http://slashdot.org/slashdot.xml" (#$ . 1759))
(nnoo-define 'nnslashdot-backslash-url nil)
#@24 The article threshold.
(defvar nnslashdot-threshold -1 (#$ . 1936))
(nnoo-define 'nnslashdot-threshold nil)
#@58 Whether the nnslashdot groups should be threaded or not.
(defvar nnslashdot-threaded t (#$ . 2050))
(nnoo-define 'nnslashdot-threaded nil)
#@49 The number of non-fresh groups to keep updated.
(defvar nnslashdot-group-number 0 (#$ . 2195))
(nnoo-define 'nnslashdot-group-number nil)
#@37 The login name to use when posting.
(defvar nnslashdot-login-name "" (#$ . 2339))
(nnoo-define 'nnslashdot-login-name nil)
#@35 The password to use when posting.
(defvar nnslashdot-password "" (#$ . 2468))
(byte-code "\304\305\306\"\210\301B\307\301!\204 \306\302B\307\302!\204 \306\303B\307\303!\204) \306\310\311!\207" [current-load-list nnslashdot-groups nnslashdot-buffer nnslashdot-headers nnoo-define nnslashdot-password nil boundp nnoo-define-basics-1 nnslashdot] 3)
(defalias 'nnslashdot-retrieve-headers #[(articles &optional group server fetch-old) "\302	\"\210\303\304\305\217\207" [group server nnslashdot-possibly-change-server why (byte-code "?\205	 \303	\n\"\207" [gnus-nov-is-evil articles group nnslashdot-retrieve-headers-1] 3) ((search-failed (nnslashdot-lose why)))] 3])
(nnoo-register-function 'nnslashdot-retrieve-headers)
(defalias 'nnslashdot-retrieve-headers-1 #[(articles group) "\301!@\n\203 \306\202 \211A@\307\f\"@\310@8A\311B\312C\312D\312E\312F\312G\312H\312I\312J\312K\312L\312M\312N\312O\212Pq\210\311Q\313 \210\306U\203\347 \314\315R\316A!\"\311\"\210eb\210\317\320!\210\321\322!\203z \323\324\310!!G\325\326!\210\327`\325\330!S{!H`\306y\210`Z\331\245I\306\211\fGH\330\316A!\332Q\333\334I\312\211STIUVWHGEX\335XEGHWVUITS&\n.\nBCBC\n\203\341 \310\202\346 \211A@\203\263	X\203\263dbK\314\315Y\316A!Z\334\310Z%\311\"\210\n\203=B\203=\312Bdb\210\336\337\312\311#\2036\340\324\306!!\211MN>\204MNBN\202\341N\342\"ND\203NDW\203ND\202ODKb\210\317\343\312\311#\203\221\324\306!L\324\344!E\324\345!FD\346@8\236\204\211\346@\233DLB\346@8B\240\210\311O\347\350E\"\203\233\351E\334\225\312OPE\323E!E\325\352!\210\321\353!\203\301\334\225\345Zb\210\323\324\306!!\354\324\344!\355RG\202\327\333G\321\356!\203\327\334\225\345Zb\210\323\324\306!!G\325\357!\210\327`\360\312w\210`{!H\361\325\362!\325\363!Z!\364\245I\317\365\312\311#\204\312J\202\324\306!\211J\366\230\203\312JD\211E\367F\370RGH\330\316A!\371L\372\260J\203;\330\316A!\371J\372\260\202<\333\334I\312\211STIUVWHGEX\335XEGHWVUITS&\n.\nBCBC\203\211@DX\203\211\211A@\210\202tDTD\202U\n\203\251N\211AN@\211\203\347 \310\\\211\202\350 \211A@\211\204\353 *O\203\274\373 \210\341C\374\"[\212\\q\210\313 \210]\203^p_`\375\216\312a\376\312!\210[\312b\211c\203\377c@b\377bA!\210cA\211c\204\353.\202'\312a[\312b\211d\203&d@b\377bA!\210dA\211d\204+.\201e \207" [articles last nnslashdot-threaded start group nnslashdot-groups 1 assoc 2 t nil erase-buffer nnweb-insert format nnslashdot-sid-strip re-search-forward "Posted by[ 	\n]+" looking-at "\\(<a[^>]+>\\)?[ 	\n]*\\([^<\n]+\\)" nnweb-decode-entities-string match-string search-forward "on " nnslashdot-date-to-date "<" 60 "%1@slashdot>" "" 0 vector re-search-backward "startat=\\([0-9]+\\)" string-to-number sort < "<a name=\"\\([0-9]+\\)\"><\\(b\\|H4\\)>\\([^<]+\\)</\\(b\\|H4\\)>.*score:\\([^)]+\\))" 3 5 4 string-match "^Re: *" "Re: " "<BR>" "by[ 	\n]+<a[^>]+>\\([^<]+\\)</a>[ 	\n]*(\\(<[^>]+>\\)*\\([^<>)]+\\))" " <" ">" "by \\([^<>]*\\) on " " on " "^()<>\n" abs "<td" "</td>" 70 ".*cid=\\([0-9]+\\)\">Parent</A>" "0" " (" ")" "%" "@slashdot>" nnslashdot-write-groups car-less-than-car ((byte-code "q\210\302	!\207" [#1=#:buffer #2=#:multibyte set-buffer-multibyte] 2)) set-buffer-multibyte nnheader-insert-nov entry sid first-comments headers article subject score from date lines parent point cid s startats changed nnslashdot-buffer case-fold-search nnslashdot-article-url extra xref chars references id number nnslashdot-comments-url nnslashdot-threshold nnslashdot-headers nntp-server-buffer mm-emacs-mule enable-multibyte-characters #1# #2# default-enable-multibyte-characters header #3=#:--dolist-temp--97318 #4=#:--dolist-temp--97319 nov] 13])
(nnoo-register-function 'nnslashdot-retrieve-headers-1)
(defalias 'nnslashdot-request-group #[(group &optional server dont-check) "\305\306\"\210\307	\n\"\211\204 \310\311\312\"\202. \310\311\313	#\210\314\315\211A@)\316\211A@)\317	!%)\207" [server group nnslashdot-groups elem x nnslashdot-possibly-change-server nil assoc nnheader-report nnslashdot "Group does not exist" "Opened group %s" nnheader-insert "211 %d %d %d %s\n" 1 prin1-to-string] 8])
(nnoo-register-function 'nnslashdot-request-group)
(defalias 'nnslashdot-close-group #[(group &optional server) "\304	\"\210\n\211\205 \305!\205 \306\305!!)\203# \212\nq\210\307\n!\210)\310\207" [group server nnslashdot-buffer buffer nnslashdot-possibly-change-server get-buffer buffer-name kill-buffer t] 4])
(nnoo-register-function 'nnslashdot-close-group)
(defalias 'nnslashdot-request-article #[(article &optional group server buffer) "\306	\"\210\307\211\310\311\312\217\210\205\305 \212\f\206 q\210\313 \210\203y p\314\216\307\315\307!\210c\210eb\210\316\317\307\320#\203I \321\322\320\211#\210\2028 eb\210\323c\210\324\325 \"\211!AA)@\326\261\210\"#\236A$\327$!\210)\330\331\332\"#\210,\202\300 \307c\210eb\210\316\317\307\320#\203\223 \321\322\320\211#\210\202\202 eb\210\323c\210\324\325 \"\211!AA)@\326\261\210\"#\236A$\327$!\210)\330\331\332\"#\210)\")B*\207" [group server cid contents buffer nntp-server-buffer nnslashdot-possibly-change-server nil why (byte-code "\212q\210\306eb\210\n;\203M \307\310\n\"\203M \311\312\n\"\313\314\f\"8\211\203L \211@A)\232\203C \211@@)\315\211\202# A\211\204& )\n\247\203\207 \n\312U\203m \316\317!\210\320\321!\210`\316\322!\210\323\224{\202\207 \n\313\314\f\"8\236A\320\324\325\"!\210\316\326!\320\327!{*\315\207" [nnslashdot-buffer case-fold-search article cid group nnslashdot-groups t string-match "%\\([0-9]+\\)@" match-string 1 4 assoc nil re-search-forward "Posted by" search-forward "<BR>" "&lt;&nbsp;[ 	\n]*<A HREF=\"\\(\\(http:\\)?//slashdot\\.org\\)?/article" 0 format "<a name=\"%s\">" "<td[^>]*>" "</td>" map x contents] 6) ((search-failed (nnslashdot-lose why))) erase-buffer ((byte-code "q\210\302	!\207" [#1=#:buffer #2=#:multibyte set-buffer-multibyte] 2)) set-buffer-multibyte re-search-forward "\\(<br>?\\)+" t replace-match "<p>" "Content-Type: text/html\nMIME-Version: 1.0\n" "Newsgroups: " assoc "\n" nnheader-insert-header nnheader-report nnslashdot "Fetched article %s" mm-emacs-mule enable-multibyte-characters #1# #2# default-enable-multibyte-characters nnslashdot-groups x article nnslashdot-headers header] 5])
(nnoo-register-function 'nnslashdot-request-article)
(defalias 'nnslashdot-close-server #[(&optional server) "\303!\203$ 	\211\205 \304\n!\205 \305\304\n!!)\203$ \212	q\210\306	!\210)\307\310\"\207" [server nnslashdot-buffer buffer nnslashdot-server-opened get-buffer buffer-name kill-buffer nnoo-close-server nnslashdot] 4])
(nnoo-register-function 'nnslashdot-close-server)
(defalias 'nnslashdot-request-list #[(&optional server) "\306\307\"\210\310\307\211\211\211\211\311\312\313\217\210\314 \210\315 \210.\316\207" [server gname articles description elem sid nnslashdot-possibly-change-server nil 0 why (byte-code "\306\307\310\311!!\312\216r	q\210\313\n\314\"\210eb\210\315\316\306\314#\203 `\315\317!}\210eb\210\320\321!\210\322\323\324!!\320\325!\210\323\324!\326\327\f\"\210\323\324\f\"\320\330!\210\331\323\324!!\332\f\333R%\334%&\"\211'\203i 'A\240\210\202w %\f\335 \306\257&B&db\210~\210\202 ,()Z\336V\203\306\307\310\311!!*\337\216r*q\210\314+\313\340,)\"\314\"\210eb\210\320\341\306\314#\203\372 \323\324!\322\323\342!!\324y\210\320\343\306\314#\203\315 \331\323\324!!\332\f\333R%\334%&\"\211'\203\351 'A\240\210\202\252 %\f\335 \306\257&B&\202\252 -)\344\\)\202\200 \306\207" [default-enable-multibyte-characters #1=#:temp-buffer nnslashdot-backslash-url description sid articles nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnweb-insert t search-forward "<story>" "</story>" re-search-forward "<title>\\([^<]+\\)</title>" nnweb-decode-entities-string match-string 1 "<url>\\([^<]+\\)</url>" string-match "sid=\\([0-9/]+\\)\\(.shtml\\|$\\)" "<comments>\\([^<]+\\)</comments>" string-to-number " (" ")" assoc current-time 0 ((byte-code "\301!\203\n \302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) format "article.pl\\?sid=\\([^&]+\\).*<b>\\([^<]+\\)</b>" 2 "<b>\\([0-9]+\\)</b>" 30 gname nnslashdot-groups elem nnslashdot-group-number number #2# case-fold-search nnslashdot-active-url] 5) ((search-failed (nnslashdot-lose why))) nnslashdot-write-groups nnslashdot-generate-active t number] 6])
(nnoo-register-function 'nnslashdot-request-list)
(defalias 'nnslashdot-request-newgroups #[(date &optional server) "\301\302\"\210\303 \210\304\207" [server nnslashdot-possibly-change-server nil nnslashdot-generate-active t] 3])
(nnoo-register-function 'nnslashdot-request-newgroups)
(defalias 'nnslashdot-request-post #[(&optional server) "\306\307\"\210\310\311\312!!\311\313!\314\315\311\316!!!@\307\211\211-\317\320\f\"\210\321\322\f\"\323 \210`\324 \210`}\210eb\210m\204a \325\326!\203R ``\327\\|\210\n\204M \330c\210\331\202[ \n\203[ \332c\210\307\322y\210\2026 eb\210\333\334\307\331#\203s \335\336!\210\202d ~\210\324 \203\220 \337y\210\336c\210m\204\220 \307\210\340c\210\322y\210\202\200 \323 \210`d{\341 \210\342\343\344-B\345	B\346\347.B\350/B\351B\352\353B\354BBBBBBBB\".\207" [server pid quoted body references subject nnslashdot-possibly-change-server nil nnslashdot-sid-strip message-fetch-field "newsgroups" "subject" last split-string "references" string-match "%\\([0-9]+\\)@slashdot" match-string 1 message-goto-body message-goto-signature looking-at "> " 2 "<blockquote>\n" t "</blockquote>\n" re-search-forward "^ *\n" replace-match "<p>\n" -1 "<br>" erase-buffer nnweb-fetch-form "http://slashdot.org/comments.pl" "sid" "pid" ("rlogin" . "userlogin") "unickname" "upasswd" "postersubj" ("op" . "Submit") "postercomment" (("posttype" . "html")) sid nnslashdot-login-name nnslashdot-password] 11])
(nnoo-register-function 'nnslashdot-request-post)
(defalias 'nnslashdot-request-delete-group #[(group &optional force server) "\303	\"\210\304\305\n\"\n\"\306 \207" [group server nnslashdot-groups nnslashdot-possibly-change-server delq assoc nnslashdot-write-groups] 4])
(nnoo-register-function 'nnslashdot-request-delete-group)
(defalias 'nnslashdot-request-close #[nil "\302\302\211\207" [nnslashdot-headers nnslashdot-groups nil] 2])
(nnoo-register-function 'nnslashdot-request-close)
(defalias 'nnslashdot-request-expire-articles #[(articles group &optional server force) "\306	\"\210\307\n\"\211\203P \211AA)A@\203B G\211A@)Y\203P \310\211AA)A@#\203P \311\n\"\312 \210\313\202P \211AA)\314 C\241\210\312 \210)\207" [group server nnslashdot-groups item x articles nnslashdot-possibly-change-server assoc nnmail-expired-article-p delq nnslashdot-write-groups nil current-time force] 5])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnslashdot-request-expire-articles nnoo-define-skeleton-1 nnslashdot] 2)
(defalias 'nnslashdot-possibly-change-server #[(&optional group server) "\302!\210\203 \303!\204 \304!\210	?\205 \305 \207" [server nnslashdot-groups nnslashdot-init nnslashdot-server-opened nnslashdot-open-server nnslashdot-read-groups] 2])
(defalias 'nnslashdot-make-tuple #[(tuple n) "	\302V\203 A\204 \303C\241\210A	S\211\202 \207" [tuple n 1 nil] 4])
(defalias 'nnslashdot-read-groups #[nil "\306\307\"\310	!\205F \311\312\313\314!!\315\216rq\210\316	!\210eb\210\317p!,\f\205F \f@G\320W\205F \f\211\205E \321@\320\"\210A\211\2047 \311))\207" [nnslashdot-directory file default-enable-multibyte-characters #1=#:temp-buffer nnslashdot-groups groups expand-file-name "groups" file-exists-p nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents read 5 nnslashdot-make-tuple] 4])
(defalias 'nnslashdot-write-groups #[nil "\304\305\"\306\307\310!!\311\216r	q\210\312!)r	q\210~\210\313ed\n\314\315%\210,\207" [nnslashdot-directory #1=#:temp-buffer #2=#:temp-file nnslashdot-groups expand-file-name "groups" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) gnus-prin1 write-region nil 0] 7])
#@30 Initialize buffers and such.
(defalias 'nnslashdot-init #[(server) "\305!\204\n \306!\210	\211\205 \307\n!\205 \310\307\n!!)?\205. \212\311\312\313\"!)\211\fB\211\207" [nnslashdot-directory nnslashdot-buffer buffer server gnus-buffers file-exists-p gnus-make-directory get-buffer buffer-name nnheader-set-temp-buffer format " *nnslashdot %s*"] 5 (#$ . 14877)])
(defalias 'nnslashdot-date-to-date #[(sdate) "\300\301\302\217\207" [err (byte-code "\302\303\304!\"\211@\305\306O\307	A@\305\306O\307\310	8\305\310O\307\306	8\311\312O\307\313\314!\307\315	8\260)\207" [sdate elem delete "" split-string 0 3 " " 2 1 6 format-time-string "%Y" 4] 13) ((error ""))] 3])
(defalias 'nnslashdot-generate-active #[nil "\212q\210\305 \210	\306\211\203* @\307\n@!\310\311\n\211A@)!\312\261\210A\211\204 +\306\207" [nntp-server-buffer nnslashdot-groups elem #1=#:--dolist-temp--97320 x erase-buffer nil prin1-to-string " " number-to-string " 1 y\n"] 5])
(defalias 'nnslashdot-lose #[(why) "\300\301!\207" [error "Slashdot HTML has changed; please get a new version of nnslashdot"] 2])
(byte-code "\300\301\302\"\210\303\304!\207" [defalias nnslashdot-sid-strip identity provide nnslashdot] 3)
