Function: icalendar--decoded-date-time-p
icalendar--decoded-date-time-p is a byte-compiled function defined in
icalendar-parser.el.gz.
Signature
(icalendar--decoded-date-time-p VAL)
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/icalendar-parser.el.gz
;;;; 3.3.5 Date-Time
(defun ical:-decoded-date-time-p (val)
(and (listp val)
(length= val 9)
(cl-typep (decoded-time-second val) 'ical:numeric-second)
(cl-typep (decoded-time-minute val) 'ical:numeric-minute)
(cl-typep (decoded-time-hour val) 'ical:numeric-hour)
(cl-typep (decoded-time-day val) 'ical:numeric-monthday)
(cl-typep (decoded-time-month val) 'ical:numeric-month)
(cl-typep (decoded-time-year val) 'ical:numeric-year)
(calendar-date-is-valid-p (list (decoded-time-month val)
(decoded-time-day val)
(decoded-time-year val)))
;; FIXME: the weekday slot value should be automatically
;; calculated from month, day, and year, like:
;; (calendar-day-of-week (list month day year))
;; Although `ical:read-date-time' does this correctly,
;; `make-decoded-time' does not. Thus we can't use
;; `make-decoded-time' to construct valid `ical:date-time'
;; values unless this check is turned off,
;; which means it's annoying to write tests and anything
;; that uses cl-typecase to dispatch on values created by
;; `make-decoded-time':
;; (cl-typep (decoded-time-weekday val) '(integer 0 6))
(cl-typep (decoded-time-dst val) '(member t nil -1))
(cl-typep (decoded-time-zone val) '(or integer boolean))))