diff options
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/interp/define.boot | 7 |
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) |