emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

scratch/package-vc-fixes 05fcad3a20 2/3: ; Revert changes to 'package-ge


From: Philip Kaludercic
Subject: scratch/package-vc-fixes 05fcad3a20 2/3: ; Revert changes to 'package-generate-autoloads' signature
Date: Thu, 17 Nov 2022 11:40:57 -0500 (EST)

branch: scratch/package-vc-fixes
commit 05fcad3a20182d32b284c5636babe2ac2941f222
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>

    ; Revert changes to 'package-generate-autoloads' signature
    
    * lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Generate an
    indirection autoload file and generate autoloads for :lisp-dir.
    * lisp/emacs-lisp/package.el (package-generate-autoloads): Revert
    changes.
    (package--make-autoloads-and-stuff): Pass the package name to
    'package-generate-autoloads'.
---
 lisp/emacs-lisp/package-vc.el | 19 ++++++++++++++++++-
 lisp/emacs-lisp/package.el    | 25 ++++++++-----------------
 2 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index eaa2dcc248..b8a192a2c5 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -416,7 +416,24 @@ documentation and marking the package as installed."
   (let ((default-directory (file-name-as-directory pkg-dir))
         (pkg-file (expand-file-name (package--description-file pkg-dir) 
pkg-dir)))
     ;; Generate autoloads
-    (package-generate-autoloads pkg-desc pkg-dir)
+    (let* ((name (package-desc-name pkg-desc))
+           (auto-name (format "%s-autoloads.el" name))
+           (extras (package-desc-extras pkg-desc))
+           (lisp-dir (alist-get :lisp-dir extras)))
+      (package-generate-autoloads
+       name (file-name-concat pkg-dir lisp-dir))
+      (when lisp-dir
+        (write-region
+         (with-temp-buffer
+           (insert ";; Autoload indirection for package-vc\n\n")
+           (prin1 `(load (expand-file-name
+                          ,(file-name-concat lisp-dir auto-name)
+                          (or (and load-file-name
+                                   (file-name-directory load-file-name))
+                              (car load-path))))
+                  (current-buffer))
+           (buffer-string))
+         nil (expand-file-name auto-name pkg-dir))))
 
     ;; Generate package file
     (package-vc--generate-description-file pkg-desc pkg-file)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index cae0531e4d..f9786febf4 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1080,41 +1080,32 @@ untar into a directory named DIR; otherwise, signal an 
error."
 (defvar autoload-timestamps)
 (defvar version-control)
 
-(defun package-generate-autoloads (pkg-desc pkg-dir)
-  "Generate autoloads for PKG-DESC in PKG-DIR."
-  (let* ((name (package-desc-name pkg-desc))
-         (auto-name (format "%s-autoloads.el" name))
+(defun package-generate-autoloads (name pkg-dir)
+  "Generate autoloads in PKG-DIR for package named NAME."
+  (let* ((auto-name (format "%s-autoloads.el" name))
          ;;(ignore-name (concat name "-pkg.el"))
          (output-file (expand-file-name auto-name pkg-dir))
-         (extras (package-desc-extras pkg-desc))
-         (lisp-dir (alist-get :lisp-dir extras))
          ;; We don't need 'em, and this makes the output reproducible.
          (autoload-timestamps nil)
          (backup-inhibited t)
          (version-control 'never))
     (loaddefs-generate
-     (file-name-concat pkg-dir lisp-dir)
-     output-file nil
+     pkg-dir output-file nil
      (prin1-to-string
-      `(add-to-list
+      '(add-to-list
         'load-path
         ;; Add the directory that will contain the autoload file to
         ;; the load path.  We don't hard-code `pkg-dir', to avoid
         ;; issues if the package directory is moved around.
-        ,(let ((base '(or (and load-file-name (file-name-directory 
load-file-name))
-                          (car load-path))))
-           (if lisp-dir
-               ;; In case the package specification indicates that the lisp
-               ;; files are found in a subdirectory, append that directory.
-               `(expand-file-name ,lisp-dir ,base)
-             base)))))
+        (or (and load-file-name (file-name-directory load-file-name))
+            (car load-path)))))
     (let ((buf (find-buffer-visiting output-file)))
       (when buf (kill-buffer buf)))
     auto-name))
 
 (defun package--make-autoloads-and-stuff (pkg-desc pkg-dir)
   "Generate autoloads, description file, etc., for PKG-DESC installed at 
PKG-DIR."
-  (package-generate-autoloads pkg-desc pkg-dir)
+  (package-generate-autoloads (package-desc-name pkg-desc) pkg-dir)
   (let ((desc-file (expand-file-name (package--description-file pkg-dir)
                                      pkg-dir)))
     (unless (file-exists-p desc-file)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]