GNU bug report logs -
#25169
26.0.50; display-buffer doesn't set window width correctly
Previous Next
Reported by: Liu Hui <liuhui1610 <at> gmail.com>
Date: Sun, 11 Dec 2016 12:21:02 UTC
Severity: normal
Found in version 26.0.50
Done: martin rudalics <rudalics <at> gmx.at>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Thanks for the report.
> Recipe 1:
>
> 1. Emacs -Q
> 2. evaluate the following code in *scratch*:
>
> (display-buffer (get-buffer-create "aaa")
> '(display-buffer-pop-up-window
> (window-width . 20)))
> ;; => correct window width for buffer "aaa"
>
> (display-buffer (get-buffer-create "bbb")
> '(display-buffer-pop-up-window
> (window-width . 20)))
> ;; => changed and larger window width for buffer "bbb"
Recipe 1 is difficult to reproduce here. I made my initial frame 169
columns wide to get a side-by-side split when displaying aaa and to
_not_ get another side-by-side split when displaying bbb. What happens
is that ‘display-buffer-pop-up-window’ refuses to make a new window for
bbb (you can reduce the value of ‘split-width-threshold’ to get a split)
so ‘display-buffer’ rather uses aaa's window to display bbb via
‘display-buffer-use-some-window’. The latter ignores the ‘window-width’
entry but applies ‘window--even-window-sizes’ instead.
So this is not a bug but admittedly a very confusing sequence of events.
> Recipe 2:
>
> 1. Emacs -Q
> 2. evaluate the following code in *scratch*:
>
> (display-buffer (get-buffer-create "aaa")
> '(display-buffer-in-side-window
> (window-width . 20)
> (side . right)))
> ;; => correct window width for buffer "aaa"
>
> (display-buffer (get-buffer-create "bbb")
> '(display-buffer-in-side-window
> (window-width . 20)
> (side . left)))
> ;; => correct width for buffer "bbb", but the window width of
> ;; buffer "aaa" is changed and becomes larger
This is a bug and I attached a fix for it. Please try it.
Note, however, that in general you can rely on Emacs to preserve the
size of a window like that of aaa in recipe 2 if and only if you run
‘window-preserve-size’ on that window - either explicitly or via a
`preserve-size' argument.
martin
(BTW: Does the ibuffer scenario from bug#25115 work orderly now?)
[window.el.diff (text/plain, attachment)]
This bug report was last modified 8 years and 223 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.