aboutsummaryrefslogtreecommitdiffstats
path: root/src/xdisp.c
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1995-04-10 07:57:44 +0000
committerRichard M. Stallman <[email protected]>1995-04-10 07:57:44 +0000
commit03b294dcb04fce72ceaef6e0c93e315634694b92 (patch)
treec58a0af3bec5581eb37b99f3eba5dd55ec2e96ab /src/xdisp.c
parent0e78b377327d0c9b7d9b80a10c677c1a215ab0c0 (diff)
(display_mode_line): Use push_frame_kboard, pop_frame_kboard.
(display_mode_line): Test mode_line_inverse_video before highlighting partial-width mode line.
Diffstat (limited to 'src/xdisp.c')
-rw-r--r--src/xdisp.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 28db5d3bd2..f8be6628b0 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2989,20 +2989,17 @@ display_mode_line (w)
w->column_number_displayed = Qnil;
get_display_line (f, vpos, left);
-#ifdef MULTI_KBOARD
- {
- /* Sigh, mode-line-format can reference kboard-local variables like
- defining-kbd-macro. Use the one associated with the frame we're
- updating. */
- KBOARD *orig_kboard = current_kboard;
- current_kboard = FRAME_KBOARD (f);
-#endif
- display_mode_element (w, vpos, left, 0, right, right,
- current_buffer->mode_line_format);
-#ifdef MULTI_KBOARD
- current_kboard = orig_kboard;
- }
-#endif
+
+ /* Temporarily make frame F's kboard the current kboard
+ so that kboard-local variables in the mode_line_format
+ will get the right values. */
+ push_frame_kboard (f);
+
+ display_mode_element (w, vpos, left, 0, right, right,
+ current_buffer->mode_line_format);
+
+ pop_frame_kboard ();
+
FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0;
/* Make the mode line inverse video if the entire line
@@ -3015,7 +3012,7 @@ display_mode_line (w)
|| XFASTINT (XWINDOW (w->parent)->width) == FRAME_WIDTH (f))
FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video;
#ifdef HAVE_FACES
- else if (! FRAME_TERMCAP_P (f))
+ else if (! FRAME_TERMCAP_P (f) && mode_line_inverse_video)
{
/* For a partial width window, explicitly set face of each glyph. */
int i;