Next: , Previous: , Up: Init File   [Contents][Index]


49.4.3 端末固有の初期化

各端末タイプは、Emacsをその端末タイプで実行するときEmacsにロードされるLispライブラリーをもつことができます。termtypeという名前の端末タイプにたいして、そのライブラリーはterm/termtypeと呼ばれます(term-file-aliasesの連想配列(association list)の中に(termtype . alias)という形式のエントリーがある場合、Emacsはtermtypeのところにaliasを使用します)。このライブラリーは通常のようにディレクトリーload-pathを検索することにより見つけられ、サフィックスは‘.elc’と‘.el’です。通常はほとんどのEmacsライブラリーがあるディレクトリーの、サブディレクトリーtermにあります。

端末固有ライブラリーの通常の目的は、input-decode-map (または、その前にfunction-key-map)を使用して、その端末のファンクションキーで使用されるエスケープシーケンスを、より意味のある名前にマップすることです。これがどのように行なわれるかの例は、ファイルterm/lk201.elを参照してください。多くのファンクションキーは、Termcapデータベースの情報にしたがい、自動的にマップされます。端末固有ライブラリーは、Termcapが指定しないファンクションキーだけをマップすればよいのです。

端末タイプがハイフンを含む場合、最初のハイフンの前の部分だけが、ライブラリーの選択で意味をもちます。したがって端末タイプ‘aaa-48’と‘aaa-30-rv’は、両方ともライブラリーterm/aaaを使用します。ライブラリー内のコードは、(getenv "TERM")を使用して、完全なタイプ名を取得できます。

ライブラリーの名前は、変数term-file-prefixの値と、端末タイプを結合することにより構築されます。.emacsterm-file-prefixnilにセットすることにより、端末固有ライブラリーのロードを抑止できます。

Emacsは初期化の最後、.emacsと端末固有ライブラリーの両方が読み込まれた後に、フックtty-setup-hookを実行します。端末固有ライブラリーの任意の部分をオーバーライドしたい場合や、ライブラリーをもたない端末の初期化を定義したい場合は、このフックにフック関数を追加します。Hooksを参照してください。