[GETTEXT BUG] xgettext(1) can't extract "gettext -- foo"

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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help