summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-03-02 19:49:38 +0000
committerBram Moolenaar <Bram@vim.org>2022-03-02 19:49:38 +0000
commit8ccbbeb620dcc73154de29c51100fe815cefe109 (patch)
tree2da5c4d7ade1cbfafe3d14d73050ad387b1b379c
parent7f687aaca9f2fd7c04f8a07effed92dd0164f6a2 (diff)
downloadvim-git-8ccbbeb620dcc73154de29c51100fe815cefe109.tar.gz
patch 8.2.4492: no error if an option is given a value with ":let &opt = val"v8.2.4492
Problem: No error if an option is given an invalid value with ":let &opt = val". Solution: Give the error. (closes #9864)
-rw-r--r--src/evalvars.c5
-rw-r--r--src/testdir/test_options.vim2
-rw-r--r--src/version.c2
3 files changed, 8 insertions, 1 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 862d5192b..eb69d3e20 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1518,8 +1518,11 @@ ex_let_option(
{
if (opt_type != gov_string || s != NULL)
{
- set_option_value(arg, n, s, scope);
+ char *err = set_option_value(arg, n, s, scope);
+
arg_end = p;
+ if (err != NULL)
+ emsg(_(err));
}
else
emsg(_(e_string_required));
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index 9ba2ce441..81081f502 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -369,6 +369,7 @@ func Test_set_errors()
call assert_fails('set sidescroll=-1', 'E487:')
call assert_fails('set tabstop=-1', 'E487:')
call assert_fails('set tabstop=10000', 'E474:')
+ call assert_fails('let &tabstop = 10000', 'E474:')
call assert_fails('set tabstop=5500000000', 'E474:')
call assert_fails('set textwidth=-1', 'E487:')
call assert_fails('set timeoutlen=-1', 'E487:')
@@ -384,6 +385,7 @@ func Test_set_errors()
call assert_fails('set comments=a', 'E525:')
call assert_fails('set foldmarker=x', 'E536:')
call assert_fails('set commentstring=x', 'E537:')
+ call assert_fails('let &commentstring = "x"', 'E537:')
call assert_fails('set complete=x', 'E539:')
call assert_fails('set rulerformat=%-', 'E539:')
call assert_fails('set rulerformat=%(', 'E542:')
diff --git a/src/version.c b/src/version.c
index 12d4f6eb0..2b61254d4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4492,
+/**/
4491,
/**/
4490,