(redisplay_window): When restoring original buffer position, make sure

it is still valid.
This commit is contained in:
Chong Yidong 2007-08-06 17:25:30 +00:00
parent 32bfce5d41
commit 515403013d

View file

@ -13520,7 +13520,10 @@ redisplay_window (window, just_this_one_p)
/* Restore current_buffer and value of point in it. */
TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint));
set_buffer_internal_1 (old);
TEMP_SET_PT_BOTH (CHARPOS (lpoint), BYTEPOS (lpoint));
/* Avoid an abort in TEMP_SET_PT_BOTH if the buffer has become
shorter. This can be caused by log truncation in *Messages*. */
if (CHARPOS (lpoint) <= ZV)
TEMP_SET_PT_BOTH (CHARPOS (lpoint), BYTEPOS (lpoint));
unbind_to (count, Qnil);
}