aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/define.boot4
-rw-r--r--src/interp/lisplib.boot3
-rw-r--r--src/interp/wi1.boot2
-rw-r--r--src/interp/wi2.boot2
5 files changed, 10 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6548cfb3..bfaf4ae0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,11 @@
2008-08-19 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/lisplib.boot (compDefineLisplib): Don't update
+ $CategoryFrame with modemap for the constructor we just finished
+ compiling.
+
+2008-08-19 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/database.boot (pathToDatabase): Honor $verbose.
* interp/compiler.boot (COMP-1): Likewise.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 75944abb..27b91ce9 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -335,7 +335,7 @@ compDefineCategory2(form,signature,specialCases,body,m,e,
pairlis:= [[a,:v] for a in argl for v in $FormalMapVariableList]
parSignature:= SUBLIS(pairlis,signature')
parForm:= SUBLIS(pairlis,form)
- rwriteLispForm('"compilerInfo",
+ evalAndRwriteLispForm('"compilerInfo",
removeZeroOne ['SETQ,'$CategoryFrame,
['put,['QUOTE,op'],'
(QUOTE isCategory),true,['addModemap,MKQ op',MKQ parForm,
@@ -570,7 +570,7 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body],
$lisplibSlot1 := $NRTslot1Info --NIL or set by $NRTmakeSlot1
$lisplibOperationAlist:= operationAlist
$lisplibMissingFunctions:= $CheckVectorList
- rwriteLispForm('"compilerInfo",
+ evalAndRwriteLispForm('"compilerInfo",
removeZeroOne ['SETQ,'$CategoryFrame,
['put,['QUOTE,op'],'
(QUOTE isFunctor),
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 4cb029f2..c7d6a44c 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -381,9 +381,6 @@ compDefineLisplib(df:=["DEF",[op,:.],:.],m,e,prefix,fal,fn) ==
unloadOneConstructor(op,libName)
LOCALDATABASE(LIST SYMBOL_-NAME getConstructorAbbreviationFromDB op,NIL)
$newConlist := [op, :$newConlist] ----------> bound in function "compiler"
- if $lisplibKind = 'category
- then updateCategoryFrameForCategory op
- else updateCategoryFrameForConstructor op
res
compileDocumentation libName ==
diff --git a/src/interp/wi1.boot b/src/interp/wi1.boot
index 846e7183..798aae6b 100644
--- a/src/interp/wi1.boot
+++ b/src/interp/wi1.boot
@@ -1232,7 +1232,7 @@ compDefineCategory2(form,signature,specialCases,body,m,e,
pairlis:= [[a,:v] for a in argl for v in $FormalMapVariableList]
parSignature:= SUBLIS(pairlis,signature')
parForm:= SUBLIS(pairlis,form)
----- rwriteLispForm('"compilerInfo",
+---- evalAndRwriteLispForm('"compilerInfo",
---- ['SETQ,'$CategoryFrame,
---- ['put,['QUOTE,op'],'
---- (QUOTE isCategory),true,['addModemap,MKQ op',MKQ parForm,
diff --git a/src/interp/wi2.boot b/src/interp/wi2.boot
index 67b5e115..33768c2d 100644
--- a/src/interp/wi2.boot
+++ b/src/interp/wi2.boot
@@ -225,7 +225,7 @@ compDefineFunctor1(df, m,$e,$prefix,$formalArgList) ==
$lisplibSlot1 := $NRTslot1Info --NIL or set by $NRTmakeSlot1
$lisplibOperationAlist:= operationAlist
$lisplibMissingFunctions:= $CheckVectorList
- rwriteLispForm('"compilerInfo",
+ evalAndRwriteLispForm('"compilerInfo",
['SETQ,'$CategoryFrame,
['put,['QUOTE,op'],'
(QUOTE isFunctor),