updated for version 7.3.1093
Problem: New regexp engine: When a sub expression is empty \1 skips a
character.
Solution: Make \1 try the current position when the match is emtpy.
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 11aca9c..8abdbb5 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -4435,11 +4435,10 @@
{
if (bytelen == 0)
{
- /* empty match always works, add NFA_SKIP with zero to
- * be used next */
- addstate_here(thislist, t->state->out, &t->subs,
+ /* empty match always works, output of NFA_SKIP to be
+ * used next */
+ addstate_here(thislist, t->state->out->out, &t->subs,
&listidx);
- thislist->t[listidx + 1].count = 0;
}
else if (bytelen <= clen)
{