1 2015-12-28 Daiki Ueno <ueno@gnu.org>
4 * gettext-runtime/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
5 * gettext-runtime/po/nb.po: Update from Johnny A. Solbu <johnny@solbu.net>.
6 * gettext-runtime/po/pt_BR.po: Update from Rafael Ferreira <rffontenelle@gmail.com>.
7 * gettext-runtime/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>.
8 * gettext-runtime/po/zh_TW.po: Update from Wei-Lun Chao <bluebat@member.fsf.org>.
9 * gettext-tools/examples/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
10 * gettext-tools/examples/po/nb.po: Update from Johnny A. Solbu <johnny@solbu.net>.
11 * gettext-tools/examples/po/pt_BR.po: Update from Rafael Ferreira <rffontenelle@gmail.com>.
12 * gettext-tools/examples/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>.
13 * gettext-tools/examples/po/zh_TW.po: Update from Wei-Lun Chao <bluebat@member.fsf.org>.
14 * gettext-tools/po/bg.po: Update from Roumen Petrov <transl@roumenpetrov.info>.
15 * gettext-tools/po/es.po: Update from Antonio Ceballos <aceballos@gmail.com>.
16 * gettext-tools/po/fr.po: Update from Stéphane Aulery <lkppo@free.fr>.
17 * gettext-tools/po/ja.po: Update from Masahito Yamaga <ma@yama-ga.com>.
18 * gettext-tools/po/nl.po: Update from Benno Schulenberg <benno@vertaalt.nl>.
19 * gettext-tools/po/pt_BR.po: Update from Rafael Fontenelle <rffontenelle@gmail.com>.
20 * gettext-tools/po/sk.po: Update from Marcel Telka <marcel@telka.sk>.
21 * gettext-tools/po/sl.po: Update from Primoz PETERLIN <primozz.peterlin@gmail.com>.
22 * gettext-tools/po/sr.po: Update from Мирослав Николић <miroslavnikolic@rocketmail.com>.
23 * gettext-tools/po/uk.po: Update from Yuri Chornoivan <yurchor@ukr.net>.
24 * gettext-tools/po/vi.po: Update from Trần Ngọc Quân <vnwildman@gmail.com>.
28 doc: Regenerate translation matrix
29 * gettext-runtime/ABOUT-NLS: Regenerate for 0.19.7.
30 * gettext-runtime/doc/matrix.texi: Regenerate for 0.19.7.
32 NEWS: Add 0.19.7 changes
36 Ignore file brought by gnulib-tool
37 * gettext-tools/gnulib-tests/.gitignore: Ignore file brought by
40 2015-12-23 Daiki Ueno <ueno@gnu.org>
42 term-ostream-tests: Add test data for FreeBSD 10.1
43 * gnulib-local/modules/term-ostream-tests: Add
44 test-term-ostream-xterm-freebsd101.out.
45 * gnulib-local/tests/test-term-ostream-xterm: Use new test data.
46 * gnulib-local/tests/test-term-ostream-xterm-freebsd101.out: New file.
48 2015-12-21 Daiki Ueno <ueno@gnu.org>
50 cldr-plurals: Fix errors from clang-analyzer
51 * gettext-tools/src/cldr-plurals.c (extract_rules): Add extra null
52 checks for NODE and BUFFER. Don't add NUL byte to the end of buffer
55 2015-12-17 Daiki Ueno <ueno@gnu.org>
57 po: Prefer to use host tools when cross compiling
58 * gettext-runtime/po/Makefile.in.in (CROSS_COMPILING): New substitute
60 (.nop.po-update): Don't prepend ../src to $PATH when cross compiling.
61 * gettext-runtime/po/Rules-quot (.insert-header.po-update-en): Likewise.
63 its: Allow CDATA and comments in translatable node
64 * gettext-tools/src/its.c (its_rule_list_is_translatable): Don't return
65 false on CDATA and comments.
67 its: Fix typo in GSettings rule
68 * gettext-tools/its/gsettings.its: Fix typo in escape rule.
70 2015-12-15 Daiki Ueno <ueno@gnu.org>
72 gnulib-local: Fix link error due to symbol dupes
73 * gnulib-local/lib/libxml/trionan.c (minus_zerod): Mark as static.
75 gnulib-local: Pull more functions for libxml
76 * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by
78 * gettext-tools/gnulib-tests/.gitignore: Likewise.
79 * gnulib-local/modules/libxml (Depends-on): Add 'pow', 'log10', and
82 gnulib-local: Replace libxml2 trio with Gnulib
83 * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by
85 * gettext-tools/gnulib-tests/.gitignore: Likewise.
86 * gnulib-local/lib/libxml/triodef.h: Remove.
87 * gnulib-local/lib/libxml/trionan.c: Replace it with Gnulib functions.
88 * gnulib-local/lib/libxml/trionan.h: Remove.
89 * gnulib-local/modules/libxml (Depends-on): Add 'isinf', 'isnan', and
92 2015-12-14 Daiki Ueno <ueno@gnu.org>
94 gnulib-local: Update included libxml2 to 2.9.3
95 * gnulib-local/lib/libxml/*: Update from libxml2 2.9.3. Add buf.[ch],
96 enc.h, save.h, triodef.h, trionan.[ch]. Enable XPath and XPointer
98 * gnulib-local/modules/libxml (Files): Add new files from libxml2 2.9.3.
100 2015-12-10 Daiki Ueno <ueno@gnu.org>
102 gettext-tools: Update POTFILES.in
103 * gettext-tools/po/POTFILES.in: Add newly added files.
105 gnulib-local: Make markup.c translator friendly
106 * gnulib-local/lib/markup.c: Reuse strings.
108 its: Mark some attributes as escape="no"
109 * gettext-tools/its/glade2.its: Mark "comments" attribute as
111 * gettext-tools/its/gsettings.its: Mark "context" attribute as
113 * gettext-tools/its/gtkbuilder.its: Mark "comments" attribute as
116 xgettext: Respect ITS escape rule for attributes
117 * gettext-tools/src/its.c (its_rule_list_extract_text): Check for
118 "escape" value for an attribute node.
119 * gettext-tools/tests/xgettext-its-1: Add tests for gt:escapeRule.
121 2015-12-10 KO Myung-Hun <komh78@gmail.com> (tiny change)
123 intl: Fix name resolution failures on kLIBC
124 kLIBC already has _nl_default_dirname and _nl_msg_cat_cntr in its own
125 gettext implmenetation.
126 * gettext-runtime/intl/dcigettext.c: Do not declare _nl_default_dirname
128 * gettext-runtime/intl/gettextP.h: Define _nl_msg_cat_cntr to
129 libintl_nl_msg_cat_cntr on kLIBC.
131 build: Do not include os2compat.[ch]
132 kLIBC does not need os2compat.[ch]
133 * gettext-runtime/configure.ac (AH_BOTTOM): Do not include
134 intl/os2compat.h on kLIBC.
135 * gettext-runtime/intl/osdep.c: Do not include os2compat.c on kLIBC.
136 * gettext-tools/configure.ac (AH_BOTTOM): Do not include
137 intl/os2compat.h on kLIBC.
139 test-lock: Do not include sched.h on kLIBC
140 * gettext-runtime/tests/test-lock.c: Do not include sched.h on kLIBC,
141 since kLIBC does not have sched.h.
143 2015-12-10 Daiki Ueno <ueno@gnu.org>
145 kde: Fix KUIT error handling when libxml2 is used
146 * gettext-tools/src/format-kde-kuit.c (format_parse): Return NULL if
147 xmlReadMemory returns NULL.
149 xgettext: Add --its option for ease of testing
150 * gettext-tools/doc/xgettext.texi (Output details): Mention --its
152 * gettext-tools/src/xgettext.c (long_options): Add --its option.
153 (main): Handle --its option. Suggested by Sébastien Wilmet.
155 xgettext: Improve error reporting when ITS is used
156 * gettext-tools/src/xgettext.c (main): Print error when an ITS file is
157 designated through a locating rule, but the file does not exist.
159 build: Update DEPENDENCIES
160 * DEPENDENCIES: Remove duplicate entry for libxml2.
162 2015-12-09 Daiki Ueno <ueno@gnu.org>
164 build: Remove expat dependency
165 * DEPENDENCIES: Suggest libxml2 instead of expat.
166 * gnulib-local/lib/markup.c: New file.
167 * gnulib-local/lib/markup.h: New file.
168 * gnulib-local/modules/markup: New file.
169 * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO): Add markup module.
170 * gettext-tools/configure.ac: Remove checks for expat.
171 * gettext-tools/gnulib-lib/.gitignore: Ignore modules pulled by
172 gnulib-tool due to the markup module usage.
173 * gettext-tools/gnulib-tests/.gitignore: Likewise.
174 * gettext-tools/libgettextpo/.gitignore: Likewise.
175 * gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES):
176 Remove ../src/libexpat-compat.c.
177 (libgettextpo_la_LDFLAGS): Remove @LTLIBEXPAT@.
178 * gettext-tools/src/Makefile.am (noinst_HEADERS): Remove
180 (libgettextsrc_la_SOURCES): Remove libexpat-compat.c.
181 (libgettextsrc_la_LDFLAGS): Remove @LTLIBEXPAT@.
182 * gettext-tools/src/format-kde-kuit.c: Use functions from markup.h, when
183 the file is being compiled as part of libgettextpo. Otherwise use
185 * gettext-tools/src/libexpat-compat.c: Remove.
186 * gettext-tools/src/libexpat-compat.h: Remove.
188 2015-12-08 Daiki Ueno <ueno@gnu.org>
190 build: Fix texi2html failure with perl 5.22
191 * gettext-runtime/libasprintf/texi2html (update_sec_num): Don't use
192 "defined" against an array ref.
193 * gettext-tools/doc/texi2html (update_sec_num): Likewise.
197 xgettext: Ignore --from-code when XML mode
198 * gettext-tools/src/xgettext.c (extract_from_xml_file): Forcibly set
199 current source encoding to UTF-8, on XML mode.
201 build: Suppress compiler warning
202 * gettext-tools/src/its.c (its_rule_list_extract_text): Remove unused
203 local variable "message".
205 2015-12-04 Daiki Ueno <ueno@gnu.org>
207 msgfmt: Support XML file merging
208 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add write-xml.h.
209 (msgfmt_SOURCES): Add write-xml.c.
210 * gettext-tools/src/its.c (its_merge_context_merge_node): New function.
211 (its_merge_context_merge): New function.
212 (its_merge_context_alloc): New function.
213 (its_merge_context_write): New function.
214 (its_merge_context_free): New function.
215 * gettext-tools/src/its.h (its_merge_context_ty): New type.
216 * gettext-tools/src/msgfmt.c: Include "its.h", "locating-rule.h", and
219 (xml_mode, xml_locale_name, xml_template_name, xml_base_directory,
220 xml_language, xml_its_rules): New variable.
221 (long_options): Add --language and --xml.
222 (main): Handle new options.
223 (usage): Document new options.
224 (msgfmt_xml_bulk): New function.
225 * gettext-tools/src/write-xml.c: New file.
226 * gettext-tools/src/write-xml.h: New file.
227 * gettext-tools/doc/gettext.texi: Mention XML file merging use-case.
228 * gettext-tools/doc/msgfmt.texi: Mention --xml option.
229 * gettext-tools/tests/msgfmt-xml-1: New file.
230 * gettext-tools/tests/msgfmt-xml-2: New file.
231 * gettext-tools/tests/Makefile.am (TESTS): Add new tests.
233 xgettext: Rewrite Glade scanner in ITS
234 * gettext-tools/its/glade.loc: New file.
235 * gettext-tools/its/glade1.its: New file.
236 * gettext-tools/its/glade2.its: New file.
237 * gettext-tools/its/gtkbuilder.its: New file.
238 * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
239 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-glade.c.
240 * gettext-tools/src/x-glade.c: Remove.
241 * gettext-tools/src/x-glade.h (EXTENSIONS_GLADE): Set language field to
243 (SCANNERS_GLADE): Set func field to NULL.
244 * gettext-tools/po/POTFILES.in: Remove x-glade.c
246 xgettext: Rewrite GSettings scanner in ITS
247 * gettext-tools/its/gsettings.its: New file.
248 * gettext-tools/its/gsettings.loc: New file.
249 * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
250 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-gsettings.c.
251 * gettext-tools/src/x-gsettings.c: Remove.
252 * gettext-tools/src/x-gsettings.h (EXTENSIONS_GSETTINGS): Set language
254 (SCANNER_GSETTINGS): Set func field to NULL.
256 xgettext: Rewrite AppData scanner in ITS
257 * gettext-tools/its/appdata.loc: New file.
258 * gettext-tools/its/appdata.its: New file.
259 * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files.
260 * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-appdata.c.
261 * gettext-tools/src/x-appdata.c: Remove.
262 * gettext-tools/src/x-appdata.h (EXTENSIONS_APPDATA): Set language
264 (SCANNERS_APPDATA): Set func field to NULL.
266 xgettext: Add support for generic XML files
267 * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add trim module.
268 * gettext-tools/src/locating-rule.h: New file.
269 * gettext-tools/src/locating-rule.c: New file.
270 * gettext-tools/src/its.h: New file.
271 * gettext-tools/src/its.c: New file.
272 * gettext-tools/src/xgettext.c: Include "locating-rule.h" and "its.h".
273 (its_locators): New variable.
274 (long_options): Add --itstool option.
275 (extract_from_xml_file): New function.
276 (main): Handle --itstool option.
277 (usage): Document --itstool option.
278 * gettext-tools/src/Makefile.am (noinst_HEADERS): Add locating-rule.h
280 (libgettextsrc_la_CPPFLAGS): Add $(INCXML).
281 (libgettextsrc_la_SOURCES): Add locating-rule.c and its.c.
282 * gettext-tools/Makefile.am (SUBDIRS): Add its directory.
283 * gettext-tools/configure.ac: Output its/Makefile.
284 * gettext-tools/doc/gettext.texi (Preparing ITS Rules): New section.
285 * gettext-tools/doc/xgettext.texi: Mention --itstool option.
286 * gettext-tools/tests/Makefile.am (TESTS): Add new tests.
287 * gettext-tools/tests/xgettext-its-1: New file
288 * gettext-tools/tests/init-env.in: Set GETTEXTDATADIR for ITS tests.
290 2015-11-18 Daiki Ueno <ueno@gnu.org>
292 cldr-plurals: Add sanity checks for input
293 * gettext-tools/src/cldr-plurals.c (extract_rules): Add null checks and
296 2015-11-17 Daiki Ueno <ueno@gnu.org>
298 cldr-plurals: Rewrite XML handling using libxml2
299 * src/cldr-plurals.c: Include <libxml/tree.h> and
300 <libxml/parser.h>, instead of "libexpat-compat.h".
301 (extract_locale, extracted_rules, parser, logical_file_name)
302 (struct element_state, stack, stack_size, stack_depth)
303 (ensure_stack_size, start_element_handler, end_element_handler)
304 (character_data_handler): Remove.
305 (extract_rules): Rename from extract_rule and rewrite using DOM.
306 (main): Use extract_rules.
307 * src/Makefile.am (cldr_plurals_CFLAGS): Add $(INCXML).
309 cldr-plurals: Fix a trivial leak
310 * src/cldr-plural.y (sample_range): Free unused operand value.
312 2015-11-17 Phil Davis <phil.davis@inf.org> (tiny change)
314 doc: Fix typo in gettext_noop example
315 * doc/gettext.texi (Special cases): Add missing ')' to
318 2015-10-29 Daiki Ueno <ueno@gnu.org>
320 maint: Ignore more generated ChangeLogs
321 * .gitignore: Add gettext-runtime/intl/ChangeLog,
322 gettext-runtime/po/ChangeLog, and gettext-tools/po/ChangeLog.
324 m4: Fix typo in usage comment
325 * gettext-runtime/m4/gettext.m4: Remove duplicate words.
326 * gettext-runtime/m4/intl.m4: Likewise.
327 * gettext-runtime/m4/intldir.m4: Likewise.
328 * gettext-runtime/m4/intlmacosx.m4: Likewise.
329 * gettext-runtime/m4/lcmessage.m4: Likewise.
330 * gettext-runtime/m4/nls.m4: Likewise.
331 * gettext-runtime/m4/po.m4: Likewise.
332 * gettext-runtime/m4/progtest.m4: Likewise.
333 Reported by Jakub Wilk in:
334 https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00026.html.
336 doc: Fix typo in msgfmt invocation
337 * gettext-tools/doc/msgfmt.texi: Fix the documentation of -d option,
338 used in the Desktop Entry mode.
340 2015-10-15 Daiki Ueno <ueno@gnu.org>
342 build: Generate ChangeLogs for intl and po
343 * autogen.sh: Create empty ChangeLog files under intl and po.
344 * Makefile.am (gen-ChangeLogs): Rename from gen-ChangeLog. Generate
345 ChangeLog files for */intl and */po as well as top-level.
346 * gettext-runtime/intl/ChangeLog.0: Rename from ChangeLog.
347 * gettext-runtime/po/ChangeLog.0: Rename from ChangeLog.
348 * gettext-tools/po/ChangeLog.1: Rename from ChangeLog.
350 build: Distribute old ChangeLogs in tarball
351 * Makefile.am (changelog_etc): Remove non-existent ChangeLog files
353 (EXTRA_DIST): Add $(changelog_etc).
355 2015-10-14 Mike Frysinger <vapier@chromium.org>
357 tests: use check_PROGRAMS
358 The noinst_xxx targets will be compiled all the time. For test programs,
359 the check_xxx targets make more sense as they'll only be built when the
360 user runs `make check`.
362 * gettext-runtime/tests/Makefile.am (noinst_PROGRAMS): Rename to ...
363 (check_PROGRAMS): ... this.
365 2015-10-14 Mike Frysinger <vapier@chromium.org>
367 intl/localename: control langinfo.h inclusion
368 This header is only used to work around buggy behavior in old versions
369 of glibc, so do not include it all the time. Otherwise we get build
370 failures on systems that do not provide langinfo.h.
372 * gettext-runtime/intl/localename.c: Wrap langinfo.h include with same
373 ifdefs used in the source later on.
375 2015-10-14 Daiki Ueno <ueno@gnu.org>
377 build: Remove ChangeLogs
378 Generate ChangeLog files at "make dist" time, using
379 gitlog-to-changelog. We still keep ChangeLog files under "po" and
380 "intl" directories, since those files are copied as part of gettext
381 infrastructure and it is still meaningful to have them there.
382 * .gitignore: Add ChangeLog files.
383 * Admin/release-steps: Remove mention of running update-changelog
385 * Admin/update-changelog: Remove.
386 * Makefile.am (gen-ChangeLog): New rule.
387 * autogen.sh: Copy gitlog-to-changelog from gnulib. Create empty
388 ChangeLog files to suppress Automake errors.
389 * gettext-tools/doc/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
390 * gettext-tools/man/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
391 * gettext-tools/src/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
392 * gettext-tools/tests/Makefile.am (EXTRA_DIST): Remove ChangeLog.0.
393 * gnulib-local/Makefile.am (EXTRA_DIST): Remove ChangeLog files.
394 * */ChangeLog: Rename to ChangeLog.0 or ChangeLog.1.
395 * HACKING: Add brief guideline to submit patches.