Thanks! I found the line in
/usr/share/chicken/spock/spock-runtime.js
and replaced
SPOCK.log = console.log; // Node.JS
with
SPOCK.log = function() {
process.stdout.write(Array.from(arguments).join("")) };

There are similar replacements to be made in
spock-runtime[-min/debug/debug-min].js, but I'm content to test this for a
while first.

best regards,
NT

On Fri, Mar 27, 2026 at 5:21 AM Felix Winkelmann <
[email protected]> wrote:

> On Fri Mar 27, 2026 at 4:40 AM CET, Nathan Thern via Chicken-users wrote:
> > Greetings -
> > I have a one-line file called test.scm with contents:
> > (write-char #\*)
> > At the command line I get:
> >
> > user@computer:~/tmp$ csi -qb sfib_do2.scm
> > *user@computer:~/tmp$
> > user@computer:~/tmp$ chicken-spock -runtime test.scm -o test.js
> > user@computer:~/tmp$ node test.js
> > *
> > user@computer:~/tmp$
> >
> > Why the newline after the "*" when I run test.js? Is there any to
> suppress
> > it?
>
> Hi! Hm... It's been a while since I used this. IIRC, the output is just
> passed to console.log, which is the default target for the standard
> output port. I assume the output written to (current-output-port)
> is buffered and then flushed and written as a complete line (if you
> add a second write-char, the characters are written as they are,
> only a final newline will be produced).
>
> I'm not a JS expert, does node have
> output primitives that can be used to simulate character-wise
> output?
>
>
> cheers,
> felix
>
>

Reply via email to