Emacs 24.3 atau lebih rendah
Tidak ada cara bawaan untuk mencegah file-file lama ini tidak dimuat, tetapi ada cara mudah untuk menghilangkannya.
- Anda dapat mengkompilasi ulang seluruh direktori ELPA dengan memanggil:
M-x byte-recompile-directory RET ~/.emacs.d/elpa/
.
Ini harus menyingkirkan file yang sudah ketinggalan zaman.
- Anda dapat menggunakan
paket kompilasi otomatis dan mengaktifkan
auto-compile-on-load-mode
yang dapat mengkompilasi file sebelum mereka dimuat.
Emacs 24.4
Ya, dan ternyata agak sederhana. The load-prefer-newer
variabel menyajikan tepatnya tujuan ini.
(setq load-prefer-newer t)
Sayangnya, itu tidak akan berfungsi ketika beberapa kode secara khusus menargetkan
.elc
file, seperti (load "server.elc")
. Tapi itu harus cukup selama Anda menggunakan require
atau menelepon load
tanpa akhiran, yang harus Anda lakukan.
Dari dokumen:
load-prefer-baru adalah variabel yang didefinisikan dalam lread.c.
Nilainya nol
Dokumentasi:
Non-nil berarti memuat lebih suka versi terbaru file.
Ini berlaku ketika sufiks nama file tidak ditentukan secara eksplisit dan load mencoba berbagai sufiks yang mungkin (lihat load-suffix dan load-file-rep-suffixes). Biasanya, itu berhenti di file pertama yang ada kecuali Anda secara eksplisit menentukan satu atau yang lain. Jika opsi ini bukan nol, ia memeriksa semua sufiks dan menggunakan file mana pun yang terbaru.
Perhatikan bahwa jika Anda mengkustomisasi ini, jelas itu tidak akan mempengaruhi file yang dimuat sebelum kustomisasi Anda dibaca!
auto-compile
perpustakaan (unggul!) Di Emacs 24.4+, juga di bawah ini. Ini adalah solusi mengkonfigurasi dan melupakan yang nyata.load-prefer-newer
hanya memastikan bahwa Anda akan terus menjalankan kode yang tidak dikompilasi dengan lambat setelah kode yang dikompilasi keluar dari tanggal.