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

From: Manuel Giraud <[email-masked]>
Date: Fri, 25 Jul 2025 11:02:33 +0200

Robert Pluim <[email-masked]> writes:

>>>>>> On Thu, 24 Jul 2025 09:57:50 +0200, Samuel Thibault <[email-masked]> said:
>
>     Samuel> It was xterm.
>
> Eliʼs scrolling test for src/xdisp.c also doesnʼt result in the use of
> many \t\b sequences in any case (121 in my testing, for a 39k line
> file).
>
> I did the following instead, with a testfile containing 40k lines of
> 01234567cbaaaaaa
>
> (progn
>   (find-file "src/testfile")
>     (let ((oldgc gcs-done)
>         (oldtime (float-time)))
>       (goto-char (point-min))
>       (condition-case nil
>           (while t (right-char 5) (right-char) (redisplay))
>         (error (message "GCs: %d Elapsed time: %f seconds"
>                         (- gcs-done oldgc) (- (float-time)
> oldtime))))))

Here are my results with this new benchmark:
--8<---------------cut here---------------start------------->8---
* master (e026b57f077)
** xterm -geometry 80x50
GCs: 117 Elapsed time: 63.118144 seconds

** vte --geometry=80x50
GCs: 117 Elapsed time: 53.912884 seconds

** alacritty -o "window.dimensions.columns=80" -o "window.dimensions.lines=50"
GCs: 117 Elapsed time: 60.685075 seconds

** OpenBSD console (120x33)
GCs: 116 Elapsed time: 63.612051 seconds

* no "\t\b" patch
** xterm -geometry 80x50
GCs: 116 Elapsed time: 63.245375 seconds

** vte --geometry=80x50
GCs: 116 Elapsed time: 54.085663 seconds

** alacritty -o "window.dimensions.columns=80" -o "window.dimensions.lines=50"
GCs: 117 Elapsed time: 59.986522 seconds

** OpenBSD console (120x33)
GCs: 116 Elapsed time: 64.168769 seconds
--8<---------------cut here---------------end--------------->8---
-- 
Manuel Giraud