[GETTEXT BUG] xgettext(1) can't extract "gettext -- foo"
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:53:59
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:53:59
The Git project is having issues with xgettext being unable to extract
msgid's provided to gettext(1) where the first argument is --. Here's
a minimal testcase:
$ cat /tmp/xgettext-tesh.sh
#!/bin/sh
. gettext.sh
gettext "hello "
gettext -- "world"
echo
If that's extracted with xgettext(1) the message on line 4 is presumed
to be "--", when in fact it should be "world":
$ xgettext --omit-header --force-po --output=/tmp/xgettext.po
--language=Shell --debug /tmp/xgettext-tesh.sh ; cat /tmp/xgettext.po
#: /tmp/xgettext-tesh.sh:3
msgid "hello "
msgstr ""
#: /tmp/xgettext-tesh.sh:4
msgid "--"
msgstr ""
There's currently a proposed patch to hack around this using something
like:
gitgettext () {
gettext -- "$1"
echo
}
Is there a better way to handle this, and is this a bug the gettext
project is aware of and might be fixing sometime soon?