* xdisp.c (redisplay_window): Make the scrollbar reflect the
extent of the visible region, not the whole buffer.
This commit is contained in:
parent
1334b321d6
commit
3505ea7012
1 changed files with 9 additions and 1 deletions
10
src/xdisp.c
10
src/xdisp.c
|
@ -1060,6 +1060,11 @@ redisplay_window (window, just_this_one)
|
|||
int start, end, whole;
|
||||
|
||||
/* Calculate the start and end positions for the current window.
|
||||
At some point, it would be nice to choose between scrollbars
|
||||
which reflect the whole buffer size, with special markers
|
||||
indicating narrowing, and scrollbars which reflect only the
|
||||
visible region.
|
||||
|
||||
Note that minibuffers sometimes aren't displaying any text. */
|
||||
if (! MINI_WINDOW_P (w)
|
||||
|| (w == XWINDOW (minibuf_window) && ! echo_area_glyphs))
|
||||
|
@ -1068,7 +1073,10 @@ redisplay_window (window, just_this_one)
|
|||
/* I don't think this is guaranteed to be right. For the
|
||||
moment, we'll pretend it is. */
|
||||
end = Z - XINT (w->window_end_pos);
|
||||
whole = Z - BEG;
|
||||
whole = ZV - BEGV;
|
||||
|
||||
if (end < start) end = start;
|
||||
if (whole > (end - start)) whole = end - start;
|
||||
}
|
||||
else
|
||||
start = end = whole = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue