bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#71163: Cursor can disappear off the window if no-special-glyphs is e


From: martin rudalics
Subject: bug#71163: Cursor can disappear off the window if no-special-glyphs is enabled
Date: Fri, 24 May 2024 11:16:36 +0200
User-agent: Mozilla Thunderbird

> I don't really understand how this was intended to behave, so I added
> Martin who introduced this feature, in the hope that he could provide
> the explanation of the intent.  This was added as part of support for
> child frames, so I presume it has something to do with child frames,
> but I don't really understand what exactly and why child frames would
> need that.

IIRC this feature is used to make 'fit-frame-to-buffer' work reasonably
for tooltip frames and child frames that display information in a
similar way.  Bug#25408, Bug#52929 are two examples of why it is useful.

> AFAICT, this is currently broken in several ways:
>
>    . it only has effect on GUI frames (basically, the code ignores this
>      parameter on TTY frames), although the documentation doesn't say
>      that, and I see no immediate reason why it wouldn't make sense on
>      TTY frames;

We neither had child frames nor tooltip frames on TTYs when this feature
was introduced.  Did this change in the meantime?

>    . it doesn't affect the display of fringe truncation and
>      continuation bitmaps, although the documentation doesn't say that,
>      either, and it is not clear to me that those bitmaps should be
>      displayed in that case;

Fringes should not be shown on such frames.

>    . not only display of cursor in full-window lines is broken, but
>      also the automatic horizontal scrolling (auto-hscroll-mode) in
>      that case: the line is not hscrolled until you type one more
>      character beyond those visible;

Neither of these are supported by this feature.

>    . if you insert a TAB near the end of a screen line such that the
>      next tab stop is on the next screen line, the TAB is shown with
>      wrong number of columns, as if the next tab stop is at column zero
>      of the next screen line.

Interactive insertion is not supported either.

> The last 2 points, and the report that started this bug discussion,
> are because the logic of line-continuation and truncation is basically
> broken in this case: the layout code thinks the continuation and
> truncation glyphs are inserted when needed, whereas they are not.
> That's because the layout code was not adapted to this frame
> parameter, only the geometry of the screen line was adjusted.
>
> Fixing this will take a while.  But first we need to understand and
> agree on the scope of support for this frame parameter, and what Emacs
> should do in each supported case.

Turning off special glyphs is a pure presentation feature.  The variable
'show-paren--context-child-frame-parameters' tells best what should be
turned off too on any frames where it is used - such frames should never
be switched to, should not show a cursor, decorations and the like.

Feel free to add an appropriate explanation to the manual.

Thanks, martin





reply via email to

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