现在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
,肯定是想归类管理配置啦。这样理解没错吧?