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

42.20.2 ボタンの種類

すべてのボタンにはボタンタイプがあり、これによりボタンのプロパティのデフォルト値が定義されます。ボタンタイプは階層構造になっており、特化したタイプがより汎用的なタイプを継承しているため、特定のタスク向けの専用ボタンタイプを容易に定義できます。

関数: define-button-type name &rest properties

name(シンボル)というボタンタイプを定義します。残りの引数はproperty valueペアのシーケンスとなり、このタイプのボタンに対するプロパティのデフォルト値を指定します(ボタンのタイプは、ボタン作成時に:typeキーワード引数を用いてtypeプロパティを指定することで設定できます)。

さらに、キーワード引数 :supertype を使用して、name がデフォルトのプロパティ値を継承するボタンタイプを指定できます。なお、この継承は name が定義されている場合にのみ行われ、その後のスーパータイプへの変更はサブタイプには反映されません。

ボタンのデフォルトプロパティを定義するために define-button-type を使用する必要はありません—タイプが指定されていないボタンには、組み込みの button-type button が使用されます—とはいえ、そうすることで通常、結果として得られるコードがより明確かつ効率的になるため、推奨されます。