]> git.eshelyaron.com Git - emacs.git/commitdiff
Make loaddefs-gen register parent :groups from defcustom
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 23 Sep 2022 15:58:41 +0000 (17:58 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 23 Sep 2022 15:58:41 +0000 (17:58 +0200)
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--make-autoload): Also register parent :groups from
`defgroup' entries (bug#58015).

lisp/emacs-lisp/loaddefs-gen.el

index 5819a26eb54e8891a349c66aa8661aadb11cc6ec..095d6b14e630028afb80984f0663510a9cd518eb 100644 (file)
@@ -287,10 +287,14 @@ expression, in which case we want to handle forms differently."
       ;; 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 ((groupname (nth 1 form))
+            (parent (eval (plist-get form :group) t)))
         `(let ((loads (get ',groupname 'custom-loads)))
            (if (member ',file loads) nil
-             (put ',groupname 'custom-loads (cons ',file loads))))))
+             (put ',groupname 'custom-loads (cons ',file loads))
+             ,@(when parent
+               `((put ',parent 'custom-loads
+                      (cons ',groupname (get ',parent 'custom-loads)))))))))
 
      ;; When processing a macro expansion, any expression
      ;; before a :autoload-end should be included.  These are typically (put