(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 <johan@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.


cheers
Johan

On 22 Jul 2018, at 10:52, Johan Brichau <johan@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