[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: run_window_configuration_change_hook
From: |
Stefan Monnier |
Subject: |
Re: run_window_configuration_change_hook |
Date: |
Tue, 19 Apr 2011 10:45:00 -0300 |
User-agent: |
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.
Stefan