aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/interp/compiler.boot5
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index af5d5698..82f63b6b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2008-07-15 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ Fix SF/2015650
+ * interp/compiler.boot (coerceExtraHard): Forms with type Category
+ are categories.
+
2008-07-14 Gabriel Dos Reis <gdr@cs.tamu.edu>
* share/algebra: Update databases.
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 1d9686bc..24b80131 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -1347,7 +1347,10 @@ coerceExtraHard(T is [x,m',e],m) ==
belongsTo?(m',["UnionType"],e) and hasUniqueCaseView(x,m,e) =>
autoCoerceByModemap(T,m)
-- Domain instantiations are first class objects
- m = $Domain and isCategoryForm(m',e) => [x,m',e]
+ m = $Domain =>
+ m' = $Category => nil
+ isCategoryForm(m',e) => [x,m',e]
+ nil
nil
++ returns true if mode `m' is known to belong to category `cat' in