Hi, I reported the issue here: https://pharo.fogbugz.com/f/cases/22281/ReadWriteStream-broken <https://pharo.fogbugz.com/f/cases/22281/ReadWriteStream-broken>
Johan > On 23 Jul 2018, at 20:12, Johan Brichau <jo...@inceptive.be> wrote: > > Hi Richard, > > Thanks for pointing out the difference between #on: and #with: instance > creation methods. > > This lead me to discover that ReadWriteStream>>on: strangely sets the > readLimit instvar to the end… which is not what I would expect. > Removing that method and reversing the change in the commit I mentioned fixes > all the tests on ReadWriteStream in Grease. > > The Grease tests have been written to test the ANSI behavior and, afaik, they > make sense. > > Johan > > >> On 23 Jul 2018, at 17:51, Richard O'Keefe <rao...@gmail.com >> <mailto:rao...@gmail.com>> wrote: >> >> (ReadWriteStream on: 'abc') contents >> ==> 'abc' in GNU Smalltalk and Dolphin >> ==> '' in Squeak 6.0 and ST/X >> >> Here I think we see why ANSI Smalltalk defined #with: >> for {Read,}WriteStreams but not #on:. >> >> When you recall that ReadWriteStream is a subclass of >> WriteStream in most Smalltalks, and that >> (WriteStream on: (String new: 20)) >> or whatever is normally used with the argument of #on: >> expected to provide *workspace*, not *content*, >> >> why on earth would you expect >> (ReadWriteStream on: 'abc') contents >> to be different from >> (WriteStream on: 'abc') contents >> which is ''? >> >> >> On 23 July 2018 at 21:50, Johan Brichau <jo...@inceptive.be >> <mailto:jo...@inceptive.be>> wrote: >> Hi, >> >> As I’m diving into the changes and why it fails: >> >> (ReadWriteStream on: ‘abc’) contents >> -> = ‘abc’ on Pharo 6 >> -> = ‘’ on Pharo 7 >> >> That seems wrong to me. >> >> (I’ve also sent this question via github on the commit itself >> https://github.com/pharo-project/pharo/commit/9e442addff3790af0c78dbc73f1f349de8a4ad03#diff-ba7cc7962a4a22468a18b31fe75ada04 >> >> <https://github.com/pharo-project/pharo/commit/9e442addff3790af0c78dbc73f1f349de8a4ad03#diff-ba7cc7962a4a22468a18b31fe75ada04> >> ) >> >> cheers >> Johan >> >>> On 22 Jul 2018, at 10:52, Johan Brichau <jo...@inceptive.be >>> <mailto:jo...@inceptive.be>> wrote: >>> >>> Hi, >>> >>> I am taking a look at making Grease and Seaside work correctly on Pharo7. >>> >>> There have been a number of changes to the ReadWriteStream implementation >>> in Pharo that break Grease tests: >>> https://travis-ci.org/SeasideSt/Grease/jobs/406766720 >>> <https://travis-ci.org/SeasideSt/Grease/jobs/406766720> >>> It seems ReadWriteStream is broken: the readLimit is almost always wrong >>> meaning that the stream `atEnd`, `contents` etc.. return wrong values >>> >>> Before I dive into this, I wanted to inquire if anyone is working on this >>> as I cannot seem to find any open cases on this on the issue tracker. >>> >>> cheers >>> Johan >>> >>> >> >> >