aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-03-03 06:41:20 +0000
committerKarl Heuer1995-03-03 06:41:20 +0000
commita9cc8174a22953fc5629c1b85e722aefe6026650 (patch)
treef41be2d812c89fa2bdadb68aab017ced4fd12cfa /src
parent8b97da83a7bb3123653e7d580e901b781082c30d (diff)
downloademacs-a9cc8174a22953fc5629c1b85e722aefe6026650.tar.gz
emacs-a9cc8174a22953fc5629c1b85e722aefe6026650.zip
(display_mode_line): Temporarily set current_perdisplay to reference the frame
we're updating.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 9c9dbe878a6..d21e1db5d41 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2953,8 +2953,20 @@ display_mode_line (w)
2953 w->column_number_displayed = Qnil; 2953 w->column_number_displayed = Qnil;
2954 2954
2955 get_display_line (f, vpos, left); 2955 get_display_line (f, vpos, left);
2956 display_mode_element (w, vpos, left, 0, right, right, 2956#ifdef MULTI_PERDISPLAY
2957 current_buffer->mode_line_format); 2957 {
2958 /* Sigh, mode-line-format can reference display-local variables like
2959 defining-kbd-macro. Use the one associated with the frame we're
2960 updating. */
2961 PERDISPLAY *orig_perdisplay = current_perdisplay;
2962 current_perdisplay = get_perdisplay (f);
2963#endif
2964 display_mode_element (w, vpos, left, 0, right, right,
2965 current_buffer->mode_line_format);
2966#ifdef MULTI_PERDISPLAY
2967 current_perdisplay = orig_perdisplay;
2968 }
2969#endif
2958 FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0; 2970 FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0;
2959 2971
2960 /* Make the mode line inverse video if the entire line 2972 /* Make the mode line inverse video if the entire line