fboundp (ANSI and GNU Common Lisp Document)

Next: fmakunbound, Previous: fdefinition, Up: Data and Control Flow Dictionary

#### 5.3.4 fboundp [Function]

`fboundp` name ⇒ generalized-boolean

#### Pronunciation::

pronounced ,ef ’baund p\=e

#### Arguments and Values::

name—a function name.

generalized-boolean—a generalized boolean.

#### Description::

Returns true if name is fbound; otherwise, returns false.

#### Examples::

     (fboundp 'car) ⇒  true
     (fboundp 'nth-value) ⇒  false
     (fboundp 'with-open-file) ⇒  true
     (fboundp 'unwind-protect) ⇒  true
     (defun my-function (x) x) ⇒  MY-FUNCTION
     (fboundp 'my-function) ⇒  true
     (let ((saved-definition (symbol-function 'my-function)))
       (unwind-protect (progn (fmakunbound 'my-function)
                              (fboundp 'my-function))
         (setf (symbol-function 'my-function) saved-definition)))
    ⇒  false
     (fboundp 'my-function) ⇒  true
     (defmacro my-macro (x) `',x) ⇒  MY-MACRO
     (fboundp 'my-macro) ⇒  true
     (fmakunbound 'my-function) ⇒  MY-FUNCTION
     (fboundp 'my-function) ⇒  false
     (flet ((my-function (x) x))
       (fboundp 'my-function)) ⇒  false

#### Exceptional Situations::

Should signal an error of type type-error if name is not a function name.

#### See Also::

symbol-function , fmakunbound , fdefinition

#### Notes::

It is permissible to call symbol-function on any symbol that is fbound.

fboundp is sometimes used to “guard” an access to the function cell, as in:

    (if (fboundp x) (symbol-function x))

Defining a setf expander F does not cause the setf function `(setf F)` to become defined.