Function: icalendar-vtodo-validator
icalendar-vtodo-validator is a byte-compiled function defined in
icalendar-parser.el.gz.
Signature
(icalendar-vtodo-validator NODE)
Documentation
Additional validator for an icalendar-vtodo NODE.
Checks that NODE has conformant icalendar-due,
icalendar-duration, and icalendar-dtstart properties, and calls
icalendar-rrule-validator.
This function is called by icalendar-ast-node-valid-p for
VTODO nodes; it is not normally necessary to call it directly.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/icalendar-parser.el.gz
(defun ical:vtodo-validator (node)
"Additional validator for an `icalendar-vtodo' NODE.
Checks that NODE has conformant `icalendar-due',
`icalendar-duration', and `icalendar-dtstart' properties, and calls
`icalendar-rrule-validator'.
This function is called by `icalendar-ast-node-valid-p' for
VTODO nodes; it is not normally necessary to call it directly."
(let* ((due (ical:ast-node-first-child-of 'ical:due node))
(duration (ical:ast-node-first-child-of 'ical:duration node))
(dtstart (ical:ast-node-first-child-of 'ical:dtstart node)))
(when (and due duration)
(ical:signal-validation-error
(concat "`icalendar-due' and `icalendar-duration' properties "
"must not appear in the same `icalendar-vtodo'")
:node node))
(when (and duration (not dtstart))
(ical:signal-validation-error
(concat "`icalendar-duration' requires `icalendar-dtstart' "
"property in the same `icalendar-vtodo'")
:node node)))
(ical:rrule-validator node)
;; success:
node)