GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Output-Overrides.html ・ emacs-doc.conao3.com

20.7 出力変数のオーバーライド

前節(出力に影響する変数を参照)では、Emacs Lispプリンターが出力用のデータをどのようにフォーマットするかを制御する数多くの変数を挙げています。これらは通常、ユーザーが変更可能ですが、デフォルトの形式でデータを出力したい場合や、別の方法でユーザー設定を上書きしたい場合もあります。例えば、Emacs Lispデータをファイルに保存する場合、print-length設定によってデータが短縮されることは避けたいはずです。

したがって、prin1 および prin1-to-string 関数にはオプションの overrides 引数があります。この引数には、t(すべての印刷変数をデフォルト値にリセットすることを意味する)か、一部の変数に対する設定リストのいずれかを指定できます。リストの各要素は、t(「デフォルトにリセット」を意味し、通常はリストの最初の要素となります)か、あるいは car が出力変数を表すシンボルで、cdr がその変数の値であるペアのいずれかとなります。

例えば、これはデフォルト設定のみで出力します:

(prin1 object nil t)

これは現在の印刷設定を用いて object を出力しますが、print-length の値を 5 に上書きします:

(prin1 object nil '((length . 5)))

そして最後に、こちらはデフォルト設定のみで object を出力しますが、print-length は 5 にバインドされています:

(prin1 object nil '(t (length . 5)))

以下に、使用可能なシンボルと、それがどの変数に対応しているかの一覧を示します。

length

これは print-length を上書きします。

level

これは print-level を上書きします。

circle

これは print-circle を上書きします。

quoted

これは print-quoted を上書きします。

escape-newlines

これは print-escape-newlines を上書きします。

escape-control-characters

これは print-escape-control-characters を上書きします。

escape-nonascii

これは print-escape-nonascii を上書きします。

escape-multibyte

これは print-escape-multibyte を上書きします。

charset-text-property

これは print-charset-text-property を上書きします。

unreadable-function

これは print-unreadable-function を上書きします。

gensym

これは print-gensym を上書きします。

continuous-numbering

これは print-continuous-numbering を上書きします。

number-table

これは print-number-table を上書きします。

float-format

これは float-output-format を上書きします。

integers-as-characters

これは print-integers-as-characters を上書きします。

symbols-bare

これは print-symbols-bare を上書きします。

将来的には、変数に直接マッピングされず、このパラメータ経由でのみ使用可能なオーバーライドがさらに提供される可能性があります。