<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gettext.git/gettext-tools/src, branch master</title>
<subtitle>git.savannah.gnu.org: git/gettext.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/'/>
<entry>
<title>hostname: Use more modern network APIs.</title>
<updated>2023-04-01T15:14:43+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-04-01T15:14:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=c5cdf41d436261b279c172753ac727335d44b9fd'/>
<id>c5cdf41d436261b279c172753ac727335d44b9fd</id>
<content type='text'>
Reported by Jens Petersen &lt;petersen@redhat.com&gt;
at &lt;https://savannah.gnu.org/bugs/?63983&gt;.

* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add getaddrinfo.
* gettext-tools/src/hostname.c (HAVE_GETADDRINFO): Define to 1.
Do the #includes for gethostname() after those for getaddrinfo().
(ipv4_is_linklocal, ipv6_is_linklocal): New functions.
(print_hostname): For long_format and ip_format, prefer getaddrinfo over
gethostbyname.
* gettext-tools/src/Makefile.am (hostname_LDADD): New variable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Jens Petersen &lt;petersen@redhat.com&gt;
at &lt;https://savannah.gnu.org/bugs/?63983&gt;.

* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add getaddrinfo.
* gettext-tools/src/hostname.c (HAVE_GETADDRINFO): Define to 1.
Do the #includes for gethostname() after those for getaddrinfo().
(ipv4_is_linklocal, ipv6_is_linklocal): New functions.
(print_hostname): For long_format and ip_format, prefer getaddrinfo over
gethostbyname.
* gettext-tools/src/Makefile.am (hostname_LDADD): New variable.
</pre>
</div>
</content>
</entry>
<entry>
<title>xgettext: In language Tcl, fix the \u, \U handling.</title>
<updated>2023-04-01T13:36:04+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-04-01T13:36:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=ee796849dedee6997a600cf8df70e4c22ed9d9f1'/>
<id>ee796849dedee6997a600cf8df70e4c22ed9d9f1</id>
<content type='text'>
* gettext-tools/src/x-tcl.c (do_getc_escaped_low_surrogate): Actually store the
read characters in buf.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/x-tcl.c (do_getc_escaped_low_surrogate): Actually store the
read characters in buf.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use string-desc module from gnulib.</title>
<updated>2023-03-30T13:18:27+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-30T13:18:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=9e5d25903af0670127c9af05b0482a6851bb436c'/>
<id>9e5d25903af0670127c9af05b0482a6851bb436c</id>
<content type='text'>
* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add string-desc. Remove memmem,
memrchr.
(GNULIB_MODULES_LIBGETTEXTPO): Likewise.
* gettext-tools/src/str-desc.h: Remove file.
* gettext-tools/src/str-desc.c: Remove file.
* gettext-tools/src/FILES: Update.
* gettext-tools/src/msgl-ascii.h: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/msgl-ascii.c: Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/msgl-iconv.h: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/msgl-iconv.c: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/xg-encoding.h: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/xg-encoding.c (string_desc_from_current_source_encoding):
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/x-perl.c: Include string-desc.h instead of str-desc.h.
(extract_quotelike_pass1, extract_quotelike_pass1_utf8, extract_quotelike,
extract_triple_quotelike, interpolate_keywords): Use string_desc_t instead of
string_desc_ty.
* gettext-tools/src/Makefile.am (noinst_HEADERS): Remove str-desc.h.
(libgettextsrc_la_SOURCES): Remove str-desc.c.
* gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES): Remove
str-desc.c.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add string-desc. Remove memmem,
memrchr.
(GNULIB_MODULES_LIBGETTEXTPO): Likewise.
* gettext-tools/src/str-desc.h: Remove file.
* gettext-tools/src/str-desc.c: Remove file.
* gettext-tools/src/FILES: Update.
* gettext-tools/src/msgl-ascii.h: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/msgl-ascii.c: Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/msgl-iconv.h: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/msgl-iconv.c: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/xg-encoding.h: Include string-desc.h instead of str-desc.h.
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/xg-encoding.c (string_desc_from_current_source_encoding):
Use string_desc_t instead of string_desc_ty.
* gettext-tools/src/x-perl.c: Include string-desc.h instead of str-desc.h.
(extract_quotelike_pass1, extract_quotelike_pass1_utf8, extract_quotelike,
extract_triple_quotelike, interpolate_keywords): Use string_desc_t instead of
string_desc_ty.
* gettext-tools/src/Makefile.am (noinst_HEADERS): Remove str-desc.h.
(libgettextsrc_la_SOURCES): Remove str-desc.c.
* gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES): Remove
str-desc.c.
</pre>
</div>
</content>
</entry>
<entry>
<title>xgettext: In language Perl, avoid a crash.</title>
<updated>2023-03-15T22:26:11+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-15T21:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=eea9d109d1eb81d5ea2e5e63848d9b123073a238'/>
<id>eea9d109d1eb81d5ea2e5e63848d9b123073a238</id>
<content type='text'>
* gettext-tools/src/xg-arglist-parser.c (arglist_parser_clone): Clone the
msgid_pos correctly.
* gettext-tools/tests/xgettext-perl-10: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/xg-arglist-parser.c (arglist_parser_clone): Clone the
msgid_pos correctly.
* gettext-tools/tests/xgettext-perl-10: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</pre>
</div>
</content>
</entry>
<entry>
<title>xgettext: In language Perl, avoid a crash when NUL is used as delimiter.</title>
<updated>2023-03-15T22:25:33+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-15T20:57:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=b49d82c60787d5d8549b352bbb73757f7f27ff0a'/>
<id>b49d82c60787d5d8549b352bbb73757f7f27ff0a</id>
<content type='text'>
* gettext-tools/src/str-desc.h: New file.
* gettext-tools/src/str-desc.c: New file.
* gettext-tools/src/FILES: Describe them.
* gettext-tools/src/Makefile.am (noinst_HEADERS): Add str-desc.h.
(libgettextsrc_la_SOURCES): Add str-desc.c.
* gettext-tools/src/msgl-ascii.h: Include str-desc.h.
(is_ascii_string_desc): New declaration.
* gettext-tools/src/msgl-ascii.c (is_ascii_string_desc): New function.
* gettext-tools/src/msgl-iconv.h: Include str-desc.h.
(convert_string_desc_directly): New declaration.
* gettext-tools/src/msgl-iconv.c: Include str-desc.h.
(convert_string_desc_directly): New function.
* gettext-tools/src/xg-encoding.h: Include str-desc.h.
(string_desc_from_current_source_encoding): New declaration.
* gettext-tools/src/xg-encoding.c (string_desc_from_current_source_encoding):
New function.
* gettext-tools/src/x-perl.c: Include str-desc.h, c-ctype.h.
(extract_quotelike_pass1): Return a string_desc_ty instead of a 'char *'.
(extract_quotelike_pass1_utf8): Likewise.
(extract_quotelike, extract_triple_quotelike): Update.
(interpolate_keywords): Take a string_desc_ty instead of a 'const char *' as
argument.
(x_perl_prelex): Update.
* gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES): Add
str-desc.c.
* gettext-tools/tests/xgettext-perl-9: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/str-desc.h: New file.
* gettext-tools/src/str-desc.c: New file.
* gettext-tools/src/FILES: Describe them.
* gettext-tools/src/Makefile.am (noinst_HEADERS): Add str-desc.h.
(libgettextsrc_la_SOURCES): Add str-desc.c.
* gettext-tools/src/msgl-ascii.h: Include str-desc.h.
(is_ascii_string_desc): New declaration.
* gettext-tools/src/msgl-ascii.c (is_ascii_string_desc): New function.
* gettext-tools/src/msgl-iconv.h: Include str-desc.h.
(convert_string_desc_directly): New declaration.
* gettext-tools/src/msgl-iconv.c: Include str-desc.h.
(convert_string_desc_directly): New function.
* gettext-tools/src/xg-encoding.h: Include str-desc.h.
(string_desc_from_current_source_encoding): New declaration.
* gettext-tools/src/xg-encoding.c (string_desc_from_current_source_encoding):
New function.
* gettext-tools/src/x-perl.c: Include str-desc.h, c-ctype.h.
(extract_quotelike_pass1): Return a string_desc_ty instead of a 'char *'.
(extract_quotelike_pass1_utf8): Likewise.
(extract_quotelike, extract_triple_quotelike): Update.
(interpolate_keywords): Take a string_desc_ty instead of a 'const char *' as
argument.
(x_perl_prelex): Update.
* gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES): Add
str-desc.c.
* gettext-tools/tests/xgettext-perl-9: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</pre>
</div>
</content>
</entry>
<entry>
<title>xgettext: In language Tcl, support \x, \u, \U escapes as specified in Tcl 8.6.</title>
<updated>2023-03-14T12:10:10+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-14T11:59:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=0458d3efda00e9fd940675a8f64deda1ee5e688a'/>
<id>0458d3efda00e9fd940675a8f64deda1ee5e688a</id>
<content type='text'>
* gettext-tools/src/x-tcl.c: Update comments.
(phase1_pushback): Increase size to 5.
(do_getc_escaped): For \x, parse only up to 2 hexadecimal characters.
Handle '\U'.
(do_getc_escaped_low_surrogate): New function.
(accumulate_word): After reading a high surrogate, see if it is followed by a
low surrogate.
* gettext-tools/tests/xgettext-tcl-4: Change expected outcome for \x. Add test
cases for \u with surrogates and for \U.
* gettext-tools/tests/xgettext-tcl-5: Add more test cases.
* NEWS: Mention the change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/x-tcl.c: Update comments.
(phase1_pushback): Increase size to 5.
(do_getc_escaped): For \x, parse only up to 2 hexadecimal characters.
Handle '\U'.
(do_getc_escaped_low_surrogate): New function.
(accumulate_word): After reading a high surrogate, see if it is followed by a
low surrogate.
* gettext-tools/tests/xgettext-tcl-4: Change expected outcome for \x. Add test
cases for \u with surrogates and for \U.
* gettext-tools/tests/xgettext-tcl-5: Add more test cases.
* NEWS: Mention the change.
</pre>
</div>
</content>
</entry>
<entry>
<title>xgettext: In language Tcl, avoid a crash at surrogate character escapes.</title>
<updated>2023-03-14T11:18:53+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-14T08:37:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=fa2fbdbcbf359dfb024467d698f2d8732527f97c'/>
<id>fa2fbdbcbf359dfb024467d698f2d8732527f97c</id>
<content type='text'>
* gettext-tools/src/x-tcl.c (accumulate_word): Warn when seeing a surrogate
character, instead of aborting.
* gettext-tools/tests/xgettext-tcl-5: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/x-tcl.c (accumulate_word): Warn when seeing a surrogate
character, instead of aborting.
* gettext-tools/tests/xgettext-tcl-5: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</pre>
</div>
</content>
</entry>
<entry>
<title>xgettext: In language Shell, avoid a crash.</title>
<updated>2023-03-14T02:19:59+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-14T02:19:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=f1b2a62f9b48019d60ddd1693a9bc6e5529772fa'/>
<id>f1b2a62f9b48019d60ddd1693a9bc6e5529772fa</id>
<content type='text'>
* gettext-tools/src/x-sh.c (phase1_pushback): Increase size by 1.
* gettext-tools/tests/xgettext-sh-8: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/x-sh.c (phase1_pushback): Increase size by 1.
* gettext-tools/tests/xgettext-sh-8: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</pre>
</div>
</content>
</entry>
<entry>
<title>lisp-format, scheme-format: Fix a loop transformation.</title>
<updated>2023-03-14T01:57:28+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-14T01:41:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=bb57c7637a04ce5f980c71cb42b1b5ef089a3a0f'/>
<id>bb57c7637a04ce5f980c71cb42b1b5ef089a3a0f</id>
<content type='text'>
* gettext-tools/src/format-lisp.c (rotate_loop): Assign the new
list-&gt;repeated.count.
* gettext-tools/src/format-scheme.c (rotate_loop): Likewise.
* gettext-tools/tests/xgettext-lisp-6: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/format-lisp.c (rotate_loop): Assign the new
list-&gt;repeated.count.
* gettext-tools/src/format-scheme.c (rotate_loop): Likewise.
* gettext-tools/tests/xgettext-lisp-6: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</pre>
</div>
</content>
</entry>
<entry>
<title>lisp-format: Fix a crash in format string that contains "~@?" before "~V".</title>
<updated>2023-03-14T01:57:28+00:00</updated>
<author>
<name>Bruno Haible</name>
<email>bruno@clisp.org</email>
</author>
<published>2023-03-14T00:38:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gettext.git/commit/?id=85d4cb991e6a8c111d0739c343bba22143c094d6'/>
<id>85d4cb991e6a8c111d0739c343bba22143c094d6</id>
<content type='text'>
* gettext-tools/src/format-lisp.c (nocheck_params): Don't call
add_req_type_constraint if position &lt; 0.
* gettext-tools/tests/xgettext-lisp-5: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gettext-tools/src/format-lisp.c (nocheck_params): Don't call
add_req_type_constraint if position &lt; 0.
* gettext-tools/tests/xgettext-lisp-5: New file.
* gettext-tools/tests/Makefile.am (TESTS): Add it.
</pre>
</div>
</content>
</entry>
</feed>
