comparison lisp/emacs-lisp/autoload.el @ 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 65f371a2cf00
children ecc4375537e3
comparison
equal deleted inserted replaced
19130:0c228cae75b5 19131:962be4e083c2
50 (setq doc nil)) 50 (setq doc nil))
51 (list 'autoload (list 'quote name) file doc 51 (list 'autoload (list 'quote name) file doc
52 (or (eq car 'define-skeleton) 52 (or (eq car 'define-skeleton)
53 (eq (car-safe (car form)) 'interactive)) 53 (eq (car-safe (car form)) 'interactive))
54 (if macrop (list 'quote 'macro) nil))) 54 (if macrop (list 'quote 'macro) nil)))
55 ;; Convert defcustom to a simpler (and less space-consuming) defvar,
56 ;; but add some extra stuff if it uses :require.
55 (if (eq car 'defcustom) 57 (if (eq car 'defcustom)
56 (let ((varname (car-safe (cdr-safe form))) 58 (let ((varname (car-safe (cdr-safe form)))
57 (init (car-safe (cdr-safe (cdr-safe form)))) 59 (init (car-safe (cdr-safe (cdr-safe form))))
58 (doc (car-safe (cdr-safe (cdr-safe (cdr-safe form)))))) 60 (doc (car-safe (cdr-safe (cdr-safe (cdr-safe form)))))
59 (list 'defvar varname init doc)) 61 (rest (cdr-safe (cdr-safe (cdr-safe (cdr-safe form))))))
62 (if (not (plist-get rest :require))
63 `(defvar ,varname ,init ,doc)
64 `(progn
65 (defvar ,varname ,init ,doc)
66 (custom-add-to-group ,(plist-get rest :group)
67 ',varname 'custom-variable)
68 (custom-add-load ',varname
69 ,(plist-get rest :require)))))
60 nil)))) 70 nil))))
61 71
62 (put 'define-skeleton 'doc-string-elt 3) 72 (put 'define-skeleton 'doc-string-elt 3)
63 73
64 (defconst generate-autoload-cookie ";;;###autoload" 74 (defconst generate-autoload-cookie ";;;###autoload"