Subject: Re: bug#22723: 25.0.91; temp-buffer-resize-mode disables shrink-window

From: martin rudalics <[email-masked]>
Date: Thu, 18 Feb 2016 11:51:45 +0100

> To reproduce:
 >
 >   emacs -Q
 >   M-x temp-buffer-resize-mode RET
 >   C-h f shrink-window RET
 >   M-x shrink-window RET
 >
 > Result: nothing happens.
 >
 > I realize that this is the result of temp-buffer-resize-mode taking
 > control on the dimensions of the *Help* window, but for me this is an
 > unintended consequence: I did want *Help* buffer resize itself when it
 > displays a new topic, but I certainly didn't expect to lose the
 > ability to resize my other windows.  Moreover, doing nothing silently,
 > without any error message, sounds sub-optimal UI to me.
 >
 > ("Fixing" this is easy: just switch to the window displaying *Help*
 > and invoke shrink-window or enlarge-window from there -- from that
 > moment on the resizing commands will work from other windows as well.)
 >
 > If the issue is not some unintended bug, then how about overriding
 > this behavior when the commands are invoked interactively?  Failing
 > even that, can we at least have a prefix argument to override that
 > explicitly?

Some time ago I changed the behavior of ‘enlarge-window’ and
‘shrink-window’ to not report an error when the window could not be
resized as requested but to resize the window as much as allowed
instead.  This was not a very good idea because according to the Emacs
manual these functions _are_ supposed to report an error in the
described case.  I hopefully fixed that now.

The ‘temp-buffer-resize-mode’ bug you report here is just an indirect
consequence of that earlier bug.  This issue should now have been fixed
as well.  Please have a look.

I also fixed a bug with ‘adjust-window-trailing-edge’ causing it to not
report an error when there was no resizable window below (or on the
right) of the edge to adjust.  Please check this as well.

Thanks, martin