Mercurial > emacs
comparison src/xdisp.c @ 29291:4849a9a666ab
(redisplay_window): Really switch buffers when
displaying mode lines, and temporarily set selected_frame to the
frame of the window that's redisplayed.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 29 May 2000 15:51:23 +0000 |
parents | 3977c8167022 |
children | fd1702d12671 |
comparison
equal
deleted
inserted
replaced
29290:181d214fe71c | 29291:4849a9a666ab |
---|---|
9199 && XFASTINT (w->column_number_displayed) != current_column ())) | 9199 && XFASTINT (w->column_number_displayed) != current_column ())) |
9200 /* This means that the window has a mode line. */ | 9200 /* This means that the window has a mode line. */ |
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. */ |
9208 if (WINDOW_WANTS_MODELINE_P (w) | 9221 if (WINDOW_WANTS_MODELINE_P (w) |
9209 && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w)) | 9222 && CURRENT_MODE_LINE_HEIGHT (w) != DESIRED_MODE_LINE_HEIGHT (w)) |