diff options
| author | Paul Eggert | 2016-04-11 09:07:15 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-04-11 09:07:15 -0700 |
| commit | ff2c76476479c43607825df01c78d8f239caefb5 (patch) | |
| tree | 9eb72adddeab4fb7b0cebf49df81ab31f3bf8a13 /lisp | |
| parent | d6ea6453f3d1696b9e6cd0a0222fc77dc646365c (diff) | |
| parent | 80128a784912096c6b0ee46b76b068e019cff057 (diff) | |
| download | emacs-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.el | 4 | ||||
| -rw-r--r-- | lisp/emacs-lisp/package.el | 26 |
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 |