diff options
| author | Eli Zaretskii | 2014-09-29 22:10:28 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2014-09-29 22:10:28 +0300 |
| commit | 5bb6d037f01ae43baf5a2f71398e803ccfa3643b (patch) | |
| tree | 0ab5158ffc2e03dc08df51fe3f0a510a68386d75 /src/window.c | |
| parent | 95e509140eb219cd9e729f5f371f5dcdf89223cc (diff) | |
| download | emacs-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.c | 2 |
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 | } |