Subject: Re: [PATCH] status: disable translation when --porcelain is used

From: Matthieu Moy <[email-masked]>
Date: Fri, 21 Mar 2014 09:29:53 +0100

Junio C Hamano <[email-masked]> writes:

>> diff --git a/wt-status.c b/wt-status.c
>> index a452407..e55e5b9 100644
>> --- a/wt-status.c
>> +++ b/wt-status.c
>> @@ -1509,19 +1509,23 @@ static void wt_shortstatus_print_tracking(struct wt_status *s)
>>  		return;
>>  	}
>>  
>> +	const char *gone   = s->no_gettext ? "gone"   : _("gone");
>> +	const char *behind = s->no_gettext ? "behind " : _("behind ");
>> +	const char *ahead  = s->no_gettext ? "ahead "  : _("ahead ");
>
> Having to repeat the same string constant twice (and a half for the
> variable name) each is an eyesore.  I wonder if we can do better,
> perhaps with:
>
> #define LABEL(string) (s->no_gettext ? (string) : _(string))
>
> and then
>
> 	color_fprintf(s->fp, header_color, LABEL(N_("gone")));
>
> or something along those lines?

I first thought about trying something clever with the preprocessor, but
since it's only for 3 strings, I went the KISS way. I tend to prefer my
version for simplicity, but no strong opinion here.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/