Mercurial > emacs
diff lisp/gnus/gnus-art.el @ 97433:9400faffc3f1
Merge from gnus--devo--0
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1376
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 12 Aug 2008 16:01:05 +0000 |
parents | f0689cd563e3 |
children | 335a46d662d1 |
line wrap: on
line diff
--- a/lisp/gnus/gnus-art.el Tue Aug 12 15:54:59 2008 +0000 +++ b/lisp/gnus/gnus-art.el Tue Aug 12 16:01:05 2008 +0000 @@ -6113,13 +6113,12 @@ 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 @@ (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 @@ (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)))