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

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Fri Aug 12 18:53:47 UTC 2011


Author: ehuelsmann
Date: Fri Aug 12 11:53:46 2011
New Revision: 13468

Log:
Move variable-updating form to ditch PROGN form (and locally untabify).

Modified:
   trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp	Fri Aug 12 05:27:14 2011	(r13467)
+++ trunk/abcl/src/org/armedbear/lisp/compiler-pass1.lisp	Fri Aug 12 11:53:46 2011	(r13468)
@@ -724,27 +724,27 @@
 
 (defmacro with-local-functions-for-flet/labels
     (form local-functions-var lambda-list-var name-var body-var body1 body2)
-  `(progn (incf (compiland-children *current-compiland*) (length (cadr ,form)))
-	  (let ((*visible-variables* *visible-variables*)
-		(*local-functions* *local-functions*)
-		(*current-compiland* *current-compiland*)
-		(,local-functions-var '()))
-	    (dolist (definition (cadr ,form))
-	      (let ((,name-var (car definition))
-		    (,lambda-list-var (cadr definition)))
-		(validate-function-name ,name-var)
-		(let* ((,body-var (cddr definition))
-		       (compiland (make-compiland :name ,name-var
-						  :parent *current-compiland*)))
-		  , at body1)))
-	    (setf ,local-functions-var (nreverse ,local-functions-var))
-	    ;; Make the local functions visible.
-	    (dolist (local-function ,local-functions-var)
-	      (push local-function *local-functions*)
-	      (let ((variable (local-function-variable local-function)))
-		(when variable
-		  (push variable *visible-variables*))))
-	    , at body2)))
+  `(let ((*visible-variables* *visible-variables*)
+         (*local-functions* *local-functions*)
+         (*current-compiland* *current-compiland*)
+         (,local-functions-var '()))
+     (incf (compiland-children *current-compiland*) (length (cadr ,form)))
+     (dolist (definition (cadr ,form))
+       (let ((,name-var (car definition))
+             (,lambda-list-var (cadr definition)))
+         (validate-function-name ,name-var)
+         (let* ((,body-var (cddr definition))
+                (compiland (make-compiland :name ,name-var
+                                           :parent *current-compiland*)))
+           , at body1)))
+     (setf ,local-functions-var (nreverse ,local-functions-var))
+     ;; Make the local functions visible.
+     (dolist (local-function ,local-functions-var)
+       (push local-function *local-functions*)
+       (let ((variable (local-function-variable local-function)))
+         (when variable
+           (push variable *visible-variables*))))
+     , at body2))
 
 (defun split-decls (forms specific-vars)
   (let ((other-decls nil)




More information about the armedbear-cvs mailing list