Subject: symbols, internal or external?
From: Erik Naggum <>
Date: 1997/04/22
Newsgroups: comp.lang.lisp
Message-ID: <>

I have been looking for a function to learn whether a symbol is internal,
external, or inherited in a given package, but find that both `find-symbol'
and `intern' only take arguments of type _string_, not _string designator_
ever since CLtL2.  right now, I can find what I'm looking for with

(defun symbol-information (symbol)
  (let* ((name (symbol-name symbol))
	 (package (symbol-package symbol))
	 (status (nth-value 1 (find-symbol name package))))
    (values status name package)))

but this seems like such a waste.

since the Lisp printer must determine whether a symbol is accessible in the
default package or internal or external in some package all the time, I'd
thought I could have access to that information, too.  suggestions?

(I'm aware of the `with-package-iterator' macro, which uses a lot of
internal functions in all the implementations I have that support it.)

Bastard Sex Therapist from Hell: "Read the F*cking Manual!"