[Newbies] Using squeak with a script?

David T. Lewis lewis at mail.msen.com
Thu Feb 23 00:47:08 UTC 2017


Hi Jacques,

Output to the standard output stream may be buffered, and that may be part
of the problem. Try doing this and see if you get the expected output:

  StandardFileStream stdout nextPutAll: 'Hello world'; cr; flush.


On Wed, Feb 22, 2017 at 05:09:21PM +0100, Jacques Harmand wrote:
> Thanks for your answers.
> Alas ExternalCommandShell does not seem to work, the VM seems to wait
> forever.

Be sure that you are running Squeak in the foreground with no '&' at the
end of your command. If you start it in background with a '&' then the
stdin, stdout, and stderr streams will be disconnected from your console,
and both the image and the VM will appear to be stuck as the ExternalCommandShell
tries to read from the disconnected input stream.

I just tried ExternalCommandShell with the latest Squeak, and I see
that it probably needs a few more #flush to get the prompt to display
properly. I'll have to look into that :-)

Dave


> I also tried various other ways:
> "OSProcess thisOSProcess stdOut nextPutAll: 'Hello world'."
> "FileStream stdout nextPutAll: 'Hello world'."
> "StandardFileStream stdout nextPutAll: 'Hello world'."
> "TranscriptStream redirectToStdOut: true. Transcript show: 'Hello world'."
> ... but so far none of them seems to work.
> I also tried "-headless" and "-vm-display-null", but again this does not
> seem to help.
> Any pointer would be appreciated!
> 
> 2017-02-22 15:49 GMT+01:00 H. Hirzel <hannes.hirzel at gmail.com>:
> 
> > Maybe
> >
> >       ExternalCommandShell
> >
> >      http://wiki.squeak.org/squeak/6023
> >
> > this is of some help?
> >
> > --Hannes
> >
> > On 2/22/17, G??ran Krampe <goran at krampe.se> wrote:
> > > On 21/02/17 20:51, Jacques Harmand wrote:
> > >> Hi list,
> > >> I try to use squeak to execute the following basic Smalltalk script (in
> > >> a file "hello.st <http://hello.st>")
> > >> "Transcript show: 'Hello world'; cr."
> > >> from the command line with Squeak.  This works as expected with both GNU
> > >> Smalltalk and Pharo, but with Squeak nothing happens: Squeak seems to
> > >> wait forever.  If I add
> > >> "Smalltalk snapshot: false andQuit: true."
> > >> after the above line, the execution of the script terminates, but
> > >> without printing anything.
> > >
> > > I haven't looked closely at latest Squeak (perhaps Pharo has coupled
> > > Transcript to stdout for headless mode?), but Transcript is not the same
> > > thing as stdout - so you wouldn't see anything on stdout.
> > >
> > > regards, G??ran
> > > _______________________________________________
> > > Beginners mailing list
> > > Beginners at lists.squeakfoundation.org
> > > http://lists.squeakfoundation.org/mailman/listinfo/beginners
> > >
> > _______________________________________________
> > Beginners mailing list
> > Beginners at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/mailman/listinfo/beginners
> >

> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners



More information about the Beginners mailing list