[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
USRHUNK bug
- To: BUG-LISP at MIT-MC
- Subject: USRHUNK bug
- From: Alan Bawden <ALAN at MIT-MC>
- Date: Wed, 17 Nov 82 21:18:00 GMT
- Cc: KWH at MIT-MC
- Original-date: 17 November 1982 16:18-EST
With (STATUS USRHU) set to a predicate that always returns T.
And (STATUS SENDI) set to a COMPLR-compiled LEXPR.
Doing:
(setq a (hunk 1 2 3))
(delete a (list (hunk 4 5 6) a))
JUMPs to location 0. This is because .DELETE keeps the MEMBER subr in
accumulator D, but nobody bothers to save D when calling out to the
SENDI handler (and because the standard .LCALL stuff makes free with D).
Actually I don't see any comments in the source to the effect that MEMBER,
MEMQ, etc. are supposed to preserve D.