[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title
From: |
Eli Zaretskii |
Subject: |
bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title |
Date: |
Sun, 24 Feb 2019 18:08:32 +0200 |
> Date: Sun, 24 Feb 2019 09:43:09 +0100
> From: martin rudalics <rudalics@gmx.at>
> CC: 34317@debbugs.gnu.org
>
> * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
> t to avoid resizing back the mini-window as result of considering
> the title of other frames. (Bug#24285)
> (redisplay_window): No need to bind inhibit-redisplay here.
>
>
> This means that in x_consider_frame_title we now do
>
> ptrdiff_t count = SPECPDL_INDEX ();
>
> ...
>
> record_unwind_protect (unwind_format_mode_line,
> format_mode_line_unwind_data
> (f, current_buffer, selected_window, false));
> ...
>
> specbind (Qinhibit_redisplay, Qt);
>
> Fselect_window (f->selected_window, Qt);
>
> ...
>
> unbind_to (count, Qnil);
>
> where unwind_format_mode_line does
>
> Fselect_window (old_window, Qt);
>
> The asymmetry I mentioned is that while binding Qinhibit_redisplay
> covers the Fselect_window call in x_consider_frame_title, it does not
> cover the Fselect_window in unwind_format_mode_line since that is
> performed _after_ the special binding of Qinhibit_redisplay has been
> abolished. Which means that we call resize_mini_window for the first
> call when the corresponding windows are on different frames but not
> for the second.
I cannot imagine that was on purpose.
But your proposed change fixes that, so I'm unsure why you said it
won't work OOTB. What did I miss?
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, martin rudalics, 2019/02/04
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, martin rudalics, 2019/02/19
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, Eli Zaretskii, 2019/02/23
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, martin rudalics, 2019/02/23
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, Eli Zaretskii, 2019/02/23
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, martin rudalics, 2019/02/24
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title,
Eli Zaretskii <=
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, martin rudalics, 2019/02/24
- bug#34317: 26.1.90; Wrong unbinding order in x_consider_frame_title, Eli Zaretskii, 2019/02/24