Patch 8.2.0780

11 views
Skip to first unread message

Bram Moolenaar

unread,
May 17, 2020, 10:30:38 AM5/17/20
to vim...@googlegroups.com

Patch 8.2.0780
Problem: Libvterm code lags behind the upstream version.
Solution: Include revisions 724 - 726.
Files: Filelist, src/libvterm/t/40screen_ascii.test,
src/libvterm/t/60screen_ascii.test,
src/libvterm/t/41screen_unicode.test,
src/libvterm/t/61screen_unicode.test,
src/libvterm/t/42screen_damage.test,
src/libvterm/t/62screen_damage.test,
src/libvterm/t/43screen_resize.test,
src/libvterm/t/63screen_resize.test,
src/libvterm/t/44screen_pen.test,
src/libvterm/t/64screen_pen.test,
src/libvterm/t/45screen_protect.test,
src/libvterm/t/65screen_protect.test,
src/libvterm/t/46screen_extent.test,
src/libvterm/t/66screen_extent.test,
src/libvterm/t/47screen_dbl_wh.test,
src/libvterm/t/67screen_dbl_wh.test,
src/libvterm/t/48screen_termprops.test,
src/libvterm/t/68screen_termprops.test, src/libvterm/t/30pen.test,
src/libvterm/t/30state_pen.test, src/libvterm/t/92lp1805050.test,
src/libvterm/t/31state_rep.test, src/libvterm/doc/seqs.txt


*** ../vim-8.2.0779/Filelist 2020-05-17 14:59:24.063410405 +0200
--- Filelist 2020-05-17 16:28:04.824101968 +0200
***************
*** 344,359 ****
src/libvterm/t/27state_reset.test \
src/libvterm/t/28state_dbl_wh.test \
src/libvterm/t/29state_fallback.test \
! src/libvterm/t/30pen.test \
! src/libvterm/t/40screen_ascii.test \
! src/libvterm/t/41screen_unicode.test \
! src/libvterm/t/42screen_damage.test \
! src/libvterm/t/43screen_resize.test \
! src/libvterm/t/44screen_pen.test \
! src/libvterm/t/45screen_protect.test \
! src/libvterm/t/46screen_extent.test \
! src/libvterm/t/47screen_dbl_wh.test \
! src/libvterm/t/48screen_termprops.test \
src/libvterm/t/90vttest_01-movement-1.test \
src/libvterm/t/90vttest_01-movement-2.test \
src/libvterm/t/90vttest_01-movement-3.test \
--- 344,360 ----
src/libvterm/t/27state_reset.test \
src/libvterm/t/28state_dbl_wh.test \
src/libvterm/t/29state_fallback.test \
! src/libvterm/t/30state_pen.test \
! src/libvterm/t/31state_rep.test \
! src/libvterm/t/60screen_ascii.test \
! src/libvterm/t/61screen_unicode.test \
! src/libvterm/t/62screen_damage.test \
! src/libvterm/t/63screen_resize.test \
! src/libvterm/t/64screen_pen.test \
! src/libvterm/t/65screen_protect.test \
! src/libvterm/t/66screen_extent.test \
! src/libvterm/t/67screen_dbl_wh.test \
! src/libvterm/t/68screen_termprops.test \
src/libvterm/t/90vttest_01-movement-1.test \
src/libvterm/t/90vttest_01-movement-2.test \
src/libvterm/t/90vttest_01-movement-3.test \
*** ../vim-8.2.0779/src/libvterm/t/40screen_ascii.test 2017-06-30 22:14:57.000000000 +0200
--- src/libvterm/t/40screen_ascii.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,69 ****
- INIT
- WANTSCREEN c
-
- !Get
- RESET
- PUSH "ABC"
- movecursor 0,3
- ?screen_chars 0,0,1,3 = 0x41,0x42,0x43
- ?screen_chars 0,0,1,80 = 0x41,0x42,0x43
- ?screen_text 0,0,1,3 = 0x41,0x42,0x43
- ?screen_text 0,0,1,80 = 0x41,0x42,0x43
- ?screen_cell 0,0 = {0x41} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
- ?screen_cell 0,1 = {0x42} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
- ?screen_cell 0,2 = {0x43} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
- ?screen_row 0 = "ABC"
- ?screen_eol 0,0 = 0
- ?screen_eol 0,2 = 0
- ?screen_eol 0,3 = 1
- PUSH "\e[H"
- movecursor 0,0
- ?screen_chars 0,0,1,80 = 0x41,0x42,0x43
- ?screen_text 0,0,1,80 = 0x41,0x42,0x43
- PUSH "E"
- movecursor 0,1
- ?screen_chars 0,0,1,80 = 0x45,0x42,0x43
- ?screen_text 0,0,1,80 = 0x45,0x42,0x43
-
- WANTSCREEN -c
-
- !Erase
- RESET
- PUSH "ABCDE\e[H\e[K"
- ?screen_chars 0,0,1,80 =
- ?screen_text 0,0,1,80 =
-
- !Copycell
- RESET
- PUSH "ABC\e[H\e[@"
- PUSH "1"
- ?screen_chars 0,0,1,80 = 0x31,0x41,0x42,0x43
-
- RESET
- PUSH "ABC\e[H\e[P"
- ?screen_chars 0,0,1,1 = 0x42
- ?screen_chars 0,1,1,2 = 0x43
- ?screen_chars 0,0,1,80 = 0x42,0x43
-
- !Space padding
- RESET
- PUSH "Hello\e[CWorld"
- ?screen_chars 0,0,1,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,0x72,0x6c,0x64
- ?screen_text 0,0,1,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,0x72,0x6c,0x64
-
- !Linefeed padding
- RESET
- PUSH "Hello\r\nWorld"
- ?screen_chars 0,0,2,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x0a,0x57,0x6f,0x72,0x6c,0x64
- ?screen_text 0,0,2,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x0a,0x57,0x6f,0x72,0x6c,0x64
-
- !Altscreen
- RESET
- PUSH "P"
- ?screen_chars 0,0,1,80 = 0x50
- PUSH "\e[?1049h"
- ?screen_chars 0,0,1,80 =
- PUSH "\e[2K\e[HA"
- ?screen_chars 0,0,1,80 = 0x41
- PUSH "\e[?1049l"
- ?screen_chars 0,0,1,80 = 0x50
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/60screen_ascii.test 2020-05-17 16:23:18.149505926 +0200
--- src/libvterm/t/60screen_ascii.test 2017-06-30 22:14:57.000000000 +0200
***************
*** 0 ****
--- 1,69 ----
+ INIT
+ WANTSCREEN c
+
+ !Get
+ RESET
+ PUSH "ABC"
+ movecursor 0,3
+ ?screen_chars 0,0,1,3 = 0x41,0x42,0x43
+ ?screen_chars 0,0,1,80 = 0x41,0x42,0x43
+ ?screen_text 0,0,1,3 = 0x41,0x42,0x43
+ ?screen_text 0,0,1,80 = 0x41,0x42,0x43
+ ?screen_cell 0,0 = {0x41} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ ?screen_cell 0,1 = {0x42} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ ?screen_cell 0,2 = {0x43} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ ?screen_row 0 = "ABC"
+ ?screen_eol 0,0 = 0
+ ?screen_eol 0,2 = 0
+ ?screen_eol 0,3 = 1
+ PUSH "\e[H"
+ movecursor 0,0
+ ?screen_chars 0,0,1,80 = 0x41,0x42,0x43
+ ?screen_text 0,0,1,80 = 0x41,0x42,0x43
+ PUSH "E"
+ movecursor 0,1
+ ?screen_chars 0,0,1,80 = 0x45,0x42,0x43
+ ?screen_text 0,0,1,80 = 0x45,0x42,0x43
+
+ WANTSCREEN -c
+
+ !Erase
+ RESET
+ PUSH "ABCDE\e[H\e[K"
+ ?screen_chars 0,0,1,80 =
+ ?screen_text 0,0,1,80 =
+
+ !Copycell
+ RESET
+ PUSH "ABC\e[H\e[@"
+ PUSH "1"
+ ?screen_chars 0,0,1,80 = 0x31,0x41,0x42,0x43
+
+ RESET
+ PUSH "ABC\e[H\e[P"
+ ?screen_chars 0,0,1,1 = 0x42
+ ?screen_chars 0,1,1,2 = 0x43
+ ?screen_chars 0,0,1,80 = 0x42,0x43
+
+ !Space padding
+ RESET
+ PUSH "Hello\e[CWorld"
+ ?screen_chars 0,0,1,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,0x72,0x6c,0x64
+ ?screen_text 0,0,1,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x20,0x57,0x6f,0x72,0x6c,0x64
+
+ !Linefeed padding
+ RESET
+ PUSH "Hello\r\nWorld"
+ ?screen_chars 0,0,2,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x0a,0x57,0x6f,0x72,0x6c,0x64
+ ?screen_text 0,0,2,80 = 0x48,0x65,0x6c,0x6c,0x6f,0x0a,0x57,0x6f,0x72,0x6c,0x64
+
+ !Altscreen
+ RESET
+ PUSH "P"
+ ?screen_chars 0,0,1,80 = 0x50
+ PUSH "\e[?1049h"
+ ?screen_chars 0,0,1,80 =
+ PUSH "\e[2K\e[HA"
+ ?screen_chars 0,0,1,80 = 0x41
+ PUSH "\e[?1049l"
+ ?screen_chars 0,0,1,80 = 0x50
*** ../vim-8.2.0779/src/libvterm/t/41screen_unicode.test 2020-01-26 21:59:25.624718145 +0100
--- src/libvterm/t/41screen_unicode.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,47 ****
- INIT
- UTF8 1
- WANTSCREEN
-
- !Single width UTF-8
- # U+00C1 = 0xC3 0x81 name: LATIN CAPITAL LETTER A WITH ACUTE
- # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
- RESET
- PUSH "\xC3\x81\xC3\xA9"
- ?screen_chars 0,0,1,80 = 0xc1,0xe9
- ?screen_text 0,0,1,80 = 0xc3,0x81,0xc3,0xa9
- ?screen_cell 0,0 = {0xc1} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Wide char
- # U+FF10 = 0xEF 0xBC 0x90 name: FULLWIDTH DIGIT ZERO
- RESET
- PUSH "0123\e[H"
- PUSH "\xEF\xBC\x90"
- ?screen_chars 0,0,1,80 = 0xff10,0x32,0x33
- ?screen_text 0,0,1,80 = 0xef,0xbc,0x90,0x32,0x33
- ?screen_cell 0,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Combining char
- # U+0301 = 0xCC 0x81 name: COMBINING ACUTE
- RESET
- PUSH "0123\e[H"
- PUSH "e\xCC\x81"
- ?screen_chars 0,0,1,80 = 0x65,0x301,0x31,0x32,0x33
- ?screen_text 0,0,1,80 = 0x65,0xcc,0x81,0x31,0x32,0x33
- ?screen_cell 0,0 = {0x65,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !10 combining accents should not crash
- RESET
- PUSH "e\xCC\x81\xCC\x82\xCC\x83\xCC\x84\xCC\x85\xCC\x86\xCC\x87\xCC\x88\xCC\x89\xCC\x8A"
- ?screen_cell 0,0 = {0x65,0x301,0x302,0x303,0x304,0x305} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !40 combining accents in two split writes of 20 should not crash
- RESET
- PUSH "e\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81"
- PUSH "\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81"
- ?screen_cell 0,0 = {0x65,0x301,0x301,0x301,0x301,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Outputting CJK doublewidth in 80th column should wraparound to next line and not crash"
- RESET
- PUSH "\e[80G\xEF\xBC\x90"
- ?screen_cell 0,79 = {} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
- ?screen_cell 1,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/61screen_unicode.test 2020-05-17 16:23:18.157505903 +0200
--- src/libvterm/t/61screen_unicode.test 2020-01-26 21:53:39.258270923 +0100
***************
*** 0 ****
--- 1,47 ----
+ INIT
+ UTF8 1
+ WANTSCREEN
+
+ !Single width UTF-8
+ # U+00C1 = 0xC3 0x81 name: LATIN CAPITAL LETTER A WITH ACUTE
+ # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
+ RESET
+ PUSH "\xC3\x81\xC3\xA9"
+ ?screen_chars 0,0,1,80 = 0xc1,0xe9
+ ?screen_text 0,0,1,80 = 0xc3,0x81,0xc3,0xa9
+ ?screen_cell 0,0 = {0xc1} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Wide char
+ # U+FF10 = 0xEF 0xBC 0x90 name: FULLWIDTH DIGIT ZERO
+ RESET
+ PUSH "0123\e[H"
+ PUSH "\xEF\xBC\x90"
+ ?screen_chars 0,0,1,80 = 0xff10,0x32,0x33
+ ?screen_text 0,0,1,80 = 0xef,0xbc,0x90,0x32,0x33
+ ?screen_cell 0,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Combining char
+ # U+0301 = 0xCC 0x81 name: COMBINING ACUTE
+ RESET
+ PUSH "0123\e[H"
+ PUSH "e\xCC\x81"
+ ?screen_chars 0,0,1,80 = 0x65,0x301,0x31,0x32,0x33
+ ?screen_text 0,0,1,80 = 0x65,0xcc,0x81,0x31,0x32,0x33
+ ?screen_cell 0,0 = {0x65,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !10 combining accents should not crash
+ RESET
+ PUSH "e\xCC\x81\xCC\x82\xCC\x83\xCC\x84\xCC\x85\xCC\x86\xCC\x87\xCC\x88\xCC\x89\xCC\x8A"
+ ?screen_cell 0,0 = {0x65,0x301,0x302,0x303,0x304,0x305} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !40 combining accents in two split writes of 20 should not crash
+ RESET
+ PUSH "e\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81"
+ PUSH "\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81\xCC\x81"
+ ?screen_cell 0,0 = {0x65,0x301,0x301,0x301,0x301,0x301} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Outputting CJK doublewidth in 80th column should wraparound to next line and not crash"
+ RESET
+ PUSH "\e[80G\xEF\xBC\x90"
+ ?screen_cell 0,79 = {} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ ?screen_cell 1,0 = {0xff10} width=2 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
*** ../vim-8.2.0779/src/libvterm/t/42screen_damage.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/42screen_damage.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,155 ****
- INIT
- WANTSCREEN Db
-
- !Putglyph
- RESET
- damage 0..25,0..80
- PUSH "123"
- damage 0..1,0..1 = 0<31>
- damage 0..1,1..2 = 0<32>
- damage 0..1,2..3 = 0<33>
-
- !Erase
- PUSH "\e[H"
- PUSH "\e[3X"
- damage 0..1,0..3
-
- !Scroll damages entire line in two chunks
- PUSH "\e[H\e[5@"
- damage 0..1,5..80
- damage 0..1,0..5
-
- !Scroll down damages entire screen in two chunks
- PUSH "\e[T"
- damage 1..25,0..80
- damage 0..1,0..80
-
- !Altscreen damages entire area
- PUSH "\e[?1049h"
- damage 0..25,0..80
- PUSH "\e[?1049l"
- damage 0..25,0..80
-
- WANTSCREEN m
-
- !Scroll invokes moverect but not damage
- PUSH "\e[5@"
- moverect 0..1,0..75 -> 0..1,5..80
- damage 0..1,0..5
-
- WANTSCREEN -m
-
- !Merge to cells
- RESET
- damage 0..25,0..80
- DAMAGEMERGE CELL
-
- PUSH "A"
- damage 0..1,0..1 = 0<41>
- PUSH "B"
- damage 0..1,1..2 = 0<42>
- PUSH "C"
- damage 0..1,2..3 = 0<43>
-
- !Merge entire rows
- RESET
- damage 0..25,0..80
- DAMAGEMERGE ROW
-
- PUSH "ABCDE\r\nEFGH"
- damage 0..1,0..5 = 0<41 42 43 44 45>
- DAMAGEFLUSH
- damage 1..2,0..4 = 1<45 46 47 48>
- PUSH "\e[3;6r\e[6H\eD"
- damage 2..5,0..80
- DAMAGEFLUSH
- damage 5..6,0..80
-
- !Merge entire screen
- RESET
- damage 0..25,0..80
- DAMAGEMERGE SCREEN
-
- PUSH "ABCDE\r\nEFGH"
- DAMAGEFLUSH
- damage 0..2,0..5 = 0<41 42 43 44 45> 1<45 46 47 48>
- PUSH "\e[3;6r\e[6H\eD"
- DAMAGEFLUSH
- damage 2..6,0..80
-
- !Merge entire screen with moverect
- WANTSCREEN m
-
- RESET
- damage 0..25,0..80
- DAMAGEMERGE SCREEN
-
- PUSH "ABCDE\r\nEFGH"
- PUSH "\e[3;6r\e[6H\eD"
- damage 0..2,0..5 = 0<41 42 43 44 45> 1<45 46 47 48>
- moverect 3..6,0..80 -> 2..5,0..80
- DAMAGEFLUSH
- damage 5..6,0..80
-
- !Merge scroll
- RESET
- damage 0..25,0..80
- DAMAGEMERGE SCROLL
-
- PUSH "\e[H1\r\n2\r\n3"
- PUSH "\e[25H\n\n\n"
- sb_pushline 80 = 31
- sb_pushline 80 = 32
- sb_pushline 80 = 33
- DAMAGEFLUSH
- moverect 3..25,0..80 -> 0..22,0..80
- damage 0..25,0..80
-
- !Merge scroll with damage
- PUSH "\e[25H"
- PUSH "ABCDE\r\nEFGH\r\n"
- sb_pushline 80 =
- sb_pushline 80 =
- DAMAGEFLUSH
- moverect 2..25,0..80 -> 0..23,0..80
- damage 22..25,0..80 = 22<41 42 43 44 45> 23<45 46 47 48>
-
- !Merge scroll with damage past region
- PUSH "\e[3;6r\e[6H1\r\n2\r\n3\r\n4\r\n5"
- DAMAGEFLUSH
- damage 2..6,0..80 = 2<32> 3<33> 4<34> 5<35>
-
- !Damage entirely outside scroll region
- PUSH "\e[HABC\e[3;6r\e[6H\r\n6"
- damage 0..1,0..3 = 0<41 42 43>
- DAMAGEFLUSH
- moverect 3..6,0..80 -> 2..5,0..80
- damage 5..6,0..80 = 5<36>
-
- !Damage overlapping scroll region
- PUSH "\e[H\e[2J"
- DAMAGEFLUSH
- damage 0..25,0..80
-
- PUSH "\e[HABCD\r\nEFGH\r\nIJKL\e[2;5r\e[5H\r\nMNOP"
- DAMAGEFLUSH
- moverect 2..5,0..80 -> 1..4,0..80
- damage 0..5,0..80 = 0<41 42 43 44> 1<49 4A 4B 4C>
- ## TODO: is this right?
-
- !Merge scroll*2 with damage
- RESET
- damage 0..25,0..80
- DAMAGEMERGE SCROLL
-
- PUSH "\e[25H\r\nABCDE\b\b\b\e[2P\r\n"
- sb_pushline 80 =
- moverect 1..25,0..80 -> 0..24,0..80
- damage 24..25,0..80 = 24<41 42 43 44 45>
- moverect 24..25,4..80 -> 24..25,2..78
- damage 24..25,78..80
- sb_pushline 80 =
- DAMAGEFLUSH
- moverect 1..25,0..80 -> 0..24,0..80
- damage 24..25,0..80
- ?screen_chars 23,0,24,5 = 0x41,0x42,0x45
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/62screen_damage.test 2020-05-17 16:23:18.161505894 +0200
--- src/libvterm/t/62screen_damage.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,155 ----
+ INIT
+ WANTSCREEN Db
+
+ !Putglyph
+ RESET
+ damage 0..25,0..80
+ PUSH "123"
+ damage 0..1,0..1 = 0<31>
+ damage 0..1,1..2 = 0<32>
+ damage 0..1,2..3 = 0<33>
+
+ !Erase
+ PUSH "\e[H"
+ PUSH "\e[3X"
+ damage 0..1,0..3
+
+ !Scroll damages entire line in two chunks
+ PUSH "\e[H\e[5@"
+ damage 0..1,5..80
+ damage 0..1,0..5
+
+ !Scroll down damages entire screen in two chunks
+ PUSH "\e[T"
+ damage 1..25,0..80
+ damage 0..1,0..80
+
+ !Altscreen damages entire area
+ PUSH "\e[?1049h"
+ damage 0..25,0..80
+ PUSH "\e[?1049l"
+ damage 0..25,0..80
+
+ WANTSCREEN m
+
+ !Scroll invokes moverect but not damage
+ PUSH "\e[5@"
+ moverect 0..1,0..75 -> 0..1,5..80
+ damage 0..1,0..5
+
+ WANTSCREEN -m
+
+ !Merge to cells
+ RESET
+ damage 0..25,0..80
+ DAMAGEMERGE CELL
+
+ PUSH "A"
+ damage 0..1,0..1 = 0<41>
+ PUSH "B"
+ damage 0..1,1..2 = 0<42>
+ PUSH "C"
+ damage 0..1,2..3 = 0<43>
+
+ !Merge entire rows
+ RESET
+ damage 0..25,0..80
+ DAMAGEMERGE ROW
+
+ PUSH "ABCDE\r\nEFGH"
+ damage 0..1,0..5 = 0<41 42 43 44 45>
+ DAMAGEFLUSH
+ damage 1..2,0..4 = 1<45 46 47 48>
+ PUSH "\e[3;6r\e[6H\eD"
+ damage 2..5,0..80
+ DAMAGEFLUSH
+ damage 5..6,0..80
+
+ !Merge entire screen
+ RESET
+ damage 0..25,0..80
+ DAMAGEMERGE SCREEN
+
+ PUSH "ABCDE\r\nEFGH"
+ DAMAGEFLUSH
+ damage 0..2,0..5 = 0<41 42 43 44 45> 1<45 46 47 48>
+ PUSH "\e[3;6r\e[6H\eD"
+ DAMAGEFLUSH
+ damage 2..6,0..80
+
+ !Merge entire screen with moverect
+ WANTSCREEN m
+
+ RESET
+ damage 0..25,0..80
+ DAMAGEMERGE SCREEN
+
+ PUSH "ABCDE\r\nEFGH"
+ PUSH "\e[3;6r\e[6H\eD"
+ damage 0..2,0..5 = 0<41 42 43 44 45> 1<45 46 47 48>
+ moverect 3..6,0..80 -> 2..5,0..80
+ DAMAGEFLUSH
+ damage 5..6,0..80
+
+ !Merge scroll
+ RESET
+ damage 0..25,0..80
+ DAMAGEMERGE SCROLL
+
+ PUSH "\e[H1\r\n2\r\n3"
+ PUSH "\e[25H\n\n\n"
+ sb_pushline 80 = 31
+ sb_pushline 80 = 32
+ sb_pushline 80 = 33
+ DAMAGEFLUSH
+ moverect 3..25,0..80 -> 0..22,0..80
+ damage 0..25,0..80
+
+ !Merge scroll with damage
+ PUSH "\e[25H"
+ PUSH "ABCDE\r\nEFGH\r\n"
+ sb_pushline 80 =
+ sb_pushline 80 =
+ DAMAGEFLUSH
+ moverect 2..25,0..80 -> 0..23,0..80
+ damage 22..25,0..80 = 22<41 42 43 44 45> 23<45 46 47 48>
+
+ !Merge scroll with damage past region
+ PUSH "\e[3;6r\e[6H1\r\n2\r\n3\r\n4\r\n5"
+ DAMAGEFLUSH
+ damage 2..6,0..80 = 2<32> 3<33> 4<34> 5<35>
+
+ !Damage entirely outside scroll region
+ PUSH "\e[HABC\e[3;6r\e[6H\r\n6"
+ damage 0..1,0..3 = 0<41 42 43>
+ DAMAGEFLUSH
+ moverect 3..6,0..80 -> 2..5,0..80
+ damage 5..6,0..80 = 5<36>
+
+ !Damage overlapping scroll region
+ PUSH "\e[H\e[2J"
+ DAMAGEFLUSH
+ damage 0..25,0..80
+
+ PUSH "\e[HABCD\r\nEFGH\r\nIJKL\e[2;5r\e[5H\r\nMNOP"
+ DAMAGEFLUSH
+ moverect 2..5,0..80 -> 1..4,0..80
+ damage 0..5,0..80 = 0<41 42 43 44> 1<49 4A 4B 4C>
+ ## TODO: is this right?
+
+ !Merge scroll*2 with damage
+ RESET
+ damage 0..25,0..80
+ DAMAGEMERGE SCROLL
+
+ PUSH "\e[25H\r\nABCDE\b\b\b\e[2P\r\n"
+ sb_pushline 80 =
+ moverect 1..25,0..80 -> 0..24,0..80
+ damage 24..25,0..80 = 24<41 42 43 44 45>
+ moverect 24..25,4..80 -> 24..25,2..78
+ damage 24..25,78..80
+ sb_pushline 80 =
+ DAMAGEFLUSH
+ moverect 1..25,0..80 -> 0..24,0..80
+ damage 24..25,0..80
+ ?screen_chars 23,0,24,5 = 0x41,0x42,0x45
*** ../vim-8.2.0779/src/libvterm/t/43screen_resize.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/43screen_resize.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,90 ****
- INIT
- WANTSTATE
- WANTSCREEN
-
- !Resize wider preserves cells
- RESET
- RESIZE 25,80
- PUSH "AB\r\nCD"
- ?screen_chars 0,0,1,80 = 0x41,0x42
- ?screen_chars 1,0,2,80 = 0x43,0x44
- RESIZE 25,100
- ?screen_chars 0,0,1,100 = 0x41,0x42
- ?screen_chars 1,0,2,100 = 0x43,0x44
-
- !Resize wider allows print in new area
- RESET
- RESIZE 25,80
- PUSH "AB\e[79GCD"
- ?screen_chars 0,0,1,2 = 0x41,0x42
- ?screen_chars 0,78,1,80 = 0x43,0x44
- RESIZE 25,100
- ?screen_chars 0,0,1,2 = 0x41,0x42
- ?screen_chars 0,78,1,80 = 0x43,0x44
- PUSH "E"
- ?screen_chars 0,78,1,81 = 0x43,0x44,0x45
-
- !Resize shorter with blanks just truncates
- RESET
- RESIZE 25,80
- PUSH "Top\e[10HLine 10"
- ?screen_chars 0,0,1,80 = 0x54,0x6f,0x70
- ?screen_chars 9,0,10,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31,0x30
- ?cursor = 9,7
- RESIZE 20,80
- ?screen_chars 0,0,1,80 = 0x54,0x6f,0x70
- ?screen_chars 9,0,10,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31,0x30
- ?cursor = 9,7
-
- !Resize shorter with content must scroll
- RESET
- RESIZE 25,80
- PUSH "Top\e[25HLine 25\e[15H"
- ?screen_chars 0,0,1,80 = 0x54,0x6f,0x70
- ?screen_chars 24,0,25,80 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
- ?cursor = 14,0
- WANTSCREEN b
- RESIZE 20,80
- sb_pushline 80 = 54 6F 70
- sb_pushline 80 =
- sb_pushline 80 =
- sb_pushline 80 =
- sb_pushline 80 =
- ?screen_chars 0,0,1,80 =
- ?screen_chars 19,0,20,80 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
- ?cursor = 9,0
-
- !Resize shorter does not lose line with cursor
- # See also https://github.com/neovim/libvterm/commit/1b745d29d45623aa8d22a7b9288c7b0e331c7088
- RESET
- WANTSCREEN -b
- RESIZE 25,80
- WANTSCREEN b
- PUSH "\e[24HLine 24\r\nLine 25\r\n"
- sb_pushline 80 =
- ?screen_chars 23,0,24,10 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
- ?cursor = 24,0
- RESIZE 24,80
- sb_pushline 80 =
- ?screen_chars 22,0,23,10 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
- ?cursor = 23,0
-
- !Resize taller attempts to pop scrollback
- RESET
- WANTSCREEN -b
- RESIZE 25,80
- PUSH "Line 1\e[25HBottom\e[15H"
- ?screen_chars 0,0,1,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31
- ?screen_chars 24,0,25,80 = 0x42,0x6f,0x74,0x74,0x6f,0x6d
- ?cursor = 14,0
- WANTSCREEN b
- RESIZE 30,80
- sb_popline 80
- sb_popline 80
- sb_popline 80
- sb_popline 80
- sb_popline 80
- ?screen_chars 0,0,1,80 = 0x41,0x42,0x43,0x44,0x45
- ?screen_chars 5,0,6,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31
- ?screen_chars 29,0,30,80 = 0x42,0x6f,0x74,0x74,0x6f,0x6d
- ?cursor = 19,0
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/63screen_resize.test 2020-05-17 16:23:18.169505871 +0200
--- src/libvterm/t/63screen_resize.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,90 ----
+ INIT
+ WANTSTATE
+ WANTSCREEN
+
+ !Resize wider preserves cells
+ RESET
+ RESIZE 25,80
+ PUSH "AB\r\nCD"
+ ?screen_chars 0,0,1,80 = 0x41,0x42
+ ?screen_chars 1,0,2,80 = 0x43,0x44
+ RESIZE 25,100
+ ?screen_chars 0,0,1,100 = 0x41,0x42
+ ?screen_chars 1,0,2,100 = 0x43,0x44
+
+ !Resize wider allows print in new area
+ RESET
+ RESIZE 25,80
+ PUSH "AB\e[79GCD"
+ ?screen_chars 0,0,1,2 = 0x41,0x42
+ ?screen_chars 0,78,1,80 = 0x43,0x44
+ RESIZE 25,100
+ ?screen_chars 0,0,1,2 = 0x41,0x42
+ ?screen_chars 0,78,1,80 = 0x43,0x44
+ PUSH "E"
+ ?screen_chars 0,78,1,81 = 0x43,0x44,0x45
+
+ !Resize shorter with blanks just truncates
+ RESET
+ RESIZE 25,80
+ PUSH "Top\e[10HLine 10"
+ ?screen_chars 0,0,1,80 = 0x54,0x6f,0x70
+ ?screen_chars 9,0,10,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31,0x30
+ ?cursor = 9,7
+ RESIZE 20,80
+ ?screen_chars 0,0,1,80 = 0x54,0x6f,0x70
+ ?screen_chars 9,0,10,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31,0x30
+ ?cursor = 9,7
+
+ !Resize shorter with content must scroll
+ RESET
+ RESIZE 25,80
+ PUSH "Top\e[25HLine 25\e[15H"
+ ?screen_chars 0,0,1,80 = 0x54,0x6f,0x70
+ ?screen_chars 24,0,25,80 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
+ ?cursor = 14,0
+ WANTSCREEN b
+ RESIZE 20,80
+ sb_pushline 80 = 54 6F 70
+ sb_pushline 80 =
+ sb_pushline 80 =
+ sb_pushline 80 =
+ sb_pushline 80 =
+ ?screen_chars 0,0,1,80 =
+ ?screen_chars 19,0,20,80 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
+ ?cursor = 9,0
+
+ !Resize shorter does not lose line with cursor
+ # See also https://github.com/neovim/libvterm/commit/1b745d29d45623aa8d22a7b9288c7b0e331c7088
+ RESET
+ WANTSCREEN -b
+ RESIZE 25,80
+ WANTSCREEN b
+ PUSH "\e[24HLine 24\r\nLine 25\r\n"
+ sb_pushline 80 =
+ ?screen_chars 23,0,24,10 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
+ ?cursor = 24,0
+ RESIZE 24,80
+ sb_pushline 80 =
+ ?screen_chars 22,0,23,10 = 0x4c,0x69,0x6e,0x65,0x20,0x32,0x35
+ ?cursor = 23,0
+
+ !Resize taller attempts to pop scrollback
+ RESET
+ WANTSCREEN -b
+ RESIZE 25,80
+ PUSH "Line 1\e[25HBottom\e[15H"
+ ?screen_chars 0,0,1,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31
+ ?screen_chars 24,0,25,80 = 0x42,0x6f,0x74,0x74,0x6f,0x6d
+ ?cursor = 14,0
+ WANTSCREEN b
+ RESIZE 30,80
+ sb_popline 80
+ sb_popline 80
+ sb_popline 80
+ sb_popline 80
+ sb_popline 80
+ ?screen_chars 0,0,1,80 = 0x41,0x42,0x43,0x44,0x45
+ ?screen_chars 5,0,6,80 = 0x4c,0x69,0x6e,0x65,0x20,0x31
+ ?screen_chars 29,0,30,80 = 0x42,0x6f,0x74,0x74,0x6f,0x6d
+ ?cursor = 19,0
*** ../vim-8.2.0779/src/libvterm/t/44screen_pen.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/44screen_pen.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,55 ****
- INIT
- WANTSCREEN
-
- RESET
-
- !Plain
- PUSH "A"
- ?screen_cell 0,0 = {0x41} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Bold
- PUSH "\e[1mB"
- ?screen_cell 0,1 = {0x42} width=1 attrs={B} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Italic
- PUSH "\e[3mC"
- ?screen_cell 0,2 = {0x43} width=1 attrs={BI} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Underline
- PUSH "\e[4mD"
- ?screen_cell 0,3 = {0x44} width=1 attrs={BU1I} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Reset
- PUSH "\e[mE"
- ?screen_cell 0,4 = {0x45} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Font
- PUSH "\e[11mF\e[m"
- ?screen_cell 0,5 = {0x46} width=1 attrs={F1} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Foreground
- PUSH "\e[31mG\e[m"
- ?screen_cell 0,6 = {0x47} width=1 attrs={} fg=rgb(224,0,0) bg=rgb(0,0,0)
-
- !Background
- PUSH "\e[42mH\e[m"
- ?screen_cell 0,7 = {0x48} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,224,0)
-
- !EL sets reverse and colours to end of line
- PUSH "\e[H\e[7;33;44m\e[K"
- ?screen_cell 0,0 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
- ?screen_cell 0,79 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
-
- !DECSCNM xors reverse for entire screen
- PUSH "\e[?5h"
- ?screen_cell 0,0 = {} width=1 attrs={} fg=rgb(224,224,0) bg=rgb(0,0,224)
- ?screen_cell 0,79 = {} width=1 attrs={} fg=rgb(224,224,0) bg=rgb(0,0,224)
- ?screen_cell 1,0 = {} width=1 attrs={R} fg=rgb(240,240,240) bg=rgb(0,0,0)
- PUSH "\e[?5\$p"
- output "\e[?5;1\$y"
- PUSH "\e[?5l"
- ?screen_cell 0,0 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
- ?screen_cell 0,79 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
- ?screen_cell 1,0 = {} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
- PUSH "\e[?5\$p"
- output "\e[?5;2\$y"
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/64screen_pen.test 2020-05-17 16:23:18.177505848 +0200
--- src/libvterm/t/64screen_pen.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,55 ----
+ INIT
+ WANTSCREEN
+
+ RESET
+
+ !Plain
+ PUSH "A"
+ ?screen_cell 0,0 = {0x41} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Bold
+ PUSH "\e[1mB"
+ ?screen_cell 0,1 = {0x42} width=1 attrs={B} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Italic
+ PUSH "\e[3mC"
+ ?screen_cell 0,2 = {0x43} width=1 attrs={BI} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Underline
+ PUSH "\e[4mD"
+ ?screen_cell 0,3 = {0x44} width=1 attrs={BU1I} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Reset
+ PUSH "\e[mE"
+ ?screen_cell 0,4 = {0x45} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Font
+ PUSH "\e[11mF\e[m"
+ ?screen_cell 0,5 = {0x46} width=1 attrs={F1} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Foreground
+ PUSH "\e[31mG\e[m"
+ ?screen_cell 0,6 = {0x47} width=1 attrs={} fg=rgb(224,0,0) bg=rgb(0,0,0)
+
+ !Background
+ PUSH "\e[42mH\e[m"
+ ?screen_cell 0,7 = {0x48} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,224,0)
+
+ !EL sets reverse and colours to end of line
+ PUSH "\e[H\e[7;33;44m\e[K"
+ ?screen_cell 0,0 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
+ ?screen_cell 0,79 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
+
+ !DECSCNM xors reverse for entire screen
+ PUSH "\e[?5h"
+ ?screen_cell 0,0 = {} width=1 attrs={} fg=rgb(224,224,0) bg=rgb(0,0,224)
+ ?screen_cell 0,79 = {} width=1 attrs={} fg=rgb(224,224,0) bg=rgb(0,0,224)
+ ?screen_cell 1,0 = {} width=1 attrs={R} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ PUSH "\e[?5\$p"
+ output "\e[?5;1\$y"
+ PUSH "\e[?5l"
+ ?screen_cell 0,0 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
+ ?screen_cell 0,79 = {} width=1 attrs={R} fg=rgb(224,224,0) bg=rgb(0,0,224)
+ ?screen_cell 1,0 = {} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ PUSH "\e[?5\$p"
+ output "\e[?5;2\$y"
*** ../vim-8.2.0779/src/libvterm/t/45screen_protect.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/45screen_protect.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,16 ****
- INIT
- WANTSCREEN
-
- !Selective erase
- RESET
- PUSH "A\e[1\"qB\e[\"qC"
- ?screen_chars 0,0,1,3 = 0x41,0x42,0x43
- PUSH "\e[G\e[?J"
- ?screen_chars 0,0,1,3 = 0x20,0x42
-
- !Non-selective erase
- RESET
- PUSH "A\e[1\"qB\e[\"qC"
- ?screen_chars 0,0,1,3 = 0x41,0x42,0x43
- PUSH "\e[G\e[J"
- ?screen_chars 0,0,1,3 =
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/65screen_protect.test 2020-05-17 16:23:18.185505825 +0200
--- src/libvterm/t/65screen_protect.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,16 ----
+ INIT
+ WANTSCREEN
+
+ !Selective erase
+ RESET
+ PUSH "A\e[1\"qB\e[\"qC"
+ ?screen_chars 0,0,1,3 = 0x41,0x42,0x43
+ PUSH "\e[G\e[?J"
+ ?screen_chars 0,0,1,3 = 0x20,0x42
+
+ !Non-selective erase
+ RESET
+ PUSH "A\e[1\"qB\e[\"qC"
+ ?screen_chars 0,0,1,3 = 0x41,0x42,0x43
+ PUSH "\e[G\e[J"
+ ?screen_chars 0,0,1,3 =
*** ../vim-8.2.0779/src/libvterm/t/46screen_extent.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/46screen_extent.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,11 ****
- INIT
- WANTSCREEN
-
- !Bold extent
- RESET
- PUSH "AB\e[1mCD\e[mE"
- ?screen_attrs_extent 0,0 = 0,0-1,1
- ?screen_attrs_extent 0,1 = 0,0-1,1
- ?screen_attrs_extent 0,2 = 0,2-1,3
- ?screen_attrs_extent 0,3 = 0,2-1,3
- ?screen_attrs_extent 0,4 = 0,4-1,79
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/66screen_extent.test 2020-05-17 16:23:18.189505812 +0200
--- src/libvterm/t/66screen_extent.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,11 ----
+ INIT
+ WANTSCREEN
+
+ !Bold extent
+ RESET
+ PUSH "AB\e[1mCD\e[mE"
+ ?screen_attrs_extent 0,0 = 0,0-1,1
+ ?screen_attrs_extent 0,1 = 0,0-1,1
+ ?screen_attrs_extent 0,2 = 0,2-1,3
+ ?screen_attrs_extent 0,3 = 0,2-1,3
+ ?screen_attrs_extent 0,4 = 0,4-1,79
*** ../vim-8.2.0779/src/libvterm/t/47screen_dbl_wh.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/47screen_dbl_wh.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,32 ****
- INIT
- WANTSCREEN
-
- RESET
-
- !Single Width, Single Height
- RESET
- PUSH "\e#5"
- PUSH "abcde"
- ?screen_cell 0,0 = {0x61} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Double Width, Single Height
- RESET
- PUSH "\e#6"
- PUSH "abcde"
- ?screen_cell 0,0 = {0x61} width=1 attrs={} dwl fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Double Height
- RESET
- PUSH "\e#3"
- PUSH "abcde"
- PUSH "\r\n\e#4"
- PUSH "abcde"
- ?screen_cell 0,0 = {0x61} width=1 attrs={} dwl dhl-top fg=rgb(240,240,240) bg=rgb(0,0,0)
- ?screen_cell 1,0 = {0x61} width=1 attrs={} dwl dhl-bottom fg=rgb(240,240,240) bg=rgb(0,0,0)
-
- !Late change
- RESET
- PUSH "abcde"
- ?screen_cell 0,0 = {0x61} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
- PUSH "\e#6"
- ?screen_cell 0,0 = {0x61} width=1 attrs={} dwl fg=rgb(240,240,240) bg=rgb(0,0,0)
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/67screen_dbl_wh.test 2020-05-17 16:23:18.197505789 +0200
--- src/libvterm/t/67screen_dbl_wh.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,32 ----
+ INIT
+ WANTSCREEN
+
+ RESET
+
+ !Single Width, Single Height
+ RESET
+ PUSH "\e#5"
+ PUSH "abcde"
+ ?screen_cell 0,0 = {0x61} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Double Width, Single Height
+ RESET
+ PUSH "\e#6"
+ PUSH "abcde"
+ ?screen_cell 0,0 = {0x61} width=1 attrs={} dwl fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Double Height
+ RESET
+ PUSH "\e#3"
+ PUSH "abcde"
+ PUSH "\r\n\e#4"
+ PUSH "abcde"
+ ?screen_cell 0,0 = {0x61} width=1 attrs={} dwl dhl-top fg=rgb(240,240,240) bg=rgb(0,0,0)
+ ?screen_cell 1,0 = {0x61} width=1 attrs={} dwl dhl-bottom fg=rgb(240,240,240) bg=rgb(0,0,0)
+
+ !Late change
+ RESET
+ PUSH "abcde"
+ ?screen_cell 0,0 = {0x61} width=1 attrs={} fg=rgb(240,240,240) bg=rgb(0,0,0)
+ PUSH "\e#6"
+ ?screen_cell 0,0 = {0x61} width=1 attrs={} dwl fg=rgb(240,240,240) bg=rgb(0,0,0)
*** ../vim-8.2.0779/src/libvterm/t/48screen_termprops.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/48screen_termprops.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,17 ****
- INIT
- WANTSCREEN p
-
- RESET
- settermprop 1 true
- settermprop 2 true
- settermprop 7 1
-
- !Cursor visibility
- PUSH "\e[?25h"
- settermprop 1 true
- PUSH "\e[?25l"
- settermprop 1 false
-
- !Title
- PUSH "\e]2;Here is my title\a"
- settermprop 4 "Here is my title"
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/68screen_termprops.test 2020-05-17 16:23:18.205505766 +0200
--- src/libvterm/t/68screen_termprops.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,17 ----
+ INIT
+ WANTSCREEN p
+
+ RESET
+ settermprop 1 true
+ settermprop 2 true
+ settermprop 7 1
+
+ !Cursor visibility
+ PUSH "\e[?25h"
+ settermprop 1 true
+ PUSH "\e[?25l"
+ settermprop 1 false
+
+ !Title
+ PUSH "\e]2;Here is my title\a"
+ settermprop 4 "Here is my title"
*** ../vim-8.2.0779/src/libvterm/t/30pen.test 2017-06-24 16:44:02.000000000 +0200
--- src/libvterm/t/30pen.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,106 ****
- INIT
- UTF8 1
- WANTSTATE
-
- !Reset
- PUSH "\e[m"
- ?pen bold = off
- ?pen underline = 0
- ?pen italic = off
- ?pen blink = off
- ?pen reverse = off
- ?pen font = 0
- ?pen foreground = rgb(240,240,240)
- ?pen background = rgb(0,0,0)
-
- !Bold
- PUSH "\e[1m"
- ?pen bold = on
- PUSH "\e[22m"
- ?pen bold = off
- PUSH "\e[1m\e[m"
- ?pen bold = off
-
- !Underline
- PUSH "\e[4m"
- ?pen underline = 1
- PUSH "\e[21m"
- ?pen underline = 2
- PUSH "\e[24m"
- ?pen underline = 0
- PUSH "\e[4m\e[m"
- ?pen underline = 0
-
- !Italic
- PUSH "\e[3m"
- ?pen italic = on
- PUSH "\e[23m"
- ?pen italic = off
- PUSH "\e[3m\e[m"
- ?pen italic = off
-
- !Blink
- PUSH "\e[5m"
- ?pen blink = on
- PUSH "\e[25m"
- ?pen blink = off
- PUSH "\e[5m\e[m"
- ?pen blink = off
-
- !Reverse
- PUSH "\e[7m"
- ?pen reverse = on
- PUSH "\e[27m"
- ?pen reverse = off
- PUSH "\e[7m\e[m"
- ?pen reverse = off
-
- !Font Selection
- PUSH "\e[11m"
- ?pen font = 1
- PUSH "\e[19m"
- ?pen font = 9
- PUSH "\e[10m"
- ?pen font = 0
- PUSH "\e[11m\e[m"
- ?pen font = 0
-
- !Foreground
- PUSH "\e[31m"
- ?pen foreground = rgb(224,0,0)
- PUSH "\e[32m"
- ?pen foreground = rgb(0,224,0)
- PUSH "\e[34m"
- ?pen foreground = rgb(0,0,224)
- PUSH "\e[91m"
- ?pen foreground = rgb(255,64,64)
- PUSH "\e[38:2:10:20:30m"
- ?pen foreground = rgb(10,20,30)
- PUSH "\e[38:5:1m"
- ?pen foreground = rgb(224,0,0)
- PUSH "\e[39m"
- ?pen foreground = rgb(240,240,240)
-
- !Background
- PUSH "\e[41m"
- ?pen background = rgb(224,0,0)
- PUSH "\e[42m"
- ?pen background = rgb(0,224,0)
- PUSH "\e[44m"
- ?pen background = rgb(0,0,224)
- PUSH "\e[101m"
- ?pen background = rgb(255,64,64)
- PUSH "\e[48:2:10:20:30m"
- ?pen background = rgb(10,20,30)
- PUSH "\e[48:5:1m"
- ?pen background = rgb(224,0,0)
- PUSH "\e[49m"
- ?pen background = rgb(0,0,0)
-
- !Bold+ANSI colour == highbright
- PUSH "\e[m\e[1;37m"
- ?pen bold = on
- ?pen foreground = rgb(255,255,255)
- PUSH "\e[m\e[37;1m"
- ?pen bold = on
- ?pen foreground = rgb(255,255,255)
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/30state_pen.test 2020-05-17 16:23:18.213505743 +0200
--- src/libvterm/t/30state_pen.test 2017-06-24 16:44:02.000000000 +0200
***************
*** 0 ****
--- 1,106 ----
+ INIT
+ UTF8 1
+ WANTSTATE
+
+ !Reset
+ PUSH "\e[m"
+ ?pen bold = off
+ ?pen underline = 0
+ ?pen italic = off
+ ?pen blink = off
+ ?pen reverse = off
+ ?pen font = 0
+ ?pen foreground = rgb(240,240,240)
+ ?pen background = rgb(0,0,0)
+
+ !Bold
+ PUSH "\e[1m"
+ ?pen bold = on
+ PUSH "\e[22m"
+ ?pen bold = off
+ PUSH "\e[1m\e[m"
+ ?pen bold = off
+
+ !Underline
+ PUSH "\e[4m"
+ ?pen underline = 1
+ PUSH "\e[21m"
+ ?pen underline = 2
+ PUSH "\e[24m"
+ ?pen underline = 0
+ PUSH "\e[4m\e[m"
+ ?pen underline = 0
+
+ !Italic
+ PUSH "\e[3m"
+ ?pen italic = on
+ PUSH "\e[23m"
+ ?pen italic = off
+ PUSH "\e[3m\e[m"
+ ?pen italic = off
+
+ !Blink
+ PUSH "\e[5m"
+ ?pen blink = on
+ PUSH "\e[25m"
+ ?pen blink = off
+ PUSH "\e[5m\e[m"
+ ?pen blink = off
+
+ !Reverse
+ PUSH "\e[7m"
+ ?pen reverse = on
+ PUSH "\e[27m"
+ ?pen reverse = off
+ PUSH "\e[7m\e[m"
+ ?pen reverse = off
+
+ !Font Selection
+ PUSH "\e[11m"
+ ?pen font = 1
+ PUSH "\e[19m"
+ ?pen font = 9
+ PUSH "\e[10m"
+ ?pen font = 0
+ PUSH "\e[11m\e[m"
+ ?pen font = 0
+
+ !Foreground
+ PUSH "\e[31m"
+ ?pen foreground = rgb(224,0,0)
+ PUSH "\e[32m"
+ ?pen foreground = rgb(0,224,0)
+ PUSH "\e[34m"
+ ?pen foreground = rgb(0,0,224)
+ PUSH "\e[91m"
+ ?pen foreground = rgb(255,64,64)
+ PUSH "\e[38:2:10:20:30m"
+ ?pen foreground = rgb(10,20,30)
+ PUSH "\e[38:5:1m"
+ ?pen foreground = rgb(224,0,0)
+ PUSH "\e[39m"
+ ?pen foreground = rgb(240,240,240)
+
+ !Background
+ PUSH "\e[41m"
+ ?pen background = rgb(224,0,0)
+ PUSH "\e[42m"
+ ?pen background = rgb(0,224,0)
+ PUSH "\e[44m"
+ ?pen background = rgb(0,0,224)
+ PUSH "\e[101m"
+ ?pen background = rgb(255,64,64)
+ PUSH "\e[48:2:10:20:30m"
+ ?pen background = rgb(10,20,30)
+ PUSH "\e[48:5:1m"
+ ?pen background = rgb(224,0,0)
+ PUSH "\e[49m"
+ ?pen background = rgb(0,0,0)
+
+ !Bold+ANSI colour == highbright
+ PUSH "\e[m\e[1;37m"
+ ?pen bold = on
+ ?pen foreground = rgb(255,255,255)
+ PUSH "\e[m\e[37;1m"
+ ?pen bold = on
+ ?pen foreground = rgb(255,255,255)
*** ../vim-8.2.0779/src/libvterm/t/92lp1805050.test 2020-05-17 16:03:58.500875755 +0200
--- src/libvterm/t/92lp1805050.test 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,128 ****
- INIT
- UTF8 1
- WANTSTATE g
-
- !REP no argument
- RESET
- PUSH "a\e[b"
- putglyph 0x61 1 0,0
- putglyph 0x61 1 0,1
-
- !REP zero (zero should be interpreted as one)
- RESET
- PUSH "a\e[0b"
- putglyph 0x61 1 0,0
- putglyph 0x61 1 0,1
-
- !REP lowercase a times two
- RESET
- PUSH "a\e[2b"
- putglyph 0x61 1 0,0
- putglyph 0x61 1 0,1
- putglyph 0x61 1 0,2
-
- !REP with UTF-8 1 char
- # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
- RESET
- PUSH "\xC3\xA9\e[b"
- putglyph 0xe9 1 0,0
- putglyph 0xe9 1 0,1
-
- !REP with UTF-8 wide char
- # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
- RESET
- PUSH "\xEF\xBC\x90\e[b"
- putglyph 0xff10 2 0,0
- putglyph 0xff10 2 0,2
-
- !REP with UTF-8 combining character
- RESET
- PUSH "e\xCC\x81\e[b"
- putglyph 0x65,0x301 1 0,0
- putglyph 0x65,0x301 1 0,1
-
- !REP till end of line
- RESET
- PUSH "a\e[1000bb"
- putglyph 0x61 1 0,0
- putglyph 0x61 1 0,1
- putglyph 0x61 1 0,2
- putglyph 0x61 1 0,3
- putglyph 0x61 1 0,4
- putglyph 0x61 1 0,5
- putglyph 0x61 1 0,6
- putglyph 0x61 1 0,7
- putglyph 0x61 1 0,8
- putglyph 0x61 1 0,9
- putglyph 0x61 1 0,10
- putglyph 0x61 1 0,11
- putglyph 0x61 1 0,12
- putglyph 0x61 1 0,13
- putglyph 0x61 1 0,14
- putglyph 0x61 1 0,15
- putglyph 0x61 1 0,16
- putglyph 0x61 1 0,17
- putglyph 0x61 1 0,18
- putglyph 0x61 1 0,19
- putglyph 0x61 1 0,20
- putglyph 0x61 1 0,21
- putglyph 0x61 1 0,22
- putglyph 0x61 1 0,23
- putglyph 0x61 1 0,24
- putglyph 0x61 1 0,25
- putglyph 0x61 1 0,26
- putglyph 0x61 1 0,27
- putglyph 0x61 1 0,28
- putglyph 0x61 1 0,29
- putglyph 0x61 1 0,30
- putglyph 0x61 1 0,31
- putglyph 0x61 1 0,32
- putglyph 0x61 1 0,33
- putglyph 0x61 1 0,34
- putglyph 0x61 1 0,35
- putglyph 0x61 1 0,36
- putglyph 0x61 1 0,37
- putglyph 0x61 1 0,38
- putglyph 0x61 1 0,39
- putglyph 0x61 1 0,40
- putglyph 0x61 1 0,41
- putglyph 0x61 1 0,42
- putglyph 0x61 1 0,43
- putglyph 0x61 1 0,44
- putglyph 0x61 1 0,45
- putglyph 0x61 1 0,46
- putglyph 0x61 1 0,47
- putglyph 0x61 1 0,48
- putglyph 0x61 1 0,49
- putglyph 0x61 1 0,50
- putglyph 0x61 1 0,51
- putglyph 0x61 1 0,52
- putglyph 0x61 1 0,53
- putglyph 0x61 1 0,54
- putglyph 0x61 1 0,55
- putglyph 0x61 1 0,56
- putglyph 0x61 1 0,57
- putglyph 0x61 1 0,58
- putglyph 0x61 1 0,59
- putglyph 0x61 1 0,60
- putglyph 0x61 1 0,61
- putglyph 0x61 1 0,62
- putglyph 0x61 1 0,63
- putglyph 0x61 1 0,64
- putglyph 0x61 1 0,65
- putglyph 0x61 1 0,66
- putglyph 0x61 1 0,67
- putglyph 0x61 1 0,68
- putglyph 0x61 1 0,69
- putglyph 0x61 1 0,70
- putglyph 0x61 1 0,71
- putglyph 0x61 1 0,72
- putglyph 0x61 1 0,73
- putglyph 0x61 1 0,74
- putglyph 0x61 1 0,75
- putglyph 0x61 1 0,76
- putglyph 0x61 1 0,77
- putglyph 0x61 1 0,78
- putglyph 0x61 1 0,79
- putglyph 0x62 1 1,0
-
--- 0 ----
*** ../vim-8.2.0779/src/libvterm/t/31state_rep.test 2020-05-17 16:23:18.217505729 +0200
--- src/libvterm/t/31state_rep.test 2020-05-17 15:55:34.414356523 +0200
***************
*** 0 ****
--- 1,128 ----
+ INIT
+ UTF8 1
+ WANTSTATE g
+
+ !REP no argument
+ RESET
+ PUSH "a\e[b"
+ putglyph 0x61 1 0,0
+ putglyph 0x61 1 0,1
+
+ !REP zero (zero should be interpreted as one)
+ RESET
+ PUSH "a\e[0b"
+ putglyph 0x61 1 0,0
+ putglyph 0x61 1 0,1
+
+ !REP lowercase a times two
+ RESET
+ PUSH "a\e[2b"
+ putglyph 0x61 1 0,0
+ putglyph 0x61 1 0,1
+ putglyph 0x61 1 0,2
+
+ !REP with UTF-8 1 char
+ # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
+ RESET
+ PUSH "\xC3\xA9\e[b"
+ putglyph 0xe9 1 0,0
+ putglyph 0xe9 1 0,1
+
+ !REP with UTF-8 wide char
+ # U+00E9 = 0xC3 0xA9 name: LATIN SMALL LETTER E WITH ACUTE
+ RESET
+ PUSH "\xEF\xBC\x90\e[b"
+ putglyph 0xff10 2 0,0
+ putglyph 0xff10 2 0,2
+
+ !REP with UTF-8 combining character
+ RESET
+ PUSH "e\xCC\x81\e[b"
+ putglyph 0x65,0x301 1 0,0
+ putglyph 0x65,0x301 1 0,1
+
+ !REP till end of line
+ RESET
+ PUSH "a\e[1000bb"
+ putglyph 0x61 1 0,0
+ putglyph 0x61 1 0,1
+ putglyph 0x61 1 0,2
+ putglyph 0x61 1 0,3
+ putglyph 0x61 1 0,4
+ putglyph 0x61 1 0,5
+ putglyph 0x61 1 0,6
+ putglyph 0x61 1 0,7
+ putglyph 0x61 1 0,8
+ putglyph 0x61 1 0,9
+ putglyph 0x61 1 0,10
+ putglyph 0x61 1 0,11
+ putglyph 0x61 1 0,12
+ putglyph 0x61 1 0,13
+ putglyph 0x61 1 0,14
+ putglyph 0x61 1 0,15
+ putglyph 0x61 1 0,16
+ putglyph 0x61 1 0,17
+ putglyph 0x61 1 0,18
+ putglyph 0x61 1 0,19
+ putglyph 0x61 1 0,20
+ putglyph 0x61 1 0,21
+ putglyph 0x61 1 0,22
+ putglyph 0x61 1 0,23
+ putglyph 0x61 1 0,24
+ putglyph 0x61 1 0,25
+ putglyph 0x61 1 0,26
+ putglyph 0x61 1 0,27
+ putglyph 0x61 1 0,28
+ putglyph 0x61 1 0,29
+ putglyph 0x61 1 0,30
+ putglyph 0x61 1 0,31
+ putglyph 0x61 1 0,32
+ putglyph 0x61 1 0,33
+ putglyph 0x61 1 0,34
+ putglyph 0x61 1 0,35
+ putglyph 0x61 1 0,36
+ putglyph 0x61 1 0,37
+ putglyph 0x61 1 0,38
+ putglyph 0x61 1 0,39
+ putglyph 0x61 1 0,40
+ putglyph 0x61 1 0,41
+ putglyph 0x61 1 0,42
+ putglyph 0x61 1 0,43
+ putglyph 0x61 1 0,44
+ putglyph 0x61 1 0,45
+ putglyph 0x61 1 0,46
+ putglyph 0x61 1 0,47
+ putglyph 0x61 1 0,48
+ putglyph 0x61 1 0,49
+ putglyph 0x61 1 0,50
+ putglyph 0x61 1 0,51
+ putglyph 0x61 1 0,52
+ putglyph 0x61 1 0,53
+ putglyph 0x61 1 0,54
+ putglyph 0x61 1 0,55
+ putglyph 0x61 1 0,56
+ putglyph 0x61 1 0,57
+ putglyph 0x61 1 0,58
+ putglyph 0x61 1 0,59
+ putglyph 0x61 1 0,60
+ putglyph 0x61 1 0,61
+ putglyph 0x61 1 0,62
+ putglyph 0x61 1 0,63
+ putglyph 0x61 1 0,64
+ putglyph 0x61 1 0,65
+ putglyph 0x61 1 0,66
+ putglyph 0x61 1 0,67
+ putglyph 0x61 1 0,68
+ putglyph 0x61 1 0,69
+ putglyph 0x61 1 0,70
+ putglyph 0x61 1 0,71
+ putglyph 0x61 1 0,72
+ putglyph 0x61 1 0,73
+ putglyph 0x61 1 0,74
+ putglyph 0x61 1 0,75
+ putglyph 0x61 1 0,76
+ putglyph 0x61 1 0,77
+ putglyph 0x61 1 0,78
+ putglyph 0x61 1 0,79
+ putglyph 0x62 1 1,0
+
*** ../vim-8.2.0779/src/libvterm/doc/seqs.txt 2018-03-25 14:54:41.000000000 +0200
--- src/libvterm/doc/seqs.txt 2020-05-17 16:19:38.958141429 +0200
***************
*** 97,102 ****
--- 97,103 ----
CSI Z = CBT
CSI ` = HPA
CSI a = HPR
+ CSI b = REP
123 CSI c = DA, device attributes
123 0 = DA
23 CSI > c = DECSDA
*** ../vim-8.2.0779/src/version.c 2020-05-17 16:10:07.563800256 +0200
--- src/version.c 2020-05-17 16:22:57.081567017 +0200
***************
*** 748,749 ****
--- 748,751 ----
{ /* Add new patch number below this line */
+ /**/
+ 780,
/**/

--
Support your right to bare arms! Wear short sleeves!

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages