diff options
| author | Karl Heuer <kwzh@gnu.org> | 1995-03-03 06:41:20 +0000 |
|---|---|---|
| committer | Karl Heuer <kwzh@gnu.org> | 1995-03-03 06:41:20 +0000 |
| commit | a9cc8174a22953fc5629c1b85e722aefe6026650 (patch) | |
| tree | f41be2d812c89fa2bdadb68aab017ced4fd12cfa | |
| parent | 8b97da83a7bb3123653e7d580e901b781082c30d (diff) | |
| download | emacs-a9cc8174a22953fc5629c1b85e722aefe6026650.tar.gz | |
(display_mode_line): Temporarily set current_perdisplay to reference the frame
we're updating.
| -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) w->column_number_displayed = Qnil; get_display_line (f, vpos, left); - display_mode_element (w, vpos, left, 0, right, right, - current_buffer->mode_line_format); +#ifdef MULTI_PERDISPLAY + { + /* Sigh, mode-line-format can reference display-local variables like + defining-kbd-macro. Use the one associated with the frame we're + updating. */ + PERDISPLAY *orig_perdisplay = current_perdisplay; + current_perdisplay = get_perdisplay (f); +#endif + display_mode_element (w, vpos, left, 0, right, right, + current_buffer->mode_line_format); +#ifdef MULTI_PERDISPLAY + current_perdisplay = orig_perdisplay; + } +#endif FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0; /* Make the mode line inverse video if the entire line |
