Function: org-bbdb-make-anniv-hash
org-bbdb-make-anniv-hash is a byte-compiled function defined in
ol-bbdb.el.gz.
Signature
(org-bbdb-make-anniv-hash)
Documentation
Create a hash with anniversaries extracted from BBDB, for fast access.
The anniversaries are assumed to be stored org-bbdb-anniversary-field.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ol-bbdb.el.gz
(defun org-bbdb-make-anniv-hash ()
"Create a hash with anniversaries extracted from BBDB, for fast access.
The anniversaries are assumed to be stored `org-bbdb-anniversary-field'."
(let ((old-bbdb (fboundp 'bbdb-record-getprop))
(record-func (if (fboundp 'bbdb-record-xfield)
'bbdb-record-xfield
'bbdb-record-note))
split tmp annivs)
(clrhash org-bbdb-anniv-hash)
(dolist (rec (bbdb-records))
(when (setq annivs (if old-bbdb
(bbdb-record-getprop
rec org-bbdb-anniversary-field)
(funcall record-func
rec org-bbdb-anniversary-field)))
(setq annivs (if old-bbdb
(bbdb-split annivs "\n")
;; parameter order is reversed in new bbdb
(bbdb-split "\n" annivs)))
(while annivs
(setq split (org-bbdb-anniv-split (pop annivs)))
(pcase-let ((`(,m ,d ,y) (funcall org-bbdb-extract-date-fun
(car split))))
(setq tmp (gethash (list m d) org-bbdb-anniv-hash))
(puthash (list m d) (cons (list y
(bbdb-record-name rec)
(cadr split))
tmp)
org-bbdb-anniv-hash))))))
(setq org-bbdb-updated-p nil))