GNU bug report logs - #75593
31.0.50; Faulty macro kills Emacs

Previous Next

Package: emacs;

Reported by: Alexander Prähauser <ahprae <at> protonmail.com>

Date: Wed, 15 Jan 2025 19:01:01 UTC

Severity: normal

Found in version 31.0.50

Full log


Message #53 received at 75593 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Pip Cet <pipcet <at> protonmail.com>
Cc: ahprae <at> protonmail.com, mattiase <at> acm.org, Eli Zaretskii <eliz <at> gnu.org>,
 75593 <at> debbugs.gnu.org
Subject: Re: bug#75593: 31.0.50; Faulty macro kills Emacs
Date: Fri, 17 Jan 2025 08:49:27 -0500
> Do we need to fix the case where the lexenv variable is modified by Lisp
> code while it is the lexical environment?
>
> (defmacro f () x)
> (let ((l (list (cons 'l nil))))
>   (setcdr (car l) l)
>   (eval '(progn
> 	   (setcdr l 3)
> 	   (f))
> 	l))
>
> crashes (this is the dotted-list case; the circular case causes an
> unquittable infloop).

đŸ˜ˆ

> If that's true, maybe we should simply fix the Qmacro code in eval_sub
> and hope for the best.

Sounds good to me,


        Stefan





This bug report was last modified 155 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.