]> git.ipfire.org Git - thirdparty/gettext.git/commit
xgettext: Fix result for concatenation of strings with escape sequences.
authorBruno Haible <bruno@clisp.org>
Sun, 4 Nov 2018 19:09:47 +0000 (20:09 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 4 Nov 2018 23:25:33 +0000 (00:25 +0100)
commita8773dd6049b2b7b37e7ccade07e12ba8bc8aa73
treeba373f29497dcc4bb915e6d4b480bbc07c1bd7ae
parent01673264abae3bbbc9b1bac4a3ff255c811138d1
xgettext: Fix result for concatenation of strings with escape sequences.

Reported by Morten Welinder <mwelinder@gmail.com>
in <https://lists.gnu.org/archive/html/bug-gettext/2015-12/msg00017.html>
and <https://savannah.gnu.org/bugs/?46756>.

Revert commits from
2014-05-07 xgettext: Provide a way to interpret string literals lazily
2014-05-07 c: Interpret string literals lazily
2014-05-09 vala: Interpret string literals lazily
2014-12-02 c: Support C++11 string literals
and subsequent fixes of these.

* gettext-tools/src/xgettext.h (savable_comment_convert_encoding): Remove
declaration.
(enum literalstring_escape_type, struct literalstring_parser): Remove types.
(struct partial_call): Update.
(arglist_parser_remember_literal): Remove declaration.
* gettext-tools/src/xgettext.c (struct extractor_ty): Remove
'literalstring_parser' field.
(savable_comment_convert_encoding): Remove function.
(current_literalstring_parser): Remove variable.
(extract_from_file, arglist_parser_alloc, arglist_parser_clone): Update.
(arglist_parser_remember_literal): Remove function.
(arglist_parser_remember_msgctxt): Simplify accordingly.
* gettext-tools/src/x-*.h (SCANNERS_*): Remove literalstring_parser initializer.
* gettext-tools/src/x-c.h (literalstring_c): Remove declaration.
* gettext-tools/src/x-c.c: Remove all traces of literalstring_escape_type and
literalstring_parser.
(phase7_getc, phase7_ungetc): Reinstantiate functions.
(phase5_get): Simplify. Use phase7_getc.
* gettext-tools/src/x-vala.c: Remove all traces of literalstring_escape_type and
literalstring_parser.
(phase7_getc, phase7_ungetc): Reinstantiate functions.
(phase3_get): Simplify. Use phase7_getc.
(extract_balanced): Simplify.
30 files changed:
gettext-tools/src/x-appdata.h
gettext-tools/src/x-awk.h
gettext-tools/src/x-c.c
gettext-tools/src/x-c.h
gettext-tools/src/x-csharp.h
gettext-tools/src/x-desktop.h
gettext-tools/src/x-elisp.h
gettext-tools/src/x-glade.h
gettext-tools/src/x-gsettings.h
gettext-tools/src/x-java.h
gettext-tools/src/x-javascript.h
gettext-tools/src/x-librep.h
gettext-tools/src/x-lisp.h
gettext-tools/src/x-lua.h
gettext-tools/src/x-perl.h
gettext-tools/src/x-php.h
gettext-tools/src/x-po.h
gettext-tools/src/x-properties.h
gettext-tools/src/x-python.h
gettext-tools/src/x-rst.h
gettext-tools/src/x-scheme.h
gettext-tools/src/x-sh.h
gettext-tools/src/x-smalltalk.h
gettext-tools/src/x-stringtable.h
gettext-tools/src/x-tcl.h
gettext-tools/src/x-vala.c
gettext-tools/src/x-vala.h
gettext-tools/src/x-ycp.h
gettext-tools/src/xgettext.c
gettext-tools/src/xgettext.h