1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-03 11:33:37 +00:00

(gnus-summary-recenter): When trying to keep the bottom line visible,

check to see if it's partially obscured, and if so, either scroll one
more line to make it fully visible, or revert to showing the second line
from the top.
This commit is contained in:
Miles Bader 2000-12-11 05:02:17 +00:00
parent 802cf66c54
commit db7ebd7360
2 changed files with 23 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2000-12-11 Miles Bader <miles@gnu.org>
* gnus-sum.el (gnus-summary-recenter): When trying to keep the
bottom line visible, check to see if it's partially obscured, and
if so, either scroll one more line to make it fully visible, or
revert to showing the second line from the top.
2000-12-07 Dave Love <fx@gnu.org>
* mailcap.el (mailcap-download-directory)

View File

@ -5273,10 +5273,22 @@ displayed, no centering will be performed."
;; Set the window start to either `bottom', which is the biggest
;; possible valid number, or the second line from the top,
;; whichever is the least.
(set-window-start
window (min bottom (save-excursion
(forward-line (- top)) (point)))
t))
(let ((top-pos (save-excursion (forward-line (- top)) (point))))
(if (> bottom top-pos)
;; Keep the second line from the top visible
(set-window-start window top-pos t)
;; Try to keep the bottom line visible; if it's partially
;; obscured, either scroll one more line to make it fully
;; visible, or revert to using TOP-POS.
(save-excursion
(goto-char (point-max))
(forward-line -1)
(let ((last-line-start (point)))
(goto-char bottom)
(set-window-start window (point) t)
(when (not (pos-visible-in-window-p last-line-start window))
(forward-line 1)
(set-window-start window (min (point) top-pos) t)))))))
;; Do horizontal recentering while we're at it.
(when (and (get-buffer-window (current-buffer) t)
(not (eq gnus-auto-center-summary 'vertical)))