Mercurial > emacs
changeset 19131:962be4e083c2
(make-autoload): For a defcustom,
generate custom-add-to-group and custom-add-load if needed.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 04 Aug 1997 06:44:24 +0000 |
parents | 0c228cae75b5 |
children | 73871027b629 |
files | lisp/emacs-lisp/autoload.el |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/emacs-lisp/autoload.el Mon Aug 04 06:18:23 1997 +0000 +++ b/lisp/emacs-lisp/autoload.el Mon Aug 04 06:44:24 1997 +0000 @@ -52,11 +52,21 @@ (or (eq car 'define-skeleton) (eq (car-safe (car form)) 'interactive)) (if macrop (list 'quote 'macro) nil))) + ;; Convert defcustom to a simpler (and less space-consuming) defvar, + ;; but add some extra stuff if it uses :require. (if (eq car 'defcustom) (let ((varname (car-safe (cdr-safe form))) (init (car-safe (cdr-safe (cdr-safe form)))) - (doc (car-safe (cdr-safe (cdr-safe (cdr-safe form)))))) - (list 'defvar varname init doc)) + (doc (car-safe (cdr-safe (cdr-safe (cdr-safe form))))) + (rest (cdr-safe (cdr-safe (cdr-safe (cdr-safe form)))))) + (if (not (plist-get rest :require)) + `(defvar ,varname ,init ,doc) + `(progn + (defvar ,varname ,init ,doc) + (custom-add-to-group ,(plist-get rest :group) + ',varname 'custom-variable) + (custom-add-load ',varname + ,(plist-get rest :require))))) nil)))) (put 'define-skeleton 'doc-string-elt 3)