aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/define.boot7
2 files changed, 8 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ffc25246..bf9ef414 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2013-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ * interp/define.boot (knowInfo): Fix typo.
+
+2013-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
* interp/c-doc.boot (finalizeDocumentation): Take a DB parameter.
Adjust callers.
* interp/lisplib.boot (compileDocumentation): Likewise.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 829faec9..585c5461 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -184,19 +184,20 @@ hasToInfo (pred is ["has",a,b]) ==
++ may or may not hold at runtime.
knownInfo(pred,env,tbl == makeTable function valueEq?) ==
pred=true => true
- listMember?(pred,get("$Information","special",env)) => true
+ tableValue(tbl,pred) => true -- re-use previously computed value
+ listMember?(pred,get("$Information","special",env)) =>
+ tableValue(tbl,pred) := true
pred is ["OR",:l] => or/[knownInfo(u,env,tbl) for u in l]
pred is ["AND",:l] => and/[knownInfo(u,env,tbl) for u in l]
pred is ["or",:l] => or/[knownInfo(u,env,tbl) for u in l]
pred is ["and",:l] => and/[knownInfo(u,env,tbl) for u in l]
- tableValue(tbl,pred) => true -- re-use previously computed value
pred is ["ATTRIBUTE",name,attr] =>
v := compForMode(name,$EmptyMode,env) or return
stackAndThrow('"can't find category of %1pb",[name])
[vv,.,.] := compMakeCategoryObject(v.mode,env) or return
stackAndThrow('"can't make category of %1pb",[name])
listMember?(attr,categoryAttributes vv) =>
- tableTable(tbl,pred) := true
+ tableValue(tbl,pred) := true
x := assoc(attr,categoryAttributes vv) =>
--format is a list of two elements: information, predicate
tableValue(tbl,pred) := knownInfo(second x,env,tbl)