因为你的初始化代码过早的执行了,而当时的 window-system 和 display-graphic-p 都还是 nil,所以 if/when 等语句的执行结果出现了偏差,要等 GUI 窗口创建出来之后,它们的值才会是 t。
window-system
display-graphic-p
nil
if/when
t
解决方案是:推迟执行 GUI 相关的初始化代码
相关讨论: