#

Function DRIBBLE

Syntax:

dribble `&optional` pathname => implementation-dependent

Arguments and Values:

pathname---a pathname designator.

Description:

Either binds *standard-input* and *standard-output* or takes other appropriate action, so as to send a record of the input/output interaction to a file named by pathname. dribble is intended to create a readable record of an interactive session.

If pathname is a logical pathname, it is translated into a physical pathname as if by calling translate-logical-pathname.

`(dribble)` terminates the recording of input and output and closes the dribble file.

If dribble is called while a stream to a ``dribble file'' is still open from a previous call to dribble, the effect is implementation-defined. For example, the already-open stream might be closed, or dribbling might occur both to the old stream and to a new one, or the old stream might stay open but not receive any further output, or the new request might be ignored, or some other action might be taken.

Examples: None.

Affected By:

The implementation.

Exceptional Situations:

If a failure occurs when performing some operation on the file system while creating the dribble file, an error of type file-error is signaled.

An error of type file-error might be signaled if pathname is a designator for a wild pathname.

See Also:

Section 19.1.2 (Pathnames as Filenames)

Notes:

dribble can return before subsequent forms are executed. It also can enter a recursive interaction loop, returning only when `(dribble)` is done.

dribble is intended primarily for interactive debugging; its effect cannot be relied upon when used in a program.

The following X3J13 cleanup issues, not part of the specification, apply to this section:

- DRIBBLE-TECHNIQUE
- PATHNAME-HOST-PARSING:RECOGNIZE-LOGICAL-HOST-NAMES
- FILE-OPEN-ERROR:SIGNAL-FILE-ERROR
- JUN90-TRIVIAL-ISSUES:25
- PATHNAME-LOGICAL:ADD

Copyright 1996-2005, LispWorks Ltd. All rights reserved.