GNU bug report logs -
#75593
31.0.50; Faulty macro kills Emacs
Previous Next
Full log
Message #35 received at 75593 <at> debbugs.gnu.org (full text, mbox):
"Eli Zaretskii" <eliz <at> gnu.org> writes:
>> Date: Thu, 16 Jan 2025 12:08:37 +0000
>> From: Pip Cet <pipcet <at> protonmail.com>
>> Cc: monnier <at> iro.umontreal.ca, mattiase <at> acm.org, ahprae <at> protonmail.com, 75593 <at> debbugs.gnu.org
>>
>> >> (Also, this is not primarily about circular lists, it's about non-lists
>> >> in general).
>> >
>> > That should be easy to detect up front, no? I thought the issue was
>> > about a cons cell vs a proper list.
>>
>> Sorry, but I don't see a way of checking that we're looking at a proper
>> list that's cheaper that list_length: we need to find the last cons
>> cell, so we need to walk the list, and counting cells while we're doing
>> so should not affect performance.
>
> No, I meant to detect objects that are not CONSP, but something else:
> a number, a symbol, a string, etc. I thought this was what you meant
> by "non-lists".
Oh, my apologies. I said "non-list" when what I meant was an "improper
list", in Emacs jargon. Dotted "lists" caused the crash for the OP;
circular "lists" cause infloops, but no crashes. The code already
treats !CONSP !NILP objects specially (only Qt as a value is documented,
the rest are silently treated like Qt is).
Pip
This bug report was last modified 208 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.