]> git.eshelyaron.com Git - emacs.git/commitdiff
(display_mode_line): Temporarily set current_perdisplay to reference the frame
authorKarl Heuer <kwzh@gnu.org>
Fri, 3 Mar 1995 06:41:20 +0000 (06:41 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 3 Mar 1995 06:41:20 +0000 (06:41 +0000)
we're updating.

src/xdisp.c

index 9c9dbe878a65dace5a563c47f1658d732bd1d803..d21e1db5d41014f31e59c87eafdc998eeb858486 100644 (file)
@@ -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