mirror of
https://github.com/neovim/neovim.git
synced 2025-09-21 10:48:18 +00:00
vim-patch:7.4.1305 #5094
Problem: "\%1l^#.*" does not match on a line starting with "#".
Solution: Do not clear the start-of-line flag. (Christian Brabandt)
7c29f38781
Helped-by: jamessan
Helped-by: mhinz
This commit is contained in:

committed by
Justin M. Keyes

parent
23f591dba0
commit
6fe8c1d051
@@ -1096,6 +1096,7 @@ static int nfa_regatom(void)
|
||||
int startc = -1;
|
||||
int endc = -1;
|
||||
int oldstartc = -1;
|
||||
int save_prev_at_start = prev_at_start;
|
||||
|
||||
c = getchr();
|
||||
switch (c) {
|
||||
@@ -1412,18 +1413,22 @@ static int nfa_regatom(void)
|
||||
c = getchr();
|
||||
}
|
||||
if (c == 'l' || c == 'c' || c == 'v') {
|
||||
if (c == 'l')
|
||||
/* \%{n}l \%{n}<l \%{n}>l */
|
||||
if (c == 'l') {
|
||||
// \%{n}l \%{n}<l \%{n}>l
|
||||
EMIT(cmp == '<' ? NFA_LNUM_LT :
|
||||
cmp == '>' ? NFA_LNUM_GT : NFA_LNUM);
|
||||
else if (c == 'c')
|
||||
/* \%{n}c \%{n}<c \%{n}>c */
|
||||
cmp == '>' ? NFA_LNUM_GT : NFA_LNUM);
|
||||
if (save_prev_at_start) {
|
||||
at_start = true;
|
||||
}
|
||||
} else if (c == 'c') {
|
||||
// \%{n}c \%{n}<c \%{n}>c
|
||||
EMIT(cmp == '<' ? NFA_COL_LT :
|
||||
cmp == '>' ? NFA_COL_GT : NFA_COL);
|
||||
else
|
||||
/* \%{n}v \%{n}<v \%{n}>v */
|
||||
cmp == '>' ? NFA_COL_GT : NFA_COL);
|
||||
} else {
|
||||
// \%{n}v \%{n}<v \%{n}>v
|
||||
EMIT(cmp == '<' ? NFA_VCOL_LT :
|
||||
cmp == '>' ? NFA_VCOL_GT : NFA_VCOL);
|
||||
cmp == '>' ? NFA_VCOL_GT : NFA_VCOL);
|
||||
}
|
||||
EMIT(n);
|
||||
break;
|
||||
} else if (c == '\'' && n == 0) {
|
||||
|
Reference in New Issue
Block a user