diff options
Diffstat (limited to 'src/option.c')
-rw-r--r-- | src/option.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/option.c b/src/option.c index c7ef6ee3c..aca0f315f 100644 --- a/src/option.c +++ b/src/option.c @@ -4839,9 +4839,15 @@ do_set(arg, opt_flags) || s[i] == NUL)) break; /* Count backslashes. Only a comma with an - * even number of backslashes before it is - * recognized as a separator */ - if (s > origval && s[-1] == '\\') + * even number of backslashes or a single + * backslash preceded by a comma before it + * is recognized as a separator */ + if ((s > origval + 1 + && s[-1] == '\\' + && s[-2] != ',') + || (s == origval + 1 + && s[-1] == '\\')) + ++bs; else bs = 0; |