aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-09-19 02:44:50 +0000
committerdos-reis <gdr@axiomatics.org>2008-09-19 02:44:50 +0000
commit8796a8c7a9b8991befb18c39e826d7b29a342c13 (patch)
tree9fad9ca4bbefbbde08c305a9fb21d9fec6c52a41
parent1b3396b1949f19e057c047fc602aa3b0b5f44d98 (diff)
downloadopen-axiom-8796a8c7a9b8991befb18c39e826d7b29a342c13.tar.gz
* interp/lisplib.boot (getConstructorSignature): Relax.
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/lisplib.boot8
2 files changed, 8 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 73022569..c496df65 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2008-09-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * interp/lisplib.boot (getConstructorSignature): Relax.
+
+2008-09-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* interp/c-util.boot (displayAmbiguousSignatures): New.
(ambiguousSignatureError): Likewise.
* interp/define.boot (hasSigInTargetCategory): Use it to reject
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 641b2799..9bacec93 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -639,10 +639,10 @@ findDomainSlotNumber(domain,op,sig) == --using slot 1 of the domain
getConstructorSignature: %Symbol -> %Form
getConstructorSignature ctor ==
- (mm := getConstructorModemapFromDB ctor) =>
- [[.,:sig],:.] := mm
- sig
- nil
+ ([[.,:sig],:.] := getConstructorModemapFromDB ctor) => sig
+ -- If we have a local or forward declaration take it.
+ -- Note: constructors are not overloadable.
+ rest getmode(ctor,$e)
getSlotFromCategoryForm ([op,:argl],index) ==
u:= eval [op,:MAPCAR('MKQ,TAKE(#argl,$FormalMapVariableList))]