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

From: Robert Pluim <[email-masked]>
Date: Thu, 24 Jul 2025 12:27:44 +0200

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

(this is all over a fast ssh connection, with the underlying terminal
being iterm2)

With Tmux
    With tabs:

    GCs: 118 Elapsed time: 25.353117 seconds

    Without tabs:

    GCs: 118 Elapsed time: 25.073720 seconds

Without Tmux
    With tabs:

    GCs: 116 Elapsed time: 25.145142 seconds

    Without tabs:

    GCs: 116 Elapsed time: 24.360663 seconds

So it looks like avoiding \t\b is a slight win. Thatʼs surprising to
me, but that is why we measure.

Robert
--