同じ.emacs.dでEmacsの複数のバージョンを実行するにはどうすればよいですか


8

あるいは、24.5と25.0.50を実行します。残念ながら、25.0.50からインストールおよびコンパイルされたパッケージcl-struct-defineは、Emacs 24.5(一般的な原因)では動作しません。

簡単な解決策の1つは、何もバイトコンパイルしないことです。しかし、それは物事をかなり遅くします。

.emacs.d24.5と25.0.50の両方に同じものを使用しながら、(パフォーマンスのために)コンパイルされたパッケージをどのように使用できますか?また、コンパイル済みファイルを無視して24.5で大丈夫です。


この質問は似ていますが、まったく同じではありません。テストの目的でバージョンの束を簡単に並べておくことに焦点を当てていますが、バイトコンパイルされたファイルについてはまったく触れていません。
クレメント2015年

3
emacsバージョンに基づいて、他のいくつかのディレクトリとファイルを設定package-user-dirしました。コンピュータのところにいるとき、詳細な答えを書くことができます。
Kaushal Modi

@kaushalmodi:各パッケージを2回インストールすることを強制しませんか?
クレメント

はい。各パッケージは複数回インストールされます(各インストールフォルダーには、emacsバージョン固有のバイトコンパイル済みファイルが含まれます)。ただし、手動で行う必要はありません。私はalistを保持してinit.elおり、それらのパッケージはすべてemacsの起動時に自動インストールされます(まだインストールされていない場合)。:ensureキーワードを使用してuse-packageパッケージを自動インストールすることもできます。
Kaushal Modi

回答:


3

異なるEmacsバージョンのバイトコンパイルされたファイルを異なるディレクトリに置きます。あなたの作るload-pathあなたは適切なバイトコンパイルされたライブラリをロードするようにすることを、あなたが実行しているEmacsのバージョンを条件に。


2
(IMO、Emacs devがバイトコンパイルされたファイルの上位互換性を維持するための努力を行わなくなったことは残念です。以前のバージョンを使用してコンパイルされたライブラリを新しいバージョンで使用できる場合がありました。いくつかの新機能を利用することができましたが、一般的には問題がありませんでした。これはほとんどの場合に当てはまりますが、残念ながら次第に少なくなっています。)
Drew

ありがとう、それは素晴らしいアイデアです。ただし、パッケージマネージャーでelcファイルをそのバージョン固有のディレクトリに配置する方法はありますか?バイトコンパイルファイルのデフォルトの宛先のようなものですか?
クレメント

ダンノ; ごめんなさい。他の誰かがうまくいけばその質問に答えます。私はpkg mgrの専門家ではありません。答えは「はい」であり、簡単な方法で提供できると思います(&願っています)。
2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.