Next: Applying Customizations, Previous: Variable Definitions, Up: Customization [Contents][Index]
defcustom
でユーザーオプションを定義するときは、ユーザーオプションのカスタマイズ型(customization
type)を指定しなければなりません。これは、(1)値が適正か、(2)編集のためにカスタマイズバッファーで値を表示する方法、を記述するLispオブジェクトです。
カスタマイズ型は、defcustom
内の:type
キーワードで指定します。:type
の引数は評価されますが、defcustom
が実行されるとき1回だけ評価されるので、さまざまな値をとる場合には有用でありません。通常はクォートされた定数を使用します。たとえば:
(defcustom diff-command "diff" "The command to use to run diff." :type '(string) :group 'diff)
一般的に、カスタマイズ型は、最初の要素が以降のセクションで定義されるカスタマイズ型の1つであるような、リストです。このシンボルの後にいくつかの引数があり、それはそのシンボルに依存します。型シンボルと引数の間には、オプションでkeyword-valueペアー(Type Keywordsを参照してください)を記述できます。
いくつかの型シンボルは引数を使用しません。これらはシンプル型(simple
types)と呼ばれます。シンプル型にたいしては、keyword-valueペアーを使用しない場合は、型シンボルの周囲のカッコ(parentheses)を省略できます。たとえばカスタマイズ型として単にstring
と記述すると、それは(string)
と等価です。
すべてのカスタマイズ型はウィジェットとして実装されます。詳細は、Introduction in The Emacs Widget Libraryを参照してください。
• Simple Types: | シンプルなカスタマイズ型(sexp、integerなど)。 | |
• Composite Types: | 他の型やデータから新しい型を構築する。 | |
• Splicing into Lists: | :inline で要素をリストに結合する。
| |
• Type Keywords: | カスタマイズ型でのキーワード/引数ペアー | |
• Defining New Types: | 型に名前をつける。 |