Hi Holger

Thanks again for being so responsive.

After doing some admittedly light research on the `new` method versus `initialize`, it looks like Pharo (and probably, therefore, Squeak) is the only variant of Smalltalk that automatically calls an instance initializer (`initialize`) on `new`. If GNU Smalltalk is following this to be easier to port from Pharo, that raises a philosophical question for GNU Smalltalk: is intended for it to align as much as possible with the Pharo implementation (and then perhaps, ultimately, become a "Pharo variant"), or to attempt to remain more "pure" (whatever that might mean :)) relative to Smalltalk-80? I noticed in various texts discussion Smalltalk class instance creation, specifically show a pattern something like:

    Foo class >> new [
        ^super new initialize
    ]

Mark

On 8/31/2015 2:09 AM, Holger Freyther wrote:
The socket is connecting fine. But digging into the connection code, I found that a `class 
new` operation now automatically calls the `initialize` method in 3.2.91-b98173d, but it 
does not do so in 3.2.5. This causes a problem in the MySQLPacket and MySQLInputPacket 
connection code and results in `MySQLInputPacket >> initialize` being called too 
early in `^(self new) stream: aStream ; initialize` inside of ` MySQLPacket class >> 
on: aStream`. It's called automatically on `self new` before the stream is set.
I tried to align this semantic to Pharo (as porting from/to Pharo gets easier). 
Thank
you for your analysis! The question is why does the CI pass? Did I by accident 
not
go through authentication?

I will try to reproduce and integrate a fix this week.

holger




_______________________________________________
help-smalltalk mailing list
help-smalltalk@gnu.org
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to