Open galdor opened 11 months ago
If it's meaningful in any way, sbcl --script
doesn't quit without a manual ^D either, and requires an explicit (sb-ext:quit)
call in its eval chain.
For CCL, is adding --eval '(ccl:quit)'
at the end satisfying?
SBCL absolutely exits after loading and evaluating a file with --script
. Tested 5s ago with sbcl --script /tmp/test.lisp
and a file containing (format t "Hello world!~%")
. Same thing with sbcl --no-userinit --non-interactive --eval '(format t "Hello world!~%")'
(the fact that it prints this stupid banner is another problem), as it should be.
If we give it what it's asking for, it does what it's supposed to do:
echo |ccl --no-init --batch --quiet --eval '(format t "Hiya!~%")'
;)
Welp, I launched sbcl --script
in a terminal, at which point it was reading from standard input, which needed a manual ^D
.
I assume then this is a feature request for a ccl --script
-like syntax that accepts a filename, loads it, and then exits.
I would expect CCL to exit after all forms passed to
--eval
options have been evaluated.
I meant sbcl --eval '(format t "Hello world!")'
which doesn't quit, apologies for the confusion.
CCL should absolutely have --script
to avoid having to provide --no-init --batch --quiet
, but --batch
should absolutely result in CCL exiting after having processed --load
and --eval
options (more precisely after code evaluated due to these options has terminated).
According to the documentation,
--batch
makes CCL exit on stdin EOF.Running:
Leads to CCL printing the message correctly and hanging there without exiting until one hits ^D to explicitely send EOF. In this state, using ^C to send SIGINT causes CCL to enter the debugger (really not something expected with
--batch
_).Stracing CCL shows that it is reading the standard input:
I would expect CCL to exit after all forms passed to
--eval
options have been evaluated.Environment: CCL 1.12.2 running on Linux x86_64.