From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13842 invoked by alias); 21 Jun 2002 08:26:04 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 13820 invoked by uid 71); 21 Jun 2002 08:26:03 -0000 Date: Fri, 21 Jun 2002 01:36:00 -0000 Message-ID: <20020621082603.13819.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: martin@v.loewis.de (Martin v. Loewis) Subject: Re: c++/7084: locale dependant ICE Reply-To: martin@v.loewis.de (Martin v. Loewis) X-SW-Source: 2002-06/txt/msg00516.txt.bz2 List-Id: The following reply was made to PR c++/7084; it has been noted by GNATS. From: martin@v.loewis.de (Martin v. Loewis) To: Zack Weinberg Cc: fasbjx@free.fr, gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org, debian-gcc@lists.debian.org, robitail@IRO.UMontreal.CA Subject: Re: c++/7084: locale dependant ICE Date: 21 Jun 2002 10:19:46 +0200 I'm forwarding this to the French translator, Michel Robitaille. Michel, can you please correct these errors and submit a new catalog? > This would be a bug in fr.po: >=20 > | #: cp/call.c:2834 > | msgid "%s for `%T %s' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%T %s=C2=BB" > | > | #: cp/call.c:2837 > | msgid "%s for `%T [%T]' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%T [%T]=C2=BB" > | > | #: cp/call.c:2842 > | msgid "%s for `%T %s %T' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%t [%T]=C2=BB" > | > | #: cp/call.c:2845 > | msgid "%s for `%s %T' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%t [%T]=C2=BB" >=20 > You will notice that the translations do not match the messages, and > that the escape sequences are wrong: in particular, a %t has > appeared. This is not a defined %-escape, so we abort in the middle > of generating the error message, which triggers the "r=C2=8E=C3=A9-ent=C2= =8E=C3=A9e" message. >=20 > Correct entries, presumably, would read >=20 > | #: cp/call.c:2834 > | msgid "%s for `%T %s' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%T %s=C2=BB" > | > | #: cp/call.c:2837 > | msgid "%s for `%T [%T]' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%T [%T]=C2=BB" > | > | #: cp/call.c:2842 > | msgid "%s for `%T %s %T' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%T %s %T=C2=BB" > | > | #: cp/call.c:2845 > | msgid "%s for `%s %T' operator" > | msgstr "%s pour l'op=C3=A9rateur =C2=AB%s %T=C2=BB" >=20 > I am not sure what the protocol is for fixing such bugs. The > corrections need to make it back to the translation project somehow, > and the .po files need to be audited for other occurrences of this > problem (why didn't msgfmt bitch?) Because the messages are not marked c-format, and use format specifiers that are not supported in C. I think the only option is to implement a custom checker, as a post processor. Regards, Martin