From: Daiki Ueno Date: Wed, 14 May 2014 07:44:31 +0000 (+0900) Subject: msgfmt: Report error on accelerator mismatch X-Git-Tag: v0.19~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=58235d1efa44fe27dea487969031fac33674793e;p=thirdparty%2Fgettext.git msgfmt: Report error on accelerator mismatch * msgl-check.c (check_pair): Increment error count on missing accelerator character or too many accelerators. --- diff --git a/gettext-tools/src/ChangeLog b/gettext-tools/src/ChangeLog index 0a3a8a5f6..039d76435 100644 --- a/gettext-tools/src/ChangeLog +++ b/gettext-tools/src/ChangeLog @@ -1,3 +1,9 @@ +2014-05-14 Daiki Ueno + + msgfmt: Report error on accelerator mismatch + * msgl-check.c (check_pair): Increment error count on missing + accelerator character or too many accelerators. + 2014-05-13 Daiki Ueno msgfmt: Accumulate errors when parsing the PO header diff --git a/gettext-tools/src/msgl-check.c b/gettext-tools/src/msgl-check.c index 8f1ddd0dc..ee68ae4da 100644 --- a/gettext-tools/src/msgl-check.c +++ b/gettext-tools/src/msgl-check.c @@ -732,6 +732,7 @@ plural handling is a GNU gettext extension")); mp, msgid_pos->file_name, msgid_pos->line_number, (size_t)(-1), false, msg); free (msg); + seen_errors++; } else if (count > 1) { @@ -742,6 +743,7 @@ plural handling is a GNU gettext extension")); mp, msgid_pos->file_name, msgid_pos->line_number, (size_t)(-1), false, msg); free (msg); + seen_errors++; } } } diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog index ef182b2b3..79524ac91 100644 --- a/gettext-tools/tests/ChangeLog +++ b/gettext-tools/tests/ChangeLog @@ -1,3 +1,9 @@ +2014-05-14 Daiki Ueno + + msgfmt: Report error on accelerator mismatch + * msgfmt-18: New test. + * Makefile.am (TESTS): Add new test. + 2014-05-13 Daiki Ueno * msgfmt-10: Increment expected error count. diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am index 299fe98ed..2dcf43946 100644 --- a/gettext-tools/tests/Makefile.am +++ b/gettext-tools/tests/Makefile.am @@ -45,7 +45,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \ msgfilter-sr-latin-1 msgfilter-quote-1 \ msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \ msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \ - msgfmt-15 msgfmt-16 msgfmt-17 \ + msgfmt-15 msgfmt-16 msgfmt-17 msgfmt-18 \ msgfmt-properties-1 \ msgfmt-qt-1 msgfmt-qt-2 \ msgfmt-desktop-1 msgfmt-desktop-2 \ diff --git a/gettext-tools/tests/msgfmt-18 b/gettext-tools/tests/msgfmt-18 new file mode 100755 index 000000000..3136ce807 --- /dev/null +++ b/gettext-tools/tests/msgfmt-18 @@ -0,0 +1,35 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test accelerators. + +cat <<\EOF > mf-18.po +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: GNU bison\n" +"PO-Revision-Date: 2001-04-05 19:47+0200\n" +"Last-Translator: ABC DEF \n" +"Language-Team: test \n" +"Language: test\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Open &File" +msgstr "Open File" + +msgid "Show _Help" +msgstr "Show Help" +EOF + +: ${MSGFMT=msgfmt} +${MSGFMT} --check-accelerators -o /dev/null mf-18.po 2>/dev/null +test $? = 1 || { exit 1; } + +: ${MSGFMT=msgfmt} +${MSGFMT} --check-accelerators='_' -o /dev/null mf-18.po 2>/dev/null +test $? = 1 || { exit 1; }