我現在正在通過MELPA和Marmalade儘可能地安裝,並使用git管理我的〜/ .emacs.d。但是,我有git忽略* .elc文件。如何自動(重新)編譯ELPA包?
這意味着當我在一個系統上安裝一個軟件包,然後開始使用另一個系統時,git pull
只給我* .el文件。使用這些文件通常比使用* .elc慢。
我嘗試添加以下到〜/ .emacs.d/init.el:
;; load the packages we've installed. Note that package-install
;; byte-compiles the packages, but .elc is ignored by git so we force recompilation here
(byte-recompile-directory (expand-file-name "~/.emacs.d/elpa") 0)
(package-initialize)
不幸的是,這並不等同於package.el完成編譯。例如,如果我安裝的Emacs eclim,package.el不編譯的Emacs eclim /公司的Emacs eclim.el,我得到以下錯誤:
Leaving directory `/home/wilfred/.emacs.d/elpa'
Compiling file /home/wilfred/.emacs.d/elpa/emacs-eclim-20130310.1237/company-emacs-eclim.el at Mon Mar 11 15:40:01 2013
Entering directory `/home/wilfred/.emacs.d/elpa/emacs-eclim-20130310.1237/'
company-emacs-eclim.el:35:1:Error: Cannot open load file: eclim
Warning: reference to free variable `multiple-cursors-mode'
Warning: reference to free variable `mc--read-char'
Warning: assignment to free variable `mc--read-char'
Warning: reference to free variable `multiple-cursors-mode'
Warning: reference to free variable `mc--read-quoted-char'
Warning: assignment to free variable `mc--read-quoted-char'
Warning: reference to free variable `rectangular-region-mode'
Warning: reference to free variable `rectangular-region-mode'
如何使Emacs的字節 - 只編譯與package.el相同的文件?
謝謝,我不知道托盤。但是,我真的很喜歡我的.emacs.d自成一體 - 過去我很悲傷,很少更新的elisp文件在我最初下載的地方不再可用。 – 2013-03-12 14:42:56