Mercurial > emacs
changeset 7985:f6c309d5d314
(Fmove_overlay): Call redisplay_region even when
changing to a different buffer.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 20 Jun 1994 23:10:07 +0000 |
parents | bc835acd2ade |
children | b2419e15cbbd |
files | src/buffer.c |
diffstat | 1 files changed, 21 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/buffer.c Mon Jun 20 22:52:49 1994 +0000 +++ b/src/buffer.c Mon Jun 20 23:10:07 1994 +0000 @@ -1844,7 +1844,27 @@ /* If the overlay has changed buffers, do a thorough redisplay. */ if (!EQ (buffer, obuffer)) - windows_or_buffers_changed = 1; + { + /* Redisplay where the overlay was. */ + if (!NILP (obuffer)) + { + Lisp_Object o_beg; + Lisp_Object o_end; + + o_beg = OVERLAY_START (overlay); + o_end = OVERLAY_END (overlay); + o_beg = OVERLAY_POSITION (o_beg); + o_end = OVERLAY_POSITION (o_end); + + redisplay_region (b, XINT (o_beg), XINT (o_end)); + } + + /* Redisplay where the overlay is going to be. */ + redisplay_region (ob, beg, end); + + /* Don't limit redisplay to the selected window. */ + windows_or_buffers_changed = 1; + } else /* Redisplay the area the overlay has just left, or just enclosed. */ {