summaryrefslogtreecommitdiffstats
path: root/src/option.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-07-08 16:40:13 +0200
committerBram Moolenaar <Bram@vim.org>2021-07-08 16:40:13 +0200
commit1594f313452cf6ca88375d9c8f68605a9c3c8ab5 (patch)
treef21489741747b0b2882d1b985ae1d9645e02e2c5 /src/option.c
parent30441bb3d5fa73f888b09684db3f54ff5ab48dbc (diff)
patch 8.2.3123: Vim9: confusing error when using white space after optionv8.2.3123
Problem: Vim9: confusing error when using white space after option, before one of "!&<". Solution: Give a specific error. (issue #8408)
Diffstat (limited to 'src/option.c')
-rw-r--r--src/option.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/option.c b/src/option.c
index ae303106ad..90e3e6d536 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1230,9 +1230,10 @@ ex_set(exarg_T *eap)
*/
int
do_set(
- char_u *arg, // option string (may be written to!)
+ char_u *arg_start, // option string (may be written to!)
int opt_flags)
{
+ char_u *arg = arg_start;
int opt_idx;
char *errmsg;
char errbuf[80];
@@ -1387,7 +1388,11 @@ do_set(
if (opt_idx == -1 && key == 0) // found a mismatch: skip
{
- errmsg = N_("E518: Unknown option");
+ if (in_vim9script() && arg > arg_start
+ && vim_strchr((char_u *)"!&<", *arg) != NULL)
+ errmsg = e_no_white_space_allowed_between_option_and;
+ else
+ errmsg = N_("E518: Unknown option");
goto skip;
}