ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   21 Streams   21.2 Dictionary of Streams

21.2.33 with-open-stream Macro

Syntax:
with-open-stream (var stream) {declaration}* {form}*
       {result}*

Arguments and Values:
var - a variable name.

stream - a form; evaluated to produce a stream.

declaration - a declare expression; not evaluated.

forms - an implicit progn.

results - the values returned by the forms.

Description:
with-open-stream performs a series of operations on stream, returns a value, and then closes the stream.

Var is bound to the value of stream, and then forms are executed as an implicit progn. stream is automatically closed on exit from with-open-stream, no matter whether the exit is normal or abnormal. The stream has dynamic extent; its extent ends when the form is exited.

The consequences are undefined if an attempt is made to assign the variable var with the forms.

Examples:
 (with-open-stream (s (make-string-input-stream "1 2 3 4"))
    (+ (read s) (read s) (read s)))  6

Side Effects:
The stream is closed (upon exit).

See Also:
close

Allegro CL Implementation Details:
None.

Home Previous Up Next Table of Contents Index
© Franz Inc. 1998-2019 - File last updated 02-07-2019