# HG changeset patch # User Karl Heuer # Date 794212880 0 # Node ID 83fb3fdeda9640bce51e9907f499a413f75fa71b # Parent b0edc245c9b7b6fa5efada1d8341cfc8c17156fd (display_mode_line): Temporarily set current_perdisplay to reference the frame we're updating. diff -r b0edc245c9b7 -r 83fb3fdeda96 src/xdisp.c --- a/src/xdisp.c Fri Mar 03 05:02:50 1995 +0000 +++ b/src/xdisp.c Fri Mar 03 06:41:20 1995 +0000 @@ -2953,8 +2953,20 @@ 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