请教一个问题, require-package 之后的包是加载了吗 ?

按照官方文档的说法:

To disable automatic package loading, change the variable package-enable-at-startup to nil .

设置 package-enable-at-startupnil 后, package-install 就不会自动加载包。

在 purcell 的配置中, require-package 后就直接使用包了:

(require-package 'fullframe)
(fullframe list-packages quit-window)

但是前面设置了 (setq package-enable-at-startup nil), 这是什么情况?

1 个赞

startupinit之后,而加载init文件及其require的文件属于init过程。

Emacs在stratup时会调用(package-initialize),而这里在init-elpa.el中已经调用过(package-initialize)了,设置package-enable-at-startupnil可以防止重复调用。

读读(package-initialize)的文档,你就知道为何要如此了。

1 个赞