patch 8.2.0778: libvterm code lags behind the upstream version
Problem: Libvterm code lags behind the upstream version.
Solution: Include revisions 720 - 723.
diff --git a/src/libvterm/t/10state_putglyph.test b/src/libvterm/t/10state_putglyph.test
index 6d5d56a..bae0423 100644
--- a/src/libvterm/t/10state_putglyph.test
+++ b/src/libvterm/t/10state_putglyph.test
@@ -30,6 +30,13 @@
putglyph 0xff10 2 0,0
putglyph 0x20 1 0,2
+!UTF-8 emoji wide char
+# U+1F600 = 0xF0 0x9F 0x98 0x80 name: GRINNING FACE
+RESET
+PUSH "\xF0\x9F\x98\x80 "
+ putglyph 0x1f600 2 0,0
+ putglyph 0x20 1 0,2
+
!UTF-8 combining chars
# U+0301 = 0xCC 0x81 name: COMBINING ACUTE
RESET
diff --git a/src/libvterm/t/92lp1805050.test b/src/libvterm/t/92lp1805050.test
new file mode 100644
index 0000000..f820e67
--- /dev/null
+++ b/src/libvterm/t/92lp1805050.test
@@ -0,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
+
diff --git a/src/libvterm/t/run-test.pl b/src/libvterm/t/run-test.pl
index 12e1180..1b2144a 100644
--- a/src/libvterm/t/run-test.pl
+++ b/src/libvterm/t/run-test.pl
@@ -8,14 +8,16 @@
use POSIX qw( WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG );
my $VALGRIND = 0;
+my $EXECUTABLE = "t/.libs/harness";
GetOptions(
'valgrind|v+' => \$VALGRIND,
+ 'executable|e=s' => \$EXECUTABLE
) or exit 1;
my ( $hin, $hout, $hpid );
{
local $ENV{LD_LIBRARY_PATH} = ".libs";
- my @command = "t/.libs/harness";
+ my @command = $EXECUTABLE;
unshift @command, "valgrind", "--tool=memcheck", "--leak-check=yes", "--num-callers=25", "--log-file=valgrind.out", "--error-exitcode=126" if $VALGRIND;
$hpid = open2 $hout, $hin, @command or die "Cannot open2 harness - $!";