diff options
| author | Paul Eggert | 2016-04-05 13:58:57 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-04-05 14:09:17 -0700 |
| commit | 1e4aa42aa50fe4429f0a8d147af5254d5ec960a5 (patch) | |
| tree | 152e0a9ecac68e6e4ad02b4158d08d7c715e5fc8 | |
| parent | a05fb21d73d2ca84dd7e5e7ee931931048ecddba (diff) | |
| download | emacs-1e4aa42aa50fe4429f0a8d147af5254d5ec960a5.tar.gz emacs-1e4aa42aa50fe4429f0a8d147af5254d5ec960a5.zip | |
Avoid describe-key error with lambdas
Problem reported by Sho Takemori (Bug#22716).
* lisp/cedet/mode-local.el (describe-mode-local-overload)
(xref-mode-local-overload): Use function-overload-p instead
of assuming the argument is a symbol.
| -rw-r--r-- | lisp/cedet/mode-local.el | 4 |
1 files changed, 2 insertions, 2 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)))) |