diff options
author | Andy Wingo <wingo@pobox.com> | 2009-04-16 15:20:40 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-04-16 15:20:40 +0200 |
commit | b41b92c9d1c439ddfc5c081b3949e9d1763de181 (patch) | |
tree | 5b24839cf3c6ff8b69140f020b0f9499dbd28369 /module/language/objcode/spec.scm | |
parent | 275baf01136895093570725fe55c4104725a9387 (diff) | |
download | guile-b41b92c9d1c439ddfc5c081b3949e9d1763de181.tar.gz |
compilation passes return third value: the continuation environment
* module/system/base/compile.scm: Expect compile passes to produce three
values, not two. The third is the "continuation environment", the
environment that can be used to compile a subsequent expression from
the same source language. For example, expansion-time side effects can
set the current module, which would be reflected appropriately in the
continuation environment.
* module/language/assembly/compile-bytecode.scm:
* module/language/bytecode/spec.scm:
* module/language/ecmascript/compile-ghil.scm:
* module/language/ghil/compile-glil.scm:
* module/language/glil/spec.scm:
* module/language/objcode/spec.scm:
* module/language/scheme/compile-ghil.scm:
* module/system/base/compile.scm: Update compile passes to return a
continuation environment.
Diffstat (limited to 'module/language/objcode/spec.scm')
-rw-r--r-- | module/language/objcode/spec.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/module/language/objcode/spec.scm b/module/language/objcode/spec.scm index 9ce8bf5e5..c60829974 100644 --- a/module/language/objcode/spec.scm +++ b/module/language/objcode/spec.scm @@ -40,8 +40,8 @@ (save-module-excursion (lambda () (set-current-module (objcode-env-module e)) - (values (thunk) #f))) - (values (thunk) #f)))) + (values (thunk) #f e))) + (values (thunk) #f e)))) ;; since locals are allocated on the stack and can have limited scope, ;; in many cases we use one local for more than one lexical variable. so |