initファイルの文字列やキーバインディングに、アクセントつき文字などの非ASCII文字が含まれる場合、それは言語やコーディングシステムに問題を起こすかもしれません。
initファイルで非ASCII文字を使用したい場合、initファイルの最初の行に‘-*-coding: coding-system-*-’タグを配して、問題となる文字をサポートするコーディングシステムを指定するべきです。Recognize Codingを参照してください。なぜなら、非ASCIIテキストのでコーディングにたいするにたいするデフォルトのコーディングシステムは、Emacsがinitファイルでそのような文字列を使用する個所を読み込むまでに、セットアップされていないかもしれないので、Emacsがその文字列を間違ってデコードする可能性があるからです。‘-*-coding: coding-system-*-’を記述した場合、set-language-environment
を呼び出す等、他の方法でコーディングシステムを変更するEmacs
Lispコードの追加は避けるべきです。
非ASCIIキーをバインドするには、ベクターを使用しなければなりません(Init Rebindingを参照してください)。非ASCII文字はメタキーとして解釈されるので、文字列構文は使用できません。たとえば:
(global-set-key [?char] 'some-function)
charを挿入するには、C-qとタイプしてからバインドしたいキーをタイプします。
警告: キーボードのエンコーディングを変更していたり、マルチバイトとユニバイトの間のモードを変更していたり、その文字にたいしてC-qが挿入するコードを変更する何かを行なっている場合、このキーバインディングは機能しないでしょう。したがって編集するファイルと同様に、initファイルにはただ1つのコーディングシステムを使用するのが賢明です。たとえば、コーディングシステム‘latin-1’と‘latin-9’を混ぜないでください。