diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/interp/lisplib.boot | 8 |
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))] |