Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling

From: martin rudalics <[email-masked]>
Date: Wed, 17 Aug 2016 17:47:32 +0200

> (defmacro with-inhibit-window-configuration-change-hook (frame &rest body)
 >    "Inhibit `window-configuration-change-hook' on FRAME in BODY."
 >    (declare (indent 1) (debug t))
 >    (let ((frame-var (make-symbol "frame")))
 >      `(let ((,frame-var (window-normalize-frame ,frame)))
 >         (unwind-protect
 >             (progn
 >               (frame-after-make-frame ,frame-var nil)
 >               ,@body)
 >           (frame-after-make-frame ,frame-var t)))))

Good.  We can use that (if we still need it).

 >> Would my patch work around that?
 >
 > It seems to inhibit running the hook, but there is still the case of
 > set-window-start in window--state-put-2.  Using the NOFORCE works, but I
 > don't know the implications of this in other cases.

It _should_ use NOFORCE anyway.  Otherwise, when, for example, the size
of the window we got the state from is much larger than the size of the
window we put the state in, window-point will end up in the wrong place.
And ‘window-point’ is definitively more important than ‘window-start’.

It should be fairly easy to construct such an example.

But do you mean that setting NOFORCE alone will handle your bug already
and we don't need ‘frame-after-make-frame’ after all?

martin