diff lisp/mh-e/mh-e.el @ 69846:9942deb37276

(mh-path, mh-variant): Define with mh-defcustom and add :package-version keyword.
author Bill Wohler <wohler@newt.com>
date Fri, 07 Apr 2006 18:58:38 +0000
parents 8dfee8162776
children 34e6282ccc27 81f2d90dee68 65ca8fb66a0d
line wrap: on
line diff
--- a/lisp/mh-e/mh-e.el	Fri Apr 07 18:53:09 2006 +0000
+++ b/lisp/mh-e/mh-e.el	Fri Apr 07 18:58:38 2006 +0000
@@ -644,13 +644,66 @@
 
 
 
+;;; MH-E Customization Support Routines
+
+;; Shush compiler (Emacs 21 and XEmacs).
+(defvar customize-package-emacs-version-alist)
+
+;; Temporary function and data structure used customization.
+;; These will be unbound after the options are defined.
+(defmacro mh-strip-package-version (args)
+  "Strip :package-version keyword and its value from ARGS.
+In Emacs versions that support the :package-version keyword,
+ARGS is returned unchanged."
+  `(if (boundp 'customize-package-emacs-version-alist)
+       ,args
+     (let (seen)
+       (loop for keyword in ,args
+             if (cond ((eq keyword ':package-version) (setq seen t) nil)
+                      (seen (setq seen nil) nil)
+                      (t t))
+             collect keyword))))
+
+(defmacro mh-defgroup (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.
+This macro is used by Emacs versions that lack the :package-version
+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)
+  "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.
+This macro is used by Emacs versions that lack the :package-version
+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)
+  "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.
+This macro is used by Emacs versions that lack the :package-version
+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)
+
+
+
 ;;; Variant Support
 
-(defcustom mh-path nil
+(mh-defcustom mh-path nil
   "*Additional list of directories to search for MH.
 See `mh-variant'."
   :group 'mh-e
-  :type '(repeat (directory)))
+  :type '(repeat (directory))
+  :package-version '(MH-E "8.0"))
 
 (defun mh-variants ()
   "Return a list of installed variants of MH on the system.
@@ -859,7 +912,7 @@
                (mapconcat '(lambda (x) (format "%s" (car x)))
                           (mh-variants) " or "))))))
 
-(defcustom mh-variant 'autodetect
+(mh-defcustom mh-variant 'autodetect
   "*Specifies the variant used by MH-E.
 
 The default setting of this option is \"Auto-detect\" which means
@@ -884,59 +937,8 @@
   :set (lambda (symbol value)
          (set-default symbol value)     ;Done in mh-variant-set-variant!
          (mh-variant-set value))
-  :group 'mh-e)
-
-
-
-;;; MH-E Customization Support Routines
-
-;; Shush compiler (Emacs 21 and XEmacs).
-(defvar customize-package-emacs-version-alist)
-
-;; Temporary function and data structure used customization.
-;; These will be unbound after the options are defined.
-(defmacro mh-strip-package-version (args)
-  "Strip :package-version keyword and its value from ARGS.
-In Emacs versions that support the :package-version keyword,
-ARGS is returned unchanged."
-  `(if (boundp 'customize-package-emacs-version-alist)
-       ,args
-     (let (seen)
-       (loop for keyword in ,args
-             if (cond ((eq keyword ':package-version) (setq seen t) nil)
-                      (seen (setq seen nil) nil)
-                      (t t))
-             collect keyword))))
-
-(defmacro mh-defgroup (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.
-This macro is used by Emacs versions that lack the :package-version
-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)
-  "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.
-This macro is used by Emacs versions that lack the :package-version
-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)
-  "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.
-This macro is used by Emacs versions that lack the :package-version
-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)
+  :group 'mh-e
+  :package-version '(MH-E "8.0"))