* xdisp.c (redisplay_window): After redisplay, check if point is
still valid before setting it (Bug#6177).
This commit is contained in:
parent
4da3541bbe
commit
5ca3929b19
2 changed files with 15 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-05-27 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* xdisp.c (redisplay_window): After redisplay, check if point is
|
||||
still valid before setting it (Bug#6177).
|
||||
|
||||
2010-05-20 enami tsugutomo <tsugutomo.enami@jp.sony.com>
|
||||
|
||||
* s/netbsd.h: If terminfo is found, use it in preference to
|
||||
|
|
12
src/xdisp.c
12
src/xdisp.c
|
@ -13936,8 +13936,16 @@ redisplay_window (window, just_this_one_p)
|
|||
(*FRAME_TERMINAL (f)->redeem_scroll_bar_hook) (w);
|
||||
}
|
||||
|
||||
/* Restore current_buffer and value of point in it. */
|
||||
TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint));
|
||||
/* Restore current_buffer and value of point in it. The window
|
||||
update may have changed the buffer, so first make sure `opoint'
|
||||
is still valid (Bug#6177). */
|
||||
if (CHARPOS (opoint) < BEGV)
|
||||
TEMP_SET_PT_BOTH (BEGV, BEGV_BYTE);
|
||||
else if (CHARPOS (opoint) > ZV)
|
||||
TEMP_SET_PT_BOTH (Z, Z_BYTE);
|
||||
else
|
||||
TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint));
|
||||
|
||||
set_buffer_internal_1 (old);
|
||||
/* Avoid an abort in TEMP_SET_PT_BOTH if the buffer has become
|
||||
shorter. This can be caused by log truncation in *Messages*. */
|
||||
|
|
Loading…
Add table
Reference in a new issue