[armedbear-cvs] r14066 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Wed Aug 8 21:49:41 UTC 2012


Author: ehuelsmann
Date: Wed Aug  8 14:49:40 2012
New Revision: 14066

Log:
Fix #168: compilation of LET-PLUS fails.

Modified:
   trunk/abcl/src/org/armedbear/lisp/precompiler.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/precompiler.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/precompiler.lisp	Tue Aug  7 23:41:52 2012	(r14065)
+++ trunk/abcl/src/org/armedbear/lisp/precompiler.lisp	Wed Aug  8 14:49:40 2012	(r14066)
@@ -492,7 +492,10 @@
 	  ((symbolp place)
            (multiple-value-bind
                  (expansion expanded)
-               (expand-macro place)
+               ;; Expand once in case the form expands
+               ;; into something that needs special
+               ;; SETF treatment
+               (macroexpand-1 place)
              (if expanded
                  (precompile1 (list* 'SETF expansion
                                      (cddr form)))
@@ -511,7 +514,10 @@
                (val (%cadr args)))
           (multiple-value-bind
                 (expansion expanded)
-              (expand-macro sym)
+              ;; Expand once in case the form expands
+              ;; into something that needs special
+              ;; SETF treatment
+              (macroexpand-1 sym)
             (if expanded
                 (precompile1 (list 'SETF expansion val))
                 (list 'SETQ sym (precompile1 val)))))




More information about the armedbear-cvs mailing list