]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
msgfmt: Report error on accelerator mismatch
authorDaiki Ueno <ueno@gnu.org>
Wed, 14 May 2014 07:44:31 +0000 (16:44 +0900)
committerDaiki Ueno <ueno@gnu.org>
Wed, 14 May 2014 08:15:44 +0000 (17:15 +0900)
* msgl-check.c (check_pair): Increment error count on missing
accelerator character or too many accelerators.

gettext-tools/src/ChangeLog
gettext-tools/src/msgl-check.c
gettext-tools/tests/ChangeLog
gettext-tools/tests/Makefile.am
gettext-tools/tests/msgfmt-18 [new file with mode: 0755]

index 0a3a8a5f6b178f14a52393847f4fe75ae7b9a74d..039d764356102141beb1d85b3f03d5fa1f780e7f 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-14  Daiki Ueno  <ueno@gnu.org>
+
+       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  <ueno@gnu.org>
 
        msgfmt: Accumulate errors when parsing the PO header
index 8f1ddd0dca0cc123aa9ad8e5fe84430401324d2d..ee68ae4da90475f4ba87161834473270c9ee8362 100644 (file)
@@ -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++;
             }
         }
     }
index ef182b2b38c3fdc91de3db2a79b5ffe3fea79904..79524ac91266c170b6fafc315e791d649711d474 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-14  Daiki Ueno  <ueno@gnu.org>
+
+       msgfmt: Report error on accelerator mismatch
+       * msgfmt-18: New test.
+       * Makefile.am (TESTS): Add new test.
+
 2014-05-13  Daiki Ueno  <ueno@gnu.org>
 
        * msgfmt-10: Increment expected error count.
index 299fe98ed4d31beb2d57f0b76db51922e7acc74a..2dcf4394611fd0b12d558e3b3ad8cc8581761a87 100644 (file)
@@ -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 (executable)
index 0000000..3136ce8
--- /dev/null
@@ -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 <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNU bison\n"
+"PO-Revision-Date: 2001-04-05 19:47+0200\n"
+"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
+"Language-Team: test <test@li.org>\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; }