|
From: Bruno H. <br...@cl...> - 2005-06-03 18:15:46
|
David Tolpin wrote:
> 2925 if (!nullpSv(quiet)) /* SYS::*QUIET* /= NIL ? */
> 2926 { p->argv_verbose = 1; } /* prevents the greeting */
> 2927 if (p->argv_execute_file != NULL) /* batch-mode ? */
> 2928 { p->argv_verbose = 1; } /* prevents the greeting */
>
> opposite to what the documentation says, argv_verbose does not become
> 0, because it is reset to 1.
Thanks for explaining. I'm fixing this now.
> Yes, because it is freshline, not newline. From spvw.d
>
> 3370 /* when running as a script, i.e. "clisp lisp-file",
> 3371 *standard-input* is /dev/fd/0
> 3372 *standard-output* is /dev/fd/1
> 3373 *error-output* is /dev/fd/2
> 3374 and *terminal-io* is an #<IO TERMINAL-STREAM>,
> 3375 so they all need to be terminated individually */
> 3376 funcall(L(fresh_line),0); # (FRESH-LINE [*standard-output*])
> 3377 pushSTACK(var_stream(S(error_output),strmflags_wr_ch_B));
> 3378 funcall(L(fresh_line),1); /* (FRESH-LINE *error-output*) */
> 3379 pushSTACK(Symbol_value(S(terminal_io)));
> 3380 funcall(L(fresh_line),1); /* (FRESH-LINE *terminal-io*) */
> 3381 if (argv2.argv_verbose >= 2) {
> 3382 pushSTACK(CLSTEXT("Bye.")); funcall(L(write_line),1);
> 3383 }
>
> Line 3376 always sends fresh-line to stdout.
Yes. And this is needed to ensure that after clisp terminated, the next
prompt comes in a fresh line or, if the output went to a file, the last
line of the file is correctly terminated. In your case, you will probably
need to call FRESH-LINE on the output stream before you switch it to
binary, if you want no newline after the binary part.
Bruno
|