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