2012-04-03 18 views
1

昨天我正在定製我的emacs。今天,我一直在emacs工作,突然偶然發現了一個有趣的效果。經過一番調查後,我發現導致這種影響的最小化初始化。仍然效果似乎不穩定。我希望你能重現它。hl-line-mode + scroll-step + highlight-括號 - > emacs變瘋狂了

首先,評估以下的elisp代碼:

(add-to-list 'load-path "~/.emacs.d/") 
(require 'highlight-parentheses) 
(global-hl-line-mode 1) 
(setq scroll-step 1) 

爲了確保沒有其他的擴展得到的途中,我用的文件,該代碼初始化文件。

當然,您還需要highlight-parentheses模塊。

然後,您將需要一個文件,其中可能會顯示效果。不幸的是,我無法弄清楚揭示效果的確切條件。嘗試Visible bookmarks extension的README.md文件。我很抱歉要求下載一些特定的文件來觀察效果,​​但我不知道其他方式。

如果你還沒有嚇跑然後打開README.md文件並打開高亮括號模式:

M-x highlight-parentheses-mode RET 

然後按住向下箭頭鍵。指針將開始逐行向下移動。但是當它離開45號線(此時位於屏幕底部)時,它會突然跳回到屏幕中間(24行)。 W-什麼!?

它發生在每次你接近第46行,當它正好在屏幕下邊緣的下方。此外,它似乎也會影響其他擴展(例如,視覺書籤開始製造奇怪的事情,例如搞亂書籤順序)。

我是elisp的新手,所以我幾乎無法找到這三種模式源中的錯誤。如果這是一個錯誤。

如果很重要,我在Debian擠壓下使用emacs 23.2.1。對不起,我的英語和感謝您的關注。

回答

2

這應該在IIUC的Emacs-24中修復。順便說一句,請刪除您的(add-to-list 'load-path "~/.emacs.d/"),因爲.emacs.d目錄包含名稱會發生​​衝突的文件。即如果你想把Elisp包放在〜/ .emacs.d的某個地方,把它們放在它的一個子目錄中。

+0

所以只要外部包裝在'.emacs.d/somedir'中,就沒有問題了? – kindahero 2012-04-04 08:36:01

+0

我沒有得到他們會發生什麼衝突?這個目錄有什麼特別之處?將所有.el文件移動到子目錄並沒有幫助。 – campugnatus 2012-04-04 13:01:26

+0

.emacs.d問題與您的問題無關(實際上您可以從示例代碼中刪除該行並重現相同的問題)。 Emacs存儲在〜/ .emacs.d配置文件(例如〜/ .emacs.d/foo.el)中,這些文件的名稱可能會與foo.el包衝突。 – Stefan 2012-04-04 16:39:15