Previous: Mouse Buttons, Up: Key Bindings


28.4.11 使用禁止コマンド

コマンドを使用禁止にすると、コマンドの実行にはユーザーの確認が必要になります。 コマンドを使用禁止にする目的は、 初心者がそのコマンドをまちがって実行してしまい、混乱するのを防ぐためです。

Emacs上で使用禁止コマンドを対話的に実行しようとすると、 コマンド名、説明文、とりあえずどうすべきかの指示を 表示したウィンドウが現れます。 つぎにEmacsはコマンドを実行するか、使用禁止を解除してから実行するか、 実行を取り消すかを問い合わせてきます。 コマンドの使用禁止を解除することを選ぶと、 Emacsさらに、以後恒久的にそうするのか、 または現在のセッション内だけそうするのかも問い合わせてきます。 恒久的に使えるようにすると、 自動的に個人の.emacsファイルを編集します。

コマンドを使用禁止にする機構は、 コマンドに対応するLispシンボルの属性disablednil以外の値を設定することです。 これを行うLispプログラムはつぎのようになります。

     (put 'delete-region 'disabled t)

属性disabledの値が文字列であれば、 コマンドを使用しようとしたときに表示される メッセージにその文字列も含まれるようになります。

     (put 'delete-region 'disabled
          "It's better to use `kill-region' instead.\n")

コマンドを使用禁止にするには、.emacsファイルを直接編集するか、 かわってこのファイルを編集するコマンドM-x disable-commandを使います。 同様に、コマンドM-x enable-commandは、 .emacsファイルを編集してコマンドを恒久的に使える状態にします。 See Init File

コマンドが使用禁止であるかどうかは、 そのコマンドを起動するキー列には無関係です。 したがって、M-xでそのコマンドを起動しても Emacsはその可否を問い合わせてきます。 Lispプログラムからコマンドを関数として呼び出す場合には 使用禁止にしても何の効果もありません。