[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: do-xxx-symbols
- To: Fahlman@CMU-CS-C.ARPA
- Subject: Re: do-xxx-symbols
- From: Charles Hedrick <HEDRICK@RUTGERS.ARPA>
- Date: Tue, 05 Mar 1985 01:50:00 -0000
- Cc: RAM@CMU-CS-C.ARPA, common-lisp@SU-AI.ARPA
- In-reply-to: Message from ""Scott E. Fahlman" <Fahlman@CMU-CS-C.ARPA>" of 4 Mar 85 13:46:00 EST
There are at least four reasons why the description of DO-SYMBOLS does
not appear to include symbols in used packages:
1) "do-symbols provides straightforward iteration over the symbols
of a package". Searching all the used packages is not straightforward
iteration over the package.
2) There is an implication that UNINTERN can be called to remove symbols
from the package. UNINTERN'ing a symbol in a used package does not
exactly remove it from the package under discussion.
3) It is said that every symbol is processed once. In DO-ALL-SYMBOLS
there is an explicit warning that symbols may occur more than once. The
implication is that this is not true for DO-SYMBOLS. If DO-SYMBOLS
was supposed to look at used packages, then the same warning would
apply to it.
4) DO-EXTERNAL-SYMBOLS says that it is like DO-SYMBOLS, but only
the external symbols of the specified package are used. The wording
of DO-EXTERNAL-SYMBOLS seems to imply even more clearly that only
the specified package is scanned, not any used packages. It also seems
to imply that DO-SYMBOLS does the same thing, but for both internal and
external symbols.
Can we get an authoritative statement about what is covered by
DO-SYMBOLS and DO-EXTERNAL-SYMBOLS, and about whether duplicates and
shadowed symbols should be removed? I think this question is
separate from the APROPOS question. APROPOS with no argument is
documented as using DO-ALL-SYMBOLS. But with an argument it is not
said to use DO-SYMBOLS. So it would be perfectly acceptable to
say that DO-SYMBOLS looks only at the symbols in a particular
package, whereas APROPOS following the used chain. (Indeed that is
what I have done for the moment.)
-------