aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-04-05 13:58:57 -0700
committerPaul Eggert2016-04-05 14:09:17 -0700
commit1e4aa42aa50fe4429f0a8d147af5254d5ec960a5 (patch)
tree152e0a9ecac68e6e4ad02b4158d08d7c715e5fc8
parenta05fb21d73d2ca84dd7e5e7ee931931048ecddba (diff)
downloademacs-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.el4
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))))