Function: icalendar--get-children
icalendar--get-children is a byte-compiled function defined in
icalendar.el.gz.
This function is obsolete since 31.1; use
icalendar-ast-node-children instead.
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."
(declare (obsolete icalendar-ast-node-children "31.1"))
(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))