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

24.3.1 マイナーモード記述の規約

メジャーモードと同様に、マイナーモードを記述するための慣習があります(メジャーモードを参照)。これらの慣習については以下で説明します。最も簡単に従う方法は、マクロ define-minor-mode を使用することです。マイナーモードの定義を参照してください。

さらに、いくつかの主要なモード規約(主要なモード規約を参照)はマイナーモードにも適用されます。具体的には、グローバルシンボルの名称、初期化関数の末尾でのフックの使用、およびキーマップやその他のテーブルの使用に関するものです。

マイナーモードは、可能であれば Custom 経由での有効化・無効化をサポートすべきです(カスタマイズ設定を参照)。これを実現するには、モード変数を defcustom(通常は :type 'boolean)で定義する必要があります。単に変数を設定するだけではモードを有効にするのに不十分な場合は、モードコマンドを呼び出してモードを有効にする :set メソッドも指定してください。変数のドキュメント文字列には、Custom 経由以外で変数を設定しても反映されない可能性がある旨を記載してください。また、定義にオートロードクッキー(オートロードクッキーを参照)を付与し、変数をカスタマイズした際にモードを定義するライブラリがロードされるよう :require を指定してください。例えば:

;;;###autoload
(defcustom msb-mode nil
  "Toggle msb-mode.
Setting this variable directly does not take effect;
use either \\[customize] or the function `msb-mode'."
  :set 'custom-set-minor-mode
  :initialize 'custom-initialize-default
  :version "20.4"
  :type    'boolean
  :group   'msb
  :require 'msb)