0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.4492: no error if an option is given a value with ":let &opt = val"

Problem:    No error if an option is given an invalid value with
            ":let &opt = val".
Solution:   Give the error. (closes #9864)
This commit is contained in:
Bram Moolenaar
2022-03-02 19:49:38 +00:00
parent 7f687aaca9
commit 8ccbbeb620
3 changed files with 8 additions and 1 deletions

View File

@@ -1518,8 +1518,11 @@ ex_let_option(
{ {
if (opt_type != gov_string || s != NULL) 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; arg_end = p;
if (err != NULL)
emsg(_(err));
} }
else else
emsg(_(e_string_required)); emsg(_(e_string_required));

View File

@@ -369,6 +369,7 @@ func Test_set_errors()
call assert_fails('set sidescroll=-1', 'E487:') call assert_fails('set sidescroll=-1', 'E487:')
call assert_fails('set tabstop=-1', 'E487:') call assert_fails('set tabstop=-1', 'E487:')
call assert_fails('set tabstop=10000', 'E474:') 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 tabstop=5500000000', 'E474:')
call assert_fails('set textwidth=-1', 'E487:') call assert_fails('set textwidth=-1', 'E487:')
call assert_fails('set timeoutlen=-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 comments=a', 'E525:')
call assert_fails('set foldmarker=x', 'E536:') call assert_fails('set foldmarker=x', 'E536:')
call assert_fails('set commentstring=x', 'E537:') 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 complete=x', 'E539:')
call assert_fails('set rulerformat=%-', 'E539:') call assert_fails('set rulerformat=%-', 'E539:')
call assert_fails('set rulerformat=%(', 'E542:') call assert_fails('set rulerformat=%(', 'E542:')

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
4492,
/**/ /**/
4491, 4491,
/**/ /**/