From 9153f10d0d9921246a2bbb2f6e284c6346b63d18 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Tue, 12 Aug 2008 16:01:05 +0000 Subject: [PATCH] Merge from gnus--devo--0 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1376 --- lisp/gnus/ChangeLog | 18 ++++++++++++++++++ lisp/gnus/gnus-art.el | 33 ++++++++++++++++----------------- lisp/gnus/gnus-msg.el | 5 +++-- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 23477cc631a..af50f4bd4b3 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,21 @@ +2008-08-11 Ralf Angeli + + * gnus-art.el (gnus-article-next-page): Respect `scroll-margin' when + moving point to the bottom of the window in order to avoid recentering. + +2008-08-11 Katsumi Yamaoka + + * gnus-art.el (gnus-article-next-page, gnus-article-prev-page) + (gnus-article-next-page-1): Use compiler directive (featurep 'xemacs). + (gnus-article-beginning-of-window): Fix calculation. + +2008-08-08 Katsumi Yamaoka + + * gnus-msg.el (gnus-summary-supersede-article) + (gnus-summary-resend-message-edit): Bind mail-parse-charset to the + value of gnus-newsgroup-charset to decode non-MIME encoded text in + message header. + 2008-07-31 Dan Nicolaescu * message.el: diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 3d5ce9b39cc..a8ca34386f1 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -6113,13 +6113,12 @@ If given a numerical ARG, move forward ARG pages." If end of article, return non-nil. Otherwise return nil. Argument LINES specifies lines to be scrolled up." (interactive "p") - (move-to-window-line -1) + (move-to-window-line (if (featurep 'xemacs) -1 (- -1 scroll-margin))) (if (and (not (and gnus-article-over-scroll (> (count-lines (window-start) (point-max)) - (+ (or lines (1- (window-height))) - (or (and (boundp 'scroll-margin) - (symbol-value 'scroll-margin)) - 0))))) + (if (featurep 'xemacs) + (or lines (1- (window-height))) + (+ (or lines (1- (window-height))) scroll-margin))))) (save-excursion (end-of-line) (and (pos-visible-in-window-p) ;Not continuation line. @@ -6151,19 +6150,19 @@ specifies." (min (max 0 scroll-margin) (max 1 (- (window-height) (if mode-line-format 1 0) - (if header-line-format 1 0))))))) + (if header-line-format 1 0) + 2)))))) (defun gnus-article-next-page-1 (lines) - (when (and (not (featurep 'xemacs)) - (numberp lines) - (> lines 0) - (numberp (symbol-value 'scroll-margin)) - (> (symbol-value 'scroll-margin) 0)) + (unless (featurep 'xemacs) ;; Protect against the bug that Emacs 21.x hangs up when scrolling up for ;; too many number of lines if `scroll-margin' is set as two or greater. - (setq lines (min lines - (max 0 (- (count-lines (window-start) (point-max)) - (symbol-value 'scroll-margin)))))) + (when (and (numberp lines) + (> lines 0) + (> scroll-margin 0)) + (setq lines (min lines + (max 0 (- (count-lines (window-start) (point-max)) + scroll-margin)))))) (condition-case () (let ((scroll-in-place nil)) (scroll-up lines)) @@ -6185,9 +6184,9 @@ Argument LINES specifies lines to be scrolled down." (goto-char (point-max)) (recenter (if gnus-article-over-scroll (if lines - (max (+ lines (or (and (boundp 'scroll-margin) - (symbol-value 'scroll-margin)) - 0)) + (max (if (featurep 'xemacs) + lines + (+ lines scroll-margin)) 3) (- (window-height) 2)) -1))) diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index 77210e95b9b..555b6a0490d 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el @@ -812,7 +812,8 @@ post using the current select method." This is done simply by taking the old article and adding a Supersedes header line with the old Message-ID." (interactive) - (let ((article (gnus-summary-article-number))) + (let ((article (gnus-summary-article-number)) + (mail-parse-charset gnus-newsgroup-charset)) (gnus-setup-message 'reply-yank (gnus-summary-select-article t) (set-buffer gnus-original-article-buffer) @@ -1274,7 +1275,7 @@ A new buffer will be created to allow the user to modify body and contents of the message, and then, everything will happen as when composing a new message." (interactive) - (let ((article (gnus-summary-article-number))) + (let ((mail-parse-charset gnus-newsgroup-charset)) (gnus-setup-message 'reply-yank (gnus-summary-select-article t) (set-buffer gnus-original-article-buffer) -- 2.39.2