aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-20 09:40:33 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-20 09:40:33 +0000
commitb568f3b13b24a6bbda5b6d044550de1509439f52 (patch)
tree45819223f502103fc6947992b4bb52c6c3836940
parent31f97cf03a819e48ccd982bf8f53ee18756b80e7 (diff)
downloadopen-axiom-b568f3b13b24a6bbda5b6d044550de1509439f52.tar.gz
* interp/lisplib.boot (isDomainForm): Handle conditionals.
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/lisplib.boot2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 5569ea83..eed2f8e0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2011-10-20 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/lisplib.boot (isDomainForm): Handle conditionals.
+
2011-10-19 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/postpar.boot (postDef): Do not include list of nil forms
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index e1a16471..c23056a0 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -717,7 +717,7 @@ getSlotFromCategoryForm (x,index) ==
isDomainForm(D,e) ==
op := opOf D
not ident? op => false
- --added for MPOLY 3/83 by RDJ
+ op is '%when => and/[isDomainForm(e,c) for [.,c] in D.args]
symbolMember?(op,$SpecialDomainNames) or isFunctor op or
((getmode(op,e) is ['Mapping,target,:.]) and isCategoryForm(target,e)) or
isCategoryForm(getmode(op,e),e) or isDomainConstructorForm(D,e)