Skip to content

Commit

Permalink
(redisplay_window): When deciding whether or not to recenter, don't
Browse files Browse the repository at this point in the history
use the reset values of BEG_UNCHANGED and END_UNCHANGED.
  • Loading branch information
Chong Yidong committed Apr 15, 2007
1 parent 1d7dd3e commit ab96584
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions src/xdisp.c
Expand Up @@ -12777,6 +12777,8 @@ redisplay_window (window, just_this_one_p)
int rc;
int centering_position = -1;
int last_line_misfit = 0;
int save_beg_unchanged = BEG_UNCHANGED;
int save_end_unchanged = END_UNCHANGED;

SET_TEXT_POS (lpoint, PT, PT_BYTE);
opoint = lpoint;
Expand Down Expand Up @@ -13145,21 +13147,31 @@ redisplay_window (window, just_this_one_p)
&& NILP (do_mouse_tracking)
&& CHARPOS (startp) > BEGV)
{
/* Make sure beg_unchanged and end_unchanged are up to date.
Do it only if buffer has really changed. This may or may
not have been done by try_window_id (see which) already. */
#if 0
/* The following code tried to make BEG_UNCHANGED and
END_UNCHANGED up to date (similar to try_window_id).
Is it important to do so?

The trouble is that it's a little too strict when it
comes to overlays: modify_overlay can call
BUF_COMPUTE_UNCHANGED, which alters BUF_BEG_UNCHANGED and
BUF_END_UNCHANGED directly without moving the gap.

This can result in spurious recentering when overlays are
altered in the buffer. So unless it's proven necessary,
let's leave this commented out for now. -- cyd. */
if (MODIFF > SAVE_MODIFF
/* This seems to happen sometimes after saving a buffer. */
|| BEG_UNCHANGED + END_UNCHANGED > Z_BYTE)
{
if (GPT - BEG < BEG_UNCHANGED)
BEG_UNCHANGED = GPT - BEG;
if (Z - GPT < END_UNCHANGED)
END_UNCHANGED = Z - GPT;
}
#endif

if (CHARPOS (startp) > BEG + BEG_UNCHANGED
&& CHARPOS (startp) <= Z - END_UNCHANGED)
if (CHARPOS (startp) > BEG + save_beg_unchanged
&& CHARPOS (startp) <= Z - save_end_unchanged)
{
/* There doesn't seems to be a simple way to find a new
window start that is near the old window start, so
Expand Down

0 comments on commit ab96584

Please sign in to comment.