patch 8.0.0743: the 'termsize' option can be set to an invalid value
Problem: The 'termsize' option can be set to an invalid value.
Solution: Check the 'termsize' option to be valid.
diff --git a/src/option.c b/src/option.c
index 8e91fae..5247893 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7479,6 +7479,19 @@
}
#endif
+#ifdef FEAT_TERMINAL
+ /* 'termsize' */
+ else if (varp == &curwin->w_p_tms)
+ {
+ if (*curwin->w_p_tms != NUL)
+ {
+ p = skipdigits(curwin->w_p_tms);
+ if (p == curwin->w_p_tms || *p != 'x' || *skipdigits(p + 1) != NUL)
+ errmsg = e_invarg;
+ }
+ }
+#endif
+
/* Options that are a list of flags. */
else
{
diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim
index 019c757..128a918 100644
--- a/src/testdir/gen_opt_test.vim
+++ b/src/testdir/gen_opt_test.vim
@@ -124,6 +124,7 @@
\ 'switchbuf': [['', 'useopen', 'split,newtab'], ['xxx']],
\ 'tagcase': [['smart', 'match'], ['', 'xxx', 'smart,match']],
\ 'term': [[], []],
+ \ 'termsize': [['', '24x80', '0x80', '32x0', '0x0'], ['xxx', '80', '8ax9', '24x80b']],
\ 'toolbar': [['', 'icons', 'text'], ['xxx']],
\ 'toolbariconsize': [['', 'tiny', 'huge'], ['xxx']],
\ 'ttymouse': [['', 'xterm'], ['xxx']],
diff --git a/src/version.c b/src/version.c
index b678ed9..da56b9a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 743,
+/**/
742,
/**/
741,