]> git.eshelyaron.com Git - emacs.git/commitdiff
(make-autoload): Handle defgroup specially.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 30 Nov 2005 16:04:40 +0000 (16:04 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 30 Nov 2005 16:04:40 +0000 (16:04 +0000)
lisp/ChangeLog
lisp/emacs-lisp/autoload.el

index 104ca5c162204d41810d925f862e71c57d8a5471..4fb2cdf5ebeefc6c4c2e038f4a81ae12f5e3cb1f 100644 (file)
@@ -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.
index ff795e6de77213b11573ab4d384ec3e289745020..2356483b233d00325528adbe50f8f1fc3f7458fa 100644 (file)
@@ -135,6 +135,15 @@ or macro definition or a defcustom)."
               (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))))