为什么 emacs 没有在 init.el 中运行 (set-face-attribute ...),即使缓冲区的其余部分已执行?

Squ*_*dly 8 fonts emacs font-faces

(set-face-attribute 'default nil :height 100)在 init.el 中添加了它,因为我发现默认字体大小有点太大了。但是,当 emacs 加载时它不会被执行。

我没有一个init.elc文件不代表 my 的更新版本init.el,并且我知道 my 的其余部分init.el正在执行。

在它之后没有其他的(set-face-attribute ...)sexp 可以覆盖它。

加载 emacs 并自己执行后返回我的init.el属性正确设置(即对于所有缓冲区(但不是新帧),持久地)

Squ*_*dly 6

从我的配置文件中删除一些内容后,我发现这是由于(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12")).

我之前对它打折扣的原因是因为我(set-face-attribute 'default nil :height 100)在初始化文件的最后运行。

解决办法就是把改变的sexp改为default-frame-alistbe (add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12") '(height . 100)),直接去掉改变face-属性的那个