;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\"\210\303\306\305\"\207" [require cl-lib w3m-util autoload timezone-parse-date "timezone" timezone-parse-time] 3) #@1386 Decode DATE string written in the ISO 8601 format or the RFC822 style. Return a list of numbers which conforms to the Emacs internal format. Valid types in the ISO 8601 format include: Year: YYYY (eg 1997) Year and month: YYYY-MM (eg 1997-07) Complete date: YYYY-MM-DD (eg 1997-07-16) Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00) Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) Complete date plus hours, minutes, seconds and a decimal fraction of a second YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00) where: YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) s = one or more digits representing a decimal fraction of a second TZD = time zone designator (Z or +hh:mm or -hh:mm) For more detail about ISO 8601 date format, see . In addition to the above, it also supports the date format in the RFC822 style which RSS 2.0 allows. Valid types are the same as ones which are supported by the `timezone-parse-date' function (which see). (defalias 'w3m-rss-parse-date-string #[(date) "\204\305\207\306\307\"\203G\310!\311 \312H!\305\n\313Y\205E\314 \315H!\316\311 \317H!\311 \320H!\311 \312H!\311 \317H!\311 \320H!\n \321H&+\207\306\322\"\205\211\323\316\f\324\312\"\f\325\312\"\f\321\312\"\f\315\320\"\f\317\320\"\f\320\312\"\326\224\203\205\327\330\326\"!\312\331\f\332\312\"_\333\f\334\312\"_#\202\206\312&)\207" [date vector year time #1=#:--cl-substr-- nil string-match " [0-9]+ " timezone-parse-date string-to-number 0 1970 timezone-parse-time 3 encode-time 2 1 4 "\\([0-9][0-9][0-9][0-9]\\)\\(?:-\\([0-9][0-9]\\)\\)?\\(?:-\\([0-9][0-9]\\)\\)?T?\\(?:\\([0-9][0-9]\\):\\([0-9][0-9]\\)\\(?::\\([.0-9]+\\)\\)?\\)?\\(?:\\([-+]\\)\\([0-9][0-9]\\):?\\([0-9][0-9]\\)\\|Z\\)?" #[(n default) "\224\203\f\303\304 \"!\207\n\207" [n date default string-to-number match-string-no-properties] 4] 6 5 7 intern match-string-no-properties 3600 8 60 9] 14 (#$ . 254)]) #@84 Find the all matching elements in the data. Careful with this on large documents! (defalias 'w3m-rss-find-el #[(tag data) "\305 <\203L \305\211\203K @\211\242\203D\f\n@\232\203#\nC\244\306\f\nAA@\242<\203>\nAA@;\204>\nAA@\202A\nAA\"\244 A\211\204*)\207" [found data bit --dolist-tail-- tag nil w3m-rss-find-el] 5 (#$ . 2586)]) #@260 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. See http://feeds.archive.org/validator/docs/howto/declare_namespaces.html for more RSS namespaces. (defalias 'w3m-rss-get-namespace-prefix #[(el uri) "\305 @A@\"@\211\205\306\307\n!\310\"\211G\311=\203\312\202) G\313=\205) A@\211\203:\f\312\232\204:\f\310P\202;\f+\207" [uri el prefix nslist ns rassoc split-string symbol-name ":" 1 "" 2] 4 (#$ . 2940)]) (provide 'w3m-rss)