|   | 
 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.
  
 |