with-standard-io-syntax (ANSI and GNU Common Lisp Document)

Next: *read-base*, Previous: set-syntax-from-char, Up: Reader Dictionary

#### 23.2.12 with-standard-io-syntax [Macro]

`with-standard-io-syntax` {form}* ⇒ {result}*

#### Arguments and Values::

forms—an implicit progn.

results—the values returned by the forms.

#### Description::

Within the dynamic extent of the body of forms, all reader/printer control variables, including any implementation-defined ones not specified by this standard, are bound to values that produce standard read/print behavior. The values for the variables specified by this standard are listed in Figure 23–1.

[Reviewer Note by Barrett: *print-pprint-dispatch* should probably be mentioned here, too.]

      Variable                     Value
      *package*                    The CL-USER package
      *print-array*                t
      *print-base*                 10
      *print-case*                 :upcase
      *print-circle*               nil
      *print-escape*               t
      *print-gensym*               t
      *print-length*               nil
      *print-level*                nil
      *print-lines*                nil
      *print-miser-width*          nil
      *print-pprint-dispatch*      The standard pprint dispatch table
      *print-pretty*               nil
      *print-radix*                nil
      *print-readably*             t
      *print-right-margin*         nil
      *read-base*                  10
      *read-default-float-format*  single-float
      *read-eval*                  t
      *read-suppress*              nil
      *readtable*                  The standard readtable

             Figure 23–1: Values of standard control variables

#### Examples::

     (with-open-file (file pathname :direction :output)
       (with-standard-io-syntax
         (print data file)))

    ;;; ... Later, in another Lisp:

     (with-open-file (file pathname :direction :input)
       (with-standard-io-syntax
         (setq data (read file))))