Bagaimana cara menjalankan beberapa versi Emacs dengan .emacs.d yang sama

8

Sebagai alternatif saya menjalankan 24.5 dan 25.0.50. Sayangnya, paket yang diinstal dan dikompilasi dari 25.0.50 tidak berfungsi dengan Emacs 24.5 ( cl-struct-defineadalah penyebab umum).

Satu solusi sepele adalah dengan tidak byte-compile apa pun. Itu membuat segalanya sangat lambat.

Bagaimana saya bisa menggunakan paket yang dikompilasi (untuk kinerja) saat menggunakan yang sama .emacs.duntuk keduanya 24.5 dan 25.0.50? Saya juga akan baik-baik saja dengan 24,5 mengabaikan file yang dikompilasi.

Sejuk
sumber
Pertanyaan ini mirip, tetapi tidak persis sama: ia berfokus pada mudahnya menjaga banyak versi berdampingan untuk tujuan pengujian, tetapi sama sekali tidak membahas file yang dikompilasi byte.
Clément
3
Saya mengatur package-user-dirdan beberapa direktori dan file lain berdasarkan versi emacs . Saya dapat menulis jawaban terperinci ketika saya di depan komputer.
Kaushal Modi
@kaushalmodi: Tidakkah itu memaksa saya untuk menginstal setiap paket dua kali?
Clément
Iya. Setiap paket diinstal beberapa kali (dan setiap folder instalasi akan memiliki file yang dikompilasi dengan byte spesifik versi emacs). Tetapi Anda tidak melakukannya secara manual. Saya memelihara daftar di saya init.eldan semua paket tersebut diinstal secara otomatis pada emacs startup (jika belum diinstal). Anda bahkan dapat menggunakan :ensurekata kunci use-packageuntuk menginstal paket secara otomatis.
Kaushal Modi

Jawaban:

3

Letakkan file byte-yang dikompilasi untuk versi Emacs yang berbeda di direktori yang berbeda. Buat load-pathkondisional Anda pada versi Emacs yang Anda jalankan, sehingga Anda memuat pustaka byte-yang dikompilasi yang sesuai.

Drew
sumber
2
(IMO, sayang sekali Emacs dev tidak lagi berupaya untuk mempertahankan kompatibilitas maju untuk file-file yang dikompilasi dengan byte. Dulu Anda bisa menggunakan pustaka yang dikompilasi menggunakan versi yang lebih lama di versi yang lebih baru. Anda mungkin tidak memiliki telah dapat mengambil keuntungan dari beberapa fitur baru, tetapi secara umum tidak ada masalah. Ini masih berlaku untuk sebagian besar hal, tetapi untuk kurang dan kurang, sayangnya.)
Drew
Terima kasih, itu ide yang bagus. Apakah ada cara untuk membuat manajer paket meletakkan file elc di direktori versi khusus itu? Mungkin beberapa tujuan default untuk byte-compile-file?
Clément
Tidak tahu; Maaf. Orang lain semoga akan menjawab pertanyaan itu. Saya bukan ahli tentang pkg mgr. Saya akan berpikir (& berharap) bahwa jawabannya adalah ya, itu memberikan cara mudah untuk melakukan itu.
Drew