[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Apropos case sensitive?



I too think Lucid's case-sensitive apropos is wrong. After all, APROPOS is
searching SYMBOL print-names for substring matches. In Common LISP, symbol
print-names get converted to uppercase (unless enclosed with vertical bars
or backslashed or "manually" created with intern). Thus (unless you make
heavy use either vertical bars or backslashes), most of the print-names of
the symbols typed in (or loaded from files) by users will have all uppercase
names. Since most people using Common LISP are probably not using caps only
terminals (such as the Teletype Model 33) or have the Caps-Lock key down,
they will be entering expressions (either in files or interactively) using
mostly lowercase letters. While it is posible to allways pass a SYMBOL to
apropos, this has the side affect of actually creating a symbol which will
match the symbol(s) sought (the one passed as the argument to apropos). This
is probably tolerable (although posibly confusing to novices) for
interactive queries. It can cause problems with functions using apropos-list
(functions which do something to all symbols which have some special
character sequence in them).

The apropos function on both of the other Common LISPs I have used (DEC
VAX/VMS VAX-LISP and TI Explorer LISP) is case-insensitive.  In fact when I
had need to mess with Lucid LISP on a loaner SUN, I put the case-insensitive
version of apropos into the function slot of apropos in my init file (and
later into the saved system).

Also, there is in Common LISP a case-insensitve string compare function:
EQUALP.  (EQUALP "FOO" "foo") => T (last example, page 82 of CLtL).

		Robert Heller
ARPANet:	Heller@CS.UMass.EDU
BITNET:		Heller@UMass.BITNET
BIX:		Heller
GEnie:		RHeller
FidoNet:	321/148 (Locks Hill BBS, Wendell, MA)
CompuServe	71450,3432
Local PV VAXen:	COINS::HELLER
UCC Cyber/DG:	Heller@CS