Init archive and add noconfirm to 'package-install-selected-packages'
* lisp/emacs-lisp/package.el (package-install-selected-packages): Add call to 'package--archives-initialize' and add optional argument NOCONFIRM to skip user confirmation when installing packages. (Bug#47124)
This commit is contained in:
parent
ca7cb9830b
commit
2d12df3926
1 changed files with 10 additions and 6 deletions
|
@ -2206,10 +2206,13 @@ directory."
|
|||
(package-install-from-buffer)))
|
||||
|
||||
;;;###autoload
|
||||
(defun package-install-selected-packages ()
|
||||
(defun package-install-selected-packages (&optional noconfirm)
|
||||
"Ensure packages in `package-selected-packages' are installed.
|
||||
If some packages are not installed propose to install them."
|
||||
If some packages are not installed, propose to install them.
|
||||
If optional argument NOCONFIRM is non-nil, don't ask for
|
||||
confirmation to install packages."
|
||||
(interactive)
|
||||
(package--archives-initialize)
|
||||
;; We don't need to populate `package-selected-packages' before
|
||||
;; using here, because the outcome is the same either way (nothing
|
||||
;; gets installed).
|
||||
|
@ -2220,10 +2223,11 @@ If some packages are not installed propose to install them."
|
|||
(difference (- (length not-installed) (length available))))
|
||||
(cond
|
||||
(available
|
||||
(when (y-or-n-p
|
||||
(format "Packages to install: %d (%s), proceed? "
|
||||
(length available)
|
||||
(mapconcat #'symbol-name available " ")))
|
||||
(when (or noconfirm
|
||||
(y-or-n-p
|
||||
(format "Packages to install: %d (%s), proceed? "
|
||||
(length available)
|
||||
(mapconcat #'symbol-name available " "))))
|
||||
(mapc (lambda (p) (package-install p 'dont-select)) available)))
|
||||
((> difference 0)
|
||||
(message "Packages that are not available: %d (the rest is already installed), maybe you need to `M-x package-refresh-contents'"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue