Variable *PRINT-PRETTY*
generalized-boolean
実装依存
Lispプリンターがプリティプリンターを呼び出すかどうかを制御します。
もし値がfalseのとき、プリティプリンターは使用されず、 式を出力する際には最小の空白文字が出力されます。
もし値がtrueのとき、プリティプリンターは使用され、 Lispプリンターは式がより読みやすいように生成できるような適切な場所では、 余分な空白文字が挿入されるように努力します。
*print-pretty*
は、 *print-escape*
の値がfalseの場合でも効果を発揮します。
setq *print-pretty* 'nil) => NIL
(progn (write '(let ((a 1) (b 2) (c 3)) (+ a b c))) nil)
(1) (B 2) (C 3)) (+ A B C))
>> (LET ((A => NIL
let ((*print-pretty* t))
(progn (write '(let ((a 1) (b 2) (c 3)) (+ a b c))) nil))
(1)
>> (LET ((A 2)
>> (B 3))
>> (C + A B C))
>> (=> NIL
;; 最初の2つの式(1,2番目)の印刷は、次に2つの式(3,4番目)とは
;; エスケープ文字が印刷されているかどうかのみ違っています。
;; 4つの場合全てで、余分な空白文字はプリティプリンターによって挿入されます。
flet ((test (x)
(let ((*print-pretty* t))
(print x)
(format t "~%~S " x)
(terpri) (princ x) (princ " ")
(format t "~%~A " x))))
(lambda () (list "a" #'c #'d))))
(test '#'(
>> #'(LAMBDA ()"a" #'C #'D))
>> (LIST
>> #'(LAMBDA ()"a" #'C #'D))
>> (LIST
>> #'(LAMBDA ()
>> (LIST a b 'C #'D))
>> #'(LAMBDA ()
>> (LIST a b 'C #'D))=> NIL
なし。
なし。