0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 7.4.1305

Problem:    "\%1l^#.*" does not match on a line starting with "#".
Solution:   Do not clear the start-of-line flag. (Christian Brabandt)
This commit is contained in:
Bram Moolenaar
2016-02-12 19:08:15 +01:00
parent 7823a3bd2e
commit 7c29f38781
5 changed files with 22 additions and 4 deletions

View File

@@ -1500,6 +1500,10 @@ vim_regcomp_had_eol(void)
}
#endif
/* variables for parsing reginput */
static int at_start; /* True when on the first character */
static int prev_at_start; /* True when on the second character */
/*
* Parse regular expression, i.e. main body or parenthesized thing.
*
@@ -1918,6 +1922,7 @@ regatom(int *flagp)
int c;
char_u *p;
int extra = 0;
int save_prev_at_start = prev_at_start;
*flagp = WORST; /* Tentatively. */
@@ -2331,7 +2336,11 @@ regatom(int *flagp)
else if (c == 'l' || c == 'c' || c == 'v')
{
if (c == 'l')
{
ret = regnode(RE_LNUM);
if (save_prev_at_start)
at_start = TRUE;
}
else if (c == 'c')
ret = regnode(RE_COL);
else
@@ -2946,10 +2955,6 @@ regoptail(char_u *p, char_u *val)
/*
* Functions for getting characters from the regexp input.
*/
static int at_start; /* True when on the first character */
static int prev_at_start; /* True when on the second character */
/*
* Start parsing at "str".
*/