emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] master 8ba156f: Attempt to avoid crashes in plist-memb


From: David Kastrup
Subject: Re: [Emacs-diffs] master 8ba156f: Attempt to avoid crashes in plist-member
Date: Tue, 13 Oct 2015 15:41:29 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>> QUIT could call some Lisp.
>> Sure, but it would not return.
>
> Actually, QUIT can run Elisp and return (the `quit' signal is the only
> signal that can do that).

I have my doubt this could be the cause of the problem: between CONSP
and XCDR the value has to be kept somewhere: in a register or on the
stack.  If Lisp code were running garbage collection in between, this
cons cell would be protected due to its presence in the stack frame.

The only plausible explanation I'd have is that CONSP happens to be true
(due to the set bits in the value) but the value is garbage anyway and
points nowhere sane.  In that case, any intermittent QUIT call would be
a red herring: the XCDR would bork on the value anyway.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]