From: Karl Heuer Date: Fri, 3 Mar 1995 06:41:20 +0000 (+0000) Subject: (display_mode_line): Temporarily set current_perdisplay to reference the frame X-Git-Tag: emacs-19.34~4947 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a9cc8174a22953fc5629c1b85e722aefe6026650;p=emacs.git (display_mode_line): Temporarily set current_perdisplay to reference the frame we're updating. --- 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