[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tue, 19 Apr 2011 10:45:00 -0300
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)
> As stated before the reason is that run_window_configuration_change_hook
> has this code
> if (SELECTED_FRAME () != f)
> record_unwind_protect (select_frame_norecord, Fselected_frame ());
> Fselect_frame (frame, Qt);
> /* Use the right buffer. Matters when running the local hooks. */
> if (current_buffer != XBUFFER (Fwindow_buffer (Qnil)))
> record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
> Fset_buffer (Fwindow_buffer (Qnil));
> which implies to first restore the current buffer and afterwards the
> selected frame which can make another buffer current.
Indeed, that sounds wrong.
> Inverting the order of the two clauses resolves the problem for me.
> Since I hardly ever use more than one frame, I'm not 100% sure whether
> reverting the clauses can break existing code. Comments welcome.
I think swapping the two is the right thing to do, yes.