;ELC   
;;; Compiled by amu@daemon on Thu Jan 11 15:04:09 2001
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.8.8/lisp/nnweb.el
;;; in Emacs version 20.7.2
;;; with bytecomp version 2.56
;;; 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 "`nnweb.el' was compiled for Emacs 19.29 or later"))

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


(byte-code "\303\304!\210\303\305!\210\303\306!\210\303\307!\210\303\310!\210\303\311!\210\204  \312\313!\210\314\315\316\317\"\317\211F	B\314\320D\nB\317\207" [noninteractive nnoo-definition-alist nnoo-state-alist require nnoo message gnus-util gnus nnmail mm-util eval (progn (require 'w3) (require 'url) (require 'w3-forms)) nnweb mapcar #[(p) "C\207" [p] 1] nil "*internal-non-initialized-backend*"] 4)
#@34 Where nnweb will save its files.
(defvar nnweb-directory (nnheader-concat gnus-directory "nnweb/") (#$ . 1031))
(nnoo-define 'nnweb-directory nil)
#@117 What search engine type is being used.
Valid types include `dejanews', `dejanewsold', `reference',
and `altavista'.
(defvar nnweb-type 'dejanews (#$ . 1185))
(nnoo-define 'nnweb-type nil)
#@24 Type-definition alist.
(defvar nnweb-type-definition '((dejanews (article . ignore) (id . "http://search.dejanews.com/msgid.xp?MID=%s&fmt=text") (map . nnweb-dejanews-create-mapping) (search . nnweb-dejanews-search) (address . "http://www.deja.com/=dnc/qs.xp") (identifier . nnweb-dejanews-identity)) (dejanewsold (article . ignore) (map . nnweb-dejanews-create-mapping) (search . nnweb-dejanewsold-search) (address . "http://www.deja.com/dnquery.xp") (identifier . nnweb-dejanews-identity)) (reference (article . nnweb-reference-wash-article) (map . nnweb-reference-create-mapping) (search . nnweb-reference-search) (address . "http://www.reference.com/cgi-bin/pn/go") (identifier . identity)) (altavista (article . nnweb-altavista-wash-article) (map . nnweb-altavista-create-mapping) (search . nnweb-altavista-search) (address . "http://www.altavista.digital.com/cgi-bin/query") (id . "/cgi-bin/news?id@%s") (identifier . identity))) (#$ . 1379))
#@36 Search string to feed to DejaNews.
(defvar nnweb-search nil (#$ . 2334))
(nnoo-define 'nnweb-search nil)
#@36 Maximum number of hits to display.
(defvar nnweb-max-hits 999 (#$ . 2445))
(nnoo-define 'nnweb-max-hits nil)
#@41 Whether this nnweb server is ephemeral.
(defvar nnweb-ephemeral-p nil (#$ . 2560))
(byte-code "\306\307\310\"\210\311\300!\204 \310\300	B\306\300\310\"\210\311\302!\204 \310\302	B\306\302\310\"\210\311\303!\204/ \310\303	B\306\303\310\"\210\311\304!\204@ \310\304	B\306\304\310\"\210\311\305!\204Q \310\305	B\306\305\310\"\210\312\313!\207" [nnweb-articles current-load-list nnweb-buffer nnweb-group-alist nnweb-group nnweb-hashtb nnoo-define nnweb-ephemeral-p nil boundp nnoo-define-basics-1 nnweb] 3)
(defalias 'nnweb-retrieve-headers #[(articles &optional group server fetch-old) "\306	\"\210\212\nq\210\307 \210\310\211\311\312!\204T \313\305!\203T \203T \314\315!\203T p\316\216\310\315\310!\210\211A@\211\203P \f\236A@\211\2032 \317!\210\2022 +\202v \310\211A@\211\203u \f\236A@\211\203W \317!\210\202W )+\320\207" [group server nntp-server-buffer header article enable-multibyte-characters nnweb-possibly-change-server erase-buffer nil featurep xemacs boundp fboundp set-buffer-multibyte ((byte-code "q\210\301\302!\207" [#1=#:buffer set-buffer-multibyte t] 2)) nnheader-insert-nov nov #1# default-enable-multibyte-characters articles nnweb-articles] 3])
(nnoo-register-function 'nnweb-retrieve-headers)
(defalias 'nnweb-request-scan #[(&optional group server) "\303	\"\210\304\305! \210\n?\205 \306 \210\307!\207" [group server nnweb-ephemeral-p nnweb-possibly-change-server nnweb-definition map nnweb-write-active nnweb-write-overview] 3])
(nnoo-register-function 'nnweb-request-scan)
(defalias 'nnweb-request-group #[(group &optional server dont-check) "\306\307\"\210	\2032 	\n\232\2042 \2042 \310	\f\"\211\2031 	\3118\3128\2041 \313	!\210)\204< \314\315\316\"\207\203b @@A:\203Y \211A\210\202H )@@B\202h \310	\f\"A@\314\315\317	#\210\320\321G@A	%)\207" [server group nnweb-group nnweb-ephemeral-p nnweb-group-alist info nnweb-possibly-change-server nil assoc 2 3 nnweb-read-overview nnheader-report nnweb "No matching articles" "Opened group %s" nnheader-insert "211 %d %d %d %s\n" nnweb-type nnweb-search dont-check nnweb-articles x active] 7])
(nnoo-register-function 'nnweb-request-group)
(defalias 'nnweb-close-group #[(group &optional server) "\304	\"\210\n\211\205 \305!\205 \306\305!!)\203' \212\nq\210\307\310!\210\311\n!\210)\312\207" [group server nnweb-buffer buffer nnweb-possibly-change-server get-buffer buffer-name set-buffer-modified-p nil kill-buffer t] 4])
(nnoo-register-function 'nnweb-close-group)
(defalias 'nnweb-request-article #[(article &optional group server buffer) "\306	\"\210\212\n\206 q\210\f\236A@\211\205 \307H\211\203X \310\311!\204M \312\313!\203M \203M \314\315!\203M p \316\216\317!\315\317!\210\320!+\202U \317!\320!)\204\300 \f;\205\333 \321\322\323\"\205\333 \321\322!\317\"#\324\325\f\"\203y \326\327\f\"\"#\205\274 \"\205\274 \310\311!\204\261 \312\313!\203\261 \203\261 \314\315!\203\261 p$\330\216\317!\315\317!\210\320\331#\f\"!+\202\274 \317!\320\331#\f\"!)*\205\333 %\204\315 \321\304! \210\332 \210\333\334\335\f#\210\f\247\205\332 \fB+\207" [group server buffer nntp-server-buffer article nnweb-articles nnweb-possibly-change-server 8 featurep xemacs boundp enable-multibyte-characters fboundp set-buffer-multibyte ((byte-code "q\210\301\302!\207" [#1=#:buffer set-buffer-multibyte t] 2)) nil nnweb-fetch-url nnweb-definition id t string-match "^<\\(.*\\)>$" match-string 1 ((byte-code "q\210\301\302!\207" [#2=#:buffer set-buffer-multibyte t] 2)) format nnweb-decode-entities nnheader-report nnweb "Fetched article %s" header url #1# default-enable-multibyte-characters art fetch #2# nnheader-callback-function] 5])
(nnoo-register-function 'nnweb-request-article)
(defalias 'nnweb-close-server #[(&optional server) "\303!\203( 	\211\205 \304\n!\205 \305\304\n!!)\203( \212	q\210\306\307!\210\310	!\210)\311\312\"\207" [server nnweb-buffer buffer nnweb-server-opened get-buffer buffer-name set-buffer-modified-p nil kill-buffer nnoo-close-server nnweb] 4])
(nnoo-register-function 'nnweb-close-server)
(defalias 'nnweb-request-list #[(&optional server) "\303\304\"\210\212	q\210\305\n!\210)\306\207" [server nntp-server-buffer nnweb-group-alist nnweb-possibly-change-server nil nnmail-generate-active t] 3])
(nnoo-register-function 'nnweb-request-list)
(defalias 'nnweb-request-update-info #[(group info &optional server) "\302	\"\207" [group server nnweb-possibly-change-server] 3])
(nnoo-register-function 'nnweb-request-update-info)
(defalias 'nnweb-asynchronous-p #[nil "\300\207" [t] 1])
(nnoo-register-function 'nnweb-asynchronous-p)
(defalias 'nnweb-request-create-group #[(group &optional server args) "\304\305\"\210\306	!\210	\307\310B\nBBB\311 \210\312\207" [server group args nnweb-group-alist nnweb-possibly-change-server nil nnweb-request-delete-group 1 0 nnweb-write-active t] 3])
(nnoo-register-function 'nnweb-request-create-group)
(defalias 'nnweb-request-delete-group #[(group &optional force server) "\303	\"\210\304\305\n\"\n\"\306 \210\307\310!!\210\311\207" [group server nnweb-group-alist nnweb-possibly-change-server delq assoc nnweb-write-active gnus-delete-file nnweb-overview-file t] 4])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnweb-request-delete-group nnoo-define-skeleton-1 nnweb] 2)
#@47 Read the overview of GROUP and build the map.
(defalias 'nnweb-read-overview #[(group) "\305\306!!\205A \307\310\311\312!!\313\216r\nq\210\314\306!!\210eb\210\307m?\205@ \315 \316y\210\317H\211\320HE\fB\321\f@\"\210\202! -\207" [group default-enable-multibyte-characters #1=#:temp-buffer header nnweb-articles file-exists-p nnweb-overview-file nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnheader-insert-file-contents nnheader-parse-nov 1 0 8 nnweb-set-hashtb] 4 (#$ . 7905)])
#@36 Write the overview file for GROUP.
(defalias 'nnweb-write-overview #[(group) "\305!\306\307\310!!\311\216r	q\210\f\205# \312\f\211A@A@!\210\202 *r	q\210~\210\313ed\n\314\315%\210,\207" [group #1=#:temp-buffer #2=#:temp-file nnweb-articles articles nnweb-overview-file get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnheader-insert-nov write-region nil 0] 7 (#$ . 8491)])
(defalias 'nnweb-set-hashtb #[(header data) "\303\304\305H!	\"\nL\207" [header nnweb-hashtb data intern nnweb-identifier 8] 4])
(defalias 'nnweb-get-hashtb #[(url) "\302\303!	\"J\207" [url nnweb-hashtb intern-soft nnweb-identifier] 3])
(defalias 'nnweb-identifier #[(ident) "\301\302!!\207" [ident nnweb-definition identifier] 2])
#@48 Return the name of the overview file of GROUP.
(defalias 'nnweb-overview-file #[(group) "\302	\303#\207" [nnweb-directory group nnheader-concat ".overview"] 4 (#$ . 9300)])
#@23 Save the active file.
(defalias 'nnweb-write-active #[nil "\304!\210\305\306\"\307\310\311!!\312\216r	q\210\313\314\303\315DEp\")r	q\210~\210\316ed\n\317\320%\210,\207" [nnweb-directory #1=#:temp-buffer #2=#:temp-file nnweb-group-alist gnus-make-directory nnheader-concat "active" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) prin1 setq quote write-region nil 0] 7 (#$ . 9480)])
#@23 Read the active file.
(defalias 'nnweb-read-active #[nil "\301\302\303\"\304\211\211$\207" [nnweb-directory load nnheader-concat "active" t] 5 (#$ . 9963)])
#@32 Return the definition of TYPE.
(defalias 'nnweb-definition #[(type &optional noerror) "	\n\236\236A\211\204 \f\204 \305\306\"\210)\207" [type nnweb-type nnweb-type-definition def noerror error "Undefined definition %s"] 4 (#$ . 10127)])
(defalias 'nnweb-possibly-change-server #[(&optional group server) "\306!\210\203 \307!\204 \310!\210	\204 \311 \210\n\2052 ?\2052 \n\f\232?\2052 \312\313!\314\n\315\316#\207" [server nnweb-group-alist group nnweb-ephemeral-p nnweb-group nnweb-hashtb nnweb-init nnweb-server-opened nnweb-open-server nnweb-read-active gnus-make-hashtable 4095 nnweb-request-group nil t] 4])
#@30 Initialize buffers and such.
(defalias 'nnweb-init #[(server) "\211\205 \306	!\205 \307\306	!!)?\205& \212\310\311\312\313\f$!\210p*\211\207" [nnweb-buffer buffer default-enable-multibyte-characters nnweb-type nnweb-search server get-buffer buffer-name nil nnheader-set-temp-buffer format " *nnweb %s %s %s*"] 7 (#$ . 10759)])
(defalias 'nnweb-fetch-url #[(url) "\306\212	\204H \307\310\311!!\312\216r\nq\210\313\314!\204- \315\303!\203- \203- \316\317!\203- \317\320!\210\321\211\211\322!\210+\323 +\324 \210c\210\320\202Q \325\326p	$\210\320*\207" [buf nnheader-callback-function #1=#:temp-buffer default-enable-multibyte-characters default-process-coding-system coding-system-for-write nil get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) featurep xemacs boundp fboundp set-buffer-multibyte t binary nnweb-insert buffer-string erase-buffer nnweb-url-retrieve-asynch nnweb-callback coding-system-for-read url] 5])
(defalias 'nnweb-callback #[(buffer callback) "\211\205 \304	!\205 \305\304	!!)\205L \212q\210\306\307! \210\310 \210	q\210db\210\311!\210)\n\312!\210\211\211\205D 	;\203A \304\202B \305	!)\205K \313!)\207" [url-working-buffer buffer callback buf get-buffer buffer-name nnweb-definition article nnweb-decode-entities insert-buffer-substring t kill-buffer] 4])
(defalias 'nnweb-url-retrieve-asynch #[(url callback &rest data) "\306\307\211\310\311!\312\300\313\"\210\212\314	!q\210\313\315\307\"\210)\312\300\f\"-\207" [url-be-asynchronous url-working-buffer url-request-extra-headers url-request-data old-asynch url-request-method "GET" nil generate-new-buffer-name " *nnweb*" set-default t get-buffer-create url-retrieve data url-current-callback-data callback url-current-callback-func url] 6])
(byte-code "\300\301!\203\n \302\303M\210\300\207" [fboundp url-retrieve-synchronously nnweb-url-retrieve-asynch #[(url callback &rest data) "\303	\n#\207" [url callback data url-retrieve] 4]] 2)
#@55 Perform the search and create an number-to-url alist.
(defalias 'nnweb-dejanews-create-mapping #[nil "\212q\210\306 \210\307\310!	!\205\205\311\312\211\313\n\"A@\206 \314\311B\315\211\211\211\211\211\211\211\211\211123456789:9\203xeb\210\316p!1\317\3201\"A@\321\2118@8\315;\211<\203M<@;\322\323;\"\324A@\236A2\325;!\237\203D\326\f86\321\f8\fA@5\f@4\327\3305\"\203\300 \331\332\333\334\335\3215\"!=\"@\335\3365\"\335\3145\"$5\202\303 \3375:T:2\340P2\327\3412\"\203\337 \342\343\312\2112$2\3442!\204D7\211AT\2417A6\345\346R45\347\3502!\351Q\315\311\2112\315>?@ABC546D\352D645CBA@?>&\n.\nD3B3\3533@A@3@\"\210<A\211<\204h *eb\210\354\355\315\312#\203a:EY\203h\315\2119\202D \335\314!9\306 \210\3569!\210\202B \357F3\244\360\"\211F.)\207" [nnweb-buffer nnweb-search nnweb-group nnweb-group-alist text group erase-buffer nnweb-definition search 0 t assoc 1 nil w3-parse-buffer nnweb-parse-find-all table 2 nnweb-parse-find a href nnweb-text 4 string-match "\\([0-9]+\\)/\\([0-9]+\\)/\\([0-9]+\\)" format "%s %s 00:00:00 %s" rassq string-to-number match-string 3 "Jan 1 00:00:00 0000" "&fmt=text" "&context=[^&]+" replace-match "" nnweb-get-hashtb " (" ")" "<" nnweb-identifier "@dejanews>" vector nnweb-set-hashtb re-search-forward "HREF=\"\\([^\"]+\\)\"[<>b]+Next result" url-insert-file-contents sort car-less-than-car parse url map from date subject active case-fold-search more i row #1=#:--dolist-temp--89034 parse-time-months extra xref lines chars references id number nnweb-max-hits nnweb-articles] 15 (#$ . 12807)])
(defalias 'nnweb-dejanews-search #[(search) "\301\302\303!\304\305\306\307\310B\311BBB!Q!\210\312\207" [search nnweb-insert nnweb-definition address "?" nnweb-encode-www-form-urlencoded ("ST" . "PS") ("svcclass" . "dnyr") "QRY" (("defaultOp" . "AND") ("DBS" . "1") ("OP" . "dnquery.xp") ("LNG" . "ALL") ("maxhits" . "100") ("threaded" . "0") ("format" . "verbose2") ("showsort" . "date") ("agesign" . "1") ("ageweight" . "1")) t] 8])
(defalias 'nnweb-dejanewsold-search #[(search) "\301\302\303!\304B\305B\"\210\306\207" [search nnweb-fetch-form nnweb-definition address "query" (("defaultOp" . "AND") ("svcclass" . "dnold") ("maxhits" . "100") ("format" . "verbose2") ("threaded" . "0") ("showsort" . "date") ("agesign" . "1") ("ageweight" . "1")) t] 4])
#@43 Return an unique identifier based on URL.
(defalias 'nnweb-dejanews-identity #[(url) "\301\302\"\203\f \303\304\"\207\207" [url string-match "AN=\\([0-9]+\\)" match-string 1] 3 (#$ . 15199)])
#@55 Perform the search and create an number-to-url alist.
(defalias 'nnweb-reference-create-mapping #[nil "\212q\210\306 \210\307\310!	!\205%\311\312\211\313\n\"A@\206 \314\311B\315\211\211\211\211\211\211\211&'()*+,-./.\203eb\210\316\317\315\312#\210e`|\210eb\210\320\321\315\312#\203`\320\322\315\312#\203g \311\224\202h d}\210eb\210\323\324!\203w \325\314!\326 \210eb\210\316\327\315\312#\203\214 \330\331!\210\202} eb\210\320\332\315\312#\203\244 \333\325\314!!\325\334!L\210\202\217 ~\210\316\335\315\312#\210/T/\336\f!\204Q ,\211AT\241,A\337(\340+R')&\315\311\341*!\f\3150123456789\3429876543210&\n.\nDB\343@A@@\"\210\202Q \315\211.\204A \344:\244\345\"\211:.\f)\207" [nnweb-buffer nnweb-search nnweb-group nnweb-group-alist url map erase-buffer nnweb-definition search 0 t assoc 1 nil search-forward "</pre><hr>" re-search-forward "^ +[0-9]+\\." "^$" looking-at ".*href=\"\\([^\"]+\\)\"" match-string nnweb-remove-markup "	" replace-match " " "^\\([^:]+\\): \\(.*\\)$" intern 2 "</pre>" nnweb-get-hashtb "(" ") " string-to-int vector nnweb-set-hashtb sort car-less-than-car Message-ID From Newsgroups Date Score Subject active case-fold-search more i extra xref lines chars references id date from subject number nnweb-articles] 13 (#$ . 15400)])
(defalias 'nnweb-reference-wash-article #[nil "\302eb\210\303\304\305\302#\210e`|\210\306\307\305\302#\210\310y\210\311 \306\312\305\302#\210`d|\210\313 \210eb\210\314\315!\203> \316y\210`\317y\210`|\210\202+ e	}\210\303\320\305\302#\203[ m\204[ \316y\210`\317y\210`|\210\202B eb\210\314\321!\203o \322\323\302\"\210\317y\210\202^ eb\210\303\324\305\302#\203\265 `\303\325\305\302#\203\210 \316\224\202\211 d}\210eb\210m\204\241 \314\326!\204\216 \327c\210\317y\210\202\216 eb\210\306\330\305\302#\203\265 \322\331\302\211#\210\202\244 ~\210	\305\211\223*\207" [case-fold-search body t re-search-forward "^</center><hr>" nil search-forward "<pre>" -1 point-marker "</pre>" nnweb-remove-markup looking-at " *$" 0 1 "^$" "\\(^[^ ]+:\\) *" replace-match "\\1 " "^References:" "^$\\|^[^:]+:" "References" "	" "," " "] 5])
(defalias 'nnweb-reference-search #[(search) "\302\303\304!\305\306\307\310B\311BB!Q!\210\312\313\207" [search buffer-file-name url-insert-file-contents nnweb-definition address "?" nnweb-encode-www-form-urlencoded ("search" . "advanced") "querytext" (("subj" . "") ("name" . "") ("login" . "") ("host" . "") ("organization" . "") ("groups" . "") ("keywords" . "") ("choice" . "Search") ("startmonth" . "Jul") ("startday" . "25") ("startyear" . "1996") ("endmonth" . "Aug") ("endday" . "24") ("endyear" . "1996") ("mode" . "Quick") ("verbosity" . "Verbose") ("ranking" . "Relevance") ("first" . "1") ("last" . "25") ("score" . "50")) nil t] 7])
#@55 Perform the search and create an number-to-url alist.
(defalias 'nnweb-altavista-create-mapping #[nil "\212q\210\306 \210\307\310\311!\n	\"\205$\307\312\211\313\f\"A@\206! \314\307B\315\211\211\211\211\211\211$%&'()*+,-,\203eb\210\316\317\315\312#\210e\307\224|\210eb\210\316\317\315\312#\203b \320\321!\210\202S \322 \210eb\210\323\324\315\312#\203\367 \325\314!\325\326!)\325\327!(\325\330!%\331\325\332!\333Q&\325\334!'-T-\335!\204h *\211AT\241*A\336%\337)R'(&\315\307\211\315./012&(')3\3403)'(&210/.&\n.\nD$B$\341$@A@$@\"\210\202h 4\203-5Y\204\310\311!\n	T\211\"\204= \315\211,\204B \3424$\244\343\"\2114.*\207" [nnweb-buffer part nnweb-search nnweb-group nnweb-group-alist url erase-buffer 0 nnweb-definition search t assoc 1 nil search-forward "<dt>" replace-match "\n<blubb>" nnweb-decode-entities re-search-forward "<blubb>.*href=\"\\([^\"]+\\)\"><strong>\\([^>]*\\)</strong></a><dd>\\([^-]+\\)- <b>\\([^<]+\\)<.*href=\"news:\\([^\"]+\\)\">.*\">\\(.+\\)</a><P>" match-string 2 3 4 "<" 5 ">" 6 nnweb-get-hashtb "(" ") " vector nnweb-set-hashtb sort car-less-than-car map group id from date subject active case-fold-search more i extra xref lines chars references number nnweb-articles nnweb-max-hits] 13 (#$ . 18183)])
(defalias 'nnweb-altavista-wash-article #[nil "eb\210\301\302\303\304\301#\203 e\305\224|\210eb\210\306\307!\203& \310\311\301\"\210\312y\210\202 \313\314\304\301#\203H `\312y\210`}\210eb\210\302\315\304\301#\203H \310\316\301\"\210\2028 ~\210\317 )\207" [case-fold-search t re-search-forward "^<strong>" nil 0 looking-at "<strong>\\([^ ]+\\) +</strong> +\\(.*\\)$" replace-match "\\1: \\2" 1 re-search-backward "^References:" "<A.*\\?id@\\([^\"]+\\)\">[0-9]+</A>" "&lt;\\1&gt; " nnweb-remove-markup] 4])
(defalias 'nnweb-altavista-search #[(search &optional part) "\303\304\305!\306\307\310\311\312\205 \313\314\315_!BC\316\317	B\320BB\"BB!Q!\210\321\322\207" [part search buffer-file-name url-insert-file-contents nnweb-definition address "?" nnweb-encode-www-form-urlencoded ("pg" . "aq") ("what" . "news") append "stq" int-to-string 30 ("fmt" . "d") "q" (("r" . "") ("d0" . "") ("d1" . "")) nil t] 11])
#@39 Insert HTML based on a w3 parse tree.
(defalias 'nnweb-insert-html #[(parse) ";\203\n \301!c\207\302\303@!\304\261\210\305\306A@\304#c\210\307c\210\310\311\3128\"\210\313\303@!\307\261\207" [parse nnheader-string-as-multibyte "<" symbol-name " " mapconcat #[(param) "\301@!\302\303A:\203 A@\202 A!Q\207" [param symbol-name "=" prin1-to-string] 4] ">\n" mapcar nnweb-insert-html 2 "</"] 4 (#$ . 20401)])
#@33 Return PAIRS encoded for forms.
(defalias 'nnweb-encode-www-form-urlencoded #[(pairs) "\301\302\303#\207" [pairs mapconcat #[(data) "\301@!\302\301A!Q\207" [data w3-form-encode-xwfu "="] 4] "&"] 4 (#$ . 20824)])
#@69 Fetch a form from URL with PAIRS as the data using the POST method.
(defalias 'nnweb-fetch-form #[(url pairs) "\306!\307\310\311\f!\210\312+\313\207" [pairs url-request-extra-headers url-request-method url-request-data url buffer-file-name nnweb-encode-www-form-urlencoded "POST" (("Content-type" . "application/x-www-form-urlencoded")) url-insert-file-contents nil t] 3 (#$ . 21045)])
#@27 Decode all HTML entities.
(defalias 'nnweb-decode-entities #[nil "eb\210\303\304\305\306#\205M \307\310!\311H\312=\203- \313\307\310!\310\305O!\314!\203( \202) \315)\2029 \316\307\310!!	\236A\2069 \312\211;\204C \317\n!\320\n\306\211#\210)\202 \207" [c w3-html-entities elem re-search-forward "&\\(#[0-9]+\\|[a-z]+\\);" nil t match-string 1 0 35 string-to-number mm-char-or-char-int-p 32 intern char-to-string replace-match] 5 (#$ . 21442)])
(defalias 'nnweb-decode-entities-string #[(string) "\302\303\304!!\305\216rq\210	c\210\306 \210ed{+\207" [#1=#:temp-buffer string get-buffer-create generate-new-buffer-name " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nnweb-decode-entities] 3])
#@50 Remove all HTML markup, leaving just plain text.
(defalias 'nnweb-remove-markup #[nil "eb\210\300\301\302\303#\203 \304\224\300\305\302\303#\206 d|\210\202 eb\210\306\307\302\303#\205/ \310\311\303\211#\210\202 \207" [search-forward "<!--" nil t 0 "-->" re-search-forward "<[^>]+>" replace-match ""] 5 (#$ . 22188)])
#@116 Insert the contents from an URL in the current buffer.
If FOLLOW-REFRESH is non-nil, redirect refresh url in META.
(defalias 'nnweb-insert #[(url &optional follow-refresh) "\n\203, \214``}\210\304!\210eb\210\305\306\307\310#\203( \311\312!ed|\210\313\310\"\210))\2020 \304!\210	\211)\207" [buffer-file-name name follow-refresh url url-insert-file-contents re-search-forward "<meta[ 	\n]*http-equiv=\"Refresh\"[^>]*URL=\\([^\"]+\\)\"" nil t match-string 1 nnweb-insert] 4 (#$ . 22516)])
#@36 Find the element of TYPE in PARSE.
(defalias 'nnweb-parse-find #[(type parse &optional maxdepth) "\300\301\215\207" [found (nnweb-parse-find-1 type parse maxdepth)] 2 (#$ . 23016)])
(defalias 'nnweb-parse-find-1 #[(type contents maxdepth) "\203 \305U?\205F 	:\205F 	@\n=\203 \306\307	\"\210	A<\205F 	\310\211\203D \f@\211:\203= \311\n\205; S#\210\fA\211\204* *\310\207" [maxdepth contents type element #1=#:--dolist-temp--89041 0 throw found nil nnweb-parse-find-1] 5])
#@37 Find all elements of TYPE in PARSE.
(defalias 'nnweb-parse-find-all #[(type parse) "\300\301\215\207" [found (nnweb-parse-find-all-1 type parse)] 2 (#$ . 23503)])
(defalias 'nnweb-parse-find-all-1 #[(type contents) "\305	:\203: 	@\n=\203 	B\202: 	A<\203: 	\305\211\2039 \f@\211:\2032 \306\n\"\244\fA\211\204# *)\207" [result contents type element #1=#:--dolist-temp--89042 nil nnweb-parse-find-all-1] 5])
(byte-code "\301B\301\207" [current-load-list nnweb-text] 2)
#@42 Return a list of text contents in PARSE.
(defalias 'nnweb-text #[(parse) "\302\303	!\210\237)\207" [nnweb-text parse nil nnweb-text-1] 2 (#$ . 23989)])
(defalias 'nnweb-text-1 #[(contents) "\304\211\203- \n@\211;\203 	B\202& 	:\203& 	A<\203& \305	!\210\nA\211\204 *\304\207" [contents element #1=#:--dolist-temp--89043 nnweb-text nil nnweb-text-1] 3])
(defalias 'nnweb-replace-in-string #[(string match newtext) "\303	\"\203 \304\n\305\211	$\202  	\207" [match string newtext string-match replace-match t] 5])
(provide 'nnweb)
