From c5085642b8c6495ffea3d5709aa6da14cd1d8688 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Tue, 9 Mar 2010 08:11:45 -0800 Subject: [PATCH] emacs: Fix backspace to not scroll more than the previous message The bug was occuring due to counting invisible lines, but then scrolling past them since they are invisible. --- notmuch.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/notmuch.el b/notmuch.el index cd4d9963..c611dcc2 100644 --- a/notmuch.el +++ b/notmuch.el @@ -647,7 +647,13 @@ any effects from previous calls to (condition-case nil (scroll-down nil) ((beginning-of-buffer) nil)) - (goto-char (window-start))) + (goto-char (window-start)) + ; Because count-lines counts invivisible lines, we may have + ; scrolled to far. If so., notice this and fix it up. + (if (< (point) previous) + (progn + (goto-char previous) + (recenter 0)))) (notmuch-show-previous-message)))) (defun notmuch-show-advance-and-archive ()