comparison src/regexp_nfa.c @ 34671:df52075b12cd v9.1.0217

patch 9.1.0217: regexp: verymagic cannot match before/after a mark Commit: https://github.com/vim/vim/commit/46fa3c7e271eb2abb05a0d9e6dbc9c36c2b2da02 Author: Julio B <julio.bacel@gmail.com> Date: Thu Mar 28 10:23:37 2024 +0100 patch 9.1.0217: regexp: verymagic cannot match before/after a mark Problem: regexp: verymagic cannot match before/after a mark Solution: Correctly check for the very magic check (Julio B) Fix regexp parser for \v%>'m and \v%<'m Currently \v%'m works fine, but it is unable to match before or after the position of mark m. closes: #14309 Signed-off-by: Julio B <julio.bacel@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Mar 2024 10:30:04 +0100
parents 90063f44c99a
children e5d2d9024ad6
comparison
equal deleted inserted replaced
34670:879a61a9aa07 34671:df52075b12cd
1731 return FAIL; 1731 return FAIL;
1732 } 1732 }
1733 EMIT((int)n); 1733 EMIT((int)n);
1734 break; 1734 break;
1735 } 1735 }
1736 else if (c == '\'' && n == 0) 1736 else if (no_Magic(c) == '\'' && n == 0)
1737 { 1737 {
1738 // \%'m \%<'m \%>'m 1738 // \%'m \%<'m \%>'m
1739 EMIT(cmp == '<' ? NFA_MARK_LT : 1739 EMIT(cmp == '<' ? NFA_MARK_LT :
1740 cmp == '>' ? NFA_MARK_GT : NFA_MARK); 1740 cmp == '>' ? NFA_MARK_GT : NFA_MARK);
1741 EMIT(getchr()); 1741 EMIT(getchr());