Mercurial > emacs
changeset 80647:be179fc25735
(redisplay_window): Check return value of
compute_window_start_on_continuation_line before forcing a window
start.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Mon, 28 Jul 2008 19:41:11 +0000 |
parents | 32f84c66697a |
children | ab9dc4b31ef3 |
files | src/xdisp.c |
diffstat | 1 files changed, 9 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Mon Jul 28 19:40:22 2008 +0000 +++ b/src/xdisp.c Mon Jul 28 19:41:11 2008 +0000 @@ -13239,14 +13239,19 @@ && NILP (do_mouse_tracking) && CHARPOS (startp) > BEGV && CHARPOS (startp) > BEG + save_beg_unchanged - && CHARPOS (startp) <= Z - save_end_unchanged) + && CHARPOS (startp) <= Z - save_end_unchanged + /* Even if w->start_at_line_beg is nil, a new window may + start at a line_beg, since that's how set_buffer_window + sets it. So, we need to check the return value of + compute_window_start_on_continuation_line. (See also + bug#197). */ + && XMARKER (w->start)->buffer == current_buffer + && compute_window_start_on_continuation_line (w)) { w->force_start = Qt; - if (XMARKER (w->start)->buffer == current_buffer) - compute_window_start_on_continuation_line (w); SET_TEXT_POS_FROM_MARKER (startp, w->start); goto force_start; - } + } #if GLYPH_DEBUG debug_method_add (w, "same window start");