Previous: Describing Characters, Up: Documentation [Contents][Index]
Emacsはさまざまなビルトインのヘルプ関数を提供しており、それらはすべてプレフィックスC-hのサブコマンドとしてユーザーがアクセスできます。それらについての詳細はHelp in The GNU Emacs Manualを参照してください。ここでは同様な情報に関するプログラムレベルのインターフェイスを説明します。
この関数は、名前にaproposパターン(apropos pattern: 適切なパターン) patternを含む、“重要”なすべてのシンボルを探す。マッチに使用されるaproposパターンは単語、最低2つはマッチしなければならないスペース区切りの単語、または(特別な正規表現文字があれば)正規表現のいずれかである。あるシンボルが関数、変数、フェイスとしての定義、あるいはプロパティをもつ場合、そのシンボルは“重要”とされる。
この関数は以下のような要素のリストをリターンする:
(symbol score function-doc variable-doc plist-doc widget-doc face-doc group-doc)
ここでscoreはマッチの面からそのシンボルがどれだけ重要に見えるかを比較する整数である。残りの各要素はsymbolにたいする関数、変数、...等のドキュメント文字列(またはnil
)。
これは*Apropos*という名前のバッファーにもシンボルを表示する。その際、各行にはドキュメント文字列の先頭から取得した1行説明とともに表示される。
do-allが非nil
、またはユーザーオプションapropos-do-all
が非nil
なら、apropos
は見つかった関数のキーバインディングも表示する。これは重要なものだけでなく、internされたすべてのシンボルも表示する(同様にリターン値としてもそれらをリストする)。
この変数の値はHelpキーC-hに続く文字にたいするローカルキーマップである。
このシンボルは関数ではなく関数定義セルにはhelp-map
としてキーマップを保持する。これはhelp.el内で以下のように定義されている:
(define-key global-map (string help-char) 'help-command) (fset 'help-command help-map)
この変数の値はヘルプ文字(help character:
Helpを意味する文字としてEmacsが認識する文字)。デフォルトの値はC-hを意味する8。この文字を読み取った際にhelp-form
が非nil
のLisp式なら、Emacsはその式を評価して結果が文字列の場合はウィンドウ内にそれを表示する。
help-form
の値は通常はnil
。その場合にはヘルプ文字はコマンド入力のレベルにおいて特別な意味を有さず、通常の方法におけるキーシーケンスの一部となる。C-hの標準的なキーバインディングは、複数の汎用目的をもつヘルプ機能のプレフィックスキー。
ヘルプ文字はプレフィックスキーの後でも特別な意味をもつ。ヘルプ文字がプレフィックスキーのサブコマンドとしてバインディングをもたなければ、そのプレフィックスキーのすべてのサブコマンドのリストを表示するdescribe-prefix-bindings
を実行する。
この変数の値は、“ヘルプ文字”の代役を果たすイベント型のリストである。これらのイベントは、help-char
で指定されるイベントと同様に処理される。
この変数が非nil
なら、その値は文字help-char
が読み取られるたびに評価されるフォームであること。そのフォームの評価によって文字列が生成されたらその文字列が表示される。
read-event
、read-char-choice
、read-char
を呼び出すコマンドは、それが入力を行う間は恐らくhelp-form
を非nil
にバインドするべきだろう(C-hが他の意味をもつなら行わないこと)。この式を評価した結果は、それが何にたいする入力なのかと、それを正しくエンターする方法を説明する文字列であること。
ミニバッファーへのエントリーにより、この変数はminibuffer-help-form
の値にバインドされる(Definition of minibuffer-help-formを参照)。
この変数はプレフィックスキーにたいするヘルプをプリントする関数を保持する。その関数はユーザーが後にヘルプ文字を伴うプレフィックスキーをタイプして、そのヘルプ文字がプレフィックスの後のバインディングをもたないたときに呼び出される。この変数のデフォルト値はdescribe-prefix-bindings
。
この関数はもっとも最近のプレフィックスキーのサブコマンドすべてにたいするリストを表示するdescribe-bindings
を呼び出す。記述されるプレフィックスは、そのキーシーケンスの最後のイベントを除くすべてから構成される(最後のイベントは恐らくヘルプ文字)。
以下の2つの関数は、“electric”モードのように制御を放棄することなくヘルプを提供したいモードを意図しています。これらは、通常のヘルプ関数と区別するため、名前が‘Helper’で始まります。
このコマンドはローカルキーマップとグローバルキーマップの両方のキーバインディングすべてのリストを含むヘルプバッファーを表示するウィンドウをポップアップする。これはdescribe-bindings
を呼び出すことによって機能する。
このコマンドはカレントモードにたいするヘルプを提供する。これはミニバッファー内でメッセージ‘Help (Type ? for further
options)’とともにユーザーに入力を求めて、その後キーバインディングが何か、何を意図するモードなのかを探すための助けを提供する。これはnil
をリターンする。
これはマップHelper-help-map
を変更することによってカスタマイズできる。
この変数はEmacsに付随する特定のドキュメントおよびテキストファイルを探すディレクトリーの名前を保持する。
この関数はヘルプバッファーの名前(通常は*Help*)をリターンする。そのようなバッファーが存在しなければ最初にそれを作成する。
このマクロはwith-output-to-temp-buffer
(Temporary Displaysを参照)のようにbodyを評価して、そのフォームが生成したすべての出力をbuffer-nameという名前のバッファーに挿入する(buffer-nameは通常は関数help-buffer
によりリターンされる値であること)。これは指定されたバッファーをHelpモードにして、ヘルプウィンドウのquitやスクロールする方法を告げるメッセージを表示する。これはユーザーオプションhelp-window-select
のカレント値が適切にセットされていればヘルプウィンドウの選択も行う。これはbody内の最後の値をリターンする。
この関数は*Help*バッファー内のクロスリファレンスデータを更新する。このクロスリファレンスはユーザーが‘Back’ボタンか‘Forward’ボタン上でクリックした際のヘルプ情報の再生成に使用される。*Help*バッファーを使用するほとんどのコマンドは、バッファーをクリアーする前にこの関数を呼び出すべきである。item引数は(function
.
args)
という形式であること。ここでfunctionは引数リストargsで呼び出されるヘルプバッファーを再生成する関数。コマンド呼び出しがinteractiveに行われた場合、interactive-p引数は非nil
。この場合には*Help*バッファーの‘Back’ボタンにたいするitemのスタックはクリアーされる。
help-buffer
、with-help-window
、help-setup-xref
の使用例はdescribe-symbols exampleを参照してください。
このマクロは提供するサブコマンドのリストを表示するプレフィックスキーのように振る舞う、fnameという名前のヘルプコマンドを定義する。
呼び出された際、fnameはウィンドウ内にhelp-textを表示してからhelp-mapに応じてキーシーケンスの読み取りと実行を行う。文字列help-textはhelp-map内で利用可能なバインディングを説明すること。
コマンドfnameはhelp-textの表示をスクロールすることによる、自身のいくつかのイベントを処理するために定義される。fnameがこれらのスペシャルイベントのいずれかを読み取った際には、スクロールを行った後で他のイベントを読み取る。自身が処理する以外のイベントを読み取りそのイベントがhelp-map内にバインディングを有す際は、そのキーのバインディングを実行した後にリターンする。
引数help-lineはhelp-map内の候補の1行要約であること。Emacsのカレントバージョンでは、オプションthree-step-help
をt
にセットした場合のみこの引数が使用される。
このマクロはC-h C-hにバインドされるコマンドhelp-for-help
内で使用される。
この変数が非nil
なら、make-help-screen
で定義されたコマンドは最初にエコーエリア内に自身のhelp-line文字列を表示して、ユーザーが再度ヘルプ文字をタイプした場合のみ長いhelp-text文字列を表示する。