我的 .emacs 文件中的旧的、可靠的(set-cursor-color "#aa88dd")会因 Aquamacs 而失败,除非它在 Aquamacs 启动后运行。这种类型的失败是 Emacs 在启动期间做一些秘密的典型,但我不知道是什么。我修改并保存了光标的 Aquamacs 设置(光标面:背景:),它适用于会话,并保存设置,但没有为下一个会话正确初始化。即便如此,我还是有一个鲜红色的光标。
工作 Emacs:GNU Emacs 23.2.1(i686-apple-darwin,NS apple-appkit-1038.29)
失败的 Aquamacs:GNU Emacs 23.3.50.1(i386-apple-darwin9.8.0,NS apple-appkit-949.54)
1) 解决方法和修复表示赞赏。目前我正在使用 23.2.1。我不觉得有必要升级,但迟早我必须升级。
2)搜索互联网一无所获。我怀疑这个问题是与其他问题相关的问题,即 Aquamacs 无法确定某些设置并选择红色作为光标颜色。是否有让 Emacs 将每个加载的配置文件的名称打印到Messages的技巧?
3)相关的大图问题:一般有没有办法强制新版本的 Emacs 表现得像旧版本?它将解决我当前的问题,以及新版本偶尔发生的剧变。
下面是 Aquamacs customizes.el,它似乎已正确保存了光标背景。我没有编辑这个文件。将 (cursor...) 语句添加到我的 .emacs custom-set-variable 没有任何效果。
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(cua-mode nil nil (cua-base))
'(cua-normal-cursor-color "#aa88dd")
'(cursor-type (quote box))
'(ess-S-assign "_")
'(ido-everywhere t)
'(ido-show-dot-for-dired t)
'(line-move-visual nil)
'(term-bind-key-alist (quote (("C-c C-x b" . switch-to-buffer) ("C-c M-x" . execute-extended-command) ("C-c C-c" . term-interrupt-subjob) ("M-`" . other-frame) ("C-m" . term-send-raw))))
'(term-unbind-key-list (quote ("C-c"))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :background "White" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 210 :width normal :foundry "apple" :family "Inconsolata"))))
'(cua-normal-cursor-color "#aa88dd")
'(cursor ((t (:background "#AA88DD" :foreground "black" :box nil)))))