aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1995-04-10 07:57:44 +0000
committerRichard M. Stallman1995-04-10 07:57:44 +0000
commit03b294dcb04fce72ceaef6e0c93e315634694b92 (patch)
treec58a0af3bec5581eb37b99f3eba5dd55ec2e96ab /src
parent0e78b377327d0c9b7d9b80a10c677c1a215ab0c0 (diff)
downloademacs-03b294dcb04fce72ceaef6e0c93e315634694b92.tar.gz
emacs-03b294dcb04fce72ceaef6e0c93e315634694b92.zip
(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')
-rw-r--r--src/xdisp.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 28db5d3bd2a..f8be6628b01 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2989,20 +2989,17 @@ display_mode_line (w)
2989 w->column_number_displayed = Qnil; 2989 w->column_number_displayed = Qnil;
2990 2990
2991 get_display_line (f, vpos, left); 2991 get_display_line (f, vpos, left);
2992#ifdef MULTI_KBOARD 2992
2993 { 2993 /* Temporarily make frame F's kboard the current kboard
2994 /* Sigh, mode-line-format can reference kboard-local variables like 2994 so that kboard-local variables in the mode_line_format
2995 defining-kbd-macro. Use the one associated with the frame we're 2995 will get the right values. */
2996 updating. */ 2996 push_frame_kboard (f);
2997 KBOARD *orig_kboard = current_kboard; 2997
2998 current_kboard = FRAME_KBOARD (f); 2998 display_mode_element (w, vpos, left, 0, right, right,
2999#endif 2999 current_buffer->mode_line_format);
3000 display_mode_element (w, vpos, left, 0, right, right, 3000
3001 current_buffer->mode_line_format); 3001 pop_frame_kboard ();
3002#ifdef MULTI_KBOARD 3002
3003 current_kboard = orig_kboard;
3004 }
3005#endif
3006 FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0; 3003 FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0;
3007 3004
3008 /* Make the mode line inverse video if the entire line 3005 /* Make the mode line inverse video if the entire line
@@ -3015,7 +3012,7 @@ display_mode_line (w)
3015 || XFASTINT (XWINDOW (w->parent)->width) == FRAME_WIDTH (f)) 3012 || XFASTINT (XWINDOW (w->parent)->width) == FRAME_WIDTH (f))
3016 FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video; 3013 FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video;
3017#ifdef HAVE_FACES 3014#ifdef HAVE_FACES
3018 else if (! FRAME_TERMCAP_P (f)) 3015 else if (! FRAME_TERMCAP_P (f) && mode_line_inverse_video)
3019 { 3016 {
3020 /* For a partial width window, explicitly set face of each glyph. */ 3017 /* For a partial width window, explicitly set face of each glyph. */
3021 int i; 3018 int i;