Comment 10 for bug 1332983

Revision history for this message
Pascal Costanza (0-pc) wrote : Re: [Bug 1332983] validate-superclass on (find-class 't) yields NIL instead of T

Your solution sounds good to me.

Pascal

On 1 Sep 2014, at 12:47, Christophe Rhodes <email address hidden> wrote:

> status fixcommitted
> done
>
> Pascal Costanza <email address hidden> writes:
>
>> If you just take ANSI CL, then it clearly seems to require that (find-
>> class ’t) is implemented as an instance of a metaclass other than either
>> of the three standard-class, structure-class, or built-in-class, due to
>> the requirement that defclass cannot define any subclass of built-in-
>> class, and due to the statement that (find-class ’t) is a system class,
>> so neither a standard-class nor a structure-class.
>
> On this basis, I have pushed a fix for the validate-superclass error
> that makes (find-class 't) a SB-PCL::SYSTEM-CLASS. I agree with you
> that it is probably a spec bug or two that leads us to that
> interpretation, but I also don't think that it's actively harmful to
> follow the spec as written. (I am open to being convinced otherwise :)
>
> Christophe
>
>
> ** Changed in: sbcl
> Status: New => Fix Committed
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1332983
>
> Title:
> validate-superclass on (find-class 't) yields NIL instead of T
>
> Status in Steel Bank Common Lisp:
> Fix Committed
>
> Bug description:
> I found a minor bug that got introduced between 1.1.18 and 1.2.0.
>
> Before:
>
> * (sb-mop:validate-superclass (find-class 'stream) (find-class 't))
>
> T
>
> After:
>
> * (sb-mop:validate-superclass (find-class 'stream) (find-class 't))
>
> NIL
>
>
> The fact that I’m using (find-class ‘stream) as an example is not relevant: If the superclass is (find-class ’t), validate-superclass should always return t.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/sbcl/+bug/1332983/+subscriptions

--
Pascal Costanza