aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert2016-04-11 09:07:15 -0700
committerPaul Eggert2016-04-11 09:07:15 -0700
commitff2c76476479c43607825df01c78d8f239caefb5 (patch)
tree9eb72adddeab4fb7b0cebf49df81ab31f3bf8a13 /lisp
parentd6ea6453f3d1696b9e6cd0a0222fc77dc646365c (diff)
parent80128a784912096c6b0ee46b76b068e019cff057 (diff)
downloademacs-ff2c76476479c43607825df01c78d8f239caefb5.tar.gz
emacs-ff2c76476479c43607825df01c78d8f239caefb5.zip
Merge from origin/emacs-25
80128a7 Fix stability confusion in sort-tests 1e4aa42 Avoid describe-key error with lambdas a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag... f501116 Sync with gnulib c4963f9 Fix doc for Universal Time
Diffstat (limited to 'lisp')
-rw-r--r--lisp/cedet/mode-local.el4
-rw-r--r--lisp/emacs-lisp/package.el26
2 files changed, 17 insertions, 13 deletions
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index c7e6615e0df..4f424313ab7 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -638,7 +638,7 @@ SYMBOL is a function that can be overridden."
638 638
639(defun describe-mode-local-overload (symbol) 639(defun describe-mode-local-overload (symbol)
640 "For `help-fns-describe-function-functions'; add overloads for SYMBOL." 640 "For `help-fns-describe-function-functions'; add overloads for SYMBOL."
641 (when (get symbol 'mode-local-overload) 641 (when (function-overload-p symbol)
642 (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol))) 642 (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol)))
643 symbol)) 643 symbol))
644 (override (with-current-buffer describe-function-orig-buffer 644 (override (with-current-buffer describe-function-orig-buffer
@@ -684,7 +684,7 @@ SYMBOL is a function that can be overridden."
684(defun xref-mode-local-overload (symbol) 684(defun xref-mode-local-overload (symbol)
685 "For `elisp-xref-find-def-functions'; add overloads for SYMBOL." 685 "For `elisp-xref-find-def-functions'; add overloads for SYMBOL."
686 ;; Current buffer is the buffer where xref-find-definitions was invoked. 686 ;; Current buffer is the buffer where xref-find-definitions was invoked.
687 (when (get symbol 'mode-local-overload) 687 (when (function-overload-p symbol)
688 (let* ((symbol-file (find-lisp-object-file-name symbol (symbol-function symbol))) 688 (let* ((symbol-file (find-lisp-object-file-name symbol (symbol-function symbol)))
689 (default (intern-soft (format "%s-default" (symbol-name symbol)))) 689 (default (intern-soft (format "%s-default" (symbol-name symbol))))
690 (default-file (when default (find-lisp-object-file-name default (symbol-function default)))) 690 (default-file (when default (find-lisp-object-file-name default (symbol-function default))))
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 869c1549658..4da66d2fabf 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2027,17 +2027,21 @@ If some packages are not installed propose to install them."
2027 ;; gets installed). 2027 ;; gets installed).
2028 (if (not package-selected-packages) 2028 (if (not package-selected-packages)
2029 (message "`package-selected-packages' is empty, nothing to install") 2029 (message "`package-selected-packages' is empty, nothing to install")
2030 (cl-loop for p in package-selected-packages 2030 (let* ((not-installed (seq-remove #'package-installed-p package-selected-packages))
2031 unless (package-installed-p p) 2031 (available (seq-filter (lambda (p) (assq p package-archive-contents)) not-installed))
2032 collect p into lst 2032 (difference (- (length not-installed) (length available))))
2033 finally 2033 (cond
2034 (if lst 2034 (available
2035 (when (y-or-n-p 2035 (when (y-or-n-p
2036 (format "%s packages will be installed:\n%s, proceed?" 2036 (format "%s packages will be installed:\n%s, proceed?"
2037 (length lst) 2037 (length available)
2038 (mapconcat #'symbol-name lst ", "))) 2038 (mapconcat #'symbol-name available ", ")))
2039 (mapc #'package-install lst)) 2039 (mapc (lambda (p) (package-install p 'dont-select)) available)))
2040 (message "All your packages are already installed"))))) 2040 ((> difference 0)
2041 (message "%s packages are not available (the rest already installed), maybe you need to `M-x package-refresh-contents'"
2042 difference))
2043 (t
2044 (message "All your packages are already installed"))))))
2041 2045
2042 2046
2043;;; Package Deletion 2047;;; Package Deletion