aboutsummaryrefslogtreecommitdiff
path: root/src/interp/category.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/category.boot')
-rw-r--r--src/interp/category.boot3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/interp/category.boot b/src/interp/category.boot
index cdacc6b4..b018b875 100644
--- a/src/interp/category.boot
+++ b/src/interp/category.boot
@@ -382,11 +382,12 @@ filterConditionalCategories(l,e) ==
unconditionals := [CatEval(at,e),:unconditionals]
pred isnt ["and",:.] =>
conditionals := [[CatEval(at,e),pred],:conditionals]
+ -- Predicate is a conjunctive; decompose it.
pred' := [x for x in pred.args |
not listMember?(x,get("$Information","special",e))
and x isnt true]
pred' = nil => unconditionals := [CatEval(at,e),:unconditionals]
- pred' is [.] => conditionals := [[CatEval(at,e),pred'],:conditionals]
+ pred' is [x] => conditionals := [[CatEval(at,e),x],:conditionals]
conditionals := [[CatEval(at,e),["and",:pred']],:conditionals]
[conditionals,reverse! unconditionals]