This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: fortran/5558: Error in POT file
- From: Zack Weinberg <zack at codesourcery dot com>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 31 Jan 2002 23:56:01 -0000
- Subject: Re: fortran/5558: Error in POT file
- Reply-to: Zack Weinberg <zack at codesourcery dot com>
The following reply was made to PR fortran/5558; it has been noted by GNATS.
From: Zack Weinberg <zack@codesourcery.com>
To: martin@v.loewis.de
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: fortran/5558: Error in POT file
Date: Thu, 31 Jan 2002 15:50:45 -0800
On Thu, Jan 31, 2002 at 09:02:40PM -0000, martin@v.loewis.de wrote:
> There are atleast two messages in the gcc catalog which are marked
> as c-format, but are not intended to be used with printf. As a
> result, msgfmt rejects the French translation. The specific examples
> are
>
> #: f/lex.c:427
> #, c-format
> msgid "Hex escape at %0 out of range"
> msgstr "échappement hexadécimal à %0 hors gamme"
>
> #: f/lex.c:460
> #, fuzzy, c-format
> msgid "Escape sequence at %0 out of range for character"
> msgstr "séquence d'échappement hors gamme pour le type caractère"
You are mistaken. Those %0's most definitely are substitution
escapes. They are not the same as printf substitutions, but they are
substitutions nonetheless.
Having said that, I can see the problem - it thinks the escape is
"%0 o" instead of just "%0". Your fix is to remove the "#, c-format"
annotation.
The second translation needs to have "%0" in it somewhere analogous to
where it appears in the English, or the error messages will not make
sense in context.
I am attempting to get a more flexible mechanism for format-string
handling put into gettext, but Bruno so far refuses to even consider
it. (Thank you for bringing this case to my attention, it illustrates
a situation where both the existing choices are wrong.)
zw