Subject: Re: bug#38966: 27.0.60; Assertion failure in set_cursor_from_row

From: martin rudalics <[email-masked]>
Date: Tue, 7 Jan 2020 10:52:18 +0100

> Why is such a window useful?

Windows with one text line like that of the ediff control panel have
been in use for quite some time.  They can also arise automatically,
for example, when fitting a one line completions window to its buffer.

Windows that are made as small as possible are useful when a user
wants to make a neigboring window temporarily as large as possible
without deleting other windows.  Zero height windows can be also
useful when they do not display any text but applications want to
sample their width in order to, for example, decide how to lay out
text in them.

 > I thought we had a minimum window height
 > beyond which we didn't allow to resize windows.  Isn't that true
 > anymore?

We currently have two minimum heights - 'window-safe-min-height' and
the option 'window-min-height'.  Both are defined in canonical frame
lines and have to be eventually re-interpreted in order to fix bugs
like Bug#14825.  In this context it would be nice to do away with
'window-safe-min-height' because it only complicates the resizing code
without being able to avoid, as we've seen, that a window's text
height can drop to zero.

 > All I'm saying is that making the display code prepared to deal with
 > such windows might take more changes, and this would be a separate
 > issue, suitable for master, not for the release branch.  OK?

Sure.  My concerns are only that we should not preclude future changes
in this area when making changes on the release branch like adding new
assertions.  To fix the present bug, for example, I would have simply
removed the offending assertion from set_cursor_from_row.  Eventually,
we might want to show a cursor in a mode line, or scroll or wrap it.

martin