2013-02-19 59 views
2

在我的.emacs文件中,我有(delete-selection-mode t)以啓用delete-selection-mode全局。目前我正在使用AUXTeX處理TeX文件,所以它可能與AUCTeX有關,但我不知道。emacs刪除選擇模式禁用本身

首先,在訪問文件foo.tex之後,一切正常,並且在標記的文本上鍵入將替換標記的文本。但是,經過一段時間,我編譯文檔,添加TeX宏等,delete-selection-mode的功能不再起作用。

我不知道我的哪個行爲是導致問題的行爲 - 很難追查它。

注意的是,雖然delete-selection-mode的功能無法正常工作,當我嘗試啓用它(M-x delete-selection-mode)我得到一個消息,該模式是禁用!這是它沒有禁用之前 - 它只是沒有工作...我然後啓用它(M-x delete-selection-mode再次),然後它啓用並再次工作。直到下一個失敗...

回答

2

在引擎蓋下,模式使用pre-command-hook,它允許命令在每個命令之前運行的東西。已知Emacs在發生錯誤時清除此變量(只是爲了確保Emacs不會掛起)。這意味着delete-selection-mode,或使用此鉤子的任何其他模式所使用的功能會觸發錯誤。

如何解決?找出造成錯誤的原因,將功能封裝在ignore-errors區塊中,或每隔10秒左右運行一個定時器重新添加該功能。