+2001-11-17 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (TESTS); Add msgfmt-7, msgfmt-8, msgfmt-9, msgmerge-13.
+
+2001-11-12 Karl Eichwalder <ke@gnu.franken.de>
+
+ * msgfmt-7: New file.
+ * msgfmt-8: New file.
+ * msgfmt-9: New file.
+ * msgmerge-13: New file.
+
2001-11-11 Bruno Haible <haible@clisp.cons.org>
Avoid an implicit pattern rule ("%.out : %") in GNU make.
msgcomm-8 msgcomm-9 msgcomm-10 msgcomm-11 msgcomm-12 msgcomm-13 \
msgcomm-14 msgcomm-15 msgcomm-16 msgcomm-17 msgcomm-18 msgcomm-19 \
msgcomm-20 msgcomm-21 msgcomm-22 msgcomm-23 \
- msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 \
+ msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
+ msgfmt-8 msgfmt-9 \
msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \
msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
+ msgmerge-13 \
msgunfmt-1 \
msguniq-1 msguniq-2 msguniq-3 \
xgettext-1 xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
--- /dev/null
+#! /bin/sh
+
+# Check for duplicates with identical translations
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="mf-test7.in1"
+cat <<EOF > mf-test7.in1
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: msgfmt test 7\n"
+"PO-Revision-Date: 1996-04-05 19:47+0200\n"
+"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
+"Language-Team: test <test@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+#
+msgid "2" msgstr "2"
+msgid "3" msgstr "3"
+msgid "3" msgstr "3"
+EOF
+
+tmpfiles="$tmpfiles mf-test7.err"
+: ${MSGFMT=msgfmt}
+LC_MESSAGES=C LC_ALL= \
+${MSGFMT} --verbose --check mf-test7.in1 -o /dev/null \
+ 2> mf-test7.err
+
+tmpfiles="$tmpfiles mf-test7.ok"
+cat << EOF > mf-test7.ok
+mf-test7.in1:17: duplicate message definition
+mf-test7.in1:16: ...this is the location of the first definition
+msgfmt: found 1 fatal error
+EOF
+
+: ${DIFF=diff}
+${DIFF} mf-test7.ok mf-test7.err
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result
--- /dev/null
+#! /bin/sh
+
+# Check for duplicates with different translations
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="mf-test8.in1"
+cat <<EOF > mf-test8.in1
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: msgfmt test 8\n"
+"PO-Revision-Date: 1996-04-05 19:47+0200\n"
+"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
+"Language-Team: test <test@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+#
+msgid "2" msgstr "2"
+msgid "3" msgstr "3"
+msgid "3" msgstr "three ha ha"
+EOF
+
+tmpfiles="$tmpfiles mf-test8.err"
+: ${MSGFMT=msgfmt}
+LC_MESSAGES=C LC_ALL= \
+${MSGFMT} --verbose --check mf-test8.in1 -o /dev/null \
+ 2> mf-test8.err
+
+tmpfiles="$tmpfiles mf-test8.ok"
+cat << EOF > mf-test8.ok
+mf-test8.in1:17: duplicate message definition
+mf-test8.in1:16: ...this is the location of the first definition
+msgfmt: found 1 fatal error
+EOF
+
+: ${DIFF=diff}
+${DIFF} mf-test8.ok mf-test8.err
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result
--- /dev/null
+#! /bin/sh
+
+# Duplicates are also fatal in obsolete marked entries.
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="mf-test9.in1"
+cat <<EOF > mf-test9.in1
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: msgfmt test 9\n"
+"PO-Revision-Date: 1996-04-05 19:47+0200\n"
+"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
+"Language-Team: test <test@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8-bit\n"
+#
+msgid "2" msgstr "2"
+msgid "3" msgstr "3"
+#~ msgid
+#~ "2"
+#~ msgstr
+#~ "ha ha"
+EOF
+
+tmpfiles="$tmpfiles mf-test9.err"
+: ${MSGFMT=msgfmt}
+LC_MESSAGES=C LC_ALL= \
+${MSGFMT} --verbose --check mf-test9.in1 -o /dev/null \
+ 2> mf-test9.err
+
+tmpfiles="$tmpfiles mf-test9.ok"
+cat << EOF > mf-test9.ok
+mf-test9.in1:17: duplicate message definition
+mf-test9.in1:15: ...this is the location of the first definition
+msgfmt: found 1 fatal error
+EOF
+
+: ${DIFF=diff}
+${DIFF} mf-test9.ok mf-test9.err
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result
--- /dev/null
+#! /bin/sh
+
+# Duplicates are also fatal in obsolete marked entries (cf. msgmerge-3).
+
+tmpfiles=""
+trap 'rm -fr $tmpfiles' 1 2 3 15
+
+tmpfiles="mm-test13.in1 mm-test13.in2"
+cat <<EOF > mm-test13.in1
+msgid "2" msgstr "2"
+msgid "3" msgstr "3"
+#~ msgid
+#~ "2"
+#~ msgstr
+#~ "ha ha"
+EOF
+
+cat <<EOF > mm-test13.in2
+msgid "1" msgstr ""
+msgid "2" msgstr ""
+msgid "3" msgstr ""
+EOF
+
+tmpfiles="$tmpfiles mm-test13.err"
+: ${MSGMERGE=msgmerge}
+LC_MESSAGES=C LC_ALL= \
+${MSGMERGE} -q mm-test13.in1 mm-test13.in2 -o /dev/null \
+ 2> mm-test13.err
+
+tmpfiles="$tmpfiles mm-test13.ok"
+cat << EOF > mm-test13.ok
+mm-test13.in1:3: duplicate message definition
+mm-test13.in1:1: ...this is the location of the first definition
+msgmerge: found 1 fatal error
+EOF
+
+: ${DIFF=diff}
+${DIFF} mm-test13.ok mm-test13.err
+result=$?
+
+rm -fr $tmpfiles
+
+exit $result