зеркало из https://github.com/microsoft/git.git
color-words: enable REG_NEWLINE to help user
We silently truncate a match at the newline, which may lead to unexpected behaviour, e.g., when matching "<[^>]*>" against <foo bar> since then "<foo" becomes a word (and "bar>" doesn't!) even though the regex said only angle-bracket-delimited things can be words. To alleviate the problem slightly, use REG_NEWLINE so that negated classes can't match a newline. Of course newlines can still be matched explicitly. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
2b6a5417d7
Коммит
bf82940dbf
3
diff.c
3
diff.c
|
@ -1544,7 +1544,8 @@ static void builtin_diff(const char *name_a,
|
|||
ecbdata.diff_words->word_regex = (regex_t *)
|
||||
xmalloc(sizeof(regex_t));
|
||||
if (regcomp(ecbdata.diff_words->word_regex,
|
||||
o->word_regex, REG_EXTENDED))
|
||||
o->word_regex,
|
||||
REG_EXTENDED | REG_NEWLINE))
|
||||
die ("Invalid regular expression: %s",
|
||||
o->word_regex);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче