Daiki Ueno [Fri, 21 Aug 2015 05:43:30 +0000 (14:43 +0900)]
xgettext: Allow multiple --copyright-holder
Feature requested by Francesco Poli in:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682580>.
* xgettext.c (default_copyright_holder): New constant, renamed
from copyright_holder.
(copyright_holder): Define as a variable.
(main): Allow multiple --copyright-holder options.
(construct_header): Support multiple --copyright-holder options.
Daiki Ueno [Fri, 21 Aug 2015 01:22:01 +0000 (10:22 +0900)]
intl: Pacify compilation with pre-C99 compilers
* loadmsgcat.c (_nl_load_domain): Move the call to
__libc_lock_define_initialized_recursive to the end of local
variable declarations to avoid extra ';' being expanded to an
empty statement.
Reported by pan7 in:
<http://savannah.gnu.org/support/?108864>.
* gettext-tools/configure.ac (ARCHIVE_VERSION): New substituted
variable.
* gettext-tools/misc/gettextize.in (archive_version): New variable, set
to ARCHIVE_VERSION. Use it as the argument of AM_GNU_GETTEXT_VERSION.
* gettext-tools/tests/init-env.in (ARCHIVE_VERSION): New substituted
variable.
* gettext-tools/tests/autopoint-2: Use ARCHIVE_VERSION, instead of the
hard-coded version string.
* gettext-tools/tests/autopoint-3: Likewise.
Reported by Max Lin in:
<https://lists.gnu.org/archive/html/bug-gettext/2015-07/msg00024.html>.
* gettextize.in: Replace AM_GNU_GETTEXT_VERSION invocation with
"$gettext_version" rather than "$version". This makes it easier
to maintain a minor release without being affected by the actual
version number generated by git-version-gen.
(gettext_version): New variable.
Compilation of the cldr-plurals tool was broken in the relocatable case
because of missing CPPFLAGS/LDFLAGS. Add the same flags used by other
tools to the makefile.
* gettext-tools/src/Makefile.am (cldr_plurals_CPPFLAGS)
(cldr_plurals_LDFLAGS): Adjust for --enable-relocatable
compilation.
Daiki Ueno [Mon, 29 Jun 2015 02:44:52 +0000 (11:44 +0900)]
msginit: Remove obsolete country codes
* gettext-tools/src/msginit.c (catalogname_for_locale): Remove sr_YU,
which were removed from ISO 3166-1:1997. Add comment saying that
pap_AN, which were removed from ISO 3166-1:2006, can be removed in the
future.
Reported by Jakub Wilk in:
<https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00057.html>.
Daiki Ueno [Thu, 25 Jun 2015 12:02:47 +0000 (21:02 +0900)]
xgettext: Fix the last change to literalstring
* gettext-tools/src/x-c.c (literalstring_parse): Bail out if C == NUL.
Also adjust the loop invariant in Unicode literal handling.
Reported by Hanno Boeck in:
<http://savannah.gnu.org/bugs/?45391>.
Daiki Ueno [Thu, 25 Jun 2015 02:37:39 +0000 (11:37 +0900)]
xgettext: Make literal parser robust against NUL
* gettext-tools/src/x-c.c (literalstring_parse): Add more NUL checks.
Change the loop invariant so that C always points to the character
previously pointed by P.
Reported by Hanno Boeck in:
<http://savannah.gnu.org/bugs/?45391>.
* gettext-tools/tests/xg-c-21.c (main): New file.
* gettext-tools/tests/xgettext-c-21 (result): New file.
* gettext-tools/tests/Makefile.am (TESTS): Add new test.
(EXTRA_DIST): Add xg-c-21.c.
Daiki Ueno [Wed, 24 Jun 2015 14:23:22 +0000 (23:23 +0900)]
xgettext: avoid out-of-bounds read in literals
* gettext-tools/src/x-c.c (literalstring_parse): Check if the next
character of a backslash is NUL. Reported by Hanno Boeck in:
<http://savannah.gnu.org/bugs/?45391>.
Daiki Ueno [Wed, 24 Jun 2015 03:04:25 +0000 (12:04 +0900)]
tests: Don't rely on echo -n
* gettext-tools/tests/msgfilter-8: Port the "echo -n" equivalent from gettext-2.
Reported by paul zimmermann in:
<https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00019.html>.
Daiki Ueno [Tue, 23 Jun 2015 09:04:35 +0000 (18:04 +0900)]
build: Fix build failure on Solaris
* gettext-tools/src/cldr-plurals.c: Include "basename.h".
(main): Place optind on the right hand side of the expression, to
work around build failure on Solaris.
Reported by Dagobert Michelsen in:
<https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00015.html>.
Daiki Ueno [Tue, 23 Jun 2015 04:03:09 +0000 (13:03 +0900)]
m4, help2man: Update from gnulib
* gettext-runtime/m4/codeset.m4: Update copyright year.
* gettext-runtime/m4/gettext.m4: Likewise.
* gettext-runtime/m4/iconv.m4: Likewise.
* gettext-runtime/m4/intl.m4: Likewise.
* gettext-runtime/m4/intldir.m4: Likewise.
* gettext-runtime/m4/intlmacosx.m4: Likewise.
* gettext-runtime/m4/lcmessage.m4: Likewise.
* gettext-runtime/m4/nls.m4: Likewise.
* gettext-runtime/m4/po.m4: Likewise.
* gettext-runtime/m4/extern-inline.m4: Likewise. Port the following
change:
2015-04-29 Paul Eggert <eggert@cs.ucla.edu>
extern-inline: no need for workaround in GCC 5.1
* doc/extern-inline.texi (extern inline):
* m4/extern-inline.m4 (gl_EXTERN_INLINE):
GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
around these bugs in GCC 5.1 and later. Maybe in a decade or
two we can remove these workarounds.
* gettext-tools/man/help2man: Update copyright year.
Daiki Ueno [Tue, 23 Jun 2015 03:28:41 +0000 (12:28 +0900)]
intl: Update locale.alias
* locale.alias: Update from glibc:
2015-05-22 Paul Eggert <eggert@cs.ucla.edu>
Remove obsolete aliases that broke 'locale -a'
[BZ #18412]
* intl/locale.alias: Remove obsolete aliases "bokmål" and "français"
which caused 'locale -a' to output Latin-1 data in UTF-8 locales,
breaking some applications that use 'locale -a' output.
Change the encoding of this file from Latin-1 to ASCII to avoid
other potential problems with people grepping this file.
Daiki Ueno [Tue, 23 Jun 2015 01:16:25 +0000 (10:16 +0900)]
tests: Add test for msginit CLDR support
* gettext-tools/tests/msginit-4: New file.
* gettext-tools/tests/common/supplemental/plurals.xml: New data file.
* gettext-tools/tests/Makefile.am (TESTS): Add new tests.
(EXTRA_DIST): Add new data file.
Daiki Ueno [Thu, 21 May 2015 04:03:50 +0000 (13:03 +0900)]
msginit: Guess plural rules from Unicode CLDR
* gettext-tools/src/Makefile.am (noinst_PROGRAMS): Add cldr-plurals.
(install-exec-local): Install cldr-plurals.
(BUILT_SOURCES): Add cldr-plural.c and cldr-plural.h.
(cldr_plural_SOURCES): New variable.
(cldr_plural_LDADD): New variable.
* gettext-tools/src/cldr-plural-exp.h: New file.
* gettext-tools/src/cldr-plural-exp.c: New file.
* gettext-tools/src/cldr-plural.y: New file.
* gettext-tools/src/cldr-plurals.c: New file.
* gettext-tools/src/msginit.c (plural_forms): Call cldr-plurals program
if the plural rule is not defined in the code.
* gettext-tools/doc/msginit.texi: More explanations about "meta
information".
* gettext-tools/doc/gettext.texi (Plural forms): Mention Unicode CLDR
support in msginit.
* gettext-tools/tests/cldr-plurals-1: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add new tests.
* NEWS: Mention msginit change.
Daiki Ueno [Mon, 1 Jun 2015 03:12:28 +0000 (12:12 +0900)]
awk: Recognize .twjr file extension
* gettext-tools/src/x-awk.h (EXTENSIONS_AWK): Register file extensions
".gawk" and ".twjr". Suggested by Karl Berry in:
<https://lists.gnu.org/archive/html/bug-gettext/2015-05/msg00032.html>.
* gettext-tools/doc/gettext.texi (gawk): Mention new file extensions
".gawk" and ".twjr".