diff options
author | ZyX <kp-pav@yandex.ru> | 2017-12-03 16:19:40 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2017-12-03 16:19:40 +0300 |
commit | 7af8601db4bba355753241c2326b80410b187350 (patch) | |
tree | af56b809a3a24be5b1d5d0de12ee23dc0bc1f2b8 /src/nvim/ex_docmd.c | |
parent | 62993323494d846190590606d37aff1136421671 (diff) | |
parent | 27a577586eace687c47e7398845178208cae524a (diff) | |
download | rneovim-7af8601db4bba355753241c2326b80410b187350.tar.gz rneovim-7af8601db4bba355753241c2326b80410b187350.tar.bz2 rneovim-7af8601db4bba355753241c2326b80410b187350.zip |
Merge branch 'master' into expression-parser
Hoping that could fix the LSAN issue: no idea what it is talking about.
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r-- | src/nvim/ex_docmd.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 3202f8a848..f6a5f59676 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -3484,10 +3484,17 @@ char_u *skip_range( { unsigned delim; - while (vim_strchr((char_u *)" \t0123456789.$%'/?-+,;", *cmd) != NULL) { - if (*cmd == '\'') { - if (*++cmd == NUL && ctx != NULL) + while (vim_strchr((char_u *)" \t0123456789.$%'/?-+,;\\", *cmd) != NULL) { + if (*cmd == '\\') { + if (cmd[1] == '?' || cmd[1] == '/' || cmd[1] == '&') { + cmd++; + } else { + break; + } + } else if (*cmd == '\'') { + if (*++cmd == NUL && ctx != NULL) { *ctx = EXPAND_NOTHING; + } } else if (*cmd == '/' || *cmd == '?') { delim = *cmd++; while (*cmd != NUL && *cmd != delim) |