# HG changeset patch # User Jim Blandy # Date 737765153 0 # Node ID 80805283464a193762b45f2b49956a5e3a664d52 # Parent f1cd54cf1b679a82441f1d16d166efbe2878558b * xdisp.c (redisplay_window): Make the scrollbar reflect the extent of the visible region, not the whole buffer. diff -r f1cd54cf1b67 -r 80805283464a src/xdisp.c --- a/src/xdisp.c Tue May 18 22:45:29 1993 +0000 +++ b/src/xdisp.c Tue May 18 22:45:53 1993 +0000 @@ -1060,6 +1060,11 @@ 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 @@ /* 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;