summaryrefslogtreecommitdiffstats
path: root/src/ex_docmd.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-02-03 21:19:04 +0100
committerBram Moolenaar <Bram@vim.org>2017-02-03 21:19:04 +0100
commitcbf20fbcd3e9bb006f694bcc35da859930fb12a2 (patch)
tree93a6095bdf34946dcb6a39587d27c48a0f61021e /src/ex_docmd.c
parent03ff9bcbc968f7d306e4a4e334e226fdde62ca82 (diff)
patch 8.0.0298: Ex command range with repeated search does not workv8.0.0298
Problem: Ex command range with repeated search does not work. (Bruce DeVisser) Solution: Skip over \/, \? and \&.
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r--src/ex_docmd.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index f93c766513..3ee7056c12 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4357,9 +4357,16 @@ skip_range(
{
unsigned delim;
- while (vim_strchr((char_u *)" \t0123456789.$%'/?-+,;", *cmd) != NULL)
+ while (vim_strchr((char_u *)" \t0123456789.$%'/?-+,;\\", *cmd) != NULL)
{
- if (*cmd == '\'')
+ if (*cmd == '\\')
+ {
+ if (cmd[1] == '?' || cmd[1] == '/' || cmd[1] == '&')
+ ++cmd;
+ else
+ break;
+ }
+ else if (*cmd == '\'')
{
if (*++cmd == NUL && ctx != NULL)
*ctx = EXPAND_NOTHING;