I'm having trouble building CVS Bison using GNU gettext 0.15, which was released recently. One issue is that gettext 0.15 rejects the French translation of Bison:
http://www.iro.umontreal.ca/translation/teams/PO/fr/bison-runtime-2.3.fr.po
with a fatal diagnostic, as follows:
rm -f fr.gmo && msgfmt -c --statistics -o fr.gmo fr.po fr.po:79: number of format specifications in 'msgid' and 'msgstr[1]' does not match msgfmt: found 1 fatal error
Here's the offending entry:
#: src/conflicts.c:520 #, c-format msgid "expected %d reduce/reduce conflict" msgid_plural "expected %d reduce/reduce conflicts" msgstr[0] "attendait 0 conflit par réduction/réduction" msgstr[1] "attendait 0 conflits par réduction/réduction"
Could you please fix this, and send email to bug-bison@gnu.org when it's fixed? I'm afraid we'll have to temporarily disable the use of the French translation in the meantime, so that CVS builds work.
I'm CC'ing this to bug-gnu-gettext, because it seems to me that the translations are not strictly an error from a printf point of view (ignoring any issue of the correctness of the French), since printf allows formats that do not consume all the arguments. For example, http://www.opengroup.org/onlinepubs/009695399/functions/fprintf.html says "If the format is exhausted while arguments remain, the excess arguments shall be evaluated but are otherwise ignored."; this is longstanding practice. So it may make sense to warn about this particular usage, but a fatal error is a bit strong.
Afficher les réponses par date
Hi Paul
(You already received the following message)
It is now corrected (I was using the previous version of gettext).. The files have been send out.
Cheers Best regards Michel
Paul Eggert wrote:
I'm having trouble building CVS Bison using GNU gettext 0.15, which was released recently. One issue is that gettext 0.15 rejects the French translation of Bison:
http://www.iro.umontreal.ca/translation/teams/PO/fr/bison-runtime-2.3.fr.po
with a fatal diagnostic, as follows:
rm -f fr.gmo && msgfmt -c --statistics -o fr.gmo fr.po fr.po:79: number of format specifications in 'msgid' and 'msgstr[1]' does not match msgfmt: found 1 fatal error
Here's the offending entry:
#: src/conflicts.c:520 #, c-format msgid "expected %d reduce/reduce conflict" msgid_plural "expected %d reduce/reduce conflicts" msgstr[0] "attendait 0 conflit par réduction/réduction" msgstr[1] "attendait 0 conflits par réduction/réduction"
Could you please fix this, and send email to bug-bison@gnu.org when it's fixed? I'm afraid we'll have to temporarily disable the use of the French translation in the meantime, so that CVS builds work.
I'm CC'ing this to bug-gnu-gettext, because it seems to me that the translations are not strictly an error from a printf point of view (ignoring any issue of the correctness of the French), since printf allows formats that do not consume all the arguments. For example, http://www.opengroup.org/onlinepubs/009695399/functions/fprintf.html says "If the format is exhausted while arguments remain, the excess arguments shall be evaluated but are otherwise ignored."; this is longstanding practice. So it may make sense to warn about this particular usage, but a fatal error is a bit strong.