CDR 11: Standard output streams default behavior in terminal sessions

Author / Submitter

Didier Verna

Abstract / Rationale

The Common Lisp standard mandates the existence of several streams such as *STANDARD-OUTPUT*, *ERROR-OUTPUT* and *QUERY-IO*. The purpose of these streams, however, is only informally described, leading to implementation-specific behavior.

This can be problematic for Lisp sessions started from a terminal (without a graphical user interface) and standalone command-line executables. The current behavior of some standard output streams, notably with respect to shell redirection may not only be different across implementations, but also contrary to the user's expectations.

The purpose of this document is hence to illustrate the problem and suggest that all Common Lisp implementations agree on one particular scheme.

The Document

Accompanying Material