threads / bug / 30714

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

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

## tl;dr

One message between Jun 5, 2012 and Jun 5, 2012.

replies: 0people: 1as markdown or json

Ævar Arnfjörð Bjarmason· Jun 5, 2012, 09:05 UTC · lore

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?

← back to recent threads