现在Emacs 25会自动在~/.emacs.d/init.el中添加(package-initialize).
那么我如果只想兼容Emacs 25及以上版本的Emacs,还有没有必要在诸如init-elpa.el之类关于elpa的文件里再写一行(package-initialize)? 还是说只在init.el里写一个(package-initialize)就够了?
另外我看到大神配置里(package-initialize)一般会重复很多次, 请问这是为什么?
多谢指教
1 个赞
同样不太了解背后的道理,我只在 init.el 开头调用了一次 (package-initialize)。
;;; init.el
(setq package-archives ...)
(package-initialize)
...
;;; init.el ends here
照我的理解,我需要 (package-initialize) 在一开始就设置好已安装包的 load-path 和 Autoloads。
只调用一次就好了。Emacs25会自动在init.el中增加一行 (package-initialize),如果你想在init-elpa.el之类的调用,可以注释掉init.el中的那行,但注意不能删除,否则Emacs又会自动给你加上。不必重复调用,会浪费很多启动时间。
这么想的话,看来选择不在init.el中调用确实是为了启动效率?或者兼容老版本?
如果没有init-epla.el,在init.el里调用就好了啊。既然有init-elpa.el,肯定是想归类管理配置啦。这样理解没错吧?