Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gettext-tools / src / ChangeLog.1
similarity index 87%
rename from gettext-tools/src/ChangeLog
rename to gettext-tools/src/ChangeLog.1
index 4e3891a..5272c06 100644 (file)
+2015-10-06  Daiki Ueno  <ueno@gnu.org>
+
+       * msgfmt.c (msgfmt_desktop_bulk): Distinguish the number of errors
+       and the exit status.
+       * write-desktop.c (msgdomain_write_desktop_bulk): Don't
+       immediately exit when fwriteerror() returns error.
+
+2015-10-06  Daiki Ueno  <ueno@gnu.org>
+
+       msgfmt: Refactor --desktop handling
+       * msgfmt.c (get_languages): Avoid redundant memory allocation.
+       (msgfmt_operand_list_init): New function.
+       (msgfmt_operand_list_destroy): New function.
+       (msgfmt_operand_list_append): New function.
+       (msgfmt_operand_list_add_directory): New function.
+       (msgfmt_desktop_bulk): Rewrite using msgfmt_operand_list_ty.
+
+       * msgfmt.h (msgfmt_operand_ty)
+       (msgfmt_operand_list_ty): New type.
+       * write-desktop.c (msgdomain_write_desktop_bulk):
+       Simplify using msgfmt_operand_list_ty.
+       (msgdomain_write_desktop): Simplify using msgfmt_operand_list_ty.
+       * write-desktop.h (msgdomain_write_desktop_bulk): Take OPERANDS as
+       the first argument, instead of LANGUAGES and MESSAGES.
+
+2015-10-06  Daiki Ueno  <ueno@gnu.org>
+
+       * sentence.c (sentence_end): Assign initial values to local
+       variables to suppress compiler warnings with
+       -Wmaybe-uninitialized.  This shouldn't address any real bug.
+
+2015-09-11  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19.6 released.
+
+2015-08-24  Daiki Ueno  <ueno@gnu.org>
+
+       * xgettext.c (construct_header): Replace PACKAGE placeholder in
+       the header comment.
+
+2015-06-11  Philip Withnall  <philip.withnall@collabora.co.uk>
+
+       xgettext: add support for AppData files
+       * x-appdata.h: New file.
+       * x-appdata.c: New file.
+       * xgettext.c: Include x-appdata.h.
+       (language_to_extractor): Add AppData rule.
+       (extension_to_language): Add AppData rule.
+       * Makefile.am (noinst_HEADERS): Add x-appdata.h.
+       (xgettext_SOURCES): Add x-appdata.c.
+       * FILES: Update.
+
+2015-08-21  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Allow multiple --copyright-holder
+       Feature requested by Francesco Poli in:
+       <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682580>.
+       * xgettext.c (default_copyright_holder): New constant, renamed
+       from copyright_holder.
+       (copyright_holder): Define as a variable.
+       (main): Allow multiple --copyright-holder options.
+       (construct_header): Support multiple --copyright-holder options.
+
+2015-08-15  Daiki Ueno  <ueno@gnu.org>
+
+       * cldr-plurals.c (main): Close FP after use.
+       Reported by Denis Denisov.
+
+2015-07-21  Václav Slavík  <vaclav@slavik.io>  (tiny change)
+
+       cldr-plurals: Fix --enable-relocatable compilation
+       Compilation of the cldr-plurals tool was broken in the relocatable
+       case because of missing CPPFLAGS/LDFLAGS.  Add the same flags used
+       by other tools to the makefile.
+       * Makefile.am (cldr_plurals_CPPFLAGS)
+       (cldr_plurals_LDFLAGS): Adjust for --enable-relocatable
+       compilation.
+
+2015-07-10  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19.5 released.
+
+2015-06-29  Daiki Ueno  <ueno@gnu.org>
+
+       * msginit.c (catalogname_for_locale): Remove sr_YU, which were
+       removed from ISO 3166-1:1997.  Add comment saying that pap_AN,
+       which were removed from ISO 3166-1:2006, can be removed in the
+       future.
+       Reported by Jakub Wilk in:
+       <https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00057.html>.
+
+2015-06-25  Daiki Ueno  <ueno@gnu.org>
+
+       * x-c.c (literalstring_parse): Bail out if C == NUL.  Also adjust
+       the loop invariant in Unicode literal handling.
+       Reported by Hanno Boeck in:
+       <http://savannah.gnu.org/bugs/?45391>.
+
+2015-06-25  Daiki Ueno  <ueno@gnu.org>
+
+       * x-c.c (literalstring_parse): Add more NUL checks.  Change the
+       loop invariant so that C always points to the character previously
+       pointed by P.
+       Reported by Hanno Boeck in:
+       <http://savannah.gnu.org/bugs/?45391>.
+
+2015-06-24  Daiki Ueno  <ueno@gnu.org>
+
+       * x-c.c (literalstring_parse): Check if the next character of a
+       backslash is NUL.
+       Reported by Hanno Boeck in:
+       <http://savannah.gnu.org/bugs/?45391>.
+
+2015-06-23  Daiki Ueno  <ueno@gnu.org>
+
+       * cldr-plurals.c (main): Fix unmatched braces when
+       !(DYNLOAD_LIBEXPAT || HAVE_LIBEXPAT).
+
+2015-06-23  Daiki Ueno  <ueno@gnu.org>
+
+       * cldr-plurals.c: Include "basename.h".
+       (main): Place optind on the right hand side of the expression, to
+       work around build failure on Solaris.
+
+2015-06-23  Daiki Ueno  <ueno@gnu.org>
+
+       * Makefile.am (uninstall-local): Remove cldr-plurals.
+
+2015-06-23  Daiki Ueno  <ueno@gnu.org>
+
+       * Makefile.am (noinst_HEADERS): Add cldr-plural.h and
+       cldr-plural-exp.h.
+
+2015-06-22  Daiki Ueno  <ueno@gnu.org>
+
+       msginit: Guess plural rules from Unicode CLDR
+       * Makefile.am (noinst_PROGRAMS): Add cldr-plurals.
+       (install-exec-local): Install cldr-plurals.
+       (BUILT_SOURCES): Add cldr-plural.c and cldr-plural.h.
+       (cldr_plural_SOURCES): New variable.
+       (cldr_plural_LDADD): New variable.
+       * cldr-plural-exp.h: New file.
+       * cldr-plural-exp.c: New file.
+       * cldr-plural.y: New file.
+       * cldr-plurals.c: New file.
+       * msginit.c (plural_forms): Call cldr-plurals program if the
+       plural rule is not defined in the code.
+
+2015-06-01  Daiki Ueno  <ueno@gnu.org>
+
+       * x-awk.h (EXTENSIONS_AWK): Register file extensions ".gawk" and
+       ".twjr".  Suggested by Karl Berry in:
+       <https://lists.gnu.org/archive/html/bug-gettext/2015-05/msg00032.html>.
+
+2015-05-08  Часлав Илић (Chusslove Illich)  <caslav.ilic@gmx.net>  (tiny change)
+
+       * x-c.c (init_flag_table_kde): New function.
+       (additional_keywords_kde): New variable.
+       (activate_additional_keywords_kde): New function.
+       (init_keywords): Optional addition of KDE-specific keywords.
+       * x-c.h (init_flag_table_kde): New function declaration.
+       (activate_additional_keywords_kde): New function declaration.
+       * xgettext.c (main): Invoke addition of KDE-specific keywords when
+       language is C++ with KDE.
+
+2015-03-20  Daiki Ueno  <ueno@gnu.org>
+
+       kde-kuit: Use xmlns to avoid element name conflict
+       * format-kde-kuit.c (XML_NS): New macro.
+       (format_parse): Add namespace qualifier to the <kuit> tag.
+
+2015-03-12  Daiki Ueno  <ueno@gnu.org>
+
+       * format-kde-kuit.c (format_parse): Remove dead assignment,
+       spotted by clang-analyzer.
+       * x-c.c (phase5_get): Likewise.
+
+2015-03-11  Daiki Ueno  <ueno@gnu.org>
+
+       msgunfmt: Check allocated size for static segment
+       Reported by Max Lin in:
+       http://lists.gnu.org/archive/html/bug-gettext/2015-03/msg00005.html
+       * read-mo.c (get_sysdep_string): Check if the embedded segment
+       size is valid, before adding it to the string length.
+
+2015-03-06  Daiki Ueno  <ueno@gnu.org>
+
+       format-kde: Recognize KUIT markup
+       Reported by Chusslove Illich in:
+       https://lists.gnu.org/archive/html/bug-gettext/2015-01/msg00017.html
+       * format.h (formatstring_kde_kuit): New variable declaration.
+       * format.c (formatstring_parsers): Register formatstring_kde_kuit
+       as a format string parser.
+       * format-kde-kuit.c: New file.
+       * message.h (NFORMATS): Increment.
+       (enum format_type): New enum value format_kde_kuit.
+       * xgettext.c (xgettext_record_flag): Handle format_kde_kuit.
+       * Makefile.am (xgettext_SOURCES): Move libexpat-compat.c to...
+       (libgettextsrc_la_SOURCES): ...here.
+       (xgettext_LDADD): Move @LTLIBEXPAT@ to...
+       (libgettextsrc_la_LDFLAGS): ...here.
+       (FORMAT_SOURCE): Add format-kde-kuit.c.
+
+2015-03-02  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Support message syntax checks
+       With this change, xgettext could report common syntactic problems
+       in extracted strings.  The current built-in checks are
+       ellipsis-unicode, space-ellipsis, and quote-unicode.  Those checks
+       can be enabled with --check option of xgettext and disabled with
+       special "xgettext:" comment in source files.
+       Feature suggested by Philip Withnall in:
+       https://savannah.gnu.org/bugs/?44098
+       * message.h (enum syntax_check_type): New enum.
+       (NSYNTAXCHECKS): New constant.
+       (enum is_syntax_check): New enum.
+       (struct message_ty): New field 'do_syntax_check'.
+       (syntax_check_name): New variable declaration.
+       * message.c (syntax_check_name): New variable.
+       * msgl-cat.c (catenate_msgdomain_list): Propagate
+       mp->do_syntax_check.
+       * msgmerge.c (message_merge): Propagate ref->do_syntax_check.
+       * msgl-check.h (syntax_check_message_list): New declaration.
+       * msgl-check.c (syntax_check_ellipsis_unicode): New function.
+       (syntax_check_space_ellipsis): New function.
+       (syntax_check_quote_unicode): New function.
+       (syntax_check_message): New function.
+       (syntax_check_message_list): New function.
+       * read-catalog-abstract.h (po_parse_comment_special): Adjust
+       function declaration.
+       * read-catalog-abstract.c (po_parse_comment_special): Add new
+       argument SCP for syntax checking; all callers changed.
+       * read-catalog.h (DEFAULT_CATALOG_READER_TY): New field
+       'do_syntax_check'.
+       * read-catalog.c (default_constructor): Initialize
+       this->do_syntax_check.
+       (default_copy_comment_state): Propagate this->do_syntax_check.
+       * sentence.h: New file.
+       * sentence.c: New file.
+       * xgettext.c (long_options): Add options --check and --sentence-end.
+       (main): Handle options --check and --sentence-end.
+       (usage): Document options --check and --sentence-end.
+       (remember_a_message): Propagate do_syntax_check value.
+
+2015-02-05  Alex Henrie  <alexhenrie24@gmail.com>  (tiny change)
+
+       xgettext: Wrap location comments to 79 characters
+       Previously, messages were wrapped to 79 characters, but location
+       comments were wrapped to 78 characters.
+       * write-po.c (message_print_comment_filepos): Fix off-by-one in
+       calculating line-wrapping width of location comment.
+
+2015-02-03  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Factor out quoted string handling
+       For later use in xgettext, separate out the scanner part in
+       filter-quote.c into a separate file.  See:
+       <https://savannah.gnu.org/bugs/?44098>.
+       * quote.h: New file split from filter-quote.c.
+       * filter-quote.c: Include "quote.h".
+       (convert_quote_callback): New function.
+       (convert_ascii_quote_to_unicode): Use scan_quoted from quote.h.
+       * Makefile.am (libgettextsrc_la_SOURCES): Add quote.h.
+
+2015-01-29  Daiki Ueno  <ueno@gnu.org>
+
+       msgexec: Add --newline option
+       See the commit 96dde0b for the rationale.
+       * msgexec.c (newline): New variable.
+       (long_options): Add --newline option.
+       (main): Handle --newline option.
+       (usage): Document --newline option.
+       (process_string): Handle --newline option.
+
+2015-01-28  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Add --newline option
+       The filter program was supposed to handle translation without a
+       newline character at the end of line.  This was causing
+       portability problems with standard text processing programs on
+       some platforms (BSD sed, for instance) and not friendly towards
+       POSIX, where a "text file" is required to have an ending newline.
+       The new --newline option controls the behavior.  If it is given,
+       both filter input and output are assumed to end with a newline
+       character.
+       * msgfilter.c (newline): New variable.
+       (long_options): Add --newline option.
+       (main): Handle --newline option.
+       (usage): Document --newline option.
+       (process_string_with_newline): New function which wraps
+       process_string.
+       (process_message): Use process_string_with_newline instead of
+       process_string if --newline is specified.
+
+2015-01-24  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext, msgmerge: Avoid undefined non-null argument behavior
+       * xgettext.c (remember_a_message): Building with gcc's
+       -fsanitize=undefined and running tests triggered:
+         xgettext.c:2425:17: runtime error: null pointer passed as argument \
+           2, which is declared to never be null
+       Adjust the argument of strncmp to never be null.
+       * msgmerge.c (message_merge): Likewise for memcpy.
+
+2015-01-23  Daiki Ueno  <ueno@gnu.org>
+
+       build: Fix parallel build from git checkout
+       Since po-gram-gen2.h depends on po-gram-gen.h, an explicit
+       dependency on the YACC rule is needed for parallel compilation.
+       * Makefile.am (po-gram-gen.h): Depend on po-gram-gen.c.
+
+2015-01-16  Daiki Ueno  <ueno@gnu.org>
+
+       desktop: Avoid useless warning for group header
+       Reported by Marek Černocký at:
+       <https://savannah.gnu.org/bugs/?44005>
+       * read-desktop.c (desktop_lex): Fix "invalid non-blank
+       character" check after reading a group header.
+
+2015-01-13  Daiki Ueno  <ueno@gnu.org>
+
+       * x-c.c (phase5_get): Reset raw_expected at the beginning of the
+       function.
+
+2015-01-13  Daiki Ueno  <ueno@gnu.org>
+
+       c++: Make C++11 raw string recognition stricter
+       Reported by Vaclav Slavik at:
+       <http://savannah.gnu.org/bugs/?43970>.
+       * x-c.c (struct token_ty): New field 'escape'.
+       (struct xgettext_token_ty): New field 'escape'.
+       (phase5_get): Recognize raw strings more strictly.  Set 'escape'
+       field of token appropriately for string literals.
+       (extract_parenthesized): Respect 'escape' field of token.
+
+2015-01-13  Daiki Ueno  <ueno@gnu.org>
+
+       c++: Differentiate scanning logic from C
+       To enable raw string literals only in C++, add a flag indicating
+       the current source language is C++.
+       Suggested by Vaclav Slavik at:
+       <https://savannah.gnu.org/bugs/?43970>.
+       * x-c.h (extract_cxx): New declaration.
+       (SCANNERS_C): Use extract_cxx for "C++".
+       * x-c.c (cxx_extensions): New variable.
+       (phase5_get): Respect cxx_extensions and recognize raw string
+       literals only when it is set.
+       (extract_cxx): New function.
+       (extract_c, extract_objc): Reset cxx_extensions.
+
+2014-12-24  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19.4 released.
+
+2014-12-18  Daiki Ueno  <ueno@gnu.org>
+
+       * x-sh.c (read_word): Use phase1 instead of phase2 for Bash ANSI-C
+       escape sequences.  Also handle '\"' and '\E'.
+
+2014-12-17  Daiki Ueno  <ueno@gnu.org>
+
+       * x-sh.c (phase2_getc): Fix typo: debackslahificication ->
+       debackslashification.
+
+2014-12-12  Daiki Ueno  <ueno@gnu.org>
+
+       * read-desktop.c (desktop_parse): Check and ignore
+       token_type_other.
+
+2014-12-12  Daiki Ueno  <ueno@gnu.org>
+
+       * format-lisp.c (make_intersected_list): Don't dereference
+       potentially released memory.  'append_repeated_to_initial' may
+       release the LIST->element.  Spotted by clang-analyzer.
+       * format-scheme.c (make_intersected_list): Likewise.
+
+2014-12-10  Daiki Ueno  <ueno@gnu.org>
+
+       * msgl-check.c (check_header_entry): Don't declare unused variable
+       'nrequiredfields'.
+
+2014-12-09  Daiki Ueno  <ueno@gnu.org>
+
+       * xgettext.c (arglist_parser_done): Avoid potential
+       null-dereference.  Spotted by clang-analyzer.
+
+2014-12-09  Daiki Ueno  <ueno@gnu.org>
+
+       * msgfmt.c (msgfmt_desktop_bulk): Don't dereference potentially
+       uninitialized value.  Spotted by clang-analyzer.
+
+2014-12-09  Daiki Ueno  <ueno@gnu.org>
+
+       * x-vala.c (phase3_get): Factor out the buffer allocation as a
+       macro.
+
+2014-12-09  Daiki Ueno  <ueno@gnu.org>
+
+       * read-desktop.c (desktop_lex): Undef the APPEND macro before
+       defining.
+
+2014-12-09  Daiki Ueno  <ueno@gnu.org>
+
+       desktop: Simplify the parsing logic
+       * read-desktop.h (desktop_reader_class_ty): Rename 'handle_text'
+       to 'handle_blank'.
+       (desktop_reader_handle_blank): Rename from
+       'desktop_reader_handle_text'.
+       * read-desktop.c (SIZEOF): New macro.
+       (desktop_reader_handle_blank): Rename from
+       'desktop_reader_handle_blank'.
+       (read_until_newline, read_group_name, read_key_name): Remove.
+       Merge into...
+       (desktop_lex): ...here.
+       (desktop_parse): Call 'desktop_lex' instead of read_*.  Don't
+       normalize whitespaces.
+       (enum token_type_ty): New enum.
+       (struct token_ty): New struct.
+       (free_token): New function.
+       * write-desktop.c (msgfmt_desktop_handle_blank): Rename from
+       'msgfmt_desktop_handle_text'.
+       * x-desktop.c: Include "c-ctype.h".
+       (extract_desktop_handle_comment): Normalize whitespaces here.
+       (extract_desktop_handle_blank): Rename from
+       'extract_desktop_handle_text'.
+
+2014-12-07  Daiki Ueno  <ueno@gnu.org>
+
+       vala: Make regex literal handling robuster
+       * x-vala.c (token_type_ty): New enumeration values
+       'token_type_arithmetic_operator' and 'token_type_question'.
+       Remove 'token_type_minus'.
+       (phase3_get): Rewrite regex literal handling right after
+       arithmetic assignment operators.
+
+2014-12-05  Daiki Ueno  <ueno@gnu.org>
+
+       msgunfmt: Avoid integer overflow using xsize
+       * read-mo.c (get_uint32, get_sysdep_string): Use xsum to avoid
+       integer overflow, when checking length and offset fields.
+       Reported by Jakub Wilk at:
+       <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772088>.
+
+2014-12-04  Daiki Ueno  <ueno@gnu.org>
+
+       libgettextsrc: Follow plural.c -> pluralx.c file name change
+       * plural-exp.c: Include "../intl/pluralx.c" instead of
+       "../intl/plural.c".  Adjust to commit d2d04ba9.
+
+2014-12-03  Daiki Ueno  <ueno@gnu.org>
+
+       intl: Work around LCOV relative base directory resolution
+       * plural-exp.c: Include "../intl/plural.c" instead of
+       "../../gettext-runtime/intl/plural.c".
+
+2014-12-02  Daiki Ueno  <ueno@gnu.org>
+
+       c: Minor cleanup of the previous commit
+       * x-c.c (phase5_get): Remove redundant check of is_prefix; fit
+       lines to 80 column.
+
+2014-12-02  Daiki Ueno  <ueno@gnu.org>
+
+       c: Support C++11 string literals
+       * x-c.c (phase5_get): Recognize C++ string literals, defined in
+       ISO/IEC 9899:2011.  Reported at:
+       <https://savannah.gnu.org/bugs/?39499>.
+
+2014-12-01  Daiki Ueno  <ueno@gnu.org>
+
+       c#: Recognize Unicode surrogate character pair
+       * x-csharp.c (accumulate_escaped): Change the first argument type
+       from 'struct string_buffer *' to 'struct mixed_string_buffer *',
+       for Unicode surrogate character pair handling; all callers
+       changed.  Reported by Petr Kadlec at:
+       <https://savannah.gnu.org/bugs/?32505>.
+
+2014-11-28  Daiki Ueno  <ueno@gnu.org>
+
+       * msgfilter.c (prepare_read): Simplify the last commit 06e206f5,
+       by always adding 1 to the buffer size.
+
+2014-11-28  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Fix read buffer allocation for empty input
+       * msgfilter.c (prepare_read): Increase allocated buffer size even
+       if the original size is < 2.
+       Reported by Robin McCorkell at:
+       <https://savannah.gnu.org/bugs/?43720>.
+
+2014-11-27  Daiki Ueno  <ueno@gnu.org>
+
+       javascript: Simplify Unicode character escape handling
+       ECMA-262 only supports "\uXXXX" style Unicode character escape and
+       we don't need extra space for character names.
+       * x-javascript.c: Don't include "uniname.h".
+       (phase2_pushback): Decrease to 5.  Don't refer to UNINAME_MAX.
+
+2014-11-18  Daiki Ueno  <ueno@gnu.org>
+
+       * read-mo.c: Include "xsize.h".
+       (get_string): Use xsum3 to avoid overflow, when checking length
+       and offset fields.
+       Reported by Jakub Wilk at:
+       <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769901>.
+
+2014-10-28  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Allow plural extraction from a single argument function
+       The commit 8137d2b4 was a wrong fix since both singular/plural msgids
+       may point to the same address for Qt4 plural forms.  This reverts
+       the commit and fix the original double-free problem in the right
+       way.  Thanks to Jesper Fehrlund for suggestions.
+       * xgettext.c (arglist_parser_remember_literal): Don't ignore
+       plural argument even if ARGNUM1 equals to ARGNUM2.
+       (arglist_parser_done): Make a copy of best_cp->msgid_plural when
+       passing it to remember_a_message_plural, if it equals to
+       best_cp->msgid.  Also move code conversion logic earlier taking
+       into account of the ownership transfer of best_cp->msgid.
+
+2014-10-28  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Fix double-free in singular/plural argument extraction
+       After commit 6aa7b7ed in 2009, xgettext assumed that ARGNUM1 and
+       ARGNUM2 of -k are different.  That could cause an double-free in
+       exceptional cases.
+       Reported by Johan Liljegren in:
+       <https://lists.gnu.org/archive/html/bug-gettext/2014-10/msg00028.html>.
+       * xgettext.c (arglist_parser_remember_literal): Don't assume that
+       ARGNUM1 and ARGNUM2 are different.
+
+2014-10-15  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19.3 released.
+
+2014-10-08  Daiki Ueno  <ueno@gnu.org>
+
+       * write-po.c (wrap): Report error on incomplete multibyte sequence
+       at the end of input bytes.
+       Reported by Jakub Wilk at:
+       <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763820>.
+
+2014-09-30  Daiki Ueno  <ueno@gnu.org>
+
+       * x-c.c (literalstring_parse): Fix octal character escape handling.
+       Reported by Kjartan Maraas at:
+       <https://bugzilla.redhat.com/show_bug.cgi?id=1147535>.
+
+2014-09-24  Daiki Ueno  <ueno@gnu.org>
+
+       * x-python.c (x_python_lex): Move 'token3' variable declaration
+       out of the internal block.
+
+2014-09-24  Daiki Ueno  <ueno@gnu.org>
+
+       * filter-quote.c (BOLD_START, BOLD_END): Don't use non-portable
+       character escape "\e".
+
+2014-08-28  Jonas 'Sortie' Termansen <sortie@maxsi.org>  (tiny change)
+
+       * msginit.c: Include <stdint.h>.
+       (get_user_pwd): Cast uid_t value into uintmax_t and print it with
+       '%ju' format directive.
+
+2014-08-27  Jonas 'Sortie' Termansen <sortie@maxsi.org>  (tiny change)
+
+       * msgfilter.c (process_message): Use proper format directive for
+       printing size_t.
+       * msgexec.c (process_message): Likewise.
+
+2014-08-27  Jonas 'Sortie' Termansen <sortie@maxsi.org>  (tiny change)
+
+       * hostname.c: Add guard around #include <sys/param.h>.
+
+2014-07-14  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19.2 released.
+
+2014-07-14  Daiki Ueno  <ueno@gnu.org>
+
+       vala: Fix empty string literal handling
+       Similar to the commit 7b2d8d61 on July 11.
+       * x-vala.c (phase3_get): Add missing memory allocation for empty
+       string literal.
+
+2014-07-14  Daiki Ueno  <ueno@gnu.org>
+
+       build: Fix race in post-install removal of *.a
+       There was an implicit dependency between the prerequisites of
+       install-exec-local, which may have caused error with make -jN.
+       Use install-exec-hook to remove the dependency.
+       Reported by Christian Weisgerber in:
+       <https://lists.gnu.org/archive/html/bug-gettext/2014-07/msg00008.html>.
+       * Makefile.am (install-exec-local): Remove.
+       (install-exec-hook): New rule, depend on install-exec-clean.
+
+2014-07-11  Daiki Ueno  <ueno@gnu.org>
+
+       c: Fix empty string literal handling
+       Problem reported by Bernhard Voelker in:
+       <http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00059.html>.
+       * x-c.c (phase5_get): Add missing memory allocation for empty
+       string literal.
+
+2014-06-10  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19.1 released.
+
+2014-06-09  Daiki Ueno  <ueno@gnu.org>
+
+       msgmerge: Disable --color option in --update mode
+       Suggested by 林V字龍 at:
+       <https://lists.gnu.org/archive/html/bug-gettext/2014-06/msg00017.html>.
+       * msgmerge.c (main): Error out when --color and --update are
+       specified at the same time.
+
+2014-06-07  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Fix misrecognition of character literals in C and Vala
+       Problem reported by Paul Eggert at
+       <http://lists.gnu.org/archive/html/bug-gettext/2014-06/msg00015.html>.
+       * x-c.c (phase5_get): Make sure to skip contents of character constant.
+       * x-vala.c (phase3_get): Likewise.
+
+2014-06-03  Daiki Ueno  <ueno@gnu.org>
+
+       desktop: Use logical filename as msgid location
+       * read-desktop.c (desktop_parse): Pass logical filename instead of
+       real filename to desktop_reader_handle_pair.
+
+2014-06-03  Daiki Ueno  <ueno@gnu.org>
+
+       desktop: Read LINGUAS file even if LINGUAS envvar is set
+       * msgfmt.c (get_languages): If the LINGUAS envvar is set, use it
+       to restrict the languages list read from the LINGUAS file, not to
+       extend the list.
+       (add_languages): Take an optional DESIRED_LANGUAGES argument.
+
+2014-06-03  Daiki Ueno  <ueno@gnu.org>
+
+       vala: Don't elide comments while parsing string literal
+       * x-vala.c (phase3_get): Use phase1_getc to read characters inside
+       a string literal.
+
+2014-06-02  Daiki Ueno  <ueno@gnu.org>
+
+       msgl-check: Treat missing header errors as warnings
+       Problem reported by Richard Hughes at
+       <https://lists.fedoraproject.org/pipermail/devel/2014-June/199539.html>.
+       After <https://savannah.gnu.org/bugs/?40262>, "msgfmt -c" reports
+       error on missing PO headers.  However, it turned out to be too strict
+       for the projects using Launchpad Translations.  Let's relax the check
+       for the moment and wait for one or two release cycles.
+       * msgl-check.c (check_header_entry): Report missing
+       required headers as warning, instead of error.
+
+2014-06-02  Daiki Ueno  <ueno@gnu.org>
+
+       * gettext 0.19 released.
+
+2014-05-31  Daiki Ueno  <ueno@gnu.org>
+
+       msgexec: Pass previous msgid to the child process
+       Suggested by Pavel Kharitonov in:
+       <http://lists.gnu.org/archive/html/bug-gettext/2014-05/msg00022.html>.
+       * msgexec.c (process_string): Set MSGEXEC_PREV_* envvar.
+
+2014-05-31  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Pass previous msgid to the child process
+       Suggested by Pavel Kharitonov in:
+       <http://lists.gnu.org/archive/html/bug-gettext/2014-05/msg00022.html>.
+       * msgfilter.c (process_message): Set MSGFILTER_PREV_* envvar.
+
+2014-05-19  Daiki Ueno  <ueno@gnu.org>
+
+       * Makefile.am (po-gram-gen2.h): Adjust the directory to which
+       po-gram-gen.h, for VPATH build.
+
+2014-05-15  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
+
+       msgfilter: Implement plural support
+       * msgfilter.c (process_message): Set or unset
+       MSGFILTER_MSGID_PLURAL and MSGFILTER_PLURAL_FORM.
+
+2014-05-15  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
+
+       msgexec: Implement plural support
+       * msgexec.c (process_string): Set or unset MSGEXEC_MSGID_PLURAL.
+       (process_message): Set or unset MSGEXEC_PLURAL_FORM.
+
+2014-05-14  Daiki Ueno  <ueno@gnu.org>
+
+       msgfmt: Report error on accelerator mismatch
+       * msgl-check.c (check_pair): Increment error count on missing
+       accelerator character or too many accelerators.
+
+2014-05-13  Daiki Ueno  <ueno@gnu.org>
+
+       msgfmt: Accumulate errors when parsing the PO header
+       Problem reported by Peter Eisentraut at
+       <https://savannah.gnu.org/bugs/?40262>.
+       * msgl-check.c (check_header_entry): Return the number of errors.
+       (check_message): Check the return value of check_header_entry.
+
+2014-05-13  Felipe Sateler <fsateler@debian.org>  (tiny change)
+
+       project-id: Add missing quotes around `pwd` for basename
+       Problem reported at <http://bugs.debian.org/654779>.
+       * project-id: Quote argument of the basename command.
+
+2014-05-12  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Fix quote handling of doubled grave charaters
+       * filter-quote.c (convert_ascii_quote_to_unicode): Fix handling of
+       doubled grave characters.
+
+2014-05-12  Daiki Ueno  <ueno@gnu.org>
+
+       * msgfmt.c (add_languages): New function split from get_languages.
+       (get_languages): Use add_languages instead of manually parsing
+       LINGUAS envvar with strtok_r.
+
+       * x-c.h (literalstring_c): Remove unnecessary DLL_VARIABLE.
+       * xgettext.c (arglist_parser_alloc): Use LET_NONE instead of 0.
+       (arglist_parser_remember): Likewise.
+       * xgettext.h (enum literalstring_escape_type): New enum value
+       LET_NONE.
+
+2014-05-10  Guido Flohr  <guido@imperia.net>
+
+       msgattrib: Add --empty option to clear msgstr
+       * msgattrib.c (REMOVE_TRANSLATION): New enum value.
+       (long_options): Add --empty.
+       (main): Set REMOVE_TRANSLATION flag when --empty is given.
+       (usage): Show help of --empty.
+       (process_message_list): Handle REMOVE_TRANSLATION flag.
+
+2014-05-09  Daiki Ueno  <ueno@gnu.org>
+
+       vala: Interpret string literals lazily
+       * x-vala.c (P7_EOF, P7_STRING_END, P7_QUOTES, P7_QUOTE, P7_NEWLINE)
+       (UNICODE, IS_UNICODE, UNICODE_VALUE): Remove.
+       (phase7_getc): Remove.
+       (phase7_ungetc): Remove.
+       (phase3_get): Use 'phase2_get' directly to extract string
+       literals; use 'arglist_parser_remember_literal' instead of
+       'arglist_parser_remember'.
+       (literalstring_c): Declare external variable.
+       (extract_balanced): Remove the
+       'xgettext_current_source_encoding' setting to prevent encoding
+       conversion around 'arglist_parser_done'.
+       (token_ty): New field 'escape'.
+       * x-vala.h (SCANNERS_VALA): Register 'literalstring_c' as a
+       literalstring_parser.
+
+2014-05-09  Daiki Ueno  <ueno@gnu.org>
+
+       c: Interpret string literals lazily
+       * x-c.c (P7_EOF, P7_STRING_END, P7_QUOTES, P7_QUOTE, P7_NEWLINE)
+       (UNICODE, IS_UNICODE, UNICODE_VALUE): Remove.
+       (phase7_get): Remove.
+       (phase7_ungetc): Remove.
+       (phase5_get): Use 'phase3_get' directly to extract string
+       literals; use 'arglist_parser_remember_literal' instead of
+       'arglist_parser_remember'.
+       (literalstring_parse): New function.
+       (literalstring_c): New variable.
+       (extract_parenthesized): Remove the
+       'xgettext_current_source_encoding' setting to prevent encoding
+       conversion around 'arglist_parser_done'.
+       * x-c.h (SCANNERS_C): Register 'literalstring_c' as a
+       literalstring_parser.
+       (literalstring_c): New variable declaration.
+
+2014-05-09  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Provide a way to interpret string literals lazily
+       * xgettext.c (extract_ty): New field 'literalstring_parser'.
+       (current_literalstring_parser): New variable.
+       (extract_from_file): Set 'current_literalstring_parser'.
+       (savable_comment_convert_encoding): New function.
+       (arglist_parser_remember_literal): New function.
+       (arglist_parser_remember): Call 'arglist_parser_remember_literal'.
+       (arglist_parser_done): Call literalstring_parser on msgctxt,
+       msgid, and msgid_plural before calling 'remember_a_message';
+       convert encoding of msgid_comment.
+       * x-*.h: Register 'literalstring_parser' through SCANNER_*.
+       * xgettext.h (enum literalstring_escape_type): New enum.
+       (struct literalstring_parser): New struct.
+       (struct partial_call): New fields 'msgctxt_escape',
+       'msgid_escape', and 'msgid_plural_escape'.
+       (arglist_parser_remember_literal): New function declaration.
+       (savable_comment_convert_encoding): New function declaration.
+
+2014-05-03  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Recognize prefixed comment tag
+       Reported by Jiang Xin in
+       <http://article.gmane.org/gmane.comp.version-control.git/246462>.
+       * xgettext.c (remember_a_message): Discard a string prefixed to
+       the comment tag from all remaining comment lines.
+
+2014-05-03  Daiki Ueno  <ueno@gnu.org>
+
+       c: Support C99-style Unicode character escapes
+       * x-c.c: Include assert.h and po-charset.h.
+       (P7_QUOTES, P7_QUOTE, P7_NEWLINE): Redefine as a negative integer.
+       (P7_EOF, P7_STRING_END): New definitions.
+       (UNICODE): New macro.
+       (IS_UNICODE): New macro.
+       (UNICODE_VALUE): New macro.
+       (phase7_getc): Recognize "\unnnn" and "\Unnnnnnnn".
+       (phase5_get): Use mixed_string_buffer for parse string literal.
+
+2014-05-02  Daiki Ueno  <ueno@gnu.org>
+
+       vala: Support C99-style Unicode character escapes
+       * x-vala.c: Include assert.h and po-charset.h.
+       (P7_QUOTES, P7_QUOTE, P7_NEWLINE): Redefine as a negative integer.
+       (P7_EOF, P7_STRING_END): New definitions.
+       (UNICODE): New macro.
+       (IS_UNICODE): New macro.
+       (UNICODE_VALUE): New macro.
+       (phase7_getc): Recognize "\unnnn" and "\Unnnnnnnn".
+       (phase3_get): Use mixed_string_buffer for parse string literal.
+
+2014-05-02  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Factor out commonly used mixed_string_buffer
+       * x-python.c (init_mixed_string_buffer)
+       (mixed_string_buffer_append_byte)
+       (mixed_string_buffer_append_unicode_grow)
+       (mixed_string_buffer_append_unicode)
+       (mixed_string_buffer_flush_utf16_surr)
+       (mixed_string_buffer_flush_curr_buffer)
+       (mixed_string_buffer_append, mixed_string_buffer_result)
+       (free_mixed_string_buffer): Move to...
+       * xgettext.c: ...here.
+       (mixed_string_buffer_alloc): Rename from init_mixed_string_buffer.
+       (mixed_string_buffer_append_to_curr_buffer): Rename from
+       mixed_string_buffer_append_byte.
+       (mixed_string_buffer_append_to_utf8_buffer): Rename from
+       mixed_string_buffer_append_unicode.
+       (mixed_string_buffer_grow_utf8_buffer): Rename from
+       mixed_string_buffer_append_unicode_grow.
+       (mixed_string_buffer_append_char): Split from
+       mixed_string_buffer_append.
+       (mixed_string_buffer_append_unicode): Split from
+       mixed_string_buffer_append.
+       (mixed_string_buffer_done): New function merging
+       mixed_string_buffer_result and free_mixed_string_buffer.
+       * xgettext.h (mixed_string_buffer): New struct moved from
+       x-python.c; add logical_file_name and line_number fields.
+       (mixed_string_buffer_alloc): New function declaration.
+       (mixed_string_buffer_append_char): New function declaration.
+       (mixed_string_buffer_append_unicode): New function declaration.
+       (mixed_string_buffer_done): New function declaration.
+       * x-javascript.c (init_mixed_string_buffer)
+       (mixed_string_buffer_append_byte)
+       (mixed_string_buffer_append_unicode_grow)
+       (mixed_string_buffer_append_unicode)
+       (mixed_string_buffer_flush_utf16_surr)
+       (mixed_string_buffer_flush_curr_buffer)
+       (mixed_string_buffer_append, mixed_string_buffer_result)
+       (free_mixed_string_buffer): Remove.
+
+2014-04-30  Daiki Ueno  <ueno@gnu.org>
+
+       scheme: Recognize GIMP script-fu extension _"abc"
+       * x-scheme.c (read_object): Recognize _"abc".
+
+2014-04-30  Daiki Ueno  <ueno@gnu.org>
+
+       format-python-brace: Limit acceptable format specifiers
+       Problem reported by Kovid Goyal at:
+       <https://savannah.gnu.org/bugs/?41668>.
+       * format-python-brace.c (parse_directive): Only recognize a single
+       nested format directive or the standard format specifiers as
+       format specifiers.
+
+2014-04-22  Roumen Petrov  <bugtrack@roumenpetrov.info>  (tiny change)
+
+       build: Use Automake 'subdir-objects' option
+       * Makefile.am (AUTOMAKE_OPTIONS): Add 'subdir-objects'.
+
+2014-04-21  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Fix single quote handling in the quot filter
+       * filter-quote.c (convert_ascii_quote_to_unicode): Fix single
+       quote handling to accept multiple quotations in a string.
+
+2014-04-17  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Strip multiple ".in" suffixes from the file name.
+       * xgettext.c (main): Strip multiple ".in" suffixes.
+
+2014-04-16  Daiki Ueno  <ueno@gnu.org>
+
+       * msgfmt.c (get_languages): Allow any whitespace character as a
+       list separator in LINGUAS.
+
+2014-04-15  Daiki Ueno  <ueno@gnu.org>
+
+       msgfilter: Add 'quot' and 'boldquot' built-in filters
+       * filter-quote.c: New file.
+       * filters.h (ascii_quote_to_unicode, ascii_quote_to_unicode_bold):
+       New function declaration.
+       * msgfilter.c (main): Handle 'quot' and 'boldquot' filters.
+       * Makefile.am (msgfilter_SOURCES): Add filter-quote.c.
+
+2014-04-04  Daiki Ueno  <ueno@gnu.org>
+
+       * xgettext.c (main): Warn user if invalid encoding name is
+       specified with the --from-code option.
+       Reported by jaroslav.fojtik@evolvsys.cz in
+       <https://lists.gnu.org/archive/html/bug-gettext/2014-03/msg00034.html>.
+
+2014-04-04  Daiki Ueno  <ueno@gnu.org>
+
+       msgfmt: Add support for Desktop Entry files
+       * write-desktop.h: New file.
+       * write-desktop.c: New file.
+       * msgfmt.c (desktop_mode, desktop_locale_name)
+       (desktop_template_name, desktop_base_directory, desktop_keywords)
+       (desktop_default_keywords): New variables.
+       (long_options): Add --desktop and --template options for Desktop
+       Entry mode.
+       (get_languages): New function.
+       (msgfmt_desktop_bulk): New function which implements bulk
+       operation mode for Desktop Entry mode.
+       (main): Handle Desktop Entry mode options; call
+       'msgfmt_desktop_bulk' if -d option is seen.
+       * Makefile.am (noinst_HEADERS): Add write-desktop.h.
+       (msgfmt_SOURCES): Add write-desktop.c
+
+2014-04-04  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Add support for Desktop Entry files
+       * read-desktop.h: New file.
+       * read-desktop.c: New file.
+       * x-desktop.h: New file.
+       * x-desktop.h: New file.
+       * xgettext.c (main): Regiser keywords for Desktop Entry mode.
+       (usage): Mention Desktop Entry source language.
+       (language_to_extractor): Add Desktop Entry rule.
+       (extension_to_language): Add Desktop Entry rule.
+       * Makefile.am (noinst_HEADERS): Add read-desktop.h and x-desktop.h.
+       (xgettext_SOURCES): Add x-desktop.c.
+
+2014-03-26  Aurélien Gâteau <mail@agateau.com>  (tiny change)
+
+       msgfmt: Add --source option to generate .java file instead of .class
+       * msgfmt.c (java_output_source): New variable.
+       (long_options, main, usage): Add --source option.
+       * write-java.h (msgdomain_write_java): Add OUTPUT_SOURCE argument.
+       * write-java.c (msgdomain_write_java): Generate .java file instead
+       of .class if OUTPUT_SOURCE argument is given.
+       Reported at <https://savannah.gnu.org/bugs/?41766>.
+
+2014-03-25  Daiki Ueno  <ueno@gnu.org>
+
+       Extend --add-location option to suppress line number output
+       The --add-location option of msgattrib, msgcat, msgcomm, msgconv,
+       msgen, msgfilter, msggrep, msgmerge, msguniq, and xgettext
+       commands now got new semantics.  It takes an optional argument
+       'never', 'full', or 'file', to control the format of "#: ..."
+       comments.
+       The default catalog reader changed to always remember file
+       positions so the line number part can be suppressed in output
+       phase rather than input phase.
+       Feature requested in:
+       <https://lists.gnu.org/archive/html/bug-gettext/2013-08/msg00039.html>.
+       * read-catalog.h (line_comment): Abolish.
+       (DEFAULT_CATALOG_READER_TY): Remove handle_filepos_comments field.
+       * read-catalog.c (line_comment): Abolish.
+       (default_destructor, default_copy_comment_state)
+       (default_reset_comment_state, default_comment_filepos): Always
+       remember filepos.
+       (default_parse_brief, read_catalog_stream): Adjust to the change.
+       * write-po.h (enum filepos_comment_type): New enum.
+       (message_print_style_filepos): New function declaration.
+       (handle_filepos_comment_option): New function declaration.
+       * write-po.c (message_print_style_filepos): New function
+       (handle_filepos_comment_option): New function.
+       (message_print_comment_filepos): Uniquify mp->filepos elements
+       ignoring line number if filepos_comment_type is
+       filepos_comment_file.
+       * msgfmt.c: Adjust to the change.
+       * msgattrib.c (long_options, main): Allow --add-location option to
+       take an optional format specifier.
+       * msgcat.c (long_options, main): Likewise.
+       * msgcomm.c (long_options, main): Likewise.
+       * msguniq.c (long_options, main): Likewise.
+       * xgettext.c (long_options, main): Likewise.
+       * msgconv.c (long_options, main): Likewise; add a new option -n as
+       an alias of --add-location.
+       * msgen.c (long_options, main): Likewise.
+       * msgfilter.c (long_options, main): Likewise.
+       * msggrep.c (long_options, main): Likewise.
+       * msgmerge.c (long_options, main): Likewise.
+
+2014-03-12  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Fix infloop on loading Glade files with non-DL expat
+       * libexpat-compat.c: Keep the references to
+       XML_GetCurrent{Line,Column}Number symbols before including
+       libexpat-compat.h, since they are redefined.
+
+2014-03-10  Daiki Ueno  <ueno@gnu.org>
+
+       php: Recognize single and double quotes around heredoc label
+       Problem reported by Byrial Jensen in:
+       <https://lists.gnu.org/archive/html/bug-gettext/2012-04/msg00001.html>.
+       Based on the patch by Andreas Stricker posted as:
+       <https://lists.gnu.org/archive/html/bug-gettext/2012-04/msg00002.html>.
+       * x-php.c (phase4_get): Strip quotes around heredoc label.
+
+2013-11-20  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: Add E4X support to JavaScript scanner
+       Reported by Piotr Drąg at: <https://savannah.gnu.org/bugs/?40125>.
+       * xgettext.h (enum lexical_context_ty): New enumeration items
+       lc_xml_open_tag, lc_xml_close_tag, lc_xml_content.
+       * x-javascript.c (phase5_scan_xml_markup): New function.
+       (phase5_get): Handle '<', '>', '/', '=', '{', and '}' specially
+       to support E4X.
+       (enum token_type_ty): New enumeration item token_type_equal.
+       (xml_element_depth): New variable.
+       (inside_embedded_in_xml): New variable.
+       (extract_javascript): Initialize those variables.
+
+2013-11-14  Daiki Ueno  <ueno@gnu.org>
+
+       * x-javascript.c (phase3_getc): Make sure to call comment_line_end
+       after parsing C++ style comment line.
+       Reported by Illimar Tambek at: <http://savannah.gnu.org/bugs/?40572>.
+
+2013-11-14  Daiki Ueno  <ueno@gnu.org>
+
+       * x-javascript.c (comment_line_end): Add missing chars_to_remove
+       argument; all callers changed.
+       Reported by Illimar Tambek at: <http://savannah.gnu.org/bugs/?40573>.
+
 2013-11-11  Daiki Ueno  <ueno@gnu.org>
 
        * x-c.c (phase5_get): Fix misuse of a logical operator.
        * x-vala.c (phase3_get): Likewise.
        Reported by David Binderman at: <https://savannah.gnu.org/bugs/?40528>.
 
+2013-10-23  Daiki Ueno  <ueno@gnu.org>
+
+       * read-catalog-abstract.c (catalog_reader_parse): Clear
+       error_message_count before parsing, rather than after.  The
+       variable may be > 0 before calling the PO parser, when xgettext
+       handles mutiple files.
+       Problem reported by Emil Wojak in
+       <https://lists.gnu.org/archive/html/bug-gettext/2013-10/msg00005.html>.
+
+2013-10-15  Peter Eisentraut  <peter_e@gmx.net>  (tiny change)
+
+       * msgl-check.c (check_header_entry): Adjust the default value of
+       PO-Revision-Date to xgettext output.  Reported at
+       <https://savannah.gnu.org/bugs/?40261>.
+
+2013-08-29  Daiki Ueno  <ueno@gnu.org>
+
+       * po-gram-gen.y (message): Free memory allocated for
+       msgid_pluralform.
+       (string_list): Free memory allocated for STRING.
+       (prev_string_list): Free memory allocated for PREV_STRING.
+       Reported by Alexander Potashev in
+       <https://lists.gnu.org/archive/html/bug-gettext/2013-08/msg00043.html>.
+
+2013-08-13  Miguel Angel Arruga Vivas  <rosen644835@gmail.com>
+
+       * x-glade.c (start_element_glade1): Use extract_all variable.
+       (start_element_glade2): Ignore --extract-all option.
+       (start_element_gtkbuilder): Likewise.
+       (start_element_handler): Initialize p->extract_string to false.
+
 2013-08-12  Daiki Ueno  <ueno@gnu.org>
 
        * xgettext.c (remember_a_message): Handle multi-line extracted
        Reported by Gabor Kelemen in
        <http://lists.gnu.org/archive/html/bug-gettext/2013-08/msg00026.html>.
 
+2013-08-09  Daiki Ueno  <ueno@gnu.org>
+
+       * x-gsettings.c (extract_gsettings): Add guard when expat is not
+       available at compile time.
+
 2013-08-08  Miguel Angel Arruga Vivas  <rosen644835@gmail.com> (tiny change)
 
        Fix copyright year in xgettext version string.
        * xgettext.c (main): Update copyright year.
 
+2013-08-06  Daiki Ueno  <ueno@gnu.org>
+
+       xgettext: add support for GSettings schema file
+       * x-gsettings.h: New file.
+       * x-gsettings.c: New file.
+       * xgettext.c: Include x-gsettings.h.
+       (flag_table_vala): New variable.
+       (usage): Mention GSettings source language.
+       (language_to_extractor): Add GSettings rule.
+       (extension_to_language): Add GSettings rule.
+       * Makefile.am (noinst_HEADERS): Add x-gsettings.h.
+       (xgettext_SOURCES): Add x-gsettings.c.
+       * FILES: Update.
+
+2013-08-05  Daiki Ueno  <ueno@gnu.org>
+
+       * xgettext.c (main): Allow exntension with multiple
+       dots. e.g. .gschema.xml.
+
+2013-03-02  Miguel Angel Arruga Vivas  <rosen644385@gmail.com>
+
+       Extract libexpat compatibility layer.
+       * libexpat-compat.h, libexpat-compat.c: Extracted from x-glade.c
+       * x-glade.c: Use libexpat-compat.h
+
 2013-07-11  Daiki Ueno  <ueno@gnu.org>
 
        Fix crash when parsing '..' with non-string argument.