# HG changeset patch # User Bram Moolenaar # Date 1646251202 -3600 # Node ID c8d6c2736796ad5d7a105ee4e4fb89b4e08bf105 # Parent e3e513338e4bcdd1fdfbc1217be1036bf64e40a2 patch 8.2.4492: no error if an option is given a value with ":let &opt = val" Commit: https://github.com/vim/vim/commit/8ccbbeb620dcc73154de29c51100fe815cefe109 Author: Bram Moolenaar Date: Wed Mar 2 19:49:38 2022 +0000 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) diff --git a/src/evalvars.c b/src/evalvars.c --- 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 --- 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 --- 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,