HOME


sh-3ll 1.0
DIR:/usr/share/emacs/26.1/lisp/calendar/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/calendar/parse-time.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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.

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


(require 'cl-lib)
#@13 

(fn CHAR)
(defalias 'parse-time-string-chars #[257 "\300X\203\211\301X\203\300\207\302X\203\211\303X\203\302\207\211\304=\203$\305\207\211\306=\203,\307\207\211\310=\2053\311\207" [97 122 48 57 43 1 45 -1 58 100] 3 (#$ . 426)])
(put 'parse-time-string-chars 'byte-optimizer 'byte-compile-inline-expand)
#@158 Tokenize STRING into substrings.
Each substring is a run of "valid" characters, i.e., lowercase
letters, digits, plus or minus signs or colons.

(fn STRING)
(defalias 'parse-time-tokenize #[257 "\300G\300\211\301\300W\203\372W\203iH\302X\203)\211\303X\203)\302\262\202\\\304X\203;\211\305X\203;\304\262\202\\\211\306=\203G\307\262\202\\\211\310=\203S\311\262\202\\\211\312=\205Z\313\262\211\262\204iT\262\202
\262\211\304=\262T\211\262W\203\326H\302X\203\221\211\303X\203\221\302\262\202\304\304X\203\243\211\305X\203\243\304\262\202\304\211\306=\203\257\307\262\202\304\211\310=\203\273\311\262\202\304\211\312=\205\302\313\262\211\262\203\326\205\321\211\304=\262\202qX\203\203\355\314\315\316%\202\363OB\262\202\237\207" [nil 0 97 122 48 57 43 1 45 -1 58 100 cl-parse-integer :start :end] 13 (#$ . 751)])
(defvar parse-time-months '(("jan" . 1) ("feb" . 2) ("mar" . 3) ("apr" . 4) ("may" . 5) ("jun" . 6) ("jul" . 7) ("aug" . 8) ("sep" . 9) ("oct" . 10) ("nov" . 11) ("dec" . 12) ("january" . 1) ("february" . 2) ("march" . 3) ("april" . 4) ("june" . 6) ("july" . 7) ("august" . 8) ("september" . 9) ("october" . 10) ("november" . 11) ("december" . 12)))
(defvar parse-time-weekdays '(("sun" . 0) ("mon" . 1) ("tue" . 2) ("wed" . 3) ("thu" . 4) ("fri" . 5) ("sat" . 6) ("sunday" . 0) ("monday" . 1) ("tuesday" . 2) ("wednesday" . 3) ("thursday" . 4) ("friday" . 5) ("saturday" . 6)))
#@48 (zoneinfo seconds-off daylight-savings-time-p)
(defvar parse-time-zoneinfo (byte-code "\300\301\302\303\304D\305\306\307BB\310\306D\311\312\313BB\314\312D\315\316\317BB\320\316D\321\322\323BB\257\207" [("z" 0) ("ut" 0) ("gmt" 0) "pst" -28800 "pdt" -25200 (t) "mst" "mdt" -21600 (t) "cst" "cdt" -18000 (t) "est" "edt" -14400 (t)] 13) (#$ . 2234))
#@32 (slots predicate extractor...)
(defvar parse-time-rules (byte-code "\301\302\303\304\305DD\306\307\310BB\311\312\313\314F\315\316\317E\320\321\322BB\323\324\325\326\327\257\330\331\332\333\334\257\335\336\337BB\340\341\342E\343\344\345E\257
\207" [most-positive-fixnum ((6) parse-time-weekdays) ((3) (1 31)) ((4) parse-time-months) (5) 100 (2 1 0) #[0 ";\205G\301U\205\302H\303U\205\304H\303U\207" [parse-time-elt 8 2 58 5] 2] ([0 2] [3 5] [6 8]) (8 7) parse-time-zoneinfo #[0 "@\207" [parse-time-val] 1] #[0 "A@\207" [parse-time-val] 1] (8) #[0 ";\205G\301U\205\302H\303U\206\302H\304U\207" [parse-time-elt 5 0 43 45] 2] #[0 "\301\302\303\304\305\306%\302\303\307\305\304%\310_\\\311H\312U\203\313\202\307\310#\207" [parse-time-elt * cl-parse-integer :start 3 :end 5 1 60 0 45 -1] 8] (5 4 3) #[0 ";\205G\301U\205\302H\303U\205\304H\303U\207" [parse-time-elt 10 4 45 7] 2] ([0 4] [5 7] [8 10]) (2 1 0) #[0 ";\205G\301U\205\302H\303U\207" [parse-time-elt 5 2 58] 2] [0 2] [3 5] #[0 "\300\207" [0] 1] (2 1 0) #[0 ";\205G\301U\205\302H\303U\207" [parse-time-elt 4 1 58] 2] [0 1] [2 4] #[0 "\300\207" [0] 1] (2 1 0) #[0 ";\205G\301U\205\302H\303U\207" [parse-time-elt 7 1 58] 2] ([0 1] [2 4] [5 7]) (5) (50 110) #[0 "\301\\\207" [parse-time-elt 1900] 2] (5) (0 49) #[0 "\301\\\207" [parse-time-elt 2000] 2]] 15) (#$ . 2587))
#@448 Parse the time-string STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
STRING should be on something resembling an RFC2822 string, a la
"Fri, 25 Mar 2016 16:24:56 +0100", but this function is
somewhat liberal in what format it accepts, and will attempt to
return a "likely" value even for somewhat malformed strings.
The values returned are identical to those of `decode-time', but
any values that are unknown are returned as nil.

(fn STRING)
(defalias 'parse-time-string #[257 "\303\211\211\211\211\211\211\211\211\257	\304\227!\211\203\303\211A\262\242\303\203\275\211\204\275\211A\262\242\211A\262\242\211A\262\242\303@8\204\267\211:\203e\211@\305=\204e	\247\205u\211@	X\205u	A@X\205u	\202u\2119\203s\306	J\"A\202u\211 \211\203\267\307\262\203\267\203\246\211A\262\242\310!\203\237\311	\312\313H\314\315H%\202\241\211 \262\202\247\n\211A\262\242	\233\240\266\202})\266\202)\266\202\207" [parse-time-rules parse-time-elt parse-time-val nil parse-time-tokenize lambda assoc t vectorp cl-parse-integer :start 0 :end 1] 17 (#$ . 3980)])
#@206 List of regular expressions matching ISO 8601 dates.
1st regular expression matches the date.
2nd regular expression matches the time.
3rd regular expression matches the (optional) timezone specification.
(defconst parse-time-iso8601-regexp (byte-code "\300\301\302\303\211\211\211\211\304\305\301\306\260
\260
	\n\260\307P\310P\311\312QE\207" ["-?" ":?" "\\([0-9][0-9][0-9][0-9]\\)" "\\([0-9][0-9]\\)" "\\(\\.[0-9]+\\)?" "\\([-+]\\)" "?" "^" "T" "\\(Z\\|" "\\)"] 19) (#$ . 5087))
#@156 Parse an ISO 8601 time string, such as 2016-12-01T23:35:06-05:00.
If DATE-STRING cannot be parsed, it falls back to
`parse-time-string'.

(fn DATE-STRING)
(defalias 'parse-iso8601-time-string #[257 "@A@\3018\302\211\211\211\211\211\211\211\211\211\211\303
#\203\277\304\305\306\"!\262\304\305\301\"!\262\304\305\307\"!\262\310\225\262\303

#\203\277\304\305\306\"!\262\304\305\301\"!\262\304\305\307\"!\262	\310\225\262\303\f
#\203\251\305\306\"\311\230\203\202\310\262\202\251\304\305\307\"!\312_\304\305\313\"\206\225\314!\315_\\\262\305\301\"\316\230\203\251\211[\262\257	\262\n	\204\312\317!\262\n	\205\324\320\321\"\207" [parse-time-iso8601-regexp 2 nil string-match string-to-number match-string 1 3 0 "Z" 3600 4 "0" 60 "-" parse-time-string apply encode-time] 24 (#$ . 5601)])
(provide 'parse-time)