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.
(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.