Files
SplitBit-Emulator/Tests/expected/cosmosScriptArgs.out
T
AnachronautandClaude Opus 5 afda6ca83b Finishing says nothing, which is what finishing looks like
The shell printed "finished" every time a program gave the machine back.
That made sense when starting a program and getting the machine back was
most of what the machine did and the prompt was the only other thing on
the screen. Under a listing, between two commands, it is noise.

And it was printed whatever the program made of it, so a program that had
just explained what went wrong was answered with the word "finished" -
"there is no such directory: nowhere" and then, immediately, "finished".

The prompt coming back is what says a program is over. It is the same
argument osLastStatus is made of: a program that failed has already said
so in words, and anything the shell adds beside that is the shell talking
over it. A program that FAULTED still says so, because the fault screen
printed in red above and a program that is gone should not look like one
that ended.

A NEWLINE ONLY IF ONE IS WANTED. A program that stopped part way along a
line would leave the prompt sitting in the middle of its last output,
which the word used to prevent by accident. The console knows which
column the cursor is in, so the shell asks - where a blank line printed
every time would be right about half of the time, and an empty directory
listed with ls would be followed by a blank line for no reason.

Fifty nine recorded sessions lose the word. Two of them move a cursor up
a row with it, which is the same fact seen from the screen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW
2026-09-06 19:49:43 -04:00

43 lines
797 B
Plaintext

CosmOS
> do args.script red green
> echo one is $1
one is red
> echo two is $2
two is green
> echo all of it is $args
all of it is red green
> args.script blue yellow
> echo one is $1
one is blue
> echo two is $2
two is yellow
> echo all of it is $args
all of it is blue yellow
> pass.script hello there
> Say $args
it says: hello there
> do holds.script top level
> echo outer has $1
outer has top
> do args.script deep down
> echo one is $1
one is deep
> echo two is $2
two is down
> echo all of it is $args
all of it is deep down
> echo outer still has $1 and $args
outer still has top and top level
> do args.script only
> echo one is $1
one is only
> echo two is $2
nothing is set called 2
stopped: that line did not work
> $1
nothing is set called 1
> exit
halted
Execution halted.
[exit 0]