aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/compiler.boot10
-rw-r--r--src/interp/wi1.boot4
3 files changed, 9 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 562ca4b9..09c1710a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
2010-05-05 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/compiler.boot (setqSingle): Ignore $QuickLet.
+ * interp/wi1.boot (setqSingle): Likewise.
+
+2010-05-05 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/compiler.boot (compSetq1): Call self, not compSetq.
* interp/c-util.boot (isAtomicForm): Move to g-util.boot.
* interp/g-opt.boot (optSEQ): Splice toplevel PROGN forms.
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 96661790..1c181546 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -810,19 +810,17 @@ setqSingle(id,val,m,E) ==
m'':=
get(id,"mode",E) or getmode(id,E) or
(if m=$NoValueMode then $EmptyMode else m)
--- m'':= LASSOC("mode",currentProplist) or $EmptyMode
- --for above line to work, line 3 of compNoStacking is required
T:=
eval or return nil where
eval() ==
T:= comp(val,m'',E) => T
- not get(id,"mode",E) and m'' ~= (maxm'':=maximalSuperType m'') and
+ get(id,"mode",E) = nil and m'' ~= (maxm'':=maximalSuperType m'') and
(T:=comp(val,maxm'',E)) => T
(T:= comp(val,$EmptyMode,E)) and getmode(T.mode,E) =>
assignError(val,T.mode,id,m'')
T':= [x,m',e']:= convert(T,m) or return nil
if $profileCompiler = true then
- null IDENTP id => nil
+ not IDENTP id => nil
key :=
id in rest $form => "arguments"
"locals"
@@ -840,9 +838,7 @@ setqSingle(id,val,m,E) ==
--e.g. the %LET form below will be changed by putInLocalDomainReferences
form :=
k := NRTassocIndex(id) => ["setShellEntry","$",k,x]
- $QuickLet => ["%LET",id,x]
- ["%LET",id,x,
- (isDomainForm(x,e') => ['ELT,id,0];first outputComp(id,e'))]
+ ["%LET",id,x]
[form,m',e']
assignError(val,m',form,m) ==
diff --git a/src/interp/wi1.boot b/src/interp/wi1.boot
index c285f4c3..bf86a21c 100644
--- a/src/interp/wi1.boot
+++ b/src/interp/wi1.boot
@@ -590,9 +590,7 @@ setqSingle(id,val,m,E) ==
$markFreeStack := [id,:$markFreeStack]
form:=["setShellEntry","$",k,x]
else form:=
- $QuickLet => ["%LET",id,x]
- ["%LET",id,x,
- (isDomainForm(x,e') => ['ELT,id,0];first outputComp(id,e'))]
+ ["%LET",id,x]
[form,m',e']
setqMultiple(nameList,val,m,e) ==