Function: math-parse-date-validate
math-parse-date-validate is a byte-compiled function defined in
calc-forms.el.gz.
Signature
(math-parse-date-validate YEAR BIGYEAR MONTH DAY HOUR MINUTE SECOND)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-forms.el.gz
(defun math-parse-date-validate (year bigyear month day hour minute second)
(and (not bigyear) (natnump year) (< year 100)
(setq year (+ year (if (< year 40) 2000 1900))))
(if (eq year 0)
(throw 'syntax "Year value is out of range"))
(if (or (< month 1) (> month 12))
(throw 'syntax "Month value is out of range"))
(if (or (< day 1) (> day (math-days-in-month year month)))
(throw 'syntax "Day value is out of range"))
(and hour
(progn
(if (or (< hour 0)
(> hour 24)
(and (= hour 24)
(not (= minute 0))
(not (eq second 0))))
(throw 'syntax "Hour value is out of range"))
(if (or (< minute 0) (> minute 59))
(throw 'syntax "Minute value is out of range"))
(if (or (math-negp second) (not (Math-lessp second 60)))
(throw 'syntax "Seconds value is out of range"))))
(list 'date (math-dt-to-date (append (list year month day)
(and hour (list hour minute second))))))