[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