aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-12-11 18:02:11 +0000
committerdos-reis <gdr@axiomatics.org>2011-12-11 18:02:11 +0000
commitd60b0772098f0907850b7cc520224a1bfb093e44 (patch)
tree1dab60a652465a872dbf15d350fb03931d9ead67 /src/interp/compiler.boot
parentc5d7d1291dad4814157c57406fdfbd233a16bcb0 (diff)
downloadopen-axiom-d60b0772098f0907850b7cc520224a1bfb093e44.tar.gz
* interp/compiler.boot (compColon): Give initial %undefined value
to local variable declarations which are not definitions. * interp/lisp-backend.boot (expandToVMForm): Translate %undefined.
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r--src/interp/compiler.boot5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 959d3b84..434f3c93 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -1715,7 +1715,10 @@ compColon([":",f,t],m,e) ==
if not $bootStrapMode and $insideFunctorIfTrue and
makeCategoryForm(t,e) is [catform,e] then
e := giveVariableSomeValue(f,t,e)
- ["/throwAway",getmode(f,e),e]
+ val :=
+ $insideCapsuleFunctionIfTrue => ['%LET,f,'%undefined]
+ "/throwAway"
+ [val,getmode(f,e),e]
unknownTypeError name ==
name:=