aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
authorEli Zaretskii2014-09-29 22:10:28 +0300
committerEli Zaretskii2014-09-29 22:10:28 +0300
commit5bb6d037f01ae43baf5a2f71398e803ccfa3643b (patch)
tree0ab5158ffc2e03dc08df51fe3f0a510a68386d75 /src/window.c
parent95e509140eb219cd9e729f5f371f5dcdf89223cc (diff)
downloademacs-5bb6d037f01ae43baf5a2f71398e803ccfa3643b.tar.gz
emacs-5bb6d037f01ae43baf5a2f71398e803ccfa3643b.zip
Fix bug #18545 with lack of scrolling a window when point goes out of view.
src/xdisp.c (cursor_row_fully_visible_p): Update commentary. (redisplay_window): Treat the frame's frozen_window_starts flag the same way as the optional_new_start flag for the window: only obey it if the glyph row showing point will be fully visible. Likewise when the window start is in a continuation line. If, after trying everything under the 'force_start' label, point is still not fully visible, give up and scroll the window. Add debugging traces. src/window.c (Frecenter): Set the window's redisplay flag.
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index 7e50282a39b..2210d5bc868 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5897,6 +5897,8 @@ and redisplay normally--don't erase and redraw the frame. */)
5897 w->start_at_line_beg = (bytepos == BEGV_BYTE || 5897 w->start_at_line_beg = (bytepos == BEGV_BYTE ||
5898 FETCH_BYTE (bytepos - 1) == '\n'); 5898 FETCH_BYTE (bytepos - 1) == '\n');
5899 5899
5900 wset_redisplay (w);
5901
5900 set_buffer_internal (obuf); 5902 set_buffer_internal (obuf);
5901 return Qnil; 5903 return Qnil;
5902} 5904}