From c6b75337ce38a89d814915bd64b10156cbb2e20b Mon Sep 17 00:00:00 2001 From: Stephen Adams Date: Tue, 11 Jul 1995 21:42:10 +0000 Subject: [PATCH] Forced left-to-right processing of subexpression so that recursive compilations come out in source code order. --- v8/src/compiler/midend/envconv.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/v8/src/compiler/midend/envconv.scm b/v8/src/compiler/midend/envconv.scm index 96c9f2ba6..cb82b6d54 100644 --- a/v8/src/compiler/midend/envconv.scm +++ b/v8/src/compiler/midend/envconv.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: envconv.scm,v 1.13 1995/07/06 19:54:08 adams Exp $ +$Id: envconv.scm,v 1.14 1995/07/11 21:42:10 adams Exp $ Copyright (c) 1994-1995 Massachusetts Institute of Technology @@ -366,9 +366,12 @@ MIT in each case. |# (envconv/expr env expr)) (define (envconv/expr* env exprs) - (map (lambda (expr) - (envconv/expr env expr)) - exprs)) + ;; Go left to right to ensure recursive compilations occur in `source' + ;; order. Dont use MAP which may go in either order. + (let loop ((exprs exprs) (fin '())) + (if (null? exprs) + (reverse! fin) + (loop (cdr exprs) (cons (envconv/expr env (car exprs)) fin))))) (define (envconv/remember new old block) (call-with-values -- 2.25.1