]> code.delx.au - gnu-emacs/commitdiff
Avoid describe-key error with lambdas
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Apr 2016 20:58:57 +0000 (13:58 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Apr 2016 21:09:17 +0000 (14:09 -0700)
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.

lisp/cedet/mode-local.el

index c7e6615e0dfc5aaf0ae55c73171e2061c91c2819..4f424313ab735d00ced0a08f97e294717831b09f 100644 (file)
@@ -638,7 +638,7 @@ SYMBOL is a function that can be overridden."
 
 (defun describe-mode-local-overload (symbol)
   "For `help-fns-describe-function-functions'; add overloads for SYMBOL."
-  (when (get symbol 'mode-local-overload)
+  (when (function-overload-p symbol)
     (let ((default (or (intern-soft (format "%s-default" (symbol-name symbol)))
                       symbol))
          (override (with-current-buffer describe-function-orig-buffer
@@ -684,7 +684,7 @@ SYMBOL is a function that can be overridden."
 (defun xref-mode-local-overload (symbol)
   "For `elisp-xref-find-def-functions'; add overloads for SYMBOL."
   ;; Current buffer is the buffer where xref-find-definitions was invoked.
-  (when (get symbol 'mode-local-overload)
+  (when (function-overload-p symbol)
     (let* ((symbol-file (find-lisp-object-file-name symbol (symbol-function symbol)))
           (default (intern-soft (format "%s-default" (symbol-name symbol))))
           (default-file (when default (find-lisp-object-file-name default (symbol-function default))))