Hamza Mahfooz <someguy@xxxxxxxxxxxxxxxxxxx> writes: > These changes are made in preparation of, the colorization support for the > "git log" subcommands that, rely on regex functionality (i.e. "--author", > "--committer" and "--grep"). These changes are necessary primarily because > match_one_pattern() expects header lines to be prefixed, however, in > pretty, the prefixes are stripped from the lines because the name-email > pairs need to go through additional parsing, before they can be printed and > because next_match() doesn't handle the case of > "ctx == GREP_CONTEXT_HEAD" at all. So, teach next_match() how to handle the > new case and move match_one_pattern()'s core logic to > headerless_match_one_pattern() while preserving match_one_pattern()'s uses > that depend on the additional processing. > > Signed-off-by: Hamza Mahfooz <someguy@xxxxxxxxxxxxxxxxxxx> > --- > v5: separate grep changes from pretty changes. > > v6: rescope some variables. > > v7: export header_field[] and allow for subsequent matches on header lines > in match_one_pattern(). > > v8: add headerless_match_one_pattern() and move header_field[] back. > > v9: get rid of the new check in headerless_match_one_pattern(), move the > header pattern filtering logic in grep_next_match() and document > grep_next_match() in grep.h. > > v10: add a "magic" comment in grep_next_match() to signify a fall through > in the switch statement. Makes readers curious what happend in v11 and later...