2

在我的.emacs文件中,我必须全局(delete-selection-mode t)启用删除选择模式。目前我正在使用 AUXTeX 处理 TeX 文件,所以它可能与 AUCTeX 有关,但我不知道。

起初,在访问文件后foo.tex一切正常,并且在标记的文本上键入会用我键入的文本替换标记的文本。但是,一段时间后,在我编译文档、添加 TeX 宏等的过程中,该功能delete-selection-mode不再起作用。

我不知道我的哪个动作是导致问题的那个——很难追踪它。

请注意,虽然功能delete-selection-mode失败,但当我尝试启用它时(M-x delete-selection-mode),我收到一条消息,提示该模式已禁用!那就是它之前没有被禁用 - 它只是没有工作......然后启用它(M-x delete-selection-mode再次),然后它被启用并再次工作。直到下一次失败...

4

1 回答 1

2

在后台,模式使用pre-command-hook,它允许命令在每个命令之前运行。众所周知,Emacs 会在发生错误时清除此变量(只是为了确保 Emacs 不会挂起)。这意味着 使用的函数delete-selection-mode使用此钩子的任何其他模式触发了错误。

如何解决?找出导致错误的原因,将函数包装在一个ignore-errors块中,或者运行一个计时器,每隔十秒左右重新添加一次函数。

于 2013-02-19T10:25:33.257 回答