(xmenu_show) [!HAVE_X_WINDOWS]: If frame has a minibuffer, don't let lower
part of menu invade the echo area.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
2008-09-06 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
|
||||
minibuffer, don't let lower part of menu invade the echo area.
|
||||
|
||||
* msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
|
||||
"char *q" to access menu text and advance through it. Revert the
|
||||
change that displayed ">" instead of ASCII character 0x10.
|
||||
|
||||
17
src/xmenu.c
17
src/xmenu.c
@@ -2775,6 +2775,23 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
|
||||
y -= (uly + height) - dispheight;
|
||||
uly = dispheight - height;
|
||||
}
|
||||
#ifndef HAVE_X_WINDOWS
|
||||
if (FRAME_HAS_MINIBUF_P (f) && uly+height > dispheight - 1)
|
||||
{
|
||||
/* Move the menu away of the echo area, to avoid overwriting the
|
||||
menu with help echo messages or vice versa. */
|
||||
if (BUFFERP (echo_area_buffer[0]) && WINDOWP (echo_area_window))
|
||||
{
|
||||
y -= WINDOW_TOTAL_LINES (XWINDOW (echo_area_window));
|
||||
uly -= WINDOW_TOTAL_LINES (XWINDOW (echo_area_window));
|
||||
}
|
||||
else
|
||||
{
|
||||
y--;
|
||||
uly--;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (ulx < 0) x -= ulx;
|
||||
if (uly < 0) y -= uly;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user