1 2020-04-14 Bruno Haible <bruno@clisp.org>
3 Update translations (from the TP).
4 * gettext-runtime/po/*.po: Update.
5 * gettext-tools/po/*.po: Update.
6 * gettext-tools/examples/po/*.po: Update.
7 * gettext-tools/examples/po/LINGUAS: Add 'sq'.
8 * gettext-tools/examples/hello-*/po/LINGUAS: Likewise.
9 * gettext-tools/examples/Makefile.am (EXAMPLESPOFILES): Add sq.po.
11 examples: Use infrastructure from gettext version 0.20.2.
12 * gettext-tools/examples/hello-*/configure.ac: Use AM_GNU_GETTEXT_VERSION with
14 * gettext-tools/examples/hello-c++-kde/configure.in.in: Likewise.
16 Prepare for 0.20.2 release.
17 * gettext-runtime/doc/matrix.texi: Update from TP.
18 * gettext-runtime/doc/nls.texi (STATUS): Update.
19 * gettext-runtime/intl/Makefile.am (LTV_*): Bump to 9:7:1.
20 * gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
21 * gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.20.2.
22 * gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:6:5.
23 * gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
24 * gettext-runtime/src/envsubst.c: Update copyright years in --version output.
25 * gettext-runtime/src/gettext.c: Likewise.
26 * gettext-runtime/src/gettext.sh.in: Likewise.
27 * gettext-runtime/src/ngettext.c: Likewise.
28 * gettext-tools/src/cldr-plurals.c: Likewise.
29 * gettext-tools/src/hostname.c: Likewise.
30 * gettext-tools/src/msgattrib.c: Likewise.
31 * gettext-tools/src/msgcat.c: Likewise.
32 * gettext-tools/src/msgcmp.c: Likewise.
33 * gettext-tools/src/msgcomm.c: Likewise.
34 * gettext-tools/src/msgconv.c: Likewise.
35 * gettext-tools/src/msgen.c: Likewise.
36 * gettext-tools/src/msgexec.c: Likewise.
37 * gettext-tools/src/msgfilter.c: Likewise.
38 * gettext-tools/src/msgfmt.c: Likewise.
39 * gettext-tools/src/msggrep.c: Likewise.
40 * gettext-tools/src/msginit.c: Likewise.
41 * gettext-tools/src/msgmerge.c: Likewise.
42 * gettext-tools/src/msgunfmt.c: Likewise.
43 * gettext-tools/src/msguniq.c: Likewise.
44 * gettext-tools/src/recode-sr-latin.c: Likewise.
45 * gettext-tools/src/urlget.c: Likewise.
46 * gettext-tools/src/xgettext.c: Likewise.
47 * gettext-tools/misc/convert-archive.in: Likewise.
48 * gettext-tools/misc/gettextize.in: Likewise.
49 * gettext-tools/misc/autopoint.in: Likewise. Handle version 0.20.2.
50 * libtextstyle/lib/Makefile.am (LTV_*): Bump to 0:1:0.
51 * libtextstyle/version.sh: Update VERSION_NUMBER and RELEASE_DATE.
53 maint: Update download location of jdom-1.0.jar.
55 build: Fix the generation of hello-c-gnome3.pot (regression from 2019-10-04).
56 * gettext-tools/examples/po/Makefile.am (USE_BUILT_PROGS): Set also
59 2020-04-13 Bruno Haible <bruno@clisp.org>
61 Fix a compilation error (regression from 2019-12-24).
62 * gettext-tools/src/write-desktop.c: Include <stdint.h>.
64 2020-04-13 Bruno Haible <bruno@clisp.org>
66 xgettext: Fix a report by an undefined-behaviour sanitizer.
67 Reported by Jeffrey Walton <noloader@gmail.com> in
68 <https://lists.gnu.org/archive/html/bug-gettext/2020-01/msg00029.html>.
70 * gettext-tools/src/read-properties.c (read_escaped_string): Don't call memcpy
73 2020-04-13 Bruno Haible <bruno@clisp.org>
75 po, examples: In the .po -> .gmo rules, really consider the newest changes to the POT file.
76 Reported by Petr Ovtchenkov <ptr@void-ptr.info> in
77 <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00000.html>.
80 * gettext-runtime/po/Makefile.in.in (.po.gmo): Write dependency on the POT file
81 as a target rule, since inference rules don't support prerequisites.
82 * gettext-tools/examples/hello-*/po/Makefile.am: Likewise, also for the .po.qm
84 * NEWS: Mention the fix.
86 2020-04-13 Bruno Haible <bruno@clisp.org>
88 The next release will be 0.20.2, not 0.21.
89 * gettext-runtime/m4/gettext.m4: Update header comment.
90 * gettext-runtime/m4/intdiv0.m4: Likewise.
91 * gettext-tools/m4/exported.m4: Likewise.
93 2020-04-13 Bruno Haible <bruno@clisp.org>
95 doc: Don't recommend to use the reserved identifier '_' in Java.
96 Reported by Akim Demaille <akim.demaille@gmail.com>.
98 * gettext-tools/doc/gettext.texi (Java): Use i18n instead _ as magic identifier.
100 2020-04-13 Bruno Haible <bruno@clisp.org>
102 build: Fix link error on MSVC with --disable-shared.
103 * gettext-tools/tests/setlocale.c (setlocale): Define to fake_setlocale on
105 * gettext-tools/tests/format-c-3-prg.c (setlocale): Likewise.
106 * gettext-tools/tests/format-c-4-prg.c (setlocale): Likewise.
107 * gettext-tools/tests/plural-1-prg.c (setlocale): Likewise.
108 * gettext-tools/tests/tstgettext.c (setlocale): Likewise.
109 * gettext-tools/tests/tstngettext.c (setlocale): Likewise.
111 build: Fix build error on MSVC with --disable-shared.
112 * gettext-tools/configure.ac (AH_BOTTOM): On MSVC with --disable-shared, even
113 when compiling with option -MD, define DLL_VARIABLE to empty.
115 2020-04-13 Dmitry V. Levin <ldv@altlinux.org>
117 libtextstyle: Enable large files and, on Linux, 64-bit inodes support.
118 * libtextstyle/autogen.sh (GNULIB_MODULES): Add 'largefile' to enable
119 large files support on systems where this is not the default and 64-bit
120 inodes in 32-bit applications on Linux.
122 2020-04-13 Bruno Haible <bruno@clisp.org>
124 Fix a test failure of msgfmt-desktop-2 on HP-UX with cc.
125 * gettext-tools/src/write-desktop.c (msgfmt_desktop_handle_pair): Don't cast
126 directly from 'void *' to 'bool'.
128 Fix test failures on Haiku.
129 * gettext-tools/tests/init.cfg (func_filter_POT_Creation_Date): New function.
130 * gettext-tools/tests/xgettext-*: Use it.
132 build: Fix build failures on HP-UX 11.31/hppa with cc.
133 * gnulib-local/lib/libxml/parser.c (struct _xmlDefAttrs): Don't use ISO C 99
134 syntax with this compiler.
135 * gettext-runtime/intl/plural-exp.h (HAVE_STRUCT_INITIALIZER): Set to 0 with
138 libtextstyle: Update .gitignore after 2019-12-24 change.
140 libtextstyle: Don't erase the .sym.in file if 'sed' is not GNU sed.
141 * libtextstyle/lib/Makefile.am (libtextstyle.sym.in): Test the exit status of
142 the declared.sh command. Preserve the existing libtextstyle.sym if it failed.
144 2020-04-13 Bruno Haible <bruno@clisp.org>
146 libcroco: Improve copyright headers.
147 The copyright headers should be unambiguous even if a single file is copied from
148 the GNU gettext package and used elsewhere. Reported by John Darrington.
150 * libtextstyle/gnulib-local/lib/libcroco/*: Inline the COPYRIGHT file where
151 applicable. Add copyright header.
152 * libtextstyle/gnulib-local/lib/libcroco/libcroco-config.h: Add copyright header.
154 2020-04-13 Bruno Haible <bruno@clisp.org>
156 libxml: Improve copyright headers.
157 The copyright headers should be unambiguous even if a single file is copied from
158 the GNU gettext package and used elsewhere. Reported by John Darrington.
160 * gnulib-local/lib/libxml/*: Inline this directory's COPYING file where
161 applicable. Add FSF copyright header.
162 * gnulib-local/lib/libxml/trionan.c: Add copyright header.
164 2020-04-13 Bruno Haible <bruno@clisp.org>
166 glib: Improve copyright headers.
167 The copyright headers should be unambiguous even if a single file is copied from
168 the GNU gettext package and used elsewhere. Reported by John Darrington.
170 * libtextstyle/gnulib-local/lib/glib*: Add FSF copyright header.
172 2020-04-13 Bruno Haible <bruno@clisp.org>
174 libtextstyle: Clarify memory_stream_contents function.
175 * libtextstyle/gnulib-local/lib/memory-ostream.oo.h (memory_stream::contents):
176 Clarify extent of return values.
177 * libtextstyle/doc/libtextstyle.texi (The memory_ostream class): Likewise.
179 build: Fix typo in comment.
180 * gettext-tools/gnulib-tests/Makefile.am: Fix typo.
181 * libtextstyle/adhoc-tests/Makefile.am: Likewise.
182 * libtextstyle/tests/Makefile.am: Likewise.
184 build: Fix failure to build the doc in a VPATH build.
185 * gettext-tools/doc/Makefile.am ($(srcdir)/stamp-vti): Create version.texi in
186 the source directory.
189 * gettext-tools/src/x-scheme.c (read_object): Correct indentation.
191 doc: Mention packages needed for Javascript support.
192 * HACKING: Mention the gir1.2-gtk-3.0 package alongside with gjs.
194 doc: Don't need an ar_SA locale.
195 * HACKING: Remove command that creates an ar_SA locale.
197 doc: Update list of external dependencies.
198 * DEPENDENCIES: Don't list glib2 and libcroco (not needed any more since
201 2020-04-13 Bruno Haible <bruno@clisp.org>
203 build: Fix the build error in gettext-tools/examples/po.
204 Reported by Nick Alcock <nix@esperi.org.uk>
205 at <https://savannah.gnu.org/bugs/?56529>.
207 * gettext-tools/examples/po/Makefile.am (USE_BUILT_PROGS): New variable.
208 (hello-*.pot): Use it.
209 ($(srcdir)/../hello-*/po/$(LL).po): Likewise.
210 * HACKING: Remove the workaround.
212 2020-04-13 Bruno Haible <bruno@clisp.org>
214 Make it easier to build the code when the documentation tools don't work.
215 * libtextstyle/Makefile.am (SUBDIRS): Move 'doc' to the end.
217 build: Don't fetch gnulib a second time in libtextstyle.
218 * autogen.sh: Set GNULIB_SRCDIR when invoking libtextstyle/autogen.sh.
219 * libtextstyle/autogen.sh: Remove all git operations. Look at the GNULIB_SRCDIR
220 environment variable. Ignore the GNULIB_TOOL environment variable.
222 libtextstyle: Fix failure to download texinfo.tex.
223 * libtextstyle/autogen.sh: Create build-aux directory.
225 2020-04-13 Bruno Haible <bruno@clisp.org>
227 libxml: Fix buffer overrun.
228 Reported by GCC 8 -Wformat-truncation warning.
230 * gnulib-local/lib/libxml/parser.c (xmlParseReference): Increase size of buffer
233 2020-04-13 Bruno Haible <bruno@clisp.org>
235 xgettext: Fix parsing of XML tags.
236 * gettext-tools/src/x-javascript.c (phase5_get): Fix lexical_context after
237 decrementing xml_element_depth.
239 2020-04-13 Bruno Haible <bruno@clisp.org>
241 xgettext: Fix parsing of XML tags that end in /> and have attributes.
242 Reported by Matej Marusak <marusak.matej@gmail.com>
243 in <https://savannah.gnu.org/bugs/?56848>.
245 * gettext-tools/src/x-javascript.c (phase5_get): After reading a string, reset
246 the lexical_context to the previous one, not to lc_outside. When reading /> at
247 the end of an XML element, decrement xml_element_depth.
248 * gettext-tools/tests/xgettext-javascript-6: Add a test.
250 2020-04-13 Bruno Haible <bruno@clisp.org>
252 xgettext: Verify parsing of JavaScript template literals inside objects.
253 Reported by Andy Holmes <andrew.g.r.holmes@gmail.com>
254 in <https://savannah.gnu.org/bugs/?50920>.
256 * gettext-tools/tests/xgettext-javascript-7: Test template literals inside an
259 2020-04-13 Bruno Haible <bruno@clisp.org>
261 Document improvement done on 2019-05-20.
262 * gettext-runtime/NEWS: Document improvement.
265 2020-04-13 Bruno Haible <bruno@clisp.org>
267 build: Install gettext.h with the LGPL license header, not with the GPL header.
268 Reported by Joachim Metz <joachim.metz@gmail.com>
269 in <https://lists.gnu.org/archive/html/bug-gettext/2012-09/msg00000.html>.
271 * gettext-tools/gnulib-lib/Makefile.am (gettextsrcdir, gettextsrc_DATA): Remove
273 * gnulib-local/Makefile.am (gettextsrcdir, gettextsrc_DATA): Define them here.
275 2020-04-13 Bruno Haible <bruno@clisp.org>
277 Clarify license of gettext.m4.
278 * gettext-runtime/m4/gettext.m4: Update comments: libintl is under LGPLv2.1+.
280 2020-04-13 Bruno Haible <bruno@clisp.org>
282 build: Avoid failing a configure test due to CFLAGS="-Werror".
283 Reported by Florian Weimer <fweimer@redhat.com>.
285 * gettext-runtime/m4/intdiv0.m4 (gt_INTDIV0): In the test program, include
286 <unistd.h>, for the declaration of _exit().
288 2020-04-13 Bruno Haible <bruno@clisp.org>
290 build: Add support for shallow-cloning of subdirectories.
291 * gitsub.sh (func_usage): Document allowed git options with 'git pull'.
292 (func_pull): Accept GIT_OPTIONS argument.
293 (pull): Parse git options before complaining about too many arguments.
294 Pass the git options to func_pull.
296 2020-04-13 Bruno Haible <bruno@clisp.org>
298 xgettext: Assume that Python source files are in UTF-8 by default.
299 Reported by ilias iliadis <apiuano-bugs@yahoo.gr>
300 at <https://savannah.gnu.org/bugs/?55231>.
302 * gettext-tools/src/xg-encoding.h (xgettext_global_source_encoding): Allow a
304 * gettext-tools/src/xg-encoding.c (xgettext_global_source_encoding): Likewise.
305 * gettext-tools/src/xgettext.c (main): Initialize
306 xgettext_global_source_encoding with NULL, not "ASCII". Handle a NULL
307 xgettext_global_source_encoding.
308 (extract_from_file): Use ASCII as default for xgettext_global_source_encoding.
309 * gettext-tools/src/x-javascript.c (extract_javascript): Likewise.
310 * gettext-tools/src/x-python.c (phase2_getc): Signal an error when encountering
311 an invalid or incomplete UTF-8 character.
312 (set_current_file_source_encoding): In the error message, use
313 xgettext_current_file_source_encoding instead of
314 xgettext_global_source_encoding.
315 (extract_python): Use UTF-8 as default for xgettext_global_source_encoding.
316 * gettext-tools/tests/xgettext-python-3: Verify that if the source file has no
317 magic coding comment but is UTF-8 encoded, xgettext succeeds.
318 * NEWS: Mention the change.
320 2020-04-13 Bruno Haible <bruno@clisp.org>
322 desktop: Small parser fix.
323 * gettext-tools/src/read-desktop.c (desktop_lex): Fix handling of control
324 characters in group names.
326 autogen.sh: Make more reliable.
327 * autogen.sh: Really bail out if gnulib-tool fails to copy config.{guess,sub}.
329 2020-04-13 Bruno Haible <bruno@clisp.org>
331 xgettext: Handle newlines in Lua long bracket literal strings correctly.
332 Reported by Frans de Jonge <fransdejonge@gmail.com>
333 at <https://savannah.gnu.org/bugs/?56794>.
335 * gettext-tools/src/x-lua.c (phase3_get): Test for EOF first. After an opening
336 long bracket, swallow one newline.
337 * gettext-tools/tests/xgettext-lua-1: Add tests for newlines in long brackets.
338 * gettext-tools/tests/xgettext-lua-2: Update comment.
340 2020-04-13 Bruno Haible <bruno@clisp.org>
342 xgettext: Recognize gettext -e invocations in shell parser.
343 Reported by Eugene V. Lyubimkin <jackyf.devel@gmail.com>
344 in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507091>.
346 * gettext-runtime/src/escapes.h: New file, extracted from
347 gettext-runtime/src/gettext.c.
348 * gettext-runtime/src/gettext.c: Include escapes.h.
349 (expand_escape): Remove function.
350 (inhibit_added_newline): New variable.
351 (add_newline): Remove variable.
352 (main): Initialize inhibit_added_newline. Invoke expand_escapes instead of
354 * gettext-runtime/src/ngettext.c: Include escapes.h.
355 (expand_escape): Remove function.
356 (main): Invoke expand_escapes instead of expand_escape.
357 * gettext-runtime/src/Makefile.am (gettext_SOURCES, ngettext_SOURCES): Add
359 * gettext-tools/tests/tstgettext.c: Include escapes.h.
360 (expand_escape): Remove function.
361 (inhibit_added_newline): New variable.
362 (add_newline): Remove variable.
363 (main): Initialize inhibit_added_newline. Invoke expand_escapes instead of
365 * gettext-tools/tests/Makefile.am (tstgettext_SOURCES): Add escapes.h.
366 * gettext-tools/src/x-sh.c: Include escapes.h.
367 (read_command): Recognize a '-e' option in the argument list of gettext and
369 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Add escapes.h.
370 * gettext-tools/tests/xgettext-sh-1: Test the recognition of gettext -e
372 * NEWS: Mention the change.
374 2020-04-13 Bruno Haible <bruno@clisp.org>
376 doc: Fix documentation of gettext, ngettext programs.
377 * gettext-runtime/doc/rt-gettext.texi: Clarify when the additional newline is
379 * gettext-runtime/doc/rt-ngettext.texi: Remove '\c' from the list of recognized
382 gettext, ngettext: Fix the expansion of '\\' and octal escape sequences.
383 * gettext-runtime/src/gettext.c (expand_escape): Don't swallow the expansion
384 of '\\' and octal escape sequences.
385 * gettext-runtime/src/ngettext.c (expand_escape): Likewise.
386 * gettext-tools/tests/tstgettext.c (expand_escape): Likewise.
387 * NEWS: Mention the change.
389 2020-04-13 Bruno Haible <bruno@clisp.org>
391 xgettext: Fix parsing of escaped single-quote characters in shell parser.
392 Reported by Markus Gothe <nietzsche@lysator.liu.se>
393 at <https://savannah.gnu.org/bugs/?49809>.
395 * gettext-tools/src/x-sh.c (phase2_getc): Handle the case c == '\''
396 && !open_singlequote && !open_doublequote differently.
397 * gettext-tools/tests/xgettext-sh-1: Add test with an escape single-quote.
399 2020-04-13 Bruno Haible <bruno@clisp.org>
401 xgettext: Fix endless loop in shell parser.
402 Reported by Hanno Boeck at <https://savannah.gnu.org/bugs/?45408>.
403 Based on patch by Daiki Ueno.
405 * gettext-tools/src/x-sh.c (read_word): React on CLOSING_BACKQUOTE even when we
406 are currently not looking for a closing backquote.
408 2020-04-13 Bruno Haible <bruno@clisp.org>
410 build: Don't use an obsolete libtool macro.
411 * gettext-tools/m4/exported.m4 (gt_GLOBAL_SYMBOL_PIPE): Require
412 _LT_CMD_GLOBAL_SYMBOLS, not AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE.
414 2020-04-13 Bruno Haible <bruno@clisp.org>
416 Don't extract Icon values from .desktop files into POT files.
417 Reported by Piotr Drąg <piotrdrag@gmail.com>
418 at <https://savannah.gnu.org/support/?108887>
419 and by Will Thompson <wjt@endlessm.com>
420 at <https://savannah.gnu.org/bugs/?56543>.
422 There was a discussion starting at
423 <https://lists.freedesktop.org/archives/xdg/2019-June/014158.html>.
424 The most interesting posts in this thread were
425 <https://lists.freedesktop.org/archives/xdg/2019-June/014164.html>
426 <https://lists.freedesktop.org/archives/xdg/2019-June/014167.html>.
428 * gettext-tools/doc/gettext.texi (Icons): New subsubsection.
429 * gettext-tools/src/read-desktop.c (desktop_add_default_keywords): Don't add
431 * gettext-tools/src/x-desktop.c: Update comments.
432 * gettext-tools/doc/xgettext.texi (Desktop): Remove 'Icon' from the list of
434 * gettext-tools/tests/xgettext-desktop-2: New file.
435 * gettext-tools/tests/msgfmt-desktop-3: New file.
436 * gettext-tools/tests/Makefile.am (TESTS): Add them.
437 * NEWS: Mention the change.
439 2020-04-13 Bruno Haible <bruno@clisp.org>
441 maint: Document how to deal with the build error in gettext-tools/examples/po.
442 Reported by Nick Alcock <nix@esperi.org.uk>
443 at <https://savannah.gnu.org/bugs/?56529>.
445 * HACKING (Building off the Git repository): Explain the common build error and
448 2020-04-13 Bruno Haible <bruno@clisp.org>
450 libtextstyle: Fix VPATH build (regression from yesterday).
451 * libtextstyle/lib/Makefile.am (AM_CPPFLAGS): Search also the glib subdirectory
454 2020-04-13 Bruno Haible <bruno@clisp.org>
456 libtextstyle: Upgrade to libcroco-0.6.13.
457 This fixes a couple of warnings.
459 Reported by Frank Hunleth <fhunleth@troodon-software.com>
460 at <https://savannah.gnu.org/bugs/?55356>.
462 * libtextstyle/gnulib-local/lib/libcroco/*: Upgrade to version 0.6.13.
463 * libtextstyle/gnulib-local/modules/libcroco: Update.
464 * libtextstyle/gnulib-local/lib/glib/gmacros.in.h: New file, based on
465 glib-2.12.4/glib/gmacros.h.
466 * libtextstyle/gnulib-local/lib/glib/gprintfint.in.h: New file, based on
467 glib-2.12.4/glib/gprintfint.h.
468 * libtextstyle/Makefile.am (EXTRA_DIST): Add them.
469 * libtextstyle/gnulib-local/m4/libglib.m4 (gl_LIBGLIB): Add glib/gmacros.h and
470 glib/gprintfint.h to LIBGLIB_H.
471 * libtextstyle/gnulib-local/modules/libglib (Files): Add lib/glib/gmacros.in.h,
472 lib/glib/gprintfint.in.h.
473 (Depends-on): Add snprintf-posix.
474 (glib/gmacros.h, glib/gprintfint.h): New rules.
475 (MOSTLYCLEANFILES): Add glib/gmacros.h, glib/gprintfint.h.
476 * libtextstyle/gnulib-local/lib/glib.in.h: Include glib/gmacros.h.
477 * libtextstyle/gnulib-local/lib/glib/gstrfuncs.in.h (g_ascii_dtostr,
478 g_ascii_formatd, g_ascii_strcasecmp): Enable declarations.
479 * libtextstyle/gnulib-local/lib/glib/gstrfuncs.c: Include gprintfint.h.
480 (g_ascii_dtostr, g_ascii_formatd): Enable.
481 (ISSPACE, ISUPPER, ISLOWER, ISALPHA, TOUPPER, TOLOWER): Move out of function
483 (g_ascii_strcasecmp): Enable.
485 2020-04-13 Bruno Haible <bruno@clisp.org>
487 xgettext: Fix parsing of JavaScript template literals inside functions.
488 Reported by Dmitry Vinnik <vinnik.dmitry07@gmail.com>
489 in <https://savannah.gnu.org/bugs/?56678>.
491 * gettext-tools/src/x-javascript.c (brace_depths, brace_depths_alloc): New
493 (brace_depth): Remove variable.
494 (new_brace_depth_level): New function.
495 (phase5_get): Invoke it. Access the top of the brace_depths stack.
496 (extract_javascript): Don't set brace_depth. Invoke new_brace_depth_level
498 * gettext-tools/tests/xgettext-javascript-7: Test template literals inside a
501 2020-04-13 Bruno Haible <bruno@clisp.org>
503 Fix test failure on MSVC.
504 * gettext-tools/tests/lang-c++: On MSVC, use <iostream>, not <iostream.h>.
506 2020-04-13 Bruno Haible <bruno@clisp.org>
508 build: Avoid warnings from bison versions >= 3.3.
509 Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
511 * gettext-runtime/intl/Makefile.am (YACC): Remove option '-y'.
513 2020-04-13 Bruno Haible <bruno@clisp.org>
515 libtextstyle: Fix link error when compiled with GCC 3.3.x.
516 Reported by Jeffrey Walton <noloader@gmail.com>.
518 * gnulib-local/lib/libxml/timsort.h (CLZ): Don't define based on __builtin_clzll
519 in GCC versions < 3.4.
521 2020-04-13 Bruno Haible <bruno@clisp.org>
523 intl: Don't export the glwthread* symbols from libintl on native Windows.
524 * gettext-runtime/intl/Makefile.am (OTHER_LDFLAGS): Add an -export-symbols-regex
527 build: Fix build errors with MSVC.
528 * gettext-tools/src/lang-table.h (language_table, language_variant_table):
529 Declare with C linkage.
530 * gettext-tools/src/read-po.h (input_format_po): Likewise.
531 * gettext-tools/src/read-properties.h (input_format_properties): Likewise.
532 * gettext-tools/src/read-stringtable.h (input_format_stringtable): Likewise.
533 * gettext-tools/src/write-properties.h (output_format_properties): Likewise.
534 * gettext-tools/src/write-stringtable.h (output_format_stringtable): Likewise.
536 build: Fix build error with MSVC.
537 * gettext-runtime/intl/Makefile.am (INTL_WINDOWS_LIBS): New variable.
538 (OTHER_LDFLAGS): Add it.
540 build: Fix build error with MSVC.
541 * gettext-runtime/intl/export.h (LIBINTL_DLL_EXPORTED): Define differently for
544 build: Fix build errors with MSVC.
545 * gettext-tools/libgettextpo/exported.sh.in: Remove one level of eval.
546 * gettext-tools/libgettextpo/Makefile.am (config.h): Redirect compiler output to
547 stderr. Remove symbols that contain an '@'.
548 * libtextstyle/lib/Makefile.am (config.h): Likewise.
550 build: Avoid endless "config.status --recheck" loop (regression from yesterday).
551 * gettext-tools/configure.ac: Use AC_MSG_WARN instead of AC_MSG_ERROR.
553 intl: Work around setlocale bug on Android 4.3.
554 * gettext-runtime/intl/setlocale.c (setlocale_unixlike): New wrapper for
557 2020-04-13 Bruno Haible <bruno@clisp.org>
559 msgmerge: Fix behaviour of --for-msgfmt on PO files with no translations.
560 Reported by Don Lawrence <dlawrence@iecok.com>
561 in <https://lists.freedesktop.org/archives/p11-glue/2019-May/000700.html>
563 in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00124.html>.
565 * gettext-tools/src/msgmerge.c (main): Treat force_po like true if for_msgfmt
567 * gettext-tools/tests/msgmerge-26: Add test of PO file with no translations.
569 2020-04-13 Bruno Haible <bruno@clisp.org>
571 build: Restore the ability to build gettext-tools separately, part 2.
572 * gettext-tools/configure.ac: New option --with-installed-csharp-dll.
573 (USE_INSTALLED_CSHARP_DLL): New conditional.
574 * gettext-tools/src/Makefile.am (CSHARP_DLL_DIR): New variable.
575 (msgunfmt.net.exe): Use it.
576 * configure.ac: Filter out --with-installed-csharp-dll from inherited --help
578 * PACKAGING: Document that gettext-tools's configure needs to be invoked with
579 --with-installed-csharp-dll.
581 2020-04-13 Bruno Haible <bruno@clisp.org>
583 build: Restore the ability to build gettext-tools separately, part 1.
584 Reported by Hanspeter Niederstrasser <nieder@users.sourceforge.net>
585 in <https://savannah.gnu.org/bugs/?56333>.
587 Code based on patch by Miguel Ángel Arruga Vivas <rosen644835@gmail.com>.
589 * autogen.sh: Copy libtextstyle.m4 for use by gettext-tools.
590 * gettext-tools/configure.ac: New option --with-installed-libtextstyle.
591 (USE_INSTALLED_LIBTEXTSTYLE): New conditional.
592 * gettext-tools/src/Makefile.am (textstyle.h): Disable rule if
593 USE_INSTALLED_LIBTEXTSTYLE is true.
594 (LT_LIBTEXTSTYLE): New variable.
595 (libgettextsrc_la_LDFLAGS): Use it instead of hardcoding a relative filename of
597 * configure.ac: Filter out --with-installed-libtextstyle from inherited --help
599 * Makefile.am (distcheck-hook): Compare different copies of libtextstyle.m4.
600 * PACKAGING: Document that gettext-tools's configure needs to be invoked with
601 --with-installed-libtextstyle.
603 2020-04-13 Bruno Haible <bruno@clisp.org>
605 libtextstyle: Complete commit from 2019-04-28.
606 * libtextstyle/Makefile.am (EXTRA_DIST): Add
607 test-term-ostream-xterm-freebsd-italic.out.
609 build: Avoid the use of mingw winpthreads for multithreading.
610 * gettext-runtime/configure.ac: Invoke gl_AVOID_WINPTHREAD.
611 * gettext-tools/configure.ac: Likewise.
613 2020-04-13 Bruno Haible <bruno@clisp.org>
615 build: Avoid trouble on mingw caused by mingw's *printf functions.
616 Reported by Michele Locati <michele@locati.it>
617 in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00103.html>.
619 * gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Define __USE_MINGW_ANSI_STDIO
621 * gettext-runtime/libasprintf/Makefile.am (DEFS): Likewise.
622 * libtextstyle/lib/Makefile.am (AM_CPPFLAGS): Likewise.
624 2020-04-13 Bruno Haible <bruno@clisp.org>
626 libasprintf: Avoid compilation error on mingw with -D__USE_MINGW_ANSI_STDIO=1.
627 * gettext-runtime/libasprintf/lib-asprintf.c (asprintf, vasprintf): Don't define
628 on mingw when __USE_MINGW_ANSI_STDIO is non-zero.
630 2020-04-13 Bruno Haible <bruno@clisp.org>
632 doc: Don't mention trademarks.
633 Reported by John Darrington <john@darrington.wattle.id.au>
634 in <https://savannah.gnu.org/bugs/?56340>.
636 * gettext-tools/doc/gettext.texi (catgets): Drop trademark annotation.
638 2020-04-13 Bruno Haible <bruno@clisp.org>
640 build: Fix "make install" failure with --disable-shared on glibc systems.
641 Reported by Gabor Z. Papp <gzp@papp.hu>.
643 This is a regression from 2018-11-25.
645 * gettext-tools/configure.ac (PRELOADABLE_LIBINTL): Set to false if
646 --disable-shared was specified.
648 2020-04-13 Bruno Haible <bruno@clisp.org>
650 libtextstyle: Update gitignore list.
651 * libtextstyle/.gitignore: Update.
653 The gettext library is under LGPL 2.1, not 2.0.
654 * gettext-runtime/m4/intl.m4: Fix comments regarding the gettext library.
655 * gettext-runtime/m4/intlmacosx.m4: Likewise.
656 * gettext-runtime/m4/nls.m4: Likewise.
657 * gettext-runtime/m4/po.m4: Likewise.
658 * gettext-runtime/m4/progtest.m4: Likewise.
660 2020-04-13 Bruno Haible <bruno@clisp.org>
662 intl: Make autoconf macro more robust.
663 Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
665 * gettext-runtime/m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't make assumptions about
666 the version numbers of future Bison versions.
668 2020-04-13 Bruno Haible <bruno@clisp.org>
670 Update after gnulib changed.
671 * gnulib-local/lib/regex_internal.h.diff: Update.
672 * gnulib-local/lib/unistd.in.h.diff: Update.
673 * gettext-runtime/intl/filename.h: New file, from gnulib.
674 * gettext-runtime/intl/dcigettext.c (ISSLASH, HAS_DEVICE, IS_ABSOLUTE_PATH,
675 IS_PATH_WITH_DIR): Remove macros. Instead, include filename.h.
676 (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New
678 (DCIGETTEXT): Use IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR.
679 * gettext-runtime/intl/l10nflist.c (ISSLASH, HAS_DEVICE, IS_ABSOLUTE_PATH):
680 Remove macros. Instead, include filename.h.
681 (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
682 (_nl_make_l10nflist): Use IS_RELATIVE_FILE_NAME.
683 * gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add filename.h.
684 (l10nflist.lo, dcigettext.lo): Depend on it.
685 * Makefile.am (distcheck-hook): Check also gettext-runtime/intl/filename.h.
686 * gettext-runtime/intl/lock.c: Update from gnulib.
687 * gettext-runtime/intl/lock.h: Likewise.
688 * gettext-runtime/intl/relocatable.c: Likewise.
689 * gettext-tools/src/locating-rule.c (locating_rule_list_locate): Use
690 IS_RELATIVE_FILE_NAME instead of IS_ABSOLUTE_PATH.
691 * gettext-tools/src/open-catalog.c (try_open_catalog_file): Likewise.
692 * gettext-tools/src/xgettext.c (main, xgettext_open): Likewise.
693 * libtextstyle/lib/color.c (style_file_lookup): Use IS_FILE_NAME_WITH_DIR
694 instead of IS_PATH_WITH_DIR.
696 Update after gnulib changed.
698 Update after gnulib changed.
699 * gettext-runtime/intl/localcharset.c: Update from gnulib.
700 * gettext-runtime/intl/setlocale-lock.c: Likewise.
702 Update after gnulib changed: Support building with --enable-threads=isoc.
703 * gettext-runtime/intl/dcigettext.c (lock): Move outside _nl_find_msg.
704 * gettext-runtime/intl/finddomain.c (lock): Move outside _nl_find_domain.
705 * gettext-runtime/intl/loadmsgcat.c (lock): Move outside _nl_load_domain.
707 Update after gnulib changed: Fix test failures on FreeBSD, NetBSD, macOS.
708 * gettext-tools/tests/setlocale.c (setlocale): Undefine.
710 Update after gnulib changed.
711 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES): Add
713 * gettext-runtime/intl/localcharset.h: Update from gnulib.
714 * gettext-runtime/intl/localcharset.c: Likewise.
715 * gettext-runtime/intl/localename.c: Likewise.
716 * gettext-runtime/intl/setlocale_null.h: New file, from gnulib.
717 * gettext-runtime/intl/arg-nonnull.h: New file, from gnulib.
718 * gettext-runtime/intl/setlocale_null.c: New file, from gnulib.
719 * gettext-runtime/intl/setlocale-lock.c: New file, from gnulib.
720 * gettext-runtime/intl/lock.h: Update from gnulib.
721 * gettext-runtime/intl/lock.c: Likewise.
722 * gettext-runtime/intl/threadlib.c: Likewise.
723 * gettext-runtime/intl/vasnprintf.c: Likewise.
724 * gettext-runtime/intl/verify.h: Likewise.
725 * gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add arg-nonnull.h,
727 (LIBINTLSOURCES): Add setlocale-lock.c, setlocale_null.c.
728 (setlocale-lock.lo, setlocale_null.lo): New rules.
729 (localename.lo, setlocale-lock.lo, setlocale_null.lo): Update dependencies.
730 * Makefile.am (distcheck-hook): Check the new files in gettext-runtime/intl/.
731 * gettext-runtime/libasprintf/vasnprintf.c: Update from gnulib.
732 * gettext-tools/libgettextpo/Makefile.am (DEFS): Define OMIT_SETLOCALE_LOCK.
733 * gettext-runtime/NEWS: Mention the multithread-safety fix in localcharset.c.
736 Update after gnulib changed.
737 * gettext-runtime/intl/localcharset.c: Update from gnulib.
738 * gettext-runtime/intl/verify.h: Likewise.
740 Update after gnulib changed.
741 * gettext-runtime/intl/localcharset.c: Update from gnulib.
742 * gettext-runtime/intl/verify.h: Likewise.
744 Update after gnulib changed.
745 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES): Add
747 * gettext-runtime/intl/windows-rwlock.h: New file, from gnulib.
748 * gettext-runtime/intl/windows-rwlock.c: New file, from gnulib.
749 * gettext-runtime/intl/windows-initguard.h: New file, from gnulib.
750 * gettext-runtime/intl/windows-spinlock.h: Remove file.
751 * gettext-runtime/intl/lock.h: Update from gnulib.
752 * gettext-runtime/intl/lock.c: Likewise.
753 * gettext-runtime/intl/verify.h: Likewise.
754 * gettext-runtime/intl/windows-mutex.h: Likewise.
755 * gettext-runtime/intl/windows-recmutex.h: Likewise.
756 * gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add windows-rwlock.h,
757 windows-initguard.h. Remove windows-spinlock.h.
758 (LIBINTLSOURCES): Conditionally add windows-rwlock.c.
759 (windows-rwlock.lo): New rule.
760 (*.lo): Update dependencies.
761 * Makefile.am (distcheck-hook): Check that gettext-runtime/intl/windows-*.[hc]
763 * gnulib-local/lib/libxml/threads.c: Test HAVE_PTHREAD_H, HAVE_WIN32_THREADS,
764 HAVE_BEOS_THREADS only if LIBXML_THREAD_ENABLED is defined; otherwise use a
765 fallback suitable for single-threaded applications.
767 Update after gnulib changed.
768 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES): Add
769 windows-mutex, windows-once, windows-recmutex.
770 * gettext-runtime/m4/flexmember.m4: Update from gnulib.
771 * gettext-runtime/intl/flexmember.h: Likewise.
772 * gettext-runtime/intl/localcharset.c: Likewise.
773 * gettext-runtime/intl/windows-mutex.h: New file, from gnulib.
774 * gettext-runtime/intl/windows-mutex.c: New file, from gnulib.
775 * gettext-runtime/intl/windows-once.h: New file, from gnulib.
776 * gettext-runtime/intl/windows-once.c: New file, from gnulib.
777 * gettext-runtime/intl/windows-recmutex.h: New file, from gnulib.
778 * gettext-runtime/intl/windows-recmutex.c: New file, from gnulib.
779 * gettext-runtime/intl/windows-spinlock.h: New file, from gnulib.
780 * gettext-runtime/intl/lock.h: Update from gnulib.
781 * gettext-runtime/intl/lock.c: Likewise.
782 * gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add windows-*.h.
783 (LIBINTLSOURCES): Conditionally add windows-*.c.
784 (windows-mutex.lo, windows-recmutex.lo, windows-once.lo): New rules.
785 (*.lo): Update dependencies.
786 * gettext-runtime/configure.ac: New condition WINDOWS_NATIVE.
787 * gettext-tools/configure.ac: Likewise.
788 * Makefile.am (distcheck-hook): Check that gettext-runtime/intl/windows-*.[hc]
791 Update after gnulib changed.
792 * gettext-runtime/intl/setlocale.c (search): Optimize away a redundant strcmp()
794 (locales_with_principal_territory): New array.
795 (langcmp, get_main_locale_with_same_language): New functions.
796 (locales_with_principal_language): New array.
797 (terrcmp, get_main_locale_with_same_territory): New functions.
798 (rpl_setlocale): When setlocale_single failed, try again with a locale that is
799 more likely to exist. Don't warn if the environment variable SETLOCALE_VERBOSE
802 Update after gnulib changed.
803 * gettext-runtime/m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for
805 * gettext-runtime/intl/localename.c: Remove includes for
806 HAVE_CFLOCALECOPYCURRENT.
807 (gl_locale_name_environ, gl_locale_name_default): Remove code for
808 HAVE_CFLOCALECOPYCURRENT.
810 Update to the newest gnulib.
812 2019-05-12 Bruno Haible <bruno@clisp.org>
814 Update translations (from the TP).
816 Update release steps.
818 2019-05-12 Bruno Haible <bruno@clisp.org>
820 intl: Fix wrong libtool versioning information.
821 Reported by Ken Takata <ktakata65536@gmail.com>
822 in <https://savannah.gnu.org/bugs/?56305>.
824 * gettext-runtime/intl/Makefile.am (LTV_*): Bump to 9:6:1, not 9:6:2.
825 * NEWS: Mention the change.
827 2019-05-12 Bruno Haible <bruno@clisp.org>
829 Update bug reporting instructions.
830 * README: Tell users to report bugs in the bug tracker or by email. Use the
831 mailing list address, not the alias.
832 * gettext-runtime/libasprintf/README: Likewise.
833 * gettext-tools/doc/gettext.texi (Introduction): Likewise.
834 (Plural forms): Use the mailing list address, not the alias.
835 * configure.ac (AC_INIT): Use the mailing list address, not the alias.
836 * gettext-runtime/configure.ac (AC_INIT): Likewise.
837 * gettext-tools/configure.ac (AC_INIT): Likewise.
838 * gettext-tools/examples/configure.ac (AC_INIT): Likewise.
839 * gettext-runtime/po/Makevars (MSGID_BUGS_ADDRESS): Use the mailing list
840 address, not the alias.
841 * gettext-tools/po/Makevars (MSGID_BUGS_ADDRESS): Likewise.
842 * gettext-tools/examples/po/Makefile.am (MSGID_BUGS_ADDRESS): Likewise.
843 * gettext-tools/examples/hello-*/po/Makevars (MSGID_BUGS_ADDRESS): Likewise.
844 * gettext-tools/examples/hello-*/po/Makefile.am (MSGID_BUGS_ADDRESS): Likewise.
845 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile (MSGID_BUGS_ADDRESS):
847 * gettext-tools/examples/hello-c++-kde/hello.cc (main): Likewise.
848 * gettext-runtime/src/envsubst.c (main): Move URL out of translatable string.
849 (usage): Tell users to report bugs in the bug tracker or by email. Use the
850 mailing list address, not the alias.
851 * gettext-runtime/src/gettext.c: Likewise.
852 * gettext-runtime/src/ngettext.c: Likewise.
853 * gettext-tools/src/cldr-plurals.c: Likewise.
854 * gettext-tools/src/hostname.c: Likewise.
855 * gettext-tools/src/msgattrib.c: Likewise.
856 * gettext-tools/src/msgcat.c: Likewise.
857 * gettext-tools/src/msgcmp.c: Likewise.
858 * gettext-tools/src/msgcomm.c: Likewise.
859 * gettext-tools/src/msgconv.c: Likewise.
860 * gettext-tools/src/msgen.c: Likewise.
861 * gettext-tools/src/msgexec.c: Likewise.
862 * gettext-tools/src/msgfilter.c: Likewise.
863 * gettext-tools/src/msgfmt.c: Likewise.
864 * gettext-tools/src/msggrep.c: Likewise.
865 * gettext-tools/src/msginit.c: Likewise.
866 * gettext-tools/src/msgmerge.c: Likewise.
867 * gettext-tools/src/msgunfmt.c: Likewise.
868 * gettext-tools/src/msguniq.c: Likewise.
869 * gettext-tools/src/recode-sr-latin.c: Likewise.
870 * gettext-tools/src/urlget.c: Likewise.
871 * gettext-tools/src/xgettext.c: Likewise.
872 * gettext-tools/tests/tstgettext.c: Likewise.
873 * gettext-tools/tests/tstngettext.c: Likewise.
874 * gettext-tools/misc/autopoint.in (func_usage): Tell users to report bugs in the
875 bug tracker or by email. Use the mailing list address, not the alias.
876 * gettext-tools/misc/convert-archive.in (func_usage): Likewise.
877 * gettext-tools/misc/gettextize.in (func_usage): Likewise.
879 2019-05-11 Bruno Haible <bruno@clisp.org>
881 doc: Recommend to avoid literal URLs in translatable strings.
882 Suggested by John Darrington <john@darrington.wattle.id.au>
883 in <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00033.html>.
885 * gettext-tools/doc/gettext.texi (Preparing Strings): Add recommendation against
886 embedded URLs. Add sub-headers.
888 2019-05-11 Bruno Haible <bruno@clisp.org>
890 build: Fix build failure with parallel make.
891 Reported by Lars Wendler <polynomial-c@gentoo.org>.
893 * gettext-tools/src/Makefile.am (.NOTPARALLEL): Add this special target.
895 2019-05-11 Bruno Haible <bruno@clisp.org>
897 intl: Remove obsolete code.
898 * gettext-runtime/intl/plural.y: Assume bison >= 2.0.
900 Update after gnulib changed.
901 * autogen.sh: Don't copy intl.m4.
902 * Makefile.am (distcheck-hook): Don't check glibc2.m4, glibc21.m4, intdiv0.m4,
903 intl.m4, intmax.m4, printf-posix.m4, uintmax_t.m4, visibility.m4.
904 * gettext-runtime/intl/verify.h: Update from gnulib.
906 Update to newest gnulib.
908 2019-05-09 Bruno Haible <bruno@clisp.org>
910 Update release steps.
912 2019-05-08 Bruno Haible <bruno@clisp.org>
914 examples: Use infrastructure from gettext version 0.20.
915 * gettext-tools/examples/hello-*/configure.ac: Use AM_GNU_GETTEXT_VERSION with
917 * gettext-tools/examples/hello-c++-kde/configure.in.in: Likewise.
918 * gettext-tools/examples/hello-*/m4/Makefile.am: Update .m4 file list.
919 * gettext-tools/examples/hello-*/autoclean.sh: Likewise.
921 Update translations (from the TP).
923 Prepare for 0.20 release.
924 * gettext-runtime/doc/matrix.texi: Update from TP.
925 * gettext-runtime/doc/nls.texi (STATUS): Update.
926 * libtextstyle/version.sh: Update RELEASE_DATE.
928 2019-05-07 Bruno Haible <bruno@clisp.org>
930 libtextstyle: examples: Enable --color=html, for debuggability.
931 Reported by Akim Demaille.
933 * libtextstyle/examples/color-hello/hello.c (main): Handle color_html case.
934 * libtextstyle/examples/color-filter/filter.c (main): Likewise.
936 2019-05-05 Bruno Haible <bruno@clisp.org>
938 examples: hello-c++-widgets: Update build infrastructure.
939 Gnulib changed on 2018-11-11: asm-underscore.m4 is no longer needed for havelib.
941 * gettext-tools/examples/hello-c++-widgets/autogen.sh: Don't pull in
943 * gettext-tools/examples/hello-c++-widgets/autoclean.sh: Don't remove
946 2019-05-05 Bruno Haible <bruno@clisp.org>
948 Add unit test for libintl_version.
949 * gettext-tools/tests/intl-version-prg.c: New file.
950 * gettext-tools/tests/intl-version: New file.
951 * gettext-tools/tests/Makefile.am (TESTS): Add it.
952 (check_PROGRAMS): Add intl-version-prg.
953 (intl_version_prg_SOURCES, intl_version_prg_LDADD): New variables.
955 2019-05-05 Bruno Haible <bruno@clisp.org>
957 msginit: Avoid error messages when run on mingw.
958 Reported by Michele Locati <michele@locati.it>.
960 * gettext-tools/src/msginit.c (project_id, project_id_version, get_user_email,
961 language_team_address): Don't even attempt to run the shell script.
963 2019-05-05 Bruno Haible <bruno@clisp.org>
965 libtextstyle: Document debugging tricks.
966 Reported by Akim Demaille <akim@lrde.epita.fr>.
968 * libtextstyle/doc/libtextstyle.texi (Debugging style files): New subsection.
969 (Debugging the styling code): New section.
971 2019-05-01 Bruno Haible <bruno@clisp.org>
973 msginit: Fix invocation of helper programs on Windows.
974 Reported by Michele Locati <michele@locati.it>
975 in <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00058.html>.
977 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add configmake.
978 * gettext-tools/src/msginit.c: Include configmake.h.
979 (main): Add BINDIR to the PATH.
981 2019-05-01 Bruno Haible <bruno@clisp.org>
983 msginit: Improvements for Cygwin and Android.
984 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add sh-filename.
985 * gettext-tools/src/msginit.c (project_id, project_id_version, get_user_email,
986 language_team_address): Use BOURNE_SHELL instead of hardcoding /bin/sh.
988 2019-04-29 Bruno Haible <bruno@clisp.org>
990 libtextstyle: Document one more terminal emulator.
991 * libtextstyle/doc/libtextstyle.texi (Terminal emulators): Mention QTerminal.
993 2019-04-28 Bruno Haible <bruno@clisp.org>
995 Fix msginit-4 test failure on mingw.
996 * gettext-tools/src/Makefile.am (DEFS): Define EXEEXT.
997 * gettext-tools/src/msginit.c (plural_forms): On Windows, invoke
998 "cldr-plurals.exe", not "cldr-plurals".
1000 2019-04-28 Bruno Haible <bruno@clisp.org>
1002 In the POT files, talk about the "GNU gettext package".
1003 Reported by Benno Schulenberg <coordinator@translationproject.org>.
1005 * gettext-runtime/po/Makevars (XGETTEXT_OPTIONS): Add --package-name option.
1006 * gettext-tools/po/Makevars (XGETTEXT_OPTIONS): Likewise.
1007 * gettext-tools/examples/po/Makefile.am (XGETTEXT_OPTIONS): New variable.
1009 2019-04-28 Bruno Haible <bruno@clisp.org>
1011 po: Make it possible to override xgettext options from Makefile.in.in.
1012 * gettext-runtime/po/Makefile.in.in ($(DOMAIN).pot-update): List the
1013 XGETTEXT_OPTIONS and the XGETTEXT_EXTRA_OPTIONS after all other options.
1014 * gettext-tools/examples/po/Makefile.am ($(DOMAIN).pot-update): Likewise.
1015 * gettext-tools/examples/hello-*/po/Makefile.am ($(DOMAIN).pot-update):
1017 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile
1018 ($(DOMAIN).pot-update): Likewise.
1019 * NEWS: Mention the change.
1020 * gettext-tools/doc/gettext.texi (po/Makevars): Fix typo.
1022 2019-04-28 Bruno Haible <bruno@clisp.org>
1024 libtextstyle: Fix test-term-ostream-xterm test failure on TrueOS and Trident.
1025 The xterm description on these platforms includes support for italics.
1027 Reported by Nelson H. F. Beebe.
1029 * libtextstyle/gnulib-local/tests/test-term-ostream-xterm-freebsd-italic.out:
1031 * libtextstyle/gnulib-local/tests/test-term-ostream-xterm.sh: Use it as possible
1033 * libtextstyle/gnulib-local/modules/term-ostream-tests (Files): Add it.
1035 2019-04-28 Bruno Haible <bruno@clisp.org>
1037 libxml: Avoid gcc warnings.
1038 Avoids "warning: too many arguments for format".
1040 * gnulib-local/lib/libxml/xmlerror.in.h (__xmlSimpleError): Remove
1041 LIBXML_ATTR_FORMAT annotation, because this function may be called with a
1044 2019-04-28 Bruno Haible <bruno@clisp.org>
1046 libxml: Avoid build failure due to "implicit declaration of function".
1047 * gnulib-local/lib/libxml/libxml.h: Include xmlstring.h only after config.h is
1050 libxml: Update included libxml2 to version 2.9.9.
1051 * gnulib-local/lib/libxml/*: Update from libxml2 2.9.9.
1052 * gnulib-local/m4/libxml.m4 (gl_LIBXML): Don't test for _stat.
1054 Update to newest gnulib.
1056 2019-04-28 Bruno Haible <bruno@clisp.org>
1058 Fix lang-csharp test failure on DragonFly BSD.
1059 Reported by Nelson H. F. Beebe.
1061 * gettext-tools/tests/lang-csharp: For the locale with ISO-8859-1 encoding,
1062 allow an expected result in UTF-8 encoding.
1064 2019-04-28 Bruno Haible <bruno@clisp.org>
1066 Add comment about a test that may fail.
1067 Reported by Nelson H. F. Beebe.
1069 * gettext-tools/tests/lang-csharp: Add comment about possible test failure.
1071 2019-04-28 Bruno Haible <bruno@clisp.org>
1073 Add comments about tests that fail on Alpine Linux.
1074 Reported by Nelson H. F. Beebe.
1076 * gettext-tools/tests/msgconv-2: Add comment about musl libc.
1077 * gettext-tools/tests/msgmerge-compendium-6: Likewise.
1078 * gettext-tools/tests/xgettext-python-3: Likewise.
1080 2019-04-28 Bruno Haible <bruno@clisp.org>
1082 build: Remove duplicate copy of test-lock.
1083 The master copy lives in gnulib now.
1085 * gettext-runtime/tests/test-lock.c: Remove file.
1086 * gettext-runtime/tests/Makefile.am (TESTS, check_PROGRAMS): Remove test-lock.
1087 (test_lock_SOURCES, test_lock_LDADD): Remove variables.
1089 2019-04-28 Bruno Haible <bruno@clisp.org>
1091 build: Verify that intl/threadlib.c is in sync with gnulib.
1092 * Makefile.am (distcheck-hook): Compare also intl/threadlib.c.
1094 2019-04-28 Bruno Haible <bruno@clisp.org>
1096 Fix autopoint-3 test failure on many platforms.
1097 Reported by Nelson H. F. Beebe.
1099 * gettext-tools/tests/autopoint-3: Create dummy ltmain.sh file before invoking
1102 2019-04-28 Bruno Haible <bruno@clisp.org>
1104 Avoid lang-guile test failure on many platforms.
1105 Reported by Nelson H. F. Beebe.
1107 * gettext-tools/tests/lang-guile: Skip the test if the guile version is < 2.0.
1109 2019-04-28 Bruno Haible <bruno@clisp.org>
1111 Update after gnulib changed.
1113 Update to newest gnulib.
1115 2019-04-27 Bruno Haible <bruno@clisp.org>
1117 intl: Use the lookup optimization also on platforms without per-thread locales.
1118 This bug was introduced on 2007-01-27.
1120 * gettext-runtime/intl/dcigettext.c (DCIGETTEXT): Fix #ifdef/#endif chain.
1122 2019-04-27 Bruno Haible <bruno@clisp.org>
1124 po-mode: Fix warning.
1125 * gettext-tools/emacs/po-mode.el (entry-buffer): Declare as variable.
1127 libgettextpo: Don't rely on the undocumented variable libgettextpo_program_name.
1128 * gnulib-local/lib/xerror.c: If IN_LIBGETTEXTPO is defined, include
1129 getprogname.h instead of progname.h and define program_name as a macro.
1130 * gnulib-local/lib/error-progname.c: Likewise.
1131 * gettext-tools/src/po-xerror.c: Likewise.
1132 * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO): Remove progname.
1133 Pass --avoid=progname to gnulib-tool invocation for libgettextpo.
1135 libgettextpo: Fix crash when iconv() does not support the PO file's encoding.
1136 * gettext-tools/src/po-charset.c (po_lex_charset_set): When IN_LIBGETTEXTPO is
1137 defined, don't use program_name.
1139 libgettextpo: Fix gcc warnings.
1140 * gettext-tools/src/write-po.c (begin_css_class, end_css_class): At least,
1141 evaluate the classname argument.
1144 * gettext-tools/src/urlget.c (java_exitcode, execute_it): Don't define if
1147 Fix a gcc warning on mingw.
1148 * gettext-tools/src/msginit.c (get_user_pwd): Don't define if HAVE_PWD_H is not
1150 (get_user_fullname): Don't call get_user_pwd if HAVE_PWD_H is not set.
1152 Fix gcc warnings on mingw and IRIX 6.5.
1153 * gettext-tools/src/msgexec.c (process_message): Don't assume that fprintf
1155 * gettext-tools/src/msgfilter.c (process_message): Likewise.
1157 Fix gcc warnings on mingw.
1158 * gettext-tools/src/msgexec.c (close): Undefine before redefinition.
1159 * gettext-tools/src/msggrep.c (close): Likewise.
1161 Fix a gcc warning (regression from 2017-05-04).
1162 * gettext-tools/src/read-java.c (msgdomain_read_java): Remove unused variable.
1164 search-path.c: Improve code style.
1165 * gettext-tools/src/search-path.h (get_search_path): Clarify memory allocation.
1166 * gettext-tools/src/search-path.c (struct path_array_ty): Add comment.
1167 (foreach_elements): Fix comment.
1168 (get_search_path): Improve comments. Perform each getenv() only once. Reduce
1169 scope of variables. Fix gcc warning.
1171 libxml: Fix width of fprintf argument on native Windows.
1172 * gnulib-local/lib/libxml/timsort.h (TIM_SORT_RESIZE): Cast fprintf argument to
1175 intl: Fix a gcc warning.
1176 * gettext-runtime/intl/langprefs.c (_nl_language_preferences_win32_95): Declare
1177 data as BYTE array, not char array.
1179 2019-04-26 Bruno Haible <bruno@clisp.org>
1181 build: Fix build failure on mingw with --disable-shared --enable-relocatable.
1182 Reported by Michele Locati <michele@locati.it>
1183 in <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00052.html>.
1185 * gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Map 'relocate2' to a different
1188 2019-04-26 Bruno Haible <bruno@clisp.org>
1190 Document the OUTPUT_CHARSET environment variable.
1191 Reported by Václav Slavík <vaclav@slavik.io>
1192 via Michele Locati <michele@locati.it>.
1194 * gettext-tools/doc/gettext.texi (Working in a Windows console): New section.
1196 2019-04-14 Bruno Haible <bruno@clisp.org>
1198 Update translations (from the TP).
1199 * gettext-runtime/po/*.po: Update.
1200 * gettext-runtime/po/LINGUAS: Add 'ast'.
1201 * gettext-tools/po/*.po: Update.
1202 * gettext-tools/examples/po/*.po: Update.
1203 * gettext-tools/examples/po/LINGUAS: Add 'ta'.
1204 * gettext-tools/examples/hello-*/po/LINGUAS: Likewise.
1205 * gettext-tools/examples/Makefile.am (EXAMPLESPOFILES): Add ta.po.
1207 Prepare for 0.20 release.
1208 * gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Update.
1209 * gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Update.
1210 * gettext-runtime/m4/gettext.m4: Bump version number in comment.
1211 * gettext-runtime/m4/intl.m4: Likewise.
1212 * gettext-runtime/m4/intlmacosx.m4: Likewise.
1213 * gettext-runtime/m4/po.m4: Likewise.
1214 (GETTEXT_MACRO_VERSION): Bump to 0.20.
1215 * gettext-runtime/po/Makefile.in.in (GETTEXT_MACRO_VERSION): Likewise.
1216 * gettext-runtime/intl/Makefile.am (LTV_*): Bump to 9:6:2.
1217 * gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:5:5.
1218 * gettext-tools/configure.ac (ARCHIVE_VERSION): Set to 0.20.
1219 * gettext-tools/misc/autopoint.in: Accept version 0.20.
1220 * gettext-runtime/doc/matrix.texi: Update from TP.
1221 * gettext-runtime/doc/nls.texi (STATUS): Update.
1222 * gettext-runtime/src/envsubst.c (main): Update copyright year in --version
1224 * gettext-runtime/src/gettext.c (main): Likewise.
1225 * gettext-runtime/src/ngettext.c (main): Likewise.
1226 * gettext-tools/src/cldr-plurals.c (main): Likewise.
1227 * gettext-tools/src/hostname.c (main): Likewise.
1228 * gettext-tools/src/msgattrib.c (main): Likewise.
1229 * gettext-tools/src/msgcat.c (main): Likewise.
1230 * gettext-tools/src/msgcmp.c (main): Likewise.
1231 * gettext-tools/src/msgcomm.c (main): Likewise.
1232 * gettext-tools/src/msgconv.c (main): Likewise.
1233 * gettext-tools/src/msgen.c (main): Likewise.
1234 * gettext-tools/src/msgexec.c (main): Likewise.
1235 * gettext-tools/src/msgfilter.c (main): Likewise.
1236 * gettext-tools/src/msgfmt.c (main): Likewise.
1237 * gettext-tools/src/msggrep.c (main): Likewise.
1238 * gettext-tools/src/msginit.c (main): Likewise.
1239 * gettext-tools/src/msgmerge.c (main): Likewise.
1240 * gettext-tools/src/msgunfmt.c (main): Likewise.
1241 * gettext-tools/src/msguniq.c (main): Likewise.
1242 * gettext-tools/src/recode-sr-latin.c (main): Likewise.
1243 * gettext-tools/src/urlget.c (main): Likewise.
1244 * gettext-tools/src/xgettext.c (main): Likewise.
1245 * gettext-runtime/src/gettext.sh.in (func_version): Update copyright year.
1246 * gettext-tools/misc/convert-archive.in (func_version): Likewise.
1247 * gettext-tools/misc/gettextize.in (func_version): Likewise.
1248 * libtextstyle/version.sh: Use version number 0.20 here as well.
1249 * gettext-runtime/NEWS: Mention changes (from main NEWS).
1250 * libtextstyle/NEWS: Mention changes.
1252 autopoint: Reject AM_GNU_GETTEXT without 'external' for versions >= 0.20.
1253 * gettext-tools/misc/autopoint.in: Fail if AM_GNU_GETTEXT without 'external' is
1254 specified with a gettext version >= 0.20.
1255 * gettext-tools/tests/autopoint-2: Update. Add two more scenarios.
1256 * gettext-tools/tests/autopoint-3: Don't test AM_GNU_GETTEXT([use-libtool]) nor
1257 --with-included-gettext. Don't use libtoolize.
1259 build: Fix Makefile.am formatting.
1260 * gettext-runtime/man/Makefile.am: Start every indented line with a tab.
1262 build: Don't fail copyright header check on archive.dir.tar.
1263 * check-copyright-headers (func_check_file): Succeed for the archive.dir.tar
1266 Update to newest gnulib.
1268 2019-04-13 Bruno Haible <bruno@clisp.org>
1270 cldr-plurals: Fix a test failure on IRIX 6.5.
1271 * gettext-tools/src/cldr-plural-exp.c (cldr_plural_rule_list_print): Don't
1272 assume that fprintf supports %zu.
1274 build: Fix build failure when perl exists but not perl's Locale::gettext module.
1275 * gettext-runtime/man/x-to-1.in: Remove file.
1276 * gettext-tools/man/x-to-1.in: Remove file.
1277 * autogen.sh: Copy x-to-1.in from gnulib.
1279 build: Fix build failure with a preinstalled libxml (regression from 2019-04-02).
1280 * gettext-tools/src/Makefile.am (AM_CPPFLAGS): Remove -I options that point into
1282 (textstyle.h): New rule.
1283 (BUILT_SOURCES, MOSTLYCLEANFILES): Add textstyle.h and textstyle/*.h.
1285 build: Don't link libgettextlib and libgettextsrc against libgomp.
1286 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add openmp-init. Remove openmp.
1287 * gettext-tools/configure.ac: Invoke AC_OPENMP.
1289 Update to newest gnulib.
1291 2019-04-12 Bruno Haible <bruno@clisp.org>
1293 msgfmt: Fix another buffer overrun.
1294 Reported and patch by Joshua Root <jmr@macports.org>
1295 at <https://savannah.gnu.org/bugs/?56126>.
1297 * gettext-tools/src/write-java.c (write_java_msgid): Allocate memory for the
1298 trailing NUL byte as well.
1299 * gettext-tools/src/write-csharp.c (write_csharp_msgid): Likewise.
1301 2019-04-11 Bruno Haible <bruno@clisp.org>
1303 build: Explicitly request some more gnulib modules.
1304 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add localtime, unsetenv.
1306 build: Fix build failure on mingw (regression from 2019-04-02).
1307 * gettext-tools/woe32dll/gettextlib-exports.c: Remove
1308 gl_array_list_implementation, styled_ostream_typeinfo.
1309 * gettext-tools/woe32dll/gettextsrc-exports.c: Remove color_mode,
1310 color_test_mode, style_file_name.
1311 * autogen.sh: Don't import the gnulib array-list-tests and linkedhash-list-tests
1314 build: Fix build failure on mingw (regression from 2019-04-02).
1315 * libtextstyle/autogen.sh: Pass a --macro-prefix option to gnulib-tool.
1316 * libtextstyle/configure.ac: Update accordingly.
1318 libtextstyle: Fix build failure on mingw (regression from 2019-03-17).
1319 * libtextstyle/lib/Makefile.am (config.h): Emit a line that ensures that
1320 isatty.c defines the symbol 'libtextstyle_isatty', not 'isatty'.
1322 2019-04-11 Bruno Haible <bruno@clisp.org>
1324 build: Fix build failure on mingw.
1325 For some reason, Automake puts a definition of CXXLD in
1326 gettext-tools/src/Makefile.in but not in
1327 gettext-tools/gnulib-lib/Makefile.in.
1329 * gettext-tools/gnulib-lib/Makefile.am (CXXLD): Define.
1331 2019-04-10 Bruno Haible <bruno@clisp.org>
1333 msgfmt: Fix a buffer overrun.
1334 Reported by Tobi Schäfer at <https://trac.macports.org/ticket/58323>,
1335 via Ryan Schmidt <@ryandesign.com> at <https://savannah.gnu.org/bugs/?56112>.
1336 Patch proposed by Joshua Root.
1338 * gettext-tools/src/write-java.c (msgid_hashcode): Allocate memory for the
1339 trailing NUL byte as well.
1341 2019-04-09 Bruno Haible <bruno@clisp.org>
1343 Fix test failures on AIX 7.2.
1344 * gettext-tools/tests/intl-thread-1-prg.c: Test HAVE_WORKING_USELOCALE instead
1346 * gettext-tools/tests/intl-thread-2-prg.c: Likewise.
1347 * gettext-tools/tests/intl-thread-3-prg.c: Likewise.
1349 msgmerge: Fix crash on 32-bit AIX 7.2.
1350 * gettext-tools/src/msgmerge.c: Include <omp.h>.
1351 (main): Invoke openmp_init().
1353 Update to newest gnulib.
1355 2019-04-08 Bruno Haible <bruno@clisp.org>
1357 Make sure that libintl.h declares the *wprintf overrides on Windows.
1358 * gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Test for wprintf, not fwprintf.
1360 Update to newest gnulib.
1362 2019-04-08 Bruno Haible <bruno@clisp.org>
1364 autopoint: Don't risk failing because of user or system git configurations.
1365 Reported by Jamie Kirkpatrick <jkp@kirkconsulting.co.uk>
1366 in <https://savannah.gnu.org/support/?107689>.
1368 * gettext-tools/misc/autopoint.in: Set/unset environment variables, so that git
1369 does not read the user's git configuration nor the system's git configuration.
1370 * gettext-tools/misc/convert-archive.in: Likewise.
1372 2019-04-08 Bruno Haible <bruno@clisp.org>
1374 xgettext: Recognize ECMAScript-262 6th edition template literals.
1375 Reported by Philip Chimento <philip.chimento@gmail.com>
1376 in <https://savannah.gnu.org/bugs/index.php?50920>.
1378 * gettext-tools/src/x-javascript.c (P7_TEMPLATE_START_OF_EXPRESSION): New macro.
1379 (enum token_type_ty): Add token_type_template, token_type_ltemplate,
1380 token_type_mtemplate, token_type_rtemplate.
1381 (free_token): Treat token_type_template like token_type_string.
1382 (phase7_getuc): Add support for backquote quote_char.
1383 (brace_depth, template_literal_depth): New variables.
1384 (phase5_get): Parse template literals.
1385 (x_javascript_lex): Treat token_type_template like token_type_string. Handle the
1386 combination of symbol followed by template.
1387 (extract_balanced): Treat token_type_template like token_type_string, and
1388 token_type_ltemplate, token_type_mtemplate, token_type_rtemplate like
1390 (extract_javascript): Initialize brace_depth, template_literal_depth.
1391 * gettext-tools/tests/xgettext-javascript-7: New file.
1392 * gettext-tools/tests/Makefile.am (TESTS): Add it.
1393 * gettext-tools/doc/gettext.texi (JavaScript): Mention the template literal
1395 * NEWS: Mention the improvement.
1397 2019-04-08 Bruno Haible <bruno@clisp.org>
1399 xgettext: Make JavaScript parser more robust.
1400 * gettext-tools/src/x-javascript.c (extract_javascript): Initialize
1401 inside_embedded_js_in_xml.
1403 2019-04-07 Bruno Haible <bruno@clisp.org>
1405 build: Verify that newly added files have an appropriate copyright notice.
1406 * check-copyright-headers: New file.
1407 * Makefile.am (EXTRA_DIST): Add it.
1408 (distcheck-hook): Run check-copyright-headers and fail if it fails.
1410 2019-04-07 Bruno Haible <bruno@clisp.org>
1412 doc: Add copyright notices in several files.
1413 Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
1415 * gettext-runtime/doc/nls.texi: Add delegating copyright notice.
1416 * gettext-runtime/doc/rt-*.texi: Likewise.
1417 * gettext-tools/doc/autopoint.texi: Likewise.
1418 * gettext-tools/doc/gettextize.texi: Likewise.
1419 * gettext-tools/doc/msg*.texi: Likewise.
1420 * gettext-tools/doc/xgettext.texi: Likewise.
1422 2019-04-07 Bruno Haible <bruno@clisp.org>
1424 build: Unify the three copies of texi2html.
1425 * build-aux/texi2html: Moved to here from libtextstyle/build-aux/texi2html.
1426 * libtextstyle/autogen.sh: Copy texi2html.
1427 * gettext-runtime/libasprintf/texi2html: Remove file.
1428 * gettext-runtime/libasprintf/Makefile.am (TEXI2HTML): Use build-aux/texi2html.
1429 (EXTRA_DIST): Remove texi2html.
1430 * gettext-tools/doc/texi2html: Remove file.
1431 * gettext-tools/doc/Makefile.am (TEXI2HTML): Use build-aux/texi2html.
1432 (EXTRA_DIST): Remove texi2html.
1433 * Makefile.am (EXTRA_DIST): Add build-aux/texi2html.
1434 (distcheck-hook): Update.
1436 2019-04-07 Bruno Haible <bruno@clisp.org>
1438 doc: Use a version of texi2html which is under a good license.
1439 Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
1441 * gettext-tools/doc/texi2html: Copied from texi2html-1.78, with changes made in
1442 libunistring/build-aux/texi2html and then in libtextstyle/build-aux/texi2html.
1443 * gettext-tools/doc/gettext.texi: Enable the Top node during texi2html
1445 * gettext-tools/doc/Makefile.am (gettext.html): Use texi2html options
1446 -no-sec-nav -no-menu -toc-links.
1447 (gettext_toc.html): Likewise. Pull out generated files out of subdirectory.
1449 2019-04-07 Bruno Haible <bruno@clisp.org>
1451 libasprintf: Use a version of texi2html which is under a good license.
1452 Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
1454 * gettext-runtime/libasprintf/texi2html: Copied from texi2html-1.78, with
1455 changes made in libunistring/build-aux/texi2html and then in
1456 libtextstyle/build-aux/texi2html.
1457 * gettext-runtime/libasprintf/fdl.texi: New file, copied from
1458 gettext-tools/doc/fdl.texi.
1459 * gettext-runtime/libasprintf/gpl.texi: New file, copied from
1460 gnulib/doc/gpl-2.0.texi.
1461 * gettext-runtime/libasprintf/lgpl.texi: New file, copied from
1462 gnulib/doc/lgpl-2.1.texi.
1463 * gettext-runtime/libasprintf/autosprintf.texi: Invoke @contents. Enable the
1464 Top node during texi2html processing.
1465 (Licenses): New appendix.
1466 * gettext-runtime/libasprintf/Makefile.am (TEXINCLUDES): New variable.
1467 (MAKEINFOFLAGS): Use it.
1468 (autosprintf_TEXINFOS): New variable.
1469 (autosprintf_all.html): Depend on it. Use texi2html options -no-sec-nav -no-menu
1472 2019-04-07 Bruno Haible <bruno@clisp.org>
1474 libtextstyle: Tweak style of HTML documentation.
1475 * libtextstyle/build-aux/texi2html (BIG_RULE): Set to empty.
1477 2019-04-07 Bruno Haible <bruno@clisp.org>
1479 Add copyright notices in several files.
1480 Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
1482 * gettext-tools/doc/FAQ.html: Fix copyright notice added on 2019-04-04.
1483 * gettext-tools/doc/tutorial.html: Add GFDL copyright notice. Permission given
1484 by Gora Mohanty <gora_mohanty@yahoo.co.in> through private email on 2004-11-13.
1485 * gettext-tools/po/Makevars.template: Don't mention the file name, since this
1486 file is meant to be copied and renamed to 'Makevars'.
1487 * gettext-tools/examples/hello-*/po/Makevars: Add all-permissive copyright
1489 * gettext-tools/examples/hello-c-gnome3/hello.ui: Add public-domain notice.
1490 * gettext-tools/examples/hello-c-gnome3/hello.gresource.xml: Likewise.
1491 * gettext-tools/examples/hello-c-gnome3/hello.gschema.xml: Likewise.
1492 * gettext-tools/examples/hello-java-awt/m4/TestAWT.java: Likewise.
1493 * gettext-tools/examples/hello-java-swing/m4/TestAWT.java: Likewise.
1494 * gettext-tools/examples/hello-java-qtjambi/m4/Test15.java: Likewise.
1495 * gettext-tools/examples/check-examples: Add GPLv3+ copyright notice.
1496 * gettext-tools/examples/installpaths.in: Likewise.
1497 * gettext-tools/examples/po/mmsmallpo.sh: Likewise.
1498 * gettext-tools/examples/po/xsmallpot.sh: Likewise.
1499 * gettext-tools/its/glade.loc: Likewise.
1500 * gettext-tools/its/gsettings.loc: Likewise.
1501 * gettext-tools/its/metainfo.its: Likewise.
1502 * gettext-tools/its/metainfo.loc: Likewise.
1503 * gettext-tools/src/filters.h: Add missing copyright line.
1505 2019-04-04 Bruno Haible <bruno@clisp.org>
1507 Reduce ABOUT-NLS to just a hyperlink.
1508 The common way to distribute information, nowadays, is through the web,
1509 not by including files in tarballs of packages. Also, the current
1510 contents of ABOUT-NLS is outdated.
1512 Reported by Samuel Thibault in <https://savannah.gnu.org/bugs/?54809>.
1514 * gettext-runtime/ABOUT-NLS: Replace text with a reference to the online
1516 * gettext-runtime/Makefile.am (MAKEINFO): Remove variable.
1517 (all-local, ABOUT-NLS): Remove rules.
1518 * gettext-tools/src/msginit.c (main): Point the user to the online documentation
1519 instead of the ABOUT-NLS file.
1520 * gettext-tools/doc/gettext.texi (Installing Localizations, Prerequisites,
1521 Makefile): Don't mention ABOUT-NLS any more.
1522 * gettext-tools/doc/gettextize.texi: Update description of ABOUT-NLS.
1523 * gettext-tools/doc/FAQ.html: Refer to the online documentation instead of the
1525 * README: Don't mention ABOUT-NLS any more.
1527 2019-04-04 Bruno Haible <bruno@clisp.org>
1529 doc: Include the contents of ABOUT-NLS in the documentation.
1530 * gettext-runtime/doc/nls.texi (The original ABOUT-NLS): Renamed from
1531 'Translation Intro'. Turn into a section. Mark section as historical.
1532 * gettext-tools/doc/gettext.texi: Include nls.texi.
1533 * gettext-tools/doc/Makefile.am (gettext_TEXINFOS): Add nls.texi and
1536 doc: Update ISO 639 list.
1537 * gettext-tools/doc/iso-639.texi: Regenerated.
1539 2019-04-04 Bruno Haible <bruno@clisp.org>
1541 Add copyright notices in several files.
1542 Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
1544 * gettext-runtime/m4/Makefile.am: Add GPL copyright notice.
1545 * gettext-tools/m4/Makefile.am: Likewise.
1546 * gettext-tools/doc/iso-639.sed: Likewise.
1547 * gettext-tools/doc/iso-639-2.sed: Likewise.
1548 * gettext-tools/doc/iso-3166.sed: Likewise.
1549 * gettext-tools/its/glade1.its: Likewise.
1550 * gettext-tools/its/glade2.its: Likewise.
1551 * gettext-tools/its/gsettings.its: Likewise.
1552 * gettext-tools/its/gtkbuilder.its: Likewise.
1553 * gettext-tools/misc/cvsuser.c: Likewise.
1554 * gettext-tools/projects/team-address: Likewise.
1555 * gettext-tools/projects/GNOME/team-address: Likewise.
1556 * gettext-tools/projects/GNOME/trigger: Likewise.
1557 * gettext-tools/projects/KDE/team-address: Likewise.
1558 * gettext-tools/projects/KDE/trigger: Likewise.
1559 * gettext-tools/projects/TP/team-address: Likewise.
1560 * windows/windres-options: Likewise.
1561 * gettext-runtime/po/insert-header.sin: Add copyright notice, based on the one
1563 * gettext-tools/doc/FAQ.html: Add copyright notice, suitable for documentation.
1565 2019-04-03 Bruno Haible <bruno@clisp.org>
1567 Mention the support for Java 11.
1568 This support was added in gnulib on 2018-09-26.
1570 * NEWS: Mention the support for Java 11.
1572 2019-04-03 Bruno Haible <bruno@clisp.org>
1574 libtextstyle: Clean up old TODO item.
1575 * libtextstyle/Makefile.am: Remove obsolete comment.
1577 2019-04-02 Bruno Haible <bruno@clisp.org>
1579 libtextstyle: Distribute two more files.
1580 * libtextstyle/Makefile.am (EXTRA_DIST): Add
1581 gnulib-local/lib/libxml/xmlversion.in.h.diff, gnulib-local/modules/libxml.diff.
1583 build: Move local gnulib modules that are only needed in libtextstyle.
1584 * libtextstyle/gnulib-local/*: Many files moved to here from gnulib-local/*.
1585 * libtextstyle/gnulib-local/modules/libglib: Apply diff.
1586 * libtextstyle/gnulib-local/modules/libglib.diff: Remove file.
1587 * libtextstyle/gnulib-local/modules/libcroco: Apply diff.
1588 * libtextstyle/gnulib-local/modules/libcroco.diff: Remove file.
1589 * libtextstyle/gnulib-local/modules/term-styled-ostream: Apply diff.
1590 * libtextstyle/gnulib-local/modules/term-styled-ostream.diff: Remove file.
1591 * libtextstyle/gnulib-local/modules/html-styled-ostream: Apply diff.
1592 * libtextstyle/gnulib-local/modules/html-styled-ostream.diff: Remove file.
1593 * libtextstyle/gnulib-local/modules/noop-styled-ostream: Apply diff.
1594 * libtextstyle/gnulib-local/modules/noop-styled-ostream.diff: Remove file.
1595 * libtextstyle/woe32dll/c++term-styled-ostream.cc: Remove file.
1596 * libtextstyle/woe32dll/c++html-styled-ostream.cc: Remove file.
1597 * libtextstyle/woe32dll/c++noop-styled-ostream.cc: Remove file.
1598 * gettext-tools/woe32dll/c++term-styled-ostream.cc: Remove file.
1599 * gettext-tools/woe32dll/c++html-styled-ostream.cc: Remove file.
1600 * gnulib-local/Makefile.am (EXTRA_DIST): Remove the files that were moved away.
1601 * libtextstyle/Makefile.am (EXTRA_DIST): Add the files that were moved to
1602 libtextstyle/gnulib-local/. Add build-aux/moopp.
1603 * Makefile.am (EXTRA_DIST): Remove build-aux/moopp.
1605 libgettextpo: Avoid closing a FILE stream when it will still be used.
1606 * gettext-tools/src/write-catalog.c (msgdomain_list_print): Don't call
1607 ostream_free if we're using the dummy <textstyle.h>.
1609 libgettextpo: Use a dummy replacement for libtextstyle.
1610 * gnulib-local/modules/libtextstyle-dummy: New file, based on gnulib's
1611 modules/libtextstyle-optional.
1612 * gnulib-local/Makefile.am (EXTRA_DIST): Add it.
1613 * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO): Add libtextstyle-dummy. Remove
1614 file-ostream, ostream.
1615 * gettext-tools/src/write-catalog.h: Include <textstyle.h> always.
1616 * gettext-tools/src/write-catalog.c: Likewise.
1617 * gettext-tools/src/write-po.h: Likewise.
1618 * gettext-tools/src/write-po.c: Likewise.
1620 Link the msg* and xgettext programs against libtextstyle.
1621 * libtextstyle/autogen.sh: Don't generate lib/color.h and lib/color.c.
1622 * libtextstyle/lib/color.h: Moved to here from gettext-tools/src/color.h.
1623 * libtextstyle/lib/color.c: Moved to here from gettext-tools/src/color.c.
1624 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Remove fd-ostream, file-ostream,
1625 html-styled-ostream, ostream, styled-ostream, term-styled-ostream. Add libxml.
1626 * gettext-tools/gnulib-lib/Makefile.am (MOOPPFLAGS): Remove customization.
1627 * gettext-tools/gnulib-tests/Makefile.am (test_term_ostream_LDADD): Remove
1629 * gettext-tools/src/Makefile.am (noinst_HEADERS): Remove color.h.
1630 (AM_CPPFLAGS): Add -I directives to the libtextstyle/lib directory.
1631 (libgettextsrc_la_SOURCES): Remove color.c.
1632 (libgettextsrc_la_LDFLAGS): Link with libtextstyle.la.
1633 * gettext-tools/src/FILES: Update.
1634 * gettext-tools/src/write-catalog.h: Include <textstyle.h> instead of ostream.h.
1635 * gettext-tools/src/write-catalog.c: Include <textstyle.h> instead of color.h
1637 (msgdomain_list_print): Use styled_ostream_create and
1638 noop_styled_ostream_create.
1639 * gettext-tools/src/write-po.h: Include <textstyle.h> instead of ostream.h.
1640 * gettext-tools/src/write-po.c: Include <textstyle.h> instead of *-ostream.h.
1641 (is_stylable): Remove function.
1642 (begin_css_class, end_css_class): Update. Mark as inline.
1643 * gettext-tools/src/write-properties.c: Include <textstyle.h> instead of
1645 * gettext-tools/src/write-stringtable.c: Likewise.
1646 * gettext-tools/src/msgattrib.c: Include <textstyle.h> instead of color.h.
1647 * gettext-tools/src/msgcat.c: Likewise.
1648 * gettext-tools/src/msgcomm.c: Likewise.
1649 * gettext-tools/src/msgconv.c: Likewise.
1650 * gettext-tools/src/msgen.c: Likewise.
1651 * gettext-tools/src/msgfilter.c: Likewise.
1652 * gettext-tools/src/msggrep.c: Likewise.
1653 * gettext-tools/src/msginit.c: Likewise.
1654 * gettext-tools/src/msgmerge.c: Likewise.
1655 * gettext-tools/src/msgunfmt.c: Likewise.
1656 * gettext-tools/src/msguniq.c: Likewise.
1657 * gettext-tools/src/xgettext.c: Likewise.
1659 libtextstyle: Generalize fd-styled-ostream to noop-styled-ostream.
1660 * gnulib-local/lib/noop-styled-ostream.oo.h: New file, based on
1661 gnulib-local/lib/fd-styled-ostream.oo.h.
1662 * gnulib-local/lib/noop-styled-ostream.oo.c: New file, based on
1663 gnulib-local/lib/fd-styled-ostream.oo.c.
1664 * gnulib-local/modules/noop-styled-ostream: New file, based on
1665 gnulib-local/modules/fd-styled-ostream.
1666 * gnulib-local/Makefile.am (EXTRA_DIST): Remove lib/fd-styled-ostream.oo.[hc]
1667 and modules/fd-styled-ostream. Add lib/noop-styled-ostream.oo.[hc] and
1668 modules/noop-styled-ostream.
1669 * libtextstyle/woe32dll/c++noop-styled-ostream.cc: New file, based on
1670 libtextstyle/woe32dll/c++fd-styled-ostream.cc.
1671 * libtextstyle/gnulib-local/modules/noop-styled-ostream.diff: New file, based
1672 on libtextstyle/gnulib-local/modules/fd-styled-ostream.diff.
1673 * gnulib-local/lib/fd-styled-ostream.oo.h: Remove file.
1674 * gnulib-local/lib/fd-styled-ostream.oo.c: Remove file.
1675 * gnulib-local/modules/fd-styled-ostream: Remove file.
1676 * libtextstyle/woe32dll/c++fd-styled-ostream.cc: Remove file.
1677 * libtextstyle/gnulib-local/modules/fd-styled-ostream.diff: Remove file.
1678 * libtextstyle/autogen.sh (GNULIB_MODULES): Add noop-styled-ostream. Remove
1680 * libtextstyle/lib/misc.c: Include noop-styled-ostream.h, fd-ostream.h.
1681 (styled_ostream_create): Call fd_ostream_create and noop_styled_ostream_create
1682 instead of fd_styled_ostream_create.
1683 * libtextstyle/lib/textstyle.h (noop_styled_ostream_t): New type.
1684 (noop_styled_ostream_*): New declarations.
1685 * libtextstyle/doc/libtextstyle.texi (The noop_styled_ostream class): New
1688 build: Build and install libtextstyle.
1689 * autogen.sh: Recurse into libtextstyle directory.
1690 * configure.ac: Likewise.
1691 * Makefile.am (SUBDIRS): Add libtextstyle.
1692 * DEPENDENCIES: Mention that libiconv and ncurses are also used by libtextstyle.
1693 * PACKAGING: Recommend to ship libtextstyle as a third binary package.
1694 * NEWS: Mention that libtextstyle is installed.
1696 build: Separate git operations from build operations.
1697 * gitsub.sh: New file, from gnulib.
1698 * autogen.sh: Remove all git operations and the --no-git option. Look at the
1699 GNULIB_SRCDIR environment variable. Ignore the GNULIB_TOOL environment variable.
1700 * HACKING: Explain when to use gitsub.sh.
1702 libtextstyle: Bump version number.
1704 2019-04-01 Daiki Ueno <ueno@gnu.org>
1706 desktop: Fix whitespace handling around '='
1707 While the spec only allows spaces before and after '=',
1708 xgettext/msgfmt previously accepted all whitespaces including '\n'.
1709 That was causing unwanted concatenation of desktop lines.
1711 Reported by Bastien Nocera in:
1712 https://lists.gnu.org/archive/html/bug-gettext/2019-03/msg00017.html
1714 * gettext-tools/src/read-desktop.c (desktop_lex): Properly handle
1715 space characters before and after '='.
1716 * gettext-tools/tests/msgfmt-desktop-1: Add a test case.
1718 2019-04-01 Bruno Haible <bruno@clisp.org>
1720 libtextstyle: Bump version number.
1722 2019-03-31 Bruno Haible <bruno@clisp.org>
1724 libtextstyle: Add support for true-color terminals.
1725 * gnulib-local/lib/term-ostream.oo.c (colormodel_t): Add cm_xtermrgb.
1726 (rgb_to_color_xtermrgb): New function.
1727 (attributes_t): Extend the color fields to 25 bits.
1728 (struct term_ostream): New fields active_attr_color, active_attr_bgcolor.
1729 (out_color_change, out_bgcolor_change, term_ostream::rgb_to_color): Handle
1731 (out_attr_change): Set also active_attr_color, active_attr_bgcolor.
1732 (async_set_attributes_from_default): Fetch also active_attr_color,
1733 active_attr_bgcolor.
1734 (term_ostream_create): Accept all $TERM values that end in -direct.
1735 * libtextstyle/doc/libtextstyle.texi (Terminal emulators): Document the
1736 prerequisites for true-color support.
1737 * libtextstyle/NEWS: Mention the change.
1739 maint: Make code more "git diff"-friendly.
1740 * gettext-runtime/src/envsubst.c: Prefer long lines to lines that start with a
1741 non-whitespace character.
1742 * gettext-tools/src/cldr-plurals.c: Likewise.
1743 * gettext-tools/src/format.c: Likewise.
1744 * gettext-tools/src/msgcmp.c: Likewise.
1745 * gettext-tools/src/msgfmt.c: Likewise.
1746 * gettext-tools/src/msggrep.c: Likewise.
1747 * gettext-tools/src/msgl-cat.c: Likewise.
1748 * gettext-tools/src/msgl-charset.c: Likewise.
1749 * gettext-tools/src/msgl-check.c: Likewise.
1750 * gettext-tools/src/msgl-iconv.c: Likewise.
1751 * gettext-tools/src/msgmerge.c: Likewise.
1752 * gettext-tools/src/po-lex.c: Likewise.
1753 * gettext-tools/src/read-stringtable.c: Likewise.
1754 * gettext-tools/src/recode-sr-latin.c: Likewise.
1755 * gettext-tools/src/write-catalog.c: Likewise.
1756 * gettext-tools/src/write-java.c: Likewise.
1757 * gettext-tools/src/write-po.c: Likewise.
1758 * gettext-tools/src/x-csharp.c: Likewise.
1759 * gettext-tools/src/x-elisp.c: Likewise.
1760 * gettext-tools/src/x-java.c: Likewise.
1761 * gettext-tools/src/x-javascript.c: Likewise.
1762 * gettext-tools/src/x-librep.c: Likewise.
1763 * gettext-tools/src/x-lisp.c: Likewise.
1764 * gettext-tools/src/x-perl.c: Likewise.
1765 * gettext-tools/src/x-python.c: Likewise.
1766 * gettext-tools/src/x-scheme.c: Likewise.
1767 * gettext-tools/src/x-sh.c: Likewise.
1768 * gettext-tools/src/x-tcl.c: Likewise.
1769 * gettext-tools/src/x-vala.c: Likewise.
1770 * gettext-tools/src/xg-encoding.c: Likewise.
1771 * gettext-tools/src/xgettext.c: Likewise.
1773 libtextstyle: Improve documentation regarding the TERM value.
1774 * libtextstyle/doc/libtextstyle.texi (The TERM variable): Many more details.
1775 (Terminal emulators, Consoles): New subsections.
1777 libtextstyle: Support for terminal types with 256 colors.
1778 * gnulib-local/lib/term-ostream.oo.c (term_ostream_create): Accept all $TERM
1779 values that end in -16color or -256 color (such as Eterm-256color,
1780 mlterm-256color, or putty-256color).
1781 * libtextstyle/NEWS: Mention the change.
1783 2019-03-30 Takesi Ayanokoji <ayanokoji.takesi@gmail.com>
1785 po-mode: Enable highlighting of #, lines.
1786 * gettext-tools/emacs/po-mode.el (po-font-lock-keywords): Add rule for #, lines.
1788 2019-03-30 Bruno Haible <bruno@clisp.org>
1790 po-mode: Remove support for Emacs versions < 22.
1791 Emacs 22 is the oldest version still in use, see
1792 <https://repology.org/project/emacs/versions>.
1794 * gettext-tools/emacs/po-compat.el: Remove conditional code for Emacs < 22.
1795 * gettext-tools/emacs/po-mode.el: Likewise.
1796 (po-rehighlight): Remove function.
1797 (po-check-all-pending-edits, po-check-for-pending-edit): Update.
1798 * gettext-tools/emacs/start-po.el: Update comment.
1800 2019-03-30 Bruno Haible <bruno@clisp.org>
1802 po-mode: Remove support for XEmacs.
1803 * gettext-tools/emacs/po-mode.el: Remove conditional code for XEmacs.
1804 * gettext-tools/emacs/po-compat.el: Likwise.
1806 build: Move the Emacs package sources to subdirectory gettext-tools/emacs/.
1807 * gettext-tools/emacs/*.el: Moved here from gettext-tools/misc/.
1808 * gettext-tools/emacs/Makefile.am: New file, based on
1809 gettext-tools/misc/Makefile.am.
1810 * gettext-tools/misc/Makefile.am (lisp_LISP): Remove variable.
1811 * gettext-tools/configure.ac (AC_CONFIG_FILES): Add emacs/Makefile.
1812 * gettext-tools/Makefile.am (SUBDIRS): Add 'emacs'.
1814 Update after gnulib changed.
1816 2019-03-27 Bruno Haible <bruno@clisp.org>
1818 libtextstyle: Add support for Windows consoles.
1819 * gnulib-local/lib/term-ostream.oo.c: Include <windows.h>, msvc-nothrow.h,
1821 (struct term_ostream): Add fields handle, is_windows_console,
1822 default_console_attributes, current_console_attributes.
1823 (out_color_change, out_bgcolor_change, out_underline_change, out_attr_change,
1824 restore, async_restore, async_set_attributes_from_default, term_ostream::flush):
1825 Add separate code path for Windows consoles.
1826 (term_ostream_create): On Windows, test whether the handle refers to a console,
1827 and initialize the new fields.
1828 * gnulib-local/modules/term-ostream (Depends-on): Add msvc-nothrow.
1829 * libtextstyle/NEWS: Mention it.
1831 libtextstyle: Make the SIGCONT handler work more reliably.
1832 * gnulib-local/lib/term-ostream.oo.c (out_attr_change): Modify active_attr
1833 before emitting the escape sequences, not afterwards.
1834 * libtextstyle/NEWS: Mention the fix.
1836 libtextstyle: Mention fixes.
1837 * libtextstyle/NEWS: Mention two fixes done in the gnulib module
1838 'term-style-control'.
1840 libtextstyle: Small fix for last commit.
1841 * gnulib-local/lib/term-ostream.oo.c (struct term_ostream): Mark fd volatile.
1843 Update to newest gnulib.
1845 2019-03-27 Bruno Haible <bruno@clisp.org>
1848 Suggested by Daiki Ueno.
1850 * gettext-tools/src/its.c (normalize_whitespace): Remove local variable.
1852 2019-03-26 Bruno Haible <bruno@clisp.org>
1854 its: Fix test failure.
1855 * gettext-tools/src/its.c (normalize_whitespace): Fix detection of paragraph
1856 boundary. Get rid of initial trim() call.
1857 * gettext-tools/tests/xgettext-its-1: Fix typo. Verify removal of whitespace
1858 at the end of the last paragraph.
1859 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add memchr.
1861 build: Use gnulib module 'strchrnul' explicitly.
1862 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add strchrnul.
1864 2019-03-24 Bruno Haible <bruno@clisp.org>
1866 libtextstyle: Use gnulib module 'term-style-control'.
1867 * gnulib-local/lib/term-ostream.oo.h: Include term-style-control.h.
1868 (ttyctl_t): Remove type.
1869 * gnulib-local/lib/term-ostream.oo.c (DEBUG_SIGNALS): Remove macro.
1870 Don't include <signal.h>, <stdio.h>, <sys/stat.h>, fatal-signal.h,
1871 sig-handler.h, same-inode.h.
1872 (SIZEOF): Remove macro.
1873 (nonintr_tcgetattr, nonintr_tcsetattr): Remove functions.
1874 (log_message, sprintf_integer, simple_errno_string, simple_signal_string,
1875 log_signal_handler_called): Remove functions.
1876 (struct term_ostream): Remove fields tty_control, same_as_stderr,
1877 non_default_active. Add control_data field instead.
1878 (get_control_data): New function.
1879 (BLOCK_SIGNALS_DURING_NON_DEFAULT_STYLE_OUTPUT): Remove macro.
1880 (term_fd): Remove variable.
1881 (pgrp_status_t): Remove type.
1882 (pgrp_status): Remove variable.
1883 (update_pgrp_status): Remove function.
1884 (out_filename): Remove variable.
1885 (out_error): Use out_stream instead of out_filename.
1886 (restore, tcsetattr_failed): Remove functions.
1887 (orig_lflag_set, orig_lflag): Remove variables.
1888 (clobber_local_mode, restore_local_mode): Remove functions.
1889 (job_control_signals): Remove variable.
1890 (num_job_control_signals): Remove macro.
1891 (relevant_signal_set, relevant_signal_set_initialized): Remove variables.
1892 (init_relevant_signal_set, block_relevant_signals, unblock_relevant_signals,
1893 is_ignored, show_signal_marker, fatal_or_stopping_signal_handler,
1894 fatal_signal_handler, stopping_signal_handler, continuing_signal_handler,
1895 ensure_continuing_signal_handler, ensure_other_signal_handlers): Remove
1897 (out_attr_change): Set out_stream and out_fd.
1898 (activate_non_default_attr, deactivate_non_default_attr): Remove functions.
1899 (restore, async_restore, async_set_attributes_from_default): New functions.
1900 (controller): New variable.
1901 (activate_default_attr, output_buffer): Update.
1902 (term_ostream::free): Invoke deactivate_term_style_controller.
1903 (term_ostream_create): Invoke activate_term_style_controller.
1904 * gnulib-local/m4/term-ostream.m4 (gl_TERM_OSTREAM): Don't test for tcgetattr().
1905 * gnulib-local/modules/term-ostream (Depends-on): Add term-style-control. Remove
1906 fatal-signal, sigaction, sigprocmask, same-inode.
1908 moopp: Allow forward references to the <class>_representation type.
1909 * gnulib-local/build-aux/moopp (func_version): Bump copyright year.
1910 (func_emit_source_c): Move the <class>_representation type alias to the top
1913 2019-03-20 Bruno Haible <bruno@clisp.org>
1915 libtextstyle: Fix a memory access from a signal handler.
1916 * gnulib-local/lib/term-ostream.oo.c (struct term_ostream): Mark active_attr
1919 libtextstyle: Bump version number.
1921 Use _GL_ASYNC_SAFE from gnulib.
1922 * gettext-tools/src/plural-eval.h (sigfpe_code): Mark as volatile.
1923 * gettext-tools/src/plural-eval.c (sigfpe_code): Likewise.
1924 (sigfpe_handler): Mark as _GL_ASYNC_SAFE.
1925 * gnulib-local/lib/term-ostream.oo.c (ASYNC_SAFE): Remove macro.
1926 Use _GL_ASYNC_SAFE instead.
1928 Update to newest gnulib.
1930 Update .gitignore after 2019-03-12 change.
1932 2019-03-17 Bruno Haible <bruno@clisp.org>
1934 libtextstyle: Bump version number.
1936 libtextstyle: Bump version number.
1938 libtextstyle: Implement reliable tty control.
1939 * gnulib-local/lib/term-ostream.oo.c (DEBUG_SIGNALS): New macro.
1940 Include <stdio.h>, <sys/stat.h>.
1941 (NOFLSH): Define fallback value.
1942 Include sig-handler.h, same-inode.h.
1943 (ASYNC_SAFE): New macro.
1944 (color_bgr): Mark as ASYNC_SAFE.
1945 (nonintr_tcgetattr, nonintr_tcsetattr): New functions.
1946 (log_message, sprintf_integer, simple_errno_string, simple_signal_string,
1947 log_signal_handler_called): New functions.
1948 (struct term_ostream): Add fields restore_colors, restore_weight,
1949 restore_posture, restore_underline, tty_control, same_as_stderr.
1950 (BLOCK_SIGNALS_DURING_NON_DEFAULT_STYLE_OUTPUT): New macro.
1951 (term_fd): New variable.
1952 (pgrp_status_t): New type.
1953 (pgrp_status): New variable.
1954 (update_pgrp_status): New function.
1955 (out_stream): New variable.
1956 (restore_colors, restore_weight, restore_posture, restore_underline): Remove
1958 (out_color_change, out_bgcolor_change, out_weight_change, out_posture_change,
1959 out_underline_change): New functions, extracted from out_attr_change.
1960 (out_attr_change): Call these functions.
1961 (restore): Use out_stream.
1962 (tcsetattr_failed): New function.
1963 (orig_lflag_set, orig_lflag): New variables.
1964 (clobber_local_mode, restore_local_mode): New functions.
1965 (job_control_signals): Renamed from stopping_signals. Add SIGCONT.
1966 (num_job_control_signals): Renamed from num_stopping_signals.
1967 (relevant_signal_set): Replaces stopping_signal_set.
1968 (relevant_signal_set_initialized): New variable.
1969 (init_relevant_signal_set): Replaces init_stopping_signal_set.
1970 (block_relevant_signals): Replaces block_stopping_signals.
1971 (unblock_relevant_signals): Replaces unblock_stopping_signals.
1972 (is_ignored): New function.
1973 (show_signal_marker): New function.
1974 (fatal_or_stopping_signal_handler, fatal_signal_handler,
1975 stopping_signal_handler, continuing_signal_handler,
1976 ensure_continuing_signal_handler, ensure_other_signal_handlers): New functions.
1977 (activate_non_default_attr, deactivate_non_default_attr): Rewritten.
1978 (term_ostream::free): Unset term_fd and call update_pgrp_status.
1979 (term_ostream_create): Initialize the fields restore_colors, restore_weight,
1980 restore_posture, restore_underline, tty_control, same_as_stderr. Call
1981 init_relevant_signal_set. Set term_fd and call ensure_continuing_signal_handler
1982 and update_pgrp_status.
1983 * gnulib-local/m4/term-ostream.m4 (gl_TERM_OSTREAM): Check for tcgetattr.
1984 * gnulib-local/modules/term-ostream (Depends-on): Add sigaction, same-inode.
1985 * libtextstyle/NEWS: Mention the change.
1987 libtextstyle: Fix build failure on Cygwin (regression from 2019-03-15).
1988 * libtextstyle/lib/Makefile.am ($(srcdir)/libtextstyle.sym.in): Renamed
1989 from $(srcdir)/libtextstyle.sym.
1990 (libtextstyle.sym): New rule.
1991 (MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST): Update accordingly.
1992 (config.h): Depend on libtextstyle.sym in the build directory.
1993 (libtextstyle_la_LDFLAGS: Use libtextstyle.sym in the build directory.
1995 libtextstyle: Clean up leftovers from 2019-03-13 commit.
1996 * libtextstyle/lib/Makefile.am (libtextstyle_la_LINK): Remove variable.
1998 2019-03-16 Bruno Haible <bruno@clisp.org>
2000 libtextstyle: Complete styled_ostream_flush_to_current_style declaration.
2001 * libtextstyle/lib/textstyle.h (term_styled_ostream_flush_to_current_style,
2002 html_styled_ostream_flush_to_current_style): New declarations.
2004 libtextstyle: Protect better against EINTR.
2005 * gnulib-local/lib/fd-ostream.oo.c (nonintr_tcdrain): New function.
2006 (fd_ostream::flush): Use it instead of tcdrain.
2007 * gnulib-local/lib/file-ostream.oo.c: Include <errno.h>.
2008 (nonintr_tcdrain): New function.
2009 (file_ostream::flush): Use it instead of tcdrain.
2010 * gnulib-local/lib/term-ostream.oo.c (nonintr_tcdrain): New function.
2011 (term_ostream::flush): Use it instead of tcdrain.
2013 2019-03-15 Bruno Haible <bruno@clisp.org>
2015 libtextstyle: Reexport isatty() override from gnulib.
2016 This is necessary for programs that are compiled for native Windows and
2017 run in a Cygwin console.
2019 * libtextstyle/autogen.sh (GNULIB_MODULES): Add 'isatty'.
2020 * libtextstyle/configure.ac: Set GNULIB_ISATTY to 0.
2021 * libtextstyle/lib/textstyle.h (libtextstyle_isatty): New declaration.
2022 (isatty): Redirect to libtextstyle_isatty.
2024 2019-03-14 Bruno Haible <bruno@clisp.org>
2026 libtextstyle: Use less code from libxml.
2027 * libtextstyle/gnulib-local/lib/libxml/xmlversion.in.h.diff: New file.
2028 * gnulib-local/lib/libxml/save.h (xmlEncodeAttributeEntities): Declare also when
2029 LIBXML_OUTPUT_ENABLED is 0.
2031 libtextstyle: Fix "make clean" failure in VPATH builds.
2032 * libtextstyle/lib/Makefile.am (CLEANDIRS_NOT_IN_SRCDIR): Remove 'textstyle'.
2033 (DISTCLEANDIRS_NOT_IN_SRCDIR): Add 'textstyle'.
2035 libtextstyle: Make sure we get new versions also of mdate-sh.
2036 * libtextstyle/autogen.sh: Erase more files in build-aux.
2038 2019-03-14 Bruno Haible <bruno@clisp.org>
2040 libtextstyle: Remove unused code for exporting variables from Windows DLLs.
2041 Here we use the third approach listed in gettext-tools/woe32dll/export.h, not
2042 the fourth approach.
2044 * libtextstyle/Makefile.am: Remove code that was never enabled.
2045 * libtextstyle/lib/Makefile.am: Likewise.
2046 * libtextstyle/configure.ac (false): Remove conditional.
2048 2019-03-14 Bruno Haible <bruno@clisp.org>
2050 libtextstyle: Add metainformation for Windows.
2052 libtextstyle: Add metainformation for Windows.
2053 * libtextstyle/lib/libtextstyle.rc: New file.
2054 * libtextstyle/lib/Makefile.am (EXTRA_DIST): Add it.
2055 (WOE32_LIBADD): New variable.
2056 (libtextstyle.res.lo): New rule.
2057 (libtextstyle_la_LIBADD, libtextstyle_la_DEPENDENCIES): Augment.
2059 2019-03-13 Bruno Haible <bruno@clisp.org>
2061 libtextstyle: Don't use a C++ compiler.
2062 * libtextstyle/gnulib-local/modules/fd-styled-ostream.diff: New file.
2063 * libtextstyle/gnulib-local/modules/html-styled-ostream.diff: New file.
2064 * libtextstyle/gnulib-local/modules/term-styled-ostream.diff: New file.
2065 * libtextstyle/lib/Makefile.am (libtextstyle_la_LINK): Use the C compiler
2067 * libtextstyle/configure.ac: Remove LT_LANG([C++]), AC_PROG_CXX, and related
2070 libasprintf: Add metainformation for Windows.
2071 * gettext-runtime/libasprintf/configure.ac: Set RC and WOE32 variables.
2072 * gettext-runtime/libasprintf/libasprintf.rc: New file.
2073 * gettext-runtime/libasprintf/Makefile.am (EXTRA_DIST): Add it.
2074 (WOE32_LIBADD): New variable.
2075 (libasprintf.res.lo): New rule.
2076 (libasprintf_la_LIBADD, libasprintf_la_DEPENDENCIES): New variables.
2078 build: Update Windows support.
2079 * gettext-runtime/intl/libintl.rc: Update.
2080 * gettext-tools/libgettextpo/libgettextpo.rc: Likewise.
2081 * windows/gettext.rc: Likewise.
2083 libtextstyle: Bump version number.
2085 2019-03-12 Bruno Haible <bruno@clisp.org>
2087 libtextstyle: Bump version number.
2089 libtextstyle: New function styled_ostream_flush_to_current_style.
2090 * gnulib-local/lib/styled-ostream.oo.h (struct styled_ostream): Add method
2091 flush_to_current_style.
2092 * gnulib-local/lib/fd-styled-ostream.oo.c
2093 (fd_styled_ostream::flush_to_current_style): New method.
2094 * gnulib-local/lib/term-styled-ostream.oo.c
2095 (term_styled_ostream::flush_to_current_style): New method.
2096 * gnulib-local/lib/html-styled-ostream.oo.c
2097 (html_styled_ostream::flush_to_current_style): New method.
2098 * libtextstyle/lib/textstyle.h (styled_ostream_flush_to_current_style): New
2100 * libtextstyle/doc/libtextstyle.texi (The styled_ostream class): Document
2101 styled_ostream_flush_to_current_style.
2102 * libtextstyle/NEWS: Mention the change.
2104 libtextstyle: New function html_ostream_flush_to_current_style.
2105 * gnulib-local/lib/html-ostream.oo.h (struct html_ostream): Add method
2106 flush_to_current_style.
2107 * gnulib-local/lib/html-ostream.oo.c (html_ostream::flush_to_current_style): New
2109 * libtextstyle/lib/textstyle.h (html_ostream_flush_to_current_style): New
2111 * libtextstyle/doc/libtextstyle.texi (The html_ostream class): Document
2112 html_ostream_flush_to_current_style.
2113 * libtextstyle/NEWS: Mention the change.
2115 libtextstyle: New function term_ostream_flush_to_current_style.
2116 * gnulib-local/lib/term-ostream.oo.h (struct term_ostream): Add method
2117 flush_to_current_style.
2118 * gnulib-local/lib/term-ostream.oo.c (struct term_ostream): Add fields
2119 default_attr, active_attr, non_default_active.
2120 (out_attr_change): Remove second argument. Update active_attr.
2121 (activate_non_default_attr, deactivate_non_default_attr, activate_default_attr):
2122 New functions, extracted from output_buffer.
2123 (output_buffer): Use them. Add a second argument.
2124 (term_ostream::write_mem, term_ostream::flush): Update output_buffer calls.
2125 (term_ostream::free): Add an assertion.
2126 (term_ostream::flush_to_current_style): New method.
2127 (term_ostream_create): Initialize the fields default_attr, active_attr,
2129 * libtextstyle/lib/textstyle.h (term_ostream_flush_to_current_style): New
2131 * libtextstyle/doc/libtextstyle.texi (The term_ostream class): Document
2132 term_ostream_flush_to_current_style.
2133 * libtextstyle/NEWS: Mention the change.
2135 2019-03-12 Bruno Haible <bruno@clisp.org>
2137 libtextstyle: Add a second argument to the 'flush' operations.
2138 * gnulib-local/lib/ostream.oo.h (ostream_flush_scope_t): New type.
2139 (ostream::flush): Add scope parameter.
2141 * gnulib-local/lib/file-ostream.oo.c: Include <unistd.h>, <termios.h>.
2142 (file_ostream::flush): Add a scope parameter.
2143 * gnulib-local/modules/file-ostream (Depends-on): Add 'fsync'.
2144 (configure.ac): Check for tcdrain.
2146 * gnulib-local/lib/fd-ostream.oo.c: Include <unistd.h>, <termios.h>.
2147 (fd_ostream::flush): Add a scope parameter.
2148 (fd_ostream::free): Update flush call.
2149 * gnulib-local/modules/fd-ostream (Depends-on): Add 'fsync'.
2150 (configure.ac): Check for tcdrain.
2152 * gnulib-local/lib/term-ostream.oo.c: Include <unistd.h>, <termios.h>.
2153 (term_ostream::flush): Add scope parameter.
2154 (term_ostream::free): Update flush call.
2155 * gnulib-local/m4/term-ostream.m4 (gl_TERM_OSTREAM): Check for tcdrain.
2156 * gnulib-local/modules/term-ostream (Depends-on): Add 'fsync'.
2158 * gnulib-local/lib/memory-ostream.oo.c (memory_ostream::flush): Add scope
2161 * gnulib-local/lib/iconv-ostream.oo.c (iconv_ostream::flush): Add scope
2164 * gnulib-local/lib/html-ostream.oo.c (html_ostream::flush): Add scope parameter.
2165 Emit closing </span> tags.
2167 * gnulib-local/lib/fd-styled-ostream.oo.c (fd_styled_ostream::flush): Add scope
2169 * gnulib-local/lib/term-styled-ostream.oo.c (term_styled_ostream::flush): Add
2171 * gnulib-local/lib/html-styled-ostream.oo.c (html_styled_ostream::flush): Add
2174 * libtextstyle/lib/textstyle.h (ostream_flush_scope_t): New type.
2175 (ostream_flush, styled_ostream_flush, file_ostream_flush, fd_ostream_flush,
2176 term_ostream_flush, memory_ostream_flush, iconv_ostream_flush,
2177 html_ostream_flush, term_styled_ostream_flush, html_styled_ostream_flush): Add
2179 * libtextstyle/doc/libtextstyle.texi (The ostream class): Add scope parameter to
2181 * libtextstyle/NEWS: Mention the change.
2183 2019-03-11 Bruno Haible <bruno@clisp.org>
2185 libtextstyle: Add a program for ad-hoc testing.
2186 * libtextstyle/adhoc-tests/README: New file.
2187 * libtextstyle/adhoc-tests/hello.c: New file, based on
2188 libtextstyle/examples/color-hello/hello.c.
2189 * libtextstyle/adhoc-tests/hello-default.css: New file, copied from
2190 libtextstyle/examples/color-hello/hello-default.css.
2191 * libtextstyle/adhoc-tests/Makefile.am: New file.
2192 * libtextstyle/configure.ac (AC_CONFIG_FILES): Add adhoc-tests/Makefile.
2193 * libtextstyle/Makefile.am (SUBDIRS): Add adhoc-tests.
2195 doc: Clarify locale name syntax.
2196 * gettext-tools/doc/gettext.texi (Locale Names): Fix typo in locale name syntax.
2197 * gettext-tools/doc/msginit.texi: Clarify that the '-l' argument optionally
2198 contains an encoding.
2199 * gettext-tools/src/msginit.c (usage): Likewise.
2201 2019-03-10 Bruno Haible <bruno@clisp.org>
2203 doc: Add reference to Pology.
2204 * gettext-tools/doc/gettext.texi (Other tools): New section.
2206 2019-03-04 Bruno Haible <bruno@clisp.org>
2208 build: Make shared library dependencies work in relocatable installation.
2209 * gettext-tools/gnulib-lib/Makefile.am (RELOCATABLE_LIBRARY_PATH): New variable.
2210 (libgettextlib_la_LDFLAGS): Augment for relocatable installation.
2211 * gettext-tools/src/Makefile.am (libgettextsrc_la_LDFLAGS): Augment for
2212 relocatable installation.
2213 * gettext-tools/libgettextpo/Makefile.am (RELOCATABLE_LIBRARY_PATH): New
2215 (libgettextpo_la_LDFLAGS): Augment for relocatable installation.
2217 Update after gnulib changed.
2219 Update to newest gnulib.
2221 2019-02-24 Bruno Haible <bruno@clisp.org>
2223 libintl: Fix installation with BSD 'make'.
2224 * gettext-runtime/intl/Makefile.am (install-exec-libintl): Create destination
2227 2019-02-16 Bruno Haible <bruno@clisp.org>
2229 libtextstyle: Improve the way the library is built.
2230 * libtextstyle/lib/Makefile.am (libtextstyle_la_LDFLAGS): Add '-no-undefined',
2231 needed for building on older versions of AIX and useful to verify no undefined
2232 symbols are used by mistake. Add '-export-symbols', to reduce the loading time
2233 of the shared library.
2235 2019-02-15 Daiki Ueno <ueno@gnu.org>
2237 its: Avoid uninitialized variable
2238 * gettext-tools/src/its.c (normalize_whitespace): Initialize last_ws.
2239 Fixes commit 89e7d2663bd27b8cdd300f26095f49d2c7519030.
2241 2019-02-15 Bruno Haible <bruno@clisp.org>
2243 libtextstyle: Omit tests that rely on more than the public libtextstyle API.
2244 * libtextstyle/autogen.sh: Don't pass --with-tests to gnulib-tool.
2245 (GNULIB_MODULES): Add term-ostream-tests.
2246 * gnulib-local/modules/term-ostream-tests (Makefile.am): Don't add
2247 @INTL_MACOSX_LIBS@ to test_term_ostream_LDADD.
2248 * gettext-tools/gnulib-tests/Makefile.am (test_term_ostream_LDADD): Add
2249 @INTL_MACOSX_LIBS@ here.
2251 libtextstyle: Don't use an external libglib.
2252 * gnulib-local/m4/libglib.m4 (gl_LIBGLIB): Accept an optional FORCE-INCLUDED
2254 * libtextstyle/gnulib-local/modules/libglib.diff: New file.
2256 libtextstyle: Don't use an external libxml.
2257 * gnulib-local/m4/libxml.m4 (gl_LIBXML): Accept an optional FORCE-INCLUDED
2259 * libtextstyle/gnulib-local/modules/libxml.diff: New file.
2261 libtextstyle: Don't use an external libcroco.
2262 * gnulib-local/m4/libcroco.m4 (gl_LIBCROCO): Accept an optional FORCE-INCLUDED
2264 * libtextstyle/gnulib-local/modules/libcroco.diff: New file.
2265 * libtextstyle/autogen.sh: Pass another --local-dir option to gnulib-tool.
2267 libtextstyle: Fix build error on Cygwin and mingw.
2268 * libtextstyle/lib/Makefile.am (AM_CPPFLAGS): Define LIBXML_STATIC.
2270 libtextstyle: Really fix hyperlinks to table of contents in HTML doc.
2271 * libtextstyle/doc/Makefile.am (libunistring_toc.html): Fix typo in last commit.
2273 libtextstyle: Document when and how to turn off styling.
2274 * libtextstyle/doc/libtextstyle.texi (Basic use): Document when and how to turn
2276 * gnulib-local/lib/term-styled-ostream.oo.c (term_styled_ostream_create): Handle
2277 a NULL css_filename explicitly.
2279 2019-02-15 Daiki Ueno <ueno@gnu.org>
2281 its: Add new preserveSpaceRule "paragraph"
2282 This implements a new text extraction rule preserving paragraph
2283 boundaries, as mentioned in:
2284 https://gitlab.gnome.org/GNOME/glib/issues/1350
2286 * gettext-tools/doc/gettext.texi (Preparing ITS Rules): Mention "paragraph".
2287 * gettext-tools/src/its.c (its_rule_list_extract_text): Accept "paragraph".
2288 (its_merge_context_merge_node): Likewise.
2289 (normalize_whitespace): Handle "paragraph" rule.
2290 * gettext-tools/src/its.h (ITS_WHITESPACE_NORMALIZE_PARAGRAPH): New enum value.
2291 * gettext-tools/tests/xgettext-its-1: Add test for "paragraph" rule.
2293 2019-02-15 Daiki Ueno <ueno@gnu.org>
2295 its: Make whitespace normalization logic simpler
2296 * gettext-tools/src/its.c (normalize_whitespace): Use parallel
2297 pointers for normalizing whitespaces, instead of memmove.
2298 Suggested by Bruno Haible.
2300 2019-02-14 Bruno Haible <bruno@clisp.org>
2302 libtextstyle: In the examples, actually respect the --color option.
2303 Reported by Akim Demaille <akim.demaille@gmail.com>.
2305 * libtextstyle/examples/color-filter/filter.c (main): Set style_file_name to
2306 NULL when styling should be disabled.
2307 * libtextstyle/examples/color-hello/hello.c (main): Likewise.
2309 2019-02-14 Bruno Haible <bruno@clisp.org>
2311 libtextstyle: Assume that the texinfo sources are in the source dir.
2312 * libtextstyle/doc/Makefile.am (stamp-vti, libtextstyle.html,
2313 libtextstyle_toc.html): Lookup libunistring.texi in $(srcdir).
2315 2019-02-14 Bruno Haible <bruno@clisp.org>
2317 libtextstyle: Fix hyperlinks to table of contents in HTML doc.
2318 Reported by Akim Demaille <akim.demaille@gmail.com>.
2320 * libtextstyle/doc/Makefile.am (libunistring_toc.html): Replace references to
2321 libtextstyle.html with references to libtextstyle_toc.html.
2323 2019-02-14 Bruno Haible <bruno@clisp.org>
2325 libtextstyle: Document the link options more precisely.
2326 * libtextstyle/doc/libtextstyle.texi (Link options): Document the link
2329 libtextstyle: Fix build failure on mingw.
2330 * gnulib-local/modules/html-styled-ostream (Depends-on): Add 'close'.
2332 libtextstyle: Add support for VPATH builds with OpenBSD 'make'.
2333 * gnulib-local/modules/*ostream (Makefile.am): In the rules that use moopp,
2334 prefix the target file names with '$(srcdir)/'.
2336 2019-02-13 Bruno Haible <bruno@clisp.org>
2338 libtextstyle: Put the .sym file in the source directory.
2339 * libtextstyle/lib/Makefile.am (libtextstyle.sym): Generate in the source
2341 (config.h): Update rule.
2343 2019-02-12 Bruno Haible <bruno@clisp.org>
2345 libtextstyle: Fix configuration of the example programs.
2346 Reported by Akim Demaille <akim.demaille@gmail.com>.
2348 * libtextstyle/Makefile.am (EXTRA_DIST): Add m4/libtextstyle.m4.
2350 2019-02-12 Bruno Haible <bruno@clisp.org>
2352 libtextstyle: Bump version number.
2353 * libtextstyle/version.sh (VERSION): Set to 0.6.
2355 2019-02-10 Bruno Haible <bruno@clisp.org>
2357 libtextstyle: New project.
2358 * libtextstyle/AUTHORS: New file, extracted from gettext/AUTHORS.
2359 * libtextstyle/COPYING: New file, copied from gettext/COPYING.
2360 * libtextstyle/DEPENDENCIES: New file, based on gettext/DEPENDENCIES.
2361 * libtextstyle/HACKING: New file, based on gettext/HACKING.
2362 * libtextstyle/INSTALL: New file, copied from gettext/INSTALL.
2363 * libtextstyle/Makefile.am: New file, based on libunistring/Makefile.am.
2364 * libtextstyle/NEWS: New file.
2365 * libtextstyle/README: New file, based on libunistring/README.
2366 * libtextstyle/autogen.sh: New file, based on libunistring/autogen.sh.
2367 * libtextstyle/configure.ac: New file, based on libunistring/configure.ac.
2368 * libtextstyle/build-aux/texi2html: New file, copied from
2369 libunistring/build-aux/texi2html.
2370 * libtextstyle/doc/Makefile.am: New file, based on libunistring/doc/Makefile.am.
2371 * libtextstyle/doc/fdl.texi: New file, copied from gnulib/doc/fdl.texi.
2372 * libtextstyle/doc/gpl.texi: New file, copied from gnulib/doc/gpl-3.0.texi.
2373 * libtextstyle/doc/libtextstyle.texi: New file, partially based on
2374 gettext/gettext-tools/doc/gettext.texi.
2375 * libtextstyle/examples/color-filter/INSTALL: New file, based on
2376 gettext/gettext-tools/examples/hello-c/INSTALL.
2377 * libtextstyle/examples/color-filter/Makefile.am: New file, based on
2378 gettext/gettext-tools/examples/hello-c/Makefile.am.
2379 * libtextstyle/examples/color-filter/README: New file.
2380 * libtextstyle/examples/color-filter/autoclean.sh: New file, based on
2381 gettext/gettext-tools/examples/hello-c/autoclean.sh.
2382 * libtextstyle/examples/color-filter/autogen.sh: New file, based on
2383 gettext/gettext-tools/examples/hello-c/autogen.sh.
2384 * libtextstyle/examples/color-filter/configure.ac: New file.
2385 * libtextstyle/examples/color-filter/filter.c: New file.
2386 * libtextstyle/examples/color-filter/filter-default.css: New file.
2387 * libtextstyle/examples/color-hello/INSTALL: New file, based on
2388 gettext/gettext-tools/examples/hello-c/INSTALL.
2389 * libtextstyle/examples/color-hello/Makefile.am: New file, based on
2390 gettext/gettext-tools/examples/hello-c/Makefile.am.
2391 * libtextstyle/examples/color-hello/README: New file.
2392 * libtextstyle/examples/color-hello/autoclean.sh: New file, based on
2393 gettext/gettext-tools/examples/hello-c/autoclean.sh.
2394 * libtextstyle/examples/color-hello/autogen.sh: New file, based on
2395 gettext/gettext-tools/examples/hello-c/autogen.sh.
2396 * libtextstyle/examples/color-hello/configure.ac: New file.
2397 * libtextstyle/examples/color-hello/hello.c: New file.
2398 * libtextstyle/examples/color-hello/hello-default.css: New file.
2399 * libtextstyle/examples/color-hello/names.c: New file.
2400 * libtextstyle/lib/Makefile.am: New file, based on libunistring/lib/Makefile.am.
2401 * libtextstyle/lib/misc.h: New file.
2402 * libtextstyle/lib/misc.c: New file.
2403 * libtextstyle/lib/notinline.h: New file, based on
2404 libunistring/lib/unistring-notinline.h.
2405 * libtextstyle/lib/stdbool.mini.h: New file, based on
2406 libunistring/lib/stdbool.mini.h.
2407 * libtextstyle/lib/textstyle.h: New file, based on
2408 gnulib-local/lib/*ostream.oo.h.
2409 * libtextstyle/lib/textstyle/version.in.h: New file, based on
2410 libunistring/lib/unistring/version.in.h.
2411 * libtextstyle/lib/textstyle/woe32dll.in.h: New file, based on
2412 libunistring/lib/unistring/woe32dll.in.h.
2413 * libtextstyle/lib/version.c: New file, based on libunistring/lib/version.c.
2414 * libtextstyle/m4/init-package-version.m4: New file, copied from
2415 libunistring/m4/init-package-version.m4.
2416 * libtextstyle/tests/Makefile.am: New file, based on
2417 libunistring/tests/Makefile.am.
2418 * libtextstyle/version.sh: New file, based on libunistring/version.sh.
2419 * libtextstyle/woe32dll/c++fd-styled-ostream.cc: New file.
2420 * libtextstyle/woe32dll/c++html-styled-ostream.cc: New file.
2421 * libtextstyle/woe32dll/c++term-styled-ostream.cc: New file.
2422 * gnulib-local/lib/glib/gstring.c (g_string_append_c): In libtextstyle, honor a
2424 * gnulib-local/lib/libxml/elfgcchack.h: In libtextstyle, make this entire file a
2426 * gnulib-local/lib/libxml/globals.in.h (docbDefaultSAXHandler,
2427 htmlDefaultSAXHandler, oldXMLWDcompatibility, xmlBufferAllocScheme,
2428 xmlDefaultBufferSize, xmlDefaultSAXHandler, xmlDefaultSAXLocator,
2429 xmlDoValidityCheckingDefaultValue, xmlFree, xmlGenericError, xmlStructuredError,
2430 xmlGenericErrorContext, xmlStructuredErrorContext, xmlGetWarningsDefaultValue,
2431 xmlIndentTreeOutput, xmlTreeIndentString, xmlKeepBlanksDefaultValue,
2432 xmlLineNumbersDefaultValue, xmlLoadExtDtdDefaultValue, xmlMalloc,
2433 xmlMallocAtomic, xmlMemStrdup, xmlParserDebugEntities, xmlParserVersion,
2434 xmlPedanticParserDefaultValue, xmlRealloc, xmlSaveNoEmptyTags,
2435 xmlSubstituteEntitiesDefaultValue, xmlRegisterNodeDefaultValue,
2436 xmlDeregisterNodeDefaultValue, xmlLastError,
2437 xmlParserInputBufferCreateFilenameValue, xmlOutputBufferCreateFilenameValue): In
2438 libtextstyle, honor a macro definition.
2439 * gnulib-local/lib/libxml/globals.c (xmlFree, xmlMalloc, xmlMallocAtomic,
2440 xmlMemStrdup, xmlRealloc, docbDefaultSAXHandler, htmlDefaultSAXHandler,
2441 oldXMLWDcompatibility, xmlBufferAllocScheme, xmlDefaultBufferSize,
2442 xmlDefaultSAXHandler, xmlDefaultSAXLocator, xmlDoValidityCheckingDefaultValue,
2443 xmlGenericError, xmlStructuredError, xmlGenericErrorContext,
2444 xmlStructuredErrorContext, xmlGetWarningsDefaultValue, xmlIndentTreeOutput,
2445 xmlTreeIndentString, xmlKeepBlanksDefaultValue, xmlLineNumbersDefaultValue,
2446 xmlLoadExtDtdDefaultValue, xmlParserDebugEntities, xmlParserVersion,
2447 xmlPedanticParserDefaultValue, xmlSaveNoEmptyTags,
2448 xmlSubstituteEntitiesDefaultValue, xmlRegisterNodeDefaultValue,
2449 xmlDeregisterNodeDefaultValue, xmlLastError,
2450 xmlParserInputBufferCreateFilenameValue, xmlOutputBufferCreateFilenameValue):
2452 * gnulib-local/lib/libxml/xmlmemory.c (xmlMalloc): Likewise.
2454 gnulib-local: New module 'fd-styled-ostream'.
2455 * gnulib-local/lib/fd-styled-ostream.oo.h: New file.
2456 * gnulib-local/lib/fd-styled-ostream.oo.c: New file.
2457 * gnulib-local/modules/fd-styled-ostream: New file.
2458 * gnulib-local/Makefile.am (EXTRA_DIST): Add them.
2460 term-ostream: Remove the need for an exit handler.
2461 * gnulib-local/lib/term-ostream.oo.c (output_buffer): Delay the error() call
2462 until the default state has been restored.
2464 term-ostream: Prepare for robustness through signal handling.
2465 * gnulib-local/lib/term-ostream.oo.h (ttyctl_t): New type.
2466 (term_ostream_create): Add tty_control argument.
2467 * gnulib-local/lib/term-ostream.oo.c (term_ostream_create): Likewise.
2468 * gnulib-local/lib/term-styled-ostream.oo.h: Include term-ostream.h.
2469 (term_styled_ostream_create): Add tty_control argument.
2470 * gnulib-local/lib/term-styled-ostream.oo.c (term_styled_ostream_create):
2472 * gnulib-local/tests/test-term-ostream.c (main): Use TTYCTL_AUTO.
2473 * gettext-tools/src/color.c (print_color_test): Likewise.
2474 * gettext-tools/src/write-catalog.c (msgdomain_list_print): Likewise.
2476 libasprintf: Tweak documentation formatting.
2477 * gettext-runtime/libasprintf/autosprintf.texi: Indent all paragraphs the same
2480 Fix typo in comment.
2481 * gettext-tools/src/color.h (style_file_prepare): Fix typo in comment.
2484 * gettext-tools/doc/gettext.texi (Styles rules): Fix typo.
2486 2019-02-09 Bruno Haible <bruno@clisp.org>
2488 Update copyright years.
2490 Remove automatically generated files from version control.
2492 html-styled-ostream: Fix memory leak.
2493 * gnulib-local/lib/html-styled-ostream.oo.c (html_styled_ostream::free): Free
2496 html-ostream: Fix memory leak.
2497 * gnulib-local/lib/html-ostream.oo.c: Include minmax.h.
2498 (verify_invariants, shrink_class_stack): New functions.
2499 (emit_pending_spans): Use them.
2500 (html_ostream::write_mem): Shrink class stack during newline processing.
2501 (html_ostream::free, html_ostream::begin_span): Verify invariants.
2502 (html_ostream::end_span): Likewise. Shrink class stack.
2503 * gnulib-local/modules/html-ostream (Depends-on): Add 'minmax'.
2505 2019-02-08 Bruno Haible <bruno@clisp.org>
2507 examples: Fix build failure when building from git (regression from 2018-10-23).
2508 * gettext-tools/examples/po/xsmallpot.sh: Build less of 'hello-pascal'.
2510 color: Make color.c package-neutral.
2511 * gettext-tools/src/color.h (style_file_prepare): Add arguments.
2512 * gettext-tools/src/color.c: Don't include relocatable.h.
2513 (style_file_lookup): Add stylesdir_after_install argument.
2514 (style_file_prepare): Add arguments.
2515 * gettext-tools/src/write-catalog.c: Include relocatable.h.
2516 (GETTEXTSTYLESDIR): New macro.
2517 (msgdomain_list_print): Update style_file_prepare calls.
2518 * gettext-tools/tests/init-env.in (GETTEXTSTYLESDIR): New environment variable.
2520 term-ostream: Accommodate a shell that is not in /bin/sh.
2521 * gnulib-local/tests/test-term-ostream-xterm.sh: Renamed from
2522 gnulib-local/tests/test-term-ostream-xterm.
2523 * gnulib-local/modules/term-ostream-tests (Files, Makefile.am): Update
2525 * gnulib-local/Makefile.am (EXTRA_DIST): Likewise.
2527 libglib: Fix list of files to clean.
2528 * gnulib-local/modules/libglib (MOSTLYCLEANFILES): Add glib.h-t, glibconfig.h-t.
2531 * autogen.sh: Make it clear that 'touch config.h.in' is tied to autoheader.
2533 2019-02-05 Bruno Haible <bruno@clisp.org>
2535 Remove left-over empty directories in 'make distclean'.
2536 * gettext-tools/gnulib-tests/Makefile.am (distclean-local): New target.
2538 2019-02-04 Bruno Haible <bruno@clisp.org>
2540 Fix copyright years.
2542 2019-01-25 Bruno Haible <bruno@clisp.org>
2544 doc: Mention --color=test in the description of the --color option.
2545 Reported by Nathaniel M. Beaver <nathanielmbeaver@gmail.com>
2546 in <https://savannah.gnu.org/bugs/?55573>.
2548 * gettext-tools/doc/gettext.texi (Colorizing): Mention that the --color and
2549 --style options are applicable to many programs.
2550 (The --color option): Mention the 'test' value.
2552 2019-01-21 Bruno Haible <bruno@clisp.org>
2554 msginit: Update for current shape of Translation Project.
2555 Reported by Karl Ove Hufthammer <karl@huftis.org>
2556 in <https://lists.gnu.org/archive/html/bug-gettext/2019-01/msg00014.html>.
2558 * gettext-tools/projects/TP/teams.html: Fetched from teams.url.
2559 * gettext-tools/projects/TP/team-address: Update sed expressions for current
2560 structure of teams page.
2562 2019-01-06 Bruno Haible <bruno@clisp.org>
2564 Make cldr-plurals program more robust.
2565 * gettext-tools/src/cldr-plurals.c: Include closeout.h.
2566 (main): Arrange to invoke close_stdout at program exit.
2568 Assume setlocale function.
2569 * gettext-runtime/src/envsubst.c (main): Assume setlocale exists.
2570 * gettext-runtime/src/gettext.c (main): Likewise.
2571 * gettext-runtime/src/ngettext.c (main): Likewise.
2572 * gettext-tools/src/cldr-plurals.c (main): Likewise.
2573 * gettext-tools/src/hostname.c (main): Likewise.
2574 * gettext-tools/src/msgattrib.c (main): Likewise.
2575 * gettext-tools/src/msgcat.c (main): Likewise.
2576 * gettext-tools/src/msgcmp.c (main): Likewise.
2577 * gettext-tools/src/msgcomm.c (main): Likewise.
2578 * gettext-tools/src/msgconv.c (main): Likewise.
2579 * gettext-tools/src/msgen.c (main): Likewise.
2580 * gettext-tools/src/msgexec.c (main): Likewise.
2581 * gettext-tools/src/msgfilter.c (main): Likewise.
2582 * gettext-tools/src/msgfmt.c (main): Likewise.
2583 * gettext-tools/src/msggrep.c (main): Likewise.
2584 * gettext-tools/src/msginit.c (main, canonical_locale_charset, get_title):
2586 * gettext-tools/src/msgmerge.c (main): Likewise.
2587 * gettext-tools/src/msgunfmt.c (main): Likewise.
2588 * gettext-tools/src/msguniq.c (main): Likewise.
2589 * gettext-tools/src/recode-sr-latin.c (main): Likewise.
2590 * gettext-tools/src/urlget.c (main): Likewise.
2591 * gettext-tools/src/xgettext.c (main): Likewise.
2592 * gettext-tools/tests/testlocale.c (main): Likewise.
2593 * gettext-tools/tests/tstgettext.c (main): Likewise.
2594 * gettext-tools/tests/tstngettext.c (main): Likewise.
2595 * gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Don't test whether setlocale
2598 Update after gnulib changed.
2600 Update to newest gnulib.
2602 2018-12-17 Bruno Haible <bruno@clisp.org>
2604 Fix compilation error on HP-UX with gcc.
2605 * gnulib-local/lib/libxml/trionan.c: Include <float.h>.
2607 2018-12-16 Bruno Haible <bruno@clisp.org>
2609 Add comment regarding HP-UX cc in C99 mode.
2610 * gnulib-local/lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update
2613 2018-11-25 Bruno Haible <bruno@clisp.org>
2615 intl: Really uninstall the intl/ subdir sources.
2616 * gettext-runtime/intl/Makefile.am (uninstall-sources): New target.
2618 Fix compilation error (regression from today).
2619 * autogen.sh (GNULIB_MODULES_RUNTIME_FOR_SRC): Add 'unistd'.
2620 * gettext-runtime/src/envsubst.c: Include <unistd.h>.
2622 build: Use Automake in intl subdirectory.
2623 * gettext-runtime/intl/Makefile.am: New file, based on
2624 gettext-runtime/intl/Makefile.in.
2625 * gettext-runtime/intl/Makefile.in: Remove file.
2626 * autogen.sh: Copy gettext-runtime/intl/Makefile.am to
2627 gettext-tools/intl/Makefile.am.
2628 * gettext-runtime/configure.ac (USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL,
2629 PACKAGE_IS_GETTEXT_TOOLS, PRELOADABLE_LIBINTL): New conditionals.
2630 * gettext-tools/configure.ac: Likewise.
2632 build: Stop generating a VERSION file.
2633 * gettext-tools/configure.ac: Don't create intl/VERSION.
2634 * gettext-runtime/intl/Makefile.in (DISTFILES.normal): Remove variable.
2635 (distclean): Simplify accordingly.
2637 build: Remove some duplicate .m4 files.
2638 * autogen.sh: Copy wchar_t.m4 and wint_t.m4 for libasprintf.
2639 * gettext-runtime/m4/codeset.m4: Remove file.
2640 * gettext-runtime/m4/extern-inline.m4: Remove file.
2641 * gettext-runtime/m4/intl-thread-locale.m4: Remove file.
2642 * gettext-runtime/m4/lcmessage.m4: Remove file.
2643 * gettext-runtime/m4/lock.m4: Remove file.
2644 * gettext-runtime/m4/longlong.m4: Remove file.
2645 * gettext-runtime/m4/threadlib.m4: Remove file.
2646 * gettext-runtime/m4/wchar_t.m4: Remove file.
2647 * gettext-runtime/m4/wint_t.m4: Remove file.
2648 * gettext-runtime/m4/Makefile.am (EXTRA_DIST): Don't distribute them.
2649 * Makefile.am (distcheck-hook): Don't verify that they are identical copies.
2651 build: Fix #line statements in bison-generated files.
2652 * gettext-tools/src/plural-exp.c: Revert changes from 2014-12-03 and 2014-12-04.
2653 * gettext-runtime/intl/Makefile.in (PLURAL_OBJECT): Remove variable.
2654 (OBJECTS): Use plural.lo always.
2655 ($(srcdir)/plural.c): New rule.
2656 (.y.c, pluralx.c, pluralx.lo): Remove rules.
2657 (mostlyclean): Delete the temporary file of the plural.c rule.
2658 (maintainer-clean): Delete plural.c.
2659 * gettext-tools/configure.ac (intl/Makefile): Remove PLURAL_OBJECT hack.
2661 build: Fix #line statements in bison-generated files.
2662 * gettext-tools/src/Makefile.am (po-gram-gen.c, cldr-plural.c): Override the
2664 (po-gram-gen.h, cldr-plural.h): Remove separate target.
2665 (po-gram-gen2.h): Generate in the source directory.
2667 maint: Add write-up of how to do code coverage.
2669 2018-11-25 Bruno Haible <bruno@clisp.org>
2671 libasprintf: On mingw, really use our vasprintf function, not mingw_vasprintf.
2672 mingw now has a definition of 'vasprintf' in <stdio.h> that redirects to
2673 mingw_vasprintf, which does not support argument reordering (i.e.
2674 HAVE_POSIX_PRINTF is not defined). Make sure to avoid this function and use
2675 the one defined in our lib-asprintf.c instead.
2677 * gettext-runtime/libasprintf/lib-asprintf.h (asprintf): Define as macro
2678 redirecting to libasprintf_asprintf.
2679 (vasprintf): Define as macro redirecting to libasprintf_vasprintf.
2680 * gettext-runtime/libasprintf/lib-asprintf.c: Define also libasprintf_asprintf
2681 and libasprintf_vasprintf.
2682 * gettext-runtime/libasprintf/autosprintf.cc: Include lib-asprintf.h last.
2684 2018-11-25 Bruno Haible <bruno@clisp.org>
2686 msginit: Add comment about test failure on native Windows.
2687 * gettext-tools/tests/msginit-3: Add comment.
2689 msginit: On native Windows, produce same PO header as on Unix.
2690 * gettext-tools/src/msginit.c (plural_forms): Eliminate a trailing CR.
2692 envsubst: On native Windows, produce output suitable for the shell.
2693 * autogen.sh (GNULIB_MODULES_RUNTIME_FOR_SRC): Add 'binary-io'.
2694 * gettext-runtime/src/envsubst.c (main): In --variables mode, put stdout in
2697 Fix some mingw test failures.
2698 * gettext-tools/tests/intl-1: Ignore different end-of-line convention in the
2700 * gettext-tools/tests/intl-2: Likewise.
2701 * gettext-tools/tests/intl-3: Likewise.
2702 * gettext-tools/tests/msgfmt-desktop-1: Likewise.
2703 * gettext-tools/tests/msgfmt-desktop-2: Likewise.
2704 * gettext-tools/tests/sentence-1: Likewise.
2705 * gettext-tools/tests/cldr-plurals-1: Likewise.
2706 * gettext-tools/tests/lang-c: On native Windows, ignore different end-of-line
2707 convention in the output.
2708 * gettext-tools/tests/lang-c++: Likewise.
2709 * gettext-tools/tests/msgfilter-8: On native Windows, use sh, not /bin/sh.
2711 Fix some mingw test failures.
2712 * gettext-tools/tests/init-env.in (wabs_srcdir, wabs_top_srcdir): New variables.
2713 (GETTEXTDATADIR): On mingw, use native Windows syntax.
2714 * gettext-tools/tests/format-c-3: Use wabs_srcdir instead of abs_srcdir, and
2715 wabs_top_srcdir instead of abs_top_srcdir.
2716 * gettext-tools/tests/format-c-4: Likewise.
2717 * gettext-tools/tests/format-c-5: Likewise.
2718 * gettext-tools/tests/gettextpo-1: Likewise.
2719 * gettext-tools/tests/intl-1: Likewise.
2720 * gettext-tools/tests/intl-2: Likewise.
2721 * gettext-tools/tests/intl-3: Likewise.
2722 * gettext-tools/tests/intl-4: Likewise.
2723 * gettext-tools/tests/intl-setlocale-1: Likewise.
2724 * gettext-tools/tests/intl-setlocale-2: Likewise.
2725 * gettext-tools/tests/intl-thread-1: Likewise.
2726 * gettext-tools/tests/intl-thread-2: Likewise.
2727 * gettext-tools/tests/intl-thread-3: Likewise.
2728 * gettext-tools/tests/msgfmt-qt-1: Likewise.
2729 * gettext-tools/tests/msgfmt-qt-2: Likewise.
2730 * gettext-tools/tests/msginit-3: Likewise.
2731 * gettext-tools/tests/msginit-4: Likewise.
2732 * gettext-tools/tests/msgmerge-compendium-5: Likewise.
2733 * gettext-tools/tests/msgmerge-compendium-6: Likewise.
2734 * gettext-tools/tests/msgunfmt-3: Likewise.
2735 * gettext-tools/tests/msgunfmt-tcl-1: Likewise.
2736 * gettext-tools/tests/msguniq-1: Likewise.
2737 * gettext-tools/tests/msguniq-2: Likewise.
2738 * gettext-tools/tests/msguniq-3: Likewise.
2739 * gettext-tools/tests/msguniq-4: Likewise.
2740 * gettext-tools/tests/plural-1: Likewise.
2741 * gettext-tools/tests/xgettext-1: Likewise.
2742 * gettext-tools/tests/xgettext-c-1: Likewise.
2743 * gettext-tools/tests/xgettext-c-comment-6: Likewise.
2744 * gettext-tools/tests/xgettext-c-escape-3: Likewise.
2745 * gettext-tools/tests/xgettext-vala-2: Likewise.
2747 intl: Fix gettext test failures on mingw.
2748 * gettext-runtime/intl/localename.c (gl_locale_name_posix): Convert the result
2749 of gl_locale_name_environ to XPG syntax.
2751 Update to newest gnulib.
2753 Fix typo in comment.
2754 * gettext-tools/src/msgexec.c (process_string): Fix typo in comment.
2757 * gettext-tools/tests/msgfmt-desktop-1: Fix reference to MSGFMT variable.
2758 * gettext-tools/tests/msgfmt-desktop-2: Likewise.
2759 * gettext-tools/tests/msgfmt-xml-1: Likewise.
2760 * gettext-tools/tests/msgfmt-xml-2: Likewise.
2762 2018-11-25 Bruno Haible <bruno@clisp.org>
2764 build: Remove generated files from version control.
2765 This creates a bootstrapping issue, but it can be mitigated:
2766 If a user wants to build GNU gettext on a platform which does not have the
2767 GNU gettext programs installed, they first need to build and install a tarball
2768 of GNU gettext; then only they can build GNU gettext from the git repository.
2770 * gettext-runtime/po/gettext-runtime.pot: Remove file.
2771 * gettext-tools/po/gettext-tools.pot: Remove file.
2772 * gettext-tools/examples/po/gettext-examples.pot: Remove file.
2774 2018-11-25 Bruno Haible <bruno@clisp.org>
2776 build: Update .gitignore for 2018-05-19 change in gnulib.
2778 build: Update .gitignore for 2018-02-02 change in gnulib.
2780 build: Update .gitignore for 2017-05-01 change in gnulib.
2782 build: Update .gitignore for 2017-03-11 change in gnulib.
2784 build: Update .gitignore for 2017-05-04 change.
2786 build: Fix mistake in .gitignore (from 2016-12-11).
2788 Amend 'Stop installing the intl/ subdir sources.' commit from 2018-11-11.
2789 * gettext-runtime/intl/Makefile.in (install-data, uninstall): Remove the entire
2790 $prefix/share/gettext/intl directory.
2792 Fix compilation error on mingw (regression from 2018-11-04).
2793 * gettext-tools/src/x-appdata.h (SCANNERS_APPDATA): Remove
2794 literalstring_parser initializer.
2796 2018-11-21 Pavel Raiskup <praiskup@redhat.com>
2798 msgfmt: fix C&P issue
2799 * gettext-tools/src/msgl-check.c (syntax_check_space_ellipsis):
2800 Use 'end' for buffer size computation, instead of NULL 'ellipsis'.
2802 format-kde-kuit: really use fallback markup
2803 * gettext-tools/src/format-kde-kuit.c (format_parse): Use markup.h
2804 methods when FORMAT_KDE_KUIT_USE_FALLBACK_MARKUP is defined. Also
2805 free buffer if there's no support for XML.
2807 2018-11-18 Bruno Haible <bruno@clisp.org>
2809 msgmerge must produce output that is stable under msgcat.
2810 Reported by Ludovic Courtès <ludo@gnu.org>
2811 in <https://savannah.gnu.org/bugs/?51027>.
2813 * gettext-tools/src/write-po.c (message_print_obsolete): Preserve the 'no-wrap'
2814 and '*-format' flags.
2815 * gettext-tools/tests/msgmerge-27: New file.
2816 * gettext-tools/tests/msgmerge-28: New file.
2817 * gettext-tools/tests/Makefile.am (TESTS): Add them.
2818 * gettext-tools/tests/msgmerge-19: Update expected result.
2820 2018-11-18 Bruno Haible <bruno@clisp.org>
2822 gettextize: Give more advice.
2823 * gettext-tools/misc/gettextize.in: Tell the user to remove
2824 AM_GNU_GETTEXT_INTL_SUBDIR invocations.
2826 Simplify Autoconf macros.
2827 * gettext-runtime/m4/intldir.m4: Remove file.
2828 * gettext-runtime/m4/Makefile.am (EXTRA_DIST): Remove intldir.m4.
2829 * gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Disallow 'no-libtool'
2830 argument. Use libtool always. Remove variables that existed only for backward
2832 * gettext-runtime/m4/intl.m4: Update comments.
2833 * autogen.sh: Ignore gettext.m4 and intl.m4 from gnulib.
2834 * gettext-runtime/intl/Makefile.in: Use libtool always.
2835 (libintl.a, libgnuintl.a): Remove rule.
2836 (.o): Remove suffix rule.
2837 (install-exec, installdirs, uninstall, distclean, dist, distdir): PACKAGE cannot
2838 be anything else than gettext-runtime and gettext-tools any more.
2839 * gettext-tools/configure.ac (intl/Makefile): Update.
2840 * NEWS: Mention that AM_GNU_GETTEXT_INTL_SUBDIR is gone.
2842 2018-11-17 Bruno Haible <bruno@clisp.org>
2844 Make 'make distcheck' work in a VPATH build.
2845 * Makefile.am (distcheck-hook): Compare files in $(srcdir).
2846 * gettext-tools/examples/po/xsmallpot.sh: Put the resulting POT file in the
2847 source dir, not in the build dir.
2848 * gettext-tools/examples/po/Makefile.am (update-po): Execute sub-make in the
2849 build dir, not in the source dir.
2850 (SMALLPOFILES_FOR_lang): Prefix file names with $(srcdir).
2851 (hello-*/po/*.po): Likewise. Execute mmsmallpo.sh in $(srcdir).
2853 2018-11-11 Bruno Haible <bruno@clisp.org>
2855 gettextize: Install also host-cpu-c-abi.m4 (needed since 2018-03-24).
2856 * gettext-tools/m4/Makefile.am (aclocal_DATA): Install host-cpu-c-abi.m4.
2857 * PACKAGING: Mention host-cpu-c-abi.m4.
2858 * gettext-tools/misc/gettextize.in (m4filelist): Add host-cpu-c-abi.m4.
2859 * gettext-tools/doc/gettext.texi (aclocal): Mention host-cpu-c-abi.m4.
2861 Update to newest gnulib.
2863 Update packaging instructions.
2864 * PACKAGING: Update file list.
2866 gettextize: Require automake >= 1.9.
2867 * gettext-tools/misc/gettextize.in: Signal an error if 'aclocal' from
2868 automake >= 1.9 is not found. Stop installing intldir.m4, intl.m4 and its
2870 * gettext-tools/doc/gettext.texi (mkinstalldirs, aclocal): State the requirement
2871 to have automake >= 1.9.
2872 * gettext-tools/m4/Makefile.am (aclocal_DATA): Don't install codeset.m4,
2873 extern-inline.m4, fcntl-o.m4, glibc2.m4, glibc21.m4, intdiv0.m4, intl.m4,
2874 intl-thread-locale.m4, intldir.m4, intmax.m4, inttypes_h.m4, inttypes-pri.m4,
2875 lcmessage.m4, lock.m4, longlong.m4, printf-posix.m4, size_max.m4, stdint_h.m4,
2876 threadlib.m4, uintmax_t.m4, visibility.m4, wchar_t.m4, wint_t.m4, xsize.m4.
2877 * PACKAGING: Remove the *.m4 files that are no longer installed.
2879 Stop installing the intl/ subdir sources.
2880 * gettext-runtime/intl/Makefile.in (gettextsrcdir): Remove variable.
2881 (DISTFILES.obsolete): Remove variable.
2882 (install-data): Don't install nor remove anything.
2883 (installdirs): Don't create $(gettextsrcdir).
2884 * gettext-tools/misc/add-to-archive: Don't add the intl directory to the
2886 * PACKAGING: Remove mention of $prefix/share/gettext/intl/ directory.
2888 gettextize: Remove --intl option.
2889 * gettext-tools/misc/gettextize.in (func_usage): Don't mention --intl option.
2890 Signal an error if the --intl option is specified.
2891 Simplify main code accordingly.
2892 * gettext-tools/doc/gettextize.texi: Remove --intl option description.
2893 * gettext-tools/doc/gettext.texi (Prerequisites): Remove mention of intl/
2895 (configure.ac): Suggest to use AM_GNU_GETTEXT([external]) always. Remove mention
2897 (config.guess): Suggest them always.
2898 (aclocal): Shrink the list of .m4 files.
2899 (acconfig): Remove subsection.
2900 (config.h.in): Remove mention of intl/ directory.
2901 (Makefile, src/Makefile, lib/gettext.h): Likewise.
2902 (AM_GNU_GETTEXT): First argument must be 'external'. Remove third argument.
2903 (AM_GNU_GETTEXT_INTL_SUBDIR): Remove subsection.
2904 (Language Implementors): Remove mention of intl/ directory. Mention that
2905 Solaris 11 gettext works like GNU gettext.
2906 (Maintainers for other Languages): Remove mention of intl/ directory.
2907 * gettext-tools/doc/autopoint.texi: Update explanation of name.
2908 * NEWS: Mention the change.
2910 2018-11-09 Bruno Haible <bruno@clisp.org>
2912 xgettext tests: Rename xgettext-c-18 to xgettext-c-6.
2913 * gettext-tools/tests/xgettext-c-6: Renamed from
2914 gettext-tools/tests/xgettext-c-18.
2915 * Makefile.am (TESTS): Update.
2917 xgettext tests: Rename xgettext-c-25 to xgettext-c-5.
2918 * gettext-tools/tests/xgettext-c-5: Renamed from
2919 gettext-tools/tests/xgettext-c-25.
2920 * Makefile.am (TESTS): Update.
2922 2018-11-08 Bruno Haible <bruno@clisp.org>
2924 xgettext tests: Rename xgettext-c-24 to xgettext-c-comment-6.
2925 * gettext-tools/tests/xgettext-c-comment-6: Renamed from
2926 gettext-tools/tests/xgettext-c-24.
2927 * gettext-tools/tests/xg-c-comment-6.c: Renamed from
2928 gettext-tools/tests/xg-c-24.c.
2929 * Makefile.am (TESTS, EXTRA_DIST): Update.
2931 xgettext tests: Rename xgettext-c-9 to xgettext-c-comment-5.
2932 * gettext-tools/tests/xgettext-c-comment-5: Renamed from
2933 gettext-tools/tests/xgettext-c-9.
2934 * Makefile.am (TESTS): Update.
2936 xgettext tests: Rename xgettext-c-6 to xgettext-c-comment-4.
2937 * gettext-tools/tests/xgettext-c-comment-4: Renamed from
2938 gettext-tools/tests/xgettext-c-6.
2939 * Makefile.am (TESTS): Update.
2941 xgettext tests: Rename xgettext-c-16 to xgettext-c-comment-3.
2942 * gettext-tools/tests/xgettext-c-comment-3: Renamed from
2943 gettext-tools/tests/xgettext-c-16.
2944 * Makefile.am (TESTS): Update.
2946 xgettext tests: Rename xgettext-c-7 to xgettext-c-comment-2.
2947 * gettext-tools/tests/xgettext-c-comment-2: Renamed from
2948 gettext-tools/tests/xgettext-c-7.
2949 * Makefile.am (TESTS): Update.
2951 xgettext tests: Rename xgettext-c-5 to xgettext-c-comment-1.
2952 * gettext-tools/tests/xgettext-c-comment-1: Renamed from
2953 gettext-tools/tests/xgettext-c-5.
2954 * Makefile.am (TESTS): Update.
2956 xgettext tests: Rename xgettext-c-21 to xgettext-c-escape-3.
2957 * gettext-tools/tests/xgettext-c-escape-3: Renamed from
2958 gettext-tools/tests/xgettext-c-21.
2959 * gettext-tools/tests/xg-c-escape-3.c: Renamed from
2960 gettext-tools/tests/xg-c-21.c.
2961 * Makefile.am (TESTS, EXTRA_DIST): Update.
2963 xgettext tests: Rename xgettext-c-23 to xgettext-c-escape-2.
2964 * gettext-tools/tests/xgettext-c-escape-2: Renamed from
2965 gettext-tools/tests/xgettext-c-23.
2966 * Makefile.am (TESTS): Update.
2968 xgettext tests: Rename xgettext-c-19 to xgettext-c-escape-1.
2969 * gettext-tools/tests/xgettext-c-escape-1: Renamed from
2970 gettext-tools/tests/xgettext-c-19.
2971 * Makefile.am (TESTS): Update.
2973 xgettext tests: Rename xgettext-c-14 to xgettext-c-format-5.
2974 * gettext-tools/tests/xgettext-c-format-5: Renamed from
2975 gettext-tools/tests/xgettext-c-14.
2976 * Makefile.am (TESTS): Update.
2978 xgettext tests: Rename xgettext-c-17 to xgettext-c-format-4.
2979 * gettext-tools/tests/xgettext-c-format-4: Renamed from
2980 gettext-tools/tests/xgettext-c-17.
2981 * Makefile.am (TESTS): Update.
2983 xgettext tests: Rename xgettext-c-13 to xgettext-c-format-3.
2984 * gettext-tools/tests/xgettext-c-format-3: Renamed from
2985 gettext-tools/tests/xgettext-c-13.
2986 * Makefile.am (TESTS): Update.
2988 xgettext tests: Rename xgettext-c-8 to xgettext-c-format-2.
2989 * gettext-tools/tests/xgettext-c-format-2: Renamed from
2990 gettext-tools/tests/xgettext-c-8.
2991 * Makefile.am (TESTS): Update.
2993 xgettext tests: Rename xgettext-c-12 to xgettext-c-format-1.
2994 * gettext-tools/tests/xgettext-c-format-1: Renamed from
2995 gettext-tools/tests/xgettext-c-12.
2996 * Makefile.am (TESTS): Update.
2998 xgettext tests: Rename xgettext-c-15 to xgettext-c-ctxt-3.
2999 * gettext-tools/tests/xgettext-c-ctxt-3: Renamed from
3000 gettext-tools/tests/xgettext-c-15.
3001 * Makefile.am (TESTS): Update.
3003 xgettext tests: Rename xgettext-c-11 to xgettext-c-ctxt-2.
3004 * gettext-tools/tests/xgettext-c-ctxt-2: Renamed from
3005 gettext-tools/tests/xgettext-c-11.
3006 * Makefile.am (TESTS): Update.
3008 xgettext tests: Rename xgettext-c-10 to xgettext-c-ctxt-1.
3009 * gettext-tools/tests/xgettext-c-ctxt-1: Renamed from
3010 gettext-tools/tests/xgettext-c-10.
3011 * Makefile.am (TESTS): Update.
3013 xgettext tests: Rename xgettext-c-22 to xgettext-c-c++-2.
3014 * gettext-tools/tests/xgettext-c-c++-2: Renamed from
3015 gettext-tools/tests/xgettext-c-22.
3016 * Makefile.am (TESTS): Update.
3018 xgettext tests: Rename xgettext-c-20 to xgettext-c-c++-1.
3019 * gettext-tools/tests/xgettext-c-c++-1: Renamed from
3020 gettext-tools/tests/xgettext-c-20.
3021 * Makefile.am (TESTS): Update.
3023 2018-11-05 Bruno Haible <bruno@clisp.org>
3025 xgettext: C: Treat invalid escape sequences like GCC does.
3026 * gettext-tools/src/x-c.c (phase7_getc): For invalid escape sequences "\c",
3027 produce c, not a backslash.
3029 xgettext: Simplify calling convention of arglist_parser_remember.
3030 * gettext-tools/src/xg-arglist-parser.h (struct partial_call): Add
3031 'msgid_comment_is_utf8' field.
3032 (arglist_parser_remember): Add comment_is_utf8 argument.
3033 * gettext-tools/src/xg-arglist-parser.c (arglist_parser_alloc,
3034 arglist_parser_clone): Update.
3035 (arglist_parser_remember): Add comment_is_utf8 argument.
3036 (arglist_parser_done): Pass comment_is_utf8 value down to remember_a_message.
3037 * gettext-tools/src/x-c.c (extract_parenthesized): Update callers. Don't set
3038 xgettext_current_source_encoding around arglist_parser_remember calls.
3039 * gettext-tools/src/x-csharp.c (extract_parenthesized): Likewise.
3040 * gettext-tools/src/x-java.c (extract_parenthesized): Likewise.
3041 * gettext-tools/src/x-javascript.c (extract_balanced): Likewise.
3042 * gettext-tools/src/x-perl.c (extract_balanced): Likewise.
3043 * gettext-tools/src/x-python.c (extract_balanced): Likewise.
3044 * gettext-tools/src/x-vala.c (extract_balanced): Likewise.
3045 * gettext-tools/src/x-awk.c (extract_parenthesized): Update callers.
3046 * gettext-tools/src/x-elisp.c (read_object): Likewise.
3047 * gettext-tools/src/x-librep.c (read_object): Likewise.
3048 * gettext-tools/src/x-lisp.c (read_object): Likewise.
3049 * gettext-tools/src/x-lua.c (extract_balanced): Likewise.
3050 * gettext-tools/src/x-php.c (extract_balanced): Likewise.
3051 * gettext-tools/src/x-scheme.c (read_object): Likewise.
3052 * gettext-tools/src/x-sh.c (read_command): Likewise.
3053 * gettext-tools/src/x-tcl.c (read_command): Likewise.
3055 xgettext: Delay calls to from_current_source_encoding, part 2.
3056 * gettext-tools/src/xg-arglist-parser.h: Include xg-mixed-string.h.
3057 (struct partial_call): Change type of fields msgctxt, msgid, msgid_plural to
3058 'mixed_string_ty *'.
3059 (arglist_parser_remember, arglist_parser_remember_msgctxt): Take a
3060 'mixed_string_ty *' argument instead of a 'char *' argument.
3061 * gettext-tools/src/xg-arglist-parser.c (arglist_parser_clone): Update
3063 (arglist_parser_remember, arglist_parser_remember_msgctxt): Take a
3064 'mixed_string_ty *' argument.
3065 (arglist_parser_done): Convert the mixed_string to UTF-8 encoded 'char *' here.
3066 This is where from_current_source_encoding gets invoked now: immediately before
3067 invoking remember_a_message, that is, only when we really need to know the
3068 --from-source encoding.
3069 * gettext-tools/src/x-c.c (extract_parenthesized): Pass the mixed_string to
3070 arglist_parser_remember. Don't set xgettext_current_source_encoding around
3071 arglist_parser_done calls.
3072 * gettext-tools/src/x-csharp.c (extract_parenthesized): Likewise.
3073 * gettext-tools/src/x-java.c (extract_parenthesized): Likewise.
3074 * gettext-tools/src/x-javascript.c (extract_balanced): Likewise.
3075 * gettext-tools/src/x-python.c (extract_balanced): Likewise.
3076 * gettext-tools/src/x-vala.c (extract_balanced): Likewise.
3077 * gettext-tools/src/x-lisp.c: Include xg-mixed-string.h.
3078 (read_object): Convert the string to a mixed_string_ty before passing it to
3079 arglist_parser_remember.
3080 * gettext-tools/src/x-elisp.c: Likewise.
3081 * gettext-tools/src/x-librep.c: Likewise.
3082 * gettext-tools/src/x-scheme.c: Likewise.
3083 * gettext-tools/src/x-awk.c: Include xg-mixed-string.h.
3084 (extract_parenthesized): Convert the string to a mixed_string_ty before passing
3085 it to arglist_parser_remember.
3086 * gettext-tools/src/x-lua.c: Include xg-mixed-string.h.
3087 (extract_balanced): Convert the string to a mixed_string_ty before passing it to
3088 arglist_parser_remember.
3089 * gettext-tools/src/x-php.c: Include xg-mixed-string.h.
3090 (extract_balanced): Convert the string to a mixed_string_ty before passing it to
3091 arglist_parser_remember.
3092 * gettext-tools/src/x-sh.c: Include xg-mixed-string.h.
3093 (read_command): Convert the string to a mixed_string_ty before passing it to
3094 arglist_parser_remember.
3095 * gettext-tools/src/x-tcl.c: Include xg-mixed-string.h.
3096 (read_command): Convert the string to a mixed_string_ty before passing it to
3097 arglist_parser_remember.
3098 * gettext-tools/src/x-perl.c (extract_balanced): Convert the string to a
3099 mixed_string_ty before passing it to arglist_parser_remember. Don't set
3100 xgettext_current_source_encoding around arglist_parser_done calls.
3102 xgettext: Simplify calling convention of remember_a_message.
3103 * gettext-tools/src/xg-message.h (remember_a_message,
3104 remember_a_message_plural): Add is_utf8, comment_is_utf8 arguments.
3105 * gettext-tools/src/xg-message.c (remember_a_message,
3106 remember_a_message_plural): Likewise.
3107 * gettext-tools/src/xg-arglist-parser.c (arglist_parser_done): Update callers.
3108 * gettext-tools/src/x-awk.c (extract_parenthesized): Likewise.
3109 * gettext-tools/src/x-c.c (extract_parenthesized): Likewise.
3110 * gettext-tools/src/x-csharp.c (extract_parenthesized): Likewise.
3111 * gettext-tools/src/x-desktop.c (extract_desktop_handle_pair): Likewise.
3112 * gettext-tools/src/x-elisp.c (read_object): Likewise.
3113 * gettext-tools/src/x-java.c (extract_parenthesized): Likewise.
3114 * gettext-tools/src/x-javascript.c (extract_balanced): Likewise.
3115 * gettext-tools/src/x-librep.c (read_object): Likewise.
3116 * gettext-tools/src/x-lisp.c (read_object): Likewise.
3117 * gettext-tools/src/x-lua.c (extract_balanced): Likewise.
3118 * gettext-tools/src/x-perl.c (extract_variable, interpolate_keywords,
3119 extract_balanced): Likewise.
3120 * gettext-tools/src/x-php.c (extract_balanced): Likewise.
3121 * gettext-tools/src/x-python.c (extract_balanced): Likewise.
3122 * gettext-tools/src/x-rst.c (extract_rst, extract_rsj): Likewise.
3123 * gettext-tools/src/x-scheme.c (read_object): Likewise.
3124 * gettext-tools/src/x-sh.c (read_word, read_command): Likewise.
3125 * gettext-tools/src/x-smalltalk.c (extract_smalltalk): Likewise.
3126 * gettext-tools/src/x-tcl.c (read_command): Likewise.
3127 * gettext-tools/src/x-vala.c (extract_balanced): Likewise.
3128 * gettext-tools/src/x-ycp.c (extract_parenthesized): Likewise.
3129 * gettext-tools/src/xgettext.c (xgettext_its_extract_callback): Likewise.
3131 xgettext: Delay calls to from_current_source_encoding, part 1.
3132 * xg-mixed-string.h (enum segment_type, struct mixed_string_segment,
3133 struct mixed_string, mixed_string_ty): New types.
3134 (mixed_string_alloc_simple, mixed_string_alloc_utf8, mixed_string_clone,
3135 mixed_string_contents, mixed_string_free, mixed_string_contents_free1,
3136 mixed_string_concat, mixed_string_concat_free1): New declarations.
3137 (struct mixed_string_buffer): Change internal representation to use segments.
3138 (mixed_string_buffer_result): Change return type to 'mixed_string_ty *'.
3139 * xg-mixed-string.c: Include flexmember.h, msgl-ascii.h, po-charset.h.
3140 (segment_alloc, segment_clone, mixed_string_alloc_simple,
3141 mixed_string_alloc_utf8, mixed_string_clone, mixed_string_contents,
3142 mixed_string_free, mixed_string_contents_free1, mixed_string_concat,
3143 mixed_string_concat_free1): New functions.
3144 (mixed_string_buffer_init, mixed_string_buffer_is_empty): Change to match new
3145 internal representation.
3146 (mixed_string_buffer_grow_curr_buffer): New function.
3147 (mixed_string_buffer_grow_utf8_buffer): Remove function.
3148 (mixed_string_buffer_append_to_utf8_buffer): Update accordingly.
3149 (mixed_string_buffer_flush_curr_buffer): Remove function.
3150 (mixed_string_buffer_add_segment, mixed_string_buffer_flush_curr): New
3152 (mixed_string_buffer_append_char, mixed_string_buffer_append_unicode,
3153 mixed_string_buffer_destroy, mixed_string_buffer_result): Change to match new
3154 internal representation.
3155 * x-c.c (struct token_ty): New field 'mixed_string'.
3156 (free_token): Update accordingly.
3157 (phase5_get, phase6_get, phase8a_get): For tokens of type
3158 token_type_string_literal, use a mixed_string.
3159 (phase8_get): Use mixed_string_concat_free1.
3160 (struct xgettext_token_ty): New field 'mixed_string'.
3161 (x_c_lex, extract_parenthesized): For tokens of type
3162 xgettext_token_type_string_literal, use a mixed_string.
3163 * x-csharp.c (comment_line_end): Update.
3164 (struct token_ty): New field 'mixed_string'.
3165 (free_token): Update accordingly.
3166 (phase6_get): For tokens of type token_type_string_literal, use a mixed_string.
3167 (phase7_get): Use mixed_string_concat_free1.
3168 (extract_parenthesized): For tokens of type token_type_string_literal, use a
3170 * x-java.c (comment_line_end): Update.
3171 (struct token_ty): New field 'mixed_string'.
3172 (free_token): Update accordingly.
3173 (phase5_get): For tokens of type token_type_string_literal, use a mixed_string.
3174 (phase6_get): Use mixed_string_concat_free1.
3175 (extract_parenthesized): For tokens of type token_type_string_literal, use a
3177 * x-javascript.c (comment_line_end): Update.
3178 (struct token_ty): New field 'mixed_string'.
3179 (free_token): Update accordingly.
3180 (phase5_get): For tokens of type token_type_string, use a mixed_string.
3181 (x_javascript_lex): Use mixed_string_concat_free1.
3182 (extract_balanced): For tokens of type token_type_string, use a mixed_string.
3183 * x-python.c (comment_line_end): Update.
3184 (struct token_ty): New field 'mixed_string'.
3185 (free_token): Update accordingly.
3186 (phase5_get): For tokens of type token_type_string, use a mixed_string.
3187 (x_python_lex): Use mixed_string_concat_free1.
3188 (extract_balanced): For tokens of type token_type_string, use a mixed_string.
3189 * x-rst.c (extract_rsj): Update.
3190 * x-vala.c (struct token_ty): New field 'mixed_string'.
3191 (free_token): Update accordingly.
3192 (phase3_get): For tokens of type token_type_string_literal, use a mixed_string.
3193 For tokens of type token_type_string_template, fix a memory leak.
3194 (x_vala_lex): Use mixed_string_concat_free1.
3195 (extract_balanced): For tokens of type token_type_string_literal, use a
3198 xgettext: JavaScript: Make more use of mixed_string_buffer.
3199 * gettext-tools/src/x-javascript.c (struct unicode_string_buffer): Remove type.
3200 (init_unicode_string_buffer, unicode_string_buffer_append_unicode_grow,
3201 unicode_string_buffer_append_unicode, unicode_string_buffer_result,
3202 free_unicode_string_buffer): Remove functions.
3203 (comment_buffer, comment_start, comment_at_start, comment_add,
3204 comment_line_end): Use mixed_string_buffer API.
3206 xgettext: Python: Make more use of mixed_string_buffer.
3207 * gettext-tools/src/x-python.c (struct unicode_string_buffer): Remove type.
3208 (init_unicode_string_buffer, unicode_string_buffer_append_unicode_grow,
3209 unicode_string_buffer_append_unicode, unicode_string_buffer_result,
3210 free_unicode_string_buffer): Remove functions.
3211 (comment_buffer, comment_start, comment_at_start, comment_add,
3212 comment_line_end): Use mixed_string_buffer API.
3214 xgettext: Change the C# extractor to make use of mixed_string_buffer.
3215 * gettext-tools/src/x-csharp.c (struct string_buffer): Remove type.
3216 (init_string_buffer, string_buffer_append_unicode_grow,
3217 string_buffer_append_unicode, string_buffer_result, free_string_buffer): Remove
3219 (comment_buffer, comment_start, comment_at_start, comment_add,
3220 comment_line_end): Use mixed_string_buffer API.
3221 (phase6_get): Likewise.
3223 xgettext: Optimize away a memory allocation.
3224 * gettext-tools/src/x-c.c (phase5_get): Allocate the mixed_string_buffer on the
3225 stack, not on the heap.
3226 * gettext-tools/src/x-csharp.c (phase6_get): Likewise.
3227 * gettext-tools/src/x-javascript.c (phase5_get): Likewise.
3228 * gettext-tools/src/x-python.c (phase5_get): Likewise.
3229 * gettext-tools/src/x-vala.c (phase3_get): Likewise.
3230 * gettext-tools/src/x-rst.c (stringbuf, parse_string, extract_rsj): Allocate the
3231 mixed_string_buffer statically, not on the heap.
3232 * gettext-tools/src/xg-mixed-string.h (mixed_string_buffer_alloc,
3233 mixed_string_buffer_done): Remove declarations.
3234 * gettext-tools/src/xg-mixed-string.c (mixed_string_buffer_alloc,
3235 mixed_string_buffer_done): Remove functions.
3237 xgettext: Change the Java extractor to make use of mixed_string_buffer.
3238 * gettext-tools/src/xg-mixed-string.h: Include <stdbool.h>.
3239 (mixed_string_buffer_init, mixed_string_buffer_is_empty,
3240 mixed_string_buffer_destroy, mixed_string_buffer_result): New declarations.
3241 * gettext-tools/src/xg-mixed-string.c: Include xg-pos.h.
3242 (mixed_string_buffer_init): New function.
3243 (mixed_string_buffer_alloc): Invoke it.
3244 (mixed_string_buffer_is_empty): New function, based on comment_at_start in
3246 (mixed_string_buffer_append_lone_surrogate): New function, based on
3247 string_buffer_append_lone_surrogate in x-java.c.
3248 (mixed_string_buffer_flush_utf16_surr, mixed_string_buffer_append_unicode): Use
3250 (mixed_string_buffer_destroy, mixed_string_buffer_result): New functions.
3251 (mixed_string_buffer_done): Invoke mixed_string_buffer_result.
3252 * gettext-tools/src/x-java.c: Include xg-mixed-string.h.
3253 (struct string_buffer): Remove type.
3254 (init_string_buffer, string_buffer_append_byte,
3255 string_buffer_append_unicode_grow, string_buffer_append_unicode,
3256 string_buffer_append_lone_surrogate, string_buffer_flush_utf16_surr,
3257 string_buffer_flush_curr_buffer): Remove functions.
3258 (mixed_string_buffer_append): Renamed from string_buffer_append. Use
3259 mixed_string_buffer.
3260 (string_buffer_result, free_string_buffer): Remove functions.
3261 (comment_buffer, comment_start, comment_at_start, comment_add,
3262 comment_line_end): Use mixed_string_buffer API.
3263 (accumulate_escaped, phase5_get): Likewise.
3265 xgettext: Share some more code among extractors.
3266 * gettext-tools/src/xg-pos.h: New file.
3267 * gettext-tools/src/xg-pos.c: New file.
3268 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add xg-pos.h.
3269 (xgettext_SOURCES): Add xg-pos.c.
3270 * gettext-tools/src/FILES: Update.
3271 * gettext-tools/src/x-awk.c: Include xg-pos.h.
3272 (real_file_name, logical_file_name, line_number): Remove variables.
3273 * gettext-tools/src/x-c.c: Likewise.
3274 * gettext-tools/src/x-csharp.c: Likewise.
3275 * gettext-tools/src/x-elisp.c: Likewise.
3276 * gettext-tools/src/x-java.c: Likewise.
3277 * gettext-tools/src/x-javascript.c: Likewise.
3278 * gettext-tools/src/x-librep.c: Likewise.
3279 * gettext-tools/src/x-lisp.c: Likewise.
3280 * gettext-tools/src/x-lua.c: Likewise.
3281 * gettext-tools/src/x-perl.c: Likewise.
3282 * gettext-tools/src/x-php.c: Likewise.
3283 * gettext-tools/src/x-python.c: Likewise.
3284 * gettext-tools/src/x-rst.c: Likewise.
3285 * gettext-tools/src/x-scheme.c: Likewise.
3286 * gettext-tools/src/x-sh.c: Likewise.
3287 * gettext-tools/src/x-smalltalk.c: Likewise.
3288 * gettext-tools/src/x-tcl.c: Likewise.
3289 * gettext-tools/src/x-vala.c: Likewise.
3290 * gettext-tools/src/x-ycp.c: Likewise.
3292 xgettext: Split source code into smaller files.
3293 * gettext-tools/src/rc-str-list.h: New file, extracted from
3294 gettext-tools/src/xgettext.h.
3295 * gettext-tools/src/xg-encoding.h: Likewise.
3296 * gettext-tools/src/xg-mixed-string.h: Likewise.
3297 * gettext-tools/src/xg-arglist-context.h: Likewise.
3298 * gettext-tools/src/xg-arglist-callshape.h: Likewise.
3299 * gettext-tools/src/xg-arglist-parser.h: Likewise.
3300 * gettext-tools/src/xg-message.h: Likewise.
3301 * gettext-tools/src/xg-encoding.c: New file, extracted from
3302 gettext-tools/src/xgettext.c.
3303 * gettext-tools/src/xg-mixed-string.c: Likewise.
3304 * gettext-tools/src/xg-arglist-context.c: Likewise.
3305 * gettext-tools/src/xg-arglist-callshape.c: Likewise.
3306 * gettext-tools/src/xg-arglist-parser.c: Likewise.
3307 * gettext-tools/src/xg-message.c: Likewise.
3308 * gettext-tools/src/xgettext.h: Remove declarations that moved to rc-str-list.h
3310 (add_all_comments, comment_tag, msgstr_prefix, msgstr_suffix,
3311 default_syntax_check, current_formatstring_parser1,
3312 current_formatstring_parser2, current_formatstring_parser3): New declarations.
3313 (xgettext_comment, xgettext_comment_reset, savable_comment_to_xgettext_comment,
3314 recognize_qt_formatstrings): New declarations.
3315 (substring_match): Remove obsolete declaration.
3316 * gettext-tools/src/xgettext.c: Include xgettext.h first.
3317 Include <iconv.h>, rc-str-list.h, xg-encoding.h, xg-arglist-context.h,
3318 xg-message.h. Don't include xsize.h, po-xerror.h, unistr.h.
3319 (add_all_comments, comment_tag, msgstr_prefix, msgstr_suffix,
3320 default_syntax_check): Make global.
3321 (split_keywordspec, insert_keyword_callshape): Moved to xg-arglist-callshape.c.
3322 (null_context, passthrough_context, inherited_context,
3323 null_context_list_iterator, passthrough_context_circular_list,
3324 passthrough_context_list_iterator, flag_context_list_iterator,
3325 flag_context_list_iterator_advance, flag_context_list_table_lookup): Move to
3326 xg-arglist-context.c.
3327 (flag_context_list_table_insert): Move bulk of body to new function
3328 flag_context_list_table_add in xg-arglist-context.c.
3329 (xgettext_comment, xgettext_comment_reset, savable_comment_to_xgettext_comment):
3331 (current_formatstring_parser1, current_formatstring_parser2,
3332 current_formatstring_parser3): Make global.
3333 (non_ascii_error_message, from_current_source_encoding): Move to xg-encoding.c.
3334 (CONVERT_STRING, set_format_flags_from_context, warn_format_string,
3335 remember_a_message, remember_a_message_plural): Move to xg-message.c.
3336 (arglist_parser_alloc, arglist_parser_clone, arglist_parser_remember,
3337 arglist_parser_remember_msgctxt, arglist_parser_decidedp, arglist_parser_done):
3338 Move to xg-arglist-parser.c.
3339 (mixed_string_buffer_alloc, mixed_string_buffer_append_to_curr_buffer,
3340 mixed_string_buffer_grow_utf8_buffer, mixed_string_buffer_append_to_utf8_buffer,
3341 mixed_string_buffer_flush_utf16_surr, mixed_string_buffer_flush_curr_buffer,
3342 mixed_string_buffer_append_char, mixed_string_buffer_append_unicode,
3343 mixed_string_buffer_done): Move to xg-mixed-string.c.
3344 (recognize_qt_formatstrings): New function.
3345 * gettext-tools/src/x-*.h: Include xg-arglist-context.h instead of xgettext.h.
3346 * gettext-tools/src/x-*.c: Update include directives.
3347 * gettext-tools/src/its.h: Likewise.
3348 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add the new .h files.
3349 (xgettext_SOURCES): Add the new .c files.
3350 * gettext-tools/src/FILES: Update.
3352 xgettext: Fix crash when parsing invalid \Uxxxxxxxx escape sequence.
3353 * gettext-tools/src/x-c.c (phase3_pushback): Increase size to 9 characters.
3355 xgettext: Add support for C++11 raw string literals.
3356 * gettext-tools/src/x-c.c (phase5_get): Recognize the R"..." syntax and its variants.
3357 * gettext-tools/tests/xgettext-c-20: Change expected error message.
3359 xgettext: Add support for C11 string literals.
3360 * gettext-tools/src/x-c.c (phase5_get): Recognize the u8"..." syntax.
3361 * gettext-tools/tests/xgettext-c-25: New file.
3362 * gettext-tools/tests/Makefile.am (TESTS): Add it.
3363 * NEWS: Mention the change.
3365 xgettext: Vala: Improve parsing of escape sequences.
3366 * gettext-tools/src/x-vala.c (phase7_getc): Don't recognize \?, \a, \1...\7, \U.
3368 * gettext-tools/tests/xgettext-vala-1: Test \t in verbatim strings literals.
3369 * NEWS: Mention the change.
3371 2018-11-05 Bruno Haible <bruno@clisp.org>
3373 xgettext: Fix result for concatenation of strings with escape sequences.
3374 Reported by Morten Welinder <mwelinder@gmail.com>
3375 in <https://lists.gnu.org/archive/html/bug-gettext/2015-12/msg00017.html>
3376 and <https://savannah.gnu.org/bugs/?46756>.
3379 2014-05-07 xgettext: Provide a way to interpret string literals lazily
3380 2014-05-07 c: Interpret string literals lazily
3381 2014-05-09 vala: Interpret string literals lazily
3382 2014-12-02 c: Support C++11 string literals
3383 and subsequent fixes of these.
3385 * gettext-tools/src/xgettext.h (savable_comment_convert_encoding): Remove
3387 (enum literalstring_escape_type, struct literalstring_parser): Remove types.
3388 (struct partial_call): Update.
3389 (arglist_parser_remember_literal): Remove declaration.
3390 * gettext-tools/src/xgettext.c (struct extractor_ty): Remove
3391 'literalstring_parser' field.
3392 (savable_comment_convert_encoding): Remove function.
3393 (current_literalstring_parser): Remove variable.
3394 (extract_from_file, arglist_parser_alloc, arglist_parser_clone): Update.
3395 (arglist_parser_remember_literal): Remove function.
3396 (arglist_parser_remember_msgctxt): Simplify accordingly.
3397 * gettext-tools/src/x-*.h (SCANNERS_*): Remove literalstring_parser initializer.
3398 * gettext-tools/src/x-c.h (literalstring_c): Remove declaration.
3399 * gettext-tools/src/x-c.c: Remove all traces of literalstring_escape_type and
3400 literalstring_parser.
3401 (phase7_getc, phase7_ungetc): Reinstantiate functions.
3402 (phase5_get): Simplify. Use phase7_getc.
3403 * gettext-tools/src/x-vala.c: Remove all traces of literalstring_escape_type and
3404 literalstring_parser.
3405 (phase7_getc, phase7_ungetc): Reinstantiate functions.
3406 (phase3_get): Simplify. Use phase7_getc.
3407 (extract_balanced): Simplify.
3409 2018-11-05 Bruno Haible <bruno@clisp.org>
3411 xgettext: New tests for non-ASCII extracted comments.
3412 * gettext-tools/tests/xgettext-c-24: New file.
3413 * gettext-tools/tests/xg-c-24.c: New file.
3414 * gettext-tools/tests/xgettext-vala-2: New file.
3415 * gettext-tools/tests/xg-vala-2.vala: New file.
3416 * gettext-tools/tests/Makefile.am (TESTS): Add xgettext-c-24, xgettext-vala-2.
3417 (EXTRA_DIST): Add xg-c-24.c, xg-vala-2.vala.
3419 xgettext: Enhance test for NUL byte handling.
3420 * gettext-tools/tests/xg-c-21.c: Add some more test cases.
3421 * gettext-tools/tests/xgettext-c-21: Update expected result accordingly. Change
3422 expected result for backslash-NUL.
3424 2018-11-04 Bruno Haible <bruno@clisp.org>
3426 xgettext: New test of concatenation of strings with escape sequences.
3427 Reported by Morten Welinder <mwelinder@gmail.com>
3428 in <https://lists.gnu.org/archive/html/bug-gettext/2015-12/msg00017.html>
3429 and <https://savannah.gnu.org/bugs/?46756>.
3431 * gettext-tools/tests/xgettext-c-23: New file.
3432 * gettext-tools/tests/Makefile.am (TESTS): Add it.
3434 2018-11-04 Bruno Haible <bruno@clisp.org>
3436 xgettext: JavaScript: Fix a memory leak.
3437 * gettext-tools/src/x-javascript.c (free_token): Free tp->string also for
3441 * gettext-tools/src/cldr-plural-exp.h: Add a blank line.
3442 * gettext-tools/src/locating-rule.h: Correct indentation.
3444 Fix test failure with valgrind.
3445 * gettext-tools/tests/msgcmp-4: Filter out valgrind's messages from the output.
3447 2018-10-28 Bruno Haible <bruno@clisp.org>
3449 Make test files executable.
3450 * gettext-tools/tests/xgettext-c-22: Make executable.
3451 * gettext-tools/tests/xgettext-properties-[234]: Likewise.
3452 * gettext-tools/tests/xgettext-rst-[12]: Likewise.
3454 Make it easier to build the code when the documentation tools don't work.
3455 * gettext-tools/Makefile.am (SUBDIRS): Move 'doc' to the end. Move 'its' to the
3458 tests: Improve reliability.
3459 * xgettext-3: Verify the exit code of the xgettext invocation.
3460 * xgettext-4: Likewise.
3461 * xgettext-appdata-1: Likewise.
3462 * xgettext-c-19: Likewise.
3463 * xgettext-c-20: Likewise.
3464 * xgettext-c-21: Likewise.
3465 * xgettext-csharp-2: Likewise.
3466 * xgettext-csharp-3: Likewise.
3467 * xgettext-csharp-8: Likewise.
3468 * xgettext-desktop-1: Likewise.
3469 * xgettext-glade-1: Likewise.
3470 * xgettext-glade-6: Likewise.
3471 * xgettext-glade-7: Likewise.
3472 * xgettext-gsettings-1: Likewise.
3473 * xgettext-perl-2: Likewise.
3474 * xgettext-perl-3: Likewise.
3476 2018-10-25 Bruno Haible <bruno@clisp.org>
3478 po, examples: Change .po -> .gmo rules to consider the newest changes to the POT file.
3479 Reported by Claude Paroz <claude@2xlibre.net>
3480 in <https://savannah.gnu.org/bugs/?50910>.
3482 * gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS): Set MSGMERGE_FOR_MSGFMT_OPTION.
3483 * gettext-runtime/po/Makefile.in.in (MSGMERGE): Use GNU msgmerge, even if not
3485 (MSGMERGE_FOR_MSGFMT_OPTION): New variable.
3486 (.po.gmo): Depend on the POT file. Use msgmerge on the fly, to take into
3487 account the most recent POT file changes.
3488 * gettext-tools/examples/hello-*/po/Makefile.am: Likewise, also for the .po.qm,
3489 update-properties, update-classes targets.
3490 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile
3491 (MSGMERGE_FOR_MSGFMT_OPTION): New variable.
3492 ($(STRINGSFILES)): Depend on the POT file. Use msgmerge on the fly, to take
3493 into account the most recent POT file changes.
3495 2018-10-25 Bruno Haible <bruno@clisp.org>
3497 msgmerge: New option --for-msgfmt.
3498 * gettext-tools/src/msgmerge.c (for_msgfmt): New variable.
3499 (long_options): Add option --for-msgfmt.
3500 (main): Handle option --for-msgfmt.
3501 (usage): Document option --for-msgfmt.
3502 (match_domain): When --for-msgfmt is given, omit untranslated and fuzzy messages
3504 (merge): When --for-msgfmt is given, don't add obsolete messages to the result.
3505 * gettext-tools/tests/msgmerge-26: New file.
3506 * gettext-tools/tests/Makefile.am (TESTS): Add it.
3507 * gettext-tools/doc/msgmerge.texi: Mention the option --for-msgfmt.
3508 * NEWS: Mention the change.
3510 Add ability to write PO files without translator comment lines.
3511 * gettext-tools/src/write-po.h (message_print_style_comment): New declaration.
3512 * gettext-tools/src/write-po.c (print_comment): New variable.
3513 (message_print_style_comment): New function.
3514 (message_print_comment): Output nothing if print_comment is false.
3516 2018-10-24 Bruno Haible <bruno@clisp.org>
3518 Improve reliability of 'make dist'.
3519 * gettext-tools/examples/po/Makefile.am (distdir1): Depend on the .pot file.
3521 2018-10-24 Bruno Haible <bruno@clisp.org>
3523 po, examples: Put stamp-po in the source directory.
3524 Rationale: <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>.
3526 * gettext-runtime/po/Makefile.in.in: Use $(srcdir)/stamp-po instead of stamp-po.
3527 Talk about "version control system", not CVS.
3528 * gettext-tools/examples/hello-*/po/Makefile.am: Likewise.
3529 * gettext-tools/examples/po/Makefile.am: Likewise.
3530 * gettext-tools/examples/check-examples (func_check_dist_vpath): Verify the
3531 stamp-po file does not exist in the build dir, except when using the older
3532 Makefile.in.in infrastructure.
3534 2018-10-24 Bruno Haible <bruno@clisp.org>
3536 po: Make "make maintainer-clean" erase the .pot file.
3538 <https://www.gnu.org/prep/standards/html_node/Standard-Targets.html>
3539 <https://www.gnu.org/software/automake/manual/html_node/Clean.html>
3541 * NEWS: Mention the change.
3542 * gettext-runtime/po/Makefile.in.in (maintainer-clean): Remove the .pot file.
3543 * gettext-tools/examples/hello-*/po/Makefile.am (MAINTAINERCLEANFILES): Add
3545 * gettext-tools/examples/po/Makefile.am (MAINTAINERCLEANFILES): Likewise.
3546 * gettext-tools/examples/check-examples (func_check_maintainerclean,
3547 func_check_maintainerclean_vpath): Verify the .pot file is removed after
3548 'make maintainer-clean', except when using the older Makefile.in.in
3551 2018-10-24 Bruno Haible <bruno@clisp.org>
3553 po, examples: Use case-insensitive search for "GNU <PACKAGE_NAME>".
3554 Reported by Akim Demaille <akim@lrde.epita.fr> in
3555 <https://lists.gnu.org/archive/html/bug-gettext/2018-10/msg00020.html>.
3557 * gettext-runtime/po/Makefile.in.in ($(DOMAIN).pot-update): Use a
3558 case-insensitive search for "GNU <PACKAGE_NAME>".
3559 * gettext-tools/examples/hello-*/po/Makefile.am ($(DOMAIN).pot-update):
3561 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile
3562 ($(DOMAIN).pot-update): Likewise.
3564 2018-10-24 Bruno Haible <bruno@clisp.org>
3566 po: Remove obsolete Makefile rules for .mo files.
3567 * gettext-runtime/po/Makefile.in.in (MSGFMT*): Remove variables.
3568 (.SUFFIXES): Remove .mo.
3569 (.po.mo): Remove rule.
3570 (distclean): Don't remove *.mo files.
3571 * gettext-tools/examples/hello-*/po/Makefile.am (.SUFFIXES): Remove .mo.
3572 (.po.mo): Remove rule.
3573 (DISTCLEANFILES): Remove *.mo.
3574 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile (.SUFFIXES):
3576 * gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS): Don't set MSGFMT_015.
3578 2018-10-24 Bruno Haible <bruno@clisp.org>
3580 Remove outdated DJGPP build infrastructure.
3581 Approved by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
3583 * djgpp: Remove directory.
3584 * Makefile.am (EXTRA_DIST): Remove the djgpp files.
3586 2018-10-24 Bruno Haible <bruno@clisp.org>
3588 examples: Add support for msgmerge --previous.
3589 This mirrors the Makefile.in.in change from 2016-07-01.
3591 * gettext-tools/examples/hello-*/po/Makefile.am ($(POFILES), update-po): Use
3592 option --previous when the msgmerge program supports it.
3593 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile: Likewise.
3595 2018-10-24 Bruno Haible <bruno@clisp.org>
3597 examples: Support reading header comments from file.
3598 This mirrors the Makefile.in.in change from 2015-09-01 with the amendment
3601 * gettext-tools/examples/hello-*/po/Makefile.am ($(DOMAIN).pot-update):
3602 Replace header entry with the content of $(DOMAIN).pot-header, if exists.
3603 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile: Likewise.
3605 2018-10-24 Bruno Haible <bruno@clisp.org>
3607 examples: Make it possible to pass custom options to msginit.
3608 This mirrors the Makevars change from 2014-10-08.
3610 * gettext-tools/examples/hello-*/po/Makefile.am (MSGINIT_OPTIONS): New variable.
3611 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile: Likewise.
3613 2018-10-24 Bruno Haible <bruno@clisp.org>
3615 examples: Add an option to claim the package as GNU/non-GNU.
3616 This mirrors the Makefile.in.in and Makevars change from 2014-05-01.
3618 Reported by David Shea at <https://savannah.gnu.org/bugs/?40520>.
3620 * gettext-runtime/po/Makefile.in.in ($(DOMAIN).pot-update): Tweak whitespace.
3621 * gettext-tools/examples/hello-*/po/Makefile.am (PACKAGE_GNU): New variable.
3622 ($(DOMAIN).pot-update): Don't search for "GNU packagename" if $(PACKAGE_GNU) is
3624 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile: Likewise.
3626 2018-10-24 Bruno Haible <bruno@clisp.org>
3628 examples: Upgrade to newest Makevars.
3629 * gettext-tools/examples/hello-*/po/Makevars (PACKAGE_GNU, MSGINIT_OPTIONS,
3630 PO_DEPENDS_ON_POT, DIST_DEPENDS_ON_UPDATE_PO): New variables.
3631 * gettext-tools/examples/hello-*/configure.* (AM_GNU_GETTEXT_VERSION): Require
3633 * gettext-tools/examples/po/xsmallpot.sh (hello-c++-kde): Likewise.
3634 * gettext-tools/examples/hello-*/m4/Makefile.am (EXTRA_DIST): Update list of .m4
3636 * gettext-tools/examples/hello-*/autoclean.sh: Likewise.
3637 * gettext-tools/examples/check-examples (func_check_maintainerclean,
3638 func_check_maintainerclean_vpath): Allow left-over .po~ files.
3640 2018-10-24 Bruno Haible <bruno@clisp.org>
3642 examples: Avoid grepping through monster files.
3643 This mirrors the Makefile.in.in change from 2010-06-12.
3645 Reported by Jim Meyering <jim@meyering.net>.
3647 * gettext-tools/examples/hello-*/po/Makefile.am (($(DOMAIN).pot-update): When
3648 GNU find is available, avoid grepping through monster files.
3649 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile: Likewise.
3651 2018-10-24 Bruno Haible <bruno@clisp.org>
3653 examples: Don't create unnecessary installation directories.
3654 This mirrors the Makefile.in.in change from 2009-06-09.
3656 Reported by Serge Pavlovsky <pal666@gmail.com>.
3658 * gettext-tools/examples/hello-*/po/Makefile.am (install-data-local-yes,
3659 installdirs-local-yes): Remove unnecessary MKDIR_P invocations.
3661 2018-10-24 Bruno Haible <bruno@clisp.org>
3663 po: Make the insertion of the .pot-header file more robust.
3664 This improves on the 2015-09-01 patch.
3666 * gettext-runtime/po/Makefile.in.in ($(DOMAIN).pot-update): Fail if the 'cat'
3669 2018-10-24 Bruno Haible <bruno@clisp.org>
3671 po: When doing msgmerge --version, use the correct msgmerge program.
3672 This reverts the patch from
3673 <https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00000.html>.
3675 <https://lists.gnu.org/archive/html/bug-gettext/2018-10/msg00000.html>.
3677 * gettext-runtime/po/Makefile.in.in ($(POFILES)): Use $(MSGMERGE_UPDATE),
3680 2018-10-24 Bruno Haible <bruno@clisp.org>
3682 po: Make $(POFILES) target more robust.
3683 It was introduced on 2014-05-01.
3685 * gettext-runtime/po/Makefile.in.in ($(POFILES)): Create POT file also when the
3686 PO file does not yet exist. Fail if creation of the POT file fails.
3688 2018-10-23 Bruno Haible <bruno@clisp.org>
3690 Update list of files to check with gnulib.
3691 * Makefile.am (distcheck): Check also localename-table.h and localename-table.c.
3693 intl: Improve support for per-thread locales on Solaris 11.4.
3694 * gettext-runtime/intl/localename.c: Update from gnulib:
3695 Handle HAVE_SOLARIS114_LOCALES through Solaris specific code.
3696 * gettext-runtime/intl/localename-table.in.h: Update from gnulib's
3698 * gettext-runtime/intl/localename-table.c: Update from gnulib.
3699 * gettext-runtime/m4/intl-thread-locale.m4: Renamed from
3700 gettext-runtime/m4/intlsolaris.m4.
3701 (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
3702 HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
3703 * gettext-runtime/m4/intl.m4: Update from gnulib:
3704 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test for 'uselocale'. Set
3705 HAVE_NAMELESS_LOCALES.
3706 (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
3707 HAVE_NAMELESS_LOCALES here.
3708 * gettext-runtime/m4/Makefile.am (EXTRA_DIST): List intl-thread-locale.m4, not
3710 * gettext-tools/m4/Makefile.am (aclocal_DATA): List intl-thread-locale.m4, not
3712 * gettext-tools/misc/gettextize.in (m4filelist): List intl-thread-locale.m4, not
3714 * Makefile.am (distcheck-hook): Check intl-thread-locale.m4, not intlsolaris.m4.
3715 * gettext-tools/doc/gettext.texi (aclocal): List intl-thread-locale.m4, not
3717 * PACKAGING: List intl-thread-locale.m4, not intlsolaris.m4.
3719 Update to newest gnulib.
3721 intl: Fix support for per-thread locales on Solaris 11.4.
3722 * gettext-runtime/intl/localename-table.in.h: Renamed from
3723 gettext-runtime/intl/localename-table.h.
3724 * gettext-runtime/intl/Makefile.in (HEADERS): Add localename-table.in.h. Remove
3726 (localename-table.h): New target.
3727 (localename.$lo, localename-table.$lo): Update dependencies.
3728 (mostlyclean): Remove localename-table.h.
3730 2018-10-23 Daiki Ueno <ueno@gnu.org>
3732 xgettext: Fix compiler warning
3733 * gettext-tools/src/x-javascript.c (phase5_scan_regexp): Remove
3734 implicit argument. Reported in:
3735 <https://savannah.gnu.org/bugs/?48404>.
3737 2018-10-23 Bruno Haible <bruno@clisp.org>
3739 Update after gnulib changed.
3740 * configure.ac: Require Autoconf >= 2.63.
3741 * gettext-runtime/configure.ac: Likewise.
3742 * gettext-runtime/libasprintf/configure.ac: Likewise.
3743 * gettext-tools/configure.ac: Likewise.
3745 Update from gnulib: Assume Autoconf >= 2.63.
3746 * gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
3747 * gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
3748 * gettext-runtime/m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume
3749 AC_USE_SYSTEM_EXTENSIONS exists.
3750 * gettext-runtime/m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
3751 * gettext-runtime/m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
3752 * gettext-runtime/m4/size_max.m4 (AC_COMPUTE_INT): Remove fallback for
3755 Update from gnulib: Assume Automake >= 1.11.
3756 * gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE):
3757 Eliminate uses of 'eval'.
3759 Update from gnulib: Make better use of Autoconf.
3760 * gettext-runtime/m4/visibility.m4: Use AC_CACHE_CHECK where possible.
3762 2018-10-23 Bruno Haible <bruno@clisp.org>
3764 intl: Add support for per-thread locales on Solaris 11.4.
3765 Relies on the recent changes to the 'localename' module in gnulib.
3767 * gettext-runtime/intl/localename.c: Apply changes from gnulib.
3768 * gettext-runtime/intl/localename-table.h: New file, from gnulib.
3769 * gettext-runtime/intl/localename-table.c: New file, from gnulib.
3770 * gettext-runtime/intl/libgnuintl.in.h (newlocale, duplocale, freelocale): New
3771 overriding declarations.
3772 * gettext-runtime/intl/Makefile.in (HEADERS): Add localename-table.h.
3773 (SOURCES): Add localename-table.c.
3774 (OBJECTS): Add localename-table.$lo.
3775 (localename-table.lo): New target.
3776 (libgnuintl.h, libintl.h): Substitute also HAVE_NAMELESS_LOCALES.
3777 * gettext-runtime/m4/intl.m4: Apply changes from gnulib:
3778 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and 'getlocalename_l'.
3779 Instead, invoke gt_INTL_SOLARIS. Set HAVE_NAMELESS_LOCALES.
3780 * gettext-runtime/m4/intlsolaris.m4: New file, from gnulib.
3781 * gettext-runtime/m4/Makefile.am (EXTRA_DIST): Add it.
3782 * gettext-tools/m4/Makefile.am (aclocal_DATA): Add intlsolaris.m4.
3783 * gettext-tools/misc/gettextize.in (m4filelist): Add intlsolaris.m4.
3784 * Makefile.am (distcheck-hook): Verify that intlsolaris.m4 is consistent with
3786 * gettext-tools/doc/gettext.texi (aclocal): Add intlsolaris.m4 to the file list.
3787 * PACKAGING: Add intlsolaris.m4 to the list of installed files.
3788 * NEWS: Mention the change.
3790 2018-10-23 Bruno Haible <bruno@clisp.org>
3792 Update to newest gnulib.
3794 examples: Fix another build failure.
3795 * gettext-tools/examples/po/xsmallpot.sh: In hello-pascal, make sure to build
3798 2018-10-21 Bruno Haible <bruno@clisp.org>
3800 New subdirectory system-tests.
3801 * gettext-tools/system-tests/Makefile.am: New file.
3802 * gettext-tools/system-tests/README: New file.
3803 * gettext-tools/system-tests/run-test: New file.
3804 * gettext-tools/system-tests/testlocale.c: New file.
3805 * gettext-tools/system-tests/intl-1-prg.c: New file.
3806 * gettext-tools/system-tests/intl-3-prg.c: New file.
3807 * gettext-tools/system-tests/intl-4-prg.c: New file.
3808 * gettext-tools/system-tests/intl-5-prg.c: New file.
3809 * gettext-tools/system-tests/intl-setlocale-1-prg.c: New file.
3810 * gettext-tools/system-tests/intl-setlocale-2-prg.c: New file.
3811 * gettext-tools/system-tests/intl-thread-1-prg.c: New file.
3812 * gettext-tools/system-tests/intl-thread-2-prg.c: New file.
3813 * gettext-tools/system-tests/intl-thread-3-prg.c: New file.
3814 * gettext-tools/system-tests/format-c-3-prg.c: New file.
3815 * gettext-tools/system-tests/format-c-4-prg.c: New file.
3816 * gettext-tools/system-tests/format-c-5-prg.c: New file.
3817 * gettext-tools/system-tests/plural-1-prg.c: New file.
3818 * gettext-tools/Makefile.am (SUBDIRS): Add system-tests.
3819 * gettext-tools/configure.ac (TEST_SYSTEM_LIBINTL): New conditional.
3820 (AC_CONFIG_FILES): Add system-tests/Makefile.
3821 * gettext-tools/tests/init.cfg: Include init-env from the tests/ directory.
3822 * gettext-tools/tests/intl-5-prg.c: When USE_SYSTEM_LIBINTL is defined, use the
3823 system's <libintl.h>.
3824 * gettext-tools/tests/intl-setlocale-1-prg.c: Likewise.
3825 * gettext-tools/tests/intl-setlocale-2-prg.c: Likewise.
3826 * gettext-tools/tests/intl-thread-1-prg.c: Likewise.
3827 * gettext-tools/tests/intl-thread-2-prg.c: Likewise.
3828 * gettext-tools/tests/intl-thread-3-prg.c: Likewise.
3829 * gettext-tools/tests/intl-1-prg.c: When USE_SYSTEM_LIBINTL is defined, use the
3830 system's <libintl.h>.
3831 * gettext-tools/tests/intl-3-prg.c: Likewise.
3832 * gettext-tools/tests/intl-4-prg.c: Likewise.
3833 * gettext-tools/tests/format-c-3-prg.c: Likewise.
3834 * gettext-tools/tests/format-c-4-prg.c: Likewise.
3835 * gettext-tools/tests/plural-1-prg.c: Likewise.
3836 * gettext-tools/tests/format-c-5-prg.c: When USE_SYSTEM_LIBINTL is defined, use
3837 the system's <libintl.h> and setenv instead of xsetenv, and no fake setlocale.
3838 * gettext-tools/tests/format-c-3: When USE_SYSTEM_LIBINTL is defined, try
3839 $LOCALE_FR and $LOCALE_FR_UTF8.
3840 * gettext-tools/tests/format-c-4: Likewise.
3841 * gettext-tools/tests/plural-1: Likewise.
3842 * gettext-tools/tests/format-c-5: When USE_SYSTEM_LIBINTL is defined, try fa_IR
3846 * gettext-tools/tests/Makefile.am: Update comments.
3848 Rename test gettext-8 to intl-5.
3849 * gettext-tools/tests/intl-5: Renamed from gettext-tools/tests/gettext-8.
3850 * gettext-tools/tests/intl-5-prg.c: Renamed from
3851 gettext-tools/tests/gettext-8-prg.c.
3852 * gettext-tools/tests/Makefile.am: Update.
3854 Rename test gettext-7 to intl-thread-3 and support more platforms.
3855 * gettext-tools/tests/intl-thread-3: Renamed from gettext-tools/tests/gettext-7.
3856 Don't limit to fixed set of platforms.
3857 * gettext-tools/tests/intl-thread-3-prg.c: Renamed from
3858 gettext-tools/tests/gettext-7-prg.c. Expect locale names as arguments.
3859 * gettext-tools/tests/intl-thread-3.po: Renamed from
3860 gettext-tools/tests/gettext-7.po.
3861 * gettext-tools/tests/Makefile.am: Update.
3863 Make the intl-thread-2 test effective on Solaris 11.
3864 * gettext-tools/m4/locale-de.m4: New file, based on locale-fr.m4 from gnulib.
3865 * gettext-tools/m4/Makefile.am (EXTRA_DIST): Add it.
3866 * gettext-tools/configure.ac: Invoke gt_LOCALE_DE_UTF8.
3867 * gettext-tools/tests/init-env.in: Set LOCALE_DE_UTF8.
3868 * gettext-tools/tests/intl-thread-2: Use a German instead of a Turkish locale.
3870 Rename test gettext-6 to intl-thread-2 and support more platforms.
3871 * gettext-tools/tests/intl-thread-2: Renamed from gettext-tools/tests/gettext-6.
3872 Don't limit to fixed set of platforms.
3873 * gettext-tools/tests/intl-thread-2-prg.c: Renamed from
3874 gettext-tools/tests/gettext-6-prg.c. Expect locale names as arguments.
3875 * gettext-tools/tests/intl-thread-2-1.po: Renamed from
3876 gettext-tools/tests/gettext-6-2.po. Convert to UTF-8.
3877 * gettext-tools/tests/intl-thread-2-2.po: Renamed from
3878 gettext-tools/tests/gettext-6-1.po. Convert to UTF-8.
3879 * gettext-tools/tests/Makefile.am: Update.
3881 New test intl-thread-1.
3882 * gettext-tools/tests/intl-thread-1: New file.
3883 * gettext-tools/tests/intl-thread-1-prg.c: New file.
3884 * gettext-tools/tests/intl-thread-1.po: New file.
3885 * gettext-tools/tests/Makefile.am: Update.
3887 Rename test gettext-5 to intl-setlocale-2.
3888 * gettext-tools/tests/intl-setlocale-2: Renamed from
3889 gettext-tools/tests/gettext-5.
3890 * gettext-tools/tests/intl-setlocale-2-prg.c: Renamed from
3891 gettext-tools/tests/gettext-5-prg.c.
3892 * gettext-tools/tests/intl-setlocale-2.po: Renamed from
3893 gettext-tools/tests/gettext-5.po.
3894 * gettext-tools/tests/Makefile.am: Update.
3896 Rename test gettext-4 to intl-4.
3897 * gettext-tools/tests/intl-4: Renamed from gettext-tools/tests/gettext-4.
3898 * gettext-tools/tests/intl-4-prg.c: Renamed from
3899 gettext-tools/tests/gettext-4-prg.c.
3900 * gettext-tools/tests/intl-4.po: Renamed from gettext-tools/tests/gettext-4.po.
3901 * gettext-tools/tests/Makefile.am: Update.
3904 * gettext-tools/tests/intl-3: New file.
3905 * gettext-tools/tests/intl-3-prg.c: New file.
3906 * gettext-tools/tests/Makefile.amL Update.
3909 * gettext-tools/tests/intl-2: New file.
3910 * gettext-tools/tests/intl-2-1.po: New file.
3911 * gettext-tools/tests/intl-2-2.po: New file.
3912 * gettext-tools/tests/Makefile.am: Update.
3915 * gettext-tools/tests/intl-1: New file.
3916 * gettext-tools/tests/intl-1-prg.c: New file.
3917 * gettext-tools/tests/intl-1.po: New file.
3918 * gettext-tools/tests/Makefile.am: Update.
3920 Rename gettext-3 test to intl-setlocale-1.
3921 * gettext-tools/tests/intl-setlocale-1: Renamed from
3922 gettext-tools/tests/gettext-3.
3923 * gettext-tools/tests/intl-setlocale-1-prg.c: Renamed from
3924 gettext-tools/tests/gettext-3-prg.c.
3925 * gettext-tools/tests/intl-setlocale-1-1.po: Renamed from
3926 gettext-tools/tests/gettext-3-1.po.
3927 * gettext-tools/tests/intl-setlocale-1-2.po: Renamed from
3928 gettext-tools/tests/gettext-3-2.po.
3929 * gettext-tools/tests/Makefile.am: Update.
3931 Update PACKAGING documentation.
3932 * PACKAGING: Remove mention of charset.alias (dropped on 2018-05-19).
3933 Mention that libintl does not get installed on Solaris 11.
3935 Tests: Update comments.
3936 * gettext-tools/tests/lang-python-1: Update comment about Python versions.
3937 * gettext-tools/tests/lang-python-2: Likewise.
3938 * gettext-tools/tests/lang-pascal: Update comment about fpk versions.
3940 Fix lang-bash test failure in VPATH builds.
3941 * gettext-tools/tests/lang-bash: Prepend the gettext-runtime/src build dir,
3942 not the gettext-runtime/src source dir, to PATH.
3944 2018-10-20 Bruno Haible <bruno@clisp.org>
3946 Fix 'make dist' (recent regression).
3947 * gettext-tools/examples/Makefile.am (EXAMPLESFILES): Remove
3948 hello-pascal/hello.rst.
3950 2018-10-19 Bruno Haible <bruno@clisp.org>
3952 examples: Modernize configure.ac.
3953 * gettext-tools/examples/hello-*/configure.ac: Use the recommended AC_INIT and
3954 AM_INIT_AUTOMAKE syntax. Require automake >= 1.11.
3956 examples: Add a script for checking against mistakes.
3957 * gettext-tools/examples/check-examples: New file.
3958 * gettext-tools/examples/HACKING: New file.
3959 * gettext-tools/examples/Makefile.am (EXTRA_DIST): Add them.
3960 * Admin/release-steps: Mention check-examples.
3962 examples: hello-pascal: Fix 'make distcheck'.
3963 * gettext-tools/examples/hello-pascal/Makefile.am (hello$(EXEEXT)): Move
3964 hello.rsj into $(srcdir) only if the new contents differs from the old contents.
3966 examples: hello-java*: Fix 'make distcheck'.
3967 * gettext-tools/examples/hello-java*/po/Makefile.am (update-properties): Create
3968 the new .properties files in the build dir and move them to $(srcdir) only if
3969 the new contents differs from the old contents.
3970 (update-classes): Likewise, also for .class files.
3972 2018-10-18 Bruno Haible <bruno@clisp.org>
3974 examples: hello-csharp*: Improve 'make maintainer-clean'.
3975 * gettext-tools/examples/hello-csharp*/po/Makefile.am (MAINTAINERCLEANFILES):
3976 Don't list the $(RESOURCESDLLFILES) here.
3977 (maintainer-clean-local): Instead, remove them and their parent directories
3980 examples: hello-php: Fix runtime error.
3981 * gettext-tools/examples/hello-php/hello.php: Fix the PHP markup. Don't print
3982 the return value of the printf function.
3984 examples: hello-tcl*: Fix runtime error.
3985 * gettext-tools/examples/hello-tcl*/configure.ac: Ensure pkgdatadir is an
3986 absolute file name without variable references.
3988 examples: hello-clisp: Fix runtime error with clisp versions >= 2.34.
3989 * gettext-tools/examples/hello-clisp/hello.lisp.in: Use the function
3990 PROCESS-ID, not PROGRAM-ID.
3992 examples: Fix 'make dist' failures in VPATH builds.
3993 * gettext-tools/examples/hello-*/po/Makefile.am (distdir1): Invoke target
3994 'stamp-po' after having done target 'update-po'.
3996 examples: hello-pascal: Fix 'make dist' failure in VPATH builds.
3997 * gettext-tools/examples/hello-pascal/Makefile.am: Generate hello.rsj
3998 in $(srcdir), not in the build dir.
4000 examples: hello-pascal: Fix 'make dist'.
4001 * gettext-tools/examples/hello-pascal/Makefile.am (EXTRA_DIST): Add the source
4004 examples: hello-java*: Fix "make dist".
4005 * gettext-runtime/m4/po.m4 (AM_POSTPROCESS_PO_MAKEFILE): Change PROPERTIESFILES
4006 and CLASSFILES to contain files in $(srcdir), not in $(top_srcdir).
4007 * gettext-tools/examples/hello-java*/Makefile.am (hello.jar): Fetch the catalogs
4008 from the po/ directory.
4009 * gettext-tools/examples/hello-java*/po/Makefile.am (MAINTAINERCLEANFILES):
4010 Add the .properties and the .class files.
4011 (EXTRA_DIST): Add the .properties files.
4012 (update-properties, update-classes): Generate the .properties and .class files
4013 in the po/ directory, not in the top-level directory.
4014 * gettext-tools/examples/hello-java*/autoclean.sh: Remove the catalogs in
4015 the po/ directory, not in the top-level directory.
4017 examples: Fix 'make dist'.
4018 * gettext-tools/examples/hello-c/m4/Makefile.am (EXTRA_DIST): Add all files
4019 that are brought in by 'autopoint'.
4020 * gettext-tools/examples/hello-c-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
4021 * gettext-tools/examples/hello-c-gnome3/m4/Makefile.am (EXTRA_DIST): Likewise.
4022 * gettext-tools/examples/hello-c++/m4/Makefile.am (EXTRA_DIST): Likewise.
4023 * gettext-tools/examples/hello-c++-kde/m4/Makefile.am (EXTRA_DIST): Likewise.
4024 * gettext-tools/examples/hello-c++-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
4025 * gettext-tools/examples/hello-objc/m4/Makefile.am (EXTRA_DIST): Likewise.
4026 * gettext-tools/examples/hello-objc-gnome/m4/Makefile.am (EXTRA_DIST): Likewise.
4028 examples: Fix 'make' failures in VPATH builds.
4029 * gettext-tools/examples/hello-java*/Makefile.am (hello_RESOURCES,
4030 MAINTAINERCLEANFILES): Remove variables.
4031 (hello.jar): Use two jar commands, to combine .class files from the build dir
4032 with .properties files from the source dir.
4033 * gettext-tools/examples/hello-java*/po/Makefile.am (update-properties,
4034 update-classes): Reference the .pot file in the source dir, not in the build
4036 (echo-catalogs): Include the fallback catalog.
4037 * gettext-tools/examples/hello-pascal/Makefile.am (hello_SOURCES): Add $(srcdir)
4039 (hello$(EXEEXT)): Use -o option to specify where the object file and the
4040 executable file shall be created.
4042 2018-10-17 Bruno Haible <bruno@clisp.org>
4044 examples: hello-csharp-forms: Fix 'make clean'.
4045 * gettext-tools/examples/hello-csharp-forms/Makefile.am (CLEANFILES): Add
4048 examples: hello-csharp: Fix 'make clean'.
4049 * gettext-tools/examples/hello-csharp/Makefile.am (CLEANFILES): Add
4052 examples: hello-objc-gnustep: Fix 'make distclean'.
4053 * gettext-tools/examples/hello-objc-gnustep/GNUmakefile (internal-distclean):
4054 Remove the *.lproj directories.
4055 * gettext-tools/examples/hello-objc-gnustep/po/GNUmakefile (internal-clean):
4056 Remove remove-potcdate.sed.
4058 examples: hello-pascal: Fix 'make maintainer-clean'.
4059 * gettext-tools/examples/hello-pascal/Makefile.am (MAINTAINERCLEANFILES): New
4062 examples: hello-java: Fix 'make' failure.
4063 * gettext-tools/examples/hello-java/po/Makefile.am (stamp-po): Fix syntax error.
4065 examples: hello-pascal: Update.
4066 * gettext-tools/examples/hello-pascal/configure.ac (PPC): Test for ppcx64 if
4067 ppc386 is not found.
4068 * gettext-tools/examples/hello-pascal/hello.rst: Remove file.
4069 * gettext-tools/examples/hello-pascal/Makefile.am: hello.rsj replaces hello.rst.
4070 (SUBDIRS): Proceed in current directory before recursing into po/.
4071 * gettext-tools/examples/hello-pascal/po/Makefile.am (POTFILES): hello.rsj
4073 * gettext-tools/examples/hello-pascal/autoclean.sh: Remove hello.rsj.
4075 examples: Correctly clean up left-over files.
4076 * gettext-tools/examples/hello-csharp/autoclean.sh: Handle shell wildcard
4078 * gettext-tools/examples/hello-csharp-forms/autoclean.sh: Likewise.
4080 2018-10-15 Bruno Haible <bruno@clisp.org>
4082 examples: Remove left-over files.
4083 * gettext-tools/examples/hello-*/autoclean.sh: Remove left-over files.
4085 examples: Clean up autoconf left-over.
4086 * gettext-tools/examples/hello-*/autoclean.sh: Remove the 'autom4te.cache'
4089 examples: hello-c++-widgets: Update build infrastructure.
4090 * gettext-tools/examples/hello-c++-widgets/autogen.sh: Pull in some more .m4
4092 * gettext-tools/examples/hello-c++-widgets/autoclean.sh: Remove them.
4094 Update test after gnulib module 'localcharset' changed.
4095 * gettext-tools/tests/gettext-4-prg.c: Treat Haiku like BeOS.
4097 examples: Fix "make dist" error.
4098 * gettext-tools/examples/po/xsmallpot.sh (hello-c++-kde): Invoke 'autopoint'
4099 before, not after, 'aclocal'.
4101 examples: Update developer documentation.
4102 * gettext-tools/examples/hello-csharp*/po/Makefile.am: Add comment.
4103 * gettext-tools/examples/hello-tcl*/po/Makefile.am: Likewise.
4105 examples: Improve developer documentation.
4106 * gettext-tools/examples/README: Add note about po/ directories.
4108 examples: Improve developer documentation.
4109 * HACKING: Mention dependency needed for examples.
4110 * gettext-tools/examples/hello-objc-gnustep/INSTALL: Small clarifications.
4112 Fix list of dependencies.
4113 * DEPENDENCIES: Add libacl.
4115 C# doc: Fix typo in Makefile.
4116 * gettext-runtime/intl-csharp/Makefile.am (doc): Fix typo.
4118 2018-10-15 Bruno Haible <bruno@clisp.org>
4120 gettextize: Don't redirect stderr.
4121 Reported by ShellCheck via Pavel Raiskup <praiskup@redhat.com>.
4123 * gettext-tools/misc/gettextize.in: Don't redirect stderr.
4125 2018-10-15 Bruno Haible <bruno@clisp.org>
4127 autopoint: Don't redirect stderr.
4128 Reported by ShellCheck via Pavel Raiskup <praiskup@redhat.com>.
4130 * gettext-tools/misc/autopoint.in (func_version_prereq): Don't redirect stderr.
4132 2018-10-15 Bruno Haible <bruno@clisp.org>
4134 Fix "make dist" error (regression from 2018-10-09).
4135 * gettext-tools/examples/Makefile.am (EXAMPLESFILES): Remove
4136 hello-csharp-forms/BUGS.
4138 2018-10-09 Bruno Haible <bruno@clisp.org>
4140 C# support: Remove pnet choice.
4141 * DEPENDENCIES: Don't mention pnet.
4142 * PACKAGING: Likewise.
4143 * gettext-tools/src/format-csharp.c: Simplify comment.
4144 * gettext-tools/src/msgfmt.cs: Remove workarounds for cscc.
4145 * gettext-tools/src/write-csharp.c (write_csharp_code): Update comment.
4146 * gettext-tools/doc/gettext.texi (C#): Don't mention resgen.
4147 * gettext-tools/tests/lang-csharp: Rely on mono, not pnet.
4148 * gettext-tools/examples/hello-csharp/INSTALL: Likewise.
4149 * gettext-tools/examples/hello-csharp-forms/INSTALL: Likewise.
4150 * gettext-tools/examples/hello-csharp-forms/BUGS: Remove file.
4152 Update to newest gnulib.
4154 2018-10-06 Bruno Haible <bruno@clisp.org>
4156 Fix a build failure on mingw with -O0.
4157 Reported at <https://savannah.gnu.org/bugs/?36443>.
4158 Fix suggested by Evgeny Grin <k2k@narod.ru>
4159 in <https://savannah.gnu.org/bugs/?36443#comment4>.
4161 * gnulib-local/build-aux/moopp (func_emit_source_h): Wrap the function
4162 declarations in extern "C" {}.
4164 2018-10-05 Bruno Haible <bruno@clisp.org>
4166 msgfmt: Remove outdated warning.
4167 * gettext-tools/src/msgfmt.c (msgfmt_parse_debrief): Remove outdated warning.
4168 (struct msgfmt_catalog_reader_ty): Remove field 'has_nonfuzzy_header_entry'.
4169 (msgfmt_constructor, msgfmt_frob_new_message): Update.
4171 2018-10-05 Bruno Haible <bruno@clisp.org>
4173 Fix conflict between different uses of GETTEXTLIBDIR.
4174 Rationale: The programs installed in $(prefix)/lib/gettext/ are at different
4175 locations before installation: some are in the source tree, some are in the
4178 * gettext-tools/src/msginit.c (project_id, project_id_version): Test
4179 GETTEXTLIBDIR_SRCDIR, not GETTEXTLIBDIR.
4180 (plural_forms): Test GETTEXTLIBDIR_BUILDDIR, not GETTEXTLIBDIR.
4181 * gettext-tools/tests/msginit-3: Set GETTEXTLIBDIR_SRCDIR, not GETTEXTLIBDIR.
4182 * gettext-tools/tests/msginit-4: Set both GETTEXTLIBDIR_SRCDIR and
4183 GETTEXTLIBDIR_BUILDDIR.
4185 2018-10-05 Bruno Haible <bruno@clisp.org>
4187 Fix conflict between different uses of GETTEXTDATADIR.
4188 * gettext-tools/src/read-tcl.c (msgdomain_read_tcl): Test GETTEXTTCLDIR, not
4190 * gettext-tools/tests/msgunfmt-tcl-1: Set GETTEXTTCLDIR, not GETTEXTDATADIR.
4192 Fix msginit-4 test failure when run step-by-step.
4193 * gettext-tools/tests/msginit-4: Don't assume that the test is run in a
4194 directory with just one POT file.
4196 cldr-plurals: Improve error handling.
4197 * gettext-tools/src/cldr-plurals.c (extract_rules): Let libxml2 show errors.
4198 Don't assume that the error was an out-of-memory.
4200 Remove unnecessary trailing comma in struct initializers.
4201 * gettext-tools/src/msgattrib.c (long_options): Remove trailing comma in
4203 * gettext-tools/src/msgcat.c (long_options): Likewise.
4204 * gettext-tools/src/msgcomm.c (long_options): Likewise.
4205 * gettext-tools/src/msgconv.c (long_options): Likewise.
4206 * gettext-tools/src/msgen.c (long_options): Likewise.
4207 * gettext-tools/src/msgfilter.c (long_options): Likewise.
4208 * gettext-tools/src/msgmerge.c (long_options): Likewise.
4209 * gettext-tools/src/msgunfmt.c (long_options): Likewise.
4210 * gettext-tools/src/msguniq.c (long_options): Likewise.
4211 * gettext-tools/src/xgettext.c (long_options): Likewise.
4213 2018-10-05 Bruno Haible <bruno@clisp.org>
4215 Explain how to concatenate POT files.
4216 Reported by Hadi Farah in
4217 <https://lists.gnu.org/archive/html/bug-gettext/2018-09/msg00026.html>.
4219 * gettext-tools/doc/msgcat.texi: Explain how to concatenate POT files.
4221 2018-10-05 Bruno Haible <bruno@clisp.org>
4223 Include gnulib module 'mkdir', needed for older mingw versions.
4224 Reported by Maarten Bosmans at <https://savannah.gnu.org/bugs/?33379>.
4226 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add 'mkdir'.
4228 2018-10-05 Bruno Haible <bruno@clisp.org>
4230 Fix link error when building with --enable-shared on mingw.
4231 * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO_OTHER): Add 'realloc-posix'.
4233 Fix msginit-4 test failure on Cygwin with --enable-shared.
4234 * gettext-tools/src/msginit.c (plural_forms): Include the program's directory
4237 Update after gnulib changed.
4238 * gettext-runtime/intl/vasnprintf.c: Update from gnulib.
4239 * gettext-runtime/libasprintf/vasnprintf.c: Update from gnulib.
4241 Update to newest gnulib.
4243 2018-09-19 Bruno Haible <bruno@clisp.org>
4245 Avoid test failures on 32-bit Cygwin in a 64-bit Cygwin environment.
4246 In this situation, argv[0] is absolute, even though the program was invoked
4247 as a file name without slashes (and thus found in $PATH).
4249 * gettext-tools/tests/msgcmp-2: Normalize the program name better.
4250 * gettext-tools/tests/msgcmp-3: Likewise.
4251 * gettext-tools/tests/msgfmt-7: Likewise.
4252 * gettext-tools/tests/msgfmt-8: Likewise.
4253 * gettext-tools/tests/msgfmt-9: Likewise.
4254 * gettext-tools/tests/msgfmt-10: Likewise.
4255 * gettext-tools/tests/msgmerge-2: Likewise.
4256 * gettext-tools/tests/msgmerge-9: Likewise.
4258 2018-09-18 Bruno Haible <bruno@clisp.org>
4260 Fix link error when building with --disable-shared on 64-bit Cygwin.
4261 * gnulib-local/lib/execute.c.diff: Remove file.
4262 * gnulib-local/lib/spawn-pipe.c.diff: Remove file.
4263 * gnulib-local/tests/test-environ.c.diff: Remove file.
4264 * gnulib-local/Makefile.am (EXTRA_DIST): Remove them.
4266 Fix link error when building with --disable-shared on Cygwin and mingw.
4267 * gettext-tools/configure.ac (LIBXML_STATIC): Define to 1 when using the
4268 included libxml and building with --disable-shared.
4269 * gnulib-local/lib/libxml/libxml.h (LIBXML_STATIC): Define to 1, not empty.
4271 2018-09-17 Bruno Haible <bruno@clisp.org>
4273 autogen.sh: Fix use of undefined function.
4274 * autogen.sh: Rewrite error message code.
4276 2018-09-17 Bruno Haible <bruno@clisp.org>
4278 Fix link error on Cygwin.
4279 Patch partially by Michael Haubenwallner at
4280 https://gitlab.gnome.org/GNOME/libxml2/commit/c65c9e8ee07e2dab0647392c2bd1795a5bc99829
4282 * gnulib-local/lib/libxml/xmlexports.in.h: Don't assume that _WIN32 is defined
4284 (XMLPUBVAR): Define as 'extern', not as empty.
4286 2018-09-17 Bruno Haible <bruno@clisp.org>
4288 Fix "Unescaped left brace in regex is deprecated here" warnings from Perl 5.26.
4289 Reported and patch by Jehan <jehan@girinstud.io> <jehan@zemarmot.net> at
4290 <https://savannah.gnu.org/bugs/?54088>.
4292 * gettext-tools/doc/texi2html: Escape braces in regular expressions.
4293 * gettext-runtime/libasprintf/texi2html: Likewise.
4295 2018-09-17 Bruno Haible <bruno@clisp.org>
4297 Update after gnulib changed.
4298 * gnulib-local/modules/fnmatch.diff: Update.
4299 * gettext-runtime/intl/config.charset: Remove file.
4300 * gettext-runtime/intl/localcharset.h: Update from gnulib.
4301 * gettext-runtime/intl/localcharset.c: Likewise.
4302 * gettext-runtime/intl/Makefile.in (DISTFILES.common): Remove config.charset.
4303 (charset.alias): Remove target.
4304 (install-exec): Don't install charset.alias.
4305 (install-data): Don't chmod config.charset.
4306 (installdirs): Don't create $(libdir).
4307 (uninstall): Don't uninstall charset.alias.
4308 (mostlyclean): Don't remove charset.alias.
4309 * gettext-runtime/intl/lock.h: Update from gnulib.
4310 * gettext-runtime/intl/verify.h: Likewise.
4311 * gettext-runtime/intl/printf-parse.c: Likewise.
4312 * gettext-runtime/libasprintf/printf-parse.c: Likewise.
4313 * gettext-runtime/m4/extern-inline.m4: Likewise.
4314 * gettext-runtime/m4/threadlib.m4: Likewise.
4315 * Makefile.am (distcheck-hook): Don't compare config.charset, ref-add.sin,
4318 Update to newest gnulib.
4320 Fix lang-sh test failure in VPATH builds.
4321 * gettext-tools/tests/lang-sh: Prepend the gettext-runtime/src build dir,
4322 not the gettext-runtime/src source dir, to PATH.
4324 2018-09-16 Bruno Haible <bruno@clisp.org>
4326 libintl: Improve locale handling on macOS 10.12 or newer.
4327 * gettext-runtime/intl/langprefs.c (_nl_language_preferences_default): Make the
4328 logic also work in locales such as "zh-Hans-DE".
4329 * gettext-runtime/intl/setlocale.c: Include header files for CoreFoundation.
4330 (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE and
4333 2018-09-16 Bruno Haible <bruno@clisp.org>
4335 Don't assume that 'sed' supports alternation in regular expressions.
4336 See https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Limitations-of-Usual-Tools.html
4338 * gettext-tools/tests/msginit-1: Don't use \| in a 'sed' regular expression.
4339 * gettext-tools/tests/msginit-3: Likewise.
4340 * gettext-tools/tests/msginit-4: Likewise.
4342 2018-09-16 Bruno Haible <bruno@clisp.org>
4344 Update list of locale names with scripts on macOS.
4345 * gettext-runtime/intl/localename.c (gl_locale_name_canonicalize): Update
4346 tables to match Mac OS X 10.13 and recent glibc.
4349 * gettext-runtime/m4/intlmacosx.m4 (gt_INTL_MACOSX): Fix variable name.
4351 Fix link error in "make check" when building with --disable-shared on macOS.
4352 * gnulib-local/modules/term-ostream-tests (test_term_ostream_LDADD): Add
4355 Use newer macOS APIs when possible.
4356 * gettext-runtime/m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
4357 CFLocaleCopyPreferredLanguages.
4358 * gettext-runtime/intl/langprefs.c (_nl_language_preferences_default): Use
4359 CFLocaleCopyPreferredLanguages when it exists.
4361 Revisit macOS specific code.
4362 * gettext-runtime/intl/localename.c (gl_locale_name_default): Reduce code
4363 duplication. Fix comments about Mac OS X versions.
4365 2018-09-16 Bruno Haible <bruno@clisp.org>
4367 libintl: Fix language preferences on macOS 10.12 or newer.
4368 Reported by Kristian Rietveld <kris@loopnest.org> at
4369 <https://savannah.gnu.org/bugs/?49560>.
4371 * gettext-runtime/intl/langprefs.c (_nl_language_preferences_default): Handle
4372 preferences elements of the form "ll-CC" in a reasonable way.
4373 * NEWS: Mention the change.
4375 2018-09-16 Bruno Haible <bruno@clisp.org>
4377 setlocale: Improve support for locales not supported by libc.
4378 Reported by Dapeng Gao <peter@dpgao.cc> at
4379 <https://savannah.gnu.org/bugs/?54479>.
4381 * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
4382 (libintl_setlocale): Use a more error-tolerant strategy when the locale to be
4383 set is not supported by libc: Emit warnings instead of failing.
4385 2018-09-16 Bruno Haible <bruno@clisp.org>
4387 Fix link error when linking with libintl.a on macOS.
4388 * gettext-runtime/intl/loadmsgcat.c (_nl_msg_cat_cntr): Zero-initialize on
4391 doc: Assume texinfo 4.0 or newer.
4392 * gettext-tools/doc/gettext.texi: Omit Next, Prev, Up fields from @node lines.
4393 * gettext-runtime/libasprintf/autosprintf.texi: Likewise.
4395 Reduce "make dist" time by 7 minutes.
4396 * configure.ac (AM_INIT_AUTOMAKE): Remove dist-xz and dist-lzip options.
4397 * Admin/release-steps: Mention how to create the tarballs with higher
4398 compression after "make dist".
4400 2018-09-15 Bruno Haible <bruno@clisp.org>
4402 Add support for translation lookup with context in shell scripts.
4403 Reported by Markus Gothe <nietzsche@lysator.liu.se>
4404 in <https://savannah.gnu.org/bugs/?49899>.
4406 * gettext-runtime/src/gettext.c (long_options): Add option '--context'.
4407 (main): Handle option -c/--context.
4408 (usage): Document option -c/--context. Split usage message.
4409 * gettext-runtime/src/ngettext.c (long_options): Add option '--context'.
4410 (main): Handle option -c/--context.
4411 (usage): Document option -c/--context. Split usage message.
4412 * gettext-runtime/src/gettext.sh.in (eval_pgettext, eval_npgettext): New
4414 * gettext-tools/src/xgettext.h (struct arglist_parser): Add 'next_is_msgctxt'
4416 (arglist_parser_remember_msgctxt): New declaration.
4417 * gettext-tools/src/xgettext.c (arglist_parser_alloc, arglist_parser_clone):
4419 (arglist_parser_remember_msgctxt): New function.
4420 * gettext-tools/src/x-sh.c (init_keywords): Recognize also eval_pgettext and
4422 (init_flag_table_sh): Set flags for eval_pgettext, eval_npgettext.
4423 (substring_of_word): New function.
4424 (read_command): Recognize and handle -c/--context argument of 'gettext' and
4426 * gettext-tools/tests/lang-sh: Add test of message lookup with context.
4427 * gettext-runtime/doc/rt-gettext.texi: Mention the --context option.
4428 * gettext-runtime/doc/rt-ngettext.texi: Likewise.
4429 * gettext-tools/doc/gettext.texi (sh, Preparing Shell Scripts, gettext.sh):
4430 Mention the new shell functions.
4431 (eval_pgettext Invocation, eval_npgettext Invocation): New subsubsections.
4432 * gettext-tools/doc/xgettext.texi: Mention the support for eval_pgettext,
4434 * NEWS: Mention the changes.
4436 2018-08-12 Bruno Haible <bruno@clisp.org>
4438 gettext-runtime/intl/setlocale.c: Add fixes from gnulib.
4439 2018-08-11 Bruno Haible <bruno@clisp.org>
4441 setlocale: Trivial simplification.
4442 * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
4444 2017-04-21 Bruno Haible <bruno@clisp.org>
4446 Fix test-mbrtowc5.sh failure on native Windows.
4447 * setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
4450 2016-03-22 Geert Janssens <janssens-geert@telenet.be>
4452 setlocale: add "sv" to Windows language table
4453 * setlocale.c (language_table) [W32]: Add "sv".
4454 Reported in <https://savannah.gnu.org/bugs/?44588>.
4456 2012-01-04 Bruno Haible <bruno@clisp.org>
4458 Talk about "native Windows API", not "Win32".
4459 * setlocale.c: Update comments to mention native Windows.
4461 2018-07-25 Bruno Haible <bruno@clisp.org>
4463 Upgrade to newer help2man.
4464 Reported by Bernhard M. Wiedemann in <https://savannah.gnu.org/bugs/?54367>.
4466 * gettext-runtime/man/help2man: Upgrade to version 1.47.6, with one change:
4467 $source ||= "$program $version";
4469 $source ||= "$package $version";
4470 * gettext-tools/man/help2man: Likewise.
4472 2018-07-25 Bruno Haible <bruno@clisp.org>
4474 Make it possible to copy&paste strings from the HTML-formatted man pages.
4475 * gettext-runtime/man/Makefile.am (MAN2HTML_POSTPROCESS): New variable.
4476 (gt_man2html): Use it.
4477 * gettext-tools/man/Makefile.am (MAN2HTML_POSTPROCESS): New variable.
4478 (gt_man2html): Use it.
4480 2018-07-03 Bruno Haible <bruno@clisp.org>
4482 Enable the format_arg attribute also on clang on Mac OS X.
4483 Reported by Tom Tromey <tom@tromey.com>
4484 in <https://lists.gnu.org/archive/html/bug-gettext/2018-07/msg00000.html>.
4486 * gettext-runtime/intl/libgnuintl.in.h (_INTL_MAY_RETURN_STRING_ARG): On macOS,
4487 use attribute __format_arg__ if the compiler is based on clang >= 3.0.
4489 2018-07-03 Bruno Haible <bruno@clisp.org>
4491 Make the format_arg attribute effective also in the case _INTL_REDIRECT_INLINE.
4492 Reported by Tom Tromey <tom@tromey.com>
4493 in <https://lists.gnu.org/archive/html/bug-gettext/2018-07/msg00000.html>.
4495 * gettext-runtime/intl/libgnuintl.in.h (gettext, dgettext, dcgettext,
4496 ngettext, dngettext, dcngettext): Add attribute __format_arg__ also to the
4497 'static inline' functions.
4499 2018-06-17 Bruno Haible <bruno@clisp.org>
4502 NEWS: Fix entry from 2016-07-01.
4504 2018-05-14 Bruno Haible <bruno@clisp.org>
4508 2018-05-14 Bruno Haible <bruno@clisp.org>
4510 xgettext: Improve support for specialized vector syntax in Scheme.
4511 Reported by Florent Angly <Florent.Angly@cslbehring.com>.
4513 * gettext-tools/src/x-scheme.c (read_object): Don't call free_token on an
4514 uninitialized token. Support recent syntax for homogeneous vector types (SRFI-4)
4515 and byte vectors as well.
4516 * NEWS: Mention the change.
4518 2018-05-12 Bruno Haible <bruno@clisp.org>
4520 libintl: Ensure the *printf function overrides are POSIX compatible.
4521 Reported by Eli Zaretskii <eliz@gnu.org>.
4523 * gettext-runtime/intl/printf.c (USE_REPLACEMENT_CODE_ALWAYS): New macro.
4524 (libintl_vfprintf, libintl_vsprintf, libintl_vsnprintf, libintl_vfwprintf,
4525 libintl_vswprintf): Use it.
4526 * NEWS: Mention the change.
4528 2018-05-05 Bruno Haible <bruno@clisp.org>
4530 all: Replace more http and ftp URLs by https URLs.
4531 * autogen.sh: Use https: URLs.
4532 * gettext-runtime/doc/nls.texi (Translating Teams, Available Packages): Likewise.
4533 * gettext-tools/doc/gettext.texi: Likewise.
4534 * gettext-tools/doc/FAQ.html: Likewise.
4535 * gettext-tools/doc/tutorial.html: Likewise.
4536 * gettext-tools/misc/gettextize.in: Likewise.
4537 * gettext-tools/projects/GNOME/team-address: Likewise.
4538 * gettext-tools/projects/GNOME/teams.url: Likewise.
4539 * gettext-tools/projects/KDE/team-address: Likewise.
4540 * gettext-tools/projects/KDE/teams.url: Likewise.
4541 * gettext-tools/projects/TP/teams.url: Likewise.
4542 * gettext-tools/src/x-python.c: Likewise.
4543 * gettext-tools/tests/xgettext-its-1: Likewise.
4545 all: Use https: URLs in --version output.
4546 * gettext-runtime/src/envsubst.c: Use https: URL in --version output.
4547 * gettext-runtime/src/gettext.c: Likewise.
4548 * gettext-runtime/src/gettext.sh.in: Likewise.
4549 * gettext-runtime/src/ngettext.c: Likewise.
4550 * gettext-tools/misc/autopoint.in: Likewise.
4551 * gettext-tools/misc/convert-archive.in: Likewise.
4552 * gettext-tools/misc/gettextize.in: Likewise.
4553 * gettext-tools/src/cldr-plurals.c: Likewise.
4554 * gettext-tools/src/hostname.c: Likewise.
4555 * gettext-tools/src/msgattrib.c: Likewise.
4556 * gettext-tools/src/msgcat.c: Likewise.
4557 * gettext-tools/src/msgcmp.c: Likewise.
4558 * gettext-tools/src/msgcomm.c: Likewise.
4559 * gettext-tools/src/msgconv.c: Likewise.
4560 * gettext-tools/src/msgen.c: Likewise.
4561 * gettext-tools/src/msgexec.c: Likewise.
4562 * gettext-tools/src/msgfilter.c: Likewise.
4563 * gettext-tools/src/msgfmt.c: Likewise.
4564 * gettext-tools/src/msggrep.c: Likewise.
4565 * gettext-tools/src/msginit.c: Likewise.
4566 * gettext-tools/src/msgmerge.c: Likewise.
4567 * gettext-tools/src/msgunfmt.c: Likewise.
4568 * gettext-tools/src/msguniq.c: Likewise.
4569 * gettext-tools/src/recode-sr-latin.c: Likewise.
4570 * gettext-tools/src/urlget.c: Likewise.
4571 * gettext-tools/src/xgettext.c: Likewise.
4572 * gettext-tools/tests/tstgettext.c: Likewise.
4573 * gettext-tools/tests/tstngettext.c: Likewise.
4574 * gnulib-local/build-aux/moopp: Likewise.
4576 all: Replace http URLs by https URLs in copyright notices.
4578 Simplify code. Drop support for Borland C++ on Windows.
4579 * gettext-runtime/intl/dcigettext.c: Simplify
4580 'defined _WIN32 || defined __WIN32__' to just 'defined _WIN32'.
4581 * gettext-runtime/intl/l10nflist.c: Likewise.
4582 * gettext-runtime/intl/langprefs.c: Likewise.
4583 * gettext-runtime/intl/libgnuintl.in.h: Likewise.
4584 * gettext-runtime/intl/loadinfo.h: Likewise.
4585 * gettext-runtime/intl/setlocale.c: Likewise.
4586 * gettext-runtime/intl/printf-parse.c: Likewise.
4587 * gettext-runtime/libasprintf/printf-parse.c: Likewise.
4588 * gettext-tools/src/format-c-parse.h: Likewise.
4589 * gettext-tools/src/hostname.c: Likewise.
4590 * gnulib-local/lib/basename.c: Likewise.
4592 Update after gnulib changed.
4593 * Makefile.am (distcheck-hook): Update comparison of flexmember.h.
4594 * gettext-runtime/intl/localcharset.c: Update from gnulib.
4595 * gettext-runtime/intl/localename.c: Likewise.
4596 * gettext-runtime/intl/lock.h: Likewise.
4597 * gettext-runtime/intl/relocatable.c: Likewise.
4598 * gettext-runtime/intl/vasnprintf.c: Likewise.
4599 * gettext-runtime/intl/verify.h: Likewise.
4600 * gettext-runtime/intl/xsize.h: Likewise.
4601 * gettext-runtime/libasprintf/vasnprintf.c: Likewise.
4602 * gettext-runtime/m4/*.m4: Likewise.
4603 * gettext-tools/examples/po/remove-potcdate.sin: Likewise.
4604 * gnulib-local/lib/execute.c.diff: Update.
4606 Update to newest gnulib.
4608 2018-03-24 Bruno Haible <bruno@clisp.org>
4610 Add support for recent Java versions.
4611 Reported by Emmanuel Bourg <ebourg@apache.org>
4612 at <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892733>
4615 * gettext-runtime/configure.ac: Require a Java compiler that supports
4616 source-version 1.5 and target-version 1.6 (such as Java 6 or newer, or
4618 * gettext-tools/src/write-java.c (msgdomain_write_java): Likewise
4619 * gettext-tools/examples/hello-java-qtjambi/configure.ac: Likewise.
4620 * gettext-tools/configure.ac: Require a Java compiler that supports
4621 source-version 1.5 (such as Java 5 or newer, or GCJ 4.3 or newer).
4622 * gettext-tools/examples/hello-java/configure.ac: Likewise.
4623 * gettext-tools/examples/hello-java-awt/configure.ac: Likewise.
4624 * gettext-tools/examples/hello-java-swing/configure.ac: Likewise.
4625 * NEWS: Mention the change.
4627 2018-03-24 Bruno Haible <bruno@clisp.org>
4629 Update README-alpha.
4630 * README-alpha: Don't suggest private email for bug reports about test releases.
4633 * .dir-locals.el: Add comment.
4635 Update after gnulib changed.
4636 * gnulib-local/lib/unistd.in.h.diff: Update.
4637 * gnulib-local/lib/regexec.c.diff: Remove file.
4638 * gnulib-local/Makefile.am (EXTRA_DIST): Remove it.
4640 Update to newest gnulib
4643 * NEWS: Add a missing entry (for a change from 2016-12-15).
4645 2018-03-15 Bruno Haible <bruno@clisp.org>
4647 doc: Fix statement about required Bison version.
4648 Reported by Amit Chaudhuri <amit.k.chaudhuri@gmail.com>.
4650 * HACKING: Required minimum Bison version is now 3.0, for cldr-plural.y.
4652 2018-01-27 Bruno Haible <bruno@clisp.org>
4655 * INSTALL.windows: Renamed from README.windows.
4656 * Makefile.am (EXTRA_DIST): Update.
4657 * gettext-runtime/INSTALL.windows: Renamed from gettext-runtime/README.windows.
4658 * gettext-runtime/Makefile.am (EXTRA_DIST): Update.
4659 * gettext-runtime/intl/INSTALL.windows: Renamed from gettext-runtime/intl/README.windows.
4660 * gettext-runtime/intl/Makefile.in (DISTFILES.gettext): Update.
4661 * gettext-runtime/libasprintf/INSTALL.windows: Renamed from gettext-runtime/libasprintf/README.windows.
4662 * gettext-runtime/libasprintf/Makefile.am (EXTRA_DIST): Update.
4663 * gettext-tools/INSTALL.windows: Renamed from gettext-tools/README.windows.
4664 * gettext-tools/Makefile.am (EXTRA_DIST): Update.
4666 xgettext: Support '_' in number tokens in C++.
4667 * gettext-tools/src/x-c.c (phase5_get): Recognize '_' in C++.
4670 2018-01-07 Bruno Haible <bruno@clisp.org>
4672 xgettext: Support 'p'/'P' exponent markers in number tokens also in C.
4673 * gettext-tools/src/x-c.c (phase5_get): Recognize sign after 'p' or 'P' also
4677 2018-01-07 Bruno Haible <bruno@clisp.org>
4679 Avoid a test failure of lang-gawk.
4680 It's a bug in gawk 4.2.0, reported at
4681 https://lists.gnu.org/archive/html/bug-gawk/2018-01/msg00026.html .
4683 * gettext-tools/tests/lang-gawk: Skip the test if gawk's version is 4.2.0.
4685 2018-01-06 Bruno Haible <bruno@clisp.org>
4687 Add support for new C++ preprocessing number tokens.
4688 Reported by Moritz Bunkus <moritz@bunkus.org>
4689 at <https://savannah.gnu.org/bugs/?50117>.
4691 * gettext-tools/src/x-c.c (phase5_get): Recognize C++14 and C++17 extensions of
4692 preprocessing number tokens.
4693 * gettext-tools/tests/xgettext-c-22: New file.
4694 * gettext-tools/tests/Makefile.am (TESTS): Add it.
4695 * NEWS: Mention the change.
4697 2018-01-06 Bruno Haible <bruno@clisp.org>
4700 * gettext-tools/tests/xgettext-c-20: Fix typo in comment.
4702 doc: Document the data formats supported by the tools in a central place.
4703 * gettext-tools/doc/gettext.texi (Data Formats): New chapter.
4704 (Internationalizable Data): Moved here from chapter "Programming Languages".
4706 Avoid a test failure of lang-csharp on Mac OS X.
4707 * gettext-tools/tests/lang-csharp: Don't test in $LOCALE_FR on Mac OS X.
4709 xgettext: Add support for .properties files in UTF-8 encoding.
4710 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add read-file, unistr/u8-check.
4711 * gettext-tools/src/read-properties: Read the file into memory, then find out
4712 about its encoding, then start parsing it.
4713 * gettext-tools/tests/xgettext-properties-2: New file.
4714 * gettext-tools/tests/xgettext-properties-3: New file.
4715 * gettext-tools/tests/xgettext-properties-4: New file.
4716 * gettext-tools/tests/Makefile.am (TESTS): Add them.
4717 * NEWS: Mention the change.
4719 2018-01-05 Bruno Haible <bruno@clisp.org>
4721 Add support for .rsj files.
4722 * gettext-tools/src/x-rst.h (EXTENSIONS_RST, SCANNERS_RST): Add RSJ scanner.
4723 (extract_rsj): New declaration.
4724 * gettext-tools/src/x-rst.c: Implement extraction from .rsj files.
4725 * gettext-tools/src/xgettext.c (usage): Mention RSJ along with RST.
4726 * gettext-tools/tests/xgettext-rst-1: New file.
4727 * gettext-tools/tests/xgettext-rst-2: New file.
4728 * gettext-tools/tests/Makefile.am (TESTS): Add them.
4729 * gettext-tools/tests/lang-pascal: Extract from .rsj file, if the compiler
4731 * gettext-tools/doc/gettext.texi (RST): Mention that .rsj files are supported
4733 * gettext-tools/doc/xgettext.texi (Choice of input file language): Mention RSJ
4735 * NEWS: Mention the change.
4737 2018-01-05 Bruno Haible <bruno@clisp.org>
4739 Fix failure of lang-javascript on Ubuntu 16.04.
4740 pkg-config almost never works. It is best to never use it.
4742 * gettext-tools/tests/lang-javascript: Don't use pkg-config to test whether
4743 the installed gjs is appropriate.
4745 2018-01-05 Bruno Haible <bruno@clisp.org>
4748 * gettext-tools/src/x-stringtable.h: Fix typo in comment.
4750 2018-01-04 Bruno Haible <bruno@clisp.org>
4752 doc: More information for maintainers.
4753 * HACKING: New section 'Additional requirements for maintainers'.
4755 2018-01-04 Bruno Haible <bruno@clisp.org>
4757 Use locales with the customary names.
4758 On glibc systems, nowadays, the German and French locales are named
4759 'de_DE.UTF-8' and 'fr_FR.UTF-8', respectively. This change avoids the need
4760 to install similar locales with different names.
4762 * gettext-tools/tests/gettext-3: Use locales with '.UTF-8' suffix.
4763 * gettext-tools/tests/gettext-3-prg.c (lang): Likewise.
4765 2018-01-04 Bruno Haible <bruno@clisp.org>
4767 doc: Add information about lua-gettext package.
4768 * gettext-tools/doc/gettext.texi (Lua): Describe from where to get the
4769 lua-gettext package.
4771 doc: Add information about Ubuntu packages.
4772 * gettext-tools/doc/gettext.texi (List of Programming Languages): Add a
4773 subsection 'Ubuntu packages' for each.
4775 2018-01-03 Bruno Haible <bruno@clisp.org>
4777 Fix msgunfmt-3 failure (regression from 2017-09-24).
4778 * gettext-tools/tests/Makefile.am (EXTRA_DIST): Add sysdep-without-nul.mo.
4780 Update dependencies list.
4781 * HACKING: Add Lzip (needed for "make dist" since 2014-12-24).
4783 2018-01-03 Bruno Haible <bruno@clisp.org>
4785 Fix "make dist" of modified git checkouts.
4786 This fixes error messages such as
4787 tar: gettext-0.19.8.1.74-72e49-dirty/gettext-tools/gnulib-tests/test-term-ostream-xterm-linux-mandriva.out: file name is too long (max 99); not dumped
4788 tar: gettext-0.19.8.1.74-72e49-dirty/gettext-runtime/intl-csharp/doc/GNU_Gettext_GettextResourceManager.html: file name is too long (max 99); not dumped
4790 * configure.ac: Pass option 'tar-ustar' to AM_INIT_AUTOMAKE.
4791 (am__tar): Use 'tar' option --format=ustar.
4793 2018-01-02 Bruno Haible <bruno@clisp.org>
4795 Clarify required bison version.
4796 Reported by Roger Mc Murtrie <rogermc@grapevine.com.au>
4797 at <https://savannah.gnu.org/bugs/?47484>.
4799 * HACKING: Mention minimum version of bison.
4801 2018-01-02 Bruno Haible <bruno@clisp.org>
4803 Avoid build failures caused by parallel make.
4804 Reported by Andrew Stormont <andyjstormont@gmail.com>
4805 at <https://savannah.gnu.org/bugs/?48412>.
4807 * gettext-tools/doc/Makefile.am (GNUMAKEFLAGS): New variable.
4808 * gettext-tools/src/Makefile.am (cldr-plural.h): Add dependency.
4810 2018-01-02 Bruno Haible <bruno@clisp.org>
4812 Fix 'ar' invocation when cross-compiling and in 64-bit mode on AIX.
4813 Reported by Benedikt Morbach <bmorbach@redhat.com>
4814 at <https://savannah.gnu.org/bugs/?43037>.
4816 * gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Require gl_PROG_AR_RANLIB if
4817 available. Otherwise, use AC_PROG_RANLIB and set AR and ARFLAGS.
4818 * gettext-runtime/intl/Makefile.in (AR): Use the value determined through
4820 (ARFLAGS): New variable.
4821 (libintl.a, libgnuintl.a): Use it.
4822 * gettext-runtime/configure.ac: Invoke gl_PROG_AR_RANLIB.
4823 * gettext-runtime/libasprintf/configure.ac: Likewise.
4824 * gettext-tools/configure.ac: Likewise.
4826 2018-01-02 Bruno Haible <bruno@clisp.org>
4828 Don't use -lc explicitly when linking with libtool.
4829 libtool has logic that determines whether it should add -lc, and this logic
4830 works fine on all modern platforms.
4832 Reported by Michael Forney <mforney@mforney.org>
4833 at <https://savannah.gnu.org/bugs/?40192>.
4835 * gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Don't set LTLIBC.
4836 * gettext-runtime/intl/Makefile.in (libintl.la, libgnuintl.la): Don't use
4839 2017-10-15 Bruno Haible <bruno@clisp.org>
4841 Clarify copyright and license of some files.
4842 Reported by Joël Krähemann at <https://savannah.gnu.org/bugs/?52227>.
4844 * gettext-runtime/po/Makefile.in.in: Correct copyright holder.
4845 * gettext-runtime/po/remove-potcdate.sin: Use the same licensing terms as Makefile.in.in.
4846 * gettext-runtime/po/Rules-quot: Use an all-permissive license.
4847 * gettext-tools/po/Makevars.template: Likewise.
4848 * gettext-runtime/po/Makevars: Likewise.
4849 * gettext-tools/po/Makevars: Likewise.
4850 * gettext-runtime/po/POTFILES.in: Use GPLv3+.
4851 * gettext-tools/po/POTFILES.in: Likewise.
4853 2017-09-30 Bruno Haible <bruno@clisp.org>
4855 Fix an out-of-bounds memory read.
4856 Reported by Jakub Wilk <jwilk@jwilk.net>.
4858 * gnulib-local/lib/term-ostream.oo.c (term_ostream_create): Pass the correct
4861 2017-09-24 Daiki Ueno <ueno@gnu.org>
4863 Test of verification of system dependent strings in .mo files.
4864 * gettext-tools/tests/sysdep-without-nul.mo: New file, from Jakub Wilk.
4865 * gettext-tools/tests/msgunfmt-3: Add test of sysdep-without-nul.mo.
4867 2017-09-24 Bruno Haible <bruno@clisp.org>
4869 Verify that system dependent strings in .mo files are NUL terminated.
4870 Reported by Jakub Wilk <jwilk@jwilk.net> in
4871 <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876498>.
4873 * gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Bail out if some of the
4874 system-dependent strings has a last static segment that is not NUL terminated.
4875 * gettext-tools/src/read-mo.c (get_sysdep_string): Likewise.
4877 2017-09-24 Bruno Haible <bruno@clisp.org>
4879 libintl: Fix pointer use after free.
4880 * gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Perform the same lock
4881 deallocation outside libc as in libc (patch from 2013-09-06).
4883 2017-08-29 Bruno Haible <bruno@clisp.org>
4885 AppData: Update documentation.
4886 * gettext-tools/doc/gettext.texi (AppData): Add reference to the specification.
4887 Mention support for file extension .metainfo.xml.
4889 2017-08-29 Matthias Klumpp <matthias@tenstral.net>
4891 Extend the AppData "language" to also support AppStream metainfo files.
4892 Fixes <https://savannah.gnu.org/bugs/?50414>,
4893 reported by Piotr Drąg <piotrdrag@gmail.com>.
4895 * gettext-tools/its/metainfo.its: Renamed from gettext-tools/its/appdata.its.
4896 * gettext-tools/its/metainfo.loc: Renamed from gettext-tools/its/appdata.loc.
4897 Recognize also suffix ".metainfo.xml".
4898 * gettext-tools/its/Makefile.am (dist_its_DATA): Update.
4899 * gettext-tools/src/x-appdata.h: Update comment.
4901 2017-08-29 Bruno Haible <bruno@clisp.org>
4903 AppData: Simplify code.
4904 * gettext-tools/src/x-appdata.h (EXTENSIONS_APPDATA): Define to empty, as the
4905 supported extensions are now defined in the *.loc files.
4907 2017-08-29 Matthias Klumpp <matthias@tenstral.net>
4909 Translate <developer_name> elements in AppData files.
4910 Fixes <https://savannah.gnu.org/bugs/?50408>,
4911 reported by Piotr Drąg <piotrdrag@gmail.com>.
4913 * gettext-tools/its/appdata.its: Mark <developer_name> elements as translatable.
4915 2017-08-22 Bruno Haible <bruno@clisp.org>
4917 Remove an obsolete configure test.
4918 * gettext-tools/configure.ac: Remove obsolete test that used the obsolete file
4921 2017-08-22 Bruno Haible <bruno@clisp.org>
4923 Avoid extraneous NUL bytes in .mo files.
4924 Reported by Jakub Wilk <jwilk@jwilk.net> via Santiago Vila <sanvila@unex.es>
4925 in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872869>.
4927 * gettext-tools/src/msgl-header.c (msgdomain_list_set_header_field,
4928 message_list_delete_header_field): Adjust msgstr_len when modifying msgstr.
4930 2017-07-15 Bruno Haible <bruno@clisp.org>
4932 Get rid of autom4te.cache directories, as far as possible.
4933 * autogen.sh: Remove autom4te.cache directories after running autoconf,
4934 autoheader, automake.
4936 2017-07-15 Bruno Haible <bruno@clisp.org>
4938 Fix bug: gettextize does not add intlmacosx.m4 file.
4939 Reported by Eli Zaretskii via Gavin Smith in
4940 <http://lists.gnu.org/archive/html/bug-texinfo/2017-07/msg00026.html>.
4942 * gettext-tools/misc/gettextize.in (m4filelist): Include intlmacosx.m4 also
4943 when --intl option is not given.
4944 * gettext-tools/doc/gettext.texi (aclocal): Add intlmacosx.m4 to file list.
4946 2017-06-15 Bruno Haible <bruno@clisp.org>
4948 gettext.h: Update theoretical condition for use of variable size arrays.
4949 Reported by Paul Eggert.
4951 * gnulib-local/lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend
4952 comment to include the theoretical condition for availability of variable size
4953 arrays, if we could trust the value of __STDC_VERSION__.
4955 2017-05-22 Bruno Haible <bruno@clisp.org>
4957 Fix hyperlink to CLHS.
4958 * gettext-tools/doc/gettext.texi (lisp-format): Fix hyperlink.
4960 2017-05-19 Bruno Haible <bruno@clisp.org>
4965 * gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Free allocated memory
4966 before returning in out-of-memory case.
4967 * gettext-runtime/intl/localealias.c (relocate2): Define fallback.
4968 (read_alias_file): Invoke relocate2 instead of relocate. Free the allocated
4971 2017-05-19 Bruno Haible <bruno@clisp.org>
4976 * gettext-runtime/intl/dcigettext.c (_nl_find_msg): Unlock the lock and
4977 free allocated memory before returning.
4979 2017-05-19 Bruno Haible <bruno@clisp.org>
4981 Update gettext-runtime files from gnulib.
4982 * Makefile.am (distcheck-hook): Check also flexmember.m4, flexmember.h.
4983 * gettext-runtime/intl/Makefile.in (SOURCES): Add flexmember.h.
4984 * gettext-runtime/intl/flexmember.h: New file, from gnulib.
4985 * gettext-runtime/intl/localcharset.c:
4986 * localcharset.c (relocate2): Define fallback.
4987 (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
4989 * localcharset.c (WINDOWS_NATIVE): Don't define on Cygwin.
4990 * localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
4991 return value from setlocale if it would lead to a buffer overrun.
4992 * gettext-runtime/intl/localename.c:
4993 * localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
4994 where NL_LOCALE_NAME is defined.
4995 * localename.c (WINDOWS_NATIVE): Don't define on Cygwin.
4996 * localename.c (gl_locale_name_thread_unsafe): Add clause for
4998 * localename.c (struct hash_node): Use FLEXIBLE_ARRAY_MEMBER.
4999 * gettext-runtime/intl/lock.c:
5000 * lock.c: On glibc systems without
5001 PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
5002 implementation of rwlocks.
5003 * lock.c [USE_POSIX_THREADS]
5004 (glthread_rwlock_init_for_glibc): New function.
5005 [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
5007 [USE_PTH_THREADS]: New implementation of rwlocks.
5008 [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
5010 * gettext-runtime/intl/lock.h:
5011 * lock.h (pthread_rwlockattr_setkind_np): Don't declare
5012 weak on non-glibc platforms.
5013 * lock.h: On glibc systems without
5014 PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
5015 implementation of rwlocks.
5016 * lock.h [USE_POSIX_THREADS_WEAK]: Declare also
5017 pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
5018 pthread_rwlockattr_destroy weak.
5019 * lock.h [USE_POSIX_THREADS]: Test
5020 HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
5021 of rwlock initialization on glibc systems without
5022 HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
5023 of rwlocks altogether on non-glibc systems without
5024 HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
5025 [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
5026 * gettext-runtime/intl/relocatable.c:
5027 * relocatable.c (relocate2): New function.
5028 * relocatable.c (relocate): Assume pathname is non-NULL. Use
5029 ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
5030 * gettext-runtime/intl/relocatable.h:
5031 * relocatable.h (relocate2): New declaration/macro.
5032 * gettext-runtime/intl/vasnprintf.c, gettext-runtime/libasprintf/vasnprintf.c:
5033 * vasnprintf.c (FALLTHROUGH): New macro.
5034 Use it whenever one switch case falls through into the next.
5035 * vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
5036 Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
5037 of !HAVE_SNPRINTF_RETVAL_C99.
5038 * vasnprintf.c (VASNPRINTF): Move comment down past two cpp
5039 directives, so that it takes effect once again. This is clearly
5040 not a proper change, and I will revert it once this bug is fixed:
5041 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
5042 * vasnprintf.c (IF_LINT): Treat GCC_LINT like lint.
5043 * gettext-runtime/intl/verify.h:
5044 * verify.h (verify) [!__GNUC__]:
5045 Use shorter albeit meaningless string to bypass silly compiler limits.
5046 * verify.h (assume): Treat GCC_LINT like lint.
5047 * gettext-runtime/intl/xsize.h: Update.
5048 * gettext-runtime/m4/Makefile.am (EXTRA_DIST): Add flexmember.m4.
5049 * gettext-runtime/m4/extern-inline.m4: Update.
5050 * gettext-runtime/m4/fcntl-o.m4: Update.
5051 * gettext-runtime/m4/flexmember.m4: New file, from gnulib.
5052 * gettext-runtime/m4/glibc2.m4: Update.
5053 * gettext-runtime/m4/glibc21.m4: Update.
5054 * gettext-runtime/m4/intdiv0.m4: Update.
5055 * gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
5056 * gettext-runtime/m4/intmax.m4: Update.
5057 * gettext-runtime/m4/inttypes-pri.m4: Update.
5058 * gettext-runtime/m4/inttypes_h.m4: Update.
5059 * gettext-runtime/m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
5060 * gettext-runtime/m4/longlong.m4: Update.
5061 * gettext-runtime/m4/printf-posix.m4: Update.
5062 * gettext-runtime/m4/progtest.m4: Update.
5063 * gettext-runtime/m4/size_max.m4: Update.
5064 * gettext-runtime/m4/stdint_h.m4: Update.
5065 * gettext-runtime/m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
5066 PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
5067 Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
5068 * gettext-runtime/m4/uintmax_t.m4: Update.
5069 * gettext-runtime/m4/visibility.m4: Update.
5070 * gettext-runtime/m4/wchar_t.m4: Update.
5071 * gettext-runtime/m4/xsize.m4: Update.
5072 * gettext-runtime/tests/test-lock.c:
5073 * test-lock.c: On Mac OS X, use named semaphores, not unnamed
5075 (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
5076 (atomic_int_semaphore): New macro.
5077 * test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
5079 * test-lock.c (USE_SEMAPHORE): New constant.
5080 (struct atomic_int, init_atomic_int, get_atomic_int_value,
5081 set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
5082 Suggested by Torvald Riegel <triegel@redhat.com>.
5084 2017-05-18 Bruno Haible <bruno@clisp.org>
5086 Update after gnulib changed.
5087 * gnulib-local/lib/fnmatch_loop.c.diff: Update.
5091 2017-05-16 Bruno Haible <bruno@clisp.org>
5093 Update after gnulib changed.
5094 * gnulib-local/lib/getopt-core.h.diff: New file.
5095 * gnulib-local/lib/getopt.in.h.diff: Remove file.
5096 * gnulib-local/lib/unistd.in.h.diff: Update.
5097 * gnulib-local/modules/fnmatch.diff: Update.
5098 * gnulib-local/Makefile.am (EXTRA_DIST): Add lib/getopt-core.h.diff. Remove
5099 lib/getopt.in.h.diff.
5100 * gettext-runtime/m4/wint_t.m4: Update from gnulib.
5101 * autogen.sh: In the gnulib-tool invocations, avoid gnulib test modules that
5102 depend on 'hash' (because we use a different 'hash' module).
5103 * .gitignore: Update.
5105 2017-05-15 Bruno Haible <bruno@clisp.org>
5109 2017-05-15 Bruno Haible <bruno@clisp.org>
5111 doc: Fix statement about Bulgarian.
5112 Reported by Domingo Bernardo <domingopbernardo@gmail.com>.
5114 * gettext-tools/doc/gettext.texi (Plural forms): Fix classification of
5117 2017-05-15 Bruno Haible <bruno@clisp.org>
5119 Respect the configure option --localedir.
5120 Reported by Markus Gothe at https://savannah.gnu.org/bugs/index.php?49862 .
5122 The AC_SUBSTed variable @localedir@ is supported since Autoconf 2.60.
5124 * gettext-runtime/intl/Makefile.in (localedir): Set to @localedir@. Suggested
5125 by Markus Gothe <nietzsche@lysator.liu.se>.
5126 * gettext-runtime/m4/intldir.m4: Require Autoconf 2.60 or newer.
5127 * gettext-tools/doc/gettext.texi (src/Makefile): Assume Autoconf 2.60 or newer.
5129 2017-05-04 Bruno Haible <bruno@clisp.org>
5131 Remove the ability to compile the Java programs to native executables.
5132 This ability relied on GCJ, and GCJ was removed from GCC in version 7.1.
5134 * gnulib-local/modules/gcj: Remove file.
5135 * gnulib-local/m4/gcj.m4: Remove file.
5136 * gnulib-local/Makefile.am (EXTRA_DIST): Remove both.
5137 * gnulib-local/m4/java.m4 (gt_JAVA_CHOICE): Map value 'bytecode' to 'yes'.
5139 * autogen.sh (GNULIB_MODULES_TOOLS_OTHER): Remove 'gcj'.
5140 * gettext-tools/configure.ac: Don't invoke gt_GCJ. Don't set BUILDJAVAEXE.
5141 * gettext-tools/src/Makefile.am (DEFS): Remove USEJEXE, GETTEXTJEXEDIR defines.
5142 (GCJ, GCJFLAGS): Remove variables.
5143 (USEJAVA, USEJEXE): Assume BUILDJAVAEXE is false.
5144 (all-java-*, install-data-java-*, installdirs-java-*, uninstall-java-*): Remove
5145 targets that assume BUILDJAVAEXE = true. Rename remaining targets.
5146 (install-exec-java-*): Remove targets.
5147 * gettext-tools/src/read-java.c (msgdomain_read_java: Assume USEJEXE is false.
5148 * gettext-tools/src/urlget.c (fetch): Likewise.
5149 * gettext-tools/tests/msgunfmt-java-1: Don't set GETTEXTJEXEDIR.
5150 * PACKAGING (Java support): Drop text about native executables.
5152 * gettext-tools/m4/Makefile.am (examplesbuildaux_DATA): Remove gcj.m4.
5153 * gettext-tools/examples/hello-java*/autogen.sh: Don't copy gcj.m4.
5154 * gettext-tools/examples/hello-java*/autoclean.sh: Don't remove m4/gcj.m4.
5155 * gettext-tools/examples/hello-java*/m4/Makefile.am (EXTRA_DIST): Remove
5157 * gettext-tools/examples/hello-java*/configure.ac: Don't invoke gt_GCJ,
5158 AC_PROG_RANLIB. Remove option --enable-java-exe. Don't set BUILDJAVAEXE. Don't
5160 * gettext-tools/examples/hello-java*/Makefile.am (GCJ, GCJFLAGS, AR, RANLIB):
5162 [USEJEXE]: Remove section.
5164 2017-04-22 Bruno Haible <bruno@clisp.org>
5166 Avoid -Wundef warning in gettext.h.
5167 * gnulib-local/lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
5168 Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
5169 <https://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00022.html>.
5171 2017-04-19 Bruno Haible <bruno@clisp.org>
5174 * gettext-tools/misc/po-mode.el (po-select-mark-and-mark): Fix typo in message.
5176 2017-04-19 Bruno Haible <bruno@clisp.org>
5178 PO mode: Fix recognition of C and C++ modes.
5179 The variable 'mode-name' can contain a suffix, see
5180 https://www.gnu.org/software/emacs/manual/html_node/ccmode/Minor-Modes.html
5181 https://www.gnu.org/software/emacs/manual/html_node/emacs/Electric-C.html
5182 Therefore use 'major-mode' instead of 'mode-name'.
5184 * gettext-tools/misc/po-mode.el (po-preset-string-functions): Test major-mode,
5186 (po-mode-version-string): Bump to 2.25.
5188 Reported at <https://savannah.gnu.org/bugs/index.php?50830>
5189 by Peter Hull <peterhull90@gmail.com>.
5191 2017-03-20 Bruno Haible <bruno@clisp.org>
5193 Fix compilation error in <libintl.h> on Cygwin.
5194 Reported by Michael Haubenwallner at https://savannah.gnu.org/bugs/?50595 .
5196 * gettext-runtime/intl/libgnuintl.in.h (newlocale): Hide declaration if
5197 locale_t type is not visible on Cygwin.
5199 2017-02-16 Bruno Haible <bruno@clisp.org>
5201 Support for Automake targets install-{dvi,ps,pdf,html}.
5202 Reported by Eric Blake at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25690
5205 * gettext-runtime/po/Makefile.in.in (install-dvi, install-ps, install-pdf,
5206 install-html): New empty targets.
5208 2017-01-10 Bruno Haible <bruno@clisp.org>
5210 Update URLs in READMEs.
5211 * README: Prefer https protocol over http or ftp protocol.
5212 * DEPENDENCIES: Likewise. Point to OpenJDK instead of gcj. Point to Mono instead
5215 2017-01-02 Bruno Haible <bruno@clisp.org>
5217 lock test: Fix performance problem on multi-core machines.
5218 * gettext-runtime/tests/test-lock.c (USE_VOLATILE): New macro.
5219 (struct atomic_int): New type.
5220 (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
5222 (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
5223 as 'struct atomic_int'.
5224 (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
5225 reclock_checker_thread, test_recursive_lock): Use the new functions.
5226 Reported by Eric Blake in
5227 https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
5228 and by Pádraig Brady in
5229 http://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00117.html.
5231 2016-12-16 Bruno Haible <bruno@clisp.org>
5233 Add comments about test failures with --disable-nls.
5234 * gettext-tools/tests/lang-bash: Add comment.
5235 * gettext-tools/tests/lang-sh: Likewise.
5236 * gettext-tools/tests/lang-c: Likewise.
5237 * gettext-tools/tests/lang-c++: Likewise.
5238 * gettext-tools/tests/lang-objc: Likewise.
5240 2016-12-15 Bruno Haible <bruno@clisp.org>
5242 Polish the last commit.
5244 2016-12-15 John Darrington <john@darrington.wattle.id.au>
5246 msgfmt: Remove POT-Creation-Date field from the header in the output.
5247 This helps reproducible builds.
5248 Reported at <https://savannah.gnu.org/bugs/?49654>.
5249 * gettext-tools/src/msgl-header.h (message_list_delete_header_field): New
5251 * gettext-tools/src/msgl-header.c (known_fields): New variable, extracted from
5252 msgdomain_list_set_header_field.
5253 (message_list_delete_header_field): New function.
5254 * gettext-tools/src/write-mo.c: Include msgl-header.h.
5255 (msgdomain_write_mo): Delete the POT-Creation-Date field.
5256 * gettext-tools/src/write-java.c: Include msgl-header.h.
5257 (msgdomain_write_java): Delete the POT-Creation-Date field.
5258 * gettext-tools/src/write-csharp.c: Include msgl-header.h.
5259 (msgdomain_write_csharp): Delete the POT-Creation-Date field.
5260 * gettext-tools/src/write-resources.c: Include msgl-header.h.
5261 (msgdomain_write_csharp_resources): Delete the POT-Creation-Date field.
5262 * gettext-tools/src/write-tcl.c: Include msgl-header.h.
5263 (msgdomain_write_tcl): Delete the POT-Creation-Date field.
5264 * gettext-tools/src/write-qt.c: Include msgl-header.h.
5265 (msgdomain_write_qt): Delete the POT-Creation-Date field.
5266 * gettext-tools/src/write-desktop.c: Include msgl-header.h.
5267 (msgdomain_write_desktop): Delete the POT-Creation-Date field.
5268 * gettext-tools/src/write-xml.c: Include msgl-header.h.
5269 (msgdomain_write_xml): Delete the POT-Creation-Date field.
5270 * gettext-tools/tests/msgfmt-19: New file, based on
5271 gettext-tools/tests/msgfmt-18.
5272 * gettext-tools/tests/Makefile.am (TESTS): Add it.
5274 2016-12-15 Bruno Haible <bruno@clisp.org>
5276 Fix typo in comment.
5278 2016-12-12 Bruno Haible <bruno@clisp.org>
5280 Fix error handling in autogen.sh.
5281 * autogen.sh: Don't invoke automake if aclocal, autoconf, or autoheader failed.
5283 2016-12-11 Bruno Haible <bruno@clisp.org>
5285 Simplify .gitignore.
5287 Remove files deleted by "make maintainer-clean" from version control.
5289 Merge all .gitignore files into a single .gitignore file.
5291 Update and organize the .gitignore files.
5293 2016-12-10 Bruno Haible <bruno@clisp.org>
5295 Update to newest gnulib.
5297 2016-12-09 Bruno Haible <bruno@clisp.org>
5299 Fix crash of xgettext with --its option.
5300 * gettext-tools/src/xgettext.c (main): Free contents of its_dirs only when it
5301 was initialized. Fixes bug introduced on 2016-05-16.
5303 2016-12-05 KO Myung-Hun <komh78-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
5305 intl: Fix that /@unixroot prefix is not working on OS/2 kLIBC
5306 OS/2 kLIBC has a feature to rewrite some path components. For example,
5307 '/@unixroot' is replaced with a value of $UNIXROOT if it is.
5309 So prepending a drive letter to the path starting with '/' makes the
5310 path starting with '/@unixroot' to 'x:/@unixroot' which is unexpected.
5312 This will breaks the behavior of some programs depending on /@unixroot
5315 * gettext-runtime/intl/bindtextdom.c (BINDTEXTDOMAIN): Do not touch
5316 dirname if it is started with '/@unixroot'.
5317 * gettext-runtime/intl/relocatable.c (relocate): Do not touch pathname
5318 if it is started with '/@unixroot'.
5320 2016-12-05 Bruno Haible <bruno@clisp.org>
5322 Fix the last commit.
5323 * autogen.sh: Enable the code of the last commit. Force an update of
5326 2016-12-04 Bruno Haible <bruno@clisp.org>
5328 Always use the newest released copies of files brought in from Automake.
5329 * autogen.sh: Make sure to get new versions of files brought in by automake.
5331 Make xgettext-its-2 test stronger.
5332 * gettext-tools/tests/xgettext-its-2: Set each environment variable only for
5333 the scope of a single xgettext invocation.
5335 Avoid test failure in non-English locale.
5336 * gettext-tools/tests/xgettext-its-2: Set the environment variable LC_MESSAGES
5337 when we want to check for an error message in English.
5339 Fix an error message when gettextize if run with option -n.
5340 * gettext-tools/misc/gettextize.in: Consider the Makevars.template file at the
5341 location where it is installed, not in $srcdir.
5343 Tweak installation instructions for Windows.
5344 * README.windows: Fix the mingw32 PATH.
5346 2016-11-26 Guido Flohr <guido.flohr@cantanea.com>
5348 doc: corrected argument numbers
5350 2016-11-25 Guido Flohr <guido.flohr@cantanea.com>
5352 Perl supports pgettext() and similar functions
5354 2016-11-24 Guido Flohr <guido.flohr@cantanea.com>
5356 xgettext-perl: detect question mark as operator
5357 After an explicit function call like "somefunc()" a question mark or
5358 slash cannot be regex delimiters.
5360 2016-11-23 Bruno Haible <bruno@clisp.org>
5362 Update installation instructions for Windows.
5363 * README.windows: Assume a 64-bit Windows. Explain both 32-bit and 64-bit
5364 builds. Add instructions for the MS Visual C/C++ tool chain. Revamp instructions
5366 * gettext-runtime/README.windows: Generic reference to top-level file.
5367 * gettext-runtime/intl/README.windows: Likewise.
5368 * gettext-runtime/libasprintf/README.windows: Likewise.
5369 * gettext-tools/README.windows: Likewise.
5371 Drop the nickname "woe32".
5372 * README.windows: Renamed from README.woe32.
5373 * Makefile.am (EXTRA_DIST): Update.
5374 * gettext-runtime/README.windows: Renamed from gettext-runtime/README.woe32.
5375 * gettext-runtime/Makefile.am (EXTRA_DIST): Update.
5376 * gettext-runtime/intl/README.windows: Renamed from gettext-runtime/intl/README.woe32.
5377 * gettext-runtime/intl/Makefile.in (DISTFILES.gettext): Update.
5378 * gettext-runtime/libasprintf/README.windows: Renamed from gettext-runtime/libasprintf/README.woe32.
5379 * gettext-runtime/libasprintf/Makefile.am (EXTRA_DIST): Update.
5380 * gettext-tools/README.windows: Renamed from gettext-tools/README.woe32.
5381 * gettext-tools/Makefile.am (EXTRA_DIST): Update.
5383 2016-11-14 Daiki Ueno <ueno@gnu.org>
5385 intl: Fix compilation on a system without alloca
5386 * gettext-runtime/intl/dcigettext.c (DCIGETTEXT): Fix typo 'tmp_dirname'
5387 -> 'resolved_dirname'. Reported by Egor Pugin in:
5388 http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00008.html
5390 2016-11-02 Daiki Ueno <ueno@gnu.org>
5392 doc: Mention new bootstrap requirements
5393 * autogen.sh: Require automake >= 1.13.
5394 * HACKING: Require automake >= 1.13, wget, and xz.
5395 Reported by Karl-P. Richter and Bruno Haible in:
5396 https://savannah.gnu.org/bugs/?49497
5398 2016-10-25 Bruno Haible <bruno@clisp.org>
5400 Update iconv.m4 from Gnulib.
5401 * gettext-runtime/m4/iconv.m4: Update from Gnulib.
5403 Add comments about the implementation of 'autosprintf::operator='.
5404 * gettext-runtime/libasprintf/autosprintf.in.h (autosprintf::operator=): Add
5405 comments. Rename parameter.
5406 * gettext-runtime/libasprintf/autosprintf.cc (autosprintf::operator=): Likewise.
5408 2016-09-15 Daiki Ueno <ueno@gnu.org>
5410 xgettext: Fix crash with *.po file input
5411 When xgettext was given two *.po files with the same msgid_plural, it
5412 crashed with double-free. Problem reported by Davlet Panech in:
5413 http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00001.html
5414 * gettext-tools/src/po-gram-gen.y: Don't free msgid_pluralform after
5415 calling do_callback_message, assuming that it takes ownership.
5416 * gettext-tools/src/read-catalog.c (default_add_message): Free
5417 msgid_plural after calling message_alloc.
5418 * gettext-tools/tests/xgettext-po-2: New file.
5419 * gettext-tools/tests/Makefile.am (TESTS): Add new test.
5421 2016-08-27 Akinori MUSHA <knu@idaemons.org>
5423 Add autoload magic comments
5425 Fix elisp package headers
5427 2016-08-09 Daiki Ueno <ueno@gnu.org>
5429 gettextize: Don't add config.rpath to EXTRA_DIST
5430 The file is automatically included in the distribution by Automake,
5431 because of an AC_REQUIRE_AUX_FILE invocation. Reported in:
5432 http://savannah.gnu.org/bugs/?48729
5433 * gettext-tools/misc/gettextize.in: Don't add config.rpath to
5436 2016-08-03 Daiki Ueno <ueno@gnu.org>
5438 po-mode: Fix po-send-mail behaviour on Emacs 25
5439 * gettext-tools/misc/po-mode.el (po-send-mail): Don't rely on
5441 Reported by Göran Uddeborg in:
5442 http://lists.gnu.org/archive/html/bug-gettext/2016-07/msg00027.html
5444 2016-07-12 Daiki Ueno <ueno@gnu.org>
5446 Update after gnulib changed
5450 2016-07-12 Michele Locati <michele@locati.it>
5452 Better description of GETTEXTCLDRDIR for msginit
5453 Let's explain better where the GETTEXTCLDRDIR should point to and where the
5454 CLDR data could be retrieved.
5456 2016-07-09 Stanislav Brabec <sbrabec@suse.com>
5458 Add support for msgmerge --previous
5459 msgmerge --previous is a very useful feature that makes adjusting of
5460 translation much easier when small changes in the source code are done.
5461 msgmerge supports it for 10 years, but it is not used by most projects,
5462 as Makefile.in.in never added support for it.
5464 Use msgmerge --previous as default on all systems with gettext >= 0.16.
5466 2016-06-28 Daiki Ueno <ueno@gnu.org>
5468 gnulib-local: Fix the last change
5469 * gnulib-local/Makefile.am (EXTRA_DIST): Remove generated files.
5471 gnulib-local: Add more files to distribution
5472 Problem reported by Xen.
5473 * gnulib-local/Makefile.am (EXTRA_DIST): Regenerate.
5475 2016-06-11 Daiki Ueno <ueno@gnu.org>
5477 build: Fix unintentional soname bump
5478 * gettext-runtime/intl/Makefile.in: Revert LTV_CURRENT and increment
5480 * gettext-tools/libgettextpo/Makefile.am: Likewise.
5482 2016-06-09 Daiki Ueno <ueno@gnu.org>
5485 * gettext-runtime/po/eo.po: Update from Felipe Castro <fefcas@gmail.com>
5486 * gettext-runtime/po/hr.po: Update from Božidar Putanec <bozidarp@yahoo.com>
5487 * gettext-runtime/po/sv.po: Update from Göran Uddeborg <goeran@uddeborg.se>
5488 * gettext-tools/examples/po/eo.po: Update from Felipe Castro <fefcas@gmail.com>
5489 * gettext-tools/examples/po/hr.po: Update from Božidar Putanec <bozidarp@yahoo.com>
5490 * gettext-tools/examples/po/sv.po: Update from Göran Uddeborg <goeran@uddeborg.se>
5491 * gettext-tools/po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>
5492 * gettext-tools/po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>
5493 * gettext-tools/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>
5494 * gettext-tools/po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>
5495 * gettext-tools/po/ko.po: Update from Changwoo Ryu <cwryu@debian.org>
5496 * gettext-tools/po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>
5497 * gettext-tools/po/pl.po: Update from Rafał Maszkowski <rzm@icm.edu.pl>
5498 * gettext-tools/po/sk.po: Update from Marcel Telka <marcel@telka.sk>
5499 * gettext-tools/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>
5500 * gettext-tools/po/sv.po: Update from Göran Uddeborg <goeran@uddeborg.se>
5501 * gettext-tools/po/tr.po: Update from Nilgün Belma Bugüner <nilgun@buguner.name.tr>
5502 * gettext-tools/po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>
5503 * gettext-tools/po/vi.po: Update from Trần Ngọc Quân <vnwildman@gmail.com>
5507 NEWS: Fix release date of 0.19.8
5513 2016-06-08 Daiki Ueno <ueno@gnu.org>
5515 gnulib-local: Work around regcomp.c compile error
5516 * gnulib-local/Makefile.am (EXTRA_DIST): Add lib/regcomp.c.diff.
5517 * gnulib-local/lib/regcomp.c.diff: New file, partially revert Gnulib
5520 tests: Use Exit instead of exit if init.sh is used
5521 * gettext-tools/tests/*: Use Exit instead of exit, as suggested by
5524 2016-06-07 Daiki Ueno <ueno@gnu.org>
5526 build: Create intl/ChangeLog
5527 * autogen.sh: Create an empty ChangeLog for gettext-runtime/intl, which
5528 is necessary when running "make dist" from the top level directory.
5530 2016-06-02 Daiki Ueno <ueno@gnu.org>
5532 build: Simplify placeholder ChangeLog creation
5533 * autogen.sh: Use empty ChangeLog for placeholder. Bail out if any
5534 error occurs in autoreconf phase.
5536 maint: Update release steps
5538 2016-06-01 Daiki Ueno <ueno@gnu.org>
5540 tests: Check invalid input in sentence-1-prg
5541 * gettext-tools/tests/sentence-1-prg.c (main): Check input buffer
5542 overflow, while it is not possible with the current test case.
5544 tests: Fix test data for sentence-1
5545 * gettext-tools/tests/sentence-1: Use NO-BREAK SPACE instead of
5548 2016-05-31 Daiki Ueno <ueno@gnu.org>
5550 tests: Fix location of valgrind suppression file
5551 * gettext-tools/tests/Makefile.am (CHECKER): Use $(abs_srcdir) instead
5554 tests: Turn sentence test into a shell script
5555 For consistency with other tests. Also it fixes a test failure when
5556 built with --disable-shared, since LOG_COMPILER set to $(SHELL) doesn't
5557 recognize binary executable.
5558 * gettext-tools/tests/Makefile.am (TESTS): Rename 'sentence' to
5560 (check_PROGRAMS): Rename 'sentence' to 'sentence-1-prg'.
5561 (sentence_1_prg_SOURCES): Rename from 'sentence_SOURCES'.
5562 (sentence_1_prg_CPPFLAGS): Rename from 'sentence_CPPFLAGS'.
5563 (sentence_1_prg_LDADD): Rename from 'sentence_LDADD'.
5564 * gettext-tools/tests/sentence-1: New file.
5565 * gettext-tools/tests/sentence-1-prg.c: Rename from sentence.c, move the
5566 test data to sentence-1.
5567 * gettext-tools/tests/.gitignore: Ignore sentence-1-prg.
5569 2016-05-30 Daiki Ueno <ueno@gnu.org>
5571 maint: Update copyright year
5573 xgettext: Update usage documentation
5574 * gettext-tools/src/xgettext.c (usage): Mention 'bullet-unicode' check.
5576 2016-05-28 Daniel Burr <dburr@dburr.net> (tiny change)
5578 build: Make libxml2 check tighter
5579 * gnulib-local/m4/libxml.m4 (gl_LIBXML): Try to check
5580 xmlXPathSetContextNode, which is available in libxml2 2.9.1 or later.
5581 Problem reported by Dominyk in:
5582 http://savannah.gnu.org/bugs/?46844
5584 2016-05-27 Daiki Ueno <ueno@gnu.org>
5586 desktop: Add missing "extern" in header
5587 * gettext-tools/src/read-desktop.h: Add "extern" to each function
5589 Possibly related to: https://savannah.gnu.org/bugs/?45896
5591 NEWS: Mention gettext.m4 change
5593 m4: Rely less on internal symbols
5594 * gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Skip checks for the
5595 internal symbols _nl_msg_cat_cntr, _nl_domain_bindings, and
5596 _nl_expand_alias, if __GNU_GETTEXT_SUPPORTED_REVISION is defined.
5597 Problem reported and fix suggested by Masanori Ogino in:
5598 https://lists.gnu.org/archive/html/bug-gettext/2016-04/msg00000.html
5599 The rationale behind this is: (1) those symbol checks are for detecting
5600 certain broken implementations, namely NetBSD and Solaris 7, and
5601 (2) __GNU_GETTEXT_SUPPORTED_REVISION is not defined in those
5602 implementations, while it is defined on compatible implementations, such
5603 as musl-libc which doesn't have those internal symbols.
5605 2016-05-25 Daiki Ueno <ueno@gnu.org>
5607 NEWS: Add 0.19.8 changes
5609 intl: Pacify pre-C99 compilers
5610 * gettext-runtime/intl/plural-exp.h (HAVE_STRUCT_INITIALIZER): New
5611 macro, based on the check previously in plural-exp.c. Also add check
5612 for __SUNPRO_C for Solaris Studio C compiler.
5613 (GERMANIC_PLURAL): Define as 'struct expression' not 'const struct
5614 expression' if struct/union initializers are not supported by the
5616 * gettext-runtime/intl/plural-exp.c: Use HAVE_STRUCT_INITIALIZER.
5617 Reported by Dagobert Michelsen and investigated by pan7 in:
5618 https://savannah.gnu.org/support/?108743
5620 2016-05-24 David Shea <dshea@redhat.com>
5622 desktop: Fix invalid memory access
5623 * gettext-tools/src/read-desktop.c (desktop_lex): Don't access memory
5624 deallocated with realloc(). Reported in:
5625 http://savannah.gnu.org/bugs/?47991
5627 2016-05-23 Daiki Ueno <ueno@gnu.org>
5629 tests: Add more tests for JavaScript format string
5630 * gettext-tools/tests/format-javascript-1: Add test for multiple uses of
5632 * gettext-tools/tests/format-javascript-2: Use proper flag to activate
5633 javascript format checker.
5635 javascript: Fix format type compatibility check
5636 * gettext-tools/src/format-javascript.c (format_check): Check if the two
5637 argument types are the same.
5639 2016-05-20 Daiki Ueno <ueno@gnu.org>
5641 tests: Add test for ITS search path
5642 * gettext-tools/tests/Makefile.am (TESTS): Add new test.
5643 * gettext-tools/tests/xgettext-its-2: New file.
5645 search-path: Fix XDG_DATA_DIRS traversal
5646 * gettext-tools/src/search-path.c (foreach_elements): Append "gettext"
5647 suffix to each element from XDG_DATA_DIRS.
5649 search-path: Don't relocate dirs given as envvar
5650 * gettext-tools/src/search-path.c (foreach_function_ty): New typedef.
5651 (path_array_ty): New struct.
5652 (foreach_components, increment, fill): New functions.
5653 (get_search_path): Rewrite using those functions. Relocate
5654 GETTEXTDATADIR here.
5655 * gettext-tools/src/search-path.h (get_search_path): Update documentation.
5656 * gettext-tools/src/msgfmt.c (main): Don't relocate directories in ITS
5658 * gettext-tools/src/xgettext.c (main): Likewise.
5660 2016-05-19 Daiki Ueno <ueno@gnu.org>
5662 Update after Gnulib changed
5663 * gnulib-local/lib/gettext.h: Update from gnulib.
5664 * gettext-runtime/m4/extern-inline.m4: Likewise.
5665 * gettext-runtime/m4/intdiv0.m4: Likewise.
5668 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Explicitly pull 'gettext',
5669 as the module is now marked as obsolete.
5670 * gnulib-local/Makefile.am (EXTRA_DIST): Remove m4/hard-locale.m4.diff.
5671 * gnulib-local/m4/hard-locale.m4.diff: Remove, as it is no longer
5673 * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by gnulib-tool.
5674 * gettext-tools/gnulib-tests/.gitignore: Likewise.
5675 * gettext-tools/libgettextpo/.gitignore: Likewise.
5677 2016-05-18 Daiki Ueno <ueno@gnu.org>
5679 maint: Add --no-git option to autogen.sh
5680 * autogen.sh: Port --no-git option from Gnulib's bootstrap.
5682 2016-05-16 Daiki Ueno <ueno@gnu.org>
5684 msgfmt, xgettext: Respect XDG_DATA_DIRS
5685 Suggested in https://savannah.gnu.org/bugs/?47123
5686 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add 'xmemdup0'.
5687 * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by gnulib-tool.
5688 * gettext-tools/gnulib-tests/.gitignore: Likewise.
5689 * gettext-tools/src/search-path.c: New file.
5690 * gettext-tools/src/search-path.h: New file.
5691 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add search-path.h.
5692 (libgettextsrc_la_SOURCES): Add search-path.c.
5693 * gettext-tools/src/msgfmt.c: Include "search-path.h".
5694 (main): Use get_search_path to locate ITS directories.
5695 * gettext-tools/src/xgettext.c: Include "search-path.h".
5696 (main): Use get_search_path to locate ITS directories.
5698 javascript: Avoid uninitialized variable
5699 * gettext-tools/src/format-javascript.c (format_check): Fix
5700 loop initialization. Spotted by clang-analyzer.
5702 2016-03-25 Hanno Boeck <hanno@gentoo.org> (tiny change)
5704 lua: Avoid heap buffer overflow
5705 * gettext-tools/src/x-lua.c (string_end): Allocate a room for
5706 terminating NUL. Reported in: http://savannah.gnu.org/bugs/?4753
5708 2016-03-23 Daiki Ueno <ueno@gnu.org>
5710 format-python-brace: Support chained expression
5711 * gettext-tools/src/format-python-brace.c (parse_directive): Recognize
5712 chained getattr/getitem expressions.
5713 * gettext-tools/tests/format-python-brace-1: Add test for the case where
5714 both getattr and getitem are used.
5715 Reported by Paul Franklin in:
5716 https://lists.gnu.org/archive/html/bug-gettext/2016-03/msg00017.html
5718 doc: Fix ngettext usage example
5719 * gettext-tools/doc/gettext.texi (Plural forms): Fix positional argument
5720 syntax in the C example. Reported by Jonathan Leffler in:
5721 http://lists.gnu.org/archive/html/bug-gettext/2016-03/msg00002.html
5723 2016-03-22 Daiki Ueno <ueno@gnu.org>
5725 javascript: Fix invalid memory access
5726 * gettext-tools/src/format-javascript.c (format_parse): Fix numbered_arg
5727 allocation for the unnumbered case.
5729 Reported by Roger Mc Murtrie in: <http://savannah.gnu.org/bugs/?47492>.
5731 2016-03-22 Daiki Ueno <ueno@gnu.org>
5733 maint: Clean up .gitignore
5734 * gettext-tools/gnulib-lib/.gitignore: Sort lines.
5736 2016-03-02 Daiki Ueno <ueno@gnu.org>
5738 xgettext: Put --its help in the right section
5739 * gettext-tools/src/xgettext.c (usage): Move --its=FILE option under
5740 "Language specific options" from "Output details".
5742 2016-02-22 Daiki Ueno <ueno@gnu.org>
5744 xgettext: Add new check bullet-unicode
5745 * gettext-tools/src/xgettext.c (main): Generalize --check option
5747 * gettext-tools/src/message.h (enum syntax_check_type): New enum value
5749 (NSYNTAXCHECKS): Increment.
5750 * gettext-tools/src/message.c (syntax_check_name): Add name for
5752 * gettext-tools/src/msgl-check.c (struct bullet_ty, struct
5753 bullet_stack_ty): New struct.
5754 (bullet_stack): New variable.
5755 (syntax_check_bullet_unicode): New function.
5756 (sc_funcs): Register syntax_check_bullet_unicode as a check function for
5758 * gettext-tools/tests/xgettext-14: Add tests for --check=bullet-unicode
5760 2016-02-10 Daiki Ueno <ueno@gnu.org>
5762 doc: Mention the behavior stripping *.in
5763 * gettext-tools/doc/gettext.texi (Preparing ITS Rules): Add footnote
5764 explaining the matching behavior if the input file name has the .in
5765 suffix. Suggested by Jan Synacek.
5767 2016-02-08 Daiki Ueno <ueno@gnu.org>
5769 javascript: Support '%m$' in format strings
5770 Gjs has had support for numbered arguments in format strings since 1.40.
5771 Recognize it as well in format-javascript, so msgfmt -c doesn't fail
5772 when numbered arguments are in msgstr. Reported by Sean Burke in:
5773 https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00002.html
5774 * gettext-tools/src/format-javascript.c (struct numbered_arg): New
5776 (struct spec): Rename format_args_count to numbered_arg_count. Add
5777 NUMBERED field in place of FORMAT_ARGS. All callers changed.
5778 (numbered_arg_compare): New function.
5779 (format_parse): Handle numbered arguments. Based on format-awk.c.
5780 (format_check): Add check for numbered arguments.
5781 * gettext-tools/tests/format-javascript-1: Add tests for numbered
5783 * gettext-tools/tests/lang-javascript: Use numbered argument in format
5784 strings. Add check for Gjs version >= 1.40.
5786 moopp: Revert file modes accidentally set
5788 2016-01-20 KO Myung-Hun <komh78@gmail.com>
5790 gettext-tools: Use a short name for DLLs on OS/2
5791 OS/2 does not support a DLL name longer than 8 characters.
5793 * gettext-tools/configure.ac (OS2): Define on OS/2.
5794 * gettext-tools/gnulib-lib/Makefile.am (libgettextlib_la_LDFLAGS):
5795 Set a DLL name to gtlib on OS/2.
5796 * gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_LDFLAGS):
5797 Set a DLL name to gtpo on OS/2.
5798 * gettext-tools/src/Makefile.am (libgettextsrc_la_LDFLAGS): Set a DLL
5799 name to gtsrc on OS/2.
5801 2016-01-20 KO Myung-Hun <komh78@gmail.com>
5803 libasprintf: Build a shared library on OS/2
5804 * gettext-runtime/libasprintf/configure.ac (LTNOUNDEF): Set to
5805 -no-undefined on OS/2.
5807 2016-01-20 KO Myung-Hun <komh78@gmail.com>
5809 intl: Support UNIXROOT in BINDTEXTDOMAIN () on EMX
5810 $UNIXROOT is a drive on which a root of FHS is.
5812 * gettext-runtime/intl/bindtextdom.c (BINDTEXTDOMAIN): Prepend
5813 $UNIXROOT to dirname if it is started '/' or it is an empty string.
5815 2016-01-20 KO Myung-Hun <komh78@gmail.com>
5817 moop: Replace CR as well as LF with a space
5818 On OS/2, EOL marker is CR+LF.
5820 * gnulib-local/bulid-aux/moopp (func_check_header_syntax):
5821 Replace CR as well as LF with a space.
5823 2016-01-15 Bruno Haible <bruno@clisp.org>
5825 Change msgfmt to produce little-endian .mo files by default.
5826 * gettext-tools/src/msgfmt.c (main): Initialize 'byteswap' so as to
5827 produce little-endian .mo files by default.
5828 * gettext-tools/doc/gettext.texi: Update documentation.
5829 * gettext-tools/doc/msgfmt.texi (--endianness): Likewise.
5831 2016-01-13 Daiki Ueno <ueno@gnu.org>
5833 maint: Revert copyright year changes in test data
5834 Some test programs started failing after mass update of copyright notice
5835 for year 2016 (commit 7fa0c277), because of embedded test data with
5836 fixed copyright dates. Revert the commit for those files.
5837 Reported by Bruno Haible.
5838 * .x-update-copyright: Exclude test programs embedding copyright date.
5839 * gettext-tools/tests/msgcomm-22: Revert the last change.
5840 * gettext-tools/tests/msgfilter-sr-latin-1: Likewise.
5841 * gettext-tools/tests/msggrep-1: Likewise.
5842 * gettext-tools/tests/msggrep-2: Likewise.
5843 * gettext-tools/tests/msggrep-3: Likewise.
5844 * gettext-tools/tests/msggrep-4: Likewise.
5845 * gettext-tools/tests/msggrep-5: Likewise.
5846 * gettext-tools/tests/msggrep-9: Likewise.
5847 * gettext-tools/tests/msggrep-11: Likewise.
5848 * gettext-tools/tests/msgmerge-14: Likewise.
5850 2016-01-07 Daiki Ueno <ueno@gnu.org>
5852 its: Recognize *.glade as a GtkBuilder file too
5854 2016-01-05 Santiago Vila <sanvila@unex.es> (tiny change)
5856 * PACKAGING: List version specific files
5858 2016-01-02 Daiki Ueno <ueno@gnu.org>
5860 maint: Update copyright year
5864 maint: Use maintainer-makefile from gnulib
5865 * autogen.sh: Pull GNUmakefile, maint.mk, and dependency scripts in
5867 * cfg.mk (update-copyright-env): Adjust for gettext.
5868 * .x-update-copyright: New file.
5869 * .gitignore: Ignore files brought in by gnulib-tool.
5871 2015-12-28 Daiki Ueno <ueno@gnu.org>
5873 maint: Update release-steps to current practice
5874 * Admin/release-steps: Split document into two sections ('Making a
5875 snapshot release' and 'Making an official release'), reorder some steps,
5876 and remove mention of manual generation of PO/POT files.
5878 2015-12-27 Daiki Ueno <ueno@gnu.org>
5881 * gettext-runtime/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
5882 * gettext-runtime/po/nb.po: Update from Johnny A. Solbu <johnny@solbu.net>.
5883 * gettext-runtime/po/pt_BR.po: Update from Rafael Ferreira <rffontenelle@gmail.com>.
5884 * gettext-runtime/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>.
5885 * gettext-runtime/po/zh_TW.po: Update from Wei-Lun Chao <bluebat@member.fsf.org>.
5886 * gettext-tools/examples/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
5887 * gettext-tools/examples/po/nb.po: Update from Johnny A. Solbu <johnny@solbu.net>.
5888 * gettext-tools/examples/po/pt_BR.po: Update from Rafael Ferreira <rffontenelle@gmail.com>.
5889 * gettext-tools/examples/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>.
5890 * gettext-tools/examples/po/zh_TW.po: Update from Wei-Lun Chao <bluebat@member.fsf.org>.
5891 * gettext-tools/po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
5892 * gettext-tools/po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
5893 * gettext-tools/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
5894 * gettext-tools/po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
5895 * gettext-tools/po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
5896 * gettext-tools/po/pt_BR.po: Update from Rafael Fontenelle <rffontenelle@gmail.com>.
5897 * gettext-tools/po/sk.po: Update from Marcel Telka <marcel@telka.sk>.
5898 * gettext-tools/po/sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
5899 * gettext-tools/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>.
5900 * gettext-tools/po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
5901 * gettext-tools/po/vi.po: Update from Trần Ngọc Quân <vnwildman@gmail.com>.
5905 doc: Regenerate translation matrix
5906 * gettext-runtime/ABOUT-NLS: Regenerate for 0.19.7.
5907 * gettext-runtime/doc/matrix.texi: Regenerate for 0.19.7.
5909 NEWS: Add 0.19.7 changes
5913 Ignore file brought by gnulib-tool
5914 * gettext-tools/gnulib-tests/.gitignore: Ignore file brought by
5917 2015-12-23 Daiki Ueno <ueno@gnu.org>
5919 term-ostream-tests: Add test data for FreeBSD 10.1
5920 * gnulib-local/modules/term-ostream-tests: Add
5921 test-term-ostream-xterm-freebsd101.out.
5922 * gnulib-local/tests/test-term-ostream-xterm: Use new test data.
5923 * gnulib-local/tests/test-term-ostream-xterm-freebsd101.out: New file.
5925 2015-12-21 Daiki Ueno <ueno@gnu.org>
5927 cldr-plurals: Fix errors from clang-analyzer
5928 * gettext-tools/src/cldr-plurals.c (extract_rules): Add extra null
5929 checks for NODE and BUFFER. Don't add NUL byte to the end of buffer
5932 2015-12-17 Daiki Ueno <ueno@gnu.org>
5934 po: Prefer to use host tools when cross compiling
5935 * gettext-runtime/po/Makefile.in.in (CROSS_COMPILING): New substitute
5937 (.nop.po-update): Don't prepend ../src to $PATH when cross compiling.
5938 * gettext-runtime/po/Rules-quot (.insert-header.po-update-en): Likewise.
5940 its: Allow CDATA and comments in translatable node
5941 * gettext-tools/src/its.c (its_rule_list_is_translatable): Don't return
5942 false on CDATA and comments.
5944 its: Fix typo in GSettings rule
5945 * gettext-tools/its/gsettings.its: Fix typo in escape rule.
5947 2015-12-15 Daiki Ueno <ueno@gnu.org>
5949 gnulib-local: Fix link error due to symbol dupes
5950 * gnulib-local/lib/libxml/trionan.c (minus_zerod): Mark as static.
5952 gnulib-local: Pull more functions for libxml
5953 * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by
5955 * gettext-tools/gnulib-tests/.gitignore: Likewise.
5956 * gnulib-local/modules/libxml (Depends-on): Add 'pow', 'log10', and
5959 gnulib-local: Replace libxml2 trio with Gnulib
5960 * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by
5962 * gettext-tools/gnulib-tests/.gitignore: Likewise.
5963 * gnulib-local/lib/libxml/triodef.h: Remove.
5964 * gnulib-local/lib/libxml/trionan.c: Replace it with Gnulib functions.
5965 * gnulib-local/lib/libxml/trionan.h: Remove.
5966 * gnulib-local/modules/libxml (Depends-on): Add 'isinf', 'isnan', and
5969 2015-12-14 Daiki Ueno <ueno@gnu.org>
5971 gnulib-local: Update included libxml2 to 2.9.3
5972 * gnulib-local/lib/libxml/*: Update from libxml2 2.9.3. Add buf.[ch],
5973 enc.h, save.h, triodef.h, trionan.[ch]. Enable XPath and XPointer
5975 * gnulib-local/modules/libxml (Files): Add new files from libxml2 2.9.3.
5977 2015-12-10 Daiki Ueno <ueno@gnu.org>
5979 gettext-tools: Update POTFILES.in
5980 * gettext-tools/po/POTFILES.in: Add newly added files.
5982 gnulib-local: Make markup.c translator friendly
5983 * gnulib-local/lib/markup.c: Reuse strings.
5985 its: Mark some attributes as escape="no"
5986 * gettext-tools/its/glade2.its: Mark "comments" attribute as
5988 * gettext-tools/its/gsettings.its: Mark "context" attribute as
5990 * gettext-tools/its/gtkbuilder.its: Mark "comments" attribute as
5993 xgettext: Respect ITS escape rule for attributes
5994 * gettext-tools/src/its.c (its_rule_list_extract_text): Check for
5995 "escape" value for an attribute node.
5996 * gettext-tools/tests/xgettext-its-1: Add tests for gt:escapeRule.
5998 2015-12-10 KO Myung-Hun <komh78@gmail.com> (tiny change)
6000 intl: Fix name resolution failures on kLIBC
6001 kLIBC already has _nl_default_dirname and _nl_msg_cat_cntr in its own
6002 gettext implmenetation.
6003 * gettext-runtime/intl/dcigettext.c: Do not declare _nl_default_dirname
6005 * gettext-runtime/intl/gettextP.h: Define _nl_msg_cat_cntr to
6006 libintl_nl_msg_cat_cntr on kLIBC.
6008 build: Do not include os2compat.[ch]
6009 kLIBC does not need os2compat.[ch]
6010 * gettext-runtime/configure.ac (AH_BOTTOM): Do not include
6011 intl/os2compat.h on kLIBC.
6012 * gettext-runtime/intl/osdep.c: Do not include os2compat.c on kLIBC.
6013 * gettext-tools/configure.ac (AH_BOTTOM): Do not include
6014 intl/os2compat.h on kLIBC.
6016 test-lock: Do not include sched.h on kLIBC
6017 * gettext-runtime/tests/test-lock.c: Do not include sched.h on kLIBC,
6018 since kLIBC does not have sched.h.
6020 2015-12-10 Daiki Ueno <ueno@gnu.org>
6022 kde: Fix KUIT error handling when libxml2 is used
6023 * gettext-tools/src/format-kde-kuit.c (format_parse): Return NULL if
6024 xmlReadMemory returns NULL.
6026 xgettext: Add --its option for ease of testing
6027 * gettext-tools/doc/xgettext.texi (Output details): Mention --its
6029 * gettext-tools/src/xgettext.c (long_options): Add --its option.
6030 (main): Handle --its option. Suggested by Sébastien Wilmet.
6032 xgettext: Improve error reporting when ITS is used
6033 * gettext-tools/src/xgettext.c (main): Print error when an ITS file is
6034 designated through a locating rule, but the file does not exist.
6036 2015-12-09 Daiki Ueno <ueno@gnu.org>
6038 build: Update DEPENDENCIES
6039 * DEPENDENCIES: Remove duplicate entry for libxml2.
6041 build: Remove expat dependency
6042 * DEPENDENCIES: Suggest libxml2 instead of expat.
6043 * gnulib-local/lib/markup.c: New file.
6044 * gnulib-local/lib/markup.h: New file.
6045 * gnulib-local/modules/markup: New file.
6046 * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO): Add markup module.
6047 * gettext-tools/configure.ac: Remove checks for expat.
6048 * gettext-tools/gnulib-lib/.gitignore: Ignore modules pulled by
6049 gnulib-tool due to the markup module usage.
6050 * gettext-tools/gnulib-tests/.gitignore: Likewise.
6051 * gettext-tools/libgettextpo/.gitignore: Likewise.
6052 * gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES):
6053 Remove ../src/libexpat-compat.c.
6054 (libgettextpo_la_LDFLAGS): Remove @LTLIBEXPAT@.
6055 * gettext-tools/src/Makefile.am (noinst_HEADERS): Remove
6057 (libgettextsrc_la_SOURCES): Remove libexpat-compat.c.
6058 (libgettextsrc_la_LDFLAGS): Remove @LTLIBEXPAT@.
6059 * gettext-tools/src/format-kde-kuit.c: Use functions from markup.h, when
6060 the file is being compiled as part of libgettextpo. Otherwise use
6062 * gettext-tools/src/libexpat-compat.c: Remove.
6063 * gettext-tools/src/libexpat-compat.h: Remove.
6065 2015-12-08 Daiki Ueno <ueno@gnu.org>
6067 build: Fix texi2html failure with perl 5.22
6068 * gettext-runtime/libasprintf/texi2html (update_sec_num): Don't use
6069 "defined" against an array ref.
6070 * gettext-tools/doc/texi2html (update_sec_num): Likewise.
6074 xgettext: Ignore --from-code when XML mode
6075 * gettext-tools/src/xgettext.c (extract_from_xml_file): Forcibly set
6076 current source encoding to UTF-8, on XML mode.
6078 build: Suppress compiler warning
6079 * gettext-tools/src/its.c (its_rule_list_extract_text): Remove unused
6080 local variable "message".
6082 2015-12-04 Daiki Ueno <ueno@gnu.org>
6084 msgfmt: Support XML file merging
6085 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add write-xml.h.
6086 (msgfmt_SOURCES): Add write-xml.c.
6087 * gettext-tools/src/its.c (its_merge_context_merge_node): New function.
6088 (its_merge_context_merge): New function.
6089 (its_merge_context_alloc): New function.
6090 (its_merge_context_write): New function.
6091 (its_merge_context_free): New function.
6092 * gettext-tools/src/its.h (its_merge_context_ty): New type.
6093 * gettext-tools/src/msgfmt.c: Include "its.h", "locating-rule.h", and
6095 (SIZEOF): New macro.
6096 (xml_mode, xml_locale_name, xml_template_name, xml_base_directory,
6097 xml_language, xml_its_rules): New variable.
6098 (long_options): Add --language and --xml.
6099 (main): Handle new options.
6100 (usage): Document new options.
6101 (msgfmt_xml_bulk): New function.
6102 * gettext-tools/src/write-xml.c: New file.
6103 * gettext-tools/src/write-xml.h: New file.
6104 * gettext-tools/doc/gettext.texi: Mention XML file merging use-case.
6105 * gettext-tools/doc/msgfmt.texi: Mention --xml option.
6106 * gettext-tools/tests/msgfmt-xml-1: New file.
6107 * gettext-tools/tests/msgfmt-xml-2: New file.
6108 * gettext-tools/tests/Makefile.am (TESTS): Add new tests.
6110 xgettext: Rewrite Glade scanner in ITS
6111 * gettext-tools/its/glade.loc: New file.
6112 * gettext-tools/its/glade1.its: New file.
6113 * gettext-tools/its/glade2.its: New file.
6114 * gettext-tools/its/gtkbuilder.its: New file.
6115 * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
6116 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-glade.c.
6117 * gettext-tools/src/x-glade.c: Remove.
6118 * gettext-tools/src/x-glade.h (EXTENSIONS_GLADE): Set language field to
6120 (SCANNERS_GLADE): Set func field to NULL.
6121 * gettext-tools/po/POTFILES.in: Remove x-glade.c
6123 xgettext: Rewrite GSettings scanner in ITS
6124 * gettext-tools/its/gsettings.its: New file.
6125 * gettext-tools/its/gsettings.loc: New file.
6126 * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
6127 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-gsettings.c.
6128 * gettext-tools/src/x-gsettings.c: Remove.
6129 * gettext-tools/src/x-gsettings.h (EXTENSIONS_GSETTINGS): Set language
6131 (SCANNER_GSETTINGS): Set func field to NULL.
6133 xgettext: Rewrite AppData scanner in ITS
6134 * gettext-tools/its/appdata.loc: New file.
6135 * gettext-tools/its/appdata.its: New file.
6136 * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
6137 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-appdata.c.
6138 * gettext-tools/src/x-appdata.c: Remove.
6139 * gettext-tools/src/x-appdata.h (EXTENSIONS_APPDATA): Set language
6141 (SCANNERS_APPDATA): Set func field to NULL.
6143 xgettext: Add support for generic XML files
6144 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add trim module.
6145 * gettext-tools/src/locating-rule.h: New file.
6146 * gettext-tools/src/locating-rule.c: New file.
6147 * gettext-tools/src/its.h: New file.
6148 * gettext-tools/src/its.c: New file.
6149 * gettext-tools/src/xgettext.c: Include "locating-rule.h" and "its.h".
6150 (its_locators): New variable.
6151 (long_options): Add --itstool option.
6152 (extract_from_xml_file): New function.
6153 (main): Handle --itstool option.
6154 (usage): Document --itstool option.
6155 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add locating-rule.h
6157 (libgettextsrc_la_CPPFLAGS): Add $(INCXML).
6158 (libgettextsrc_la_SOURCES): Add locating-rule.c and its.c.
6159 * gettext-tools/Makefile.am (SUBDIRS): Add its directory.
6160 * gettext-tools/configure.ac: Output its/Makefile.
6161 * gettext-tools/doc/gettext.texi (Preparing ITS Rules): New section.
6162 * gettext-tools/doc/xgettext.texi: Mention --itstool option.
6163 * gettext-tools/tests/Makefile.am (TESTS): Add new tests.
6164 * gettext-tools/tests/xgettext-its-1: New file
6165 * gettext-tools/tests/init-env.in: Set GETTEXTDATADIR for ITS tests.
6167 2015-11-18 Daiki Ueno <ueno@gnu.org>
6169 cldr-plurals: Add sanity checks for input
6170 * gettext-tools/src/cldr-plurals.c (extract_rules): Add null checks and
6171 element type checks.
6173 2015-11-17 Daiki Ueno <ueno@gnu.org>
6175 cldr-plurals: Rewrite XML handling using libxml2
6176 * src/cldr-plurals.c: Include <libxml/tree.h> and
6177 <libxml/parser.h>, instead of "libexpat-compat.h".
6178 (extract_locale, extracted_rules, parser, logical_file_name)
6179 (struct element_state, stack, stack_size, stack_depth)
6180 (ensure_stack_size, start_element_handler, end_element_handler)
6181 (character_data_handler): Remove.
6182 (extract_rules): Rename from extract_rule and rewrite using DOM.
6183 (main): Use extract_rules.
6184 * src/Makefile.am (cldr_plurals_CFLAGS): Add $(INCXML).
6186 cldr-plurals: Fix a trivial leak
6187 * src/cldr-plural.y (sample_range): Free unused operand value.
6189 2015-11-17 Phil Davis <phil.davis@inf.org> (tiny change)
6191 doc: Fix typo in gettext_noop example
6192 * doc/gettext.texi (Special cases): Add missing ')' to
6193 a gettext_noop call.
6195 2015-10-29 Daiki Ueno <ueno@gnu.org>
6197 maint: Ignore more generated ChangeLogs
6198 * .gitignore: Add gettext-runtime/intl/ChangeLog,
6199 gettext-runtime/po/ChangeLog, and gettext-tools/po/ChangeLog.
6201 m4: Fix typo in usage comment
6202 * gettext-runtime/m4/gettext.m4: Remove duplicate words.
6203 * gettext-runtime/m4/intl.m4: Likewise.
6204 * gettext-runtime/m4/intldir.m4: Likewise.
6205 * gettext-runtime/m4/intlmacosx.m4: Likewise.
6206 * gettext-runtime/m4/lcmessage.m4: Likewise.
6207 * gettext-runtime/m4/nls.m4: Likewise.
6208 * gettext-runtime/m4/po.m4: Likewise.
6209 * gettext-runtime/m4/progtest.m4: Likewise.
6210 Reported by Jakub Wilk in:
6211 https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00026.html.
6213 doc: Fix typo in msgfmt invocation
6214 * gettext-tools/doc/msgfmt.texi: Fix the documentation of -d option,
6215 used in the Desktop Entry mode.
6217 2015-10-15 Daiki Ueno <ueno@gnu.org>
6219 build: Generate ChangeLogs for intl and po
6220 * autogen.sh: Create empty ChangeLog files under intl and po.
6221 * Makefile.am (gen-ChangeLogs): Rename from gen-ChangeLog. Generate
6222 ChangeLog files for */intl and */po as well as top-level.
6223 * gettext-runtime/intl/ChangeLog.0: Rename from ChangeLog.
6224 * gettext-runtime/po/ChangeLog.0: Rename from ChangeLog.
6225 * gettext-tools/po/ChangeLog.1: Rename from ChangeLog.
6227 build: Distribute old ChangeLogs in tarball
6228 * Makefile.am (changelog_etc): Remove non-existent ChangeLog files
6230 (EXTRA_DIST): Add $(changelog_etc).
6232 2015-10-14 Mike Frysinger <vapier@chromium.org>
6234 tests: use check_PROGRAMS
6235 The noinst_xxx targets will be compiled all the time. For test programs,
6236 the check_xxx targets make more sense as they'll only be built when the
6237 user runs `make check`.
6239 * gettext-runtime/tests/Makefile.am (noinst_PROGRAMS): Rename to ...
6240 (check_PROGRAMS): ... this.
6242 2015-10-14 Mike Frysinger <vapier@chromium.org>
6244 intl/localename: control langinfo.h inclusion
6245 This header is only used to work around buggy behavior in old versions
6246 of glibc, so do not include it all the time. Otherwise we get build
6247 failures on systems that do not provide langinfo.h.
6249 * gettext-runtime/intl/localename.c: Wrap langinfo.h include with same
6250 ifdefs used in the source later on.
6252 2015-10-14 Daiki Ueno <ueno@gnu.org>
6254 build: Remove ChangeLogs
6255 Generate ChangeLog files at "make dist" time, using
6256 gitlog-to-changelog. We still keep ChangeLog files under "po" and
6257 "intl" directories, since those files are copied as part of gettext
6258 infrastructure and it is still meaningful to have them there.
6259 * .gitignore: Add ChangeLog files.
6260 * Admin/release-steps: Remove mention of running update-changelog
6262 * Admin/update-changelog: Remove.
6263 * Makefile.am (gen-ChangeLog): New rule.
6264 * autogen.sh: Copy gitlog-to-changelog from gnulib. Create empty
6265 ChangeLog files to suppress Automake errors.
6266 * gettext-tools/doc/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
6267 * gettext-tools/man/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
6268 * gettext-tools/src/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
6269 * gettext-tools/tests/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
6270 * gnulib-local/Makefile.am (EXTRA_DIST): Remove ChangeLog files.
6271 * */ChangeLog: Rename to ChangeLog.0 or ChangeLog.1.
6272 * HACKING: Add brief guideline to submit patches.