Value Type

    a bidirectional stream.

    Initial Value

    implementation-dependent, but it must be an open stream that is not a generalized synonym stream to an I/O customization variables but that might be a generalized synonym stream to the value of some I/O customization variable.


    The value of *terminal-io*, called terminal I/O, is ordinarily a bidirectional stream that connects to the user’s console. Typically, writing to this stream would cause the output to appear on a display screen, for example, and reading from the stream would accept input from a keyboard. It is intended that standard input functions such as read and read-char, when used with this stream, cause echoing of the input into the output side of the stream. The means by which this is accomplished are implementation-dependent.

    The effect of changing the value of *terminal-io*, either by binding or assignment, is implementation-defined.

     (progn (prin1 'foo) (prin1 'bar *terminal-io*)) 
     (with-output-to-string (*standard-output*) 
       (prin1 'foo) 
       (prin1 'bar *terminal-io*)) 
    See Also

    *debug-io*, *error-output*, *query-io*, *standard-input*, *standard-output*, *trace-output*