I tried GNU gettext 0.19 on the latest 'grep' sources, and it failed with the symptoms quoted at the end of this message. The problem seems to have something to do with character constants. Even this trivial source file:

#define SEP_CHAR_SELECTED ':'
int main (void) { return SEP_CHAR_SELECTED; }

causes xgettext to fail with a diagnostic like this:

t.c:1: warning: unterminated character constant

I am running gettext 0.19 on Fedora 20 x86-64, built with GCC 4.9.0.

Here is how xgettext failed with 'grep' source:

    xgettext --default-domain=grep --directory=.. \
--add-comments=TRANSLATORS: --keyword=_ --keyword=N_ --flag=_:1:pass-c-format --flag=N_:1:pass-c-format --flag=error:3:c-format --flag=error_at_line:5:c-format --flag=asnprintf:3:c-format --flag=asprintf:2:c-format --flag=error:3:c-format --flag=error_at_line:5:c-format --flag=vasnprintf:3:c-format --flag=vasprintf:2:c-format --flag=wrapf:1:c-format --from-code=UTF-8 ${end_of_xgettext_options+} --flag=error:3:c-format --flag=error_at_line:5:c-format --keyword='proper_name:1,"This is a proper name. See the gettext manual, section Names."' --keyword='proper_name_utf8:1,"This is a proper name. See the gettext manual, section Names."' \
      --files-from=./POTFILES.in \
      --copyright-holder='Free Software Foundation, Inc.' \
      --package-name="${package_gnu}grep" \
      --package-version='2.20.4-709e7e-dirty' \
      --msgid-bugs-address="$msgid_bugs_address" \
    ;; \
esac
lib/getopt.c:477: warning: unterminated character constant
lib/getopt.c:728: warning: unterminated character constant
lib/regcomp.c:3772: warning: unterminated character constant
src/dfa.c:1283: warning: unterminated character constant
src/dfa.c:1286: warning: unterminated character constant
src/dfa.c:1407: warning: unterminated character constant
src/grep.c:52: warning: unterminated character constant
src/grep.c:53: warning: unterminated character constant


Reply via email to