changeset 67223:23fa76e60a61

(make-autoload): Handle defgroup specially.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 30 Nov 2005 16:04:40 +0000
parents 9c628f17433c
children 1a4439fe2adc
files lisp/ChangeLog lisp/emacs-lisp/autoload.el
diffstat 2 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Nov 30 15:52:50 2005 +0000
+++ b/lisp/ChangeLog	Wed Nov 30 16:04:40 2005 +0000
@@ -1,5 +1,7 @@
 2005-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+	* emacs-lisp/autoload.el (make-autoload): Handle defgroup specially.
+
 	* help-fns.el (help-argument-name): Don't autoload.
 	It's useless and triggers a bug in cus-dep.el causing ldefs-boot
 	to be re-loaded when customizing the `help' group.
--- a/lisp/emacs-lisp/autoload.el	Wed Nov 30 15:52:50 2005 +0000
+++ b/lisp/emacs-lisp/autoload.el	Wed Nov 30 16:04:40 2005 +0000
@@ -135,6 +135,15 @@
               (if (equal setter ''custom-set-minor-mode)
                   `(put ',varname 'custom-set 'custom-set-minor-mode))))))
 
+     ((eq car 'defgroup)
+      ;; In Emacs this is normally handled separately by cus-dep.el, but for
+      ;; third party packages, it can be convenient to explicitly autoload
+      ;; a group.
+      (let ((groupname (nth 1 form)))
+        `(let ((loads (get ',groupname 'custom-loads)))
+           (if (member ',file loads) nil
+             (put ',groupname 'custom-loads (cons ',file loads))))))
+
      ;; nil here indicates that this is not a special autoload form.
      (t nil))))