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

From: Eli Zaretskii <[email-masked]>
Date: Tue, 07 Jan 2020 18:01:07 +0200

> Cc: [email-masked]
> 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.

I thought we were talking about windows with zero lines of text.  One
text line is fine, and should not cause any trouble to the current
display code.  When testing my patch, I used your code to resized the
window to a single 1-pixel high line of text, and saw no problems,
including with displaying the cursor.

If the use cases you have in mind can make do with one 1-pixel line of
text, we will need no changes in the display engine at all to support
that.

>  > 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.

I think we should keep that assertion as long as we don't make the
code DTRT with such text-less windows.  That assertion only affects
developers anyway.  The right time for removing the assertion is when
we modify the code to support windows with no text rows.