%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/calendar/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/calendar/iso8601.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 "\300\301!\210\300\302!\207" [require time-date cl-lib] 2)
#@16 

(fn REGEXPS)
(defalias 'iso8601--concat-regexps #[257 "\300\301\302#\207" [mapconcat #[257 "\300\301\302\303#\304Q\207" ["\\(?:" replace-regexp-in-string "(" "(?:" "\\)"] 6 "\n\n(fn REGEXP)"] "\\|"] 5 (#$ . 478)])
(defconst iso8601--year-match "\\([+-]?[0-9][0-9][0-9][0-9]\\)")
(defconst iso8601--full-date-match "\\([+-]?[0-9][0-9][0-9][0-9]\\)-?\\([0-9][0-9]\\)-?\\([0-9][0-9]\\)")
(defconst iso8601--without-day-match "\\([+-]?[0-9][0-9][0-9][0-9]\\)-\\([0-9][0-9]\\)")
(defconst iso8601--outdated-date-match "--\\([0-9][0-9]\\)-?\\([0-9][0-9]\\)")
(defconst iso8601--week-date-match "\\([+-]?[0-9][0-9][0-9][0-9]\\)-?W\\([0-9][0-9]\\)-?\\([0-9]\\)?")
(defconst iso8601--ordinal-date-match "\\([+-]?[0-9][0-9][0-9][0-9]\\)-?\\([0-9][0-9][0-9]\\)")
(defconst iso8601--date-match (byte-code "\306	\n\f
\257!\207" [iso8601--year-match iso8601--full-date-match iso8601--without-day-match iso8601--outdated-date-match iso8601--week-date-match iso8601--ordinal-date-match iso8601--concat-regexps] 7))
(defconst iso8601--time-match "\\([0-9][0-9]\\):?\\([0-9][0-9]\\)?:?\\([0-9][0-9]\\)?[.,]?\\([0-9]*\\)")
(defconst iso8601--zone-match "\\(Z\\|\\([+-]\\)\\([0-9][0-9]\\):?\\([0-9][0-9]\\)?\\)")
(defconst iso8601--full-time-match (byte-code "\302\303\304\305#\306	\307\260\207" [iso8601--time-match iso8601--zone-match "\\(" replace-regexp-in-string "(" "(?:" "\\)\\(" "\\)?"] 5))
(defconst iso8601--combined-match (byte-code "\303\304\305\306\307	#\310\n\311\260\207" [iso8601--date-match iso8601--time-match iso8601--zone-match "\\(" "\\)\\(?:T\\(" replace-regexp-in-string "(" "(?:" "\\)\\(" "\\)?\\)?"] 7))
(defconst iso8601--duration-full-match "P\\([0-9]+Y\\)?\\([0-9]+M\\)?\\([0-9]+D\\)?\\(T\\([0-9]+H\\)?\\([0-9]+M\\)?\\([0-9]+S\\)?\\)?")
(defconst iso8601--duration-week-match "P\\([0-9]+\\)W")
(defconst iso8601--duration-combined-match (concat "P" iso8601--combined-match))
(defconst iso8601--duration-match (byte-code "\303	\nE!\207" [iso8601--duration-full-match iso8601--duration-week-match iso8601--duration-combined-match iso8601--concat-regexps] 4))
#@358 Parse an ISO 8601 date/time string and return a `decode-time' structure.

The ISO 8601 date/time strings look like "2008-03-02T13:47:30",
but shorter, incomplete strings like "2008-03-02" are valid, as
well as variants like "2008W32" (week number) and
"2008-234" (ordinal day number).

See `decode-time' for the meaning of FORM.

(fn STRING &optional FORM)
(defalias 'iso8601-parse #[513 "\300!\204\301\302\"\207\303\304\"\303\305\"\303\306\"\307!\203=\310\"AA\211\3058\240\266A\211A@\240\266\211@\240\266\203M\311\233\211\312!\313_\240\266\207" [iso8601-valid-p signal wrong-type-argument match-string 1 2 3 iso8601-parse-date iso8601-parse-time 8 iso8601-parse-zone 60] 11 (#$ . 2562)])
#@82 Parse STRING (in ISO 8601 format) and return a `decode-time' value.

(fn STRING)
(defalias 'iso8601-parse-date #[257 "\306\"\203\307\310\311!\"\207\306	\"\203,\307\310\311\312\313\"!\314\312\315\"\316\312\317\"&\207\306\n\"\203@\307\310\311!\314\312\315\"$\207\306\"\203U\307\314\312\313\"\316\312\315\"$\207\306\f\"\203\367\311!\311\312\315\"!\312\317\"\205r\311\312\317\"!\320\321\307\310\314\313\316\322&!!\3238\262\211\324U\203\217\325\202\220\211\317\\\326\325_\206\233\324[#\211\313W\203\273S\262\211\327!\203\264\330\202\265\331\\\262\202\340\211\327!\203\307\330\202\310\331V\203\340\211\327!\203\330\330\202\331\331Z\262T\262\332\"\307\310\314\3228\316\3178&\262\207\306
\"\203\311\312\313\"!\311\312\315\"!\332\"\307\310\314\3228\316\3178&\207\333\334\"\207" [iso8601--year-match iso8601--full-date-match iso8601--without-day-match iso8601--outdated-date-match iso8601--week-date-match iso8601--ordinal-date-match iso8601--match iso8601--decoded-time :year string-to-number match-string 1 :month 2 :day 3 decode-time iso8601--encode-time 4 6 0 7 + date-leap-year-p 366 365 date-ordinal-to-time signal wrong-type-argument] 16 (#$ . 3284)])
#@236 Parse STRING, which should be an ISO 8601 time string.
The return value will be a `decode-time' structure with just the
hour/minute/seconds/zone fields filled in.

See `decode-time' for the meaning of FORM.

(fn STRING &optional FORM)
(defalias 'iso8601-parse-time #[513 "\302\"\204\f\303\304\"\207\305\306\"\305\307\"\302	\"\204\"\303\304\"\202\267\310\305\306\"!\305\307\"\2055\310\305\307\"!\305\311\"\205C\310\305\311\"!\305\312\"G\313U?\205V\310\305\312\"!\211\203\226\314=\203\226\203\315\316\317\"!T\320\317\"_\\\320\317\"B\262\210\202\226\203\214\321\322\"\262\202\226\203\226\321\322\"\262\323\324\325\206\240\313\326\206\247\313\327\f\205\263\322\330!_&\266\204\207" [iso8601--full-time-match iso8601--time-match iso8601--match signal wrong-type-argument match-string 1 2 string-to-number 3 4 0 t truncate log 10 expt iso8601--decimalize 60 iso8601--decoded-time :hour :minute :second :zone iso8601-parse-zone] 19 (#$ . 4526)])
#@22 

(fn FRACTION BASE)
(defalias 'iso8601--decimalize #[514 "\300\301!\302\303\304\305\303\"!T\"\245_!\207" [round float expt 10 truncate log] 11 (#$ . 5528)])
#@97 Parse STRING, which should be an ISO 8601 time zone.
Return the number of minutes.

(fn STRING)
(defalias 'iso8601-parse-zone #[257 "\301\"\204\f\302\303\"\207\304\305\"\203?\306\304\307\"!\304\310\"\205&\306\304\310\"!\304\305\"\311\232\2033\312\2024\313\314_\206<\315\\_\207\315\207" [iso8601--zone-match iso8601--match signal wrong-type-argument match-string 2 string-to-number 3 4 "-" -1 1 60 0] 6 (#$ . 5696)])
#@69 Say whether STRING is a valid ISO 8601 representation.

(fn STRING)
(defalias 'iso8601-valid-p #[257 "\301\"\207" [iso8601--combined-match iso8601--match] 4 (#$ . 6134)])
#@69 Parse ISO 8601 durations on the form P3Y6M4DT12H30M5S.

(fn STRING)
(defalias 'iso8601-parse-duration #[257 "\303\"\203P\304\305\"G\306V\203P\307\310\304\311\"\206\305\312\304\306\"\206%\305\313\304\314\"\206/\305\315\304\316\n\"\2069\305\317\304\320\f\"\206C\305\321\304\322\"\206M\305&\f\207\303	\"\203d\323\304\311\"!\307\313\322_\"\207\303\n\"\203r\324\325\311\"!\207\326\327\"\207" [iso8601--duration-full-match iso8601--duration-week-match iso8601--duration-combined-match iso8601--match match-string 0 2 iso8601--decoded-time :year 1 :month :day 3 :hour 5 :minute 6 :second 7 string-to-number iso8601-parse substring signal wrong-type-argument] 16 (#$ . 6313)])
#@40 Parse ISO 8601 intervals.

(fn STRING)
(defalias 'iso8601-parse-interval #[257 "\300\301\"\302\211\211G\303U\204\304\305\"\210\202|\306\307@\"\2037\310A@!\2037\311@!\262\312A@!\262\202|\306\307A@\"\203W\310@!\203W\311A@!\262\312@!\262\202|\310@!\203v\310A@!\203v\312@!\262\312A@!\262\202|\304\305\"\210\204\206\313\"\262\204\223\313\314\315\"\"\262\206\256\316\317\320!\320!\"\3218\206\254\322\323#E\207" [split-string "/" nil 2 signal wrong-type-argument string-match "\\`P" iso8601-valid-p iso8601-parse-duration iso8601-parse decoded-time-add mapcar #[257 "\211\247\203\211[\207\207" [] 2 "\n\n(fn ELEM)"] decode-time time-subtract iso8601--encode-time 8 0 integer] 12 (#$ . 7017)])
#@22 

(fn REGEXP STRING)
(defalias 'iso8601--match #[514 "\300\301\302Q\"\207" [string-match "\\`" "\\'"] 6 (#$ . 7768)])
#@31 

(fn ELEM &optional DEFAULT)
(defalias 'iso8601--value #[513 ";\203	\300!\207\206\211\207" [string-to-number] 4 (#$ . 7894)])
#@56 

(fn &key SECOND MINUTE HOUR DAY MONTH YEAR DST ZONE)
(defalias 'iso8601--decoded-time #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\300\310\"A@\211\203`\211@\311>\203H\211AA\262\2025\312\n>A@\203W\313\262\2025\314\315@\"\210\2025\210\316!\316!\316!\316!\316!\316!\313\257	\207" [plist-member :second :minute :hour :day :month :year :dst :zone (:second :minute :hour :day :month :year :dst :zone :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:second :minute :hour :day :month :year :dst :zone)" iso8601--value] 18 (#$ . 8033)])
#@64 Like `encode-time', but fill in nil values in TIME.

(fn TIME)
(defalias 'iso8601--encode-time #[257 "\300\301\302!!!\207" [encode-time decoded-time-set-defaults copy-sequence] 5 (#$ . 8687)])
(provide 'iso8601)

Zerion Mini Shell 1.0