find-symbol | Function |
find-symbol string &optional package → symbol, status
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.
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:
If the symbol is present in package as an internal symbol.
If the symbol is present in package as an external symbol.
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.
(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
intern, import, export, use-package, unintern, unexport, unuse-package
find-symbol is operationally equivalent to intern, except that it never creates a new symbol.