Function: icalendar-vcalendar-component-p
icalendar-vcalendar-component-p is a byte-compiled function defined in
icalendar-parser.el.gz.
Signature
(icalendar-vcalendar-component-p NODE)
Documentation
Return non-nil if NODE represents a VCALENDAR component.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/icalendar-parser.el.gz
;; Technically VCALENDAR is not a "component", but for the
;; purposes of parsing and syntax highlighting, it looks just like
;; one, so we define it as such here.
;; (If this becomes a problem, modify `ical:component-node-p'
;; to return nil for VCALENDAR components.)
(ical:define-component ical:vcalendar "VCALENDAR"
"Calendar Object.
This is the top-level data structure defined by RFC5545. A
VCALENDAR must contain the calendar properties `icalendar-prodid'
and `icalendar-version', and may contain the calendar properties
`icalendar-method' and `icalendar-calscale'.
It must also contain at least one VEVENT, VTODO, VJOURNAL,
VFREEBUSY, or other component, and for every unique
`icalendar-tzidparam' value appearing in a property within these
components, the calendar object must contain an
`icalendar-vtimezone' defining a time zone with that TZID."
:child-spec (:one (ical:prodid ical:version)
:zero-or-one (ical:calscale ical:method)
:zero-or-more (ical:other-property
ical:vevent
ical:vtodo
ical:vjournal
ical:vfreebusy
ical:vtimezone
ical:other-component))
:other-validator ical:vcalendar-validator
:link "https://www.rfc-editor.org/rfc/rfc5545#section-3.4")