emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 23.0.60; Resizing may delete windows


From: martin rudalics
Subject: Re: 23.0.60; Resizing may delete windows
Date: Tue, 25 Mar 2008 17:27:32 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

>  > To see this, maximize a window and do
>  >
>  > (let ((window-min-height 1)) (split-window-vertically 2))
>  >
>  > Then make this window normal size and see what happens.

This doesn't show anything.  `window-min-height' can have any value when
the "make this window normal size" happens.  Unfortunately, doing

(progn
  (setq window-min-height 1)
  (split-window nil 2))

in a maximized frame with one window and subsequently demaximizing the
frame gets me an upper window with one line and without a modeline which
clearly _is_ a bug.  Maybe that's even the bug you've seen.

Earlier I avoided a similar bug by introducing the `safe_min_size'
thingy in `size_window'.  In the special case this test fails because
`window_min_size_2' can't tell anything useful for non-leaf windows.
When demaximizing the frame Emacs does

        new_sizes = shrink_windows (total, size, nchildren, n, min_size,
                                    resize_fixed_p, *forward, width_p);

with min_size 1 since the modeline is not counted for the root window.
If I subsequently either refuse to shrink the one-text-line-window or do
delete it, the precalculation done by shrink_windows apparently gets
confused and I'm left with a messy frame.  A workaround is

        new_sizes = shrink_windows (total, size, nchildren, n, 2,
                                    resize_fixed_p, *forward, width_p);

which seems safe both for minimum height and width values.  Calling
`window_min_size_2' within `shrink_windows', on the other hand, appears
non-trivial.

Jan?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]