aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-06-03 02:23:11 +0000
committerdos-reis <gdr@axiomatics.org>2008-06-03 02:23:11 +0000
commit6ee2b7e330751ab22c70d3abbef9e9523fa86036 (patch)
tree005a12bb2a99a82ae764a741922d75597328135e
parent554dfb1181317ec273944a4387118d808fce0675 (diff)
downloadopen-axiom-6ee2b7e330751ab22c70d3abbef9e9523fa86036.tar.gz
* interp/define.boot (compDefineCategory): Check that a category
was indeed abbreviated a category.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/doc/msgs/s2-us.msgs2
-rw-r--r--src/interp/define.boot5
3 files changed, 12 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 3052790f..28f6797a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-02 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/define.boot (compDefineCategory): Check that a category
+ was indeed abbreviated a category.
+
2008-05-29 Gabriel Dos Reis <gdr@cs.tamu.edu>
Fix AW/421.
diff --git a/src/doc/msgs/s2-us.msgs b/src/doc/msgs/s2-us.msgs
index 02a18fe8..4cbe5950 100644
--- a/src/doc/msgs/s2-us.msgs
+++ b/src/doc/msgs/s2-us.msgs
@@ -119,6 +119,8 @@ S2IC0014
The type %1bp is not branch of %2bp
S2IC0015
Generated code is incorrect for %b equation %d
+S2IC0016
+ %1b is defined as a %2b, but was abbreviated as a %3b.
S2ID0004
Cannot locate %1 for %2b .
S2ID0014
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 959f313e..789ff2c8 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -371,6 +371,11 @@ mkConstructor form ==
compDefineCategory(df,m,e,prefix,fal) ==
$domainShell: local -- holds the category of the object being compiled
$lisplibCategory: local := nil
+ -- since we have so many ways to say state the kind of a constructor,
+ -- make sure we do have some minimal internal coherence.
+ ctor := opOf second df
+ kind := getConstructorKindFromDB ctor
+ kind ^= "category" => throwKeyedMsg("S2IC0016",[ctor,"category",kind])
not $insideFunctorIfTrue and $LISPLIB =>
compDefineLisplib(df,m,e,prefix,fal,'compDefineCategory1)
compDefineCategory1(df,m,e,prefix,fal)