Next: , Previous: , Up: Starting Up   [Contents][Index]


38.1.3 端末固有の初期化

端末タイプはそれぞれ、その端末のタイプでEmacsが実行時にロードする独自のLispライブラリーをもつことができます。そのライブラリーの名前は変数term-file-prefixの値と端末タイプ(環境変数TERMにより指定)を結合することにより構築されます。term-file-prefixは通常は値"term/"をもち変更は推奨しません。連想リストterm-file-aliases内にTERMにマッチするエントリーが存在する場合には、EmacsはTERMのかわりにんその連想値を使用します。Emacsは通常の方法、つまりload-pathのディレクトリーから‘.elc’と‘.el’の拡張子のファイルを検索することにより、このファイルを探します。

端末固有ライブラリーの通常の役割は特殊キーによりEmacsが認識可能なシーケンスを送信可能にすることです。TermcapとTerminfoのエントリーがその端末のすべてのファンクションキーを指定していなければ、input-decode-mapへのセットや追加も必要になるかもしれません。Terminal Inputを参照してください。

端末タイプにハイフンとアンダースコアーが含まれて、その端末名に等しい名前のライブラリーが見つからないときには、Emacsはその端末名から最後のハイフンまたはアンダースコアー以降を取り除いて再試行します。このプロセスはEmacsがマッチするライブラリーを見つかるか、その名前にハイフンとアンダースコアーが含まれなくなる(つまりその端末固有ファイルが存在しない)まで繰り返されます。たとえば端末名が‘xterm-256color’でterm/xterm-256color.elというライブラリーが存在しなければEmacsはterm/xterm.elのロードを試みます。必要なら端末タイプの完全な名称を見つかるために端末ライブラリーは(getenv "TERM")を評価できます。

initファイルで変数term-file-prefixnilにセットすることにより端末固有ライブラリーのロードを防ぐことができます。

tty-setup-hookを使用することにより、端末固有ライブラリーのいくつかのアクションのアレンジやオーバーライドもできます。これは新たなテキスト端末の初期化後にEmacsが実行するノーマルフックです。自身のライブラリーをもたない端末にたいして初期化を定義するために、このフックを使用することのできるでしょう。Hooksを参照してください。

User Option: term-file-prefix

この変数の値が非nilならEmacsは以下のように端末固有初期化ファイルをロードする:

(load (concat term-file-prefix (getenv "TERM")))

端末初期化ファイルのロードを望まない場合には変数term-file-prefixnilをセットできる。

MS-DOSではEmacsは環境変数TERMに‘internal’をセットする。

User Option: term-file-aliases

この変数は端末タイプとそのエイリアスをマップする連想リスト。たとえば("vt102" . "vt100")という形式の要素はタイプ‘vt100’と同じようにタイプ‘vt102’の端末を扱うことを意味する。

Variable: tty-setup-hook

この変数は新たなテキスト端末の初期化後にEmacsが実行するノーマルフック(これは非ウィンドウのモードでのEmacs開始時とemacsclientのTTY接続作成時に適用される)。(適用可能なら)このフックはユーザーのinitファイルおよび端末固有Lispファイルのロード後に実行されるので、そのファイルにより行われた定義を調整するためにフックを使用できる。

関連する機能についてはwindow-setup-hookを参照のこと。