From: Junio C Hamano Date: Thu, 15 Sep 2016 20:01:19 GMT Subject: Re: [PATCH] use strbuf_addstr() for adding constant strings to a strbuf, part 2 Message-ID: In-Reply-To: <79f6cfb5-3b9b-2ae7-d9a3-5c1c65c7d4cf@web.de> René Scharfe writes: > Take this for example: > > - strbuf_addf(&o->obuf, _("(bad commit)\n")); > + strbuf_addstr(&o->obuf, _("(bad commit)\n")); > > If there's a language that uses percent signs instead of parens or as > regular letters, then they need to be escaped in the translated string > before, but not after the patch. As I wrote: silly. Ahh, OK, so "This use of addf only has format part and nothing else, hence the format part can be taken as-is" which is the Coccinelle rule used to produce this patch is incomplete and always needs manual inspection, in case the format part wanted to give a literal % in the output. E.g. it is a bug to convert this strbuf_addf(&buf, _("this is 100%% wrong!")); to strbuf_addstr(&buf, _("this is 100%% wrong!")); Thanks for clarification. Perhaps the strbuf.cocci rule file can have some comment to warn the person who builds *.patch file to look for % in E2, or something?