FBOUNDP tests whether the symbol is globally bound to an operator (e.g., a function, macro, or special form). SYMBOL-FUNCTION returns the contents of a symbol's "function slot" if the symbol names a function. But if the symbol names a macro or special form, it is completely unspecified what a call to SYMBOL-FUNCTION will return. Instead, use code like the following to test whether a symbol names a function: (defun fbound-to-function-p (symbol) (and (fboundp symbol) (not (macro-function symbol)) (not (special-operator-p symbol)))) ---------------------------------------------------------------- ;;; *EOF*Go Back Up