diff options
| author | Gerd Moellmann | 2000-05-29 15:51:23 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-05-29 15:51:23 +0000 |
| commit | 5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f (patch) | |
| tree | 15c22614b98591419a0590c30d1a7e3aa80c11bd /src | |
| parent | d0bca3c92e730c1d294ecd079997423413126e77 (diff) | |
| download | emacs-5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f.tar.gz emacs-5da1193803aaa31ce9f49c4ce48b3cfff21a0d3f.zip | |
(redisplay_window): Really switch buffers when
displaying mode lines, and temporarily set selected_frame to the
frame of the window that's redisplayed.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 0171f963f34..78764ebc497 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -9201,7 +9201,20 @@ redisplay_window (window, just_this_one_p) | |||
| 9201 | && (WINDOW_WANTS_MODELINE_P (w) | 9201 | && (WINDOW_WANTS_MODELINE_P (w) |
| 9202 | || WINDOW_WANTS_HEADER_LINE_P (w))) | 9202 | || WINDOW_WANTS_HEADER_LINE_P (w))) |
| 9203 | { | 9203 | { |
| 9204 | Lisp_Object old_selected_frame; | ||
| 9205 | |||
| 9206 | old_selected_frame = selected_frame; | ||
| 9207 | |||
| 9208 | if (!really_switched_buffer) | ||
| 9209 | { | ||
| 9210 | set_buffer_temp (old); | ||
| 9211 | set_buffer_internal_1 (XBUFFER (w->buffer)); | ||
| 9212 | really_switched_buffer = 1; | ||
| 9213 | } | ||
| 9214 | |||
| 9215 | XSETFRAME (selected_frame, f); | ||
| 9204 | display_mode_lines (w); | 9216 | display_mode_lines (w); |
| 9217 | selected_frame = old_selected_frame; | ||
| 9205 | 9218 | ||
| 9206 | /* If mode line height has changed, arrange for a thorough | 9219 | /* If mode line height has changed, arrange for a thorough |
| 9207 | immediate redisplay using the correct mode line height. */ | 9220 | immediate redisplay using the correct mode line height. */ |