MS-Windowsでは、環境変数 emacs_dir、EMACSLOADPATH、EMACSDATA、EMACSPATH、EMACSDOC、SHELL、TERM、HOME、LANG、および PRELOAD_WINSOCK を、システムレジストリの /Software/GNU/Emacs キー配下にある HKEY_CURRENT_USER または HKEY_LOCAL_MACHINE セクションで設定することも可能です。Emacs
の起動時には、環境変数の確認に加え、システムレジストリにおいてもこれらの変数を確認します。
これらの変数の値を決定するため、Emacsは以下の手順を踏みます。まず、環境を確認します。そこで変数が見つからない場合、Emacsは/Software/GNU/Emacs配下で変数名によるレジストリキーを検索します。まずレジストリのHKEY_CURRENT_USERセクションを確認し、そこでも見つからなければHKEY_LOCAL_MACHINEセクションを確認します。最後に、それでも値を特定できない場合は、コンパイル時に組み込まれたデフォルト値を使用します。
なお、レジストリ設定はシステム全体に適用されるため、システム上で動作するすべてのEmacsセッションに影響します。したがって、異なるバージョンのEmacsを実行している場合や、インストール済みと未インストールの両方のEmacs実行ファイルを使用している場合、あるいはより新しいバージョンのEmacsをビルドしている場合、レジストリの設定によってそれらすべてが同じディレクトリを使用することになり、これはおそらく意図した動作ではないはずです。このため、レジストリにこれらの変数を設定することは推奨しません。もしレジストリにそのような設定がある場合は、削除することをお勧めします。
EmacsのMS-Windows用インストールプログラム addpm.exe
を実行すると、emacs_dir、EMACSLOADPATH、EMACSDATA、EMACSPATH、EMACSDOC、SHELL、および TERM
変数の既存のレジストリ設定が、addpm.exe
と共に提供されたインストール済みのEmacsバージョンに適した値に更新されます。なお、addpm.exe は存在しないレジストリ設定を 作成しません。既存の設定(おそらく以前のEmacsインストールから引き継がれたもの)のみを更新し、新しくインストールされたEmacsバージョンとの互換性を確保します。最近のバージョンのEmacsをインストールする場合、addpm.exe
を実行する必要はなくなりました。そのため、旧バージョンからアップグレードする場合で、何らかの理由によりレジストリからこれらの設定を削除できない場合にのみ、実行を推奨します。
上記の環境変数に加えて、/Software/GNU/Emacs レジストリキーに設定を追加して X リソースを指定することもできます(X オプションとリソース を参照)。.Xdefaults ファイルで指定できる設定の大部分は、そのレジストリキーから設定可能です。