Here's what RUN-PROGRAM gets for arguments:
(RUN-PROGRAM '("/Users/rpg/lisp/asdf/build/fasls/clisp-2.49-unix-x86_64/asdf/test/hello-world-example--all-systems.image" "-norc" "--quiet" "--quiet" "-ansi" "-I" "-on-error" "exit" "-x" "(uiop:restore-image :entry-point 'hello:entry-point :lisp-interaction nil)") ':OUTPUT ':LINES ':ERROR-OUTPUT 'T) 1. Trace: RUN-PROGRAM ==> ("[4]> hello, world"), NIL, 0
What happens at the command line agrees with that: $ /Users/rpg/lisp/asdf/build/fasls/clisp-2.49-unix-x86_64/asdf/test/hello-world-example--all-systems.image -norc --quiet -ansi -I -on-error exit -x "(uiop:restore-image :entry-point 'hello:entry-point :lisp-interaction nil)" [4]> hello, world
Maybe the error is in UIOP:RESTORE-IMAGE: $ /Users/rpg/lisp/asdf/build/fasls/clisp-2.49-unix-x86_64/asdf/test/hello-world-example--all-systems.image -norc --quiet -ansi -I -on-error exit [1]> (hello:entry-point) hello, world T ...because just calling the entry-point function does not yield the "[4]
" prompt.
Unfortunately, neither removing :lisp-interaction nil nor --quiet lets me see what's actually happening inside clisp here.
By the way, the "-I" argument here means "be ilisp friendly." Removing this seems to give happier results:
$ /Users/rpg/lisp/asdf/build/fasls/clisp-2.49-unix-x86_64/asdf/test/hello-world-example--all-systems.image -norc -ansi -on-error exit -x "(uiop:restore-image :entry-point 'hello:entry-point)" hello, world T
Why is that argument there?
And why is this working for you?