Function: icalendar-recur--tz-info-sexp-p

icalendar-recur--tz-info-sexp-p is a byte-compiled function defined in icalendar-recur.el.gz.

Signature

(icalendar-recur--tz-info-sexp-p _ SEXP)

Documentation

Validate that SEXP gives time zone info like from calendar-current-time-zone.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/icalendar-recur.el.gz
(defun icr:-tz-info-sexp-p (_ sexp)
  "Validate that SEXP gives time zone info like from `calendar-current-time-zone'."
  (and (listp sexp)
       (length= sexp 8)
       (let ((utc-diff (nth 0 sexp))
             (dst-offset (nth 1 sexp))
             (std-zone (nth 2 sexp))
             (dst-zone (nth 3 sexp))
             (dst-starts (nth 4 sexp))
             (dst-ends (nth 5 sexp))
             (dst-starts-time (nth 6 sexp))
             (dst-ends-time (nth 7 sexp)))
         (and
          (integerp utc-diff) (< (abs utc-diff) (* 60 24))
          (integerp dst-offset) (< (abs utc-diff) (* 60 24))
          (stringp std-zone)
          (stringp dst-zone)
          (or (and (listp dst-starts) (memq 'year (flatten-list dst-starts)))
              (and (null dst-starts) (equal std-zone dst-zone)))
          (or (and (listp dst-ends) (memq 'year (flatten-list dst-ends)))
              (and (null dst-ends) (equal std-zone dst-zone)))
          (or (and (integerp dst-starts-time) (< (abs dst-starts-time) (* 60 24)))
              (null dst-starts-time))
          (or (and (integerp dst-ends-time) (< (abs dst-ends-time) (* 60 24)))
              (null dst-ends-time))))))