Commit fdb4f6635351b3f3b15b5e948c39e9efcdd615df causing Emacs to crash for me

Štěpán Němec stepnem at gmail.com
Thu Aug 25 20:25:19 CEST 2011


On Thu, 25 Aug 2011 19:12:20 +0200
Vegard Øye wrote:

[...]

> But there are some issues that should be fixed, one of them being a
> conflict between the backquote and the read syntax for
> self-referential structures. For an example straight out of the Emacs
> Lisp Reference Manual, you can write a list that has itself as the
> second element like this:
>
>     (setq x '#1=(a #1#))
>
> Substitute the quote with a backquote, though, and Emacs signals
> the error "Variable binding depth exceeds max-specpdl-size":
>
>     (setq x `#1=(a #1#))
>
> Then there's the case of self-referential lambda functions. If you
> write the function below, how will it byte-compile?
>
>     '#1=(lambda () #1#)

I don't think there is anything surprising about either of your
examples: both ``' and `lambda' are macros, so if you create a cycle, it
expands and expands and expands and expands and expands... you get the
idea.

OTOH, if I understand correctly, Tim said that his Emacs crashed. No
matter what you do in Elisp, Emacs should never crash, so that would
definitely be a candidate for `report-emacs-bug'.

-- 
Štěpán



More information about the implementations-list mailing list