Previous: Variable Definitions, Up: Customization
defcustom
でユーザーオプションを定義するときには、
そのカスタマイズ型(customization type)を定義する必要があります。
これはLispオブジェクトであり、
(1)どのような値が正しいものであり、
(2)編集用にカスタマイズバッファに表示する方法、
を示します。
カスタマイズ型は、defcustom
内の:type
キーワードで指定します。
:type
の引数は評価されます。
実行時に型が変わるものはほとんど使い途がないので、
普通、クォートした型を指定します。
たとえば、つぎのとおりです。
(defcustom diff-command "diff" "*The command to use to run diff." :type '(string) :group 'diff)
一般に、カスタマイズ型はリストであり、 その先頭要素はシンボルで、次節以降で定義するカスタマイズ型名の1つです。 このシンボルのあとには、シンボルに依存した数個の引数が続きます。 型シンボルとその引数のあいだには、 キーワード・値の対を書くこともできます (see Type Keywords)。
型シンボルには、引数を取らないものもあります。
これらを単純型(simple types)と呼びます。
単純型では、キーワード・値の対を指定しなければ、
型シンボルを囲む括弧を省略できます。
たとえば、カスタマイズ型としてのstring
は、
(string)
と等価です。