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)