From c61a8b440411b9864ff9fa4aac313b6328e8c809 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Thu, 3 Feb 2011 05:21:20 +0000 Subject: [PATCH] gnus-art.el (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. --- lisp/gnus/ChangeLog | 4 ++++ lisp/gnus/gnus-art.el | 36 +++++++++++++++--------------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f3a404338e9..5dcbd8f5ce0 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -2,6 +2,10 @@ * gnus-art.el (gnus-article-setup-buffer): Stop the date timer if 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/gnus-art.el b/lisp/gnus/gnus-art.el index bddcaa9fd9d..e9a02619e6f 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -1014,24 +1014,7 @@ on parts -- for instance, adding Vcard info to a database." :group 'gnus-article-mime :type '(repeat (cons :format "%v" (string :tag "MIME type") function))) -(defcustom gnus-article-date-headers - (let ((types '(ut local english lapsed combined-lapsed - iso8601 original user-defined)) - default) - ;; Try to respect the legacy `gnus-treat-date-*' variables, if - ;; they're set. - (dolist (type types) - (let ((variable (intern (format "gnus-treat-date-%s" type)))) - (when (and (boundp variable) - (symbol-value variable)) - (push type default)))) - (when (and (or (not (boundp (intern "gnus-article-date-lapsed-new-header"))) - (not (symbol-value (intern "gnus-article-date-lapsed-new-header")))) - (memq 'lapsed default)) - (setq default (delq 'lapsed default))) - (or default - ;; If they weren't set, we default to `combined-lapsed'. - '(combined-lapsed))) +(defcustom gnus-article-date-headers '(combined-lapsed) "A list of Date header formats to display. Valid formats are `ut' (universal time), `local' (local time zone), `english' (readable English), `lapsed' (elapsed time), @@ -3645,14 +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))) + (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))) -- 2.39.5