]> git.eshelyaron.com Git - emacs.git/commitdiff
loaddefs-gen: Group results by absolute file name
authorKyle Meyer <kyle@kyleam.com>
Sun, 25 Dec 2022 20:31:33 +0000 (15:31 -0500)
committerEli Zaretskii <eliz@gnu.org>
Mon, 26 Dec 2022 12:55:08 +0000 (14:55 +0200)
loaddefs-generate produced an incomplete output file if 1) it
was called with a relative file name and 2) that same file was
specified via a generated-autoload-file cookie in a subset of
the input files.  In that case, autoload entries were lost
because loaddefs-generate writes the same output file twice:
once for the relative name specified by the caller and once
for the absolute name that loaddefs-generate--parse-file
returns for the generated-autoload-file value.
This has been fixed.  (Bug#60318)

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Expand file
names when grouping loaddef files.

lisp/emacs-lisp/loaddefs-gen.el

index 2dd04174f54fa97c31b2daf4f931a810427e42d3..460d8eca58647e4938a33daeecb5558c0985887b 100644 (file)
@@ -608,7 +608,8 @@ instead of just updating them with the new/changed autoloads."
           (write-region (point-min) (point-max) output-file nil 'silent))
       ;; We have some data, so generate the loaddef files.  First
       ;; group per output file.
-      (dolist (fdefs (seq-group-by #'car defs))
+      (dolist (fdefs (seq-group-by (lambda (x) (expand-file-name (car x)))
+                                   defs))
         (let ((loaddefs-file (car fdefs))
               hash)
           (with-temp-buffer