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

USRHUNK bug



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.