diff options
Diffstat (limited to 'src/nvim/regexp_nfa.c')
| -rw-r--r-- | src/nvim/regexp_nfa.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/src/nvim/regexp_nfa.c b/src/nvim/regexp_nfa.c index a4e7f1df13..8781e06649 100644 --- a/src/nvim/regexp_nfa.c +++ b/src/nvim/regexp_nfa.c @@ -3877,8 +3877,10 @@ addstate (      if (state->lastlist[nfa_ll_index] == l->id && state->c != NFA_SKIP) {        /* This state is already in the list, don't add it again,         * unless it is an MOPEN that is used for a backreference or -       * when there is a PIM. */ -      if (!nfa_has_backref && pim == NULL && !l->has_pim) { +       * when there is a PIM. For NFA_MATCH check the position, +       * lower position is preferred. */ +      if (!nfa_has_backref && pim == NULL && !l->has_pim +          && state->c != NFA_MATCH) {  skip_add:  #ifdef REGEXP_DEBUG          nfa_set_code(state->c); | 
