2011-08-04 62 views
1

我使用emacs中的下一行進行自動滾動問題。當我到達屏幕邊緣 http://i.stack.imgur.com/lfqEL.png 並且使下一行有時我不滾動,並且指針指向CURRENT屏幕的中心,而不是NEXT屏幕的中心。 (所以如果我保持C-n指針將無休止地通過這個屏幕運行)下一行自動滾動問題

我得到同樣的東西與前鋒線,有時與前鋒頁。我與前一行自動滾動不一樣,它工作正常。

我不知道爲什麼。我只注意到,當我有更多的長線,屏幕垂直分裂時,這件事發生得非常快(Cx 3 Cx 3,從我的1000行.emasc文件開始滾動是一種快速重現此錯誤的方法) 。

Emacs -Q,(setq truncate-lines nil)沒有它。 Emacs,(setq truncate-lines t)也沒有。

如果你知道什麼會導致這種麻煩,請回復。

+0

你是說'設置'truncate-lines'爲'nil'防止問題發生? – phils

+0

@phils哎呀,在問題文本中的錯誤。感謝您指點。編號(setq truncate-lines t)'防止(很長的行不完全在屏幕上)。 – desudesudesu

回答

1

後,宏/ elisp的與(next-line) (sit-for 0.01)沒有給出任何效果,所以我每次測試它通過舉辦CN,使用eval-region二進制搜索方法)

所以答案是:

http://www.emacswiki.org/emacs/HighlightParentheses

*scratch*評估這一點,開始用emacs的emacs -Q

(setq-default truncate-lines nil) 
(setq truncate-partial-width-windows nil) 
(add-to-list 'load-path "~/my_path_to_highlight-parentheses_script/") 
(require 'highlight-parentheses) 

使一些緩衝帶長線,並與C-x 3 C-u 5 0 C-x }然後C-x o M-x highlight-parentheses-mode縮小與持有C-n是重現錯誤的方式。

我注意到所有與高亮括號有關的東西,並且bug消失了。我想,我應該找到一種方法來告訴開發者這個bug。

+0

我有相同(或非常相似)的問題,只是向維護者提交了一個錯誤。 – Tyler

1

此問題的一個潛在來源似乎是設置scroll-conservatively變量。

http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/0a7a9c730c037d57

我注意到,通過大文件移動時下降,有時的 光標從屏幕底部跳到中間。

任何想法爲什麼這隻會發生在一些時間?

因爲Emacs的重新顯示無法保持滾動狀態。在 23.1之前,滾動保守地設置爲一個較大的值,Emacs從未跳過 ;現在它試圖做到這一點,但有時會失敗。我認爲 相關changelog的項目是這個:

2008-10-27創屹東

使用 eval-region 2小時(這個問題不容易重現
* xdisp.c (try_scrolling): When computing the distance from the 
    scroll margin to PT, try moving some distance past the window 
    bottom before giving up. 

Juanma 
+0

'scroll-conservatively是'C源代碼'中定義的一個變量。它的值是0'似乎是不同的問題。我可以重現這一點,將'scroll-conservatively'設置爲'9999',但這個問題實際上是不同的。在這個鏈接問題中,屏幕突然被重新接近(但是在指針的正確位置),在我的屏幕靜止不動,所以'下一行'跳轉,這是錯誤的。這非常討厭,它多次崩潰了我的宏編輯。 – desudesudesu