]> git.ipfire.org Git - thirdparty/gettext.git/log
thirdparty/gettext.git
10 years agomsgfilter: Add --newline option
Daiki Ueno [Wed, 28 Jan 2015 07:50:20 +0000 (16:50 +0900)] 
msgfilter: Add --newline option

The filter program was supposed to handle translation without a
newline character at the end of line.  This was causing
portability problems with standard text processing programs on
some platforms (BSD sed, for instance) and not friendly towards
POSIX, where a "text file" is required to have an ending newline.
The new --newline option controls the behavior.  If it is given,
both filter input and output are assumed to end with a newline
character.
* gettext-tools/src/msgfilter.c (newline): New variable.
(long_options): Add --newline option.
(main): Handle --newline option.
(usage): Document --newline option.
(process_string_with_newline): New function which wraps
process_string.
(process_message): Use process_string_with_newline instead of
process_string if --newline is specified.

* gettext-tools/tests/msgfilter-8: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add new test.

* gettext-tools/doc/msgfilter.texi: Document --newline option.

10 years agoxgettext, msgmerge: Avoid undefined non-null argument behavior
Daiki Ueno [Sat, 24 Jan 2015 07:51:18 +0000 (16:51 +0900)] 
xgettext, msgmerge: Avoid undefined non-null argument behavior

* xgettext.c (remember_a_message): Building with gcc's
-fsanitize=undefined and running tests triggered:
  xgettext.c:2425:17: runtime error: null pointer passed as argument \
    2, which is declared to never be null
Adjust the argument of strncmp to never be null.
* msgmerge.c (message_merge): Likewise for memcpy.

10 years agobuild: Update libtool files to 2.4.5
Daiki Ueno [Fri, 23 Jan 2015 03:11:41 +0000 (12:11 +0900)] 
build: Update libtool files to 2.4.5

* m4/libtool.m4: Update from libtool-2.4.5, with modifications.
2008-04-06  Bruno Haible  <bruno@clisp.org>
* m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
to ${CONFIG_SHELL}.
* m4/ltoptions.m4: Likewise.
* m4/ltversion.m4: Likewise.
* build-aux/ltmain.sh: Likewise.

10 years agobuild: Fix parallel build from git checkout
Daiki Ueno [Fri, 23 Jan 2015 02:22:47 +0000 (11:22 +0900)] 
build: Fix parallel build from git checkout

Since po-gram-gen2.h depends on po-gram-gen.h, an explicit
dependency on the YACC rule is needed for parallel compilation.
* Makefile.am (po-gram-gen.h): Depend on po-gram-gen.c.

10 years agointl: Update from gnulib
Daiki Ueno [Thu, 22 Jan 2015 08:40:17 +0000 (17:40 +0900)] 
intl: Update from gnulib

* config.charset, localcharset.c, relocatable.c, vasnprintf.c:
Update from gnulib.
* codeset.m4, extern-inline.m4, fcntl-o.m4, gettext.m4, glibc2.m4:
* glibc21.m4, iconv.m4, intdiv0.m4, intldir.m4, intlmacosx.m4:
* intmax.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, lock.m4:
* longlong.m4, nls.m4, printf-posix.m4, progtest.m4:
* size_max.m4, stdint_h.m4, threadlib.m4, uintmax_t.m4:
* visibility.m4, wchar_t.m4, wint_t.m4, xsize.m4: Update copyright
year.

10 years agoTHANKS: Update
Daiki Ueno [Wed, 21 Jan 2015 07:57:17 +0000 (16:57 +0900)] 
THANKS: Update

10 years agopo-mode: Better C format string highlighting
Peter Eisentraut [Wed, 21 Jan 2015 07:47:14 +0000 (16:47 +0900)] 
po-mode: Better C format string highlighting

* po-mode.el (po-font-lock-keywords): Support all possible length
modifiers in C89/C99 format strings.

10 years agointl: Merge from glibc
Will Newton [Wed, 21 Jan 2015 02:55:02 +0000 (11:55 +0900)] 
intl: Merge from glibc

* bindtextdom.c: Update copyright to use year ranges.
* dcgettext.c: Update copyright to use year ranges.
[_LIBC]: Use libc_hidden_def instead of INTDEF.
* dcigettext.c: Update copyright to use year ranges.
Test HAVE_TSEARCH with #ifdef rather than #if.
(DCIGETTEXT) [_LIBC]: Use __current_locale_name instead of
_current_locale_name.
* dcngettext.c: Update copyright to use year ranges.
* dgettext.c: Update copyright to use year ranges.
[_LIBC]: Remove use of INTUSE macro.
* dngettext.c: Update copyright to use year ranges.
* explodename.c: Likewise.
* finddomain.c: Update copyright to use year ranges.
(_nl_finddomain_subfreeres): Use void in no-arguments function
definition.
* gettext.c: Update copyright to use year ranges.
[_LIBC]: Remove use of INTUSE macro.
* gettextP.h: Update copyright to use year ranges.
[_LIBC]: Forward declaration of struct loaded_domain.
* gmo.h: Update copyright to use year ranges.
* hash-string.c: Likewise.
* hash-string.h: Likewise.
* l10nflist.c: Update copyright to use year ranges.
[_LIBC]: Remove use of INTUSE macro.
Wrap pop function in [!ARCH_POP].
* loadinfo.h: Update copyright to use year ranges.
* loadmsgcat.c: Likewise.
* localealias.c: Update copyright to use year ranges.
Test ENABLE_RELOCATABLE with #ifdef rather than #if.
[_LIBC]: Use __strcasecmp_l for strcasecmp.
[_LIBC]: Use __fgets_unlocked for FGETS.
Test HAVE_DECL_FGETS_UNLOCKED with #ifdef rather than #if.
Test HAVE_DECL_FEOF_UNLOCKED with #ifdef rather than #if.
(read_alias_file) [_LIBC]: Open file with O_CLOEXEC.
(extend_alias_table): Use void in no-arguments function
definition.
* ngettext.c: Update copyright to use year ranges.
* plural-exp.c: Update copyright to use year ranges.
Test __APPLE_CC__ with #ifdef rather than #if.
(GERMANIC_PLURAL): Make const.
(init_germanic_plural): Use void in no-arguments function
definition.
* plural-exp.h: Update copyright to use year ranges.
(GERMANIC_PLURAL): Make const.
* plural.y: Update copyright to use year ranges.
* textdomain.c: Likewise.

10 years agoUpdate Gnulib
Daiki Ueno [Tue, 20 Jan 2015 09:33:47 +0000 (18:33 +0900)] 
Update Gnulib

10 years agoUpdate Gnulib
Daiki Ueno [Tue, 20 Jan 2015 07:14:30 +0000 (16:14 +0900)] 
Update Gnulib

10 years agodesktop: Avoid useless warning for group header
Daiki Ueno [Fri, 16 Jan 2015 10:01:34 +0000 (19:01 +0900)] 
desktop: Avoid useless warning for group header

Reported by Marek Černocký at:
<https://savannah.gnu.org/bugs/?44005>
* gettext-tools/src/read-desktop.c (desktop_lex): Fix
"invalid non-blank character" check after reading a group header.
* gettext-tools/tests/xgettext-desktop-1: Check "invalid non-blank
character" warning.

10 years agoc++: Fix commit 4dfe1c46
Daiki Ueno [Tue, 13 Jan 2015 06:29:35 +0000 (15:29 +0900)] 
c++: Fix commit 4dfe1c46

* gettext-tools/src/x-c.c (phase5_get): Reset raw_expected at the
beginning of the function.
* gettext-tools/tests/xgettext-c-20: Improve test coverage of raw string
tests.

10 years agoc++: Make C++11 raw string recognition stricter
Daiki Ueno [Tue, 13 Jan 2015 03:09:08 +0000 (12:09 +0900)] 
c++: Make C++11 raw string recognition stricter

Reported by Vaclav Slavik at:
<http://savannah.gnu.org/bugs/?43970>.
* gettext-tools/src/x-c.c (struct token_ty): New field 'escape'.
(struct xgettext_token_ty): New field 'escape'.
(phase5_get): Recognize raw strings more strictly.  Set 'escape'
field of token appropriately for string literals.
(extract_parenthesized): Respect 'escape' field of token.

* gettext-tools/tests/xgettext-c-20: Adjust to the latest xgettext C++
scanner change; don't accept unbalanced prefix in raw string literal.

10 years agoc++: Differentiate scanning logic from C
Daiki Ueno [Tue, 13 Jan 2015 03:00:35 +0000 (12:00 +0900)] 
c++: Differentiate scanning logic from C

To enable raw string literals only in C++, add a flag indicating
the current source language is C++.
Suggested by Vaclav Slavik at:
<https://savannah.gnu.org/bugs/?43970>.

* gettext-tools/src/x-c.h (extract_cxx): New declaration.
(SCANNERS_C): Use extract_cxx for "C++".
* gettext-tools/src/x-c.c (cxx_extensions): New variable.
(phase5_get): Respect cxx_extensions and recognize raw string
literals only when it is set.
(extract_cxx): New function.
(extract_c, extract_objc): Reset cxx_extensions.

* gettext-tools/tests/xgettext-c-20: Adjust the source file name
from *.c to *.cc to enable handling of raw string literals.

10 years agoexamples: Make hello-c-gnome3 translator friendly
Daiki Ueno [Thu, 8 Jan 2015 02:09:14 +0000 (11:09 +0900)] 
examples: Make hello-c-gnome3 translator friendly

Suggested by Benno Schulenberg in:
<https://lists.gnu.org/archive/html/bug-gettext/2015-01/msg00003.html>.

* hello-c-gnome3/hello.gschema.xml: Use "use-markup" property
instead of "sensitive", to clarify the meaning of the extracted
strings.
* hello-c-gnome3/hello.c (HelloApplicationWindow): Rename the
"label2" member to "label".
(update_content): New function.
(clicked_callback): Rename from quit_callback and call
update_content instead of quitting.  All callers changed.
* hello-c-gnome3/hello.ui: Abolish the first label and put a
translatable text inside the button.

10 years agodoc: Document Vala language support
Daiki Ueno [Mon, 5 Jan 2015 09:05:13 +0000 (18:05 +0900)] 
doc: Document Vala language support

10 years agoTHANKS: Update
Daiki Ueno [Sat, 3 Jan 2015 23:45:06 +0000 (08:45 +0900)] 
THANKS: Update

10 years agointl: Add missing libintl.h dependency from pluralx.$lo
Václav Slavík [Sat, 3 Jan 2015 23:39:29 +0000 (08:39 +0900)] 
intl: Add missing libintl.h dependency from pluralx.$lo

plural(x).c depends on libintl.h if ENABLE_NLS, but the makefile
didn't have corresponding dependency for pluralx.c, because
d2d04ba forgot to add it.  Fix by using $(PLURAL_OBJECT) for the
dependency rule too.
* Makefile.in ($(PLURAL_OBJECT)): Depend on libintl.h.

10 years agobuild-aux: Update texinfo.tex to 2014-12-03.16
Daiki Ueno [Thu, 25 Dec 2014 04:04:47 +0000 (13:04 +0900)] 
build-aux: Update texinfo.tex to 2014-12-03.16

* build-aux/texinfo.tex: Update to 2014-12-03.16.  Needed because
the original texinfo does not allow @heading usage inside
@enumeration and texi2dvi fails due to this.

10 years agoRelease 0.19.4 v0.19.4
Daiki Ueno [Wed, 24 Dec 2014 06:33:18 +0000 (15:33 +0900)] 
Release 0.19.4

10 years agoPrepare for 0.19.4
Daiki Ueno [Tue, 9 Dec 2014 08:44:38 +0000 (17:44 +0900)] 
Prepare for 0.19.4

10 years agoUpdate translations
Daiki Ueno [Tue, 9 Dec 2014 08:55:25 +0000 (17:55 +0900)] 
Update translations

10 years agoconfigure: Also distribute lzip-compressed tarballs
Daiki Ueno [Wed, 24 Dec 2014 04:01:04 +0000 (13:01 +0900)] 
configure: Also distribute lzip-compressed tarballs

* configure.ac (AM_INIT_AUTOMAKE): Add dist-lzip.

10 years agognulib-local: Suppress compiler warning with -Wunused
Daiki Ueno [Wed, 24 Dec 2014 04:38:25 +0000 (13:38 +0900)] 
gnulib-local: Suppress compiler warning with -Wunused

* lib/diffseq.h.diff: New file.

10 years agoNEWS: Mention Bash ANSI-C quoting change
Daiki Ueno [Thu, 18 Dec 2014 06:15:18 +0000 (15:15 +0900)] 
NEWS: Mention Bash ANSI-C quoting change

10 years agosh: Test Bash ANSI-C quoting
Daiki Ueno [Thu, 18 Dec 2014 03:18:22 +0000 (12:18 +0900)] 
sh: Test Bash ANSI-C quoting

* xgettext-sh-3: Test Bash ANSI-C quoting.

10 years agosh: Fix handling of Bash ANSI-C quoting
Daiki Ueno [Thu, 18 Dec 2014 03:17:51 +0000 (12:17 +0900)] 
sh: Fix handling of Bash ANSI-C quoting

* x-sh.c (read_word): Use phase1 instead of phase2 for Bash ANSI-C
escape sequences.  Also handle '\"' and '\E'.

10 years agosh: Fix typo
Daiki Ueno [Wed, 17 Dec 2014 03:48:19 +0000 (12:48 +0900)] 
sh: Fix typo

* x-sh.c (phase2_getc): Fix typo: debackslahificication ->
debackslashification.

10 years agoRemove init-package-version.m4
Daiki Ueno [Tue, 16 Dec 2014 09:00:43 +0000 (18:00 +0900)] 
Remove init-package-version.m4

* m4/init-package-version.m4: Remove unused file.  The package
name and version number are now obtained from git-version-gen.

10 years agoBackport iOS check from Gnulib
Daiki Ueno [Tue, 16 Dec 2014 08:59:43 +0000 (17:59 +0900)] 
Backport iOS check from Gnulib

* gnulib-local/lib/unistd.in.h.diff: Update.

10 years agoWork around interoperability with preinstalled libunistring
Daiki Ueno [Mon, 15 Dec 2014 07:52:10 +0000 (16:52 +0900)] 
Work around interoperability with preinstalled libunistring

* modules/unilbrk/base.diff: New file; bump minimum version of
unilbrk.h.

10 years agodesktop: Suppress compiler warning
Daiki Ueno [Fri, 12 Dec 2014 08:33:36 +0000 (17:33 +0900)] 
desktop: Suppress compiler warning

* read-desktop.c (desktop_parse): Check and ignore
token_type_other.

10 years agotests: Check invalid memory access in Lisp/Scheme
Daiki Ueno [Fri, 12 Dec 2014 08:20:23 +0000 (17:20 +0900)] 
tests: Check invalid memory access in Lisp/Scheme

* format-lisp-2, format-scheme-2: Test type compatibility with
non-strict checking mode.

10 years agolisp, scheme: Avoid invalid memory access
Daiki Ueno [Fri, 12 Dec 2014 08:18:51 +0000 (17:18 +0900)] 
lisp, scheme: Avoid invalid memory access

* format-lisp.c (make_intersected_list): Don't dereference
potentially released memory.  'append_repeated_to_initial' may
release the LIST->element.  Spotted by clang-analyzer.
* format-scheme.c (make_intersected_list): Likewise.

10 years agointl: Bump m4 serial
Daiki Ueno [Wed, 10 Dec 2014 04:05:20 +0000 (13:05 +0900)] 
intl: Bump m4 serial

* intl.m4, po.m4: Bump serial to avoid any conflict with Gnulib's
version after Gnulib commit 71be4c87.

10 years agoautogen.sh: Copy intl.m4 and po.m4
Daiki Ueno [Wed, 10 Dec 2014 03:30:07 +0000 (12:30 +0900)] 
autogen.sh: Copy intl.m4 and po.m4

* autogen.sh: Copy intl.m4 and po.m4 to gettext-tools, if Gnulib's
version are older.

10 years agomsgfmt: Suppress compiler warning
Daiki Ueno [Wed, 10 Dec 2014 03:10:16 +0000 (12:10 +0900)] 
msgfmt: Suppress compiler warning

* msgl-check.c (check_header_entry): Don't declare unused variable
'nrequiredfields'.

10 years agomaint: Update THANKS file
Daiki Ueno [Wed, 10 Dec 2014 02:55:31 +0000 (11:55 +0900)] 
maint: Update THANKS file

* THANKS: Add contributors since 0.18.2.

10 years agotests: Fix the last change to gettext-8-prg.c
Daiki Ueno [Tue, 9 Dec 2014 10:15:59 +0000 (19:15 +0900)] 
tests: Fix the last change to gettext-8-prg.c

* gettext-8-prg.c: Include <assert.h>.
(main): Check return value of 'gettext'.

10 years agotests: Avoid minor memory-leak in gettext-8-prg
Daiki Ueno [Tue, 9 Dec 2014 07:07:05 +0000 (16:07 +0900)] 
tests: Avoid minor memory-leak in gettext-8-prg

* gettext-8-prg.c (main): Release allocated memory.  Spotted by
clang-analyzer.

10 years agoxgettext: Avoid potential null-dereference
Daiki Ueno [Tue, 9 Dec 2014 07:05:49 +0000 (16:05 +0900)] 
xgettext: Avoid potential null-dereference

* xgettext.c (arglist_parser_done): Avoid potential
null-dereference.  Spotted by clang-analyzer.

10 years agomsgfmt: Fix potential access to uninitialized value
Daiki Ueno [Tue, 9 Dec 2014 06:53:57 +0000 (15:53 +0900)] 
msgfmt: Fix potential access to uninitialized value

* msgfmt.c (msgfmt_desktop_bulk): Don't dereference potentially
uninitialized value.  Spotted by clang-analyzer.

10 years agotests: Test msgcat --sort-by-file option
Daiki Ueno [Tue, 9 Dec 2014 04:45:45 +0000 (13:45 +0900)] 
tests: Test msgcat --sort-by-file option

* msgcat-20: New file.
* Makefile.am (TESTS): Add new test.

10 years agotests: Improve test coverage of Lua scanner
Daiki Ueno [Tue, 9 Dec 2014 04:44:49 +0000 (13:44 +0900)] 
tests: Improve test coverage of Lua scanner

* xgettext-lua-1: Test nested and unmatched brackets.

10 years agotests: Fix previous commit of Vala scanner test
Daiki Ueno [Tue, 9 Dec 2014 03:42:37 +0000 (12:42 +0900)] 
tests: Fix previous commit of Vala scanner test

* xgettext-vala-1: Don't copy the test program out of the test
directory.  Fix commit 2ff7a105.

10 years agovala: Simplify the parsing logic
Daiki Ueno [Tue, 9 Dec 2014 03:33:47 +0000 (12:33 +0900)] 
vala: Simplify the parsing logic

* x-vala.c (phase3_get): Factor out the buffer allocation as a
macro.

10 years agodesktop: Minor cleanup of the last commit
Daiki Ueno [Tue, 9 Dec 2014 03:31:36 +0000 (12:31 +0900)] 
desktop: Minor cleanup of the last commit

* read-desktop.c (desktop_lex): Undef the APPEND macro before defining.

10 years agotests: Improve test coverage of Desktop scanner
Daiki Ueno [Mon, 8 Dec 2014 22:09:45 +0000 (07:09 +0900)] 
tests: Improve test coverage of Desktop scanner

* xgettext-desktop-1: Test invalid input and blank lines.

10 years agodesktop: Simplify the parsing logic
Daiki Ueno [Mon, 8 Dec 2014 10:22:16 +0000 (19:22 +0900)] 
desktop: Simplify the parsing logic

* read-desktop.h (desktop_reader_class_ty): Rename 'handle_text'
to 'handle_blank'.
(desktop_reader_handle_blank): Rename from
'desktop_reader_handle_text'.
* read-desktop.c (SIZEOF): New macro.
(desktop_reader_handle_blank): Rename from
'desktop_reader_handle_blank'.
(read_until_newline, read_group_name, read_key_name): Remove.
Merge into...
(desktop_lex): ...here.
(desktop_parse): Call 'desktop_lex' instead of read_*.  Don't
normalize whitespaces.
(enum token_type_ty): New enum.
(struct token_ty): New struct.
(free_token): New function.
* write-desktop.c (msgfmt_desktop_handle_blank): Rename from
'msgfmt_desktop_handle_text'.
* x-desktop.c: Include "c-ctype.h".
(extract_desktop_handle_comment): Normalize whitespaces here.
(extract_desktop_handle_blank): Rename from
'extract_desktop_handle_text'.

10 years agotests: Improve test coverage of Vala scanner
Daiki Ueno [Sat, 6 Dec 2014 22:08:40 +0000 (07:08 +0900)] 
tests: Improve test coverage of Vala scanner

* xgettext-vala-1: Test regex literal right after arithmetic
assignment operators, and the case '@' is not followed by a
template string.

10 years agovala: Make regex literal handling robuster
Daiki Ueno [Sat, 6 Dec 2014 22:05:39 +0000 (07:05 +0900)] 
vala: Make regex literal handling robuster

* x-vala.c (token_type_ty): New enumeration values
'token_type_arithmetic_operator' and 'token_type_question'.
Remove 'token_type_minus'.
(phase3_get): Rewrite regex literal handling right after
arithmetic assignment operators.

10 years agoexamples: Regenerate stamp-po after POT has changed
Daiki Ueno [Fri, 5 Dec 2014 09:17:49 +0000 (18:17 +0900)] 
examples: Regenerate stamp-po after POT has changed

* Makefile.am (distdir1): Invoke 'all' target in po/Makefile,
after 'update-po'.

10 years agotests: Really add changes to msgunfmt-3
Daiki Ueno [Fri, 5 Dec 2014 06:33:37 +0000 (15:33 +0900)] 
tests: Really add changes to msgunfmt-3

10 years agomsgunfmt: Avoid integer overflow using xsize
Daiki Ueno [Fri, 5 Dec 2014 06:18:55 +0000 (15:18 +0900)] 
msgunfmt: Avoid integer overflow using xsize

* read-mo.c (get_uint32, get_sysdep_string): Use xsum to avoid
integer overflow, when checking length and offset fields.
Reported by Jakub Wilk at:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772088>.

10 years agotests: Add more tests for integer overflow when reading MO file
Daiki Ueno [Fri, 5 Dec 2014 06:18:15 +0000 (15:18 +0900)] 
tests: Add more tests for integer overflow when reading MO file

* msgunfmt-3: Check overflow-[1-6].mo.
* Makefile.am (EXTRA_DIST): Add more test data for msgunfmt
integer overflow.

10 years agoexamples: Include hello-*.pot in the distribution
Daiki Ueno [Fri, 5 Dec 2014 04:49:31 +0000 (13:49 +0900)] 
examples: Include hello-*.pot in the distribution

Partially revert 2c3d71ce, as it broke "make dist".  Instead,
include all the generated POT files in the distribution to prevent
re-generation of those files.
* Makefile.am (distdir1): Call update-po in po/Makefile.
* po/Makefile.am ($(DOMAIN).pot-update): Specify --directory for
xgettext invocation.
(DISTCLEANFILES): Move $(SMALLPOTS)...
(MAINTAINERCLEANFILES): ...here.
(distdir1): Include $(SMALLPOTS) in the distribution.

10 years agotests: Improve test coverage of GSettings scanner
Daiki Ueno [Thu, 4 Dec 2014 09:38:44 +0000 (18:38 +0900)] 
tests: Improve test coverage of GSettings scanner

* xgettext-gsettings-1: Check empty string and multiline comment.

10 years agolibgettextsrc: Follow plural.c -> pluralx.c file name change
Daiki Ueno [Thu, 4 Dec 2014 09:06:06 +0000 (18:06 +0900)] 
libgettextsrc: Follow plural.c -> pluralx.c file name change

* plural-exp.c: Include "../intl/pluralx.c" instead of
"../intl/plural.c".  Adjust to commit d2d04ba9.

10 years agomaint: Adjust Admin/release-steps to the current procedure
Daiki Ueno [Thu, 4 Dec 2014 05:53:53 +0000 (14:53 +0900)] 
maint: Adjust Admin/release-steps to the current procedure

10 years agoexamples: Don't forcibly regenerate POT files on 'make dist'
Daiki Ueno [Thu, 4 Dec 2014 03:21:35 +0000 (12:21 +0900)] 
examples: Don't forcibly regenerate POT files on 'make dist'

Previously we generated POT files on 'make dist'.  However, it
take some time to complete and require autotools bootstrap for
each project.
* Makefile.am (distdir1): Don't invoke update-po rule in po/Makefile.
* po/Makefile.am (distdir1): Don't invoke update-po rule.

10 years agointl: Make the LCOV workaround non-intrusive
Daiki Ueno [Thu, 4 Dec 2014 02:59:53 +0000 (11:59 +0900)] 
intl: Make the LCOV workaround non-intrusive

* gettext-runtime/intl/Makefile.in (PLURAL_OBJECT): New variable.
(OBJECTS): Refer to $(PLURAL_OBJECT) instead of plural.$lo.
(pluralx.c, pluralx.lo): New rule.
(mostlyclean): Remove pluralx.c.
* gettext-tools/configure.ac: Replace PLURAL_OBJECT in intl/Makefile.

10 years agoUpdate after Gnulib changed
Daiki Ueno [Wed, 3 Dec 2014 07:42:09 +0000 (16:42 +0900)] 
Update after Gnulib changed

* extern-inline.m4, iconv.m4: Update from Gnulib.

10 years agotests: Fix data file location for msgunfmt-3
Daiki Ueno [Wed, 3 Dec 2014 07:40:29 +0000 (16:40 +0900)] 
tests: Fix data file location for msgunfmt-3

* msgunfmt-3: Locate overflow.mo in $abs_srcdir instead of '..'.

10 years agoUpdate gnulib
Daiki Ueno [Wed, 3 Dec 2014 07:12:02 +0000 (16:12 +0900)] 
Update gnulib

10 years agointl: Work around LCOV relative base directory resolution
Daiki Ueno [Wed, 3 Dec 2014 06:14:44 +0000 (15:14 +0900)] 
intl: Work around LCOV relative base directory resolution

* gettext-runtime/intl/Makefile.in (plural.lo): Resolve relative
source file name given with '#line' directive, when $(srcdir) !=
$(builddir).
(mostlyclean): Remove plural.c generated in the 'plural.lo' rule.
* gettext-tools/src/plural-exp.c: Include "../intl/plural.c" instead
of "../../gettext-runtime/intl/plural.c".

10 years agoautogen.sh: Fix typo
Daiki Ueno [Wed, 3 Dec 2014 06:05:35 +0000 (15:05 +0900)] 
autogen.sh: Fix typo

* autogen.sh: Fix typo: geneating -> generating.

10 years agoc: Minor cleanup of the previous commit
Daiki Ueno [Tue, 2 Dec 2014 11:43:28 +0000 (20:43 +0900)] 
c: Minor cleanup of the previous commit

* x-c.c (phase5_get): Remove redundant check of is_prefix; fit
lines to 80 column.

10 years agoNEWS: Mention C++11 string literals support
Daiki Ueno [Tue, 2 Dec 2014 08:26:26 +0000 (17:26 +0900)] 
NEWS: Mention C++11 string literals support

10 years agotests: Add test for C++11 string literals
Daiki Ueno [Tue, 2 Dec 2014 06:12:57 +0000 (15:12 +0900)] 
tests: Add test for C++11 string literals

* xgettext-c-20: New file.
* Makefile.am (TESTS): Add new test.

10 years agoc: Support C++11 string literals
Daiki Ueno [Tue, 2 Dec 2014 06:11:26 +0000 (15:11 +0900)] 
c: Support C++11 string literals

* x-c.c (phase5_get): Recognize C++ string literals, defined in
ISO/IEC 9899:2011.  Reported at:
<https://savannah.gnu.org/bugs/?39499>.

10 years agoNEWS: Mention C# surrogate pair support
Daiki Ueno [Mon, 1 Dec 2014 08:19:20 +0000 (17:19 +0900)] 
NEWS: Mention C# surrogate pair support

10 years agodoc: Document placement of extracted comment blocks
Daiki Ueno [Mon, 1 Dec 2014 07:45:57 +0000 (16:45 +0900)] 
doc: Document placement of extracted comment blocks

* xgettext.texi: Mention that extracted comment blocks must be
adjacent to keyword lines.
Reported by Yves-Gwenael Bourhis at:
<https://savannah.gnu.org/bugs/index.php?42376>.

10 years agotests: Add more tests for C# Unicode handling
Daiki Ueno [Mon, 1 Dec 2014 07:14:16 +0000 (16:14 +0900)] 
tests: Add more tests for C# Unicode handling

* xgettext-csharp-1: Test verbatim string.
* xgettext-csharp-2: Test Unicode identifiers.

10 years agotests: Add test for Unicode surrogate characters in C#
Daiki Ueno [Mon, 1 Dec 2014 04:41:28 +0000 (13:41 +0900)] 
tests: Add test for Unicode surrogate characters in C#

* xgettext-csharp-8: New file.
* Makefile.am (TESTS): Add new test.

10 years agoc#: Recognize Unicode surrogate character pair
Daiki Ueno [Mon, 1 Dec 2014 04:39:30 +0000 (13:39 +0900)] 
c#: Recognize Unicode surrogate character pair

* x-csharp.c (accumulate_escaped): Change the first argument type
from 'struct string_buffer *' to 'struct mixed_string_buffer *',
for Unicode surrogate character pair handling; all callers
changed.  Reported by Petr Kadlec at:
<https://savannah.gnu.org/bugs/?32505>.

10 years agobuild: Update libtool files to 2.4.4
Daiki Ueno [Mon, 1 Dec 2014 03:18:04 +0000 (12:18 +0900)] 
build: Update libtool files to 2.4.4

* m4/libtool.m4: Update from libtool-2.4.4, with modifications.
2008-04-06  Bruno Haible  <bruno@clisp.org>
* m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
to ${CONFIG_SHELL}.
* m4/ltoptions.m4: Likewise.
* m4/ltversion.m4: Likewise.
* build-aux/ltmain.sh: Likewise.

10 years agotests: Add test for empty msgstr passed to msgfilter
Daiki Ueno [Fri, 28 Nov 2014 05:44:36 +0000 (14:44 +0900)] 
tests: Add test for empty msgstr passed to msgfilter

* msgfilter-7: New file.
* Makefile.am (TESTS): Add new test.

10 years agomsgfilter: Simplify the last commit
Daiki Ueno [Fri, 28 Nov 2014 05:42:25 +0000 (14:42 +0900)] 
msgfilter: Simplify the last commit

* msgfilter.c (prepare_read): Simplify the last commit 06e206f5,
by always adding 1 to the buffer size.

10 years agomsgfilter: Fix read buffer allocation for empty input
Daiki Ueno [Fri, 28 Nov 2014 04:21:37 +0000 (13:21 +0900)] 
msgfilter: Fix read buffer allocation for empty input

* msgfilter.c (prepare_read): Increase allocated buffer size even
if the original size is < 2.
Reported by Robin McCorkell at:
<https://savannah.gnu.org/bugs/?43720>.

10 years agoNEWS: Mention portability fix on Mac OS X 10.10
Daiki Ueno [Fri, 28 Nov 2014 03:29:04 +0000 (12:29 +0900)] 
NEWS: Mention portability fix on Mac OS X 10.10

This should be fixed with the libtool infrastructure update to 2.4.3.
Reported by Lawrence Velázquez at:
<http://savannah.gnu.org/bugs/?43512>.

10 years agobuild: Update libtool files to 2.4.3
Daiki Ueno [Fri, 28 Nov 2014 03:17:06 +0000 (12:17 +0900)] 
build: Update libtool files to 2.4.3

* m4/libtool.m4: Update from libtool-2.4.3, with modifications.
2008-04-06  Bruno Haible  <bruno@clisp.org>
* m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
to ${CONFIG_SHELL}.
* m4/ltoptions.m4: Likewise.
* m4/ltsuger.m4: Likewise.
* m4/ltversion.m4: Likewise.
* m4/lt~obsolete.m4: Likewise.
* build-aux/ltmain.sh: Likewise.

10 years agojavascript: Simplify Unicode character escape handling
Daiki Ueno [Thu, 27 Nov 2014 09:32:23 +0000 (18:32 +0900)] 
javascript: Simplify Unicode character escape handling

ECMA-262 only supports "\uXXXX" style Unicode character escape and
we don't need extra space for character names.
* x-javascript.c: Don't include "uniname.h".
(phase2_pushback): Decrease to 5.  Don't refer to UNINAME_MAX.

10 years agoNEWS: Add 0.19.4 entry
Daiki Ueno [Sun, 23 Nov 2014 02:20:29 +0000 (11:20 +0900)] 
NEWS: Add 0.19.4 entry

10 years agotests: Add test for integer overflow when reading MO file
Daiki Ueno [Tue, 18 Nov 2014 03:29:32 +0000 (12:29 +0900)] 
tests: Add test for integer overflow when reading MO file

* msgunfmt-3: New file.
* Makefile.am (TESTS): Add new test.
(EXTRA_DIST): Add data file for msgunfmt-3.

10 years agoread-mo: Check size_t overflow
Daiki Ueno [Tue, 18 Nov 2014 03:11:22 +0000 (12:11 +0900)] 
read-mo: Check size_t overflow

* read-mo.c: Include "xsize.h".
(get_string): Use xsum3 to avoid overflow, when checking length
and offset fields.
Reported by Jakub Wilk at:
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769901>.

10 years agoUpdate gnulib.
Daiki Ueno [Sun, 23 Nov 2014 01:17:31 +0000 (10:17 +0900)] 
Update gnulib.

10 years agobuild: Fix autogen.sh --skip-gnulib after fbf4e276
Yaakov Selkowitz [Tue, 18 Nov 2014 17:25:34 +0000 (11:25 -0600)] 
build: Fix autogen.sh --skip-gnulib after fbf4e276

* Makefile.am (EXTRA_DIST): Add build-aux/git-version-gen.

10 years agoxgettext: Allow plural extraction from a single argument function
Daiki Ueno [Tue, 28 Oct 2014 07:38:40 +0000 (16:38 +0900)] 
xgettext: Allow plural extraction from a single argument function

The commit 8137d2b4 was a wrong fix since both singular/plural
msgids may point to the same address for Qt4 plural forms.  This
reverts the commit and fix the original double-free problem in the
right way.  Thanks to Jesper Fehrlund for suggestions.
* gettext-tools/src/xgettext.c (arglist_parser_remember_literal):
Don't ignore plural argument even if ARGNUM1 equals to ARGNUM2.
(arglist_parser_done): Make a copy of best_cp->msgid_plural when
passing it to remember_a_message_plural, if it equals to
best_cp->msgid.  Also move code conversion logic earlier taking into
account of the ownership transfer of best_cp->msgid.
* gettext-tools/src/xgettext-12: Test a single argument function.

10 years agotests: Add test for same ARGNUM1/ARGNUM2 given to xgettext -k
Daiki Ueno [Tue, 28 Oct 2014 06:53:34 +0000 (15:53 +0900)] 
tests: Add test for same ARGNUM1/ARGNUM2 given to xgettext -k

* xgettext-12: New file.
* Makefile.am (TESTS): Add new test.

10 years agoxgettext: Fix double-free in singular/plural argument extraction
Daiki Ueno [Tue, 28 Oct 2014 06:51:01 +0000 (15:51 +0900)] 
xgettext: Fix double-free in singular/plural argument extraction

After commit 6aa7b7ed in 2009, xgettext assumed that ARGNUM1 and
ARGNUM2 of -k are different.  That could cause an double-free in
exceptional cases.
Reported by Johan Liljegren in:
<https://lists.gnu.org/archive/html/bug-gettext/2014-10/msg00028.html>.
* xgettext.c (arglist_parser_remember_literal): Don't assume that
ARGNUM1 and ARGNUM2 are different.

10 years agoUpdate .gitignore v0.19.3
Daiki Ueno [Thu, 16 Oct 2014 05:46:39 +0000 (14:46 +0900)] 
Update .gitignore

10 years agoList new file in term-ostream-tests module
Daiki Ueno [Wed, 15 Oct 2014 23:24:28 +0000 (08:24 +0900)] 
List new file in term-ostream-tests module

Fixes commit a843584f.

10 years agoRelease 0.19.3
Daiki Ueno [Wed, 15 Oct 2014 07:49:05 +0000 (16:49 +0900)] 
Release 0.19.3

10 years agoPrepare for 0.19.3
Daiki Ueno [Wed, 15 Oct 2014 07:33:01 +0000 (16:33 +0900)] 
Prepare for 0.19.3

10 years agoNEWS: Update 0.19.3 entry
Daiki Ueno [Wed, 15 Oct 2014 09:36:40 +0000 (18:36 +0900)] 
NEWS: Update 0.19.3 entry

10 years agoUpdate translations
Daiki Ueno [Wed, 15 Oct 2014 07:36:57 +0000 (16:36 +0900)] 
Update translations

10 years agomaint: Fix Admin/update-changelog
Daiki Ueno [Wed, 15 Oct 2014 07:47:18 +0000 (16:47 +0900)] 
maint: Fix Admin/update-changelog

10 years agomaint: Add a script to add release entry to ChangeLogs
Daiki Ueno [Wed, 15 Oct 2014 07:27:27 +0000 (16:27 +0900)] 
maint: Add a script to add release entry to ChangeLogs

10 years agotests: Support newer ncurses with italic caps in xterm terminfo
Daiki Ueno [Wed, 15 Oct 2014 03:37:45 +0000 (12:37 +0900)] 
tests: Support newer ncurses with italic caps in xterm terminfo

* tests/test-term-ostream-xterm-basic-italic.out: New file.
* tests/test-term-ostream-xterm: Use it as possible test result.
* Makefile.am (EXTRA_DIST): Add new files.
Needed for ncurses >= 5.9-20140906 that defines sitm/ritm in the
xterm-basic terminfo definition.

10 years agotests: Avoid sed error on Mac OS X when dealing with binary input
Daiki Ueno [Sun, 12 Oct 2014 00:26:21 +0000 (09:26 +0900)] 
tests: Avoid sed error on Mac OS X when dealing with binary input

Reported by Ramsey Dow in:
<http://lists.gnu.org/archive/html/bug-gettext/2014-07/msg00002.html>.
* msgmerge-compendium-6: Run sed with LC_ALL=C, to avoid 'illegal
byte sequence' error on Mac OS X.
* format-sh-1: Likewise.