# HG changeset patch # User Richard M. Stallman # Date 739178087 0 # Node ID c079a2d6cf0e5caec32e5dfa1d006e93f6383b97 # Parent 6c6d1c6afb57ebb1c9b0934c7aee3c9a9219b648 (x_set_menu_bar_lines_1): Adjust just the uppermost child in a vertical split. Adjust the hight counter to the top. (x_set_menu_bar_lines): Don't change overall frame height. diff -r 6c6d1c6afb57 -r c079a2d6cf0e src/xfns.c --- a/src/xfns.c Fri Jun 04 06:40:45 1993 +0000 +++ b/src/xfns.c Fri Jun 04 07:14:47 1993 +0000 @@ -929,17 +929,20 @@ Lisp_Object window; int n; { - for (; !NILP (window); window = XWINDOW (window)->next) + struct window *w = XWINDOW (window); + + XFASTINT (w->top) += n; + XFASTINT (w->height) -= n; + + /* Handle just the top child in a vertical split. */ + if (!NILP (w->vchild)) + x_set_menu_bar_lines_1 (w->vchild, n); + + /* Adjust all children in a horizontal split. */ + for (window = w->hchild; !NILP (window); window = w->next) { - struct window *w = XWINDOW (window); - - XFASTINT (w->top) += n; - - if (!NILP (w->vchild)) - x_set_menu_bar_lines_1 (w->vchild, n); - - if (!NILP (w->hchild)) - x_set_menu_bar_lines_1 (w->hchild, n); + w = XWINDOW (window); + x_set_menu_bar_lines_1 (window, n); } } @@ -965,16 +968,6 @@ FRAME_MENU_BAR_LINES (f) = nlines; x_set_menu_bar_lines_1 (f->root_window, nlines - olines); - /* Use FRAME_NEW_WIDTH, HEIGHT so as not to override a size change - made by the user but not fully reflected in the Emacs frame object. */ - x_set_window_size (f, - (FRAME_NEW_WIDTH (f) - ? FRAME_NEW_WIDTH (f) - : FRAME_WIDTH (f)), - ((FRAME_NEW_HEIGHT (f) - ? FRAME_NEW_HEIGHT (f) - : FRAME_HEIGHT (f)) - + nlines - olines)); } /* Change the name of frame F to ARG. If ARG is nil, set F's name to