Previous: Command History, Up: Command Loop [Contents][Index]
キーボードマクロ(keyboard macro)は、コマンドとして考えることが可能な、入力イベントの記録されたシーケンスであり、キー定義により作成されます。キーボードマクロのLisp表現は、イベントを含む文字列またはベクターです。キーボードマクロとLispマクロ(Macrosを参照)を混同しないでください。
この関数は、イベントシーケンスとしてkbdmacroを実行する。kbdmacroが文字列かベクターの場合、たとえそれがユーザーによる入力であっても、その中のイベントは忠実に実行される。シーケンスは、単一のキーシーケンスであることを要求されない。キーボードマクロ定義は、通常は複数のキーシーケンスを結合して構成される。
kbdmacroがシンボルの場合、そのシンボルの関数定義はkbdmacroの箇所に使用される。それが別のシンボルの場合は、このプロセスを繰り返す。最終的に結果は文字列かベクターになる。結果がシンボル、文字列、ベクターでない場合は、エラーがシグナルされる。
引数countは繰り返すカウントであり、kbdmacroがその回数実行される。countが省略、またはnil
の場合は1回実行される。0の場合、kbdmacroはエラーに出会うか検索が失敗するまで、何度も実行される。
loopfuncが非nil
の場合、それはマクロの繰り返しごとに呼び出される、引数なしの関数である。loopfuncがnil
をリターンすると、マクロの実行が停止する。
execute-kbd-macro
の使用例は、Reading One Eventを参照のこと。
この変数は、カレントで実行中のキーボードマクロを定義する文字列かベクターである。nil
の場合、カレントで実行中のマクロは存在しない。マクロの実行により実行されたときに異なる振る舞いをするように、コマンドはこの変数をテストできる。この変数を自分でセットしてはならない。
この変数は、キーボードマクロの定義中のときだけ非nil
である。マクロ定義中の間は異なる振る舞いをするように、コマンドはこの変数をテストできる。既存のマクロ定義に追加する間、値はappend
になる。コマンドstart-kbd-macro
、kmacro-start-macro
、end-kbd-macro
は、この変数をセットする。この変数を自分でセットしてはならない。
この変数は常にカレント端末にたいしてローカルであり、バッファーローカルにできない。Multiple Terminalsを参照のこと。
この変数は、もっとも最近定義されたキーボードマクロの定義である。値は文字列、ベクター、またはnil
である。
この変数は常にカレント端末にたいしてローカルであり、バッファーローカルにできない。Multiple Terminalsを参照のこと。
これはキーボードマクロが終了したときに実行されるノーマルフックであり、何がキーボードマクロを終了させたか(マクロの最後に達したのか、あるいはエラーにより最後に達する前に終了したのか)は問わない。