msgfmt: Report error on accelerator mismatch

* msgl-check.c (check_pair): Increment error count on missing
accelerator character or too many accelerators.
This commit is contained in:
Daiki Ueno 2014-05-14 16:44:31 +09:00
parent 5223d52de8
commit 58235d1efa
5 changed files with 50 additions and 1 deletions

View 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

View 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++;
}
}
}

View 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.

View 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 \

35
gettext-tools/tests/msgfmt-18 Executable file
View File

@ -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; }