summaryrefslogtreecommitdiff
path: root/src/msdos.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2010-07-03 14:54:21 +0300
committerEli Zaretskii <eliz@gnu.org>2010-07-03 14:54:21 +0300
commit1e6255ae888ffbee3a713c7d7fb41b8d6480ddb4 (patch)
tree9fcf8dcf2aaba0d218f9d7e4e5169bee01c4bd96 /src/msdos.c
parentae492bec164e0288fbc5ebdcbefc1d6441d077c5 (diff)
downloademacs-1e6255ae888ffbee3a713c7d7fb41b8d6480ddb4.tar.gz
Fix menu bar display on MS-DOS.
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.
Diffstat (limited to 'src/msdos.c')
-rw-r--r--src/msdos.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/msdos.c b/src/msdos.c
index ea604d29992..cca0b2e68b9 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -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)