(functionp): Make work correctly for macros and unbound symbols.

This commit is contained in:
Miles Bader
2001-11-08 12:12:30 +00:00
parent 7c1ce64cd6
commit 1cf72ff8eb
2 changed files with 11 additions and 3 deletions

View File

@@ -1,5 +1,8 @@
2001-11-08 Miles Bader <miles@gnu.org>
* subr.el (functionp): Make work correctly for macros and unbound
symbols.
* comint.el (comint-send-input): Fix description of
`comint-process-echoes' in the doc-string.

View File

@@ -1534,11 +1534,16 @@ configuration."
(defun functionp (object)
"Non-nil iff OBJECT is a type of object that can be called as a function."
(or (and (symbolp object) (setq object (indirect-function object))
(or (and (symbolp object)
(fboundp object)
(setq object (indirect-function object))
(eq (car-safe object) 'autoload)
(not (car-safe (cdr-safe (cdr-safe (cdr-safe (cdr-safe object)))))))
(not (eq (car-safe
(cdr-safe (cdr-safe (cdr-safe (cdr-safe object)))))
'keymap)))
(subrp object) (byte-code-function-p object)
(eq (car-safe object) 'lambda)))
(eq (car-safe object) 'lambda)
(eq (car-safe object) 'macro)))
(defun interactive-form (function)
"Return the interactive form of FUNCTION.