diff options
Diffstat (limited to 'lisp/org/org-bbdb.el')
-rw-r--r-- | lisp/org/org-bbdb.el | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lisp/org/org-bbdb.el b/lisp/org/org-bbdb.el index a45a26f0fe8..c4893850199 100644 --- a/lisp/org/org-bbdb.el +++ b/lisp/org/org-bbdb.el @@ -1,6 +1,6 @@ ;;; org-bbdb.el --- Support for links to BBDB entries from within Org-mode -;; Copyright (C) 2004-2013 Free Software Foundation, Inc. +;; Copyright (C) 2004-2015 Free Software Foundation, Inc. ;; Authors: Carsten Dominik <carsten at orgmode dot org> ;; Thomas Baumann <thomas dot baumann at ch dot tum dot de> @@ -37,7 +37,7 @@ ;; the diary using bbdb-anniv.el. ;; ;; Put the following in /somewhere/at/home/diary.org and make sure -;; that this file is in `org-agenda-files` +;; that this file is in `org-agenda-files'. ;; ;; %%(org-bbdb-anniversaries) ;; @@ -116,8 +116,10 @@ (declare-function bbdb-search-name "ext:bbdb-com" (regexp &optional layout)) (declare-function bbdb-search-organization "ext:bbdb-com" (regexp &optional layout)) -;; `bbdb-record-note' is part of BBDB v3.x +;; `bbdb-record-note' was part of BBDB v3.x (declare-function bbdb-record-note "ext:bbdb" (record label)) +;; `bbdb-record-xfield' replaces it in recent BBDB v3.x+ +(declare-function bbdb-record-xfield "ext:bbdb" (record label)) (declare-function calendar-leap-year-p "calendar" (year)) (declare-function diary-ordinal-suffix "diary-lib" (n)) @@ -306,14 +308,17 @@ The hash table is created on first use.") "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) - (bbdb-record-note - 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 @@ -395,8 +400,11 @@ This is used by Org to re-create the anniversary hash table." (defun org-bbdb-complete-link () "Read a bbdb link with name completion." (require 'bbdb-com) - (concat "bbdb:" - (bbdb-record-name (car (bbdb-completing-read-record "Name: "))))) + (let ((rec (bbdb-completing-read-record "Name: "))) + (concat "bbdb:" + (bbdb-record-name (if (listp rec) + (car rec) + rec))))) (defun org-bbdb-anniv-export-ical () "Extract anniversaries from BBDB and convert them to icalendar format." |