changeset 2189:cb92d253a599

(display_menu_bar): Assume FRAME_MENU_BAR_ITEMS already set. Fill out line with spaces. Put explicit spaces between items.
author Richard M. Stallman <rms@gnu.org>
date Mon, 15 Mar 1993 05:50:02 +0000
parents f74e9c948380
children 482c7827b968
files src/xdisp.c
diffstat 1 files changed, 14 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Mon Mar 15 05:46:58 1993 +0000
+++ b/src/xdisp.c	Mon Mar 15 05:50:02 1993 +0000
@@ -1848,12 +1848,10 @@
 
   get_display_line (f, vpos, 0);
 
-  items = menu_bar_items ();
-  FRAME_MENU_BAR_ITEMS (f) = items;
-
-  for (tail = items; CONSP (tail); tail = XCONS (tail)->cdr)
+  for (tail = FRAME_MENU_BAR_ITEMS (f); CONSP (tail); tail = XCONS (tail)->cdr)
     {
       Lisp_Object string;
+
       string = XCONS (XCONS (XCONS (tail)->car)->cdr)->car;
 
       /* Record in each item its hpos.  */
@@ -1862,11 +1860,22 @@
       if (hpos < maxendcol)
 	hpos = display_string (XWINDOW (FRAME_ROOT_WINDOW (f)), vpos,
 			       XSTRING (string)->data,
-			       hpos, 0, hpos, maxendcol) + 3;
+			       hpos, 0, hpos, maxendcol);
+      /* Put a gap of 3 spaces between items.  */
+      if (hpos < maxendcol)
+	{
+	  int hpos1 = hpos + 3;
+	  hpos = display_string (w, vpos, "", hpos, 0,
+				 min (hpos1, maxendcol), maxendcol);
+	}
     }
 
   FRAME_DESIRED_GLYPHS (f)->bufp[vpos] = 0;
   FRAME_DESIRED_GLYPHS (f)->highlight[vpos] = mode_line_inverse_video;
+
+  /* Fill out the line with spaces.  */
+  if (maxendcol > hpos)
+    hpos = display_string (w, vpos, "", hpos, 0, maxendcol, -1);
 }
 
 /* Display the mode line for window w */