diff options
| -rw-r--r-- | src/xdisp.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 897dd440f15..4cc4b5f233e 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -13239,14 +13239,19 @@ redisplay_window (window, just_this_one_p) | |||
| 13239 | && NILP (do_mouse_tracking) | 13239 | && NILP (do_mouse_tracking) |
| 13240 | && CHARPOS (startp) > BEGV | 13240 | && CHARPOS (startp) > BEGV |
| 13241 | && CHARPOS (startp) > BEG + save_beg_unchanged | 13241 | && CHARPOS (startp) > BEG + save_beg_unchanged |
| 13242 | && CHARPOS (startp) <= Z - save_end_unchanged) | 13242 | && CHARPOS (startp) <= Z - save_end_unchanged |
| 13243 | /* Even if w->start_at_line_beg is nil, a new window may | ||
| 13244 | start at a line_beg, since that's how set_buffer_window | ||
| 13245 | sets it. So, we need to check the return value of | ||
| 13246 | compute_window_start_on_continuation_line. (See also | ||
| 13247 | bug#197). */ | ||
| 13248 | && XMARKER (w->start)->buffer == current_buffer | ||
| 13249 | && compute_window_start_on_continuation_line (w)) | ||
| 13243 | { | 13250 | { |
| 13244 | w->force_start = Qt; | 13251 | w->force_start = Qt; |
| 13245 | if (XMARKER (w->start)->buffer == current_buffer) | ||
| 13246 | compute_window_start_on_continuation_line (w); | ||
| 13247 | SET_TEXT_POS_FROM_MARKER (startp, w->start); | 13252 | SET_TEXT_POS_FROM_MARKER (startp, w->start); |
| 13248 | goto force_start; | 13253 | goto force_start; |
| 13249 | } | 13254 | } |
| 13250 | 13255 | ||
| 13251 | #if GLYPH_DEBUG | 13256 | #if GLYPH_DEBUG |
| 13252 | debug_method_add (w, "same window start"); | 13257 | debug_method_add (w, "same window start"); |