diff options
| author | Stefan Monnier | 2013-12-04 16:08:21 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2013-12-04 16:08:21 -0500 |
| commit | 22800ae936f67b7d0e4c565061aa24d99a4f1010 (patch) | |
| tree | 3ed9617dc5c843d73df7f515314a844a3da9967a /src | |
| parent | c521fe29239fc4c6efb16e4854bb02f819c5fc13 (diff) | |
| download | emacs-22800ae936f67b7d0e4c565061aa24d99a4f1010.tar.gz emacs-22800ae936f67b7d0e4c565061aa24d99a4f1010.zip | |
* src/window.c (select_window): Call second wset_redisplay before we change
selected_window.
Fixes: debbugs:16034
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/window.c | 11 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 76b112b3344..c88f48af517 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-12-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * window.c (select_window): Call second wset_redisplay before we change | ||
| 4 | selected_window (bug#16034). | ||
| 5 | |||
| 1 | 2013-12-04 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2013-12-04 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | * bidi.c (LRM_CHAR, RLM_CHAR): Remove; no longer used. | 8 | * 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) | |||
| 487 | goto record_and_return; | 487 | goto record_and_return; |
| 488 | 488 | ||
| 489 | if (NILP (norecord)) | 489 | if (NILP (norecord)) |
| 490 | /* Mark the window for redisplay since the selected-window has a different | 490 | { /* Mark the window for redisplay since the selected-window has |
| 491 | mode-line. */ | 491 | a different mode-line. */ |
| 492 | wset_redisplay (XWINDOW (selected_window)); | 492 | wset_redisplay (XWINDOW (selected_window)); |
| 493 | wset_redisplay (w); | ||
| 494 | } | ||
| 493 | else | 495 | else |
| 494 | redisplay_other_windows (); | 496 | redisplay_other_windows (); |
| 497 | |||
| 495 | sf = SELECTED_FRAME (); | 498 | sf = SELECTED_FRAME (); |
| 496 | if (XFRAME (WINDOW_FRAME (w)) != sf) | 499 | if (XFRAME (WINDOW_FRAME (w)) != sf) |
| 497 | { | 500 | { |
| @@ -510,8 +513,6 @@ select_window (Lisp_Object window, Lisp_Object norecord, int inhibit_point_swap) | |||
| 510 | 513 | ||
| 511 | select_window_1 (window, inhibit_point_swap); | 514 | select_window_1 (window, inhibit_point_swap); |
| 512 | bset_last_selected_window (XBUFFER (w->contents), window); | 515 | bset_last_selected_window (XBUFFER (w->contents), window); |
| 513 | if (NILP (norecord)) | ||
| 514 | wset_redisplay (w); | ||
| 515 | 516 | ||
| 516 | record_and_return: | 517 | record_and_return: |
| 517 | /* record_buffer can run QUIT, so make sure it is run only after we have | 518 | /* record_buffer can run QUIT, so make sure it is run only after we have |