Fwd: Re: [squeak-dev] Class subclasses

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: Re: [squeak-dev] Class subclasses

Florin Mateoc-4

I am pretty sure this was intended for the list...


-------- Original Message --------
Subject: Re: [squeak-dev] Class subclasses
Date: Sat, 14 Jun 2014 07:22:28 -0700
From: Eliot Miranda [hidden email]
To: Florin Mateoc [hidden email]


Hi Florin,


On Thu, Jun 12, 2014 at 7:45 PM, Florin Mateoc <[hidden email]> wrote:
On 6/12/2014 11:54 AM, Eliot Miranda wrote:
Hi Florin,

    I think I'm correct in thinking you can always submit a proposed fix to inbox, even if you don't have commit privileges to trunk.


On Wed, Jun 11, 2014 at 8:44 PM, Florin Mateoc <[hidden email]> wrote:
Hi,

I think this is an old bug, presumably since ProtoObject was introduced (and presumably because ObjectTracer was used in
the process).

If you ask Class for its subclasses (or if you inspect it) you see that ObjectTracer class is listed along with
ProtoObject class, although ObjectTracer's superclass is ProtoObject.
This can lead to some funny bugs if you try to write some hierarchy traversing code.

Cheers,
Florin




--
best,
Eliot


Hi Eliot,

I thought the fix was obvious - we just need to evaluate "Class removeSubclass: ObjectTracer class" - so other than pointing out the bug, I am not sure what else I should do.

well what one could do is
a) create an update
b) create e.g. a Kernel package containing a postscript that says Class removeSubclass: ObjectTracer class
c) create another update

I *think* that forces the load of the package with the "Class removeSubclass: ObjectTracer class" postscript.  Bert, am I right?


Cheers,
Florin



--
best,
Eliot




Reply | Threaded
Open this post in threaded view
|

Re: Class subclasses

Bert Freudenberg

On 14.06.2014, at 19:08, Florin Mateoc <[hidden email]> wrote:


I am pretty sure this was intended for the list...


-------- Original Message --------
Subject: Re: [squeak-dev] Class subclasses
Date: Sat, 14 Jun 2014 07:22:28 -0700
From: Eliot Miranda [hidden email]
To: Florin Mateoc [hidden email]


Hi Florin,


On Thu, Jun 12, 2014 at 7:45 PM, Florin Mateoc <[hidden email]> wrote:
On 6/12/2014 11:54 AM, Eliot Miranda wrote:
Hi Florin,

    I think I'm correct in thinking you can always submit a proposed fix to inbox, even if you don't have commit privileges to trunk.


On Wed, Jun 11, 2014 at 8:44 PM, Florin Mateoc <[hidden email]> wrote:
Hi,

I think this is an old bug, presumably since ProtoObject was introduced (and presumably because ObjectTracer was used in
the process).

If you ask Class for its subclasses (or if you inspect it) you see that ObjectTracer class is listed along with
ProtoObject class, although ObjectTracer's superclass is ProtoObject.
This can lead to some funny bugs if you try to write some hierarchy traversing code.

Cheers,
Florin




--
best,
Eliot


Hi Eliot,

I thought the fix was obvious - we just need to evaluate "Class removeSubclass: ObjectTracer class" - so other than pointing out the bug, I am not sure what else I should do.

well what one could do is
a) create an update
b) create e.g. a Kernel package containing a postscript that says Class removeSubclass: ObjectTracer class
c) create another update

I *think* that forces the load of the package with the "Class removeSubclass: ObjectTracer class" postscript.  Bert, am I right?

No need for a) and c). Just make a version with that changed postscript. If the postscript is different from a previous postscript, it will be executed.

We only need to issue update maps when some package depends on a specific version to have been loaded before.

- Bert -






smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Class subclasses

David T. Lewis
On Sun, Jun 15, 2014 at 07:47:19PM +0200, Bert Freudenberg wrote:

>
> On 14.06.2014, at 19:08, Florin Mateoc <[hidden email]> wrote:
> >
> > I thought the fix was obvious - we just need to evaluate "Class removeSubclass: ObjectTracer class" - so other than pointing out the bug, I am not sure what else I should do.
> >
> > well what one could do is
> > a) create an update
> > b) create e.g. a Kernel package containing a postscript that says Class removeSubclass: ObjectTracer class
> > c) create another update
> >
> > I *think* that forces the load of the package with the "Class removeSubclass: ObjectTracer class" postscript.  Bert, am I right?
>
>
> No need for a) and c). Just make a version with that changed postscript. If the postscript is different from a previous postscript, it will be executed.
>
> We only need to issue update maps when some package depends on a specific version to have been loaded before.
>

I just committed Kernel-dtl.856 which should take care of the problem.

Just one sanity check question - we now have this:

  Class subclasses ==> {ProtoObject class}

and this:

  ProtoObject superclass ==> nil

Is that correct?

Dave


Reply | Threaded
Open this post in threaded view
|

Re: Class subclasses

Florin Mateoc-4
On 6/15/2014 2:44 PM, David T. Lewis wrote:

> On Sun, Jun 15, 2014 at 07:47:19PM +0200, Bert Freudenberg wrote:
>> On 14.06.2014, at 19:08, Florin Mateoc <[hidden email]> wrote:
>>> I thought the fix was obvious - we just need to evaluate "Class removeSubclass: ObjectTracer class" - so other than pointing out the bug, I am not sure what else I should do.
>>>
>>> well what one could do is
>>> a) create an update
>>> b) create e.g. a Kernel package containing a postscript that says Class removeSubclass: ObjectTracer class
>>> c) create another update
>>>
>>> I *think* that forces the load of the package with the "Class removeSubclass: ObjectTracer class" postscript.  Bert, am I right?
>>
>> No need for a) and c). Just make a version with that changed postscript. If the postscript is different from a previous postscript, it will be executed.
>>
>> We only need to issue update maps when some package depends on a specific version to have been loaded before.
>>
> I just committed Kernel-dtl.856 which should take care of the problem.
>
> Just one sanity check question - we now have this:
>
>   Class subclasses ==> {ProtoObject class}
>
> and this:
>
>   ProtoObject superclass ==> nil
>
> Is that correct?
>
> Dave
>
>
>


Yes, thanks for making it happen

Florin