Next: Variable Definitions, Previous: Common Keywords, Up: Customization [Contents][Index]
Emacs Lispパッケージはそれぞれ、1つのメインカスタマイズグループ(main customization group)をもち、それにはすべてのオプション、フェイス、そのパッケージ内の他のグループが含まれるべきです。そのパッケージには少数のオプションとフェイスしかない場合は、1つのグループだけを使用して、その中にすべてを置きます。20以上のオプションやフェイスがある場合には、それらをサブグループ内に構造化して、そのサブグループをメインカスタマイズグループの下に配します。そのパッケージ内の任意のオプションまたはフェイスを、サブグループと並行してメイングループに配しても構いません。
そのパッケージのメイングループ(または唯一のグループ)は、1つ以上の標準カスタムグループ(standard customization
group)のメンバーであるべきです(これらの完全なリストを表示するには、M-x
customizeを使用します)。それらの内から1つ以上(多すぎないこと)を選択して、:group
を使用してあなたのグループをそれらに追加します。
新しいカスタマイズグループは、defgroup
で宣言します。
membersを含む、カスタマイズグループとして、groupを宣言します。シンボルgroupはクォートしません。引数docは、そのグループにたいするドキュメント文字列を指定します。
引数membersは、そのグループのメンバーとなるカスタマイズアイテムの初期セットを指定するリストです。しかしほとんどの場合はmembersをnil
にして、メンバーを定義するときに:group
キーワードを使用することにより、そのグループのメンバーを指定します。
membersを通じてグループのメンバーを指定したい場合、各要素は(name
widget)
という形式で指定するべきです。ここでnameはシンボル、widgetはそのシンボルを編集するウィジェット型(widget
type)です。有用なウィジェットには、変数にたいするcustom-variable
、フェイスにたいするcustom-face
、グループにたいするcustom-group
があります。
Emacsに新しいグループを導入するときは、defgroup
内で:version
キーワードを使用します。そうすればグループの個別のメンバーに対してそれを使用する必要がなくなります。
一般的なキーワード(Common Keywordsを参照してください)に加えて、defgroup
ないでは以下のキーワードも使用できます:
:prefix prefix
グループ内のアイテムの名前がprefixで始まり、カスタマイズ変数custom-unlispify-remove-prefixes
が非nil
の場合、そのアイテムのタグからprefixが省略されます。グループは任意の数のプレフィクスをもつことができます。
この変数が非nil
の場合、グループの:prefix
キーワードで指定されたプレフィクスは、ユーザーがグループをカスタマイズするときは常に、タグ名から省略されます。
デフォルト値はnil
、つまりプレフィクス省略(prefix-discarding)の機能は無効です。これは、オプションやフェイスの名前にたいしてプレフィクスを省略するのは、混乱を招くことがあるからです。