Function: icalendar--get-children
icalendar--get-children is a byte-compiled function defined in
icalendar.el.gz.
Signature
(icalendar--get-children NODE NAME)
Documentation
Return all children of the given NODE which have a name NAME.
For instance the VCALENDAR node can have VEVENT children as well as VTODO children.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/icalendar.el.gz
;; (defun icalendar--set-event-property (event prop new-value)
;; "For the given EVENT set the property PROP to the value NEW-VALUE."
;; (catch 'found
;; (let ((props (car (cddr event))) pp)
;; (while props
;; (setq pp (car props))
;; (when (eq (car pp) prop)
;; (setcdr (cdr pp) new-value)
;; (throw 'found (car (cddr pp))))
;; (setq props (cdr props)))
;; (setq props (car (cddr event)))
;; (setcar (cddr event)
;; (append props (list (list prop nil new-value)))))))
(defun icalendar--get-children (node name)
"Return all children of the given NODE which have a name NAME.
For instance the VCALENDAR node can have VEVENT children as well as VTODO
children."
(let ((result nil)
(children (cadr (cddr node))))
(when (eq (car node) name)
(setq result node))
;;(message "%s" node)
(when children
(let ((subresult
(delq nil
(mapcar (lambda (n)
(icalendar--get-children n name))
children))))
(if subresult
(if result
(setq result (append result subresult))
(setq result subresult)))))
result))