Ensure that package specifications are always fetched
* lisp/emacs-lisp/package-vc.el (package-vc--archives-initialize): Add new function, extending 'package--archives-initialize'. (package-vc-install): Use new function. (package-vc-link-directory): Use new function.
This commit is contained in:
parent
60b3eb0754
commit
4097781655
1 changed files with 9 additions and 3 deletions
|
@ -451,6 +451,12 @@ the `:brach' attribute in PKG-SPEC."
|
|||
(package-vc-unpack-1 pkg-desc default-directory)))
|
||||
(package-vc-unpack-1 pkg-desc default-directory))))
|
||||
|
||||
(defun package-vc--archives-initialize ()
|
||||
"Initialise package.el and fetch package specifications."
|
||||
(package--archives-initialize)
|
||||
(unless package-vc-archive-data-alist
|
||||
(package-vc--download-and-read-archives)))
|
||||
|
||||
;;;###autoload
|
||||
(defun package-vc-install (name-or-url &optional name rev backend)
|
||||
"Fetch the source of NAME-OR-URL.
|
||||
|
@ -469,7 +475,7 @@ BACKEND. If missing, `package-vc-guess-backend' will be used."
|
|||
(progn
|
||||
;; Initialize the package system to get the list of package
|
||||
;; symbols for completion.
|
||||
(package--archives-initialize)
|
||||
(package-vc--archives-initialize)
|
||||
(let* ((packages (package-vc-sourced-packages-list))
|
||||
(input (completing-read
|
||||
"Fetch package source (name or URL): " packages))
|
||||
|
@ -480,7 +486,7 @@ BACKEND. If missing, `package-vc-guess-backend' will be used."
|
|||
(cadr (assoc input package-archive-contents #'string=))
|
||||
:release-rev)
|
||||
(user-error "No release revision was found")))))))
|
||||
(package--archives-initialize)
|
||||
(package-vc--archives-initialize)
|
||||
(cond
|
||||
((and-let* ((stringp name-or-url)
|
||||
(backend (or backend (package-vc-guess-backend name-or-url))))
|
||||
|
@ -512,7 +518,7 @@ from the base name of DIR."
|
|||
(file-name-base (directory-file-name dir))))))
|
||||
(unless (vc-responsible-backend dir)
|
||||
(user-error "Directory %S is not under version control" dir))
|
||||
(package--archives-initialize)
|
||||
(package-vc--archives-initialize)
|
||||
(let* ((name (or name (file-name-base (directory-file-name dir))))
|
||||
(pkg-dir (expand-file-name name package-user-dir)))
|
||||
(make-symbolic-link dir pkg-dir)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue