diff options
| author | Karl Heuer | 1994-02-26 04:24:37 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-02-26 04:24:37 +0000 |
| commit | 8f6ea2e9b720d5b30938f13654494b700c014c62 (patch) | |
| tree | d1eb61fabb05d03fea675e34bf898ebf680145cb /src/window.c | |
| parent | d00c875cf6b9837725b8823e2dd2cc1f298047e7 (diff) | |
| download | emacs-8f6ea2e9b720d5b30938f13654494b700c014c62.tar.gz emacs-8f6ea2e9b720d5b30938f13654494b700c014c62.zip | |
(Fset_window_configuration): Allow for menu-bar-lines to have changed since
the configuration was created.
Diffstat (limited to 'src/window.c')
| -rw-r--r-- | src/window.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/window.c b/src/window.c index f8cdd1a207a..4a32d57e9a1 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -2476,7 +2476,7 @@ struct save_window_data | |||
| 2476 | { | 2476 | { |
| 2477 | int size_from_Lisp_Vector_struct; | 2477 | int size_from_Lisp_Vector_struct; |
| 2478 | struct Lisp_Vector *next_from_Lisp_Vector_struct; | 2478 | struct Lisp_Vector *next_from_Lisp_Vector_struct; |
| 2479 | Lisp_Object frame_width, frame_height; | 2479 | Lisp_Object frame_width, frame_height, frame_menu_bar_lines; |
| 2480 | Lisp_Object selected_frame; | 2480 | Lisp_Object selected_frame; |
| 2481 | Lisp_Object current_window; | 2481 | Lisp_Object current_window; |
| 2482 | Lisp_Object current_buffer; | 2482 | Lisp_Object current_buffer; |
| @@ -2569,10 +2569,14 @@ by `current-window-configuration' (which see).") | |||
| 2569 | back. We keep track of the prevailing height in these variables. */ | 2569 | back. We keep track of the prevailing height in these variables. */ |
| 2570 | int previous_frame_height = FRAME_HEIGHT (f); | 2570 | int previous_frame_height = FRAME_HEIGHT (f); |
| 2571 | int previous_frame_width = FRAME_WIDTH (f); | 2571 | int previous_frame_width = FRAME_WIDTH (f); |
| 2572 | int previous_frame_menu_bar_lines = FRAME_MENU_BAR_LINES (f); | ||
| 2572 | 2573 | ||
| 2573 | if (XFASTINT (data->frame_height) != previous_frame_height | 2574 | if (XFASTINT (data->frame_height) != previous_frame_height |
| 2574 | || XFASTINT (data->frame_width) != previous_frame_width) | 2575 | || XFASTINT (data->frame_width) != previous_frame_width) |
| 2575 | change_frame_size (f, data->frame_height, data->frame_width, 0, 0); | 2576 | change_frame_size (f, data->frame_height, data->frame_width, 0, 0); |
| 2577 | if (XFASTINT (data->frame_menu_bar_lines) | ||
| 2578 | != previous_frame_menu_bar_lines) | ||
| 2579 | x_set_menu_bar_lines (f, data->frame_menu_bar_lines, 0); | ||
| 2576 | 2580 | ||
| 2577 | windows_or_buffers_changed++; | 2581 | windows_or_buffers_changed++; |
| 2578 | 2582 | ||
| @@ -2710,6 +2714,8 @@ by `current-window-configuration' (which see).") | |||
| 2710 | || previous_frame_width != FRAME_WIDTH (f)) | 2714 | || previous_frame_width != FRAME_WIDTH (f)) |
| 2711 | change_frame_size (f, previous_frame_height, previous_frame_width, | 2715 | change_frame_size (f, previous_frame_height, previous_frame_width, |
| 2712 | 0, 0); | 2716 | 0, 0); |
| 2717 | if (previous_frame_menu_bar_lines != FRAME_MENU_BAR_LINES (f)) | ||
| 2718 | x_set_menu_bar_lines (f, previous_frame_menu_bar_lines, 0); | ||
| 2713 | } | 2719 | } |
| 2714 | 2720 | ||
| 2715 | #ifdef MULTI_FRAME | 2721 | #ifdef MULTI_FRAME |
| @@ -2872,6 +2878,7 @@ redirection (see `redirect-frame-focus').") | |||
| 2872 | Qnil)); | 2878 | Qnil)); |
| 2873 | XFASTINT (data->frame_width) = FRAME_WIDTH (f); | 2879 | XFASTINT (data->frame_width) = FRAME_WIDTH (f); |
| 2874 | XFASTINT (data->frame_height) = FRAME_HEIGHT (f); | 2880 | XFASTINT (data->frame_height) = FRAME_HEIGHT (f); |
| 2881 | XFASTINT (data->frame_menu_bar_lines) = FRAME_MENU_BAR_LINES (f); | ||
| 2875 | #ifdef MULTI_FRAME | 2882 | #ifdef MULTI_FRAME |
| 2876 | XSET (data->selected_frame, Lisp_Frame, selected_frame); | 2883 | XSET (data->selected_frame, Lisp_Frame, selected_frame); |
| 2877 | #endif | 2884 | #endif |