Subject: bug#10348: 24.0.92; Save and load window states

From: martin rudalics <[email-masked]>
Date: Mon, 26 Dec 2011 19:25:15 +0100

Looking into this I noticed the following: There's already a variable
`window-state-ignored-parameters'.  But it's broken since
`window-state-get-1' doesn't copy the parameter (so it behaves just like
`current-window-configuration') and it doesn't affect the `clone-of'
parameter.  So I'm afraid that we might need two variables say
`window-state-saved-parameters' and `window-state-ignored-parameters'.
The former would explicitly name the parameters that have to be
preserved accross window configuration changes.  The latter would be
responsible for not writing out parameters to disk.

The semantics of `window-state-saved-parameters' across a
`save-window-excursion' would then be as follows:

(1) If a parameter is a member of `window-state-saved-parameters'
     `current-window-configuration' makes a copy of its value in the
     window_parameters slot of saved_window.

(2) For each window, `set-window-configuration' clears out any non-nil
     value of a parameter in `window-state-saved-parameters'.  Thereafter
     it does a `set-window-parameter' for all entries it finds in the
     window_parameters slot of that window's saved_window entry.

This approach is inconsistent if `window-state-saved-parameters' changes
within the body of the `save-window-excursion'.

martin