Branch


Log

Author Commit Date CI Message
Thomas de Grivel 80f29e3a 2025-11-02T00:00:15 gnu make idiom
Thomas de Grivel d4f3d739 2025-11-01T23:55:40 aclocal and automake
Thomas de Grivel 2d7186ad 2025-11-01T23:51:08 gnulib
Thomas de Grivel 136f0195 2025-11-01T23:46:30 make autogen really bootstrap
Bruno Haible b66b2f54 2025-09-13T00:57:59 Update gitsub.sh. * gitsub.sh: Update from gnulib.
Bruno Haible 61fbe742 2025-09-06T16:56:25 Update gitsub.sh. * gitsub.sh: Update from gnulib.
Bruno Haible 918904ed 2025-07-07T11:42:45 Add support for --enable-relocatable in mingw builds on Cygwin hosts. Reported by Michele Locati <michele@locati.it> in <https://github.com/mlocati/gettext-iconv-windows/pull/47#issuecomment-3041406917>. * configure.ac: Invoke gl_BUILD_TO_HOST_BINDIR. * src/Makefile.in (bindir_c_make, localedir_c_make): New variables. (iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Fix value of INSTALLDIR and LOCALEDIR.
Bruno Haible b6de390c 2025-06-10T21:05:13 More install-tests, part 2.
Bruno Haible b012e147 2025-06-10T04:41:45 More install-tests. * install-tests/test-api.c: New file. * install-tests/Makefile.in (installcheck): Compile and run test-api. (SOURCE_FILES): Add test-api.c.
Bruno Haible e443659f 2025-06-10T00:55:52 build: Implement 'installcheck' target. * install-tests/test-version.c: New file. * install-tests/Makefile.in: New file. * configure.ac (PATH_SEPARATOR, AUGMENT_SHLIBPATH): New variables. (AC_CONFIG_FILES): Add install-tests/Makefile. * Makefile.in (bindir): New variable. (all, mostlyclean, clean, distclean, maintainer-clean, distdir): Recurse into install-tests. (installcheck): New target.
Bruno Haible 8ec33591 2025-06-07T04:14:52 Sync woe32dll/export.h with GNU libunistring and GNU gettext. * woe32dll/export.h: Update comments.
Bruno Haible 6a93e918 2025-05-31T14:47:08 Switch to automake 1.18. * autogen.sh: Update comment. * Makefile.devel (AUTOMAKE, ACLOCAL): Use binary from automake 1.18. * libcharset/autogen.sh: Update comment. * libcharset/Makefile.devel (ACLOCAL): Use binary from automake 1.18.
Bruno Haible cf10b545 2025-05-31T00:29:46 Document the 'const char **' vs. 'char **' problem. Reported by Braden Ganetsky <braden.ganetsky@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2025-05/msg00003.html>. * man/iconv.3 (SYNOPSIS, CONFORMING TO): List also the POSIX-compatible declaration. Explain the background. Mention AM_ICONV.
Collin Funk d53c2baf 2025-04-17T22:06:24 Switch to automake 1.17, part 3. * autogen.sh (ACLOCAL): Use Automake 1.17. Copyright-paperwork-exempt: Yes
Bruno Haible f3f8dbdb 2025-04-16T16:24:16 Update after gnulib changed. * gitsub.sh: Update from gnulib.
Bruno Haible d68ea07b 2025-02-14T11:47:48 Fix a buffer overrun in the GB18030 converter (regression 2023-05-29). Reported by Nick Wellnhofer <wellnhofer@aevum.de>. * lib/gb18030_2005.h (gb18030_2005_wctomb): Return RET_TOOSMALL if there is not enough room for 4 bytes.
Bruno Haible bc17565f 2024-12-28T08:26:48 Update after gnulib changed. * Makefile.devel (GNULIB_MODULES): Use the new names of renamed gnulib modules.
Bruno Haible ed5a57cf 2024-12-14T12:16:27 Update translations. * po/libiconv.pot: Update. * po/*.po: Update from TP. * po/LINGUAS: Add be, ka.
Bruno Haible 8d618a87 2024-12-15T12:56:32 Prepare for version 1.18. * configure.ac: Bump version number to 1.18. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 9:0:7. * src/iconv.c (print_version): Update copyright year. * windows/iconv.rc: Likewise. * windows/libiconv.rc: Likewise. * README: Update download link.
Bruno Haible 55e382b6 2024-12-15T13:13:09 Update after gnulib changed.
Bruno Haible deb432a1 2024-12-15T13:11:29 Use the newest gettext release. * po/Makefile.in.in: Upgrade to gettext-0.23, keeping the change 2019-01-27 Bruno Haible <bruno@clisp.org> Accommodate a shell that is not in /bin/sh. * po/Makefile.in.in (SHELL): Use the value found by configure. * po/*: Upgrade to gettext-0.23 as well.
Bruno Haible 9f28054d 2024-12-15T12:52:18 Implement the //NON_IDENTICAL_DISCARD suffix from POSIX:2024. * include/iconv.h.in (ICONV_GET_DISCARD_INVALID, ICONV_SET_DISCARD_INVALID, ICONV_GET_DISCARD_NON_IDENTICAL, ICONV_SET_DISCARD_NON_IDENTICAL): New macros. * lib/converters.h (struct conv_struct): Change type of discard_ilseq to 'unsigned int'. (DISCARD_INVALID, DISCARD_UNCONVERTIBLE): New macros. * lib/iconv.c (iconv_open, iconv_open_into): Change type of discard_ilseq to 'unsigned int'. (iconvctl): Implement ICONV_GET_DISCARD_INVALID, ICONV_SET_DISCARD_INVALID, ICONV_GET_DISCARD_NON_IDENTICAL, ICONV_SET_DISCARD_NON_IDENTICAL. Change the implementation of ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ to test/set both bits. * lib/iconv_open1.h: Update comment. Recognize //NON_IDENTICAL_DISCARD. * lib/iconv_open2.h: Update comment. * lib/loop_unicode.h (mb_to_uc_write_replacement): Test the DISCARD_UNCONVERTIBLE bit of discard_ilseq. (unicode_loop_convert): Test the respective bit of discard_ilseq. (unicode_loop_reset): Test the DISCARD_UNCONVERTIBLE bit of discard_ilseq. * lib/loop_wchar.h (wchar_from_loop_convert, wchar_to_loop_convert): Test the DISCARD_INVALID bit of discard_ilseq. * man/iconv_open.3: Mention the //NON_IDENTICAL_DISCARD suffix. Mark as conforming to POSIX:2024. * man/iconv.3: Likewise. * man/iconv_close.3: Mark as conforming to POSIX:2024. * man/iconv.1: Likewise. * man/iconvctl.3: Document ICONV_GET_DISCARD_INVALID, ICONV_SET_DISCARD_INVALID, ICONV_GET_DISCARD_NON_IDENTICAL, ICONV_SET_DISCARD_NON_IDENTICAL. Revise the description of ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ. * tests/test-discard.c (test_default, test_translit, test_ignore, test_ignore_translit): Test also the ICONV_GET_DISCARD_INVALID, ICONV_GET_DISCARD_NON_IDENTICAL accessors. (test_nid, test_nid_translit, test_invd, test_invd_translit): New functions. (main): Add test cases with //NON_IDENTICAL_DISCARD suffix. * NEWS: Mention the change.
Bruno Haible ef2f457f 2024-12-15T10:37:13 Support multiple suffixes in iconv_open, like glibc does. * lib/iconv_open1.h: Use a loop when looking for the common suffixes. * tests/test-discard.c: New file. * tests/Makefile.in (check): Run test-discard. (test-discard, test-discard.@OBJEXT@): New targets. (clean): Remove test-discard. (SOURCE_FILES): Add test-discard.c. * NEWS: Mention the change.
Bruno Haible 14d04cda 2024-12-14T17:07:37 Switch to automake 1.17, part 2. * Makefile.devel (AUTOMAKE, ACLOCAL): Use binary from automake 1.17. * libcharset/autogen.sh: Update comment.
Bruno Haible e310efbf 2024-12-14T17:00:22 Remove left-overs of preloadable library (removed in 1.16). * include/iconv.h.in: Remove LIBICONV_PLUG conditionals. * lib/iconv.c: Likewise. * lib/converters.h: Likewise. * lib/loop_unicode.h: Likewise. * lib/loop_wchar.h: Likewise. * lib/iconv_open2.h: Likewise.
Bruno Haible 3782f302 2024-12-14T13:03:31 Add transliteration of Emojis. Suggested by Colin Leroy-Mira <colin@colino.net> in <https://savannah.gnu.org/bugs/index.php?64046>. * lib/translit.def: Add transliterations from glibc's fix of <https://sourceware.org/bugzilla/show_bug.cgi?id=30649>. * NEWS: Mention it.
Bruno Haible 2c82f5d5 2024-12-14T12:10:36 Improve man page. * man/iconv.3: Move 4th case to be the 2nd case. Add a NOTES section, based on the Linux man-pages project's iconv.3 page.
Bruno Haible 72242b09 2024-12-14T13:04:39 Update .gitignore after last commit.
Bruno Haible a4c1470b 2024-12-13T23:55:13 Distinguish byte-order state and shift-state. Reported by Tomas Kalibera <tomas.kalibera@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2024-12/msg00000.html>. * lib/converters.h (struct conv_struct): Add field 'ibyteorder'. * lib/iconv_open2.h: Initialize the ibyteorder field. * lib/ucs2.h (ucs2_mbtowc): Use the ibyteorder field instead of the istate field. * lib/ucs4.h (ucs4_mbtowc): Likewise. * lib/utf16.h (utf16_mbtowc): Likewise. * lib/utf32.h (utf32_mbtowc): Likewise. * tests/test-bom-state.c: New file. * tests/Makefile.in (check): Run test-bom-state. (test-bom-state, test-bom-state.@OBJEXT@): New targets. (clean): Remove test-bom-state. (SOURCE_FILES): Add test-bom-state.c. * NEWS: Mention the change.
Bruno Haible ef22b8c1 2024-11-22T18:46:21 Update after gnulib changed.
Bruno Haible 2f2b617f 2024-11-22T18:43:15 Switch to libtool 2.5.4. * m4/libtool.m4: Update from libtool-2.5.4, with modifications: 2008-04-06 Bruno Haible <bruno@clisp.org> * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use CONFIG_SHELL; don't assume that the Makefile.in will set SHELL to ${CONFIG_SHELL}. * m4/ltversion.m4: Likewise. * libcharset/m4/*.m4: Likewise. * build-aux/ltmain.sh: Update from libtool-2.5.4, with modifications: 2017-07-15 Bruno Haible <bruno@clisp.org> Allow building statically linked binaries, through LDFLAGS="-static". Apply patch from <https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>. * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the link mode, accept option '-static-uninstalled-libs' in place of '-static', and make '-static' an equivalent of '-all-static'. * libcharset/build-aux/ltmain.sh: Likewise.
Bruno Haible e5ef1792 2024-11-07T09:28:31 Update the LGPL text. * COPYING.LIB: Update from <https://ftp.gnu.org/gnu/Licenses/lgpl-2.1.txt>. * libcharset/COPYING.LIB: Likewise.
Bruno Haible f017cafc 2024-10-22T12:28:36 Spelling fixes. From Mike Taves <mwtoews@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2024-10/msg00002.html>. * NOTES: Fix grammar. * lib/iconv_open1.h: Fix a typo in comments. * lib/iso2022_jp2.h: Likewise. * lib/iso2022_jpms.h: Fix English spelling in comments.
Bruno Haible eed6782c 2024-10-05T02:24:01 Fix undefined behaviour caused by shifting (unsigned char) << 24. Reported by Tim Sweet <tsweet64@protonmail.com> at <https://savannah.gnu.org/bugs/?66289>. * lib/ucs4.h (ucs4_mbtowc): Cast 'unsigned char' values to ucs4_t before shifting them to the left. * lib/ucs4be.h (ucs4be_mbtowc): Likewise. * lib/ucs4le.h (ucs4le_mbtowc): Likewise. * lib/utf32.h (utf32_mbtowc): Likewise. * lib/utf32be.h (utf32be_mbtowc): Likewise. * lib/utf32le.h (utf32le_mbtowc): Likewise.
Bruno Haible 78eea6d4 2024-09-26T14:52:33 Switch to libtool 2.5.3. * m4/libtool.m4: Update from libtool-2.5.3, with modifications: 2008-04-06 Bruno Haible <bruno@clisp.org> * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use CONFIG_SHELL; don't assume that the Makefile.in will set SHELL to ${CONFIG_SHELL}. * m4/ltoptions.m4: Likewise. * m4/ltsugar.m4: Likewise. * m4/ltversion.m4: Likewise. * m4/lt~obsolete.m4: Likewise. * libcharset/m4/*.m4: Likewise. * build-aux/ltmain.sh: Update from libtool-2.5.3, with modifications: 2017-07-15 Bruno Haible <bruno@clisp.org> Allow building statically linked binaries, through LDFLAGS="-static". Apply patch from <https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>. * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the link mode, accept option '-static-uninstalled-libs' in place of '-static', and make '-static' an equivalent of '-all-static'. * libcharset/build-aux/ltmain.sh: Likewise.
Bruno Haible 7c585ee9 2024-09-26T14:57:05 Update after gnulib changed. * autogen.sh: Copy also build-to-host.m4 and host-cpu-c-abi.m4.
Bruno Haible 0d94621c 2024-08-24T15:46:59 Fix shared library support in 32-bit mode on FreeBSD/powerpc64. Patch from <https://savannah.gnu.org/patch/index.php?10469>. * m4/libtool.m4: On FreeBSD, fix shlibpath_var. * libcharset/m4/libtool.m4: Likewise.
Collin Funk 09865086 2024-08-13T20:51:25 Prefer #include <...> for system headers. See <https://www.gnu.org/software/gnulib/manual/html_node/Style-of-_0023include-statements.html>. * gnulib-local/lib/xmalloc.c: Include <error.h>. * src/iconv.c: Likewise.
Bruno Haible 576d31d5 2024-07-12T14:07:33 Switch to automake 1.17. * autogen.sh: Update comment.
Bruno Haible a1f83cd2 2024-07-12T14:16:59 Update after gnulib changed.
Bruno Haible e613b130 2024-07-12T14:06:43 Assume wchar_t. * include/iconv.h.in (iconv_wchar_mb_to_wc_fallback, iconv_wchar_wc_to_mb_fallback): Assume HAVE_WCHAR_T is 1. * src/iconv.c (ilseq_wchar_subst_buffer, subst_mb_to_wc_fallback, subst_wc_to_mb_fallback, main): Likewise. * configure.ac (HAVE_WCHAR_T): Remove variable. (gt_TYPE_WCHAR_T): Remove invocation.
Bruno Haible 5bddef71 2024-06-11T23:51:44 POSIX compliance: Interpret '-' file name as standard input. Reported by Brian Inglis at <https://savannah.gnu.org/bugs/?65874>. * src/iconv.c (main): Recognize the argument '-' as denoting standard input.
Bruno Haible ee9ea2e5 2024-05-23T11:22:54 INSTALL.windows: Fix MSVC instructions. * INSTALL.windows: Mention the tools needed for 'windres'.
Bruno Haible 17a9a072 2024-04-04T15:21:35 Fix macro file 'serial' numbers for 'aclocal --install'. * gnulib-local/m4/alloca.m4: Make 'serial' effective. Set value to 100, in order to override gnulib's alloca.m4.
Bruno Haible f492b1c6 2024-04-04T15:15:02 Switch to autoconf 2.72. * autogen.sh: Update comment.
Bruno Haible 317dfadc 2023-09-18T13:35:39 Fix shared library support on Android. Patch from <https://savannah.gnu.org/patch/index.php?10393>. * m4/libtool.m4: On Android, fix library_names_spec and hardcode_libdir_flag_spec. * libcharset/m4/libtool.m4: Likewise.
Bruno Haible 6ad5ae56 2023-09-16T12:04:24 Fix a misnomer. * include/export.h (LIBICONV_SHLIB_EXPORTED): Renamed from LIBICONV_DLL_EXPORTED. Prefer the term "shared library", since the term "DLL" applies only to Windows. * Makefile.devel (include/iconv.h.build.in): Insert LIBICONV_SHLIB_EXPORTED instead of LIBICONV_DLL_EXPORTED. * configure.ac (DLL_VARIABLE): Update comment. * lib/Makefile.in (DEFS): Update comment. * woe32dll/export.h: Update comment. * libcharset/include/export.h (LIBCHARSET_SHLIB_EXPORTED): Renamed from LIBCHARSET_DLL_EXPORTED. Prefer the term "shared library", since the term "DLL" applies only to Windows. * libcharset/Makefile.devel (include/libcharset.h.build.in, include/localcharset.h.build.in): Insert LIBCHARSET_SHLIB_EXPORTED instead of LIBCHARSET_DLL_EXPORTED. * libcharset/lib/relocatable-stub.c (libcharset_set_relocation_prefix): Use LIBCHARSET_SHLIB_EXPORTED instead of LIBCHARSET_DLL_EXPORTED. * libcharset/lib/Makefile.in (DEFS): Update comment. * libcharset/Makefile.in (install-lib): Update comment.
Bruno Haible d01ac199 2023-09-13T19:53:35 Simplify the library: Don't compile relocatable.c any more. The library does not need relocatable.h any more since 2018-09-22. * lib/relocatable.h: Remove file. * lib/relocatable.c: Remove file. * lib/compat.c: New file. * lib/Makefile.in (DEFS): Don't define LIBDIR, BUILDING_DLL, ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC, set_relocation_prefix, relocate, relocate2. (SOURCES): Remove relocatable.c. Add compat.c. (OBJECTS): Remove relocatable.lo. Add compat.lo. (localcharset.lo): Update dependencies. (relocatable.lo): Remove rule. (compat.lo): Add rule. (SOURCE_FILES): Remove relocatable.h, relocatable.c. Add compat.c.
Bruno Haible 999f8b33 2023-09-07T13:50:13 Sync woe32dll/export.h with GNU libunistring and GNU gettext. * woe32dll/export.h: Update comments. (IMP): Define correctly for 64-bit Windows platforms.
Bruno Haible bacf3318 2023-09-06T03:29:12 Don't export symbols from static MSVC .obj files. Suggested by Dmitry Bely <dmitry.bely@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-08/msg00002.html>. * include/export.h: Add a copyright notice. Set LIBICONV_DLL_EXPORTED to empty on MSVC when DLL_EXPORT is not defined. * Makefile.devel (include/iconv.h.build.in): Filter out the second copyright notice. * configure.ac (DLL_VARIABLE): Test DLL_EXPORT, not _DLL. * lib/relocatable.h: From gnulib: (RELOCATABLE_DLL_EXPORTED): Don't use __declspec(dllexport) when creating static .obj files with MSVC. * libcharset/include/export.h: Add a copyright notice. Set LIBCHARSET_DLL_EXPORTED to empty on MSVC when DLL_EXPORT is not defined. * libcharset/Makefile.devel (include/libcharset.h.build.in, include/localcharset.h.build.in): Filter out the second copyright notice.
Bruno Haible c18887cc 2023-08-30T12:42:46 Recognize the *-*-windows* config triplets introduced on 2023-06-26. * configure.ac: Treat windows* as equivalent to mingw*.
Bruno Haible 865880c6 2023-07-18T22:26:04 Update after gnulib changed.
Bruno Haible 6e2b31f6 2023-06-29T15:14:13 Update the installation instructions for Windows. * INSTALL.windows: Add a note about MSYS2.
Bruno Haible 10091cd6 2023-06-23T11:44:00 Assume UTF-8 for plain text. * INSTALL.generic: Use Unicode quote characters.
Bruno Haible 5448df58 2023-05-29T13:59:43 GB18030: Help transitioning away from PUA code points. * lib/gb18030ext.h (gb18030_2005_ext_wctomb): Remove function. (gb18030ext_wctomb): Renamed from gb18030_2022_ext_wctomb. * lib/gb18030uni.h (gb18030_2005_uni_wctomb): Map 6 Ext-B code points to 4-bytes sequences. (gb18030_2022_uni_wctomb): Small refactoring. * lib/gb18030_2005.h (gb18030_2005_pua2charset): Map 6 PUA code points to 4-bytes sequences instead of 2-bytes sequences. (gb18030_2005_wctomb): Update accordingly. Invoke gb18030ext_wctomb instead of gb18030_2005_ext_wctomb. * lib/gb18030_2022.h (gb18030_2022_wctomb): Invoke gb18030ext_wctomb instead of gb18030_2022_ext_wctomb. * tests/GB18030-2005.IRREVERSIBLE.TXT: Update the inverse mappings of 6 Ext-B code points and 6 PUA code points. * NEWS: Mention it.
Bruno Haible bf03f38b 2023-05-25T01:43:25 man pages: List a fifth condition when iconv(3) may stop. Based on the patch to the man-pages project <https://marc.info/?l=linux-man&m=168496625522371&w=2> = <https://lore.kernel.org/linux-man/2f9c4dbd-7aa6-fc7a-f126-453603ef695e@gmail.com/T/#m25e33d4defa1118e5c84951790f0319360abf9d4> * man/iconv.3: List a fifth condition.
Bruno Haible db5e62f4 2023-05-25T01:05:43 man pages: Use man page section title from groff or the distro. Reported by Mike Fulton <mikefultonpersonal@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-04/msg00027.html>. * man/*.[13]: Remove section title "Linux Programmer's Manual".
Bruno Haible 3a3cd34c 2023-05-25T00:19:27 Update .gitignore.
Bruno Haible c2c61860 2023-05-21T22:05:44 Support creating shared libraries on Hurd/x86_64. Patch from <https://lists.gnu.org/archive/html/bug-hurd/2023-05/msg00086.html>. * m4/libtool.m4 (_LT_ENABLE_LOCK): Treat Hurd/x86_64 like Linux/x86_64.
Bruno Haible 968e1240 2023-05-21T15:12:35 Fix link error regarding _libiconv_version on MSVC in C++ mode. Reported at <https://savannah.gnu.org/bugs/?64227>. * include/iconv.h.in (_libiconv_version): Enclose in an extern "C" block.
Bruno Haible 6549d20c 2023-05-21T00:29:37 Implement GB18030 version 2022. * lib/encodings.def (GB18030): Add alias GB18030:2005. (GB18030:2022): New encoding. * lib/gb18030ext.h (gb18030_2005_ext_2uni_pagefe): Renamed from gb18030ext_2uni_pagefe. (gb18030_2022_ext_2uni_pagefe): New array. (gb18030_2005_ext_mbtowc): Renamed from gb18030ext_mbtowc. (gb18030_2022_ext_mbtowc): New function. (gb18030_2005_ext_wctomb): Renamed from gb18030ext_wctomb. (gb18030_2022_ext_wctomb): New function. * lib/gb18030uni.h (gb18030_2022_charset2uni_pua1, gb18030_2022_charset2uni_pua2): New arrays. (gb18030_2005_uni_mbtowc): Renamed from gb18030uni_mbtowc. (gb18030_2022_uni_mbtowc): New function. (gb18030_2022_uni2charset_pua1, gb18030_2022_uni2charset_pua2): New arrays. (gb18030_2005_uni_wctomb): Renamed from gb18030uni_wctomb. (gb18030_2022_uni_wctomb): New function. * lib/gb18030_2005.h: Renamed from lib/gb18030.h. Update comments. (gb18030_2005_mbtowc): Renamed from gb18030_mbtowc. (gb18030_2005_pua2charset): Renamed from gb18030_pua2charset. (gb18030_2005_wctomb): Renamed from gb18030_wctomb. * lib/gb18030_2022.h: New file, based on lib/gb18030_2005.h. * lib/converters.h: Don't include gb18030.h. Include gb18030_2005.h, gb18030_2022.h. * lib/Makefile.in (SOURCE_FILES): Remove gb18030.h. Add gb18030_2005.h, gb18030_2022.h. * tests/GB18030-2005-BMP.TXT: Renamed from tests/GB18030-BMP.TXT. * tests/GB18030-2005.IRREVERSIBLE.TXT: Renamed from tests/GB18030.IRREVERSIBLE.TXT. * tests/GB18030-2022-BMP.TXT: New file. * tests/Makefile.in (check): Test GB18030:2005 instead of GB18030. Also test GB18030:2022. (clean): Don't remove GB18030.TXT. Instead, remove GB18030-2005.TXT and GB18030-2022.TXT. (SOURCE_FILES): Update. Add GB18030-2022-BMP.TXT. * README: Mention the new encoding. * man/iconv_open.3: Likewise. * NEWS: Likewise.
Bruno Haible 45425ff4 2023-05-19T17:49:37 Make the compiler used by Makefile.devel customizable. Reported by Mike Fulton <mikefultonpersonal@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-05/msg00006.html>. * Makefile.devel: Require GNU make. (CC): Use value from the environment, if set and non-empty. (CFLAGS): Use value from the environment, if set. * autogen.sh (GMAKE): New variable. Use it for executing Makefile.devel.
Bruno Haible 41e0bd4e 2023-05-17T21:47:12 On z/OS, allow charset tagging of temporary shell scripts. Reported by Mike Fulton <mikefultonpersonal@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-05/msg00002.html>. * lib/genaliases.c (BINARY_MODE): New macro. (main): Use it instead of "b".
Bruno Haible af375a34 2023-05-12T22:50:18 Integrate the last change. * src/Makefile.in (SOURCE_FILES): Add zos-tag.h. * tests/Makefile.in (SOURCE_FILES): Add check-tag. * NEWS: Mention the new functionality.
Mike Fulton 153d4079 2023-05-12T22:41:08 On z/OS, set a charset tag on iconv's output file. For the concept of charset tags as external metadata on z/OS files, see <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-04/msg00021.html>. * src/zos-tag.h: New file. * src/iconv.c: Include zos-tag.h. (convert): Add a 'tocode' parameter. On z/OS, turn off auto-conversion and tag the output file. (main): Update callers. * tests/check-ebcdic: On z/OS, make all test files initially untagged. * tests/check-tag: New file. * tests/Makefile.in (check): Pass the host_os to check-ebcdic. Invoke check-tag.
Bruno Haible 33f08ec1 2023-04-03T20:08:16 Fix genflags compilation error. * lib/genflags.c (ICONV_SURFACE_EBCDIC_ZOS_UNIX): New macro, copied from include/iconv.h.in.
Bruno Haible 19b6af5e 2023-04-03T04:12:01 Allow overriding the newline conversion for EBCDIC encodings. Reported by Mike Fulton <mikefultonpersonal@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-04/msg00009.html>. * include/iconv.h.in (ICONV_SURFACE_NONE, ICONV_SURFACE_EBCDIC_ZOS_UNIX): New macros. (ICONV_GET_FROM_SURFACE, ICONV_SET_FROM_SURFACE, ICONV_GET_TO_SURFACE, ICONV_SET_TO_SURFACE): New macros. * lib/converters.h (struct conv_struct): Add the fields isurface, osurface. (swap_x15_x25): New macro. * lib/iconv.c (iconv_open, iconv_open_into): Add local variables from_surface, to_surface. (ALL_SURFACES): New macro. (iconvctl): Adjust ICONV_TRIVIALP implementation. Implement the ICONV_{GET,SET}_{FROM,TO}_SURFACE requests. * lib/iconv_open1.h: Parse a /ZOS_UNIX surface specifier. Set from_surface, to_surface. * lib/iconv_open2.h: Copy the values of from_surface, to_surface into the conversion descriptor. * lib/ebcdic*.h (*_mbtowc): Test the isurface. If requested, call swap_x15_x25 right after fetching an input byte. (*_wctomb): Test the osurface. If requested, call swap_x15_x25 right before storing an output byte. * man/iconvctl.3 (REQUEST VALUES): Document the ICONV_{GET,SET}_{FROM,TO}_SURFACE requests. * src/iconv.c (main): If ICONV_EBCDIC_ZOS_UNIX is set, set the from/to surfaces accordingly. * man/iconv.1 (ENVIRONMENT): New section. * tests/check-ebcdic: New file. * tests/Makefile.in (check): Invoke it. (SOURCE_FILES): Add it. * NEWS: Mention the new functionality.
Bruno Haible af6ae1c5 2023-04-01T01:27:36 Correct indentation.
Bruno Haible 02abfbed 2023-04-01T00:56:53 Add some transliterations for mathematical symbols. Based on <https://sourceware.org/bugzilla/show_bug.cgi?id=23132> and the translit_neutral change in <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=513aaa0d782f8fae36732d06ca59d658149f0139>. Reported by Mike Fulton <mikefultonpersonal@gmail.com> in <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-03/msg00002.html>. * lib/translit.def: Add a couple of transliterations in the range U+27C0..U+29FF. * NEWS: Mention it.
Bruno Haible 7b45add9 2023-04-01T00:34:22 Upgrade transliterations to Unicode 15.0.0. * tools/gen-translit-def-part.lisp: Update comments. * lib/translit.def: Include differences between the generated files translit-part-4.0.0.def and translit-part-15.0.0.def.
Bruno Haible 87e63b24 2023-04-01T00:29:57 Make table of transliterations more maintainable. * tools/gen-translit-def-part.lisp: New file. * Makefile.in (SOURCE_FILES): Add it.
Bruno Haible dee7d5e9 2023-04-01T00:10:12 Fix table of transliterations. * lib/translit.def: Sort according to Unicode code point.
Bruno Haible c593e206 2023-02-13T10:59:50 Fix iconv link command for Cygwin. Inspired by https://www.cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/libiconv.git;a=blob;f=1.16-cross-install.patch;h=7b3c5c0d761497a20abf0e4cc38d74f2755445fb;hb=HEAD . Rationale: libintl may depends on libiconv. * src/Makefile.in (install): On the link command line, mention libintl before libiconv.
Bruno Haible 0a05ca75 2023-02-05T20:45:06 Update after gnulib changed.
Bruno Haible e46dee2f 2023-01-29T20:07:21 Fix a clang warning "a function declaration without a prototype...". * lib/loop_wchar.h (mbrtowc): Don't declare. Drop portability to BeOS.
Bruno Haible 2582e7bb 2022-07-18T19:33:52 Make autopull.sh more suited for continuous integration. * autopull.sh: Support option --one-time.
Bruno Haible f4f3b4d4 2022-07-18T13:30:45 Move gnulib-tool invocation back from autopull.sh to autogen.sh. * autogen.sh: Revert last change. Improve comments. * autopull.sh: Only call 'gitsub.sh pull'. * HACKING: Mention autopull.sh.
Bruno Haible b9a6c979 2022-07-17T14:04:29 Split autogen.sh into autopull.sh and autogen.sh. * autopull.sh: New file, based on autogen.sh. * autogen.sh: Remove code that was moved to autopull.sh. Remove --skip-gnulib option. * Makefile.devel (all): Remove srclib/Makefile.gnulib. * Makefile.in (SOURCE_FILES): Add autogen.sh. * HACKING: Mention autopull.sh.
Bruno Haible 1d47a157 2022-05-23T00:56:16 Add GNU Project notice. * JOIN-GNU: New file. Inspired by a suggestion from José E. Marchesi on the gnu-prog-discuss mailing list. * README: Refer to it. * Makefile.in (SOURCE_FILES): Add it.
Bruno Haible 4b9c27be 2022-05-15T15:01:28 Use the newest gettext release. * po/Makefile.in.in: Upgrade to gettext-0.21, keeping the change 2019-01-27 Bruno Haible <bruno@clisp.org> Accommodate a shell that is not in /bin/sh. * po/Makefile.in.in (SHELL): Use the value found by configure.
Bruno Haible 2320d924 2022-05-15T14:46:44 Update translations. * po/*.po: Update from TP, with 'msgmerge --previous'. * po/LINGUAS: Add ko.
Bruno Haible b003e45e 2022-05-15T14:25:58 Switch to libtool 2.4.7. * m4/libtool.m4: Update from libtool-2.4.7, with modifications: 2008-04-06 Bruno Haible <bruno@clisp.org> * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use CONFIG_SHELL; don't assume that the Makefile.in will set SHELL to ${CONFIG_SHELL}. * m4/ltoptions.m4: Likewise. * m4/ltsugar.m4: Likewise. * m4/ltversion.m4: Likewise. * m4/lt~obsolete.m4: Likewise. * build-aux/ltmain.sh: Update from libtool-2.4.7, with modifications: 2017-07-15 Bruno Haible <bruno@clisp.org> Allow building statically linked binaries, through LDFLAGS="-static". Apply patch from <https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>. * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the link mode, accept option '-static-uninstalled-libs' in place of '-static', and make '-static' an equivalent of '-all-static'.
Bruno Haible 8c9fa489 2022-04-13T18:33:16 Fix undefined behaviour. * tests/test-shiftseq.c (main2): Make input array larger.
Bruno Haible dc461c46 2022-02-12T14:11:36 Update translations. * po/ro.po: Update Romanian translations. * po/wa.po: Update Walloon translations.
Bruno Haible b87dce88 2022-02-12T13:54:58 Regenerate PO files.
Bruno Haible 22e4bc61 2022-02-12T13:51:11 Update after gnulib changed.
Bruno Haible c31a1460 2022-02-12T13:50:15 Prepare for version 1.17. * configure.ac: Bump version number to 1.17. * include/iconv.h.in (_LIBICONV_VERSION): Likewise. * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 9:0:7. * src/iconv.c (print_version): Update copyright year. * windows/iconv.rc: Likewise. * windows/libiconv.rc: Likewise. * README: Update download link.
Bruno Haible 429e0425 2022-02-12T13:49:13 Update source file list (regression 2022-01-23). * lib/Makefile.in (SOURCE_FILES): Add encodings_zos.def, ebcdic*.h. (GENERATED_FILES): Add aliases_zos.h, canonical_zos.h. * tests/Makefile.in (SOURCE_FILES): Add IBM-*.TXT.
Bruno Haible 574b8292 2022-02-12T13:39:36 build: Remove leftover file (regression 2019-06-30). * Makefile.in (distclean, maintainer-clean): Remove include/libcharset.h.inst.
Bruno Haible 9bd653f3 2022-02-07T23:30:46 Update NEWS. * NEWS: Mention the EBCDIC encodings.
Bruno Haible 92c01a29 2022-01-24T01:36:56 Update after gnulib changed.
Bruno Haible 59b4d2b4 2022-01-24T01:31:08 Optimize the EBCDIC table sizes. * lib/converters.h (DEDUPLICATE_TABLES): New macro. * lib/ebcdic1025.h: Deduplicate tables with ebcdic880.h. * lib/ebcdic1123.h: Deduplicate tables with ebcdic1025.h. * lib/ebcdic1132.h: Deduplicate tables with ebcdic838.h. * lib/ebcdic1153.h: Deduplicate tables with ebcdic870.h. * lib/ebcdic1154.h: Deduplicate tables with ebcdic880.h. * lib/ebcdic1155.h: Deduplicate tables with ebcdic1026.h. * lib/ebcdic1156.h: Deduplicate tables with ebcdic1112.h. * lib/ebcdic1157.h: Deduplicate tables with ebcdic1122.h. * lib/ebcdic1158.h: Deduplicate tables with ebcdic1154.h, ebcdic1123.h. * lib/ebcdic1160.h: Deduplicate tables with ebcdic838.h. * lib/ebcdic1164.h: Deduplicate tables with ebcdic1130.h. * lib/ebcdic1165.h: Deduplicate tables with ebcdic870.h. * lib/ebcdic1166.h: Deduplicate tables with ebcdic1154.h. * lib/ebcdic4971.h: Deduplicate tables with ebcdic875.h. * lib/ebcdic12712.h: Deduplicate tables with ebcdic424.h.
Bruno Haible 68ac8a9f 2022-01-23T23:37:30 New EBCDIC encodings. Reported by Ulrich Schwab and Calvin Buckley via Jack Woehr. * NOTES: Mention how to enable EBCDIC encodings. * tests/IBM-*.TXT: New files. * tools/8bit_tab_to_h.c (main): Emit copyright header with year 2022. * tools/Makefile: Add rules for generating ebcdic*.h. * lib/ebcdic*.h: New files, automatically generated by tools/Makefile. * lib/ebcdic838.h: Tweak reverse mapping manually. * lib/ebcdic1160.h: Likewise. * lib/converters.h: Include all ebcdic*.h. * lib/encodings_zos.def: New file. * lib/genaliases2.c: Include encodings_zos.def. * lib/genflags.c: Likewise. * Makefile.devel (lib/aliases_zos.h lib/canonical_zos.h): New rule. (lib/flags.h, totally-clean): Update. * lib/aliases2.h: Include aliases_zos.h. * lib/iconv.c (USE_ZOS): New macro. Include encodings_zos.def, canonical_zos.h. * README, man/iconv_open.3: Document the IBM-* encodings. * tests/Makefile.in (check-extra-yes): Also test the EBCDIC encodings.
Bruno Haible 58976846 2022-01-04T10:32:32 Update after gnulib changed. * gnulib-local/m4/alloca.m4 (gl_FUNC_ALLOCA): Set GL_GENERATE_ALLOCA_H instead of ALLOCA_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
Bruno Haible 05b20c93 2021-09-19T23:13:57 tests: Avoid check-subst failures in QEMU user-mode environments. * Makefile.devel (GNULIB_MODULES): Add stdbool. (gnulib-imported-files): Copy also tests/qemu.h. * tests/is-native.c: New file. * tests/Makefile.in (is-native, is-native.@OBJEXT@): New targets. (clean): Remove the 'is-native' program. (SOURCE_FILES): Add is-native.c. (IMPORTED_FILES): Add qemu.h. * tests/check-subst: Invoke 'locale charmap' only in native environments.
Bruno Haible 4d57c61b 2021-09-19T22:48:01 Update after gnulib changed.
Bruno Haible 8dfed547 2021-06-27T20:48:45 Tweak last commit.
Bruno Haible 76d0485b 2021-06-27T16:39:44 README: Update. Reported at <https://savannah.gnu.org/bugs/?60837>. * README: Overhaul the paragraph that mentions iconv.m4.
Bruno Haible 91f96be0 2021-06-06T11:51:12 Change the license of the library from LGPL 2.0 to LGPL 2.1.
Bruno Haible f221458b 2021-06-06T11:42:12 gnulib-local: Put real license notice into the source files.