From: Lars Ingebrigtsen Date: Thu, 3 Feb 2011 05:13:12 +0000 (-0800) Subject: (article-update-date-lapsed): Make sure the window start doesn't move, either. X-Git-Url: https://cgit.sxemacs.org/?p=gnus;a=commitdiff_plain;h=6c2c3479dcaf5171b77e24aa72b442eb1e36f7d7 (article-update-date-lapsed): Make sure the window start doesn't move, either. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6706676e3..31dc0903f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -4,6 +4,8 @@ gnus-article-update-date-headers is nil. (gnus-article-date-headers): Rip out the old -treat-date-* stuff, since it didn't really work with defcustom. + (article-update-date-lapsed): Make sure the window start doesn't move, + either. 2011-02-01 Julien Danjou diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 0155afe38..e9a02619e 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -3628,15 +3628,25 @@ function and want to see what the date was before converting." (set-buffer (window-buffer w)) (when (eq major-mode 'gnus-article-mode) (let ((old-line (count-lines (point-min) (point))) - (old-column (- (point) (line-beginning-position)))) + (old-column (- (point) (line-beginning-position))) + (window-start + (window-start (get-buffer-window (current-buffer))))) (goto-char (point-min)) (while (re-search-forward "^Date:" nil t) (let ((type (get-text-property (match-beginning 0) 'gnus-date-type))) (when (memq type '(lapsed combined-lapsed user-format)) + (unless (= window-start + (save-excursion + (forward-line 1) + (point))) + (setq window-start nil)) (save-excursion (article-date-ut type t (match-beginning 0))) - (forward-line 1)))) + (forward-line 1) + (when window-start + (set-window-start (get-buffer-window (current-buffer)) + (point)))))) (goto-char (point-min)) (when (> old-column 0) (setq old-line (1- old-line)))