Re: [RFC/PATCH 7/9] parse-options.h: add macros for '--contains' option
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:05:12
Karthik Nayak [off-list ref] writes:
+#define OPT_CONTAINS(filter, h) \
+ { OPTION_CALLBACK, 0, "contains", (filter), N_("commit"), (h), \
+ PARSE_OPT_LASTARG_DEFAULT, \
+ parse_opt_with_commit, (intptr_t) "HEAD" \
+ }
+#define OPT_WITH(filter, h) \
+ { OPTION_CALLBACK, 0, "with", (filter), N_("commit"), (h), \
+ PARSE_OPT_LASTARG_DEFAULT, \
+ parse_opt_with_commit, (intptr_t) "HEAD" \
+ }
The redundancy bothers me. Can't we do a bit better than that,
perhaps like this?
#define _OPT_CONTAINS_OR_WITH(name, variable, help) \
{ OPTION_CALLBACK, 0, name, (variable), N_("commit"), (help), \
PARSE_OPT_LASTARG_DEFAULT, \
parse_opt_with_commit, (intptr_t) "HEAD" \
}
#define OPT_CONTAINS(v, h) _OPT_CONTAINS_OR_WITH("contains", v, h)