This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fortran/5558: Error in POT file


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]