Go to the first, previous, next, last section, table of contents.


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::

section intern [Function] , section find-all-symbols [Function]

Notes::

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


Go to the first, previous, next, last section, table of contents.