刚买了一台新的 Windows 笔记本电脑,在上面安装了 emacs23。
我以前的计算机使用 emacs 22 不知道多久。
我有一个较长的 emacs.el,它加载了各种侧 elisp 库。我在 emacs 22 中设置了一切。
我把这个 emacs.el 和所有其他 elisp 模块一起带到了新电脑上。启动了emacs,一切看起来都很好。只有一个奇怪的问题。
在 emacs.el 的顶部附近,我这样做:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; basic, default colors
(set-face-foreground 'default "white")
(set-face-background 'default "black")
这使背景变黑,前景变白(黑底白字)。这与在 Windows 上默认安装 emacs 的操作相反。
在加载 emacs.el 的其余部分时,我可以看到这些颜色是有效的。它只是一个空白窗口,甚至没有显示暂存缓冲区。我看到的只是窗口底部的消息,告诉我加载进度。(由于某种原因,加载速度要慢得多 - 我想我有一些未编译的 .el 库 - 我将不得不单独调查)。即便如此,它还是一个黑色的窗口。(如果没有 emacs.el 中的这些语句,窗口仍然是白色的。)无论如何,一切都会加载,然后屏幕恢复为黑底白字,而不是黑底白字。
奇怪的部分是我设置的所有其他字体,似乎“坚持”。cc-mode 中的注释字体、字符串字体、函数名等字体......这些都保留了下来。只有默认的前景和背景字体不会“粘”。
我猜想也许 elisp 模块堆栈中的某些东西可能正在重置这些字体。所以我在 emacs.el 文件的最后复制了这两个语句(从上面)。尽管如此,字体还是会被还原。
如果我在加载完所有内容后在暂存缓冲区中评估这些语句,那么字体看起来就像我预期的那样 - 黑底白字。
emacs23 的默认字体有什么不同吗?
为什么会恢复?
当从 emacs.el 评估时,为什么我不能让这些设置“坚持”?
感谢您提供的任何帮助。