After a single backslash is added as an item in a comma-separation option, the 
items
after the backslash can't be removed without removing the backslash first.

For example:

set iskeyword+=\\,!
--> iskeyword=@,48-57,_,192-255,\,!
set iskeyword-=!
--> iskeyword=@,48-57,_,192-255,\,!
set iskeyword-=\\
--> iskeyword=@,48-57,_,192-255,!
set iskeyword-=!
--> iskeyword=@,48-57,_,192-255

This also happens for &cinkeys, &dictionary, etc. The change below fixes the
problem and didn't cause any obvious new problems.

-Jacob Niehus

diff --git a/src/option.c b/src/option.c
index c7ef6ee..743e070 100644
--- a/src/option.c
+++ b/src/option.c
@@ -4839,9 +4839,14 @@ 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;

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui