From 2bf32c5d8ac9dab03029c6f2ed7054838f6a561e Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 2 Sep 1996 05:19:13 +0000 Subject: [PATCH] (redisplay_internal): Test last_selected_window slot. (mark_window_display_accurate, display_text_line): Likewise. --- src/xdisp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xdisp.c b/src/xdisp.c index 4af129f7ca4..ab78039032c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -1023,6 +1023,7 @@ redisplay_internal (preserve_echo_area) then we can't just move the cursor. */ else if (! (!NILP (Vtransient_mark_mode) && !NILP (current_buffer->mark_active)) + && w == XWINDOW (current_buffer->last_selected_window) && NILP (w->region_showing) && !cursor_in_echo_area) { @@ -1279,6 +1280,7 @@ mark_window_display_accurate (window, flag) /* Record if we are showing a region, so can make sure to update it fully at next redisplay. */ w->region_showing = (!NILP (Vtransient_mark_mode) + && w == XWINDOW (current_buffer->last_selected_window) && !NILP (XBUFFER (w->buffer)->mark_active) ? Fmarker_position (XBUFFER (w->buffer)->mark) : Qnil); @@ -2557,7 +2559,8 @@ display_text_line (w, start, vpos, hpos, taboffset) /* 1 if we should highlight the region. */ int highlight_region - = !NILP (Vtransient_mark_mode) && !NILP (current_buffer->mark_active); + = (!NILP (Vtransient_mark_mode) && !NILP (current_buffer->mark_active) + && XWINDOW (current_buffer->last_selected_window) == w); int region_beg, region_end; int selective = (INTEGERP (current_buffer->selective_display) -- 2.39.2