From: Bill Wohler Date: Fri, 7 Apr 2006 18:58:38 +0000 (+0000) Subject: (mh-path, mh-variant): Define with mh-defcustom and add X-Git-Tag: emacs-pretest-22.0.90~3286 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fde155f459ee240985aebcf77264dc695a88bdad;p=emacs.git (mh-path, mh-variant): Define with mh-defcustom and add :package-version keyword. --- diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index fa66eaca664..6bf84517bde 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog @@ -1,3 +1,8 @@ +2006-04-07 Bill Wohler + + * mh-e.el (mh-path, mh-variant): Define with mh-defcustom and add + :package-version keyword. + 2006-03-31 Bill Wohler * mh-e.el (mh-strip-package-version): Move before use to avoid diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index 5f1c66e58d8..a2d0e85841b 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el @@ -644,13 +644,66 @@ Set mark after inserted text." +;;; 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 @@ finally GNU mailutils." (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 @@ necessary and can actually cause problems." :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"))