* xdisp.c (display_mode_line): Use x_implicitly_set_name here.
authorJim Blandy <jimb@redhat.com>
Wed, 19 Aug 1992 06:43:03 +0000 (06:43 +0000)
committerJim Blandy <jimb@redhat.com>
Wed, 19 Aug 1992 06:43:03 +0000 (06:43 +0000)
* xdisp.c (redisplay, init_xdisp): Use FRAME_ROOT_WINDOW instead
of minibuf_window->prev.

* xdisp.c (decode_mode_spec): Move lots_of_dashes outside of the
function; Emacs can't use static initialized arrays inside functions.

src/xdisp.c

index a09c3d6..46d9cc2 100644 (file)
@@ -596,7 +596,7 @@ update:
       XFASTINT (w->last_point_y) = FRAME_CURSOR_Y (selected_frame);
 
       if (all_windows)
-       mark_window_display_accurate (XWINDOW (minibuf_window)->prev, 1);
+       mark_window_display_accurate (FRAME_ROOT_WINDOW (selected_frame), 1);
       else
        {
          w->update_mode_line = Qnil;
@@ -1781,10 +1781,10 @@ display_mode_line (w)
   if (FRAME_X_P (f)
       && ! FRAME_MINIBUF_ONLY_P (f)
       && w == XWINDOW (f->selected_window))
-    x_set_name (f, ((XINT (Flength (Vframe_list)) > 1)
-                   ? XBUFFER (w->buffer)->name
-                   : Qnil),
-               Qnil);
+    x_implicitly_set_name (f, ((XINT (Flength (Vframe_list)) > 1)
+                              ? XBUFFER (w->buffer)->name
+                              : Qnil),
+                          Qnil);
 #endif
 }
 
@@ -1999,6 +1999,8 @@ display_mode_element (w, vpos, hpos, depth, minendcol, maxendcol, elt)
 /* Return a string for the output of a mode line %-spec for window W,
    generated by character C and width MAXWIDTH.  */
 
+static char lots_of_dashes[] = "--------------------------------------------------------------------------------------------------------------------------------------------";
+
 static char *
 decode_mode_spec (w, c, maxwidth)
      struct window *w;
@@ -2125,7 +2127,6 @@ decode_mode_spec (w, c, maxwidth)
       
     case '-':
       {
-       static char lots_of_dashes[] = "--------------------------------------------------------------------------------------------------------------------------------------------";
        register char *p;
        register int i;
        
@@ -2149,6 +2150,7 @@ decode_mode_spec (w, c, maxwidth)
 \f
 /* Display STRING on one line of window W, starting at HPOS.
    Display at position VPOS.  Caller should have done get_display_line.
+   If VPOS == -1, display it as the current frame's title.
 
   TRUNCATE is GLYPH to display at end if truncated.  Zero for none.
 
@@ -2327,7 +2329,7 @@ init_xdisp ()
   this_line_bufpos = 0;
 
   mini_w = XWINDOW (minibuf_window);
-  root_window = mini_w->prev;
+  root_window = FRAME_ROOT_WINDOW (XFRAME (WINDOW_FRAME (mini_w)));
 
   echo_area_glyphs = 0;
   previous_echo_glyphs = 0;