From: Stefan Monnier Date: Wed, 4 Dec 2013 21:08:21 +0000 (-0500) Subject: * src/window.c (select_window): Call second wset_redisplay before we change X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~555 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=22800ae936f67b7d0e4c565061aa24d99a4f1010;p=emacs.git * src/window.c (select_window): Call second wset_redisplay before we change selected_window. Fixes: debbugs:16034 --- diff --git a/src/ChangeLog b/src/ChangeLog index 76b112b3344..c88f48af517 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-12-04 Stefan Monnier + + * window.c (select_window): Call second wset_redisplay before we change + selected_window (bug#16034). + 2013-12-04 Paul Eggert * bidi.c (LRM_CHAR, RLM_CHAR): Remove; no longer used. diff --git a/src/window.c b/src/window.c index 9a943129984..d1f3dd599b1 100644 --- a/src/window.c +++ b/src/window.c @@ -487,11 +487,14 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap) goto record_and_return; if (NILP (norecord)) - /* Mark the window for redisplay since the selected-window has a different - mode-line. */ - wset_redisplay (XWINDOW (selected_window)); + { /* Mark the window for redisplay since the selected-window has + a different mode-line. */ + wset_redisplay (XWINDOW (selected_window)); + wset_redisplay (w); + } else redisplay_other_windows (); + sf = SELECTED_FRAME (); if (XFRAME (WINDOW_FRAME (w)) != sf) { @@ -510,8 +513,6 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap) select_window_1 (window, inhibit_point_swap); bset_last_selected_window (XBUFFER (w->contents), window); - if (NILP (norecord)) - wset_redisplay (w); record_and_return: /* record_buffer can run QUIT, so make sure it is run only after we have