summaryrefslogtreecommitdiff
path: root/src/regexp_bt.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-04-05 14:00:32 +0100
committerBram Moolenaar <Bram@vim.org>2022-04-05 14:00:32 +0100
commit72bb10df1fb3eb69bc91f5babfb8881ce098cba1 (patch)
treee2f392f6e2c6567e6686027b70021ed6a862d723 /src/regexp_bt.c
parent0f68e6c07aaf62c034a242f183b93c1bb44e7f93 (diff)
downloadvim-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.c5
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)
{