1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- From 2336451ed68d91ff4b5ae1acbc1eca30e47a86a9 Mon Sep 17 00:00:00 2001
- From: Bruno Haible <bruno@clisp.org>
- Date: Sun, 19 May 2019 13:10:06 +0200
- Subject: [PATCH] msgmerge: Fix behaviour of --for-msgfmt on PO files with no
- translations.
- Reported by Don Lawrence <dlawrence@iecok.com>
- in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>
- via Daiki Ueno
- in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.
- * gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt
- is true.
- * gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.
- ---
- gettext-tools/src/msgmerge.c | 4 ++--
- gettext-tools/tests/msgmerge-26 | 36 +++++++++++++++++++++++++++++++++---
- 2 files changed, 35 insertions(+), 5 deletions(-)
- diff --git a/gettext-tools/src/msgmerge.c b/gettext-tools/src/msgmerge.c
- index cd762c0..92c9b7a 100644
- --- a/gettext-tools/src/msgmerge.c
- +++ b/gettext-tools/src/msgmerge.c
- @@ -520,8 +520,8 @@ There is NO WARRANTY, to the extent permitted by law.\n\
- else
- {
- /* Write the merged message list out. */
- - msgdomain_list_print (result, output_file, output_syntax, force_po,
- - false);
- + msgdomain_list_print (result, output_file, output_syntax,
- + for_msgfmt || force_po, false);
- }
-
- exit (EXIT_SUCCESS);
- diff --git a/gettext-tools/tests/msgmerge-26 b/gettext-tools/tests/msgmerge-26
- index cd3862e..b86f7a0 100755
- --- a/gettext-tools/tests/msgmerge-26
- +++ b/gettext-tools/tests/msgmerge-26
- @@ -73,7 +73,37 @@ msgstr "Papaya"
- EOF
-
- : ${DIFF=diff}
- -${DIFF} mm-test26.ok mm-test26.out
- -result=$?
- +${DIFF} mm-test26.ok mm-test26.out || Exit 1
-
- -exit $result
- +# Test with a PO file that has no translated messages.
- +
- +cat <<\EOF > mm-test26a.in1
- +msgid ""
- +msgstr ""
- +"Content-Type: text/plain; charset=UTF-8\n"
- +
- +msgid "Hello world"
- +msgstr "Hallo Welt"
- +EOF
- +
- +cat <<\EOF > mm-test26a.in2
- +msgid ""
- +msgstr ""
- +"Content-Type: text/plain; charset=ASCII\n"
- +
- +msgid "Hello, world!"
- +msgstr ""
- +EOF
- +
- +: ${MSGMERGE=msgmerge}
- +${MSGMERGE} --for-msgfmt -o mm-test26a.tmp mm-test26a.in1 mm-test26a.in2 \
- + || Exit 1
- +LC_ALL=C tr -d '\r' < mm-test26a.tmp > mm-test26a.out || Exit 1
- +
- +cat <<\EOF > mm-test26a.ok
- +msgid ""
- +msgstr "Content-Type: text/plain; charset=UTF-8\n"
- +EOF
- +
- +: ${DIFF=diff}
- +${DIFF} mm-test26a.ok mm-test26a.out || Exit 1
- --
- 1.9.1
- fix-empty-po.patch
|