%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/gnus/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/gnus/nnrss.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\302\303!\210\302\304!\210\302\305!\210\302\306!\210\302\307!\210\302\310!\210\302\311!\210\302\312!\210\302\313!\210\302\314!\210\302\315!\210\302\316!\210\302\317!\210\302\320!\210\321\322\323\324\325\303%\210\322\236\203S\322\236A\326\327\323\"\240\210\202^\322\326\327\323\"\323\211FB\322	\236\204j\322\330D	B\323\207" [nnoo-definition-alist nnoo-state-alist require gnus nnoo nnmail message mm-util gnus-util time-date rfc2231 mm-url rfc2047 iso8601 mml xml dom custom-declare-group nnrss nil "RSS access for Gnus." :group mapcar list "*internal-non-initialized-backend*"] 6)
#@106 Where nnrss will save its files.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnrss-directory (nnheader-concat gnus-directory "rss/") (#$ . 1010))
(nnoo-define 'nnrss-directory nil)
#@502 List of fields that should be ignored when comparing RSS articles.
Some RSS feeds update article fields during their lives, e.g. to
indicate the number of comments or the number of times the
articles have been seen.  However, if there is a difference
between the local article and the distant one, the latter is
considered to be new.  To avoid this and discard some fields, set
this variable to the list of fields to be ignored.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnrss-ignore-article-fields '(slash:comments) (#$ . 1234))
(nnoo-define 'nnrss-ignore-article-fields nil)
(defvar nnrss-server-data nil)
(nnoo-define 'nnrss-server-data nil)
(defvar nnrss-group-data nil)
(nnoo-define 'nnrss-group-data nil)
(defvar nnrss-group-max 0)
(nnoo-define 'nnrss-group-max nil)
(defvar nnrss-group-min 1)
(nnoo-define 'nnrss-group-min nil)
(defvar nnrss-group nil)
(nnoo-define 'nnrss-group nil)
(defvar nnrss-group-hashtb (make-hash-table :test 'equal))
(nnoo-define 'nnrss-group-hashtb nil)
(defvar nnrss-status-string "")
(nnoo-define 'nnrss-status-string nil)
(defconst nnrss-version "nnrss 1.0")
#@24 List of RSS addresses.
(defvar nnrss-group-alist nil (#$ . 2374))
#@75 If non-nil nnrss will read the feeds from local files in nnrss-directory.
(defvar nnrss-use-local nil (#$ . 2446))
#@112 Field name used for DESCRIPTION.
To use the description in headers, put this name into `nnmail-extra-headers'.
(defvar nnrss-description-field 'X-Gnus-Description (#$ . 2568))
#@104 Field name used for URL.
To use the description in headers, put this name into `nnmail-extra-headers'.
(defvar nnrss-url-field 'X-Gnus-Url (#$ . 2751))
#@223 A function which is called in `nnrss-request-article'.
The arguments are (ENTRY GROUP ARTICLE).
ENTRY is the record of the current headline.  GROUP is the group name.
ARTICLE is the article number of the current headline.
(defvar nnrss-content-function nil (#$ . 2910))
#@413 Coding system used when reading and writing files.
If you run Gnus with various versions of Emacsen, the value of this
variable should be the coding system that all those Emacsen support.
Note that you have to regenerate all the nnrss groups if you change
the value.  Moreover, you should be patient even if you are made to
read the same articles twice, that arises for the difference of the
versions of xml.el.
(custom-declare-variable 'nnrss-file-coding-system 'mm-universal-coding-system '(#$ . 3187) :group 'nnrss :type 'coding-system)
#@249 Alist of encodings and those supersets.
The cdr of each element is used to decode data if it is available when
the car is what the data specify as the encoding.  Or, the car is used
for decoding when the cdr that the data specify is not available.
(defvar nnrss-compatible-encoding-alist (byte-code "\301\302\303\304\"\"\207" [mm-charset-override-alist delq nil mapcar #[(elem) "\301@!\205\301A!\205\207" [elem mm-coding-system-p] 2]] 5) (#$ . 3734))
(nnoo-define-basics-1 'nnrss)
(defalias 'nnrss-format-string #[(string) "\301\302\303#\207" [string replace-regexp-in-string " *\n *" " "] 4])
(put 'nnrss-format-string 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'nnrss-decode-group-name #[(group) "\203\301\302!\203\303\302\"\211\207\207" [group mm-coding-system-p utf-8 decode-coding-string] 3])
(defalias 'nnrss-retrieve-headers #[(articles &optional group server fetch-old) "\306!\307	\"\210\310rq\210\311 \210\f\310\211\203\252@\211\236\211\203\241\312\n@!\313\314\n8\2064\315\313\316\n8\206<\317\313\320\n8\206D\315\313\321\322\n@#\313\211\323\313\323\313\315\313\324\n8\203w >\203w\325!\326\324\n8!\327\330\331!#)\313R\202x\315\332\n8\203\234\" >\203\234\325\"!\326\332\n8!\327\330\331!#)\313R\202\235\315\333\261\210A\211\204,\334\207" [group server e nntp-server-buffer articles article nnrss-decode-group-name nnrss-possibly-change-group nil erase-buffer number-to-string "	" 3 "" 4 "(nobody)" 5 format "<%d@%s.nnrss>" "-1" 6 symbol-name ": " replace-regexp-in-string " *\n *" " " 2 "\n" nov --dolist-tail-- nnrss-group-data nnrss-description-field nnmail-extra-headers string nnrss-url-field] 25])
(nnoo-register-function 'nnrss-retrieve-headers)
(defalias 'nnrss-request-group #[(group &optional server dont-check info) "\305!\306\307\310#\210\311	\"\210\n\203\312\202-\313	\"\210\314\315\316#\210\317\320\f\321!\312&\306\307\322#\210\207" [group server dont-check nnrss-group-max nnrss-group-min nnrss-decode-group-name nnheader-message 6 "nnrss: Requesting %s..." nnrss-possibly-change-group t nnrss-check-group nnheader-report nnrss "Opened group %s" nnheader-insert "211 %d %d %d %s\n" prin1-to-string "nnrss: Requesting %s...done"] 7])
(nnoo-register-function 'nnrss-request-group)
(defalias 'nnrss-close-group #[(group &optional server) "\300\207" [t] 1])
(nnoo-register-function 'nnrss-close-group)
(defalias 'nnrss-request-article #[(article &optional group server buffer) "\306!	;\203\307\310	\"\203\311\312\313	\"!\202\314\315\n\"\210	\236\f\206(
\316\211@A\211B\203+r
q\210\317 \210\203F\320\321\261\210\322B8\203V\323\322B8\321\261\210\324B8\203f\325\324B8\321\261\210\326B8\203\327\326B8C\330\331\332C#)\321\261\210\333 \334B8\335B8\336B8\337B8\340\341!\203\236\342DB\202\240D\316\211\211EFGDHIJKLK\204\311J\204\311I\204\311H\203\304\321c\210\343\344\261\210`FK\203GKc\210Fb\210\345\346\316\347#\203\360\350\332!\210\202\341Fb\210\351\352\316\347#\203m\203\350\321!\210\202\350\353!\210m\204:\354\355!\356
!M-M\203*\313\357M!\336_\337\245]-\360`d\"\210db\210n\2049\321c\210*J\204DI\203G\321c\210J\203RJ\321\261\210I\203hI@\332\335I8\332\322I8\321\261\210H\203sH\321\261\210F`{F\361\362\363\261\210K\203\212K\321\261\210J\203\226\364J\365\261\210I\203\262\364I@\366IA@\367\335I8\332\322I8\370\261	\210H\203\276\364H\371\261\210\372\361\373\261\210\3741\325\375NBN\376 )0\202\354\210\317 \210L\377\201SF\261\210\201T\322\201U\"\210.	eb\210\351\353!\210\201Vy\210\201W\201XB@\201Y\316OP\201Z\330\201[\201\\#!*#c\210Q\203*QB	#\210)@\203<\201]\201^@\"\202cB\204O\201]\201^\201_	#\202c\201]\201^\201`B@#\210RB@B,\207" [group article server nnrss-group-data buffer nntp-server-buffer nnrss-decode-group-name string-match "\\`<\\([0-9]+\\)@" string-to-number match-string 1 0 nnrss-possibly-change-group nil erase-buffer "Newsgroups: " "\n" 3 "Subject: " 4 "From: " 5 "Date: " replace-regexp-in-string " *\n *" " " buffer-string 6 2 7 8 mm-coding-system-p utf-8 ("Newsgroups" . utf-8) "<#multipart type=alternative>\n" "<#part type=\"text/plain\">\n" re-search-forward "\n+" t replace-match search-forward "<br /><br />" "\n\n" default-value fill-column get-buffer-window window-width fill-region "<#/part>\n" "<#part type=\"text/html\">\n" "<html><head></head><body>\n" "<p><a href=\"" "\">link</a></p>\n" "\">" "</a> " "</p>\n" "\">comments</a></p>\n" "</body></html>\n" "<#/multipart>\n" (error) unknown-encoding mml-to-mime "Content-Type: text/plain; charset=gnus-decoded\n" err post e string rfc2047-header-encoding-alist fn body rfc2047-encode-encoded-words comments enclosure link text header window mml-confirmation-set rfc2047-encode-max-chars rfc2047-encoding-type nnrss-content-function nnrss-group "Content-Transfer-Encoding: 8bit\n\n" nnheader-message "Warning - there might be invalid characters" -1 format "Message-ID: <%d@%s.nnrss>\n" mime rfc2047-encode-string "[	\n ]+" "_" nnheader-report nnrss "no such id: %d" "article %s retrieved"] 10])
(nnoo-register-function 'nnrss-request-article)
(defalias 'nnrss-open-server #[(server &optional defs connectionless) "\302!\210\303\304	#\210\305\207" [server defs nnrss-read-server-data nnoo-change-server nnrss t] 4])
(nnoo-register-function 'nnrss-open-server)
(defalias 'nnrss-request-expire-articles #[(articles group &optional server force) "\306!\307	\"\210\310\211\211\211\310\211\203`@\211\236\211\203R\311
A@\211<\2039\f\202@\312\f\313\314!Z!#\203R\315
\"\316\202WBA\211\204*\n\203j\317	\"\210,\207" [group server changed not-expirable days e nnrss-decode-group-name nnrss-possibly-change-group nil nnmail-expired-article-p days-to-time time-to-days (0 0) delq t nnrss-save-group-data articles art --dolist-tail-- nnrss-group-data force] 7])
(nnoo-register-function 'nnrss-request-expire-articles)
(defalias 'nnrss-request-delete-group #[(group &optional force server) "\306!\307	\"\210\310\311\"\211\203\312\n\"\202)\312\311\f\"\f\"\313	!\210\3141;
\315\316	\"!)0\202?\210\202@\210\317\207" [group server elem nnrss-group-alist nnrss-server-data nnmail-pathname-coding-system nnrss-decode-group-name nnrss-possibly-change-group nil assoc-string delq nnrss-save-server-data (error) delete-file nnrss-make-filename t file-name-coding-system] 4])
(nnoo-register-function 'nnrss-request-delete-group)
(defalias 'nnrss-request-list-newsgroups #[(&optional server) "\305\306\"\210r	q\210\307 \210\n\306\211\203.\f@\3108\203'@\311\3108\312\261\210\fA\211\204+\313\207" [server nntp-server-buffer nnrss-group-alist elem --dolist-tail-- nnrss-possibly-change-group nil erase-buffer 2 "	" "\n" t] 5])
(nnoo-register-function 'nnrss-request-list-newsgroups)
(defalias 'nnrss-retrieve-groups #[(groups &optional server) "\306\211\203 \n@\307	!\310	\"\210\311	\"\210\nA\211\204*r\fq\210\312 \210\306\211\203O\n@\313	
\"\314\315	A@\206D\316#c\210)\nA\211\2040+\317\207" [groups group --dolist-tail-- server nntp-server-buffer nnrss-server-data nil nnrss-decode-group-name nnrss-possibly-change-group nnrss-check-group erase-buffer assoc-string format "%S %s 1 y\n" 0 active elem] 5])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnrss-retrieve-groups nnoo-define-skeleton-1 nnrss] 2)
#@307 Return an encoding attribute specified in the current xml contents.
If `nnrss-compatible-encoding-alist' specifies the compatible encoding,
it is used instead.  If the xml contents doesn't specify the encoding,
return `utf-8' which is the default encoding for xml if it is available,
otherwise return nil.
(defalias 'nnrss-get-encoding #[nil "eb\210\302\303\304\305#\2030\306\307\310!\206\307\311!\227!\312	\236A!\206.\312!\206.\312\313	\"@!)\207\312\314!\207" [encoding nnrss-compatible-encoding-alist re-search-forward "<\\?[^>]*encoding=\\(?:\"\\([^\">]+\\)\"\\|'\\([^'>]+\\)'\\)" nil t intern match-string 1 2 mm-coding-system-p rassq utf-8] 4 (#$ . 11181)])
#@56 Fetch URL and put it in a the expected Lisp structure.
(defalias 'nnrss-fetch #[(url &optional local) "\306\307!rq\210\310\216\311 \210\312\211\211\f\203\"\313\314!!\210)\202O\313\31510\316!!0\202M\"#\204<$\203G\317\"@\"A\"\202L\320\321!\")\210)db\210\322\323\312\324#\203a\325\326!\210\202R\327 \211\203u\330\331 \"\332 \210\333 \210c\210eb\210\3341\206\335ed\"\2110\202\243%\3361\226\337ed\"\2110\202\242&\320\340!%&$))\210	\203\254	\202\255\n.\207" [#1=#:temp-buffer htmlform xmlform cs local coding-system-for-read generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] mm-disable-multibyte nil binary insert-file-contents (error) mm-url-insert signal message "nnrss: Failed to fetch %s" search-backward "
\n" t delete-char 1 nnrss-get-encoding decode-coding-string buffer-string erase-buffer mm-enable-multibyte (error) xml-parse-region (error) libxml-parse-html-region "nnrss: %s: Not valid XML %s and libxml-parse-html-region doesn't work %s" url err debug-on-quit debug-on-error err1 err2] 5 (#$ . 11859)])
(defalias 'nnrss-possibly-change-group #[(&optional group server) "\203\303!\204\304!\210	\205!	\n\232?\205!\305	\"\210	\211\207" [server group nnrss-group nnrss-server-opened nnrss-open-server nnrss-read-group-data] 3])
(autoload 'timezone-parse-date "timezone")
#@225 Return a date string of DATE in the style of RFC 822 and its successors.
This function handles the ISO 8601 date format described in
URL `http://www.w3.org/TR/NOTE-datetime', and also the RFC 822 style
which RSS 2.0 allows.
(defalias 'nnrss-normalize-date #[(date) "\306\211\211\211\211\211\211\211\211'()*\203\272\307\310*\"\203,\311\312*!!\202\272\307\313*\"\203y\314*!(\312(\315H!\211'\316Y\203\272\312(\317H!\312(\320H!(\321H\211G\321Y\204d\322(\323H\211\203\272\307\324\n\"\204\272\306\202\272\325*!\203\272\326\327*!!+\330+8'\323+8\321+8\331\332\320+8+A@+@$\333+8\334\232\203\264\315\202\270\333+8)
\203\357\335\336\315\211\211\f
'&!\331\337\340	\315\321#\f\340	\323\341#'\n\203\351\342\343\344\306\n#P\202\352\345&\202\362\346!.	\207" [given cts zone time day month nil string-match "^[0-9]+$" time-convert string-to-number " [0-9]+ " timezone-parse-date 0 1969 1 2 3 "00:00:00" 4 "\\`[A-Z+-]" iso8601-valid-p decoded-time-set-defaults iso8601-parse 5 format "%02d:%02d:%02d" 8 "Z" current-time-string encode-time "%s, %02d %s %04d %s%s" substring 7 " " format-time-string "%z" "" message-make-date year vector case-fold-search date decoded] 13 (#$ . 13236)])
(defalias 'nnrss-read-server-data #[(server) "\305\306\307	\"\n\310\f!\205\311\f\305\312\211$*\207" [nnrss-server-data server nnmail-pathname-coding-system file-name-coding-system file nil nnrss-make-filename "nnrss" file-exists-p load t] 5])
(defalias 'nnrss-save-server-data #[(server) "\306!\210	\n\307\310
\"\311\312!\313\216rq\210\314\315	\"c\210\316\317\320\321DE!\210\322c\210\316\317\323\321DE!)rq\210\324\325\211\325\326%\210.\207" [nnrss-directory nnrss-file-coding-system nnmail-pathname-coding-system file-name-coding-system coding-system-for-write server gnus-make-directory nnrss-make-filename "nnrss" generate-new-buffer " *temp file*" #[nil "\301!\205	\302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] format ";; -*- coding: %s; -*-\n" gnus-prin1 setq nnrss-group-alist quote "\n" nnrss-server-data write-region nil 0 #1# #2=#:temp-file] 7])
(defalias 'nnrss-read-group-data #[(group server) "\306\307	!\203\310	!\210\202\311\312\313\"\314\n\"\211A@\206 \315\211T)\316\n\"\317!\205\211\320\306\321\211$\210\306\211\205\210@\322\3238\321	#\210@\203l@V\203l@@\203~
@W\203~@A\211\204J\306**\207" [nnrss-group-data nnrss-group-hashtb group nnrss-server-data pair nnrss-group-max nil hash-table-p clrhash make-hash-table :test equal assoc-string 0 nnrss-make-filename file-exists-p load t puthash 9 nnrss-group-min server nnmail-pathname-coding-system file-name-coding-system file e --dolist-tail--] 6])
(defalias 'nnrss-save-group-data #[(group server) "\306!\210	\n\307
\"\310\311!\312\216rq\210\313\314	\"c\210\315\316\317\320DE!)rq\210\321\322\211\322\323%\210.\207" [nnrss-directory nnrss-file-coding-system nnmail-pathname-coding-system file-name-coding-system coding-system-for-write group gnus-make-directory nnrss-make-filename generate-new-buffer " *temp file*" #[nil "\301!\205	\302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] format ";; -*- coding: %s; -*-\n" gnus-prin1 setq nnrss-group-data quote write-region nil 0 server #1# #2=#:temp-file] 7])
(defalias 'nnrss-make-filename #[(name server) "\303\304	\205	\305\232?\205\306	\307R!\n\"\207" [name server nnrss-directory expand-file-name nnrss-translate-file-chars "" "-" ".el"] 6])
(gnus-add-shutdown 'nnrss-close 'gnus)
#@33 Clear internal nnrss variables.
(defalias 'nnrss-close #[nil "\304\211\304\211\211\207" [nnrss-group-data nnrss-server-data nnrss-group-hashtb nnrss-group-alist nil] 3 (#$ . 16804)])
#@2 
(defalias 'nnrss-no-cache #[(url) "\300\207" [""] 1 (#$ . 16996)])
(defalias 'nnrss-insert #[(url) "\3041	\305!0\207\n\204\203\306	@	A\"\202\307\310\")\207" [url err debug-on-quit debug-on-error (error) mm-url-insert signal message "nnrss: Failed to fetch %s"] 3])
(defalias 'nnrss-decode-entities-string #[(string) "\205\302\303!r	q\210\304\216\305 \210c\210\306 \210\307 +\207" [string #1=#:temp-buffer generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] mm-enable-multibyte mm-url-decode-entities-nbsp buffer-string] 2])
(defalias 'nnrss-mime-encode-string #[(string) "\304\305!rq\210\306\216\307 \210	c\210\310 \210eb\210\311\312\313\314#\203%\315\316!\210\202eb\210\316\313w\210e`|\210db\210\316\313w\210`d|\210\317\313\320ed\"\210*eb\210\321\322\313\314#\203W\323\324!\210\202H\325 +\207" [#1=#:temp-buffer string rfc2047-encode-max-chars rfc2047-encoding-type generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] mm-enable-multibyte mm-url-decode-entities-nbsp re-search-forward "[	\n ]+" nil t replace-match " " mime rfc2047-encode-region search-forward "\n" delete-char -1 buffer-string] 4])
(defalias 'nnrss-make-hash-index #[(item) "\302\303\304\305!#\210\306\307\"\310\305!\311\211	$\207" [item nnrss-file-coding-system gnus-message 9 "nnrss: Making hash index of %s" gnus-prin1-to-string seq-remove #[(field) "<\205	@	>\207" [field nnrss-ignore-article-fields] 2] md5 nil] 5])
(defalias 'nnrss-check-group #[(group server) "\306\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211@A,(BC/&DEF\203K\307\310\311G\312P!H\"\211E!\203K\313E\314\"D\202\241\315\316GI\"8\206^\316GJ\"A@\211/\204\233\317\320\321\322\323\324G\"\325\"!\"A/\316GI\"\211K\203\213KA/C\241\210\202\227GL/EIBI)\314B\313/!D\326D\327\"\326D\330\"\326D\331\"\326D\332\"\333\334\f\335P!D\"\237\306M\211N\203NN@\211M<\203B\f\335PM@\230\203B\336M!\337O\"\204B\340\f\341M#&\342\340\f\343MAA#!/\340\n\344M#\206\340\f\345M#C\340	\346M#\211A\203&A\347CQC\340\f\350M#\206>\340	\351M#\206>\340	\352M#(\353\340	\354M#\206P\340\f\355M#!,\340\f\305M#\334\f\356P!M\236A@\211@\203\376\357@\236A\360@\236A\361@\236A\306P1Q/Q\203\304\362Q!\211Q\250\203\304Q\363\245\364\365\366\367\370\371\372\257RSS\373W\204\270S\374\245SRAR\202\243\323\375SR@#*\202\305\376Q/\206\315\364/\377\201V/\"\203\345\201W\201X/\"\202\350\201YP1\206\360\3641/PQ1F@,LT\211L\201Z /&\205\201[&!(\205 \201[(!,C\205+\342C!@
\257\nTBT\201\\\314O#\210\314B\306CNA\211N\204\314*B\205\204\201]GU\"\210\316GI\"\211K\203sKAL\240\210\202}GLDIBI)\201^U!.\207" [hash-index dc-ns content-ns rdf-ns rss-ns comments nil file-exists-p expand-file-name nnrss-translate-file-chars ".xml" nnrss-fetch t 2 assoc-string assoc href nnrss-discover-feed read-string format "URL to search for %s: " "http://" nnrss-get-namespace-prefix "http://purl.org/dc/elements/1.1/" "http://www.w3.org/1999/02/22-rdf-syntax-ns#" "http://purl.org/rss/1.0/" "http://purl.org/rss/1.0/modules/content/" nnrss-find-el intern "item" nnrss-make-hash-index gethash nnrss-node-text title nnrss-decode-entities-string link encoded description subject "<br /><br />" author creator contributor nnrss-normalize-date date pubDate "enclosure" url length type string-to-number 1.0 "" "k" "M" "G" "T" "P" "E" 1024 1024.0 "%.1f%s" "0" string-match enclosure feed-subject changed extra xml file nnrss-use-local group nnrss-directory nnrss-server-data nnrss-group-alist pair nnrss-group-max item --dolist-tail-- nnrss-group-hashtb name len post-fixes size nnrss-group-data server "/\\([^/]*\\)$" match-string 1 "file" current-time nnrss-mime-encode-string puthash nnrss-save-group-data nnrss-save-server-data] 17])
#@93 OPML subscriptions import.
Read the file and attempt to subscribe to each Feed in the file.
(defalias 'nnrss-opml-import #[(opml-file) "\302\303\304\305\306\307!rq\210\310\216\311 \210\312	!\210\313ed\"+\"\"\207" [#1=#:temp-buffer opml-file mapc #[(node) "\304A@\236A\211\205<\305\306	\"?\205<\307\310\311	\"!\312\313!\210\205<\3141.\315	!\210\316y0\202<\312\317	\320\n!#\210\321\322 *)\207" [node xmlurl err echo-keystrokes xmlUrl string-match "\\`[	 ]*\\'" y-or-n-p format "Subscribe to %s " message "" (error) gnus-group-make-rss-group 1 "Failed to subscribe to %s (%s); type any key to continue: " error-message-string 0 read-char] 6] nnrss-find-el outline generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] mm-enable-multibyte insert-file-contents xml-parse-region] 7 (#$ . 20917) "fImport file: "])
#@76 OPML subscription export.
Export subscriptions to a buffer in OPML Format.
(defalias 'nnrss-opml-export #[nil "r\304\305!q\210\306\307!\210\310\311\312\313\314\315\316\317!\320\321\322\323\324 \325\326\327\261\210	\330\211\203=@\331\n@\332\nA@\333\261\210A\211\204(*\334\335\261\210)\336\305!\210\337\340!\205P\340 \207" [user-mail-address nnrss-group-alist sub --dolist-tail-- get-buffer-create "*OPML Export*" set-buffer-file-coding-system utf-8 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" "<!-- OPML generated by Emacs Gnus' nnrss.el -->\n" "<opml version=\"1.1\">\n" "  <head>\n" "    <title>mySubscriptions</title>\n" "    <dateCreated>" format-time-string "%a, %d %b %Y %T %z" "</dateCreated>\n" "    <ownerEmail>" "</ownerEmail>\n" "    <ownerName>" user-full-name "</ownerName>\n" "  </head>\n" "  <body>\n" nil "    <outline text=\"" "\" xmlUrl=\"" "\"/>\n" "  </body>\n" "</opml>\n" pop-to-buffer fboundp sgml-mode] 17 (#$ . 21782) nil])
#@97 Generate a download script in the current buffer.
It is useful when `(setq nnrss-use-local t)'.
(defalias 'nnrss-generate-download-script #[nil "\306c\210\307c\210\310\311!\312\261\210	\313\211\205=@\314\n8\206&\315\n@\f\"A@\316\317\n@\320P!\321
\312\261\210)A\211\204\313*\207" [nnrss-directory nnrss-server-data elem --dolist-tail-- nnrss-group-alist url "#!/bin/sh\n" "WGET=wget\n" "RSSDIR='" expand-file-name "'\n" nil 2 assoc-string "$WGET -q -O \"$RSSDIR\"/'" nnrss-translate-file-chars ".xml" "' '"] 6 (#$ . 22752) nil])
(defalias 'nnrss-translate-file-chars #[(name) "\302\303\"\304	!)\207" [nnheader-file-name-translation-alist name append ((39 . 95)) nnheader-translate-file-chars] 3])
(defalias 'nnrss-node-text #[(namespace local-name element) "\306\307	!P!\n\236\211\203<\203\310!\202\211\205(\311\312\313\311\314\315\f##\211\315\230?\2051
+\207" [namespace local-name element node text cleaned-text intern symbol-name nnrss-node-just-text replace-regexp-in-string "
\n" "\n" "^[-]+\\|^ +\\| +$" ""] 8])
(defalias 'nnrss-node-just-text #[(node) "\203<\203\301\302AA\303#\207\207" [node mapconcat nnrss-node-just-text " "] 4])
#@83 Find the all matching elements in the data.
Careful with this on large documents!
(defalias 'nnrss-find-el #[(tag data &optional found-list) ":\203n\305\211\203m\n@\211\242\203f	@\232\203=	AA@:\2037	AA@@;\2037	AA	AA@@\240\210\306\f	C\"	AA@\242:\203\\	AA@;\204\\\306\f\307	AA@\"\"\202f\306\f\307	AA\"\"\nA\211\204
*\f\207" [data bit --dolist-tail-- tag found-list nil append nnrss-find-el] 6 (#$ . 23939)])
#@65 Test if the element we are handed is an RSS autodiscovery link.
(defalias 'nnrss-rsslink-p #[(el) "\242\301=\205(\302\303A@\"A\304\230\205(\302\305A@\"A\306\230\206(\302\305A@\"A\307\230\207" [el link assoc rel "alternate" type "application/rss+xml" "text/xml"] 3 (#$ . 24373)])
#@73 Extract the <link> elements that are links to RSS from the parsed data.
(defalias 'nnrss-get-rsslinks #[(data) "\301\302\303\304\305\306\"\"\"\207" [data delq nil mapcar #[(el) "\301!\205\207" [el nnrss-rsslink-p] 2] nnrss-find-el link] 7 (#$ . 24665)])
#@98 Recursively extract hrefs from a page's source.
DATA should be the output of `xml-parse-region'.
(defalias 'nnrss-extract-hrefs #[(data) "\301\302\303\304\"\"\207" [data mapcar #[(ahref) "\301\302A@\"A\207" [ahref assoc href] 3] nnrss-find-el a] 5 (#$ . 24930)])
(defalias 'nnrss-match-macro '(macro . #[(base-uri item onsite-list offsite-list) "\304\305\306\307\310E	E\311\306\312	EDE\313\n\314\n\315	DEED\316\313\314\315	DEEDE\207" [base-uri item onsite-list offsite-list cond or string-match concat "^" not "://" setq append list t] 9]))
#@296 Given a list of hrefs, sort them using the following priorities:
  1. links ending in .rss
  2. links ending in .rdf
  3. links ending in .xml
  4. links containing the above
  5. offsite links

BASE-URI is used to determine the location of the links and
whether they are `offsite' or `onsite'.
(defalias 'nnrss-order-hrefs #[(base-uri hrefs) "\306\211\211\211\211\211\211\211\211\211\211\211\306\211\203^@\211\203U\307\310\"\203c\307\311P\"\204M\307\312\"\204Y\313C\"\202U\313
C\"\202U\307\314\"\203\224\307\311P\"\204~\307\312\"\204\212\313C\"\202U\313\fC\"\202U\307\315\"\203\305\307\311P\"\204\257\307\312\"\204\273\313C\"\202U\313C\"\202U\307\316\"\203\366\307\311P\"\204\340\307\312\"\204\354\313C\"\202U\313\nC\"\202U\307\317\"\203'\307\311P\"\204\307\312\"\204\313C\"\202U\313	C\"\202U\307\320\"\203U\307\311P\"\204B\307\312\"\204N\313C\"\202U\313C\"A\211\204)*\313
\f\n	&\f.\f\207" [xml-offsite-in rdf-offsite-in rss-offsite-in xml-offsite-end rdf-offsite-end rss-offsite-end nil string-match "\\.rss$" "^" "://" append "\\.rdf$" "\\.xml$" "rss" "rdf" "xml" xml-onsite-in rdf-onsite-in rss-onsite-in xml-onsite-end rdf-onsite-end rss-onsite-end hrefs href --dolist-tail-- base-uri] 14 (#$ . 25483)])
#@81 Given a page, find an RSS feed.
Use Mark Pilgrim's `ultra-liberal rss locator'.
(defalias 'nnrss-discover-feed #[(url) "\306!\307	!\203\310	\311\"\312\n	#)\202\235\313	!\211\203@\306\314\315@A@\"A!\310\f\311\"\312\n\f\314\315@A@\"A#*\202\234\316\317\"\210\320\321\"\322
\323	!\"\324\324=\203\216\324=\204\216\306@!\307!\203\205\310\311\"\312\n@#)\202\212A)\202U\203\230\202\233\325!+))\207" [url parsed-page rss-ns links xml base-uri nnrss-fetch nnrss-rss-p nnrss-get-namespace-prefix "http://purl.org/rss/1.0/" nnrss-rss-title-description nnrss-get-rsslinks assoc href string-match ".*://[^/]+/?" match-string 0 nnrss-order-hrefs nnrss-extract-hrefs nil nnrss-find-rss-via-syndic8 hrefs rss-link href-data] 7 (#$ . 26882)])
#@49 Query syndic8 for the rss feeds it has for URL.
(defalias 'nnrss-find-rss-via-syndic8 #[(url) "\306\307!\204\f\310\311!\210\312\207\313\314!\210\315\316\317#\211\205G\315\316\320	#\321\312\322\323\n\"\"\211G\324V\2045@A\202F\325\322\326\n\"\327\330\331\f\325#\"A**)\207" [url feedid feedinfo urllist selection completion-ignore-case locate-library "xml-rpc" message "XML-RPC is not available... not checking Syndic8." nil require xml-rpc xml-rpc-method-call "http://www.syndic8.com/xmlrpc.php" syndic8\.FindSites syndic8\.GetFeedInfo delq mapcar #[(listinfo) "\301\302\"A\303\230\205\301\304\"A\305\301\304\"AB\306\301\307\"ABDB\207" [listinfo assoc "status" "Syndicated" "sitename" title href "dataurl"] 6] 1 t #[(listinfo) "\301\302\"A\303\301\304\"A!B\207" [listinfo assoc "sitename" string-to-number "feedid"] 5] assoc gnus-completing-read "Multiple feeds found. Select one"] 6 (#$ . 27669)])
#@83 Test if DATA is an RSS feed.
Simply ensures that the first element is rss or rdf.
(defalias 'nnrss-rss-p #[(data) "@@\301=\206
@@\302=\207" [data rss rdf:RDF] 2 (#$ . 28592)])
#@34 Return the title of an RSS feed.
(defalias 'nnrss-rss-title-description #[(rss-namespace data url) "\306!\2054\307	\310P!\307	\311P!\312\307	\313P!\"\304\312\f\n\"@AA@B\303\312\n\"@AA@B\314
BE+\207" [data rss-namespace channel title description url nnrss-rss-p intern "description" "title" nnrss-find-el "channel" href] 6 (#$ . 28777)])
#@161 Given EL (containing a parsed element) and URI (containing a string
that gives the URI for which you want to retrieve the namespace
prefix), return the prefix.
(defalias 'nnrss-get-namespace-prefix #[(el uri) "\305\306	\307\"\211@:\203\211@A@\262\202\211A@\262\"@\211\205'\310\311\n!\312\"\211G\313=\2033\314\202=G\315=\205=A@\211\203N\f\314\230\204N\f\312P\202O\f+\207" [uri el prefix nslist ns rassoc dom-search #[(node) "\302	\211@:\203\211@A@\262\202\211A@\262\"\207" [uri node rassoc] 4] split-string symbol-name ":" 1 "" 2] 6 (#$ . 29128)])
(provide 'nnrss)

Zerion Mini Shell 1.0