Mercurial > vim
diff src/option.c @ 25176:af3d0198faad v8.2.3124
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Commit: https://github.com/vim/vim/commit/deb108ba0a8599c1307ddc1507c73e7b60f17d36
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jul 8 17:35:36 2021 +0200
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Problem: Vim9: no error for white space between option and "=9".
Solution: Check for extraneous white space. (issue https://github.com/vim/vim/issues/8408)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 08 Jul 2021 17:45:03 +0200 |
parents | b32c83317492 |
children | 1e6da8364a02 |
line wrap: on
line diff
--- a/src/option.c +++ b/src/option.c @@ -1358,7 +1358,22 @@ do_set( // remember character after option name afterchar = arg[len]; - if (!in_vim9script()) + if (in_vim9script()) + { + char_u *p = skipwhite(arg + len); + + // disallow white space before =val, +=val, -=val, ^=val + if (p > arg + len && (p[0] == '=' + || (vim_strchr((char_u *)"+-^", p[0]) != NULL + && p[1] == '='))) + { + errmsg = e_no_white_space_allowed_between_option_and; + arg = p; + startarg = p; + goto skip; + } + } + else // skip white space, allow ":set ai ?", ":set hlsearch !" while (VIM_ISWHITE(arg[len])) ++len;