;ELC
;;; Compiled
;;; in Emacs version 27.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!\210\300\302!\210\300\303!\210\300\304!\207" [require derived xml url-parse iso8601] 2)
#@102 List of timers for news retrieval.
This is an alist, each element consisting of (feed-name . timer).
(defvar newsticker--retrieval-timer-list nil (#$ . 518))
#@51 Function called at end of `newsticker--sentinel'.
(defvar newsticker--sentinel-callback nil (#$ . 682))
#@171 Check whether newsticker is running.
Return t if newsticker is running, nil otherwise. Newsticker is
considered to be running if the newsticker timer list is not empty.
(defalias 'newsticker-running-p #[0 "G\301V\207" [newsticker--retrieval-timer-list 0] 2 (#$ . 793)])
(custom-declare-group 'newsticker nil "Aggregator for RSS and Atom feeds." :group 'applications)
#@90 Default URL list in raw form.
This list is fed into defcustom via `newsticker--splicer'.
(defconst newsticker--raw-url-list-defaults '(("Debian Security Advisories" "http://www.debian.org/security/dsa.en.rdf") ("Debian Security Advisories - Long format" "http://www.debian.org/security/dsa-long.en.rdf") ("Emacs Wiki" "https://www.emacswiki.org/emacs?action=rss" nil 3600) ("LWN (Linux Weekly News)" "https://lwn.net/headlines/rss") ("Quote of the day" "http://feeds.feedburner.com/quotationspage/qotd" "07:00" 86400) ("The Register" "https://www.theregister.co.uk/headlines.rss") ("slashdot" "http://rss.slashdot.org/Slashdot/slashdot" nil 3600) ("Wired News" "https://www.wired.com/feed/rss") ("Heise News (german)" "http://www.heise.de/newsticker/heise.rdf") ("Tagesschau (german)" "http://www.tagesschau.de/newsticker.rdf" nil 1800)) (#$ . 1168))
#@75 Convert ITEM for splicing into `newsticker-url-list-defaults'.
(fn ITEM)
(defalias 'newsticker--splicer #[257 "\300\301@\302@DFA\211\203 \303\302@DC\"\262\211A\262\202 \207" [list :tag const append] 7 (#$ . 2025)])
#@165 Set retrieval related newsticker-variable SYMBOL value to VALUE.
Calls all actions which are necessary in order to make the new
value effective.
(fn SYMBOL VALUE)
(defalias 'newsticker--set-customvar-retrieval #[514 "\301!\203
J\232\203 L\207\302\211\211\303\267\202X \304\262\202X \211\203; \211@\211J\235\2044 \211B\262A\266\202\202! \210J\211\203W \211@\211\235\204P \211B\262A\266\202\202> \210\203r L\210\305 \203\265 \306\307!\210\310 \210\311 \210\202\265 \211\211\203\213 \211@\306\312@\"\210\313@!\210A\266\202\202s \210\211\203\251 \211@\306\314@\"\210\313@!\210\315!\210A\266\202\202\215 \210\204\265 \203\265 \210L\207" [newsticker--sentinel-callback boundp nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (newsticker-retrieval-interval 26 newsticker-url-list-defaults 32 newsticker-url-list 32)) t newsticker-running-p message "Restarting newsticker" newsticker-stop newsticker-start "Stopping feed `%s'" newsticker--stop-feed "Starting feed `%s'" newsticker--start-feed] 10 (#$ . 2258)])
(byte-code "\301\302\303\304\305\306%\210\307\310\311\312\313DD\314\315\316\317\320\"B\321\322\305\302& \210\307\323\311\312\324DD\325\315\326\321\322\305\302& \210\307\327\311\312\330DD\331\315\332\305\302&\210\307\333\311\312\334DD\335\315\336\305\302&\210\307\337\311\312\340DD\341\315\342\305\302&\210\307\343\311\312\344DD\345\315\346\321\322\305\302& \210\307\347\311\312\350DD\351\315\352\305\302&\210\301\353\303\354\305\306%\210\307\355\311\312\356DD\357\315\360\305\353&\210\307\361\311\312\362DD\363\315\360\305\353&\210\307\364\311\312\365DD\366\315\360\305\353&\210\307\367\311\312\370DD\371\315\352\305\353&\210\307\372\311\312\373DD\374\315\375\305\353&\210\301\376\303\377\305\306%\210\307\201@ \311\312\201A DD\201B \201C \201D \315\201E \305\376& \210\307\201F \311\312\201G DD\201H \201C \303\315\201E \305\376& \210\307\201I \311\312\201J DD\201K \315\201E \201C \201L \305\376& \210\301\201M \303\201N \305\306%\210\307\201O \311\312\201P DD\201Q \315\336\305\201M &\210\201R \201O \201S \201T #\210\307\201S \311\312\201U DD\201V \315\201W \305\201M &\210\307\201X \311\312\201Y DD\201Z \315\360\305\201M &\207" [newsticker--raw-url-list-defaults custom-declare-group newsticker-retrieval nil "Settings for news retrieval." :group newsticker custom-declare-variable newsticker-url-list-defaults funcall function #[0 "\300\207" [(("Emacs Wiki" "https://www.emacswiki.org/emacs?action=rss" nil 3600))] 1] "A customizable list of news feeds to select from.\nThese were mostly extracted from the Radio Community Server\n.\n\nYou may add other entries in `newsticker-url-list'." :type set mapcar newsticker--splicer :set newsticker--set-customvar-retrieval newsticker-url-list #[0 "\300\207" [nil] 1] "The news feeds which you like to watch.\n\nThis alist will be used in addition to selection made customizing\n`newsticker-url-list-defaults'.\n\nThis is an alist. Each element consists of two items: a LABEL and a URL,\noptionally followed by a START-TIME, INTERVAL specifier and WGET-ARGUMENTS.\n\nThe LABEL gives the name of the news feed. It can be an arbitrary string.\n\nThe URL gives the location of the news feed. It must point to a valid\nRSS or Atom file. The file is retrieved by calling wget, or whatever you\nspecify as `newsticker-wget-name'.\n\nURL may also be a function which returns news data. In this case\n`newsticker-retrieval-method' etc. are ignored for this feed.\n\nThe START-TIME can be either a string, or nil. If it is a string it\nspecifies a fixed time at which this feed shall be retrieved for the\nfirst time. (Examples: \"11:00pm\", \"23:00\".) If it is nil (or\nunspecified), this feed will be retrieved immediately after calling\n`newsticker-start'.\n\nThe INTERVAL specifies the time between retrievals for this feed. If it\nis nil (or unspecified) the default interval value as set in\n`newsticker-retrieval-interval' is used.\n\n(newsticker.el calls `run-at-time'. The newsticker-parameters START-TIME\nand INTERVAL correspond to the `run-at-time'-parameters TIME and REPEAT.)\n\nWGET-ARGUMENTS specifies arguments for wget (see `newsticker-wget-name')\nwhich apply for this feed only, overriding the value of\n`newsticker-wget-arguments'." (repeat (list :tag "News feed" (string :tag "Label") (choice :tag "URI" (string :tag "String") (function :tag "Function")) (choice :tag "Start" (const :tag "Default" nil) (string :tag "Fixed Time")) (choice :tag "Interval" (const :tag "Default" nil) (const :tag "Hourly" 3600) (const :tag "Daily" 86400) (const :tag "Weekly" 604800) (integer :tag "Interval")) (choice :tag "Wget Arguments" (const :tag "Default arguments" nil) (repeat :tag "Special arguments" string)))) newsticker-retrieval-method #[0 "\300\207" [intern] 1] "Method for retrieving news from the web, either `intern' or `extern'.\nDefault value `intern' uses Emacs' built-in asynchronous download\ncapabilities (`url-retrieve'). If set to `extern' the external\nprogram wget is used, see `newsticker-wget-name'." (choice :tag "Method" (const :tag "Intern" intern) (const :tag "Extern" extern)) newsticker-wget-name #[0 "\300\207" [#1="wget"] 1 #1#] "Name of the program which is called to retrieve news from the web.\nThe canonical choice is wget but you may take any other program which is\nable to return the contents of a news feed file on stdout." string newsticker-wget-arguments #[0 "\300\207" [("-q" "-O" "-")] 1] "Arguments which are passed to wget.\nThere is probably no reason to change the default settings, unless you\nare living behind a firewall." (repeat (string :tag "Argument")) newsticker-retrieval-interval #[0 "\300\207" [3600] 1] "Time interval for retrieving new news items (seconds).\nIf this value is not positive (i.e. less than or equal to 0)\nitems are retrieved only once!\nPlease note that some feeds, e.g. Slashdot, will ban you if you\nmake it less than 1800 seconds (30 minutes)!" (choice :tag "Interval" (const :tag "No automatic retrieval" 0) (const :tag "Hourly" 3600) (const :tag "Daily" 86400) (const :tag "Weekly" 604800) (integer :tag "Interval")) newsticker-desc-comp-max #[0 "\300\207" [100] 1] "Relevant length of headline descriptions.\nThis value gives the maximum number of characters which will be\ntaken into account when newsticker compares two headline\ndescriptions." integer newsticker-headline-processing "Settings for the automatic processing of headlines." newsticker-automatically-mark-items-as-old #[0 "\300\207" [t] 1] "Decides whether to automatically mark items as old.\nIf t a new item is considered as new only after its first retrieval. As\nsoon as it is retrieved a second time, it becomes old. If not t all\nitems stay new until you mark them as old. This is done in the\n*newsticker* buffer." boolean newsticker-automatically-mark-visited-items-as-old #[0 "\300\207" [t] 1] "Decides whether to automatically mark visited items as old.\nIf t an item is marked as old as soon as the associated link is\nvisited, i.e. after pressing RET or mouse2 on the item's\nheadline." newsticker-keep-obsolete-items #[0 "\300\207" [t] 1] "Decides whether to keep unread items which have been removed from feed.\nIf t a new item, which has been removed from the feed, is kept in\nthe cache until it is marked as read." newsticker-obsolete-item-max-age #[0 "\300\207" [86400] 1] "Maximal age of obsolete items, in seconds.\nObsolete items which are older than this value will be silently\ndeleted at the next retrieval." newsticker-auto-mark-filter-list #[0 "\300\207" [nil] 1] "A list of filters for automatically marking headlines.\n\nThis is an alist of the form (FEED-NAME PATTERN-LIST). I.e. each\nelement consists of a FEED-NAME a PATTERN-LIST. Each element of\nthe pattern-list has the form (AGE TITLE-OR-DESCRIPTION REGEXP).\nAGE must be one of the symbols `old' or `immortal'.\nTITLE-OR-DESCRIPTION must be one of the symbols `title',\n`description', or `all'. REGEXP is a regular expression, i.e., a\nstring.\n\nThis filter is checked after a new headline has been retrieved.\nIf FEED-NAME matches the name of the corresponding news feed, the\npattern-list is checked: The new headline will be marked as AGE\nif REGEXP matches the headline's TITLE-OR-DESCRIPTION.\n\nIf, for example, `newsticker-auto-mark-filter-list' looks like\n ((slashdot (\\='old \\='title \"^Forget me!$\") (\\='immortal \\='title \"Read me\")\n (\\='immortal \\='all \"important\"))))\n\nthen all articles from slashdot are marked as old if they have\nthe title \"Forget me!\". All articles with a title containing\nthe string \"Read me\" are marked as immortal. All articles which\ncontain the string \"important\" in their title or their\ndescription are marked as immortal." (repeat (list :tag "Auto mark filter" (string :tag "Feed name") (repeat (list :tag "Filter element" (choice :tag "Auto-assigned age" (const :tag "Old" old) (const :tag "Immortal" immortal)) (choice :tag "Title/Description" (const :tag "Title" title) (const :tag "Description" description) (const :tag "All" all)) (string :tag "Regexp"))))) newsticker-hooks "Settings for newsticker hooks." newsticker-start-hook #[0 "\300\207" [nil] 1] "Hook run when starting newsticker.\nThis hook is run at the very end of `newsticker-start'." :options (newsticker-start-ticker) hook newsticker-stop-hook #[0 "\300\207" [nil] 1] "Hook run when stopping newsticker.\nThis hook is run at the very end of `newsticker-stop'." newsticker-new-item-functions #[0 "\300\207" [nil] 1] "List of functions run after a new headline has been retrieved.\nEach function is called with the following two arguments:\nFEEDNAME the name of the corresponding news feed,\nITEM the decoded headline.\n\nSee `newsticker-new-item-functions-sample',\n`newsticker-download-images', and\n`newsticker-download-enclosures' for sample functions.\n\nPlease note that these functions are called only once for a\nheadline after it has been retrieved for the first time." (newsticker-download-images newsticker-download-enclosures) newsticker-miscellaneous "Miscellaneous newsticker settings." newsticker-cache-filename #[0 "\300\207" [#2="~/.newsticker-cache"] 1 #2#] "Name of the newsticker cache file." make-obsolete-variable newsticker-dir "23.1" #[0 "\300\301\302\"\207" [locate-user-emacs-file "newsticker/" ".newsticker/"] 3] "Directory where newsticker saves data." directory newsticker-debug #[0 "\300\207" [nil] 1] "Enables some features needed for debugging newsticker.el.\n\nIf set to t newsticker.el will print lots of debugging messages, and the\nbuffers *newsticker-wget-* will not be closed."] 10)
#@52 Tells whether the newsticker buffer is up to date.
(defvar newsticker--buffer-uptodate-p nil (#$ . 12955))
#@44 The time at which the latest news arrived.
(defvar newsticker--latest-update-time (current-time) (#$ . 13068))
#@46 List of PIDs of active newsticker processes.
(defvar newsticker--process-ids nil (#$ . 13185))
#@930 Cached newsticker data.
This is a list of the form
((label1
(title description link time age index preformatted-contents
preformatted-title extra-elements)
...)
(label2
(title description link time age index preformatted-contents
preformatted-title extra-elements)
...)
...)
where LABEL is a symbol. TITLE, DESCRIPTION, and LINK are
strings. TIME is a time value as returned by `current-time'.
AGE is a symbol: `new', `old', `immortal', and `obsolete' denote
ordinary news items, whereas `feed' denotes an item which is not a
headline but describes the feed itself. INDEX denotes the
original position of the item -- used for restoring the original
order. PREFORMATTED-CONTENTS and PREFORMATTED-TITLE hold the
formatted contents of the item's description and title. This
speeds things up if HTML rendering is used, which is rather
slow. EXTRA-ELEMENTS is an alist containing additional elements.
(defvar newsticker--cache nil (#$ . 13287))
#@108 Automatically narrow to current news feed.
If non-nil only the items of the current news feed are visible.
(defvar newsticker--auto-narrow-to-feed nil (#$ . 14267))
#@93 Automatically narrow to current news item.
If non-nil only the current headline is visible.
(defvar newsticker--auto-narrow-to-item nil (#$ . 14438))
#@73 Title of error headline which will be inserted if news retrieval fails.
(defconst newsticker--error-headline "[COULD NOT DOWNLOAD HEADLINES!]" (#$ . 14594))
#@34 Return title of ITEM.
(fn ITEM)
(defalias 'newsticker--title #[257 "\211@\207" [] 2 (#$ . 14757)])
(put 'newsticker--title 'byte-optimizer 'byte-compile-inline-expand)
#@40 Return description of ITEM.
(fn ITEM)
(defalias 'newsticker--desc #[257 "\211A@\207" [] 2 (#$ . 14932)])
(put 'newsticker--desc 'byte-optimizer 'byte-compile-inline-expand)
#@33 Return link of ITEM.
(fn ITEM)
(defalias 'newsticker--link #[257 "\3008\207" [2] 3 (#$ . 15112)])
(put 'newsticker--link 'byte-optimizer 'byte-compile-inline-expand)
#@33 Return time of ITEM.
(fn ITEM)
(defalias 'newsticker--time #[257 "\3008\207" [3] 3 (#$ . 15286)])
(put 'newsticker--time 'byte-optimizer 'byte-compile-inline-expand)
#@32 Return age of ITEM.
(fn ITEM)
(defalias 'newsticker--age #[257 "\3008\207" [4] 3 (#$ . 15460)])
(put 'newsticker--age 'byte-optimizer 'byte-compile-inline-expand)
#@43 Return position/index of ITEM.
(fn ITEM)
(defalias 'newsticker--pos #[257 "\3008\207" [5] 3 (#$ . 15631)])
(put 'newsticker--pos 'byte-optimizer 'byte-compile-inline-expand)
#@47 Return pre-formatted text of ITEM.
(fn ITEM)
(defalias 'newsticker--preformatted-contents #[257 "\3008\207" [6] 3 (#$ . 15813)])
(put 'newsticker--preformatted-contents 'byte-optimizer 'byte-compile-inline-expand)
#@48 Return pre-formatted title of ITEM.
(fn ITEM)
(defalias 'newsticker--preformatted-title #[257 "\3008\207" [7] 3 (#$ . 16035)])
(put 'newsticker--preformatted-title 'byte-optimizer 'byte-compile-inline-expand)
#@45 Return extra attributes of ITEM.
(fn ITEM)
(defalias 'newsticker--extra #[257 "\3008\207" [8] 3 (#$ . 16252)])
(put 'newsticker--extra 'byte-optimizer 'byte-compile-inline-expand)
#@50 Return string representation of GUID.
(fn GUID)
(defalias 'newsticker--guid-to-string #[257 "\211;\203 \207\211\211AA\262@\207" [] 3 (#$ . 16440)])
(put 'newsticker--guid-to-string 'byte-optimizer 'byte-compile-inline-expand)
#@33 Return guid of ITEM.
(fn ITEM)
(defalias 'newsticker--guid #[257 "\300\301\3028\262\"\211;\204 \211\211AA\262@\262\207" [assoc guid 8] 6 (#$ . 16675)])
(put 'newsticker--guid 'byte-optimizer 'byte-compile-inline-expand)
#@79 Return enclosure element of ITEM in the form (...FIXME...) or nil.
(fn ITEM)
(defalias 'newsticker--enclosure #[257 "\300\301\3028\262\"\211\205 \211\211A@\262\207" [assoc enclosure 8] 6 (#$ . 16908)])
(put 'newsticker--enclosure 'byte-optimizer 'byte-compile-inline-expand)
#@38 Return real name of FEED.
(fn FEED)
(defalias 'newsticker--real-feed-name #[257 "\3002 \301\302\303!A\"\210\304!0\207" [name mapc #[257 "\211\3008\262\301=\205 \302\303\211@\262\"\207" [4 feed throw name] 5 "\n\n(fn ITEM)"] newsticker--cache-get-feed symbol-name] 5 (#$ . 17195)])
#@256 Start retrieval timer for FEED.
If timer is running already a warning message is printed unless
DO-NOT-COMPLAIN-IF-RUNNING is not nil. Add the started
name/timer pair to `newsticker--retrieval-timer-list'.
(fn FEED &optional DO-NOT-COMPLAIN-IF-RUNNING)
(defalias 'newsticker--start-feed #[513 "@\3028\3038\206\f \304@ \"\211\203 \206Q \305\306\"\202Q \307\310$\210\311X\2030 \312\262\313\314$\262\205Q B\211 \235\203J \202O \211 B\211\262\207" [newsticker-retrieval-interval newsticker--retrieval-timer-list 2 3 assoc message "Timer for %s is running already!" newsticker--debug-msg "Starting timer for %s: %s, %d" 0 nil run-at-time newsticker-get-news] 11 (#$ . 17492)])
#@309 Start the newsticker.
Start the timers for display and retrieval. If the newsticker, i.e. the
timers, are running already a warning message is printed unless
DO-NOT-COMPLAIN-IF-RUNNING is not nil.
Run `newsticker-start-hook' if newsticker was not running already.
(fn &optional DO-NOT-COMPLAIN-IF-RUNNING)
(defalias 'newsticker-start #[256 "\302 \211\204 \303 \210\304 \"\211\203 \211@\305!\210A\266\202\202
\210\211?\205+ \306\307!\210\310\311!\207" [newsticker-url-list-defaults newsticker-url-list newsticker-running-p newsticker--cache-read append newsticker--start-feed run-hooks newsticker-start-hook message "Newsticker started!"] 6 (#$ . 18197) nil])
#@128 Stop retrieval for feed FEED-NAME.
Delete the stopped name/timer pair from `newsticker--retrieval-timer-list'.
(fn FEED-NAME)
(defalias 'newsticker--stop-feed #[257 "\301\"\211\205 \302A!\210\303\"\211\207" [newsticker--retrieval-timer-list assoc cancel-timer delete] 5 (#$ . 18871)])
#@153 Stop the newsticker and the newsticker-ticker.
Cancel the timers for display and retrieval. Run `newsticker-stop-hook'
if newsticker has been running.
(defalias 'newsticker-stop #[0 "\301 \210\302\303!\203\f \303 \210\304 \205. \211\203$ \211@\305@!\210A\266\202\202 \210\306\307\310!\210\311\312!\207" [newsticker--retrieval-timer-list newsticker--cache-save fboundp newsticker-stop-ticker newsticker-running-p newsticker--stop-feed nil run-hooks newsticker-stop-hook message "Newsticker stopped!"] 4 (#$ . 19171) nil])
#@106 Launch retrieval of news from all configured newsticker sites.
This does NOT start the retrieval timers.
(defalias 'newsticker-get-all-news #[0 "\302 \"\211\205 \211@\303@!\210A\266\202\202 \207" [newsticker-url-list-defaults newsticker-url-list append newsticker-get-news] 4 (#$ . 19705) nil])
#@33 Save FEED ITEM.
(fn FEED ITEM)
(defalias 'newsticker-save-item #[514 "\300\301\302\303\304\305\211@\262#\306R\"\307\310!r\211q\210\311\312\313\314\315!\316\"\317$\216\211A@\262c\210\320\321\"*\262\207" [read-string "Filename: " ":_" replace-regexp-in-string " " "_" ".html" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 write-file t] 11 (#$ . 20011) nil])
#@112 Add given URL under given NAME to `newsticker-url-list'.
If URL is nil it is searched at point.
(fn URL NAME)
(defalias 'newsticker-add-url #[514 "\211\301\211\211\257\211\235\203 \210\202 \302C\"\210\303\300!\207" [newsticker-url-list nil append customize-variable] 7 (#$ . 20459) (byte-code "\300\301\212\302\210\303\304`e\305\\V\203 `\305Z\202 e\306#\2058 \307\310`d\311ZW\203, `\311\\\202- d\306#\2058 \312\313\224\313\225\")\"\300\314!D\207" [read-string "URL: " nil re-search-backward "http://" 100 t re-search-forward "http://[-a-zA-Z0-9&/_.]*" 200 buffer-substring-no-properties 0 "Name: "] 7)])
#@42 Open the newsticker customization group.
(defalias 'newsticker-customize #[0 "\300 \210\301\302!\207" [delete-other-windows customize-group "newsticker"] 2 (#$ . 21082) nil])
#@106 Get news for the site FEED-NAME by calling FUNCTION.
See `newsticker-get-news'.
(fn FEED-NAME FUNCTION)
(defalias 'newsticker--get-news-by-funcall #[514 "\300\301Qr\302!q\210\303 \210\304!!\210\305\306\307p%)\207" [" *newsticker-funcall-" "*" get-buffer-create erase-buffer newsticker--insert-bytes newsticker--sentinel-work nil t] 9 (#$ . 21264)])
#@119 Get news for the site FEED-NAME from address URL using `url-retrieve'.
See `newsticker-get-news'.
(fn FEED-NAME URL)
(defalias 'newsticker--get-news-by-url #[514 "\301\3021 \303\304C#0\202 \305\306#\262\210)\307 \207" [coding-system-for-read no-conversion (error) url-retrieve newsticker--get-news-by-url-callback message "Error retrieving news from %s: %s" force-mode-line-update] 7 (#$ . 21627)])
#@210 Callback function for `newsticker--get-news-by-url'.
STATUS is the return status as delivered by `url-retrieve', and
FEED-NAME is the name of the feed that the news were retrieved
from.
(fn STATUS FEED-NAME)
(defalias 'newsticker--get-news-by-url-callback #[514 "\300\301\302Q!\303 q\210\304 \210\305!\210eb\210\306\307\310\311#\210e`|\210\312\310?\206+ @\313=?\314p%\210\205R @A\315=\206P \313=\205P \316\317\320\321!@A%\266\202\207" [get-buffer-create " *newsticker-url-" "*" buffer-string erase-buffer newsticker--insert-bytes search-forward "\n\n" nil t newsticker--sentinel-work :error "url-retrieve" :redirect message "%s: Error while retrieving news from %s: %s: \"%s\"" format-time-string "%A, %H:%M"] 12 (#$ . 22042)])
#@172 Get news for the site FEED-NAME from address URL using wget.
WGET-ARGUMENTS is a list of arguments for wget.
See `newsticker-get-news'.
(fn FEED-NAME URL WGET-ARGUMENTS)
(defalias 'newsticker--get-news-by-wget #[771 "\302\303Qr\304!q\210\305 \210\306!\203 \307\310\"\210\311C\"\312\313%\314\315\211#\210\316\317\"\210\320\321#\210\322! B\323 \266\202)\207" [newsticker-wget-name newsticker--process-ids " *newsticker-wget-" "*" get-buffer-create erase-buffer get-process error "Another wget-process is running for %s" append apply start-process set-process-coding-system no-conversion set-process-sentinel newsticker--sentinel process-put nt-feed-name process-id force-mode-line-update] 11 (#$ . 22793)])
#@222 Get news from the site FEED-NAME and load feed logo.
FEED-NAME must be a string which occurs as the label (i.e. the first element)
in an element of `newsticker-url-list' or `newsticker-url-list-defaults'.
(fn FEED-NAME)
(defalias 'newsticker-get-news #[257 "\304\305\306\307!#\210\310\"\206 \310 \"\206 \311\312\"\211A@AAAA@\206' \n\313!\2034 \314\"\202F \315=\203A \316\"\202F \317#\207" [newsticker-url-list newsticker-url-list-defaults newsticker-wget-arguments newsticker-retrieval-method newsticker--debug-msg "%s: Getting news for %s" format-time-string "%A, %H:%M" assoc error "Cannot get news for %s: Check newsticker-url-list" functionp newsticker--get-news-by-funcall intern newsticker--get-news-by-url newsticker--get-news-by-wget] 8 (#$ . 23525)])
#@198 Sentinel for extracting news titles from an RDF buffer.
Argument PROCESS is the process which has just changed its state.
Argument EVENT tells what has happened to the process.
(fn PROCESS EVENT)
(defalias 'newsticker--sentinel #[514 "\300!\301!\302\303\"\304!\305!\306\307=\205 \310U%\207" [process-status process-exit-status process-get nt-feed-name process-command process-buffer newsticker--sentinel-work exit 0] 13 (#$ . 24310)])
#@419 Actually do the sentinel work.
Argument EVENT tells what has happened to the retrieval process.
Argument STATUS-OK is the final status of the retrieval process,
non-nil meaning retrieval was successful.
Argument FEED-NAME is the name of the retrieved feed.
Argument COMMAND is the command of the retrieval process.
Argument BUFFER is the buffer of the retrieval process.
(fn EVENT STATUS-OK FEED-NAME COMMAND BUFFER)
(defalias 'newsticker--sentinel-work #[1285 "\306 \307!\310\306 \3112\204: \312 \313\314\315\316!
%\317\320\321\322\n&\n\323\324\315\316! #\210\325\311\310\"\210\326rq\210\327\330!\204H \331 \210eb\210\332\333\310\334#\203^ \307\335\336!\227!\262\202t \3371i \340!0\202r \210\323\341\n#\210\310\262\211\203~ \342ed#\210\3431\236 \327\330!\203\226 \344ed\"\210\330ed\310#C\202\232 \345ed\"0\202\255 \323\346\347 A@#\210\325\311\310\"\262)\211@\310\211\350 \320\351$\210\350 \352\353$\210\350 \354\353$\210\3551\277\211@\262\356=\203\370 \357\360\"\206\342 \317\266\202\361\230\203\370 \362!\262\363\f\n#\202\264\211@\262\356=\203\"\357\360\"\206\f\317\266\202\364\230\203\"\365!\262\366\f\n#\202\264\211@\262\367=\2046\211@\262\370=\203E\371!\262\372\f\n#\202\264\211@\262\356=\203o\357\360\"\206Y\317\266\202\373\230\203o\374!\262\375\f\n#\202\264\211@\262\354=\203\235\376\360\"\206\203\317\266\202\377\230\203\235\201D !\262\201E \f\n#\202\264\201F !\262\201G !\262\201H \f\n#\205\273\334\211\2620\202\311\323\201I #\262\210\350 \353\201J $\210\201K \201J #\210\n\204\357\201K \351#\210\202\201L \201M \201N %\201K \201N #\210\350 \351\201M $\210\201O \210\fG\321U\203,\327\201P !\203,\201P \210\306 \203M\201Q \201R !!\210\327\201S !\203M\201S \310!\210@\204Y\201T \n!\210\201U \201A !\205A\205\203y\201V \f\211\201W $\210\211\206\350\201R \307
!!A@\201X 8\262\201Y !\205\346\211\205\346\201Z !B>\204\263\201[ \201\\ \201] D\"\210\211\211\201^ \310I\266\201Z !B>\204\324\201[ \201\\ \201] D\"\210\211\211\201_ \310I\266\201` !\201a P\266\202\262\211\205\201V \f\211\201b \201c !Q\201d $\266\2050\266C\205C \207" [newsticker--cache newsticker--error-headline newsticker-keep-obsolete-items newsticker-obsolete-item-max-age newsticker--process-ids newsticker--latest-update-time current-time intern nil oops newsticker--cache-add format-message "%s: Newsticker could not retrieve news from %s.\nReturn status: `%s'\nCommand was `%s'" format-time-string "%A, %H:%M" "" new 0 ((guid nil "newsticker--download-error")) message "%s: Error while retrieving news from %s" throw utf-8 fboundp libxml-parse-xml-region newsticker--do-xml-workarounds re-search-forward "encoding=['\"]\\([^\"]+?\\)['\"]" t match-string 1 (coding-system-error) check-coding-system "newsticker.el: ignoring coding system %s for %s" decode-coding-region (error) xml-remove-comments xml-parse-region "Could not parse %s: %s" buffer-name newsticker--cache-replace-age obsolete-new old obsolete-old feed (error) rss version xml-get-attribute-or-nil "0.91" newsticker--get-logo-url-rss-0\.91 newsticker--parse-rss-0\.91 "0.92" newsticker--get-logo-url-rss-0\.92 newsticker--parse-rss-0\.92 RDF rdf:RDF newsticker--get-logo-url-rss-1\.0 newsticker--parse-rss-1\.0 "2.0" newsticker--get-logo-url-rss-2\.0 newsticker--parse-rss-2\.0 xmlns "http://purl.org/atom/ns#" newsticker-debug newsticker-download-logos cl-struct-url-tags newsticker--sentinel-callback newsticker--get-logo-url-atom-0\.3 newsticker--parse-atom-0\.3 newsticker--get-logo-url-atom-1\.0 newsticker--get-icon-url-atom-1\.0 newsticker--parse-atom-1\.0 "sentinelerror in %s: %s" deleteme newsticker--cache-remove newsticker--cache-mark-expired obsolete obsolete-expired newsticker--update-process-ids newsticker--ticker-text-setup newsticker--cache-save-feed newsticker--cache-get-feed newsticker--buffer-set-uptodate kill-buffer boundp newsticker--image-get newsticker--images-dir 2 url-generic-parse-url type-of signal wrong-type-argument url 6 7 url-recreate-url "favicon.ico" "." file-name-extension newsticker--icons-dir] 20 (#$ . 24768)])
#@62 Fix all issues which `xml-parse-region' could be choking on.
(defalias 'newsticker--do-xml-workarounds #[0 "eb\210\300\301\302\303#\203 \304\305\302\303#\210\202 eb\210\300\306\302\303#\203% \304\307\302\303#\210eb\210\310\311\302\303#\2039 \304\312\302\303#\210\202( eb\210\300\313\302\303#\203J \304\314\302\303#\210eb\210\310\315\302\303#\203k \316\224\310\317\302\303#\204c \320\321!\210\211`|\266\202M eb\210\300\322\302\303#\203} \304\323!\210\202n eb\210\300\324\302\303#\203\217 \304\325!\210\202\200 \326\302!\207" [re-search-forward ">[
\n]+<" nil t replace-match "><" "" "" "" error "Can't find end of comment" "\\(" "" "\\(<[^>]*\\)=\"\"" "\\1=\" \"" set-buffer-modified-p] 5 (#$ . 28955)])
#@56 Return logo URL from atom 1.0 data in NODE.
(fn NODE)
(defalias 'newsticker--get-logo-url-atom-1\.0 #[257 "\300\301\"@\211AA\262@\207" [xml-get-children logo] 4 (#$ . 29865)])
#@56 Return icon URL from atom 1.0 data in NODE.
(fn NODE)
(defalias 'newsticker--get-icon-url-atom-1\.0 #[257 "\300\301\"@\211AA\262@\207" [xml-get-children icon] 4 (#$ . 30050)])
#@56 Return logo URL from atom 0.3 data in NODE.
(fn NODE)
(defalias 'newsticker--get-logo-url-atom-0\.3 #[257 "\300\211\301\"@\302\"@\211AA\262@\207" [xml-get-children image url] 5 (#$ . 30235)])
#@55 Return logo URL from RSS 2.0 data in NODE.
(fn NODE)
(defalias 'newsticker--get-logo-url-rss-2\.0 #[257 "\300\211\211\301\"@\302\"@\303\"@\211AA\262@\207" [xml-get-children channel image url] 6 (#$ . 30436)])
#@55 Return logo URL from RSS 1.0 data in NODE.
(fn NODE)
(defalias 'newsticker--get-logo-url-rss-1\.0 #[257 "\300\211\301\"@\302\"@\211AA\262@\207" [xml-get-children image url] 5 (#$ . 30654)])
#@56 Return logo URL from RSS 0.92 data in NODE.
(fn NODE)
(defalias 'newsticker--get-logo-url-rss-0\.92 #[257 "\300\211\301\"@\302\"@\211AA\262@\207" [xml-get-children image url] 5 (#$ . 30853)])
#@56 Return logo URL from RSS 0.91 data in NODE.
(fn NODE)
(defalias 'newsticker--get-logo-url-rss-0\.91 #[257 "\300\211\301\"@\302\"@\211AA\262@\207" [xml-get-children image url] 5 (#$ . 31054)])
#@153 Parse Atom 0.3 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in `newsticker--parse-atom-1.0'.
(fn NAME TIME TOPNODE)
(defalias 'newsticker--parse-atom-0\.3 #[771 "\300\301\"\210\302\211\303\304\305\"@\211AA\262@\304\306\"@\211AA\262@\304\307\"@\310\311\"\2061 \312\266\202\211AA\262&\262\313\304\314\"\315\316\317\320\321\322& \262\211\206U \207" [newsticker--debug-msg "Parsing Atom 0.3 feed %s" nil newsticker--parse-generic-feed xml-get-children title content link href xml-get-attribute-or-nil #1="" newsticker--parse-generic-items entry #[257 "\300\301\"@\211AA\262@\207" [xml-get-children title] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\206 \300\302\"@\211AA\262@\207" [xml-get-children content summary] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\302\303\"\206 \304\207" [xml-get-children link href xml-get-attribute-or-nil #1#] 6 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@!\207" [newsticker--decode-rfc822-date xml-get-children modified] 5 "\n\n(fn NODE)"] #[257 "\300\301\211AA\262\"\211;\204 \211\211AA\262@\262\207" [assoc guid] 5 "\n\n(fn NODE)"] #[257 "\211\211AA\207" [] 3 "\n\n(fn NODE)"]] 15 (#$ . 31256)])
#@121 Reverse parsing of an xml string.
Restore an xml-string from a an xml NODE that was returned by xml-parse...
(fn NODE)
(defalias 'newsticker--unxml #[257 "\211\203 \211;\203\n \207\300!\207" [newsticker--unxml-node] 3 (#$ . 32473)])
#@56 Actually restore xml-string of an xml NODE.
(fn NODE)
(defalias 'newsticker--unxml-node #[257 "\300@!A@AA\301\205 \302\303\304\302#\305\303\306\307#\310 \305\260 \207" [symbol-name "<" " " mapconcat newsticker--unxml-attribute ">" newsticker--unxml "" ""] 13 (#$ . 32715)])
#@77 Actually restore xml-string of an ATTRIBUTE of an xml node.
(fn ATTRIBUTE)
(defalias 'newsticker--unxml-attribute #[257 "\300@!A\301\302R\207" [symbol-name "=\"" "\""] 7 (#$ . 33009)])
#@331 Parse Atom 1.0 data.
Argument NAME gives the name of a news feed. TIME gives the
system time at which the data have been retrieved. TOPNODE
contains the feed data as returned by the xml parser.
For the Atom 1.0 specification see
URL `http://www.atompub.org/2005/08/17/draft-ietf-atompub-format-11.html'
(fn NAME TIME TOPNODE)
(defalias 'newsticker--parse-atom-1\.0 #[771 "\300\301\"\210\302\211\303\304\305\"@\211AA\262@\304\306\"@\211AA\262@\307\211AA\262&\262\310\304\311\"\312\313\314\315\316\317& \262\211\206E \207" [newsticker--debug-msg "Parsing Atom 1.0 feed %s" nil newsticker--parse-generic-feed xml-get-children title subtitle #[257 "\300\301\"@\302\303\"\206 \304\207" [xml-get-children link href xml-get-attribute-or-nil #1=""] 6 "\n\n(fn NODE)"] newsticker--parse-generic-items entry #[257 "\300\301\"@\211AA\262@\207" [xml-get-children title] 4 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@!\206+ \300\301\303\"@\211AA\262@!\206+ \301\303\"@\211AA\262@\207" [newsticker--unxml xml-get-children content summary] 5 "\n\n(fn NODE)"] #[257 "\300\301\"@\302\303\"\206 \304\207" [xml-get-children link href xml-get-attribute-or-nil #1#] 6 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@\206 \301\303\"@\211AA\262@!\207" [newsticker--decode-iso8601-date xml-get-children updated published] 5 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children id] 4 "\n\n(fn NODE)"] #[257 "\211\211AA\207" [] 3 "\n\n(fn NODE)"]] 15 (#$ . 33206)])
#@298 Parse RSS 0.91 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in `newsticker--parse-atom-1.0'.
For the RSS 0.91 specification see URL `http://backend.userland.com/rss091'
or URL `http://my.netscape.com/publish/formats/rss-spec-0.91.html'.
(fn NAME TIME TOPNODE)
(defalias 'newsticker--parse-rss-0\.91 #[771 "\300\301\"\210\302\303\"@\304\211\305\302\306\"@\211AA\262@\302\307\"@\211AA\262@\302\310\"@\211AA\262@\211AA\262&\262\311\302\312\"\313\314\315\316\317\320& \262\211\206Y \207" [newsticker--debug-msg "Parsing RSS 0.91 feed %s" xml-get-children channel nil newsticker--parse-generic-feed title description link newsticker--parse-generic-items item #[257 "\300\301\"@\211AA\262@\207" [xml-get-children title] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children description] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children link] 4 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@!\207" [newsticker--decode-rfc822-date xml-get-children pubDate] 5 "\n\n(fn NODE)"] #[257 "\300\207" [nil] 2 "\n\n(fn NODE)"] #[257 "\211\211AA\207" [] 3 "\n\n(fn NODE)"]] 16 (#$ . 34725)])
#@231 Parse RSS 0.92 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in `newsticker--parse-atom-1.0'.
For the RSS 0.92 specification see URL `http://backend.userland.com/rss092'.
(fn NAME TIME TOPNODE)
(defalias 'newsticker--parse-rss-0\.92 #[771 "\300\301\"\210\302\303\"@\304\211\305\302\306\"@\211AA\262@\302\307\"@\211AA\262@\302\310\"@\211AA\262@\211AA\262&\262\311\302\312\"\313\314\315\316\317\320& \262\211\206Y \207" [newsticker--debug-msg "Parsing RSS 0.92 feed %s" xml-get-children channel nil newsticker--parse-generic-feed title description link newsticker--parse-generic-items item #[257 "\300\301\"@\211AA\262@\207" [xml-get-children title] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children description] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children link] 4 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@!\207" [newsticker--decode-rfc822-date xml-get-children pubDate] 5 "\n\n(fn NODE)"] #[257 "\300\207" [nil] 2 "\n\n(fn NODE)"] #[257 "\211\211AA\207" [] 3 "\n\n(fn NODE)"]] 16 (#$ . 35924)])
#@231 Parse RSS 1.0 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in `newsticker--parse-atom-1.0'.
For the RSS 1.0 specification see URL `http://web.resource.org/rss/1.0/spec'.
(fn NAME TIME TOPNODE)
(defalias 'newsticker--parse-rss-1\.0 #[771 "\300\301\"\210\302\303\"@\304\211\305\302\306\"@\211AA\262@\302\307\"@\211AA\262@\206G \302\310\"@\211AA\262@\206G \302\311\"@\211AA\262@\302\312\"@\211AA\262@\211AA\262&\262\313\302\314\"\315\316\317\320\321\322& \262\211\206w \207" [newsticker--debug-msg "Parsing RSS 1.0 feed %s" xml-get-children channel nil newsticker--parse-generic-feed title encoded content:encoded description link newsticker--parse-generic-items item #[257 "\300\301\"@\211AA\262@\207" [xml-get-children title] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children description] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children link] 4 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@\206 \301\303\"@\211AA\262@!\207" [newsticker--decode-iso8601-date xml-get-children dc:date date] 5 "\n\n(fn NODE)"] #[257 "\300\207" [nil] 2 "\n\n(fn NODE)"] #[257 "\211\211AA\207" [] 3 "\n\n(fn NODE)"]] 16 (#$ . 37056)])
#@232 Parse RSS 2.0 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in `newsticker--parse-atom-1.0'.
For the RSS 2.0 specification see URL `http://blogs.law.harvard.edu/tech/rss'.
(fn NAME TIME TOPNODE)
(defalias 'newsticker--parse-rss-2\.0 #[771 "\300\301\"\210\302\303\"@\304\211\305\302\306\"@\211AA\262@\302\307\"@\211AA\262@\206G \302\310\"@\211AA\262@\206G \302\311\"@\211AA\262@\302\312\"@\211AA\262@\211AA\262&\262\313\302\314\"\315\316\317\320\321\322& \262\211\206w \207" [newsticker--debug-msg "Parsing RSS 2.0 feed %s" xml-get-children channel nil newsticker--parse-generic-feed title encoded content:encoded description link newsticker--parse-generic-items item #[257 "\300\301\"@\211AA\262@\207" [xml-get-children title] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\206' \300\302\"@\211AA\262@\206' \300\303\"@\211AA\262@\207" [xml-get-children encoded content:encoded description] 4 "\n\n(fn NODE)"] #[257 "\300\301\"@\211AA\262@\207" [xml-get-children link] 4 "\n\n(fn NODE)"] #[257 "\300\301\302\"@\211AA\262@!\207" [newsticker--decode-rfc822-date xml-get-children pubDate] 5 "\n\n(fn NODE)"] #[257 "\300\301\211AA\262\"\211;\204 \211\211AA\262@\262\207" [assoc guid] 5 "\n\n(fn NODE)"] #[257 "\211\211AA\207" [] 3 "\n\n(fn NODE)"]] 16 (#$ . 38308)])
#@310 Parse generic news feed data.
Argument NAME gives the name of a news feed. TIME gives the
system time at which the data have been retrieved.
The arguments TITLE, DESC, LINK, and EXTRA-ELEMENTS give the feed's title,
description, link, and extra elements resp.
(fn NAME TIME TITLE DESC LINK EXTRA-ELEMENTS)
(defalias 'newsticker--parse-generic-feed #[1542 "\206 \301\206\n \302\303\304\305!\262\305!\262\305!\262\306!\262\306!\262\306!\262\307\310\f!\n\311&\204A \312\262\313\310\f!\n\311
\311&\207" [newsticker--cache "[untitled]" "" 0 nil xml-substitute-numeric-entities newsticker--remove-whitespace newsticker--cache-contains intern feed t newsticker--cache-add] 22 (#$ . 39666)])
#@522 Parse generic news feed data.
Argument NAME gives the name of a news feed. TIME gives the
system time at which the data have been retrieved. ITEMLIST
contains the news items returned by the xml parser.
The arguments TITLE-FN, DESC-FN, LINK-FN, TIME-FN, GUID-FN, and
EXTRA-FN give functions for extracting title, description, link,
time, guid, and extra-elements resp. They are called with one
argument, which is one of the items in ITEMLIST.
(fn NAME TIME ITEMLIST TITLE-FN DESC-FN LINK-FN TIME-FN GUID-FN EXTRA-FN)
(defalias 'newsticker--parse-generic-items #[2313 "\303\304\211\203+\211@T\262 !\206 \305 ! !\206\" \306 !\206+ \262;\2047 \307!\262;\204E \203E \307!\262G\303V\204S G\303V\203\"\310!\262\203a \310!\262\310!\262\311!\262\311!\262\311!\262!\312\313!\304&\262\314\315\304\203\301 \3168\262 \204\254 \211\317>\203\251 \315\262\202\254 \314\262\211\320=\203\265 \320\262\3218\262\262\210\202\307 \322\262\322\262\n!\323\324\"\204\337 \324\304!EB\262\325\313!\n\n\n\n
&\210\211\203 \312\313! \304&\n\203\326\"\210\327\330#\266\266\266A\266\202\202 \210\207" [newsticker--cache newsticker-automatically-mark-items-as-old newsticker-auto-mark-filter-list 0 nil "[untitled]" "" prin1-to-string xml-substitute-numeric-entities newsticker--remove-whitespace newsticker--cache-contains intern new old 4 (obsolete-old old) immortal 3 t assoc guid newsticker--cache-add newsticker--run-auto-mark-filter run-hook-with-args newsticker-new-item-functions] 33 (#$ . 40402)])
#@14
(fn BYTES)
(defalias 'newsticker--insert-bytes #[257 "\300\301\"c\207" [decode-coding-string binary] 4 (#$ . 42007)])
#@66 Remove leading and trailing whitespace from STRING.
(fn STRING)
(defalias 'newsticker--remove-whitespace #[257 "\211\205 \211;\205 \300\301\302\300\303\302##\207" [replace-regexp-in-string "[
\n]+$" "" "^[
\n]+"] 8 (#$ . 42134)])
#@99 Forget pre-formatted data for ITEM.
Remove the pre-formatted from `newsticker--cache'.
(fn ITEM)
(defalias 'newsticker--do-forget-preformatted #[257 "\300\233\203\f \300\233\301\240\210\302\233\205 \302\233\301\240\207" [7 nil 6] 3 (#$ . 42379)])
#@90 Forget all cached pre-formatted data.
Remove the pre-formatted from `newsticker--cache'.
(defalias 'newsticker--forget-preformatted #[0 "\301\302\"\210\303\304!\205 \304\305!\207" [newsticker--cache mapc #[257 "\300\301A\"\207" [mapc newsticker--do-forget-preformatted] 4 "\n\n(fn FEED)"] fboundp newsticker--buffer-set-uptodate nil] 3 (#$ . 42638)])
#@154 Print newsticker debug messages.
This function calls `message' with arguments STRING and ARGS, if
`newsticker-debug' is non-nil.
(fn STRING &rest ARGS)
(defalias 'newsticker--debug-msg #[385 "\205 \301\302#\207" [newsticker-debug apply message] 6 (#$ . 42999)])
#@185 Return ISO8601-STRING in format like `encode-time'.
Converts from ISO-8601 to Emacs representation. If no time zone
is present, this function defaults to universal time.
(fn STRING)
(defalias 'newsticker--decode-iso8601-date #[257 "\211\205 \3001 \301\302\303!\304\"!0\207\210\305\306\"\210\307\207" [(wrong-type-argument) encode-time decoded-time-set-defaults iso8601-parse 0 message "Cannot decode \"%s\"" nil] 5 (#$ . 43273)])
#@267 Convert RFC822-STRING to a Lisp timestamp.
RFC822-STRING should use RFC 822 (or later) format.
Examples:
Sat, 07 September 2002 00:00:01 +0100
Sat, 07 September 2002 00:00:01 MET
Sat, 07 Sep 2002 00:00:01 GMT
07 Sep 2002 00:00:01 GMT
07 Sep 2002
(fn RFC822-STRING)
(defalias 'newsticker--decode-rfc822-date #[257 "\211\205\323 \211;\205\323 \300\301\"\205\323 \302\303\304\"!\303\305\"\306\302\303\307\"!\302\303\310\"\206, \311!\302\303\312\"\2067 \311!\302\303\313 \"\206B \311!\303\314 \"\303\315\n\"\302\303\316\f\"\206W \311!\302\303\317
\"\206b \311!\203\214 \320\230\203{ Z\262Z\262\202\214 \321\230\203\214 \\\262\\\262\3221\304 \323\324\211\203\255 \211@\f\230\203\242 \262\fT\262A\266\202\202\222 \210\325\n\326&\2620\202\321 \327\330@A$\210\331\262\266\213\207" [string-match "\\s-*\\(\\(Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\|Sun\\)\\s-*,?\\)?\\s-*\\([0-9]\\{1,2\\}\\)\\s-+\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\).*?\\s-+\\([0-9]\\{2,4\\}\\)\\(\\s-+\\([0-9]\\{2\\}\\):\\([0-9]\\{2\\}\\)\\(:\\([0-9]\\{2\\}\\)\\)?\\(\\s-+\\(UT\\|GMT\\|EST\\|EDT\\|CST\\|CDT\\|MST\\|MDT\\|PST\\|PDT\\|\\([-+]\\)\\([0-9]\\{2\\}\\)\\([0-9]\\{2\\}\\)\\)\\)?\\)?" read match-string 3 4 0 5 7 "0" 8 10 12 13 14 15 "+" "-" (error) 1 ("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec") encode-time t message "Cannot decode \"%s\": %s %s" nil] 21 (#$ . 43716)])
#@63 Return t if LIST1 and LIST2 share elements.
(fn LIST1 LIST2)
(defalias 'newsticker--lists-intersect-p #[514 "\300\211\203 \211@\211>\203 \301\262A\266\202\202 \210\211\207" [nil t] 7 (#$ . 45179)])
#@122 Update list of ids of active newsticker processes.
Checks list of active processes against list of newsticker processes.
(defalias 'newsticker--update-process-ids #[0 "\301\302 \211\203 \211@\303!\211>\203 \211B\262\210A\266\202\202 \210\304 \207" [newsticker--process-ids nil process-list process-id force-mode-line-update] 6 (#$ . 45392)])
#@47 Return directory where feed images are saved.
(defalias 'newsticker--images-dir #[0 "\301P\207" [newsticker-dir "/images/"] 2 (#$ . 45749)])
#@46 Return directory where feed icons are saved.
(defalias 'newsticker--icons-dir #[0 "\301P\207" [newsticker-dir "/icons/"] 2 (#$ . 45897)])
#@188 Get image for FEED-NAME by returning FILENAME from DIRECTORY.
If the file does no exist or if it is older than 24 hours
download it from URL first.
(fn FEED-NAME FILENAME DIRECTORY URL)
(defalias 'newsticker--image-get #[1028 "P\301!\203% \302\303\304\305!\3068\262\307\"\"\203% \310\311\312\313!#\202C \310\314\312\313!#\210\315=\203= \316$\202C \317$\207" [newsticker-retrieval-method file-exists-p time-less-p nil time-add file-attributes 5 86400 newsticker--debug-msg "%s: Getting image for %s skipped" format-time-string "%A, %H:%M" "%s: Getting image for %s" intern newsticker--image-download-by-url newsticker--image-download-by-wget] 11 (#$ . 46043)])
#@152 Download image for FEED-NAME using external program.
Save image as FILENAME in DIRECTORY, download it from URL.
(fn FEED-NAME FILENAME DIRECTORY URL)
(defalias 'newsticker--image-download-by-wget #[1028 "\304Q\305\306Q\307\"\206 \307 \"\206 \310\311\"\211AAAA@\206' \nr\312!q\210\313 \210\314!\203= \310\315 \"\210\316C\"\317\320%\321\322\211#\210\323\324\"\210\325\326\n#\210\325\327\f#\210\325\330#\266\202)\207" [newsticker-url-list newsticker-url-list-defaults newsticker-wget-arguments newsticker-wget-name "-" " *newsticker-wget-image-" "*" assoc error "Cannot get image for %s: Check newsticker-url-list" get-buffer-create erase-buffer get-process "Another wget-process is running for image %s" append apply start-process set-process-coding-system no-conversion set-process-sentinel newsticker--image-sentinel process-put nt-directory nt-feed-name nt-filename] 15 (#$ . 46730)])
#@76 Sentinel for image-retrieving PROCESS caused by EVENT.
(fn PROCESS EVENT)
(defalias 'newsticker--image-sentinel #[514 "\300!\301!\302\303\"\302\304\"\302\305\"\3062> \307=\203# \310U\2045 \311\312\313\314!#\210\315\"\210\316\306\317\"\210\320\321!#0\207" [process-status process-exit-status process-get nt-feed-name nt-directory nt-filename oops exit 0 message "%s: Error while retrieving image from %s" format-time-string "%A, %H:%M" newsticker--image-remove throw nil newsticker--image-save process-buffer] 11 (#$ . 47657)])
#@106 Save contents of BUFFER in DIRECTORY as FILE-NAME.
Finally kill buffer.
(fn BUFFER DIRECTORY FILE-NAME)
(defalias 'newsticker--image-save #[771 "rq\210P\303\304!\210\305!\204 \306!\210\307\310\304\311\307\211\307\312%\210+\313\307!\210\314!\262)\207" [coding-system-for-write backup-inhibited require-final-newline set-buffer-file-coding-system no-conversion file-directory-p make-directory nil t write-region quiet set-buffer-modified-p kill-buffer] 10 (#$ . 48207)])
#@58 In DIRECTORY remove FILE-NAME.
(fn DIRECTORY FILE-NAME)
(defalias 'newsticker--image-remove #[514 "P\300!\205\f \301!\207" [file-exists-p delete-file] 5 (#$ . 48695)])
#@150 Download image for FEED-NAME using `url-retrieve'.
Save image as FILENAME in DIRECTORY, download it from URL.
(fn FEED-NAME FILENAME DIRECTORY URL)
(defalias 'newsticker--image-download-by-url #[1028 "\301\3021 \303\304E#0\202 \305\306#\262\210)\307 \207" [coding-system-for-read no-conversion (error) url-retrieve newsticker--image-download-by-url-callback message "Error retrieving image from %s: %s" force-mode-line-update] 10 (#$ . 48875)])
#@276 Callback function for `newsticker--image-download-by-url'.
STATUS is the return status as delivered by `url-retrieve'.
FEED-NAME is the name of the feed that the news were retrieved
from.
The image is saved in DIRECTORY as FILENAME.
(fn STATUS FEED-NAME DIRECTORY FILENAME)
(defalias 'newsticker--image-download-by-url-callback #[1028 "?\206 @\300=\211\2057 \301\302\303\304\260!\305 q\210\306 \210\307!\210eb\210\310\311!\210e`|\210\312#\266\202\207" [:redirect get-buffer-create " *newsticker-url-image-" "-" "*" buffer-string erase-buffer newsticker--insert-bytes search-forward "\n\n" newsticker--image-save] 11 (#$ . 49341)])
#@51 Insert IMG with STRING at point.
(fn IMG STRING)
(defalias 'newsticker--insert-image #[514 "\300\"\207" [insert-image] 5 (#$ . 49993)])
#@111 Replacement for `htmlr-render'.
Renders the HTML code in the region POS1 to POS2 using htmlr.
(fn POS1 POS2)
(defalias 'newsticker-htmlr-render #[514 "\300\"|\210\301\302!r\211q\210\303\304\305\306\307!\310\"\311$\216c\210eb\210\312\313!\203* \313 \210\312\314!\203<