emacs-devel
[Top][All Lists]
Advanced

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

Re: Strange change in backquote expansion


From: Stefan Monnier
Subject: Re: Strange change in backquote expansion
Date: Tue, 21 Aug 2007 15:09:22 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux)

> Old Emacs (including 22.0):
> (defmacro debug-macro-test (arg)
>   ``(,,@(list (list arg))))

> (macroexpand '(debug-macro-test foo))
> => (list (foo))

I believe the patch below fixes it (installed on the 22 branch).


        Stefan


--- orig/lisp/emacs-lisp/backquote.el
+++ mod/lisp/emacs-lisp/backquote.el
@@ -110,9 +110,8 @@
 (defun backquote-delay-process (s level)
   "Process a (un|back|splice)quote inside a backquote.
 This simply recurses through the body."
-  (let ((exp (backquote-listify (list (backquote-process (nth 1 s) level)
-                                      (cons 0 (list 'quote (car s))))
-                                '(0))))
+  (let ((exp (backquote-listify (list (cons 0 (list 'quote (car s))))
+                                (backquote-process (cdr s) level))))
     (if (eq (car-safe exp) 'quote)
         (cons 0 (list 'quote s))
       (cons 1 exp))))




reply via email to

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