+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
mp, msgid_pos->file_name, msgid_pos->line_number,
(size_t)(-1), false, msg);
free (msg);
+ seen_errors++;
}
else if (count > 1)
{
mp, msgid_pos->file_name, msgid_pos->line_number,
(size_t)(-1), false, msg);
free (msg);
+ seen_errors++;
}
}
}
+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.
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 \
--- /dev/null
+#! /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; }