次: , 前: Abbrev Tables, 上: Abbrevs


35.3 略語を定義する

これらの関数は、指定した略語表に略語を定義します。 define-abbrevは下位レベルの基本的な関数ですが、 add-abbrevはユーザーに情報を問い合わせるコマンドが使います。

— 機能: add-abbrev table type arg

この関数は、ユーザーからの情報に基づいて 略語表tableに略語を追加する。 引数typeは、この略語の種類を英語で表した文字列である (典型的には、"global""mode-specific"。) この文字列はユーザーへのプロンプトに使われる。 引数argは、展開形の単語数である。

戻り値は、新たな略語を内部的に表現するシンボルであるか、 既存の略語を再定義することをユーザーが拒否したときにはnilである。

— 機能: define-abbrev table name expansion hook

この関数は、略語表tableにおいて、 略語nameexpansionに展開するように定義し、 hookを呼び出すように定義する。 戻り値は、Emacs内部で略語を表現するシンボルを返すが、 その名前はnameである。

引数nameは文字列であること。 引数expansionは、普通は、目的の展開形(文字列)であるが、 略語を未定義にするにはnilである。 これが文字列でもnilでもなければ、 略語を『展開する』ときにはhookだけを実行する。

引数hookは、関数かnilである。 hooknil以外であると、 略語をexpansionに置換し終えてから引数なしで呼ばれる。 hookが呼ばれるときには、 ポイントはexpansionの直後に置かれる。

略語の利用回数は0に初期化される。

— ユーザオプション: only-global-abbrevs

この変数がnil以外であると、 ユーザーはグローバルな略語だけを使う意図があることを表す。 モード固有の略語を定義するコマンドに対して、 グローバルな略語を定義するように指示する。 この変数は本節の関数のふるまいを変えることはないが、 それらを呼び出す側でこの変数を検査している。