Skip to content

Multi-line paste with WSL omits and splices together lines #10833

@Wainberg

Description

@Wainberg

Windows Terminal version (or Windows build number)

Windows Terminal version 1.9.1942.0, WSL version 1, Windows 10 21H1 Build 19043.985

Other Software

No response

Steps to reproduce

Paste the following 50 lines of text into your bash prompt using Ctrl + Shift + V, with the terminal height set to the default of 30 rows:

line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8
line 9
line 10
line 11
line 12
line 13
line 14
line 15
line 16
line 17
line 18
line 19
line 20
line 21
line 22
line 23
line 24
line 25
line 26
line 27
line 28
line 29
line 30
line 31
line 32
line 33
line 34
line 35
line 36
line 37
line 38
line 39
line 40
line 41
line 42
line 43
line 44
line 45
line 46
line 47
line 48
line 49
line 50

Expected Behavior

No response

Actual Behavior

It only pastes as many lines as the height of the terminal, and then skips everything until the last line. For instance, if I paste into the terminal when it's 30 lines high (the default), it prints line 1 through line 30 and then skips to line 50:

image

If I then maximize, it looks fine... except that line 9 is incorrectly printed as "line 90":

image

and if I then re-minimize, it incorrectly prints line 2 as line 22, line 3 as line 33, ... and line 9 as line 99. There was no line 99 in my original text, so it seems to be splicing together bits of different lines.

image

Interestingly, if I copy-paste the terminal contents into Sublime Text, it pastes the incorrect text, including the line 99 thing:

image

Another test I tried is pasting the original "line 1", "line 2", ... "line 50" text when the terminal is 30 lines tall, and then expanding it to 32 lines. Now it prints lines 31 and 32 before skipping to line 50. It also incorrectly prints line 8 as "line 80" and line 9 as "line 90" - the 0 is probably coming from "line 10" immediately below:

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-InputRelated to input processing (key presses, mouse, etc.)Issue-BugIt either shouldn't be doing this or needs an investigation.Priority-2A description (P2)Product-TerminalThe new Windows Terminal.Resolution-ExternalFor issues that are outside this codebase

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions