Previous: Output Functions, Up: Read and Print


18.6 出力に影響する変数

— Variable: standard-output

この変数の値はデフォルトの出力ストリーム、つまり、 引数streamnilの場合に表示関数が用いるストリーム。

— Variable: print-escape-newlines

この変数がnil以外であると、 文字列内の改行文字を‘\n’、ページ送り文字を‘\f’と表示する。 通常、これらの文字は実際の改行やページ送りとして表示される。

この変数は、クォート付きで表示する表示関数prin1printに影響を与える。 princには影響しない。 prin1を用いた例を示す。

          (prin1 "a\nb")
               -| "a
               -| b"
               ⇒ "a
          b"
          
          (let ((print-escape-newlines t))
            (prin1 "a\nb"))
               -| "a\nb"
               ⇒ "a
          b"

2番目の式では、prin1の呼び出し中には print-escape-newlinesのローカル束縛が有効であるが、 結果を表示するときには有効ではない。

— Variable: print-escape-nonascii

この変数がnil以外であると、 クォート付きで表示する出力関数prin1printは、 文字列内のユニバイト非ASCII文字を無条件で バックスラッシュ列として表示する。

これらの関数は、出力ストリームがマルチバイトバッファや マルチバイトバッファのマーク位置であると、 この変数の値に関係なくユニバイト非ASCII文字に対して バックスラッシュ列を用いる。

— Variable: print-escape-multibyte

この変数がnil以外であると、 クォート付きで表示する表示関数prin1printは、 文字列内のマルチバイト非ASCII文字を無条件で バックスラッシュ列として表示する。

これらの関数は、出力ストリームがユニバイトバッファや ユニバイトバッファのマーク位置であると、 この変数の値に関係なくマルチバイト非ASCII文字に対して バックスラッシュ列を用いる。

— Variable: print-length

この変数の値は、任意のリスト、ベクトル、ブールベクトルを表示するときの 最大要素数である。 表示するオブジェクトがこれより多くの要素を持つと、 「…」で省略する。

値がnil(デフォルト)であると無制限。

          (setq print-length 2)
               ⇒ 2
          (print '(1 2 3 4 5))
               -| (1 2 ...)
               ⇒ (1 2 ...)
— Variable: print-level

この変数の値は、表示するときの括弧や角括弧の入れ子の最大の深さ。 この制限を越える任意のリストやベクトルは「…」で省略する。 値がnil(デフォルト)であると無制限。