]> git.eshelyaron.com Git - emacs.git/commitdiff
Respect :lisp-dir whilst scanning for VC package dependencies
authorSteven Allen <steven@stebalien.com>
Sat, 10 Feb 2024 18:05:11 +0000 (10:05 -0800)
committerEshel Yaron <me@eshelyaron.com>
Wed, 14 Feb 2024 08:16:44 +0000 (09:16 +0100)
* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1):
Scan 'lisp-dir', if set, for lisp files instead of scanning the root
package directory.  (Bug#69019)

(cherry picked from commit 7c23234b4ea43a033e06eb466008e0dc8485920b)

lisp/emacs-lisp/package-vc.el

index fc402716dabb5dfd7a97eeb539a91db08d1401f0..37980c28b0215c04982c199b248a00527630c360 100644 (file)
@@ -501,8 +501,10 @@ This includes downloading missing dependencies, generating
 autoloads, generating a package description file (used to
 identify a package as a VC package later on), building
 documentation and marking the package as installed."
-  (let ((pkg-spec (package-vc--desc->spec pkg-desc))
-        missing)
+  (let* ((pkg-spec (package-vc--desc->spec pkg-desc))
+         (lisp-dir (plist-get pkg-spec :lisp-dir))
+         (lisp-path (file-name-concat pkg-dir lisp-dir))
+         missing)
 
     ;; In case the package was installed directly from source, the
     ;; dependency list wasn't know beforehand, and they might have
@@ -519,7 +521,7 @@ documentation and marking the package as installed."
                 "\\|")
              regexp-unmatchable))
           (deps '()))
-      (dolist (file (directory-files pkg-dir t "\\.el\\'" t))
+      (dolist (file (directory-files lisp-path t "\\.el\\'" t))
         (unless (string-match-p ignored-files file)
           (with-temp-buffer
             (insert-file-contents file)
@@ -542,10 +544,8 @@ documentation and marking the package as installed."
           (pkg-file (expand-file-name (package--description-file pkg-dir) pkg-dir)))
       ;; Generate autoloads
       (let* ((name (package-desc-name pkg-desc))
-             (auto-name (format "%s-autoloads.el" name))
-             (lisp-dir (plist-get pkg-spec :lisp-dir)))
-        (package-generate-autoloads
-         name (file-name-concat pkg-dir lisp-dir))
+             (auto-name (format "%s-autoloads.el" name)))
+        (package-generate-autoloads name lisp-path)
         (when lisp-dir
           (write-region
            (with-temp-buffer