Instead of using the hand-rolled initialization sequence, use grep_init() to populate the necessary bits. This opens the door to allow the calling commands to optionally read grep.* configuration variables via git_config() if they want to. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- grep.c | 5 +++++ revision.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/grep.c b/grep.c index 279a559..a947a68 100644 --- a/grep.c +++ b/grep.c @@ -16,6 +16,11 @@ static struct grep_opt grep_defaults; void init_grep_defaults(void) { struct grep_opt *opt = &grep_defaults; + static int run_once; + + if (run_once) + return; + run_once++; memset(opt, 0, sizeof(*opt)); opt->relative = 1; diff --git a/revision.c b/revision.c index a09e60b..a4a9314 100644 --- a/revision.c +++ b/revision.c @@ -1048,9 +1048,9 @@ void init_revisions(struct rev_info *revs, const char *prefix) revs->commit_format = CMIT_FMT_DEFAULT; + init_grep_defaults(); + grep_init(&revs->grep_filter, prefix); revs->grep_filter.status_only = 1; - revs->grep_filter.pattern_tail = &(revs->grep_filter.pattern_list); - revs->grep_filter.header_tail = &(revs->grep_filter.header_list); revs->grep_filter.regflags = REG_NEWLINE; diff_setup(&revs->diffopt); @@ -1893,6 +1893,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s revs->diffopt.abbrev = revs->abbrev; diff_setup_done(&revs->diffopt); + grep_commit_pattern_type(GREP_PATTERN_TYPE_UNSPECIFIED, + &revs->grep_filter); compile_grep_patterns(&revs->grep_filter); if (revs->reverse && revs->reflog_info) -- 1.8.0.rc1.76.g5a375e6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html