diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-04-05 14:00:32 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-04-05 14:00:32 +0100 |
commit | 72bb10df1fb3eb69bc91f5babfb8881ce098cba1 (patch) | |
tree | e2f392f6e2c6567e6686027b70021ed6a862d723 /src/regexp_bt.c | |
parent | 0f68e6c07aaf62c034a242f183b93c1bb44e7f93 (diff) | |
download | vim-git-72bb10df1fb3eb69bc91f5babfb8881ce098cba1.tar.gz |
patch 8.2.4693: new regexp does not accept pattern "\%>0v"v8.2.4693
Problem: new regexp does not accept pattern "\%>0v".
Solution: Do accept digit zero.
Diffstat (limited to 'src/regexp_bt.c')
-rw-r--r-- | src/regexp_bt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/regexp_bt.c b/src/regexp_bt.c index 0b3487fa0..18bad8054 100644 --- a/src/regexp_bt.c +++ b/src/regexp_bt.c @@ -1617,6 +1617,7 @@ regatom(int *flagp) long_u n = 0; int cmp; int cur = FALSE; + int got_digit = FALSE; cmp = c; if (cmp == '<' || cmp == '>') @@ -1628,6 +1629,7 @@ regatom(int *flagp) } while (VIM_ISDIGIT(c)) { + got_digit = TRUE; n = n * 10 + (c - '0'); c = getchr(); } @@ -1645,7 +1647,8 @@ regatom(int *flagp) } break; } - else if (c == 'l' || c == 'c' || c == 'v') + else if ((c == 'l' || c == 'c' || c == 'v') + && (cur || got_digit)) { if (cur && n) { |