GNU bug report logs - #78474
31.0.50; Wrong char insertion in rxvt

Previous Next

Package: emacs;

Reported by: Bastien Guerry <bzg <at> gnu.org>

Date: Sat, 17 May 2025 22:56:02 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Full log


Message #26 received at 78474 <at> debbugs.gnu.org (full text, mbox):

From: Samuel Thibault <samuel.thibault <at> gnu.org>
To: Bastien Guerry <bzg <at> gnu.org>
Cc: 78474 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>,
 Sebastien.Hinderer <at> inria.fr
Subject: Re: bug#78474: 31.0.50; Wrong char insertion in rxvt
Date: Sun, 18 May 2025 11:26:03 +0200
Hello,

Bastien Guerry, le dim. 18 mai 2025 10:54:50 +0200, a ecrit:
> Samuel Thibault <samuel.thibault <at> gnu.org> writes:
> 
> > "Emacs, instead of sending a rightward cursor movement
> > (\e[C), sends \009\008 (a tabulation and a leftward cursor movement)"
> 
> I'd describe it as the result of the "optimization" rather than the
> optimization itself...
> 
> Line 90 of cm.c, there is this if clause that leads to a comment:
> 
> 	if (tty->Wcm->cm_magicwrap)
> 	    ;			/* "limbo" */

But this is only about the end of a line? We are not talking about the
end of a line here.

That said, that pointed me to the optimization code in calccost, which
looks at tty->Wcm->cm_usetabs to determine whether to use tabs or not,
which is set from tabs_safe_p and TabWidth. Apparently, using 

stty -tabs

does avoid the issue, by making rxvt & vte switch to destructive tabs,
which emacs then knows to avoid just for moving the cursor.

Samuel




This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.