René Scharfe [off-list ref] writes:
quoted
Not quite, as an opt with long name is reported with the long name
only, which is not very nice when the problem we are reporting is
about its short variant.
Perhaps something like the patch below helps, here and in general?
Excellent. Not just this particular case, but we would show both
when both are available.
Thanks; will reroll.
quoted hunk
parse-options.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/parse-options.c b/parse-options.c
index b7925c5..f1c0b5d 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -14,8 +14,12 @@ static int parse_options_usage(struct parse_opt_ctx_t *ctx,
int optbug(const struct option *opt, const char *reason)
{
- if (opt->long_name)
+ if (opt->long_name) {
+ if (opt->short_name)
+ return error("BUG: switch '%c' (--%s) %s",
+ opt->short_name, opt->long_name, reason);
return error("BUG: option '%s' %s", opt->long_name, reason);
+ }
return error("BUG: switch '%c' %s", opt->short_name, reason);
}