]> git.eshelyaron.com Git - emacs.git/commitdiff
Make a few libraries loadable in isolation
authorGlenn Morris <rgm@gnu.org>
Sat, 11 May 2013 02:25:11 +0000 (19:25 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 11 May 2013 02:25:11 +0000 (19:25 -0700)
* lisp/calc/calc-menu.el: Make it loadable in isolation.

* lisp/gnus/gnus-vm.el: Make it loadable without VM.
(gnus-vm-make-folder, gnus-summary-save-in-vm): Require 'vm.
(vm-forward-message, vm-reply, vm-mail): Remove unused autoloads.

* lisp/net/eudcb-bbdb.el: Make it loadable without bbdb.
(eudc-bbdb-filter-non-matching-record, eudc-bbdb-extract-phones)
(eudc-bbdb-extract-addresses, eudc-bbdb-format-record-as-result)
(eudc-bbdb-query-internal): Require 'bbdb.

lisp/ChangeLog
lisp/calc/calc-menu.el
lisp/gnus/ChangeLog
lisp/gnus/gnus-vm.el
lisp/net/eudcb-bbdb.el

index fa835d5c6a9ee8cd3169e33b61bda38b3b0d97ee..9b112313d6056c86760d3dc5e18934ccebbcf6ff 100644 (file)
@@ -1,5 +1,12 @@
 2013-05-11  Glenn Morris  <rgm@gnu.org>
 
+       * calc/calc-menu.el: Make it loadable in isolation.
+
+       * net/eudcb-bbdb.el: Make it loadable without bbdb.
+       (eudc-bbdb-filter-non-matching-record, eudc-bbdb-extract-phones)
+       (eudc-bbdb-extract-addresses, eudc-bbdb-format-record-as-result)
+       (eudc-bbdb-query-internal): Require 'bbdb.
+
        * lpr.el (lpr-headers-switches):
        * emacs-lisp/testcover.el (testcover-compose-functions): Fix :type.
 
index ee98cc98c8fbb0d0eae7f9fadfbd069ecae326da..5120528eaf4869160493b9fd181683f9542714d2 100644 (file)
            (Info-goto-node "Help Commands"))])
   "Menu for Calc's help functions.")
 
-(defvar calc-mode-map)
+;; Needed to make this file loadable in isolation.
+;; Another option would be to use calc-load-hook.
+(require 'calc)
 
 (easy-menu-define
   calc-menu
index ea2bfa784d7926340ab39e56e4c96745e9623557..fba0cd8fea7638ffb7d27dae117d1a69789e1f12 100644 (file)
@@ -1,3 +1,9 @@
+2013-05-11  Glenn Morris  <rgm@gnu.org>
+
+       * gnus-vm.el: Make it loadable without VM.
+       (gnus-vm-make-folder, gnus-summary-save-in-vm): Require 'vm.
+       (vm-forward-message, vm-reply, vm-mail): Remove unused autoloads.
+
 2013-05-09  Glenn Morris  <rgm@gnu.org>
 
        * mml1991.el: Make it loadable.  (Bug#13456)
index fa39bae176370ad1372ded740c3d1ad8aeca5e18..55f99653cc417bceef21254805530c46c505fb61 100644 (file)
 (require 'gnus-msg)
 
 (eval-when-compile
-  (require 'cl)
-  (autoload 'vm-mode "vm")
-  (autoload 'vm-save-message "vm")
-  (autoload 'vm-forward-message "vm")
-  (autoload 'vm-reply "vm")
-  (autoload 'vm-mail "vm"))
+  (require 'cl))
+
+(autoload 'vm-mode "vm")
+(autoload 'vm-save-message "vm")
 
 (defvar gnus-vm-inhibit-window-system nil
   "Inhibit loading `win-vm' if using a window-system.
@@ -51,10 +49,8 @@ Has to be set before gnus-vm is loaded.")
     (when window-system
       (require 'win-vm))))
 
-(when (not (featurep 'vm))
-  (load "vm"))
-
 (defun gnus-vm-make-folder (&optional buffer)
+  (require 'vm)
   (let ((article (or buffer (current-buffer)))
        (tmp-folder (generate-new-buffer " *tmp-folder*"))
        (start (point-min))
@@ -87,6 +83,7 @@ save those articles instead."
 
 (defun gnus-summary-save-in-vm (&optional folder)
   (interactive)
+  (require 'vm)
   (setq folder
        (gnus-read-save-file-name
         "Save %s in VM folder:" folder
index 9f6dba703b1d4488db9b4997013e4c6d2a6a9be4..d9d2aa5fe85e11f631a2b99eb3d62dc4f7700d22 100644 (file)
 ;;; Code:
 
 (require 'eudc)
-(if (not (featurep 'bbdb))
-    (load-library "bbdb"))
-(if (not (featurep 'bbdb-com))
-    (load-library "bbdb-com"))
+
+;; Make it loadable on systems without bbdb.
+(require 'bbdb nil t)
+(require 'bbdb-com nil t)
 
 ;;{{{      Internal cooking
 
@@ -71,6 +71,7 @@
 
 (defun eudc-bbdb-filter-non-matching-record (record)
   "Return RECORD if it matches `eudc-bbdb-current-query', nil otherwise."
+  (require 'bbdb)
   (catch 'unmatch
     (progn
       (dolist (condition eudc-bbdb-current-query)
                   (&optional dont-check-disk already-in-db-buffer))
 
 (defun eudc-bbdb-extract-phones (record)
+  (require 'bbdb)
   (mapcar (function
           (lambda (phone)
             (if eudc-bbdb-use-locations-as-attribute-names
          (bbdb-record-phones record)))
 
 (defun eudc-bbdb-extract-addresses (record)
+  (require 'bbdb)
   (let (s c val)
     (mapcar (lambda (address)
               (setq c (bbdb-address-streets address))
 (defun eudc-bbdb-format-record-as-result (record)
   "Format the BBDB RECORD as a EUDC query result record.
 The record is filtered according to `eudc-bbdb-current-return-attributes'"
+  (require 'bbdb)
   (let ((attrs (or eudc-bbdb-current-return-attributes
                   '(firstname lastname aka company phones addresses net notes)))
        attr
@@ -188,7 +192,7 @@ QUERY is a list of cons cells (ATTR . VALUE) where ATTRs should be valid
 BBDB attribute names.
 RETURN-ATTRS is a list of attributes to return, defaulting to
 `eudc-default-return-attributes'."
-
+  (require 'bbdb)
   (let ((eudc-bbdb-current-query query)
        (eudc-bbdb-current-return-attributes return-attrs)
        (query-attrs (eudc-bbdb-format-query query))