On Wed, Jan 11, 2017 at 06:37:25AM -0500, Jeff King wrote: > > To find a good example, "git grep die" giving me some food of though: > > > > die_errno(..) should always take a string marked up for translation, > > because the errno string is translated? > > Yes, I would think die_errno() is a no-brainer for translation, since > the strerror() will be translated. I agree. And the main (*) changes are relative simple too. I've tested it a bit. Seems to work ok. -- 8< -- diff --git a/Makefile b/Makefile index d861bd9985..6f88c6cac5 100644 --- a/Makefile +++ b/Makefile @@ -2102,7 +2102,7 @@ XGETTEXT_FLAGS = \ --msgid-bugs-address="Git Mailing List <git@xxxxxxxxxxxxxxx>" \ --from-code=UTF-8 XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \ - --keyword=_ --keyword=N_ --keyword="Q_:1,2" + --keyword=_ --keyword=N_ --keyword="Q_:1,2" --keyword=die_errno XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \ --keyword=gettextln --keyword=eval_gettextln XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --language=Perl \ diff --git a/usage.c b/usage.c index 17f52c1b5c..c022726f9c 100644 --- a/usage.c +++ b/usage.c @@ -159,7 +159,7 @@ void NORETURN die_errno(const char *fmt, ...) } va_start(params, fmt); - die_routine(fmt_with_err(buf, sizeof(buf), fmt), params); + die_routine(fmt_with_err(buf, sizeof(buf), _(fmt)), params); va_end(params); } -- 8< -- (*) We would need another patch to remove _() from die_errno(_(..)). But that's something I expect coccinelle to be excel at. -- Duy