On Sun, Sep 26, 2010 at 7:13 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sun, 26 Sep 2010, Eliot Miranda wrote:

Hi Chris,

  I have code for this, but right now I need to crack some crabs, so I
don't have time to verify this code in 4.1 :)  Use at your own risk ;)  The
most important thing is the StandardFileStream>>stdioHandles primitive for
accessing the streams.  N.B. some work needs to be done on the win32
FilePlugin support code before this will work on Windows.

All three streams seem to be working on Windows Vista with the latest CogVM.
This seems to be a really cool feature, though I think CrLfFileStream should be deprecated, so MultiByteFileStream support would be better IMO.

Forgive me.  I was unaware of the subtleties when I wrote the code.  The important thing is the remembering of the three streams so that multiple clients that e.g. write to stdout will end up writing to a singe stdout stream, not multiple independent streams on stdout.  Feel free to fix my stream usage.

cheers
Eliot



Levente




On Sun, Sep 26, 2010 at 2:46 PM, Chris Muller <asqueaker@gmail.com> wrote:

I am developing a simple "CommandLineProcessor" facade for easily
transferring command-line arguments simply as block-arguments, so you
can write smalltalk scripts in vi:

 CommandLineProcessor do: [ : arg1 : arg2 : arg3 | "args come in as
Strings" ... ]

and also for directing Notifications and Warnings messages to stdOut,
and Errors to stdErr.  It relies on OSProcess to write to stdOut and
stdErr for this.  However, ever since switching to Cog, writing to
these streams does not seem to redirect out to Linux..

I don't know whether writing to these streams makes me
Linux-dependent, but it really is nice to be able to write Linux
scripts that employ Squeak in the back-end, but operate normally like
other shell programs in the terminal window and with redirecting
output, etc.

 - Chris