我现在正在通过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