[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
STRING fenceposts, and other problems
- To: DUFTY at MIT-MC, JONL at MIT-MC
- Subject: STRING fenceposts, and other problems
- From: Jon L White <JONL at MIT-MC>
- Date: Sat, 8 Aug 81 08:17:00 GMT
- Cc: BUG-LISP at MIT-MC
- Original-date: 8 August 1981 04:17-EDT
Date: 7 August 1981 09:45-EDT
From: Dennis L. Doughty <DUFTY at MIT-MC>
In basic vanilla XL,
without string package ((LISP) STRING) loaded:
(EQUAL "ASDF" "ASDF") => NIL
(ALPHALESSP 'A "B") => T
With string package loaded:
(EQUAL "ASDF" "ASDF") => T
(ALPHALESSP 'A "B") => NIL
I really think that these should return T in all four cases...
Without the STRING package loaded (EQUAL "ASDF" "ASDF") has to
obey the defintion for EQUAL on symbols, namely EQ. Since the
losing pseudo-string feature creates un-interned symbols, then
these two frobs aren't EQUAL. It would be the wrong approach
to try to have EQUAL switch to SAMEPNAMEP instead of EQ for symbols.
However, when the STRING package is loaded, the case
(ALPHALESSP 'A "B") => NIL
was indeed a bug that is finally fixed in STRING version 162.
Date: 7 August 1981 21:29-EDT
From: Jon L White <JONL at MIT-MC>
Subject: STRING-REVERSE-SEARCH-<foo>
(STRING-REVERSE-SEARCH "ab" "abcdefghi" 4) => NIL
(STRING-REVERSE-SEARCH-SET '(#/a) "abca" 3) => 3
. . .
These 'fence-post' errors are corrected in STRAUX 72 and STRING 162
so that both cases properly return 0.