diff options
| author | Karl Heuer | 1995-03-03 06:41:20 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-03-03 06:41:20 +0000 |
| commit | a9cc8174a22953fc5629c1b85e722aefe6026650 (patch) | |
| tree | f41be2d812c89fa2bdadb68aab017ced4fd12cfa /src | |
| parent | 8b97da83a7bb3123653e7d580e901b781082c30d (diff) | |
| download | emacs-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.c | 16 |
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 |