MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/gnus/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/gnus/nnrss.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:24 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/nnrss.el
;;; in Emacs version 24.3.1
;;; 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 "\300\301!\204
\302\301\303\304B\"\210\305\306!\210\305\307!\210\305\310!\210\305\311!\210\305\312!\210\305\313!\210\305\314!\210\305\315!\210\305\316!\210\305\317!\210\305\320!\207" [fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require gnus nnoo nnmail message mm-util gnus-util time-date rfc2231 mm-url rfc2047 mml] 4)
(require 'xml)
(byte-code "\302\236\203\302\236A\303\304\305\"\240\210\202\302\303\304\305\"\305\211FB\302	\236\204*\302\306D	B\305\207" [nnoo-definition-alist nnoo-state-alist nnrss mapcar list nil "*internal-non-initialized-backend*"] 4)
#@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/") (#$ . 1164))
(nnoo-define 'nnrss-directory nil)
#@503 *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) (#$ . -1388))
(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 (#$ . 2530))
#@75 If non-nil nnrss will read the feeds from local files in nnrss-directory.
(defvar nnrss-use-local nil (#$ . 2602))
#@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 (#$ . 2724))
#@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 (#$ . 2907))
#@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 (#$ . 3066))
#@414 *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.
(defvar nnrss-file-coding-system mm-universal-coding-system (#$ . -3343))
#@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) (#$ . 3837))
(nnoo-define-basics-1 'nnrss)
(defalias 'nnrss-format-string #[(string) "\301\302\303#\207" [string gnus-replace-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 mm-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 ": " gnus-replace-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\203r
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\330C\331\332#)\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\310\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\266\364I@\366I\211NA@)\367\335I8\332\322I8\370\261	\210H\203\302\364H\371\261\210\372\361\373\261\210\316\374\375\217\210.	eb\210\351\353!\210\376y\210\377\201SB@\201T\316OP\201U\330\201V\201W#!*#c\210Q\203QB	#\210)@\203\201X\201Y@\"\202?B\204+\201X\201Y\201Z	#\202?\201X\201Y\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: " gnus-replace-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" (byte-code "\301B\302 \210)\301\207" [mml-confirmation-set unknown-encoding mml-to-mime] 2) ((error (byte-code "\302 \210\303\304	\261\210\305\306\307\"\207" [header body erase-buffer "Content-Type: text/plain; charset=gnus-decoded\n" "Content-Transfer-Encoding: 8bit\n\n" nnheader-message 3 "Warning - there might be invalid characters"] 4))) -1 format err post e string rfc2047-header-encoding-alist fn body rfc2047-encode-encoded-words comments enclosure link text header window x rfc2047-encode-max-chars rfc2047-encoding-type nnrss-content-function nnrss-group "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) "\305!\306	\"\210\307\310\"\211\203\311\n\"\202)\311\310\f\"\f\"\312	!\210\307\313\314\217\210\315\207" [group server elem nnrss-group-alist nnrss-server-data nnrss-decode-group-name nnrss-possibly-change-group nil assoc delq nnrss-save-server-data (byte-code "\304\305\n\"!\210)\304\207" [nnmail-pathname-coding-system file-name-coding-system group server delete-file nnrss-make-filename] 4) ((error)) t] 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\2030\f@\211AA@\203)@\310AA@\311\261\210\fA\211\204+\312\207" [server nntp-server-buffer nnrss-group-alist elem --dolist-tail-- nnrss-possibly-change-group nil erase-buffer "	" "\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\203U\n@\313\314	!
\"\315\316	\211A@)\206J\317#c\210)\nA\211\2040+\320\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 gnus-group-decoded-name format "%S %s 1 y\n" 0 active elem x] 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 (#$ . 11409)])
#@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)\202*\313\315\316\317\217\210)db\210\320\321\312\322#\203<\323\324!\210\202-\325 \211\203P\326\327 \"\330 \210\331 \210c\210eb\210\332\333\334\217\210	\203`	\202a\n.\207" [#1=#:temp-buffer htmlform xmlform cs local coding-system-for-read generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte nil binary insert-file-contents err (mm-url-insert url) ((error (byte-code "\204	\203\304\n@\nA\"\210\202\305\306\"\210\304\207" [debug-on-quit debug-on-error err url signal message "nnrss: Failed to fetch %s"] 3))) search-backward "
\n" t delete-char 1 nnrss-get-encoding mm-decode-coding-string buffer-string erase-buffer mm-enable-multibyte err1 (byte-code "\301ed\"\301\207" [xmlform xml-parse-region] 3) ((error (byte-code "\300\301\302\217\207" [err2 (byte-code "\301p!@AA@\301\207" [htmlform w3-parse-buffer] 2) ((error (message "nnrss: %s: Not valid XML %s and w3-parse doesn't work %s" url err1 err2)))] 3))) url] 4 (#$ . 12087)])
(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")
#@201 Return a date string of DATE in the RFC822 style.
This function handles the ISO 8601 date format described in
URL `http://www.w3.org/TR/NOTE-datetime', and also the RFC822 style
which RSS 2.0 allows.
(defalias 'nnrss-normalize-date #[(date) "\306\211\211\211\211\211\211\211\211'()*\203\337\307\310*\"\203,\311\312*!!\202\337\307\313*\"\203y\314*!(\312(\315H!\211'\316Y\203\337\312(\317H!\312(\320H!(\321H\211G\321Y\204d\322(\323H\211\203\337\307\324\n\"\204\337\306\202\337\307\325*\"\203\337\312\326\317*\"!'\312\326\320*\"\206\224\327!\312\326\321*\"\206\240\327!\330\224\203\261*\323\224\330\225O\202\274\326\323*\"\206\272\331\332P\333\224\203\320\326\333*\"\326\334*\"P\202\336\335\224\203\331\336\202\336\326\337*\"
\203\340\341\315\211\211\f
'&!\342\343	\315\321O\f	\323\334O'\n\203\344\nP\202	\345&\202\346!.	\207" [given cts zone time day month nil string-match "^[0-9]+$" seconds-to-time string-to-number " [0-9]+ " timezone-parse-date 0 1969 1 2 3 "00:00:00" 4 "\\`[A-Z+-]" "\\(199[0-9]\\|20[0-9][0-9]\\)\\(?:-\\([01][0-9]\\)\\(?:-\\([0-3][0-9]\\)\\)?\\)?\\(?:T\\([012][0-9]:[0-5][0-9]\\)\\(?:\\(:[0-5][0-9]\\)\\(?:\\.[0-9]+\\)?\\)?\\)?\\(?:\\(?:\\([+-][012][0-9]\\):\\([0-5][0-9]\\)\\)\\|\\([+-][012][0-9][0-5][0-9]\\)\\|\\(Z\\)\\)?" match-string "1" 5 "00:00" ":00" 6 7 9 "+0000" 8 current-time-string encode-time format "%s, %02d %s %04d %s%s" " " "" message-make-date year vector case-fold-search date] 10 (#$ . 13576)])
(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!!\314\216rq\210\315\316	\"c\210\317\320\321\322DE!\210\323c\210\317\320\324\322DE!)rq\210\325\326\211\326\327%\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" get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n\302!\210\301\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\"\211\211A@)\206#\315\211T)\316\n\"\317!\205\217\320\306\321\211$\210\306\211\205\216@\322\3238\321	#\210@\203p@V\203p@@\203\204@W\203\204@A\211\204N\306**\207" [nnrss-group-data nnrss-group-hashtb group nnrss-server-data pair x nil hash-table-p clrhash make-hash-table :test equal assoc 0 nnrss-make-filename file-exists-p load t puthash 9 nnrss-group-max 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!!\313\216rq\210\314\315	\"c\210\316\317\320\321DE!)rq\210\322\323\211\323\324%\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 get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n\302!\210\301\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 (#$ . 17520)])
#@2 
(defalias 'nnrss-no-cache #[(url) "\300\207" [""] 1 (#$ . 17712)])
(defalias 'nnrss-insert-w3 #[(url) "\211\203\n\302\303!\210\304\305\306\217	\203\302\307!\210)\207" [enable-multibyte-characters #1=#:multibyte set-buffer-multibyte nil err (mm-url-insert url) ((error (byte-code "\204	\203\304\n@\nA\"\207\305\306\"\207" [debug-on-quit debug-on-error err url signal message "nnrss: Failed to fetch %s"] 3))) t] 4])
(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*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte mm-url-decode-entities-nbsp buffer-string] 2])
(defalias 'nnrss-insert 'nnrss-insert-w3)
(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*" ((byte-code "\301!\203\n\302!\210\301\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 gnus-remove-if #[(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\245\315\316GI\"8\206b\316GJ\"\211KA@)\211.\204\237\316\317\320\321\322\323G\"\324\"!\"A.\316GI\"\211L\203\217LA.C\241\210\202\233GM.EIBI)\314B\313.!D\325D\326\"\325D\327\"\325D\330\"\325D\331\"\332\333\f\334P!D\"\237\306N\211O\203XO@\211N<\203L\f\334PN@\230\203L\335N!\336P\"\204L\337\f\340N#%\341\337\f\342N\211KAA)#!.\337\n\343N#\206\337\f\344N#C\337	\345N#\211A\203.A\346CQC\337\f\347N#\206F\337	\350N#\206F\337	\351N#'\352\337	\353N#\206X\337\f\354N#!+\337\f\305N#\333\f\355P!N\236\211KA@)\211@\203\356@\236A\357@\236A\360@\236A\306Q0R.R\203\320\361R!\211R\250\203\320R\362\245\363\364\365\366\367\370\371\257STT\372W\204\304T\373\245TSAS\202\257\322\374TS@#*\202\321\375R.\206\331\363.\376\377.\"\203\357\201W\201X.\"\202\362\201YQ0\206\372\3630.QR0F@,MT\211M\201Z .%\205\201[%!'\205*\201['!+C\2055\341C!@
\257\nUBU\201\\\314P#\210\314B\306COA\211O\204\320*B\205\216\201]GV\"\210\316GI\"\211L\203}LAM\240\210\202\207GMDIBI)\201^V!.\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 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 x 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) "\303\211A@)\236A\211\205'\304\305\n\"?\205'\306\307\310\n\"!\311\312!\210\205'\313\314\315\217)\207" [node x xmlurl xmlUrl string-match "\\`[	 ]*\\'" y-or-n-p format "Subscribe to %s " message "" err (byte-code "\301!\210\302y\207" [xmlurl gnus-group-make-rss-group 1] 2) ((error (byte-code "\303\304\305	!#\210\306\307 )\207" [xmlurl err echo-keystrokes message "Failed to subscribe to %s (%s); type any key to continue: " error-message-string 0 read-char] 5)))] 5] nnrss-find-el outline generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-enable-multibyte insert-file-contents xml-parse-region] 7 (#$ . 21869) "fImport file: "])
#@76 OPML subscription export.
Export subscriptions to a buffer in OPML Format.
(defalias 'nnrss-opml-export #[nil "r\305\306!q\210\307\310!\210\311\312\313\314\315\316\317\320!\321\322\323\324\325 \326\327\330\261\210	\331\211\203@@\332\n@\333\n\211A@)\334\261\210A\211\204(*\335\336\261\210)\337\306!\210\340\341!\205S\341 \207" [user-mail-address nnrss-group-alist sub --dolist-tail-- x get-buffer-create "*OPML Export*" mm-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 (#$ . 22834) 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\205B@\314\n8\206)\315\n@\f\"\211A@)\316\317\n@\320P!\321\312\261\210)A\211\204\313*\207" [nnrss-directory nnrss-server-data elem --dolist-tail-- nnrss-group-alist x "#!/bin/sh\n" "WGET=wget\n" "RSSDIR='" expand-file-name "'\n" nil 2 assoc "$WGET -q -O \"$RSSDIR\"/'" nnrss-translate-file-chars ".xml" "' '" url] 6 (#$ . 23815) 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\211\f\312\313#\314\315#\211\313\230?\2051
+\207" [namespace local-name element node text cleaned-text intern symbol-name nnrss-node-just-text gnus-replace-in-string "^[-]+\\|^ +\\| +$" "" "
\n" "\n"] 6])
(defalias 'nnrss-node-just-text #[(node) "\203<\203\302\303\211AA)\304#\207\207" [node x mapconcat nnrss-node-just-text " "] 5])
#@83 Find the all matching elements in the data.
Careful with this on large documents!
(defalias 'nnrss-find-el #[(tag data &optional found-list) ":\203t\306\211\203s\n@\211\242\203l	@\232\203@	AA@:\203:	AA@@;\203:	\211AA)	AA@@\240\210\307
	C\"	AA@\242:\203_	AA@;\204_\307
\310	AA@\"\"\202l\307
\310	\211AA)\"\"\nA\211\204
*
\207" [data bit --dolist-tail-- tag x found-list nil append nnrss-find-el] 6 (#$ . 25011)])
#@65 Test if the element we are handed is an RSS autodiscovery link.
(defalias 'nnrss-rsslink-p #[(el) "\242\302=\2051\303\304\211A@)\"A\305\230\2051\303\306\211A@)\"A\307\230\2061\303\306\211A@)\"A\310\230\207" [el x link assoc rel "alternate" type "application/rss+xml" "text/xml"] 4 (#$ . 25453)])
#@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 (#$ . 25765)])
#@119 Recursively extract hrefs from a page's source.
DATA should be the output of `xml-parse-region' or
`w3-parse-buffer'.
(defalias 'nnrss-extract-hrefs #[(data) "\301\302\303\304\"\"\207" [data mapcar #[(ahref) "\302\303\211A@)\"A\207" [ahref x assoc href] 4] nnrss-find-el a] 5 (#$ . 26031)])
(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 (#$ . 26613)])
#@82 Given a page, find an RSS feed using 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 (#$ . 28012)])
#@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\205K\315\316\320	#\321\312\322\323\n\"\"\211G\324V\2048\211@A)\202J\325\322\326\n\"\327\330\331
\325#\"A**)\207" [url feedid feedinfo urllist x selection 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" completion-ignore-case] 6 (#$ . 28800)])
#@83 Test if DATA is an RSS feed.
Simply ensures that the first element is rss or rdf.
(defalias 'nnrss-rss-p #[(data) "\211@@)\302=\206\211@@)\303=\207" [data x rss rdf:RDF] 3 (#$ . 29731)])
#@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 (#$ . 29930)])
#@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) "\306	@A@\"@\211\205\307\310\n!\311\"\211G\312=\203\313\202,G\314=\205,\211A@)\211\203=
\313\230\204=
\311P\202>
+\207" [uri el prefix nslist x ns rassoc split-string symbol-name ":" 1 "" 2] 4 (#$ . 30281)])
(provide 'nnrss)

MMCT - 2023