(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> 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 ) > > cheers > Johan > > On 22 Jul 2018, at 10:52, Johan Brichau <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 > 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 > > > >