]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix menu bar display on MS-DOS.
authorEli Zaretskii <eliz@gnu.org>
Sat, 3 Jul 2010 11:54:21 +0000 (14:54 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 3 Jul 2010 11:54:21 +0000 (14:54 +0300)
 msdos.c (IT_set_frame_parameters): Set menu-bar-lines according
 to menu-bar-mode, if not set in the frame parameters or in
 default-frame-alist.

src/ChangeLog
src/msdos.c

index 68e3d7aae4e989d28e636a65c590541eb8de2ce8..c79c40e3b09dd6f8a07eabb94841cc4fdfc6190e 100644 (file)
@@ -1,5 +1,9 @@
 2010-07-03  Eli Zaretskii  <eliz@gnu.org>
 
+       * msdos.c (IT_set_frame_parameters): Set menu-bar-lines according
+       to menu-bar-mode, if not set in the frame parameters or in
+       default-frame-alist.
+
        * w32console.c (sys_tputs): Adjust argument list to prototype in
        term.c.
 
index ea604d299927367d941486ec19ba59f71629ac4d..cca0b2e68b9d3ff5f43e2d771b94e869ca887ef8 100644 (file)
@@ -2098,6 +2098,10 @@ IT_set_frame_parameters (f, alist)
   Lisp_Object frame_bg, frame_fg;
   extern Lisp_Object Qdefault, QCforeground, QCbackground;
   struct tty_display_info *tty = FRAME_TTY (f);
+  extern Lisp_Object Qmenu_bar_lines;
+  extern Lisp_Object Vmenu_bar_mode;
+  int menu_bar_lines_defined =
+    !NILP (Fassq (Qmenu_bar_lines, Vdefault_frame_alist));
 
   /* If we are creating a new frame, begin with the original screen colors
      used for the initial frame.  */
@@ -2144,6 +2148,8 @@ IT_set_frame_parameters (f, alist)
 
       if (EQ (prop, Qreverse))
        reverse = EQ (val, Qt);
+      else if (!menu_bar_lines_defined && EQ (prop, Qmenu_bar_lines))
+       menu_bar_lines_defined = 1;
     }
 
   need_to_reverse = reverse && !was_reverse;
@@ -2226,6 +2232,18 @@ IT_set_frame_parameters (f, alist)
       store_frame_param (f, prop, val);
     }
 
+  /* If menu-bar-lines is neither in the frame parameters nor in
+     default-frame-alist, set it according to menu-bar-mode.  */
+  if (!menu_bar_lines_defined)
+    {
+      store_frame_param (f, Qmenu_bar_lines,
+                        NILP (Vmenu_bar_mode)
+                        ? make_number (0) : make_number (1));
+      if (tty->termscript)
+       fprintf (tty->termscript, "<MENU BAR LINES DEFAULTED: %d\n",
+                !NILP (Vmenu_bar_mode));
+    }
+
   /* If they specified "reverse", but not the colors, we need to swap
      the current frame colors.  */
   if (need_to_reverse)