X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/e495eaec9cfa70e8a392e822dad178bd86f7f9cc..dc3eeeb48af706de824b7b8bae62dc868d26637e:/lisp/mh-e/mh-inc.el diff --git a/lisp/mh-e/mh-inc.el b/lisp/mh-e/mh-inc.el index c9a9c6cb6b..e35dfc5783 100644 --- a/lisp/mh-e/mh-inc.el +++ b/lisp/mh-e/mh-inc.el @@ -1,6 +1,6 @@ -;;; mh-inc.el --- MH-E `inc' and separate mail spool handling -;; -;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. +;;; mh-inc.el --- MH-E "inc" and separate mail spool handling + +;; Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. ;; Author: Peter S. Galbraith ;; Maintainer: Bill Wohler @@ -21,36 +21,47 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: -;; Support for inc. In addition to reading from the system mailbox, inc can -;; also be used to incorporate mail from multiple spool files into separate -;; folders. See `C-h v mh-inc-spool-list'. +;; Support for inc. In addition to reading from the system mailbox, +;; inc can also be used to incorporate mail from multiple spool files +;; into separate folders. See "C-h v mh-inc-spool-list". ;;; Change Log: ;;; Code: -(eval-when-compile (require 'mh-acros)) +(require 'mh-e) (mh-require-cl) -(defvar mh-inc-spool-map (make-sparse-keymap) - "Keymap for MH-E's mh-inc-spool commands.") - (defvar mh-inc-spool-map-help nil - "Help text to for `mh-inc-spool-map'.") + "Help text for `mh-inc-spool-map'.") (define-key mh-inc-spool-map "?" '(lambda () (interactive) (if mh-inc-spool-map-help - (let ((mh-help-messages (list (list nil mh-inc-spool-map-help)))) - (mh-help)) + (mh-help mh-inc-spool-map-help) (mh-ephem-message - "There are no keys defined yet. Customize `mh-inc-spool-list'")))) + "There are no keys defined yet; customize `mh-inc-spool-list'")))) + +;;;###mh-autoload +(defun mh-inc-spool-make () + "Make all commands and defines keys for contents of `mh-inc-spool-list'." + (setq mh-inc-spool-map-help nil) + (when mh-inc-spool-list + (loop for elem in mh-inc-spool-list + do (let ((spool (nth 0 elem)) + (folder (nth 1 elem)) + (key (nth 2 elem))) + (progn + (mh-inc-spool-generator folder spool) + (mh-inc-spool-def-key key folder)))))) + +(defalias 'mh-inc-spool-make-no-autoload 'mh-inc-spool-make) (defun mh-inc-spool-generator (folder spool) "Create a command to inc into FOLDER from SPOOL file." @@ -60,7 +71,7 @@ (set spool1 spool) (setf (symbol-function (intern (concat "mh-inc-spool-" folder))) `(lambda () - ,(format "Inc spool file %s into folder %s" spool folder) + ,(format "Inc spool file %s into folder %s." spool folder) (interactive) (mh-inc-folder ,spool1 (concat "+" ,folder1)))))) @@ -69,39 +80,16 @@ (when (not (= 0 key)) (define-key mh-inc-spool-map (format "%c" key) (intern (concat "mh-inc-spool-" folder))) - (setq mh-inc-spool-map-help (concat mh-inc-spool-map-help "[" - (char-to-string key) - "] inc " folder " folder\n")))) - -;; Avoid compiler warning -(defvar mh-inc-spool-list) - -(defun mh-inc-spool-make () - "Make all commands and defines keys for contents of `mh-inc-spool-list'." - (when mh-inc-spool-list - (setq mh-inc-spool-map-help nil) - (loop for elem in mh-inc-spool-list - do (let ((spool (nth 0 elem)) - (folder (nth 1 elem)) - (key (nth 2 elem))) - (progn - (mh-inc-spool-generator folder spool) - (mh-inc-spool-def-key key folder)))))) - -;;;###mh-autoload -(defun mh-inc-spool-list-set (symbol value) - "Set-default SYMBOL to VALUE to update the `mh-inc-spool-list' variable. -Also rebuilds the user commands. -This is called after 'customize is used to alter `mh-inc-spool-list'." - (set-default symbol value) - (mh-inc-spool-make)) + (add-to-list 'mh-inc-spool-map-help + (concat "[" (char-to-string key) "] inc " folder " folder\n") + t))) (provide 'mh-inc) -;;; Local Variables: -;;; indent-tabs-mode: nil -;;; sentence-end-double-space: nil -;;; End: +;; Local Variables: +;; indent-tabs-mode: nil +;; sentence-end-double-space: nil +;; End: -;;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835 +;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835 ;;; mh-inc.el ends here