Hi! On Thu, 29 Dec 2016 16:15:01 +0100, Jakub Jelinek <ja...@redhat.com> wrote: > PR translation/78745 > * exgettext: Handle multi-line help texts in *.opt files.
With this committed in r243981, I noticed the following new snippet in gcc/po/gcc.pot: +#: config/nvptx/nvptx.c:1132 +msgid "tid.y;" +msgstr "" gcc/config/nvptx/nvptx.c: 1126 #define ENTRY_TEMPLATE(PS, PS_BYTES, MAD_PS_32) "\ 1127 (.param.u" PS " %arg, .param.u" PS " %stack, .param.u" PS " %sz)\n\ 1128 {\n\ 1129 .reg.u32 %r<3>;\n\ 1130 .reg.u" PS " %R<4>;\n\ 1131 mov.u32 %r0, %tid.y;\n\ 1132 mov.u32 %r1, %ntid.y;\n\ 1133 mov.u32 %r2, %ctaid.x;\n\ [...] As I understand it, this is because of the special handling to collect "all %e and %n strings from driver specs, so those can be translated too" (function spec_error_string). Probably harmless enough to just ignore it? Grüße Thomas > --- gcc/po/exgettext.jj 2016-01-04 14:55:54.000000000 +0100 > +++ gcc/po/exgettext 2016-12-28 19:18:08.142715830 +0100 > @@ -237,6 +237,8 @@ echo "scanning option files..." >&2 > field = 0 > while (getline < file) { > if (/^[ \t]*(;|$)/ || !/^[^ \t]/) { > + if (field > 2) > + printf("_(\"%s\")\n", line) > field = 0 > } else { > if ((field == 1) && /MissingArgError/) { > @@ -275,12 +277,15 @@ echo "scanning option files..." >&2 > if (field == 2) { > line = $0 > printf("#line %d \"%s\"\n", lineno, file) > - printf("_(\"%s\")\n", line) > + } else if (field > 2) { > + line = line " " $0 > } > field++; > } > lineno++; > } > + if (field > 2) > + printf("_(\"%s\")\n", line) > }') >> $emsg > > # Run the xgettext commands, with temporary added as a file to scan. > > Jakub