summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/autoload.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2005-11-30 16:04:40 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2005-11-30 16:04:40 +0000
commit1bddeeed51b41007fe4f84d624e30a367bad2bb8 (patch)
tree397c894a5cf928fd387699059ea1d9e269885163 /lisp/emacs-lisp/autoload.el
parent33d434cdce2093e61b7493df8863822ae4632532 (diff)
downloademacs-1bddeeed51b41007fe4f84d624e30a367bad2bb8.tar.gz
emacs-1bddeeed51b41007fe4f84d624e30a367bad2bb8.tar.bz2
emacs-1bddeeed51b41007fe4f84d624e30a367bad2bb8.zip
(make-autoload): Handle defgroup specially.
Diffstat (limited to 'lisp/emacs-lisp/autoload.el')
-rw-r--r--lisp/emacs-lisp/autoload.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index ff795e6de77..2356483b233 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -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))))