Holger I think that using `basicNew` is reasonable pattern for a solution in this case. Thank you!
Mark On Mon, Aug 31, 2015 at 8:17 AM, Holger Freyther <hol...@freyther.de> wrote: > > > On 31 Aug 2015, at 14:08, Mark Bratcher <mdbra...@gmail.com> wrote: > > > > Thank you, Holger. > > > > I understand the pragmatics of the decision. One could argue that, in > the current bug case, the `(self new) stream: aStream ; initialize` > statement is a bit "off-pattern". :) I think it's a little unfortunate that > Pharo deviated from Smalltalk-80 in a small, but fundamental way. I think > it means that if I want to write more portable Smalltalk code, I might > avoid using "initialize" since its behavior will be different in Pharo (and > now GNU) versus other implementations. Such avoidance would be necessary in > cases where one wants instance initialization to be deferred after instance > creation. > > Yes, it is unfortunate. But if you look at the diff that introduced this > behavior then > you see that it was used a lot already. In both Pharo and GST there is > >>#basicNew > as well but I don’t know if this is in an ANSI protocol. > > So e.g. this could fix the issue you have debugged: > > diff --git a/packages/dbd-mysql/Connection.st > b/packages/dbd-mysql/Connection.st > index b97dc89..ef5ac65 100644 > --- a/packages/dbd-mysql/Connection.st > +++ b/packages/dbd-mysql/Connection.st > @@ -237,7 +237,7 @@ Object subclass: MySQLPacket [ > > MySQLPacket class >> on: aStream [ > <category: 'instance creation'> > - ^(self new) > + ^(self basicNew) > stream: aStream; > initialize > ] > > > _______________________________________________ help-smalltalk mailing list help-smalltalk@gnu.org https://lists.gnu.org/mailman/listinfo/help-smalltalk