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

Erik Huelsmann ehuelsmann at common-lisp.net
Fri May 1 20:40:07 UTC 2009


Author: ehuelsmann
Date: Fri May  1 16:40:07 2009
New Revision: 11810

Log:
Fix file compilation with :output-file parameter
compiling code which uses a :compile-toplevel EVAL-WHEN
condition.

Found by: Stas Boukarev (stassats at gmail)

Modified:
   trunk/abcl/src/org/armedbear/lisp/compile-file.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/compile-file.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compile-file.lisp	(original)
+++ trunk/abcl/src/org/armedbear/lisp/compile-file.lisp	Fri May  1 16:40:07 2009
@@ -313,7 +313,13 @@
                     (t
 ;;                      (setf form (precompile-form form nil))
                      (note-toplevel-form form)
-                     (setf form (convert-toplevel-form form))
+                     (let ((new-form (convert-toplevel-form form)))
+                       (when (consp new-form)
+                         (dump-form new-form stream)
+                         (%stream-terpri stream)))
+                     (when compile-time-too
+                       (eval form))
+                     (return-from process-toplevel-form)
                      )))))))
   (when (consp form)
     (dump-form form stream)




More information about the armedbear-cvs mailing list