summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-10-02 02:41:24 +0000
committerRichard M. Stallman <rms@gnu.org>1994-10-02 02:41:24 +0000
commitdf0b5ea16eff7eeefe0b9c2c6f675b81a49eb212 (patch)
treeb9debcef8882699d9d9ffbfb022f050ed493577b
parent481c0295570355f3d805771de3e9393ffabf662e (diff)
downloademacs-df0b5ea16eff7eeefe0b9c2c6f675b81a49eb212.tar.gz
(redisplay_window): If we set PT, and that alters a region
being displayed, call try_window again.
-rw-r--r--src/xdisp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index b78da7692ad..1eddfd23c39 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1148,7 +1148,6 @@ redisplay_window (window, just_this_one)
try_window (window, startp);
if (cursor_vpos < 0)
{
- /* ??? What should happen here if highlighting a region? */
/* If point does not appear, move point so it does appear */
pos = *compute_motion (startp, 0,
((EQ (window, minibuf_window) && startp == 1)
@@ -1168,6 +1167,12 @@ redisplay_window (window, just_this_one)
FRAME_CURSOR_X (f) = max (0, pos.hpos) + XFASTINT (w->left);
FRAME_CURSOR_Y (f) = pos.vpos + XFASTINT (w->top);
}
+ /* If we are highlighting the region,
+ then we just changed the region, so redisplay to show it. */
+ cancel_my_columns (XWINDOW (window));
+ if (!NILP (Vtransient_mark_mode)
+ && !NILP (current_buffer->mark_active))
+ try_window (window, startp);
}
goto done;
}