René Scharfe <l.s.r@xxxxxx> 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?