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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 25 May 2024 13:26:09 +0300

> Date: Fri, 24 May 2024 11:16:36 +0200
> Cc: [email-masked]
> From: martin rudalics <[email-masked]>
> 
>  >    . 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?

No.  But the manual doesn't mention child frames at all, in
conjunction with this parameter.

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

So basically you are saying that this parameter is an internal feature
meant to allow better implementation of certain types of frames on GUI
displays?

> Feel free to add an appropriate explanation to the manual.

Thanks, now done, and closing the bug.