From ddf9925e265791840feafd7093ae3947fe68ebb3 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 6 May 2013 00:14:03 -0700 Subject: [PATCH] * net/eudc-export.el: Make it loadable without bbdb. (top-level): Use require rather than load-library. (eudc-create-bbdb-record, eudc-bbdbify-phone) (eudc-batch-export-records-to-bbdb) (eudc-insert-record-at-point-into-bbdb, eudc-try-bbdb-insert): Require bbdb. --- lisp/ChangeLog | 9 +++++++++ lisp/net/eudc-export.el | 16 +++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 18364654539..f688e192acc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2013-05-06 Glenn Morris + + * net/eudc-export.el: Make it loadable without bbdb. + (top-level): Use require rather than load-library. + (eudc-create-bbdb-record, eudc-bbdbify-phone) + (eudc-batch-export-records-to-bbdb) + (eudc-insert-record-at-point-into-bbdb, eudc-try-bbdb-insert): + Require bbdb. + 2013-05-06 Stefan Monnier * progmodes/octave.el (octave-texinfo-font-lock-keywords): Remove. diff --git a/lisp/net/eudc-export.el b/lisp/net/eudc-export.el index b43a8c631e3..8e52a4df4ed 100644 --- a/lisp/net/eudc-export.el +++ b/lisp/net/eudc-export.el @@ -31,16 +31,16 @@ (require 'eudc) -(if (not (featurep 'bbdb)) - (load-library "bbdb")) -(if (not (featurep 'bbdb-com)) - (load-library "bbdb-com")) +;; NOERROR is so we can compile it. +(require 'bbdb nil t) +(require 'bbdb-com nil t) (defun eudc-create-bbdb-record (record &optional silent) "Create a BBDB record using the RECORD alist. RECORD is an alist of (KEY . VALUE) where KEY is a directory attribute name symbol and VALUE is the corresponding value for the record. If SILENT is non-nil then the created BBDB record is not displayed." + (require 'bbdb) ;; This function runs in a special context where lisp symbols corresponding ;; to field names in record are bound to the corresponding values (eval @@ -166,6 +166,7 @@ LOCATION is used as the address location for bbdb." PHONE is either a string supposedly containing a phone number or a list of such strings which are concatenated. LOCATION is used as the phone location for BBDB." + (require 'bbdb) (cond ((stringp phone) (let (phone-list) @@ -188,6 +189,7 @@ LOCATION is used as the phone location for BBDB." (defun eudc-batch-export-records-to-bbdb () "Insert all the records returned by a directory query into BBDB." (interactive) + (require 'bbdb) (goto-char (point-min)) (let ((nbrec 0) record) @@ -203,6 +205,7 @@ LOCATION is used as the phone location for BBDB." "Insert record at point into the BBDB database. This function can only be called from a directory query result buffer." (interactive) + (require 'bbdb) (let ((record (and (overlays-at (point)) (overlay-get (car (overlays-at (point))) 'eudc-record)))) (if (null record) @@ -213,9 +216,8 @@ This function can only be called from a directory query result buffer." (defun eudc-try-bbdb-insert () "Call `eudc-insert-record-at-point-into-bbdb' if on a record." (interactive) - (and (or (featurep 'bbdb) - (prog1 (locate-library "bbdb") (message ""))) - (overlays-at (point)) + (require 'bbdb) + (and (overlays-at (point)) (overlay-get (car (overlays-at (point))) 'eudc-record) (eudc-insert-record-at-point-into-bbdb))) -- 2.39.2