Subject: Re: bug#78474: 31.0.50; Wrong char insertion in rxvt

From: Samuel Thibault <[email-masked]>
Date: Tue, 22 Jul 2025 14:20:24 +0200

Eli Zaretskii, le mar. 22 juil. 2025 15:15:28 +0300, a ecrit:
> > Date: Mon, 21 Jul 2025 18:35:53 +0200
> > From: Samuel Thibault <[email-masked]>
> > Cc: Eli Zaretskii <[email-masked]>,
> > 	Seb Hinderer <[email-masked]>, [email-masked],
> > 	[email-masked]
> > 
> > Robert Pluim, le lun. 21 juil. 2025 18:19:24 +0200, a ecrit:
> > > >>>>> On Mon, 21 Jul 2025 18:02:00 +0200, Samuel Thibault <[email-masked]> said:
> > > 
> > >     Samuel> It is buggy on rxvt, as the very first mail of this whole thread talks
> > >     Samuel> about:
> > > 
> > >     Samuel> https://dept-info.labri.fr/~thibault/tmp/coucou.png
> > > 
> > >     Samuel> The cursor it two times too big.
> > > 
> > > Yet another reason to avoid rxvt *ducks*
> > 
> > Well, one thing is: I was unabled to find an actual reference on what
> > *exactly* \t is supposed to be doing for the terminal content. Notably,
> > run:
> > 
> > echo -e 'a\ta'
> > 
> > and copy/paste that text: do you expect the paste to be 'a\ta' or
> > 'a       a' ? I have seen people request for the former.
> 
> What you copy/paste and what is written to the screen are not
> necessarily the same thing.  The effect of TAB on the screen is to
> move the cursor (or the rest of the line's text) to the right by a
> suitably-computed number of columns, which depends on the column where
> you do that.  What is copy/paste'd depends on the program which
> serves the copy: some give you TAB, others give you spaces.
> 
> > Also, if you run:
> > 
> > echo -e 'a\t'
> > 
> > is there actually supposed to be some content to copy/paste on the right
> > of a?
> 
> IME, also depends on the program which serves the copy/paste.
> 
> (I think these aspects are tangents, not an integral part of this
> discussion.)

They are fully part of the discussion, because that changes what is
actually supposed to be stored in the terminal, and thus what the
accessibility feature is supposed to expose to the user: should it
expose a tab, or spaces. But if a tab, then how can the cursor be inside
the tab when emitting \t\b. That's the *whole* problem at stake.

And thus why I mentioned looking for an actual document that explictly
says that \t is supposed to produce spaces, because for now the vte
maintainer is saying that there is no text there and thus it should not
be exposed to the accessibility layer, but then the cursor is getting
wrong, making emacs essentially unusable as it is now. If I had a text
that explicitly says that \t produces content, it would be way easier
to fix this on the vte side. For now, we have been stuck for a *decade*
there.

Samuel