find-symbol (ANSI and GNU Common Lisp Document)

Next: find-package, Previous: export, Up: Packages Dictionary

#### 11.2.3 find-symbol [Function]

`find-symbol` string &optional package ⇒ symbol, status

#### Arguments and Values::

string—a string.

package—a package designator.

The default is the current package.

symbol—a symbol accessible in the package, or nil.

status—one of `:inherited`, `:external`, `:internal`, or nil.

#### Description::

find-symbol locates a symbol whose name is string in a package. If a symbol named string is found in package, directly or by inheritance, the symbol found is returned as the first value; the second value is as follows:

`:internal`

  If the symbol is present in package as an internal symbol.

`:external`

  If the symbol is present in package as an external symbol.

`:inherited`

  If the symbol is inherited by package through use-package, but is not present in package.

If no such symbol is accessible in package, both values are nil.

#### Examples::

     (find-symbol "NEVER-BEFORE-USED") ⇒  NIL, NIL
     (find-symbol "NEVER-BEFORE-USED") ⇒  NIL, NIL
     (intern "NEVER-BEFORE-USED") ⇒  NEVER-BEFORE-USED, NIL
     (intern "NEVER-BEFORE-USED") ⇒  NEVER-BEFORE-USED, :INTERNAL
     (find-symbol "NEVER-BEFORE-USED") ⇒  NEVER-BEFORE-USED, :INTERNAL
     (find-symbol "never-before-used") ⇒  NIL, NIL
     (find-symbol "CAR" 'common-lisp-user) ⇒  CAR, :INHERITED
     (find-symbol "CAR" 'common-lisp) ⇒  CAR, :EXTERNAL
     (find-symbol "NIL" 'common-lisp-user) ⇒  NIL, :INHERITED
     (find-symbol "NIL" 'common-lisp) ⇒  NIL, :EXTERNAL
     (find-symbol "NIL" (prog1 (make-package "JUST-TESTING" :use '())
                               (intern "NIL" "JUST-TESTING")))
    ⇒  JUST-TESTING::NIL, :INTERNAL
     (export 'just-testing::nil 'just-testing)
     (find-symbol "NIL" 'just-testing) ⇒  JUST-TESTING:NIL, :EXTERNAL
     (find-symbol "NIL" "KEYWORD")
    ⇒  NIL, NIL
    OR⇒ :NIL, :EXTERNAL
     (find-symbol (symbol-name :nil) "KEYWORD") ⇒  :NIL, :EXTERNAL

#### Affected By::

intern, import, export, use-package, unintern, unexport, unuse-package

#### See Also::

intern , find-all-symbols

#### Notes::

find-symbol is operationally equivalent to intern, except that it never creates a new symbol.

Next: find-package, Previous: export, Up: Packages Dictionary