changeset 70061:b3ab71ac7f4e

* mh-acros.el (mh-defun-compat): Rename to defun-mh in order that variables and functions with the same name are found correctly by find-func (invoked by clicking on the filename link in the *Help* buffer. (mh-defmacro-compat): Rename to defmacro-mh. Ditto. * mh-e.el: (mh-defgroup): Rename to defgroup-mh. Ditto. (mh-defcustom): Rename to defcustom-mh. Ditto. (mh-defface): Rename to defface-mh. Ditto. (mh-font-lock-add-keywords): Make changes according to these renamings. * mh-e.el, mh-compat.el, mh-gnus.el: Use the new names (closes SF #1472029).
author Bill Wohler <wohler@newt.com>
date Tue, 18 Apr 2006 00:55:43 +0000
parents f59d014a5333
children e4338fe2e331
files lisp/mh-e/ChangeLog lisp/mh-e/mh-acros.el lisp/mh-e/mh-compat.el lisp/mh-e/mh-e.el lisp/mh-e/mh-gnus.el
diffstat 5 files changed, 211 insertions(+), 197 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mh-e/ChangeLog	Tue Apr 18 00:03:18 2006 +0000
+++ b/lisp/mh-e/ChangeLog	Tue Apr 18 00:55:43 2006 +0000
@@ -1,5 +1,19 @@
 2006-04-17  Bill Wohler  <wohler@newt.com>
 
+	* mh-acros.el (mh-defun-compat): Rename to defun-mh in order that
+	variables and functions with the same name are found correctly by
+	find-func (invoked by clicking on the filename link in the *Help*
+	buffer).
+	(mh-defmacro-compat): Rename to defmacro-mh. Ditto.
+	* mh-e.el: (mh-defgroup): Rename to defgroup-mh. Ditto.
+	(mh-defcustom): Rename to defcustom-mh. Ditto.
+	(mh-defface): Rename to defface-mh. Ditto.
+	(mh-font-lock-add-keywords): Make changes according to these
+	renamings.
+
+	* mh-e.el, mh-compat.el, mh-gnus.el: Use the new names (closes SF
+	#1472029).
+
 	* mh-utils.el (mh-sub-folders-actual): Mention that folder must
 	have been processed by mh-normalize-folder-name.
 	(mh-folder-completion-function): Handle completion of folders with
--- a/lisp/mh-e/mh-acros.el	Tue Apr 18 00:03:18 2006 +0000
+++ b/lisp/mh-e/mh-acros.el	Tue Apr 18 00:55:43 2006 +0000
@@ -82,7 +82,7 @@
        (funcall ',function ,@args))))
 
 ;;;###mh-autoload
-(defmacro mh-defun-compat (name function arg-list &rest body)
+(defmacro defun-mh (name function arg-list &rest body)
   "Create function NAME.
 If FUNCTION exists, then NAME becomes an alias for FUNCTION.
 Otherwise, create function NAME with ARG-LIST and BODY."
@@ -90,10 +90,10 @@
     (if defined-p
         `(defalias ',name ',function)
       `(defun ,name ,arg-list ,@body))))
-(put 'mh-defun-compat 'lisp-indent-function 'defun)
+(put 'defun-mh 'lisp-indent-function 'defun)
 
 ;;;###mh-autoload
-(defmacro mh-defmacro-compat (name macro arg-list &rest body)
+(defmacro defmacro-mh (name macro arg-list &rest body)
   "Create macro NAME.
 If MACRO exists, then NAME becomes an alias for MACRO.
 Otherwise, create macro NAME with ARG-LIST and BODY."
@@ -101,7 +101,7 @@
     (if defined-p
         `(defalias ',name ',macro)
       `(defmacro ,name ,arg-list ,@body))))
-(put 'mh-defmacro-compat 'lisp-indent-function 'defun)
+(put 'defmacro-mh 'lisp-indent-function 'defun)
 
 
 
--- a/lisp/mh-e/mh-compat.el	Tue Apr 18 00:03:18 2006 +0000
+++ b/lisp/mh-e/mh-compat.el	Tue Apr 18 00:55:43 2006 +0000
@@ -62,7 +62,7 @@
             (load filename noerror t)
           (load (format "%s" feature) noerror t)))))
 
-(mh-defun-compat mh-assoc-string assoc-string (key list case-fold)
+(defun-mh mh-assoc-string assoc-string (key list case-fold)
   "Like `assoc' but specifically for strings.
 Case is ignored if CASE-FOLD is non-nil.
 This function is used by Emacs versions that lack `assoc-string',
@@ -77,7 +77,7 @@
       'cancel-timer
     'delete-itimer))
 
-(mh-defun-compat mh-display-color-cells display-color-cells (&optional display)
+(defun-mh mh-display-color-cells display-color-cells (&optional display)
   "Return the number of color cells supported by DISPLAY.
 This function is used by XEmacs to return 2 when
 `device-color-cells' returns nil. This happens when compiling or
@@ -115,12 +115,12 @@
       `(face-background ,face ,frame)
     `(face-background ,face ,frame ,inherit)))
 
-(mh-defun-compat mh-font-lock-add-keywords font-lock-add-keywords
+(defun-mh mh-font-lock-add-keywords font-lock-add-keywords
   (mode keywords &optional how)
   "XEmacs does not have `font-lock-add-keywords'.
 This function returns nil on that system.")
 
-(mh-defun-compat mh-image-load-path-for-library
+(defun-mh mh-image-load-path-for-library
   image-load-path-for-library (library image &optional path no-error)
   "Return a suitable search path for images used by LIBRARY.
 
@@ -215,7 +215,7 @@
     (nconc (list image-directory)
            (delete image-directory (copy-sequence (or path load-path))))))
 
-(mh-defun-compat mh-image-search-load-path
+(defun-mh mh-image-search-load-path
   image-search-load-path (file &optional path)
   "Emacs 21 and XEmacs don't have `image-search-load-path'.
 This function returns nil on those systems."
@@ -234,13 +234,13 @@
     'point-at-eol))
 
 (mh-require 'mailabbrev nil t)
-(mh-defun-compat mh-mail-abbrev-make-syntax-table
+(defun-mh mh-mail-abbrev-make-syntax-table
   mail-abbrev-make-syntax-table ()
   "Emacs 21 and XEmacs don't have `mail-abbrev-make-syntax-table'.
 This function returns nil on those systems."
   nil)
 
-(mh-defun-compat mh-match-string-no-properties
+(defun-mh mh-match-string-no-properties
   match-string-no-properties (num &optional string)
   "Return string of text matched by last search, without text properties.
 This function is used by XEmacs that lacks `match-string-no-properties'.
@@ -249,7 +249,7 @@
   (buffer-substring-no-properties
    (match-beginning num) (match-end num)))
 
-(mh-defun-compat mh-replace-regexp-in-string replace-regexp-in-string
+(defun-mh mh-replace-regexp-in-string replace-regexp-in-string
   (regexp rep string &optional fixedcase literal subexp start)
   "Replace REGEXP with REP everywhere in STRING and return result.
 This function is used by XEmacs that lacks `replace-regexp-in-string'.
@@ -269,7 +269,7 @@
       "A list of characters that are _NOT_ reserved in the URL spec.
 This is taken from RFC 2396."))
 
-(mh-defun-compat mh-url-hexify-string url-hexify-string (str)
+(defun-mh mh-url-hexify-string url-hexify-string (str)
   "Escape characters in a string.
 This is a copy of `url-hexify-string' from url-util.el in Emacs
 22; needed by Emacs 21."
@@ -283,7 +283,7 @@
        (char-to-string char)))
    str ""))
 
-(mh-defun-compat mh-view-mode-enter
+(defun-mh mh-view-mode-enter
   view-mode-enter (&optional return-to exit-action)
   "Enter View mode.
 This function is used by XEmacs that lacks `view-mode-enter'.
--- a/lisp/mh-e/mh-e.el	Tue Apr 18 00:03:18 2006 +0000
+++ b/lisp/mh-e/mh-e.el	Tue Apr 18 00:55:43 2006 +0000
@@ -114,11 +114,11 @@
  (eval-when-compile
    `((,(concat "(\\("
                ;; Function declarations (use font-lock-function-name-face).
-               "\\(mh-def\\(un\\|macro\\)-compat\\)\\|"
+               "\\(def\\(un\\|macro\\)-mh\\)\\|"
                ;; Variable declarations (use font-lock-variable-name-face).
-               "\\(mh-def\\(custom\\|face\\)\\)\\|"
+               "\\(def\\(custom\\|face\\)-mh\\)\\|"
                ;; Group declarations (use font-lock-type-face).
-               "\\(mh-defgroup\\)"
+               "\\(defgroup-mh\\)"
                "\\)\\>"
                ;; Any whitespace and defined object.
                "[ \t'\(]*"
@@ -684,7 +684,7 @@
                       (t t))
              collect keyword))))
 
-(defmacro mh-defgroup (symbol members doc &rest args)
+(defmacro defgroup-mh (symbol members doc &rest args)
   "Declare SYMBOL as a customization group containing MEMBERS.
 See documentation for `defgroup' for a description of the arguments
 SYMBOL, MEMBERS, DOC and ARGS.
@@ -692,9 +692,9 @@
 keyword, introduced in Emacs 22."
   (declare (doc-string 3))
   `(defgroup ,symbol ,members ,doc ,@(mh-strip-package-version args)))
-(put 'mh-defgroup 'lisp-indent-function 'defun)
-
-(defmacro mh-defcustom (symbol value doc &rest args)
+(put 'defgroup-mh 'lisp-indent-function 'defun)
+
+(defmacro defcustom-mh (symbol value doc &rest args)
   "Declare SYMBOL as a customizable variable that defaults to VALUE.
 See documentation for `defcustom' for a description of the arguments
 SYMBOL, VALUE, DOC and ARGS.
@@ -702,9 +702,9 @@
 keyword, introduced in Emacs 22."
   (declare (doc-string 3))
   `(defcustom ,symbol ,value ,doc ,@(mh-strip-package-version args)))
-(put 'mh-defcustom 'lisp-indent-function 'defun)
-
-(defmacro mh-defface (face spec doc &rest args)
+(put 'defcustom-mh 'lisp-indent-function 'defun)
+
+(defmacro defface-mh (face spec doc &rest args)
   "Declare FACE as a customizable face that defaults to SPEC.
 See documentation for `defface' for a description of the arguments
 FACE, SPEC, DOC and ARGS.
@@ -712,13 +712,13 @@
 keyword, introduced in Emacs 22."
   (declare (doc-string 3))
   `(defface ,face ,spec ,doc ,@(mh-strip-package-version args)))
-(put 'mh-defface 'lisp-indent-function 'defun)
+(put 'defface-mh 'lisp-indent-function 'defun)
 
 
 
 ;;; Variant Support
 
-(mh-defcustom mh-path nil
+(defcustom-mh mh-path nil
   "*Additional list of directories to search for MH.
 See `mh-variant'."
   :group 'mh-e
@@ -932,7 +932,7 @@
                (mapconcat '(lambda (x) (format "%s" (car x)))
                           (mh-variants) " or "))))))
 
-(mh-defcustom mh-variant 'autodetect
+(defcustom-mh mh-variant 'autodetect
   "*Specifies the variant used by MH-E.
 
 The default setting of this option is \"Auto-detect\" which means
@@ -1017,7 +1017,7 @@
 
 ;;; MH-E Customization Groups
 
-(mh-defgroup mh-e nil
+(defgroup-mh mh-e nil
   "Emacs interface to the MH mail system.
 MH is the Rand Mail Handler. Other implementations include nmh
 and GNU mailutils."
@@ -1025,126 +1025,126 @@
   :group 'mail
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-alias nil
+(defgroup-mh mh-alias nil
   "Aliases."
   :link '(custom-manual "(mh-e)Aliases")
   :prefix "mh-alias-"
   :group 'mh-e
   :package-version '(MH-E . "7.1"))
 
-(mh-defgroup mh-folder nil
+(defgroup-mh mh-folder nil
   "Organizing your mail with folders."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Folders")
   :group 'mh-e
   :package-version '(MH-E . "7.1"))
 
-(mh-defgroup mh-folder-selection nil
+(defgroup-mh mh-folder-selection nil
   "Folder selection."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Folder Selection")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-identity nil
+(defgroup-mh mh-identity nil
   "Identities."
   :link '(custom-manual "(mh-e)Identities")
   :prefix "mh-identity-"
   :group 'mh-e
   :package-version '(MH-E . "7.1"))
 
-(mh-defgroup mh-inc nil
+(defgroup-mh mh-inc nil
   "Incorporating your mail."
   :prefix "mh-inc-"
   :link '(custom-manual "(mh-e)Incorporating Mail")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-junk nil
+(defgroup-mh mh-junk nil
   "Dealing with junk mail."
   :link '(custom-manual "(mh-e)Junk")
   :prefix "mh-junk-"
   :group 'mh-e
   :package-version '(MH-E . "7.3"))
 
-(mh-defgroup mh-letter nil
+(defgroup-mh mh-letter nil
   "Editing a draft."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Editing Drafts")
   :group 'mh-e
   :package-version '(MH-E . "7.1"))
 
-(mh-defgroup mh-ranges nil
+(defgroup-mh mh-ranges nil
   "Ranges."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Ranges")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-scan-line-formats nil
+(defgroup-mh mh-scan-line-formats nil
   "Scan line formats."
   :link '(custom-manual "(mh-e)Scan Line Formats")
   :prefix "mh-"
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-search nil
+(defgroup-mh mh-search nil
   "Searching."
   :link '(custom-manual "(mh-e)Searching")
   :prefix "mh-search-"
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-sending-mail nil
+(defgroup-mh mh-sending-mail nil
   "Sending mail."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Sending Mail")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-sequences nil
+(defgroup-mh mh-sequences nil
   "Sequences."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Sequences")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-show nil
+(defgroup-mh mh-show nil
   "Reading your mail."
   :prefix "mh-"
   :link '(custom-manual "(mh-e)Reading Mail")
   :group 'mh-e
   :package-version '(MH-E . "7.1"))
 
-(mh-defgroup mh-speedbar nil
+(defgroup-mh mh-speedbar nil
   "The speedbar."
   :prefix "mh-speed-"
   :link '(custom-manual "(mh-e)Speedbar")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-thread nil
+(defgroup-mh mh-thread nil
   "Threading."
   :prefix "mh-thread-"
   :link '(custom-manual "(mh-e)Threading")
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-tool-bar nil
+(defgroup-mh mh-tool-bar nil
   "The tool bar"
   :link '(custom-manual "(mh-e)Tool Bar")
   :prefix "mh-"
   :group 'mh-e
   :package-version '(MH-E . "8.0"))
 
-(mh-defgroup mh-hooks nil
+(defgroup-mh mh-hooks nil
   "MH-E hooks."
   :link '(custom-manual "(mh-e)Top")
   :prefix "mh-"
   :group 'mh-e
   :package-version '(MH-E . "7.1"))
 
-(mh-defgroup mh-faces nil
+(defgroup-mh mh-faces nil
   "Faces used in MH-E."
   :link '(custom-manual "(mh-e)Top")
   :prefix "mh-"
@@ -1160,7 +1160,7 @@
 
 ;;; Aliases (:group 'mh-alias)
 
-(mh-defcustom mh-alias-completion-ignore-case-flag t
+(defcustom-mh mh-alias-completion-ignore-case-flag t
   "*Non-nil means don't consider case significant in MH alias completion.
 
 As MH ignores case in the aliases, so too does MH-E. However, you
@@ -1171,7 +1171,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-alias-expand-aliases-flag nil
+(defcustom-mh mh-alias-expand-aliases-flag nil
   "*Non-nil means to expand aliases entered in the minibuffer.
 
 In other words, aliases entered in the minibuffer will be
@@ -1181,7 +1181,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-alias-flash-on-comma t
+(defcustom-mh mh-alias-flash-on-comma t
   "*Specify whether to flash address or warn on translation.
 
 This option controls the behavior when a [comma] is pressed while
@@ -1194,7 +1194,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-alias-insert-file nil
+(defcustom-mh mh-alias-insert-file nil
   "*Filename used to store a new MH-E alias.
 
 The default setting of this option is \"Use Aliasfile Profile
@@ -1208,7 +1208,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-alias-insertion-location 'sorted
+(defcustom-mh mh-alias-insertion-location 'sorted
   "Specifies where new aliases are entered in alias files.
 
 This option is set to \"Alphabetical\" by default. If you organize
@@ -1220,7 +1220,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-alias-local-users t
+(defcustom-mh mh-alias-local-users t
   "*If on, local users are added to alias completion.
 
 Aliases are created from \"/etc/passwd\" entries with a user ID
@@ -1241,7 +1241,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-alias-local-users-prefix "local."
+(defcustom-mh mh-alias-local-users-prefix "local."
   "*String prefixed to the real names of users from the password file.
 This option can also be set to \"Use Login\".
 
@@ -1263,7 +1263,7 @@
   :group 'mh-alias
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-alias-passwd-gecos-comma-separator-flag t
+(defcustom-mh mh-alias-passwd-gecos-comma-separator-flag t
   "*Non-nil means the gecos field in the password file uses a comma separator.
 
 In the example in `mh-alias-local-users-prefix', commas are used
@@ -1277,7 +1277,7 @@
 
 ;;; Organizing Your Mail with Folders (:group 'mh-folder)
 
-(mh-defcustom mh-new-messages-folders t
+(defcustom-mh mh-new-messages-folders t
   "Folders searched for the \"unseen\" sequence.
 
 Set this option to \"Inbox\" to search the \"+inbox\" folder or
@@ -1292,7 +1292,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-ticked-messages-folders t
+(defcustom-mh mh-ticked-messages-folders t
   "Folders searched for `mh-tick-seq'.
 
 Set this option to \"Inbox\" to search the \"+inbox\" folder or
@@ -1307,7 +1307,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-large-folder 200
+(defcustom-mh mh-large-folder 200
   "The number of messages that indicates a large folder.
 
 If a folder is deemed to be large, that is the number of messages
@@ -1319,7 +1319,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-recenter-summary-flag nil
+(defcustom-mh mh-recenter-summary-flag nil
   "*Non-nil means to recenter the summary window.
 
 If this option is turned on, recenter the summary window when the
@@ -1328,13 +1328,13 @@
   :group 'mh-folder
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-recursive-folders-flag nil
+(defcustom-mh mh-recursive-folders-flag nil
   "*Non-nil means that commands which operate on folders do so recursively."
   :type 'boolean
   :group 'mh-folder
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-sortm-args nil
+(defcustom-mh mh-sortm-args nil
   "*Additional arguments for \"sortm\"\\<mh-folder-mode-map>.
 
 This option is consulted when a prefix argument is used with
@@ -1348,7 +1348,7 @@
 
 ;;; Folder Selection (:group 'mh-folder-selection)
 
-(mh-defcustom mh-default-folder-for-message-function nil
+(defcustom-mh mh-default-folder-for-message-function nil
   "Function to select a default folder for refiling or \"Fcc:\".
 
 When this function is called, the current buffer contains the message
@@ -1360,7 +1360,7 @@
   :group 'mh-folder-selection
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-default-folder-list nil
+(defcustom-mh mh-default-folder-list nil
   "*List of addresses and folders.
 
 The folder name associated with the first address found in this
@@ -1378,7 +1378,7 @@
   :group 'mh-folder-selection
   :package-version '(MH-E . "7.2"))
 
-(mh-defcustom mh-default-folder-must-exist-flag t
+(defcustom-mh mh-default-folder-must-exist-flag t
   "*Non-nil means guessed folder name must exist to be used.
 
 If the derived folder does not exist, and this option is on, then
@@ -1392,7 +1392,7 @@
   :group 'mh-folder-selection
   :package-version '(MH-E . "7.2"))
 
-(mh-defcustom mh-default-folder-prefix ""
+(defcustom-mh mh-default-folder-prefix ""
   "*Prefix used for folder names generated from aliases.
 The prefix is used to prevent clutter in your mail directory.
 
@@ -1411,7 +1411,7 @@
 Real definition will take effect when mh-identity is loaded."
       nil)))
 
-(mh-defcustom mh-identity-list nil
+(defcustom-mh mh-identity-list nil
   "*List of identities.
 
 To customize this option, click on the \"INS\" button and enter a label
@@ -1480,7 +1480,7 @@
   :group 'mh-identity
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-auto-fields-list nil
+(defcustom-mh mh-auto-fields-list nil
   "List of recipients for which header lines are automatically inserted.
 
 This option can be used to set the identity depending on the
@@ -1541,14 +1541,14 @@
   :group 'mh-identity
   :package-version '(MH-E . "7.3"))
 
-(mh-defcustom mh-auto-fields-prompt-flag t
+(defcustom-mh mh-auto-fields-prompt-flag t
   "*Non-nil means to prompt before sending if fields inserted.
 See `mh-auto-fields-list'."
   :type 'boolean
   :group 'mh-identity
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-identity-default nil
+(defcustom-mh mh-identity-default nil
   "Default identity to use when `mh-letter-mode' is called.
 See `mh-identity-list'."
   :type (append
@@ -1559,7 +1559,7 @@
   :group 'mh-identity
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-identity-handlers
+(defcustom-mh mh-identity-handlers
   '(("From" . mh-identity-handler-top)
     (":default" . mh-identity-handler-bottom)
     (":attribution-verb" . mh-identity-handler-attribution-verb)
@@ -1595,7 +1595,7 @@
 
 ;;; Incorporating Your Mail (:group 'mh-inc)
 
-(mh-defcustom mh-inc-prog "inc"
+(defcustom-mh mh-inc-prog "inc"
   "*Program to incorporate new mail into a folder.
 
 This program generates a one-line summary for each of the new
@@ -1614,7 +1614,7 @@
 Real definition will take effect when mh-inc is loaded."
       nil)))
 
-(mh-defcustom mh-inc-spool-list nil
+(defcustom-mh mh-inc-spool-list nil
   "*Alternate spool files.
 
 You can use the `mh-inc-spool-list' variable to direct MH-E to
@@ -1687,7 +1687,7 @@
                   until (executable-find (symbol-name (car element)))
                   finally return (car element)))))
 
-(mh-defcustom mh-junk-background nil
+(defcustom-mh mh-junk-background nil
   "If on, spam programs are run in background.
 
 By default, the programs are run in the foreground, but this can
@@ -1699,14 +1699,14 @@
   :group 'mh-junk
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-junk-disposition nil
+(defcustom-mh mh-junk-disposition nil
   "Disposition of junk mail."
   :type '(choice (const :tag "Delete Spam" nil)
                  (string :tag "Spam Folder"))
   :group 'mh-junk
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-junk-program nil
+(defcustom-mh mh-junk-program nil
   "Spam program that MH-E should use.
 
 The default setting of this option is \"Auto-detect\" which means
@@ -1724,7 +1724,7 @@
 
 ;;; Editing a Draft (:group 'mh-letter)
 
-(mh-defcustom mh-compose-insertion (if (locate-library "mml") 'mml 'mh)
+(defcustom-mh mh-compose-insertion (if (locate-library "mml") 'mml 'mh)
   "Type of tags used when composing MIME messages.
 
 In addition to MH-style directives, MH-E also supports MML (MIME
@@ -1738,7 +1738,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-compose-skipped-header-fields
+(defcustom-mh mh-compose-skipped-header-fields
   '("From" "Organization" "References" "In-Reply-To"
     "X-Face" "Face" "X-Image-URL" "X-Mailer")
   "List of header fields to skip over when navigating in draft."
@@ -1746,13 +1746,13 @@
   :group 'mh-letter
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-compose-space-does-completion-flag nil
+(defcustom-mh mh-compose-space-does-completion-flag nil
   "*Non-nil means \\<mh-letter-mode-map>\\[mh-letter-complete-or-space] does completion in message header."
   :type 'boolean
   :group 'mh-letter
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-delete-yanked-msg-window-flag nil
+(defcustom-mh mh-delete-yanked-msg-window-flag nil
   "*Non-nil means delete any window displaying the message.
 
 This deletes the window containing the original message after
@@ -1762,7 +1762,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-extract-from-attribution-verb "wrote:"
+(defcustom-mh mh-extract-from-attribution-verb "wrote:"
   "*Verb to use for attribution when a message is yanked by \\<mh-letter-mode-map>\\[mh-yank-cur-msg].
 
 The attribution consists of the sender's name and email address
@@ -1776,7 +1776,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-ins-buf-prefix "> "
+(defcustom-mh mh-ins-buf-prefix "> "
   "*String to put before each line of a yanked or inserted message.
 
 The prefix \"> \" is the default setting of this option. I
@@ -1792,7 +1792,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-letter-complete-function 'ispell-complete-word
+(defcustom-mh mh-letter-complete-function 'ispell-complete-word
   "*Function to call when completing outside of address or folder fields.
 
 In the body of the message,
@@ -1802,7 +1802,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-letter-fill-column 72
+(defcustom-mh mh-letter-fill-column 72
   "*Fill column to use in MH Letter mode.
 
 By default, this option is 72 to allow others to quote your
@@ -1811,7 +1811,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-mml-method-default (if mh-pgp-support-flag "pgpmime" "none")
+(defcustom-mh mh-mml-method-default (if mh-pgp-support-flag "pgpmime" "none")
   "Default method to use in security tags.
 
 This option is used to select between a variety of mail security
@@ -1834,7 +1834,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-signature-file-name "~/.signature"
+(defcustom-mh mh-signature-file-name "~/.signature"
   "*Source of user's signature.
 
 By default, the text of your signature is taken from the file
@@ -1857,7 +1857,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-signature-separator-flag t
+(defcustom-mh mh-signature-separator-flag t
   "*Non-nil means a signature separator should be inserted.
 
 It is not recommended that you change this option since various
@@ -1868,7 +1868,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-x-face-file "~/.face"
+(defcustom-mh mh-x-face-file "~/.face"
   "*File containing face header field to insert in outgoing mail.
 
 If the file starts with either of the strings \"X-Face:\", \"Face:\"
@@ -1897,7 +1897,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-yank-behavior 'attribution
+(defcustom-mh mh-yank-behavior 'attribution
   "*Controls which part of a message is yanked by \\<mh-letter-mode-map>\\[mh-yank-cur-msg].
 
 To include the entire message, including the entire header, use
@@ -1944,7 +1944,7 @@
 
 ;;; Ranges (:group 'mh-ranges)
 
-(mh-defcustom mh-interpret-number-as-range-flag t
+(defcustom-mh mh-interpret-number-as-range-flag t
   "*Non-nil means interpret a number as a range.
 
 Since one of the most frequent ranges used is \"last:N\", MH-E
@@ -1964,7 +1964,7 @@
 Real definition, below, uses variables that aren't defined yet."
       (set-default symbol value))))
 
-(mh-defcustom mh-adaptive-cmd-note-flag t
+(defcustom-mh mh-adaptive-cmd-note-flag t
   "*Non-nil means that the message number width is determined dynamically.
 
 If you've created your own format to handle long message numbers,
@@ -1993,7 +1993,7 @@
              "unless you use \"Use MH-E scan Format\"")
     (set-default symbol value)))
 
-(mh-defcustom mh-scan-format-file t
+(defcustom-mh mh-scan-format-file t
   "Specifies the format file to pass to the scan program.
 
 The default setting for this option is \"Use MH-E scan Format\". This
@@ -2032,7 +2032,7 @@
              "is set to \"Use MH-E scan Format\"")
     (set-default symbol value)))
 
-(mh-defcustom mh-scan-prog "scan"
+(defcustom-mh mh-scan-prog "scan"
   "*Program used to scan messages.
 
 The name of the program that generates a listing of one line per
@@ -2047,7 +2047,7 @@
 
 ;;; Searching (:group 'mh-search)
 
-(mh-defcustom mh-search-program nil
+(defcustom-mh mh-search-program nil
   "Search program that MH-E shall use.
 
 The default setting of this option is \"Auto-detect\" which means
@@ -2070,7 +2070,7 @@
 
 ;;; Sending Mail (:group 'mh-sending-mail)
 
-(mh-defcustom mh-compose-forward-as-mime-flag t
+(defcustom-mh mh-compose-forward-as-mime-flag t
   "*Non-nil means that messages are forwarded as attachments.
 
 By default, this option is on which means that the forwarded
@@ -2086,7 +2086,7 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-compose-letter-function nil
+(defcustom-mh mh-compose-letter-function nil
   "Invoked when starting a new draft.
 
 However, it is the last function called before you edit your
@@ -2098,13 +2098,13 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-compose-prompt-flag nil
+(defcustom-mh mh-compose-prompt-flag nil
   "*Non-nil means prompt for header fields when composing a new draft."
   :type 'boolean
   :group 'mh-sending-mail
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-forward-subject-format "%s: %s"
+(defcustom-mh mh-forward-subject-format "%s: %s"
   "*Format string for forwarded message subject.
 
 This option is a string which includes two escapes (\"%s\"). The
@@ -2114,7 +2114,7 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-insert-x-mailer-flag t
+(defcustom-mh mh-insert-x-mailer-flag t
   "*Non-nil means append an \"X-Mailer:\" header field to the header.
 
 This header field includes the version of MH-E and Emacs that you
@@ -2124,7 +2124,7 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-redist-full-contents-flag nil
+(defcustom-mh mh-redist-full-contents-flag nil
   "*Non-nil means the \"dist\" command needs entire letter for redistribution.
 
 This option must be turned on if \"dist\" requires the whole
@@ -2136,7 +2136,7 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-reply-default-reply-to nil
+(defcustom-mh mh-reply-default-reply-to nil
   "*Sets the person or persons to whom a reply will be sent.
 
 This option is set to \"Prompt\" by default so that you are
@@ -2152,7 +2152,7 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-reply-show-message-flag t
+(defcustom-mh mh-reply-show-message-flag t
   "*Non-nil means the MH-Show buffer is displayed when replying.
 
 If you include the message automatically, you can hide the
@@ -2169,7 +2169,7 @@
 ;; the docstring: "Additional sequences that should not to be preserved can be
 ;; specified by setting `mh-unpropagated-sequences' appropriately." XXX
 
-(mh-defcustom mh-refile-preserves-sequences-flag t
+(defcustom-mh mh-refile-preserves-sequences-flag t
   "*Non-nil means that sequences are preserved when messages are refiled.
 
 If a message is in any sequence (except \"Previous-Sequence:\"
@@ -2180,7 +2180,7 @@
   :group 'mh-sequences
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-tick-seq 'tick
+(defcustom-mh mh-tick-seq 'tick
   "The name of the MH sequence for ticked messages.
 
 You can customize this option if you already use the \"tick\"
@@ -2192,7 +2192,7 @@
   :group 'mh-sequences
   :package-version '(MH-E . "7.3"))
 
-(mh-defcustom mh-update-sequences-after-mh-show-flag t
+(defcustom-mh mh-update-sequences-after-mh-show-flag t
   "*Non-nil means flush MH sequences to disk after message is shown\\<mh-folder-mode-map>.
 
 Three sequences are maintained internally by MH-E and pushed out
@@ -2209,7 +2209,7 @@
 
 ;;; Reading Your Mail (:group 'mh-show)
 
-(mh-defcustom mh-bury-show-buffer-flag t
+(defcustom-mh mh-bury-show-buffer-flag t
   "*Non-nil means show buffer is buried.
 
 One advantage of not burying the show buffer is that one can
@@ -2220,7 +2220,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-clean-message-header-flag t
+(defcustom-mh mh-clean-message-header-flag t
   "*Non-nil means remove extraneous header fields.
 
 See also `mh-invisible-header-fields-default' and
@@ -2229,7 +2229,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-decode-mime-flag (not (not (locate-library "mm-decode")))
+(defcustom-mh mh-decode-mime-flag (not (not (locate-library "mm-decode")))
   "*Non-nil means attachments are handled\\<mh-folder-mode-map>.
 
 MH-E can handle attachments as well if the Gnus `mm-decode'
@@ -2247,7 +2247,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-display-buttons-for-alternatives-flag nil
+(defcustom-mh mh-display-buttons-for-alternatives-flag nil
   "*Non-nil means display buttons for all alternative attachments.
 
 Sometimes, a mail program will produce multiple alternatives of
@@ -2259,7 +2259,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-display-buttons-for-inline-parts-flag nil
+(defcustom-mh mh-display-buttons-for-inline-parts-flag nil
   "*Non-nil means display buttons for all inline attachments\\<mh-folder-mode-map>.
 
 The sender can request that attachments should be viewed inline so
@@ -2282,7 +2282,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-do-not-confirm-flag nil
+(defcustom-mh mh-do-not-confirm-flag nil
   "*Non-nil means non-reversible commands do not prompt for confirmation.
 
 Commands such as `mh-pack-folder' prompt to confirm whether to
@@ -2294,7 +2294,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-fetch-x-image-url nil
+(defcustom-mh mh-fetch-x-image-url nil
   "*Control fetching of \"X-Image-URL:\" header field image.
 
 Ths option controls the fetching of the \"X-Image-URL:\" header
@@ -2330,7 +2330,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.3"))
 
-(mh-defcustom mh-graphical-smileys-flag t
+(defcustom-mh mh-graphical-smileys-flag t
   "*Non-nil means graphical smileys are displayed.
 
 It is a long standing custom to inject body language using a
@@ -2345,7 +2345,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-graphical-emphasis-flag t
+(defcustom-mh mh-graphical-emphasis-flag t
   "*Non-nil means graphical emphasis is displayed.
 
 A few typesetting features are indicated in ASCII text with
@@ -2362,7 +2362,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-highlight-citation-style 'gnus
+(defcustom-mh mh-highlight-citation-style 'gnus
   "Style for highlighting citations.
 
 If the sender of the message has cited other messages in his
@@ -2589,7 +2589,7 @@
 `mh-invisible-header-fields' and `mh-invisible-header-fields', it
 cannot be run until both variables have been initialized.")
 
-(mh-defcustom mh-invisible-header-fields nil
+(defcustom-mh mh-invisible-header-fields nil
   "*Additional header fields to hide.
 
 Header fields that you would like to hide that aren't listed in
@@ -2610,7 +2610,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.1"))
 
-(mh-defcustom mh-invisible-header-fields-default nil
+(defcustom-mh mh-invisible-header-fields-default nil
   "*List of hidden header fields.
 
 The header fields listed in this option are hidden, although you
@@ -2663,7 +2663,7 @@
 ;; Compile invisible header fields.
 (mh-invisible-headers)
 
-(mh-defcustom mh-lpr-command-format "lpr -J '%s'"
+(defcustom-mh mh-lpr-command-format "lpr -J '%s'"
   "*Command used to print\\<mh-folder-mode-map>.
 
 This option contains the Unix command line which performs the
@@ -2680,7 +2680,7 @@
   :group 'mh-show
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-max-inline-image-height nil
+(defcustom-mh mh-max-inline-image-height nil
   "*Maximum inline image height if \"Content-Disposition:\" is not present.
 
 Some older mail programs do not insert this needed plumbing to
@@ -2696,7 +2696,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-max-inline-image-width nil
+(defcustom-mh mh-max-inline-image-width nil
   "*Maximum inline image width if \"Content-Disposition:\" is not present.
 
 Some older mail programs do not insert this needed plumbing to
@@ -2712,7 +2712,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-mhl-format-file nil
+(defcustom-mh mh-mhl-format-file nil
   "*Specifies the format file to pass to the \"mhl\" program.
 
 Normally MH-E takes care of displaying messages itself (rather than
@@ -2736,7 +2736,7 @@
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-mime-save-parts-default-directory t
+(defcustom-mh mh-mime-save-parts-default-directory t
   "Default directory to use for \\<mh-folder-mode-map>\\[mh-mime-save-parts].
 
 The default value for this option is \"Prompt Always\" so that
@@ -2752,7 +2752,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-print-background-flag nil
+(defcustom-mh mh-print-background-flag nil
   "*Non-nil means messages should be printed in the background\\<mh-folder-mode-map>.
 
 Normally messages are printed in the foreground. If this is slow on
@@ -2768,7 +2768,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-show-maximum-size 0
+(defcustom-mh mh-show-maximum-size 0
   "*Maximum size of message (in bytes) to display automatically.
 
 This option provides an opportunity to skip over large messages
@@ -2778,7 +2778,7 @@
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-show-use-xface-flag (>= emacs-major-version 21)
+(defcustom-mh mh-show-use-xface-flag (>= emacs-major-version 21)
   "*Non-nil means display face images in MH-show buffers.
 
 MH-E can display the content of \"Face:\", \"X-Face:\", and
@@ -2818,7 +2818,7 @@
   :group 'mh-show
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-store-default-directory nil
+(defcustom-mh mh-store-default-directory nil
   "*Default directory for \\<mh-folder-mode-map>\\[mh-store-msg].
 
 If you would like to change the initial default directory,
@@ -2830,7 +2830,7 @@
   :group 'mh-show
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-summary-height nil
+(defcustom-mh mh-summary-height nil
   "*Number of lines in MH-Folder buffer (including the mode line).
 
 The default value of this option is \"Automatic\" which means
@@ -2845,7 +2845,7 @@
 
 ;;; The Speedbar (:group 'mh-speedbar)
 
-(mh-defcustom mh-speed-update-interval 60
+(defcustom-mh mh-speed-update-interval 60
   "Time between speedbar updates in seconds.
 Set to 0 to disable automatic update."
   :type 'integer
@@ -2854,7 +2854,7 @@
 
 ;;; Threading (:group 'mh-thread)
 
-(mh-defcustom mh-show-threads-flag nil
+(defcustom-mh mh-show-threads-flag nil
   "*Non-nil means new folders start in threaded mode.
 
 Threading large number of messages can be time consuming so this
@@ -2870,7 +2870,7 @@
 ;; mh-tool-bar-folder-buttons and mh-tool-bar-letter-buttons defined
 ;; dynamically in mh-tool-bar.el.
 
-(mh-defcustom mh-tool-bar-search-function 'mh-search
+(defcustom-mh mh-tool-bar-search-function 'mh-search
   "*Function called by the tool bar search button.
 
 By default, this is set to `mh-search'. You can also choose
@@ -2883,7 +2883,7 @@
 
 ;; XEmacs has a couple of extra customizations...
 (mh-do-in-xemacs
-  (mh-defcustom mh-xemacs-use-tool-bar-flag mh-xemacs-has-tool-bar-flag
+  (defcustom-mh mh-xemacs-use-tool-bar-flag mh-xemacs-has-tool-bar-flag
     "*If non-nil, use tool bar.
 
 This option controls whether to show the MH-E icons at all. By
@@ -2899,7 +2899,7 @@
            (set-default symbol value))
     :package-version '(MH-E . "7.3"))
 
-  (mh-defcustom mh-xemacs-tool-bar-position nil
+  (defcustom-mh mh-xemacs-tool-bar-position nil
     "*Tool bar location.
 
 This option controls the placement of the tool bar along the four
@@ -2921,7 +2921,7 @@
 
 ;;; Hooks (:group 'mh-hooks + group where hook described)
 
-(mh-defcustom mh-after-commands-processed-hook nil
+(defcustom-mh mh-after-commands-processed-hook nil
   "Hook run by \\<mh-folder-mode-map>\\[mh-execute-commands] after performing outstanding refile and delete requests.
 
 Variables that are useful in this hook include
@@ -2933,14 +2933,14 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-alias-reloaded-hook nil
+(defcustom-mh mh-alias-reloaded-hook nil
   "Hook run by `mh-alias-reload' after loading aliases."
   :type 'hook
   :group 'mh-hooks
   :group 'mh-alias
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-before-commands-processed-hook nil
+(defcustom-mh mh-before-commands-processed-hook nil
   "Hook run by \\<mh-folder-mode-map>\\[mh-execute-commands] before performing outstanding refile and delete requests.
 
 Variables that are useful in this hook include `mh-delete-list'
@@ -2951,7 +2951,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-before-quit-hook nil
+(defcustom-mh mh-before-quit-hook nil
   "Hook run by \\<mh-folder-mode-map>\\[mh-quit] before quitting MH-E.
 
 This hook is called before the quit occurs, so you might use it
@@ -2964,7 +2964,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-before-send-letter-hook nil
+(defcustom-mh mh-before-send-letter-hook nil
   "Hook run at the beginning of the \\<mh-letter-mode-map>\\[mh-send-letter] command.
 
 For example, if you want to check your spelling in your message
@@ -2975,7 +2975,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-delete-msg-hook nil
+(defcustom-mh mh-delete-msg-hook nil
   "Hook run by \\<mh-letter-mode-map>\\[mh-delete-msg] after marking each message for deletion.
 
 For example, a past maintainer of MH-E used this once when he
@@ -2985,7 +2985,7 @@
   :group 'mh-show
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-find-path-hook nil
+(defcustom-mh mh-find-path-hook nil
   "Hook run by `mh-find-path' after reading the user's MH profile.
 
 This hook can be used the change the value of the variables that
@@ -2996,28 +2996,28 @@
   :group 'mh-e
   :package-version '(MH-E . "7.0"))
 
-(mh-defcustom mh-folder-mode-hook nil
+(defcustom-mh mh-folder-mode-hook nil
   "Hook run by `mh-folder-mode' when visiting a new folder."
   :type 'hook
   :group 'mh-hooks
   :group 'mh-folder
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-forward-hook nil
+(defcustom-mh mh-forward-hook nil
   "Hook run by `mh-forward' on a forwarded letter."
   :type 'hook
   :group 'mh-hooks
   :group 'mh-sending-mail
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-inc-folder-hook nil
+(defcustom-mh mh-inc-folder-hook nil
   "Hook run by \\<mh-folder-mode-map>\\[mh-inc-folder] after incorporating mail into a folder."
   :type 'hook
   :group 'mh-hooks
   :group 'mh-inc
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-insert-signature-hook nil
+(defcustom-mh mh-insert-signature-hook nil
   "Hook run by \\<mh-letter-mode-map>\\[mh-insert-signature] after signature has been inserted.
 
 Hook functions may access the actual name of the file or the
@@ -3028,7 +3028,7 @@
   :group 'mh-letter
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-kill-folder-suppress-prompt-hooks '(mh-search-p)
+(defcustom-mh mh-kill-folder-suppress-prompt-hooks '(mh-search-p)
   "Abnormal hook run at the beginning of \\<mh-folder-mode-map>\\[mh-kill-folder].
 
 The hook functions are called with no arguments and should return
@@ -3046,7 +3046,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "7.4"))
 
-(mh-defcustom mh-letter-mode-hook nil
+(defcustom-mh mh-letter-mode-hook nil
   "Hook run by `mh-letter-mode' on a new letter.
 
 This hook allows you to do some processing before editing a
@@ -3059,14 +3059,14 @@
   :group 'mh-sending-mail
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-mh-to-mime-hook nil
+(defcustom-mh mh-mh-to-mime-hook nil
   "Hook run on the formatted letter by \\<mh-letter-mode-map>\\[mh-mh-to-mime]."
   :type 'hook
   :group 'mh-hooks
   :group 'mh-letter
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-search-mode-hook nil
+(defcustom-mh mh-search-mode-hook nil
   "Hook run upon entry to `mh-search-mode'\\<mh-folder-mode-map>.
 
 If you find that you do the same thing over and over when editing
@@ -3078,7 +3078,7 @@
   :group 'mh-search
   :package-version '(MH-E . "8.0"))
 
-(mh-defcustom mh-quit-hook nil
+(defcustom-mh mh-quit-hook nil
   "Hook run by \\<mh-folder-mode-map>\\[mh-quit] after quitting MH-E.
 
 This hook is not run in an MH-E context, so you might use it to
@@ -3090,14 +3090,14 @@
   :group 'mh-folder
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-refile-msg-hook nil
+(defcustom-mh mh-refile-msg-hook nil
   "Hook run by \\<mh-folder-mode-map>\\[mh-refile-msg] after marking each message for refiling."
   :type 'hook
   :group 'mh-hooks
   :group 'mh-folder
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-show-hook nil
+(defcustom-mh mh-show-hook nil
   "Hook run after \\<mh-folder-mode-map>\\[mh-show] shows a message.
 
 It is the last thing called after messages are displayed. It's
@@ -3108,7 +3108,7 @@
   :group 'mh-show
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-show-mode-hook nil
+(defcustom-mh mh-show-mode-hook nil
   "Hook run upon entry to `mh-show-mode'.
 
 This hook is called early on in the process of the message
@@ -3119,7 +3119,7 @@
   :group 'mh-show
   :package-version '(MH-E . "6.0"))
 
-(mh-defcustom mh-unseen-updated-hook nil
+(defcustom-mh mh-unseen-updated-hook nil
   "Hook run after the unseen sequence has been updated.
 
 The variable `mh-seen-list' can be used by this hook to obtain
@@ -3139,7 +3139,7 @@
 
 ;; To add a new face:
 ;; 1. Add entry to variable mh-face-data.
-;; 2. Create face using mh-defface (which removes min-color spec and
+;; 2. Create face using defface-mh (which removes min-color spec and
 ;;    :package-version keyword where these are not supported),
 ;;    accessing face data with function mh-face-data.
 ;; 3. Add inherit argument to function mh-face-data if applicable.
@@ -3288,7 +3288,7 @@
        (:underline t)))))
   "MH-E face data.
 Used by function `mh-face-data' which returns spec that is
-consumed by `mh-defface'.")
+consumed by `defface-mh'.")
 
 (require 'cus-face)
 
@@ -3341,14 +3341,14 @@
                   (setq new-spec (cons entry new-spec)))))
         new-spec))))
 
-(mh-defface mh-folder-address
+(defface-mh mh-folder-address
   (mh-face-data 'mh-folder-subject '((t (:inherit mh-folder-subject))))
   "Recipient face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-body
+(defface-mh mh-folder-body
   (mh-face-data 'mh-folder-msg-number
                 '((((class color))
                    (:inherit mh-folder-msg-number))
@@ -3359,7 +3359,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-cur-msg-number
+(defface-mh mh-folder-cur-msg-number
   (mh-face-data 'mh-folder-msg-number
                 '((t (:inherit mh-folder-msg-number :bold t))))
   "Current message number face."
@@ -3367,39 +3367,39 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-date
+(defface-mh mh-folder-date
   (mh-face-data 'mh-folder-msg-number '((t (:inherit mh-folder-msg-number))))
   "Date face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-deleted
+(defface-mh mh-folder-deleted
   (mh-face-data 'mh-folder-msg-number '((t (:inherit mh-folder-msg-number))))
   "Deleted message face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-followup (mh-face-data 'mh-folder-followup)
+(defface-mh mh-folder-followup (mh-face-data 'mh-folder-followup)
   "\"Re:\" face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-msg-number (mh-face-data 'mh-folder-msg-number)
+(defface-mh mh-folder-msg-number (mh-face-data 'mh-folder-msg-number)
   "Message number face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-refiled (mh-face-data 'mh-folder-refiled)
+(defface-mh mh-folder-refiled (mh-face-data 'mh-folder-refiled)
   "Refiled message face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-sent-to-me-hint
+(defface-mh mh-folder-sent-to-me-hint
   (mh-face-data 'mh-folder-msg-number '((t (:inherit mh-folder-date))))
   "Fontification hint face in messages sent directly to us.
 The detection of messages sent to us is governed by the scan
@@ -3409,7 +3409,7 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-sent-to-me-sender
+(defface-mh mh-folder-sent-to-me-sender
   (mh-face-data 'mh-folder-followup '((t (:inherit mh-folder-followup))))
   "Sender face in messages sent directly to us.
 The detection of messages sent to us is governed by the scan
@@ -3419,98 +3419,98 @@
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-subject (mh-face-data 'mh-folder-subject)
+(defface-mh mh-folder-subject (mh-face-data 'mh-folder-subject)
   "Subject face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-tick (mh-face-data 'mh-folder-tick)
+(defface-mh mh-folder-tick (mh-face-data 'mh-folder-tick)
   "Ticked message face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-folder-to (mh-face-data 'mh-folder-to)
+(defface-mh mh-folder-to (mh-face-data 'mh-folder-to)
   "\"To:\" face."
   :group 'mh-faces
   :group 'mh-folder
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-letter-header-field (mh-face-data 'mh-letter-header-field)
+(defface-mh mh-letter-header-field (mh-face-data 'mh-letter-header-field)
   "Editable header field value face in draft buffers."
   :group 'mh-faces
   :group 'mh-letter
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-search-folder (mh-face-data 'mh-search-folder)
+(defface-mh mh-search-folder (mh-face-data 'mh-search-folder)
   "Folder heading face in MH-Folder buffers created by searches."
   :group 'mh-faces
   :group 'mh-search
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-cc (mh-face-data 'mh-show-cc)
+(defface-mh mh-show-cc (mh-face-data 'mh-show-cc)
   "Face used to highlight \"cc:\" header fields."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-date (mh-face-data 'mh-show-date)
+(defface-mh mh-show-date (mh-face-data 'mh-show-date)
   "Face used to highlight \"Date:\" header fields."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-from (mh-face-data 'mh-show-from)
+(defface-mh mh-show-from (mh-face-data 'mh-show-from)
   "Face used to highlight \"From:\" header fields."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-header (mh-face-data 'mh-show-header)
+(defface-mh mh-show-header (mh-face-data 'mh-show-header)
   "Face used to deemphasize less interesting header fields."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-pgg-bad (mh-face-data 'mh-show-pgg-bad)
+(defface-mh mh-show-pgg-bad (mh-face-data 'mh-show-pgg-bad)
   "Bad PGG signature face."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-pgg-good (mh-face-data 'mh-show-pgg-good)
+(defface-mh mh-show-pgg-good (mh-face-data 'mh-show-pgg-good)
   "Good PGG signature face."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-pgg-unknown (mh-face-data 'mh-show-pgg-unknown)
+(defface-mh mh-show-pgg-unknown (mh-face-data 'mh-show-pgg-unknown)
   "Unknown or untrusted PGG signature face."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-signature (mh-face-data 'mh-show-signature)
+(defface-mh mh-show-signature (mh-face-data 'mh-show-signature)
   "Signature face."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-subject
+(defface-mh mh-show-subject
   (mh-face-data 'mh-folder-subject '((t (:inherit mh-folder-subject))))
   "Face used to highlight \"Subject:\" header fields."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-to (mh-face-data 'mh-show-to)
+(defface-mh mh-show-to (mh-face-data 'mh-show-to)
   "Face used to highlight \"To:\" header fields."
   :group 'mh-faces
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-show-xface
+(defface-mh mh-show-xface
   (mh-face-data 'mh-show-from '((t (:inherit (mh-show-from highlight)))))
 "X-Face image face.
 The background and foreground are used in the image."
@@ -3518,13 +3518,13 @@
   :group 'mh-show
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-speedbar-folder (mh-face-data 'mh-speedbar-folder)
+(defface-mh mh-speedbar-folder (mh-face-data 'mh-speedbar-folder)
   "Basic folder face."
   :group 'mh-faces
   :group 'mh-speedbar
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-speedbar-folder-with-unseen-messages
+(defface-mh mh-speedbar-folder-with-unseen-messages
   (mh-face-data 'mh-speedbar-folder
                 '((t (:inherit mh-speedbar-folder :bold t))))
   "Folder face when folder contains unread messages."
@@ -3532,14 +3532,14 @@
   :group 'mh-speedbar
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-speedbar-selected-folder
+(defface-mh mh-speedbar-selected-folder
   (mh-face-data 'mh-speedbar-selected-folder)
   "Selected folder face."
   :group 'mh-faces
   :group 'mh-speedbar
   :package-version '(MH-E . "8.0"))
 
-(mh-defface mh-speedbar-selected-folder-with-unseen-messages
+(defface-mh mh-speedbar-selected-folder-with-unseen-messages
   (mh-face-data 'mh-speedbar-selected-folder
                 '((t (:inherit mh-speedbar-selected-folder :bold t))))
   "Selected folder face when folder contains unread messages."
@@ -3548,9 +3548,9 @@
   :package-version '(MH-E . "8.0"))
 
 ;; Get rid of temporary functions and data structures.
-(fmakunbound 'mh-defcustom)
-(fmakunbound 'mh-defface)
-(fmakunbound 'mh-defgroup)
+(fmakunbound 'defcustom-mh)
+(fmakunbound 'defface-mh)
+(fmakunbound 'defgroup-mh)
 (fmakunbound 'mh-face-data)
 (fmakunbound 'mh-strip-package-version)
 (makunbound 'mh-face-data)
--- a/lisp/mh-e/mh-gnus.el	Tue Apr 18 00:03:18 2006 +0000
+++ b/lisp/mh-e/mh-gnus.el	Tue Apr 18 00:55:43 2006 +0000
@@ -39,19 +39,19 @@
 (mh-require 'mml nil t)
 
 ;; Copy of function from gnus-util.el.
-(mh-defun-compat mh-gnus-local-map-property gnus-local-map-property (map)
+(defun-mh mh-gnus-local-map-property gnus-local-map-property (map)
   "Return a list suitable for a text property list specifying keymap MAP."
   (cond (mh-xemacs-flag (list 'keymap map))
         ((>= emacs-major-version 21) (list 'keymap map))
         (t (list 'local-map map))))
 
 ;; Copy of function from mm-decode.el.
-(mh-defun-compat mh-mm-merge-handles mm-merge-handles (handles1 handles2)
+(defun-mh mh-mm-merge-handles mm-merge-handles (handles1 handles2)
   (append (if (listp (car handles1)) handles1 (list handles1))
           (if (listp (car handles2)) handles2 (list handles2))))
 
 ;; Copy of function from mm-decode.el.
-(mh-defun-compat mh-mm-set-handle-multipart-parameter
+(defun-mh mh-mm-set-handle-multipart-parameter
   mm-set-handle-multipart-parameter (handle parameter value)
   ;; HANDLE could be a CTL.
   (if handle
@@ -59,7 +59,7 @@
                          (car handle))))
 
 ;; Copy of function from mm-view.el.
-(mh-defun-compat mh-mm-inline-text-vcard mm-inline-text-vcard (handle)
+(defun-mh mh-mm-inline-text-vcard mm-inline-text-vcard (handle)
   (let (buffer-read-only)
     (mm-insert-inline
      handle
@@ -73,17 +73,17 @@
 
 ;; Function from mm-decode.el used in PGP messages. Just define it with older
 ;; Gnus to avoid compiler warning.
-(mh-defun-compat mh-mm-possibly-verify-or-decrypt
+(defun-mh mh-mm-possibly-verify-or-decrypt
   mm-possibly-verify-or-decrypt (parts ctl)
   nil)
 
 ;; Copy of macro in mm-decode.el.
-(mh-defmacro-compat mh-mm-handle-multipart-ctl-parameter
+(defmacro-mh mh-mm-handle-multipart-ctl-parameter
   mm-handle-multipart-ctl-parameter (handle parameter)
   `(get-text-property 0 ,parameter (car ,handle)))
 
 ;; Copy of function in mm-decode.el.
-(mh-defun-compat mh-mm-readable-p mm-readable-p (handle)
+(defun-mh mh-mm-readable-p mm-readable-p (handle)
   "Say whether the content of HANDLE is readable."
   (and (< (with-current-buffer (mm-handle-buffer handle)
             (buffer-size)) 10000)
@@ -93,7 +93,7 @@
               (not (mh-mm-long-lines-p 76))))))
 
 ;; Copy of function in mm-bodies.el.
-(mh-defun-compat mh-mm-long-lines-p mm-long-lines-p (length)
+(defun-mh mh-mm-long-lines-p mm-long-lines-p (length)
   "Say whether any of the lines in the buffer is longer than LENGTH."
   (save-excursion
     (goto-char (point-min))
@@ -105,21 +105,21 @@
     (and (> (current-column) length)
          (current-column))))
 
-(mh-defun-compat mh-mm-keep-viewer-alive-p mm-keep-viewer-alive-p (handle)
+(defun-mh mh-mm-keep-viewer-alive-p mm-keep-viewer-alive-p (handle)
   ;; Released Gnus doesn't keep handles associated with externally displayed
   ;; MIME parts. So this will always return nil.
   nil)
 
-(mh-defun-compat mh-mm-destroy-parts mm-destroy-parts (list)
+(defun-mh mh-mm-destroy-parts mm-destroy-parts (list)
   "Older versions of Emacs don't have this function."
   nil)
 
-(mh-defun-compat mh-mm-uu-dissect-text-parts mm-uu-dissect-text-parts (handles)
+(defun-mh mh-mm-uu-dissect-text-parts mm-uu-dissect-text-parts (handles)
   "Emacs 21 and XEmacs don't have this function."
   nil)
 
 ;; Copy of function in mml.el.
-(mh-defun-compat mh-mml-minibuffer-read-disposition
+(defun-mh mh-mml-minibuffer-read-disposition
   mml-minibuffer-read-disposition (type &optional default)
   (unless default (setq default
                         (if (and (string-match "\\`text/" type)