刚买了一台新的Windows笔记本电脑,上面安装了emacs23。
我以前的电脑使用Emacs22已经很久了。
我有一个longish emacs.el,它装载各种各样的elisp库。在Emacs22中,我把一切都安排好了。
我把这个emacs.el和所有其他elisp模块一起带到了新的PC上。启动了Emacs,一切看起来都很好。只有一个奇怪的问题。
在Emacs.el的顶部附近,我有:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; basic, default colors
(set-face-foreground 'default "white")
(set-face-background 'default "black")
这将使背景变黑,前景变白(白色变黑)。这与在Windows上默认安装Emacs所做的相反。
当其余的emacs.el正在加载时,我可以看到这些颜色是有效的。这只是一个空白窗口,甚至没有显示草稿缓冲区。我看到的只是窗口底部的消息,它更新了加载进度。(出于某种原因,加载速度要慢得多-我想我有一些未编译的.el库-我将不得不单独研究这个问题)。即便如此,它还是一扇黑窗。(没有emacs.el中的这些语句,窗口将保持白色。)无论如何,所有内容都将加载,然后屏幕将恢复为黑白,而不是黑白。
奇怪的部分是我设置的所有其他字体,看起来像是“粘”。CC模式下的字体,如注释字体、字符串字体、函数名等…这些都还存在。只有默认的前景和背景字体不会“粘”。
我猜想可能是Elisp模块堆栈中的某个东西正在重置这些字体。所以我在emacs.el文件的最后复制了这两个语句(从上面)。不过,字体还是会被还原。
如果在加载完所有内容后,在草稿缓冲区中对这些语句进行eval,那么字体看起来就像我所期望的那样——黑底白字。
Emacs23如何使用默认字体有什么不同吗?
为什么会恢复?
当从emacs.el进行评估时,为什么我不能让这些设置“坚持”?
谢谢你们的帮助。