From: Guillermo J. Rozas Date: Wed, 24 Mar 1993 02:44:26 +0000 (+0000) Subject: Fix bug in canonicalize/lambda. Lambda expressions that need the X-Git-Tag: 20090517-FFI~8399 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=87dadea6fb58d53c1ac96e58e7d61164a2a8f11e;p=mit-scheme.git Fix bug in canonicalize/lambda. Lambda expressions that need the binding of #[environment] cannot be compiled separately. --- diff --git a/v7/src/compiler/fggen/canon.scm b/v7/src/compiler/fggen/canon.scm index f9a03acf8..06c1459a6 100644 --- a/v7/src/compiler/fggen/canon.scm +++ b/v7/src/compiler/fggen/canon.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: canon.scm,v 1.14 1993/03/10 02:36:21 gjr Exp $ +$Id: canon.scm,v 1.15 1993/03/24 02:44:26 gjr Exp $ Copyright (c) 1988-1993 Massachusetts Institute of Technology @@ -322,9 +322,10 @@ ARBITRARY: The expression may be executed more than once. It (canonicalize/lambda* expr bound (if (eq? context 'FIRST-CLASS) 'FIRST-CLASS 'ARBITRARY)))) - (if (not (and (eq? context 'TOP-LEVEL) - (canout-safe? canout) - compiler:compile-by-procedures?)) + (if (or (not (eq? context 'TOP-LEVEL)) + (not (canout-safe? canout)) + (canout-needs? canout) + (not compiler:compile-by-procedures?)) canout (make-canout (scode/make-directive