aquamacs红色光标

时间:2013-02-19 14:13:46

标签: macos emacs dot-emacs aquamacs

我的.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将每个加载的配置文件的名称打印到消息中?

3)相关的大图片问题:通常有一种方法可以强迫新版本的Emacs像老版本一样吗?它将解决我当前的问题,以及新版本偶尔会发生的剧变。

以下是Aquamacs customizations.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)))))

3 个答案:

答案 0 :(得分:2)

我并不完全迷恋Aquamacs,但emacsforosx有一个非常烦人的(对我来说)属性,窗口位置不会在会话中保存....它总是在我的主显示屏的左上角打开,而不是在哪里我找到了它。并且没有办法解决它。

我不记得我发现/了解到这是设置光标颜色的方法,但请参阅此常见问题:

http://www.emacswiki.org/emacs/AquamacsFAQ#toc16

打开缓冲区并按照您喜欢的方式设置。然后选择

选项 - >外观 - >采用面部和帧参数作为帧默认值

这会在您default-frame-alist的{​​{1}}部分中添加custom-set-variables定义。

如果您以后想要不同的光标颜色,则可以尝试尝试。

答案 1 :(得分:0)

如果您怀疑您的Emacs版本在启动期间正在执行某项操作,我们会覆盖您的偏好设置,您可以尝试在初始化时设置首选项,方法是在after-init-hook中添加一个函数:

(add-hook 'after-init-hook (lambda () (set-cursor-color "#aa88dd")) 'append)

这可能会导致您的自定义评估得最晚,以覆盖默认值。 (编辑:使用“append”参数,此函数将被添加到钩子列表的末尾,希望覆盖Aquamacs放置的任何其他东西。)

答案 2 :(得分:0)

尝试在.emacs文件(message "Hello -- this message came from the bottom of your .emacs file.")的底部添加一条消息,并在customizations.el文件(message "Hello -- this message came from the bottom of your customizations.el file.")底部添加另一条消息。如果每个配置文件中的设置存在冲突,那么最后加载的将确定光标颜色设置。如果其中任何一个文件中的光标颜色只有一个设置,那么您需要在Aquamacs的源文件中进行单词搜索,以找出光标颜色的设置位置。例如,以下是Github上最新版Aquamacs24分支的源文件中set-cursor-color的单词搜索结果:https://github.com/davidswelt/aquamacs-emacs

Aquamacs打包应用程序中的源文件可能会以* .gz格式压缩。您可能需要对未经压缩的源文件执选择所需的分支后,会出现 zip 下载按钮。

Searching 9317 files for "set-cursor-color"

/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/aquamacs/oneonone/oneonone.el:
 1453    "Set cursor type depending on whether an input method is used or not."
 1454    (when 1on1-change-cursor-on-input-method-flag
 1455:     (set-cursor-color
 1456       (if current-input-method
 1457           1on1-default-frame-cursor-color-input-method

/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/emulation/cua-base.el:
 1141        (stringp color)
 1142        (not (equal color (frame-parameter nil 'cursor-color))))
 1143:  (set-cursor-color color))
 1144      (if (and type
 1145        (symbolp type)

/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/emulation/viper-util.el:
  156  ;; This was equally true before the advent of viper-frame-value.
  157  ;; Now it could be changed by passing frame to v-f-v.
  158: (defun viper-set-cursor-color-according-to-state (&optional frame)
  159    (cond ((eq viper-current-state 'replace-state)
  160    (viper-change-cursor-color

/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/emulation/viper.el:
  946        ))
  947  
  948:   (defadvice set-cursor-color (after viper-set-cursor-color-ad activate)
  949      "Change cursor color in VI state."
  950      (modify-frame-parameters

/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/frame.el:
 1208        (face-set-after-frame-default (selected-frame))))
 1209  
 1210: (defun set-cursor-color (color-name)
 1211    "Set the text cursor color of the selected frame to COLOR-NAME.
 1212  When called interactively, prompt for the name of the color to use.

/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/term/pc-win.el:
  349  (fset 'set-default-font 'ignore)
  350  (fset 'set-mouse-color 'ignore)      ; We cannot, I think.
  351: (fset 'set-cursor-color 'ignore) ; Hardware determined by char under.
  352  (fset 'set-border-color 'ignore) ; Not useful.
  353