Function: icalendar-with-component
icalendar-with-component is a function alias for
icalendar-with-node-children, defined in icalendar-macs.el.gz.
Signature
(icalendar-with-component ARG1 ARG2 &rest REST)
Documentation
Execute BODY with properties of NODE bound as in BINDINGS.
NODE should be an iCalendar syntax node representing an iCalendar
component: icalendar-vevent, icalendar-vtodo, icalendar-vjournal,
icalendar-vtimezone, icalendar-vfreebusy, icalendar-standard,
icalendar-daylight. It may also be an entire icalendar-vcalendar.
Each binding in BINDINGS should be a list of one of the following forms:
(TYPE VAR)
TYPE should be a type symbol for an iCalendar property or component
which can be a child of COMPONENT. The first child node of TYPE, if
any, will be bound to VAR in BODY.
(TYPE KEY1 VAR1 ...)
For each KEY present, the corresponding VAR will be bound as follows:
:all - a list of all child nodes of TYPE. If this keyword is present,
none of the others are allowed.
:default - the default value, if any, for TYPE
:first - the first child node of TYPE
:value-node - the value (which is itself a node) of the node in :first
:value-type - the type of the node in :value-node.
:value - the value of the node in :value-node.
If TYPE expects a list of values, you should use the following keywords
instead of the previous three:
:value-nodes - the values (which are themselves nodes) of the node in :first
:value-types - a list of the types of the nodes in :value-nodes.
:values - a list of the values of the node in :value-node.
It is a compile-time error to use the singular keywords with a TYPE that
takes multiple values, or the plural keywords with a TYPE that does not.
Other relevant functions are documented in the icalendar group.
Shortdoc
;; icalendar
(icalendar-with-component vevent
((icalendar-summary :value summary)
(icalendar-location :value location))
(format "%s @ %s" summary location))
e.g. => "Party @ Robot House"