Fix shared library support in 32-bit mode on FreeBSD/powerpc64.
[libiconv.git] / ChangeLog
blob815109add4a76ec41cf3bd5aee98f10b0ae3708e
1 2024-08-24  Bruno Haible  <bruno@clisp.org>
3         Fix shared library support in 32-bit mode on FreeBSD/powerpc64.
4         Patch from <https://savannah.gnu.org/patch/index.php?10469>.
5         * m4/libtool.m4: On FreeBSD, fix shlibpath_var.
7 2024-08-14  Collin Funk  <collin.funk1@gmail.com>  (tiny change)
9         Prefer #include <...> for system headers.
10         See <https://www.gnu.org/software/gnulib/manual/html_node/Style-of-_0023include-statements.html>.
11         * gnulib-local/lib/xmalloc.c: Include <error.h>.
12         * src/iconv.c: Likewise.
14 2024-07-12  Bruno Haible  <bruno@clisp.org>
16         Switch to automake 1.17.
17         * autogen.sh: Update comment.
19 2024-07-12  Bruno Haible  <bruno@clisp.org>
21         Assume wchar_t.
22         * include/iconv.h.in (iconv_wchar_mb_to_wc_fallback,
23         iconv_wchar_wc_to_mb_fallback): Assume HAVE_WCHAR_T is 1.
24         * src/iconv.c (ilseq_wchar_subst_buffer, subst_mb_to_wc_fallback,
25         subst_wc_to_mb_fallback, main): Likewise.
26         * configure.ac (HAVE_WCHAR_T): Remove variable.
27         (gt_TYPE_WCHAR_T): Remove invocation.
29 2024-06-11  Bruno Haible  <bruno@clisp.org>
31         POSIX compliance: Interpret '-' file name as standard input.
32         Reported by Brian Inglis at <https://savannah.gnu.org/bugs/?65874>.
33         * src/iconv.c (main): Recognize the argument '-' as denoting standard
34         input.
36 2024-05-23  Bruno Haible  <bruno@clisp.org>
38         INSTALL.windows: Fix MSVC instructions.
39         * INSTALL.windows: Mention the tools needed for 'windres'.
41 2024-04-04  Bruno Haible  <bruno@clisp.org>
43         Fix macro file 'serial' numbers for 'aclocal --install'.
44         * gnulib-local/m4/alloca.m4: Make 'serial' effective. Set value to 100,
45         in order to override gnulib's alloca.m4.
47 2023-12-30  Bruno Haible  <bruno@clisp.org>
49         Switch to autoconf 2.72.
50         * autogen.sh: Update comment.
52 2023-09-18  Bruno Haible  <bruno@clisp.org>
54         Fix shared library support on Android.
55         Patch from <https://savannah.gnu.org/patch/index.php?10393>.
56         * m4/libtool.m4: On Android, fix library_names_spec and
57         hardcode_libdir_flag_spec.
59 2023-09-16  Bruno Haible  <bruno@clisp.org>
61         Fix a misnomer.
62         * include/export.h (LIBICONV_SHLIB_EXPORTED): Renamed from
63         LIBICONV_DLL_EXPORTED. Prefer the term "shared library", since the term
64         "DLL" applies only to Windows.
65         * Makefile.devel (include/iconv.h.build.in): Insert
66         LIBICONV_SHLIB_EXPORTED instead of LIBICONV_DLL_EXPORTED.
67         * configure.ac (DLL_VARIABLE): Update comment.
68         * lib/Makefile.in (DEFS): Update comment.
69         * woe32dll/export.h: Update comment.
71 2023-09-13  Bruno Haible  <bruno@clisp.org>
73         Simplify the library: Don't compile relocatable.c any more.
74         The library does not need relocatable.h any more since 2018-09-22.
75         * lib/relocatable.h: Remove file.
76         * lib/relocatable.c: Remove file.
77         * lib/compat.c: New file.
78         * lib/Makefile.in (DEFS): Don't define LIBDIR, BUILDING_DLL,
79         ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC,
80         set_relocation_prefix, relocate, relocate2.
81         (SOURCES): Remove relocatable.c. Add compat.c.
82         (OBJECTS): Remove relocatable.lo. Add compat.lo.
83         (localcharset.lo): Update dependencies.
84         (relocatable.lo): Remove rule.
85         (compat.lo): Add rule.
86         (SOURCE_FILES): Remove relocatable.h, relocatable.c. Add compat.c.
88 2023-09-07  Bruno Haible  <bruno@clisp.org>
90         Sync woe32dll/export.h with GNU libunistring and GNU gettext.
91         * woe32dll/export.h: Update comments.
92         (IMP): Define correctly for 64-bit Windows platforms.
94 2023-09-06  Bruno Haible  <bruno@clisp.org>
96         Don't export symbols from static MSVC .obj files.
97         Suggested by Dmitry Bely <dmitry.bely@gmail.com> in
98         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-08/msg00002.html>.
99         * include/export.h: Add a copyright notice. Set LIBICONV_DLL_EXPORTED to
100         empty on MSVC when DLL_EXPORT is not defined.
101         * Makefile.devel (include/iconv.h.build.in): Filter out the second
102         copyright notice.
103         * configure.ac (DLL_VARIABLE): Test DLL_EXPORT, not _DLL.
104         * lib/relocatable.h: From gnulib:
105         (RELOCATABLE_DLL_EXPORTED): Don't use __declspec(dllexport) when
106         creating static .obj files with MSVC.
108 2023-08-30  Bruno Haible  <bruno@clisp.org>
110         Recognize the *-*-windows* config triplets introduced on 2023-06-26.
111         * configure.ac: Treat windows* as equivalent to mingw*.
113 2023-06-29  Bruno Haible  <bruno@clisp.org>
115         Update the installation instructions for Windows.
116         * INSTALL.windows: Add a note about MSYS2.
118 2023-05-29  Bruno Haible  <bruno@clisp.org>
120         GB18030: Help transitioning away from PUA code points.
121         * lib/gb18030ext.h (gb18030_2005_ext_wctomb): Remove function.
122         (gb18030ext_wctomb): Renamed from gb18030_2022_ext_wctomb.
123         * lib/gb18030uni.h (gb18030_2005_uni_wctomb): Map 6 Ext-B code points to
124         4-bytes sequences.
125         (gb18030_2022_uni_wctomb): Small refactoring.
126         * lib/gb18030_2005.h (gb18030_2005_pua2charset): Map 6 PUA code points
127         to 4-bytes sequences instead of 2-bytes sequences.
128         (gb18030_2005_wctomb): Update accordingly. Invoke gb18030ext_wctomb
129         instead of gb18030_2005_ext_wctomb.
130         * lib/gb18030_2022.h (gb18030_2022_wctomb): Invoke gb18030ext_wctomb
131         instead of gb18030_2022_ext_wctomb.
132         * tests/GB18030-2005.IRREVERSIBLE.TXT: Update the inverse mappings of 6
133         Ext-B code points and 6 PUA code points.
134         * NEWS: Mention it.
136 2023-05-24  Bruno Haible  <bruno@clisp.org>
138         man pages: List a fifth condition when iconv(3) may stop.
139         Based on the patch to the man-pages project
140         <https://marc.info/?l=linux-man&m=168496625522371&w=2> =
141         <https://lore.kernel.org/linux-man/2f9c4dbd-7aa6-fc7a-f126-453603ef695e@gmail.com/T/#m25e33d4defa1118e5c84951790f0319360abf9d4>
142         * man/iconv.3: List a fifth condition.
144 2023-05-24  Bruno Haible  <bruno@clisp.org>
146         man pages: Use man page section title from groff or the distro.
147         Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
148         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-04/msg00027.html>.
149         * man/*.[13]: Remove section title "Linux Programmer's Manual".
151 2023-05-21  Bruno Haible  <bruno@clisp.org>
153         Support creating shared libraries on Hurd/x86_64.
154         Patch from
155         <https://lists.gnu.org/archive/html/bug-hurd/2023-05/msg00086.html>.
156         * m4/libtool.m4 (_LT_ENABLE_LOCK): Treat Hurd/x86_64 like
157         Linux/x86_64.
159 2023-05-21  Bruno Haible  <bruno@clisp.org>
161         Fix link error regarding _libiconv_version on MSVC in C++ mode.
162         Reported at <https://savannah.gnu.org/bugs/?64227>.
163         * include/iconv.h.in (_libiconv_version): Enclose in an extern "C"
164         block.
166 2023-05-20  Bruno Haible  <bruno@clisp.org>
168         Implement GB18030 version 2022.
169         * lib/encodings.def (GB18030): Add alias GB18030:2005.
170         (GB18030:2022): New encoding.
171         * lib/gb18030ext.h (gb18030_2005_ext_2uni_pagefe): Renamed from
172         gb18030ext_2uni_pagefe.
173         (gb18030_2022_ext_2uni_pagefe): New array.
174         (gb18030_2005_ext_mbtowc): Renamed from gb18030ext_mbtowc.
175         (gb18030_2022_ext_mbtowc): New function.
176         (gb18030_2005_ext_wctomb): Renamed from gb18030ext_wctomb.
177         (gb18030_2022_ext_wctomb): New function.
178         * lib/gb18030uni.h (gb18030_2022_charset2uni_pua1,
179         gb18030_2022_charset2uni_pua2): New arrays.
180         (gb18030_2005_uni_mbtowc): Renamed from gb18030uni_mbtowc.
181         (gb18030_2022_uni_mbtowc): New function.
182         (gb18030_2022_uni2charset_pua1, gb18030_2022_uni2charset_pua2): New
183         arrays.
184         (gb18030_2005_uni_wctomb): Renamed from gb18030uni_wctomb.
185         (gb18030_2022_uni_wctomb): New function.
186         * lib/gb18030_2005.h: Renamed from lib/gb18030.h. Update comments.
187         (gb18030_2005_mbtowc): Renamed from gb18030_mbtowc.
188         (gb18030_2005_pua2charset): Renamed from gb18030_pua2charset.
189         (gb18030_2005_wctomb): Renamed from gb18030_wctomb.
190         * lib/gb18030_2022.h: New file, based on lib/gb18030_2005.h.
191         * lib/converters.h: Don't include gb18030.h. Include gb18030_2005.h,
192         gb18030_2022.h.
193         * lib/Makefile.in (SOURCE_FILES): Remove gb18030.h. Add gb18030_2005.h,
194         gb18030_2022.h.
195         * tests/GB18030-2005-BMP.TXT: Renamed from tests/GB18030-BMP.TXT.
196         * tests/GB18030-2005.IRREVERSIBLE.TXT: Renamed from
197         tests/GB18030.IRREVERSIBLE.TXT.
198         * tests/GB18030-2022-BMP.TXT: New file.
199         * tests/Makefile.in (check): Test GB18030:2005 instead of GB18030. Also
200         test GB18030:2022.
201         (clean): Don't remove GB18030.TXT. Instead, remove GB18030-2005.TXT and
202         GB18030-2022.TXT.
203         (SOURCE_FILES): Update. Add GB18030-2022-BMP.TXT.
204         * README: Mention the new encoding.
205         * man/iconv_open.3: Likewise.
206         * NEWS: Likewise.
208 2023-05-19  Bruno Haible  <bruno@clisp.org>
210         Make the compiler used by Makefile.devel customizable.
211         Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
212         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-05/msg00006.html>.
213         * Makefile.devel: Require GNU make.
214         (CC): Use value from the environment, if set and non-empty.
215         (CFLAGS): Use value from the environment, if set.
216         * autogen.sh (GMAKE): New variable.
217         Use it for executing Makefile.devel.
219 2023-05-17  Bruno Haible  <bruno@clisp.org>
221         On z/OS, allow charset tagging of temporary shell scripts.
222         Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
223         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-05/msg00002.html>.
224         * lib/genaliases.c (BINARY_MODE): New macro.
225         (main): Use it instead of "b".
227 2023-05-12  Bruno Haible  <bruno@clisp.org>
229         Integrate the last change.
230         * src/Makefile.in (SOURCE_FILES): Add zos-tag.h.
231         * tests/Makefile.in (SOURCE_FILES): Add check-tag.
232         * NEWS: Mention the new functionality.
234 2023-05-12  Mike Fulton  <mikefultonpersonal@gmail.com>
236         On z/OS, set a charset tag on iconv's output file.
237         For the concept of charset tags as external metadata on z/OS files, see
238         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-04/msg00021.html>.
239         * src/zos-tag.h: New file.
240         * src/iconv.c: Include zos-tag.h.
241         (convert): Add a 'tocode' parameter. On z/OS, turn off auto-conversion
242         and tag the output file.
243         (main): Update callers.
244         * tests/check-ebcdic: On z/OS, make all test files initially untagged.
245         * tests/check-tag: New file.
246         * tests/Makefile.in (check): Pass the host_os to check-ebcdic. Invoke
247         check-tag.
249 2023-04-03  Bruno Haible  <bruno@clisp.org>
251         Fix genflags compilation error.
252         * lib/genflags.c (ICONV_SURFACE_EBCDIC_ZOS_UNIX): New macro, copied from
253         include/iconv.h.in.
255         Allow overriding the newline conversion for EBCDIC encodings.
256         Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
257         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-04/msg00009.html>.
258         * include/iconv.h.in (ICONV_SURFACE_NONE,
259         ICONV_SURFACE_EBCDIC_ZOS_UNIX): New macros.
260         (ICONV_GET_FROM_SURFACE, ICONV_SET_FROM_SURFACE, ICONV_GET_TO_SURFACE,
261         ICONV_SET_TO_SURFACE): New macros.
262         * lib/converters.h (struct conv_struct): Add the fields isurface,
263         osurface.
264         (swap_x15_x25): New macro.
265         * lib/iconv.c (iconv_open, iconv_open_into): Add local variables
266         from_surface, to_surface.
267         (ALL_SURFACES): New macro.
268         (iconvctl): Adjust ICONV_TRIVIALP implementation. Implement the
269         ICONV_{GET,SET}_{FROM,TO}_SURFACE requests.
270         * lib/iconv_open1.h: Parse a /ZOS_UNIX surface specifier. Set
271         from_surface, to_surface.
272         * lib/iconv_open2.h: Copy the values of from_surface, to_surface into
273         the conversion descriptor.
274         * lib/ebcdic*.h (*_mbtowc): Test the isurface. If requested, call
275         swap_x15_x25 right after fetching an input byte.
276         (*_wctomb): Test the osurface. If requested, call swap_x15_x25 right
277         before storing an output byte.
278         * man/iconvctl.3 (REQUEST VALUES): Document the
279         ICONV_{GET,SET}_{FROM,TO}_SURFACE requests.
280         * src/iconv.c (main): If ICONV_EBCDIC_ZOS_UNIX is set, set the from/to
281         surfaces accordingly.
282         * man/iconv.1 (ENVIRONMENT): New section.
283         * tests/check-ebcdic: New file.
284         * tests/Makefile.in (check): Invoke it.
285         (SOURCE_FILES): Add it.
286         * NEWS: Mention the new functionality.
288 2023-03-31  Bruno Haible  <bruno@clisp.org>
290         Add some transliterations for mathematical symbols.
291         Based on <https://sourceware.org/bugzilla/show_bug.cgi?id=23132>
292         and the translit_neutral change in
293         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=513aaa0d782f8fae36732d06ca59d658149f0139>.
294         Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
295         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-03/msg00002.html>.
296         * lib/translit.def: Add a couple of transliterations in the range
297         U+27C0..U+29FF.
298         * NEWS: Mention it.
300 2023-03-31  Bruno Haible  <bruno@clisp.org>
302         Upgrade transliterations to Unicode 15.0.0.
303         * tools/gen-translit-def-part.lisp: Update comments.
304         * lib/translit.def: Include differences between the generated files
305         translit-part-4.0.0.def and translit-part-15.0.0.def.
307 2023-03-31  Bruno Haible  <bruno@clisp.org>
309         Make table of transliterations more maintainable.
310         * tools/gen-translit-def-part.lisp: New file.
311         * Makefile.in (SOURCE_FILES): Add it.
313 2023-03-31  Bruno Haible  <bruno@clisp.org>
315         Fix table of transliterations.
316         * lib/translit.def: Sort according to Unicode code point.
318 2023-02-13  Bruno Haible  <bruno@clisp.org>
320         Fix iconv link command for Cygwin.
321         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 .
322         Rationale: libintl may depends on libiconv.
323         * src/Makefile.in (install): On the link command line, mention libintl
324         before libiconv.
326 2023-01-29  Bruno Haible  <bruno@clisp.org>
328         Fix a clang warning "a function declaration without a prototype...".
329         * lib/loop_wchar.h (mbrtowc): Don't declare. Drop portability to BeOS.
331 2022-07-18  Bruno Haible  <bruno@clisp.org>
333         Make autopull.sh more suited for continuous integration.
334         * autopull.sh: Support option --one-time.
336 2022-07-18  Bruno Haible  <bruno@clisp.org>
338         Move gnulib-tool invocation back from autopull.sh to autogen.sh.
339         * autogen.sh: Revert last change. Improve comments.
340         * autopull.sh: Only call 'gitsub.sh pull'.
341         * HACKING: Mention autopull.sh.
343 2022-07-17  Bruno Haible  <bruno@clisp.org>
345         Split autogen.sh into autopull.sh and autogen.sh.
346         * autopull.sh: New file, based on autogen.sh.
347         * autogen.sh: Remove code that was moved to autopull.sh. Remove
348         --skip-gnulib option.
349         * Makefile.devel (all): Remove srclib/Makefile.gnulib.
350         * Makefile.in (SOURCE_FILES): Add autogen.sh.
351         * HACKING: Mention autopull.sh.
353 2022-05-22  Bruno Haible  <bruno@clisp.org>
355         Add GNU Project notice.
356         * JOIN-GNU: New file. Inspired by a suggestion from José E. Marchesi
357         on the gnu-prog-discuss mailing list.
358         * README: Refer to it.
359         * Makefile.in (SOURCE_FILES): Add it.
361 2022-05-15  Bruno Haible  <bruno@clisp.org>
363         Switch to libtool 2.4.7.
364         * m4/libtool.m4: Update from libtool-2.4.7, with modifications:
365         2008-04-06  Bruno Haible  <bruno@clisp.org>
366                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
367                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
368                 to ${CONFIG_SHELL}.
369         * m4/ltoptions.m4: Likewise.
370         * m4/ltsugar.m4: Likewise.
371         * m4/ltversion.m4: Likewise.
372         * m4/lt~obsolete.m4: Likewise.
373         * build-aux/ltmain.sh: Update from libtool-2.4.7, with modifications:
374         2017-07-15  Bruno Haible  <bruno@clisp.org>
375                 Allow building statically linked binaries, through
376                 LDFLAGS="-static". Apply patch from
377                 <https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>.
378                 * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the
379                 link mode, accept option '-static-uninstalled-libs' in place of
380                 '-static', and make '-static' an equivalent of '-all-static'.
382 2022-04-13  Bruno Haible  <bruno@clisp.org>
384         Fix undefined behaviour.
385         * tests/test-shiftseq.c (main2): Make input array larger.
387 2022-02-12  Bruno Haible  <bruno@clisp.org>
389         Update translations.
390         * po/ro.po: Update Romanian translations.
391         * po/wa.po: Update Walloon translations.
393 2022-02-12  Bruno Haible  <bruno@clisp.org>
395         Prepare for version 1.17.
396         * configure.ac: Bump version number to 1.17.
397         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
398         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 9:0:7.
399         * src/iconv.c (print_version): Update copyright year.
400         * windows/iconv.rc: Likewise.
401         * windows/libiconv.rc: Likewise.
402         * README: Update download link.
404 2022-02-12  Bruno Haible  <bruno@clisp.org>
406         Update source file list (regression 2022-01-23).
407         * lib/Makefile.in (SOURCE_FILES): Add encodings_zos.def, ebcdic*.h.
408         (GENERATED_FILES): Add aliases_zos.h, canonical_zos.h.
409         * tests/Makefile.in (SOURCE_FILES): Add IBM-*.TXT.
411 2022-01-23  Bruno Haible  <bruno@clisp.org>
413         Update NEWS.
414         * NEWS: Mention the EBCDIC encodings.
416 2022-01-23  Bruno Haible  <bruno@clisp.org>
418         Optimize the EBCDIC table sizes.
419         * lib/converters.h (DEDUPLICATE_TABLES): New macro.
420         * lib/ebcdic1025.h: Deduplicate tables with ebcdic880.h.
421         * lib/ebcdic1123.h: Deduplicate tables with ebcdic1025.h.
422         * lib/ebcdic1132.h: Deduplicate tables with ebcdic838.h.
423         * lib/ebcdic1153.h: Deduplicate tables with ebcdic870.h.
424         * lib/ebcdic1154.h: Deduplicate tables with ebcdic880.h.
425         * lib/ebcdic1155.h: Deduplicate tables with ebcdic1026.h.
426         * lib/ebcdic1156.h: Deduplicate tables with ebcdic1112.h.
427         * lib/ebcdic1157.h: Deduplicate tables with ebcdic1122.h.
428         * lib/ebcdic1158.h: Deduplicate tables with ebcdic1154.h, ebcdic1123.h.
429         * lib/ebcdic1160.h: Deduplicate tables with ebcdic838.h.
430         * lib/ebcdic1164.h: Deduplicate tables with ebcdic1130.h.
431         * lib/ebcdic1165.h: Deduplicate tables with ebcdic870.h.
432         * lib/ebcdic1166.h: Deduplicate tables with ebcdic1154.h.
433         * lib/ebcdic4971.h: Deduplicate tables with ebcdic875.h.
434         * lib/ebcdic12712.h: Deduplicate tables with ebcdic424.h.
436 2022-01-23  Bruno Haible  <bruno@clisp.org>
438         New EBCDIC encodings.
439         Reported by Ulrich Schwab and Calvin Buckley via Jack Woehr.
440         * NOTES: Mention how to enable EBCDIC encodings.
441         * tests/IBM-*.TXT: New files.
442         * tools/8bit_tab_to_h.c (main): Emit copyright header with year 2022.
443         * tools/Makefile: Add rules for generating ebcdic*.h.
444         * lib/ebcdic*.h: New files, automatically generated by tools/Makefile.
445         * lib/ebcdic838.h: Tweak reverse mapping manually.
446         * lib/ebcdic1160.h: Likewise.
447         * lib/converters.h: Include all ebcdic*.h.
448         * lib/encodings_zos.def: New file.
449         * lib/genaliases2.c: Include encodings_zos.def.
450         * lib/genflags.c: Likewise.
451         * Makefile.devel (lib/aliases_zos.h lib/canonical_zos.h): New rule.
452         (lib/flags.h, totally-clean): Update.
453         * lib/aliases2.h: Include aliases_zos.h.
454         * lib/iconv.c (USE_ZOS): New macro.
455         Include encodings_zos.def, canonical_zos.h.
456         * README, man/iconv_open.3: Document the IBM-* encodings.
457         * tests/Makefile.in (check-extra-yes): Also test the EBCDIC encodings.
459 2022-01-04  Bruno Haible  <bruno@clisp.org>
461         Update after gnulib changed.
462         * gnulib-local/m4/alloca.m4 (gl_FUNC_ALLOCA): Set GL_GENERATE_ALLOCA_H
463         instead of ALLOCA_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
465 2021-09-19  Bruno Haible  <bruno@clisp.org>
467         tests: Avoid check-subst failures in QEMU user-mode environments.
468         * Makefile.devel (GNULIB_MODULES): Add stdbool.
469         (gnulib-imported-files): Copy also tests/qemu.h.
470         * tests/is-native.c: New file.
471         * tests/Makefile.in (is-native, is-native.@OBJEXT@): New targets.
472         (clean): Remove the 'is-native' program.
473         (SOURCE_FILES): Add is-native.c.
474         (IMPORTED_FILES): Add qemu.h.
475         * tests/check-subst: Invoke 'locale charmap' only in native
476         environments.
478 2021-06-27  Bruno Haible  <bruno@clisp.org>
480         README: Update.
481         Reported at <https://savannah.gnu.org/bugs/?60837>.
482         * README: Overhaul the paragraph that mentions iconv.m4.
484 2021-06-06  Bruno Haible  <bruno@clisp.org>
486         gnulib-local: Put real license notice into the source files.
487         * gnulib-local/lib/alloca.in.h: Use an LGPLv2+ notice.
489 2021-02-28  Bruno Haible  <bruno@clisp.org>
491         Update DEPENDENCIES.
492         * DEPENDENCIES: List the normal dependencies of a package with an
493         Autoconf-generated configure file.
495 2021-02-07  Bruno Haible  <bruno@clisp.org>
497         Support creating shared libraries on MidnightBSD.
498         Patch from <https://savannah.gnu.org/patch/?10007>.
499         * m4/libtool.m4: Treat MidnightBSD like FreeBSD.
500         * build-aux/ltmain.sh: Likewise.
502 2021-01-31  Bruno Haible  <bruno@clisp.org>
504         Update after gnulib changed on 2020-08-26.
505         * configure.ac: Test $iconv_arg1, not $am_cv_proto_iconv_arg1.
507 2021-01-31  Bruno Haible  <bruno@clisp.org>
509         Switch to autoconf 2.71.
510         * autogen.sh: Update comment.
511         * configure.ac: Use AS_HELP_STRING instead of AC_HELP_STRING. Invoke
512         AC_C_BIGENDIAN instead of CL_WORDS_LITTLEENDIAN.
513         * m4/eilseq.m4: Require Autoconf >= 2.61.
514         (AC_EILSEQ): Improve quoting. Use AC_COMPUTE_INT instead of
515         _AC_COMPUTE_INT.
516         * m4/endian.m4: Remove file.
517         * Makefile.in (SOURCE_FILES): Remove it.
519 2020-12-08  Bruno Haible  <bruno@clisp.org>
521         Switch to autoconf 2.70.
522         * Makefile.devel (AUTOCONF, AUTOHEADER): Remove '-2.69' suffix.
523         * HACKING: Remove sentence about symbolic links.
524         * autogen.sh: Update comment.
526 2020-08-31  Bruno Haible  <bruno@clisp.org>
528         Fix some -Wcast-qual warning, reported by clang.
529         * lib/iconv.c (compare_by_name): Add more 'const'.
530         (iconv_canonicalize): Cast value to 'unsigned char', not pointer to 'unsigned char *'.
531         * lib/iconv_open1.h: Likewise.
533 2020-08-30  Bruno Haible  <bruno@clisp.org>
535         Make sure that build-aux/compile is in the tarball.
536         * autogen.sh: Fetch also 'build-aux/compile' through gnulib-tool.
537         * Makefile.devel (srclib/Makefile.in): Don't fetch nor delete
538         'build-aux/compile'.
539         * Makefile.in (AUTOMAKE_IMPORTED_FILES): Remove build-aux/compile.
540         (IMPORTED_FILES): Add build-aux/compile.
542 2020-08-29  Bruno Haible  <bruno@clisp.org>
544         Update after gnulib changed.
545         * configure.ac (AC_PREREQ): Bump minimum Autoconf version to 2.64.
547 2020-08-06  Bruno Haible  <bruno@clisp.org>
549         Avoid a GCC warning with GCC >= 7.
550         Reported by Reini Urban <rurban@cpan.org>
551         in <https://savannah.gnu.org/bugs/?58903>.
552         * lib/gentranslit.c (main): Reset i to 0 each time p gets a new value.
553         Add assertion about i's possible values.
555 2020-04-05  Bruno Haible  <bruno@clisp.org>
557         Fix an autogen.sh failure (regression from 2016-12-04).
558         Reported by Petr Ovtchenkov <ptr@void-ptr.info> in
559         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2020-04/msg00003.html>.
560         * autogen.sh: Invoke also the Makefile target srclib/Makefile.in, so as
561         to get build-aux/install-sh. Finish the "copy files" phase before recursing
562         through the subpackages tree through Makefile.devel.
563         * Makefile.devel: Reorder targets.
565 2020-04-04  Bruno Haible  <bruno@clisp.org>
567         Don't use LGPLv3.
568         * gnulib-local/modules/mbstate (License): Set to LGPLv2+.
570 2020-04-04  Bruno Haible  <bruno@clisp.org>
572         Change the license of the library from LGPL 2.0 to LGPL 2.1.
573         * COPYING.LIB: Upgrade to LGPL 2.1.
575 2019-12-23  Bruno Haible  <bruno@clisp.org>
577         Do export the symbol 'locale_charset' (needed by GNU bash).
578         * lib/Makefile.in (DEFS): Define also BUILDING_LIBCHARSET.
580 2019-09-01  Bruno Haible  <bruno@clisp.org>
582         build: Add support for shallow-cloning of subdirectories.
583         * gitsub.sh (func_usage): Document allowed git options with 'git pull'.
584         (func_pull): Accept GIT_OPTIONS argument.
585         (pull): Parse git options before complaining about too many arguments.
586         Pass the git options to func_pull.
588 2019-07-05  Bruno Haible  <bruno@clisp.org>
590         Don't export the symbol 'aliases_lookup' on non-ELF platforms.
591         * Makefile.devel (lib/aliases.h, lib/aliases_sysaix.h,
592         lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h):
593         Add a 'static' keyword in front of the declaration of aliases_lookup.
595 2019-07-02  Bruno Haible  <bruno@clisp.org>
597         Update to current gnulib.
598         * Makefile.devel (GNULIB_MODULES): Add lib-symbol-visibility.
599         (srclib/Makefile.gnulib): Copy codeset.m4.
600         * srclib/Makefile.am (AM_CFLAGS): Initialize.
602 2019-07-02  Bruno Haible  <bruno@clisp.org>
604         Drop unused macro gl_GLIBC21.
605         * autogen.sh: Don't copy glibc21.m4.
607 2019-05-22  Bruno Haible  <bruno@clisp.org>
609         Fix comment.
610         Reported by Paul Hardy <unifoundry@gmail.com>.
611         * lib/jisx0213.h: Fix comment about the underlying standard version.
613 2019-05-11  Bruno Haible  <bruno@clisp.org>
615         Update bug reporting instructions.
616         * README: Tell users to report bugs in the bug tracker or by email.
617         * src/iconv.c (usage): Likewise.
618         (print_version): Move URL out of translatable string.
620 2019-04-26  Bruno Haible  <bruno@clisp.org>
622         Update translations.
623         $ rsync -Lrtvz translationproject.org::tp/latest/libiconv/ po/new
624         $ cd po/new
625         $ for f in *.po; do \
626             msgmerge --update --lang=${f%.po} --previous $f ../libiconv.pot; \
627           done
628         $ mv *.po ../
629         $ cd ..; rm -rf new
631 2019-04-26  Bruno Haible  <bruno@clisp.org>
633         Update POT file.
634         $ cd po; make update-po
636 2019-04-26  Bruno Haible  <bruno@clisp.org>
638         Prepare for version 1.16.
639         * configure.ac: Bump version number to 1.16.
640         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
641         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 8:1:6.
642         * src/iconv.c (print_version): Update copyright year.
643         * windows/iconv.rc: Likewise.
644         * windows/libiconv.rc: Likewise.
645         * README: Update download link.
647 2019-04-26  Bruno Haible  <bruno@clisp.org>
649         Tweak exported symbols when --enable-relocatable is used.
650         * lib/Makefile.in (DEFS): Map 'relocate2' to a different symbol.
652 2019-04-01  Bruno Haible  <bruno@clisp.org>
654         build: Separate git operations from build operations.
655         * gitsub.sh: New file, from gnulib.
656         * .gitmodules: New file.
657         * autogen.sh: Remove all git operations. Look at GNULIB_SRCDIR
658         environment variable. Ignore the GNULIB_TOOL environment variable.
659         * HACKING: Explain when to use gitsub.sh.
661 2019-03-07  Bruno Haible  <bruno@clisp.org>
663         Avoid signed integer overflow during shifts.
664         Reported by Jeffrey Walton <noloader@gmail.com>.
665         * lib/tcvn.h (tcvn_wctomb): Use unsigned integer type for bit mask
666         operation.
667         * lib/viscii.h (viscii_wctomb): Likewise.
669 2019-03-04  Bruno Haible  <bruno@clisp.org>
671         Add support for --enable-relocatable to libcharset.
672         * autogen.sh: Copy some more files to libcharset/build-aux/ and
673         libcharset/m4/.
675 2019-03-04  Bruno Haible  <bruno@clisp.org>
677         Update --enable-relocatable support after gnulib changed.
678         * configure.ac: Move the LT_INIT invocation before the gl_RELOCATABLE
679         invocation. Remove unused argument to gl_RELOCATABLE.
681 2019-01-27  Bruno Haible  <bruno@clisp.org>
683         Accommodate a shell that is not in /bin/sh.
684         * Makefile.in (SHELL): Use the value found by configure.
685         * lib/Makefile.in (SHELL): Likewise.
686         * man/Makefile.in (SHELL): Likewise.
687         * src/Makefile.in (SHELL): Likewise.
688         * tests/Makefile.in (SHELL): Likewise.
689         (check, check-extra-yes): Use SHELL to run the check-* scripts.
691 2019-01-27  Bruno Haible  <bruno@clisp.org>
693         Update after gnulib changed.
694         * Makefile.in (GNULIB_IMPORTED_FILES): Remove build-aux/snippet/*.
696 2019-01-27  Bruno Haible  <bruno@clisp.org>
698         Update support for building with MSVC. Automake does not install ar-lib.
699         * autogen.sh: Fetch build-aux/ar-lib here.
700         * Makefile.devel (srclib/Makefile.in): Don't fetch build-aux/ar-lib
701         here.
702         * Makefile.in (AUTOMAKE_IMPORTED_FILES): Remove build-aux/ar-lib.
703         (IMPORTED_FILES): Add build-aux/ar-lib.
705 2019-01-06  Bruno Haible  <bruno@clisp.org>
707         Revisit handling of file descriptors closed by the parent process.
708         * src/iconv.c (main): Add comment.
710 2018-10-23  Bruno Haible  <bruno@clisp.org>
712         Remove outdated DJGPP build infrastructure.
713         Approved by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
714         * djgpp: Remove directory.
715         * INSTALL.djgpp: Remove file.
716         * Makefile.in (SOURCE_FILES): Remove them.
718 2018-10-23  Bruno Haible  <bruno@clisp.org>
720         Update after gnulib changed.
721         * configure.ac (AC_PREREQ): Bump minimum Autoconf version to 2.63.
723 2018-09-22  Bruno Haible  <bruno@clisp.org>
725         Avoid some warnings in MSVC build.
726         * include/export.h: Handle MSVC compiler as well.
728 2018-09-22  Bruno Haible  <bruno@clisp.org>
730         Update from gnulib. Move mapping tables into the code.
731         * autogen.sh: Don't create libcharset/m4/relocatable-lib.m4.
732         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean): Don't
733         remove lib/charset.alias.
734         * tests/check-subst: Don't set CHARSETALIASDIR.
736 2018-05-04  Bruno Haible  <bruno@clisp.org>
738         Drop special instructions for OSF/1.
739         * INSTALL.generic: Remove the recommendation for OSF/1.
741 2018-05-04  Bruno Haible  <bruno@clisp.org>
743         Simplify: Remove the ability to install a preloadable library.
744         * preload/*: Remove directory.
745         * Makefile.devel: Don't recurse into 'preload'.
746         * Makefile.in: Likewise.
747         * configure.ac: Don't declare 'preload' as a subdirectory.
748         * README, NEWS: Update.
750 2018-05-04  Bruno Haible  <bruno@clisp.org>
752         Simplify code. Drop support for Borland C++ on Windows.
753         * lib/iconv.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
754         'defined _WIN32'.
755         * lib/iconv_open1.h: Likewise.
757 2018-05-04  Bruno Haible  <bruno@clisp.org>
759         * lib/relocatable.c: Update from gnulib.
761 2018-05-04  Bruno Haible  <bruno@clisp.org>
763         Switch to automake 1.16.
764         * autogen.sh: Update comment.
765         * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.16.
766         * libcharset/Makefile.devel (ACLOCAL): Likewise.
767         * preload/Makefile.devel (ACLOCAL): Likewise.
769 2018-03-27  Bruno Haible  <bruno@clisp.org>
771         Doc tweaks.
772         * README: Don't recommend to use --prefix=/usr/local, as it produces
773         problems with GCC (since GCC's treatment of /usr/local/include and
774         /usr/local/lib is inconsistent by default). Don't recommend to use
775         the iconv.m4 installed by GNU gettext, because it won't work when
776         GNU automake and GNU gettext are installed with different --prefix
777         options; instead recommend the 'iconv' module from gnulib.
779 2018-01-27  Bruno Haible  <bruno@clisp.org>
781         Rename some files.
782         * INSTALL.windows: Renamed from README.windows.
783         * INSTALL.djgpp: Renamed from README.djgpp.
784         * Makefile.in (SOURCE_FILES): Update.
786 2018-01-03  Bruno Haible  <bruno@clisp.org>
788         Fix installation in 64-bit mode on AIX.
789         * lib/Makefile.in (AR): New variable.
790         (install): Use it instead of hardcoding 'ar'.
792 2017-11-26  Bruno Haible  <bruno@clisp.org>
794         Avoid end-of-lines problem in generated shell scripts on Cygwin.
795         Patch by Feiyun Wang <feiyunw@yahoo.com>.
796         * lib/genaliases.c (main): Create canonical.sh and canonical_local.sh
797         with Unix end-of-line characters, regardless of Cygwin choice of
798         text mode vs. binary mode.
800 2017-07-15  Bruno Haible  <bruno@clisp.org>
802         Allow building statically linked binaries, through LDFLAGS="-static".
803         Apply patch from
804         <https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>.
805         * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the link
806         mode, accept option '-static-uninstalled-libs' in place of '-static',
807         and make '-static' an equivalent of '-all-static'.
809 2017-07-15  Bruno Haible  <bruno@clisp.org>
811         Don't attempt to build preloadable_libiconv.so when linking statically.
812         * preload/configure.ac (enable_shared, enable_static): Don't force
813         shared libraries when LDFLAGS indicates static linking.
814         (PLUGLIB): Set to empty when is not configured for building shared
815         libraries.
817 2017-07-15  Bruno Haible  <bruno@clisp.org>
819         Get rid of autom4te.cache directories, as far as possible.
820         * Makefile.devel (srclib/Makefile.in, aclocal.m4, configure,
821         config.h.in): Remove autom4te.cache after invoking aclocal, autoconf,
822         autoheader, automake.
823         * preload/Makefile.devel (aclocal, configure): Likewise.
825 2017-05-18  Bruno Haible  <bruno@clisp.org>
827         * lib/relocatable.h: Update from gnulib.
828         * lib/relocatable.c: Update from gnulib.
830 2017-01-30  Bruno Haible  <bruno@clisp.org>
832         Prepare for version 1.15.
833         * src/iconv.c (print_version): Update copyright year.
834         * windows/iconv.rc: Likewise.
835         * windows/libiconv.rc: Likewise.
837 2016-12-29  Bruno Haible  <bruno@clisp.org>
839         Make Makefile.devel consistent with .gitignore.
840         * Makefile.devel (srclib/Makefile.in): Depend on aclocal.m4.
841         (totally-clean): Remove also aclocal.m4.
843 2016-12-25  Bruno Haible  <bruno@clisp.org>
845         Tweak autogen.sh.
846         * autogen.sh: Emit a "done" diagnostic when autogen.sh completed
847         successfully.
849 2016-12-25  Bruno Haible  <bruno@clisp.org>
851         Reorder Makefile.devel.
852         * Makefile.devel: Reorder: put gnulib targets before autotools targets.
854 2016-12-14  Bruno Haible  <bruno@clisp.org>
856         Cleanup useless removals.
857         * lib/Makefile.in (distclean): No need to remove 'libtool'.
859 2016-12-04  Bruno Haible  <bruno@clisp.org>
861         Update comments.
862         * Makefile.devel: Update comments about release process.
864 2016-12-04  Bruno Haible  <bruno@clisp.org>
866         Create tarballs through an Automake-like "make dist" command.
867         * Makefile.in (SOURCE_FILES, LIBTOOL_IMPORTED_FILES,
868         AUTOMAKE_OLD_IMPORTED_FILES, AUTOMAKE_IMPORTED_FILES, IMPORTED_FILES,
869         GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
870         (distdir): New target.
871         (PACKAGE, VERSION, TAR, GZIP): New macros.
872         (dist): New target.
873         * lib/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
874         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
875         (distdir): New target.
876         * man/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
877         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
878         (distdir): New target.
879         * preload/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
880         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
881         (distdir): New target.
882         * src/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
883         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
884         (distdir): New target.
885         * tests/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
886         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
887         (distdir): New target.
889 2016-12-04  Bruno Haible  <bruno@clisp.org>
891         Remove duplicates of imported files from version control.
892         * autogen.sh: Copy imported files to libcharset.
894 2016-12-04  Bruno Haible  <bruno@clisp.org>
896         Always use the newest released copies of files brought in from Automake.
897         * Makefile.devel (srclib/Makefile.in): Make sure to get new versions of
898         files brought in by automake.
899         * build-aux/install-sh: Remove from version control.
900         * build-aux/missing: Likewise.
902 2016-12-04  Bruno Haible  <bruno@clisp.org>
904         Always use the newest copies of config.guess, config.sub.
905         * Makefile.devel (gnulib-imported-files): New target.
906         * autogen.sh: Invoke it.
907         * build-aux/config.guess: Remove from version control.
908         * build-aux/config.sub: Likewise.
910 2016-12-04  Bruno Haible  <bruno@clisp.org>
912         Always use the newest copy of fcntl-o.m4.
913         * m4/fcntl-o.m4: Remove file. Rely on srcm4/fcntl-o.m4 instead.
915 2016-12-04  Bruno Haible  <bruno@clisp.org>
917         Remove obsolete documentation.
918         * PORTS: Remove file.
920 2016-12-03  Bruno Haible  <bruno@clisp.org>
922         Make Makefile.devel more useful for the users of the released tarball.
923         * Makefile.devel (srclib/Makefile.gnulib): Don't force this target.
924         (gnulib-clean): New target.
925         (totally-clean): New target. Do the removals from autogen.sh. Also,
926         remove lib/aliases*.gperf, lib/canonical*.h, man/iconvctl.3.html,
927         man/iconv_open_into.3.html.
928         * autogen.sh: Invoke target gnulib-clean before srclib/Makefile.gnulib.
929         Invoke target totally-clean before all.
930         * preload/Makefile.devel (totally-clean): New target.
932 2016-12-03  Bruno Haible  <bruno@clisp.org>
934         Modernize configure.ac.
935         * configure.ac: Use 2-argument AC_INIT. Avoid an AM_INIT_AUTOMAKE
936         warning.
937         * preload/configure.ac: Use 2-argument AC_INIT. Use AC_CONFIG_SRCDIR.
939 2016-12-03  Bruno Haible  <bruno@clisp.org>
941         Towards reproducible builds.
942         * Makefile.devel (man/%.html): Remove the CreationDate comment line
943         from the output.
945 2016-12-04  Bruno Haible  <bruno@clisp.org>
947         Update to gettext-0.19.8.1.
948         * ABOUT-NLS: Update through 'gettextize'.
950 2016-12-03  Bruno Haible  <bruno@clisp.org>
952         Update documentation.
953         * HACKING: Refer to the Git repository.
955 2016-12-03  Bruno Haible  <bruno@clisp.org>
957         Avoid compilation warnings in 'genflags' program.
958         * lib/genflags.c: Avoid warnings from GCC's -Wunused-function option.
960 2016-12-02  Bruno Haible  <bruno@clisp.org>
962         * relocatable.c: Update from gnulib.
964 2016-11-25  Bruno Haible  <bruno@clisp.org>
966         Prepare for version 1.15.
967         * configure.ac: Bump version number to 1.15.
968         * README: Likewise.
969         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
970         * windows/iconv.rc: Update.
971         * windows/libiconv.rc: Update.
972         * Makefile.devel: Update comments.
973         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 8:0:6.
974         * src/iconv.c (print_version): Update copyright year.
976 2016-11-23  Bruno Haible  <bruno@clisp.org>
978         Update installation instructions for Windows.
979         * README.windows: Assume a 64-bit Windows. Explain both 32-bit and
980         64-bit builds. Add instructions for the MS Visual C/C++ tool chain.
981         Revamp instructions for Cygwin.
983 2016-11-23  Bruno Haible  <bruno@clisp.org>
985         Drop the nickname "woe32".
986         * README.windows: Renamed from README.woe32.
988 2016-11-22  Bruno Haible  <bruno@clisp.org>
990         Update support for building with MSVC.
991         * Makefile.devel (srclib/Makefile.in): Import 'ar-lib' and 'compile'
992         from gnulib.
993         * lib/Makefile.in (install-lib, install): Install the .la file with
994         $(INSTALL), not $(INSTALL_DATA). Otherwise the native Windows DLL gets
995         installed without execution permissions, and programs linked to it fail:
996         in a Cygwin shell with exit code 127, or from a cmd.exe window with a
997         dialog "The application was unable to start correctly (0xc0000022)."
999 2016-11-19  Bruno Haible  <bruno@clisp.org>
1001         Fix link error when compiling with gcc -O0.
1002         * lib/iconv.c (aliases2_lookup): Make static.
1003         Reported by Chung-Lin Tang <chunglin.tang@gmail.com>
1004         at https://savannah.gnu.org/bugs/?47953 .
1006 2016-11-17  Bruno Haible  <bruno@clisp.org>
1008         UTF-8: Reject surrogates and out-of-range code points.
1009         * lib/utf8.h (utf8_mbtowc, utf8_wctomb): Reject code points in the
1010         range 0xD800..0xDFFF and >= 0x110000.
1011         * tests/genutf8.c (main): Don't emit mappings for 0xD800..0xDFFF.
1013 2016-10-22  Bruno Haible  <bruno@clisp.org>
1015         Switch to libtool 2.4.6.
1016         * m4/libtool.m4: Update from libtool-2.4.6, with modifications:
1017         2008-04-06  Bruno Haible  <bruno@clisp.org>
1018                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1019                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1020                 to ${CONFIG_SHELL}..
1021         * m4/ltoptions.m4: Likewise.
1022         * m4/ltversion.m4: Likewise.
1023         * build-aux/ltmain.sh: Likewise.
1025 2016-10-14  Bruno Haible  <bruno@clisp.org>
1027         Use 'size_t', not 'int', for the length of a string.
1028         * lib/iconv.c: Include <limits.h>.
1029         * lib/genflags.c: Likewise.
1030         * lib/converters.h (struct mbtowc_funcs, struct wctomb_funcs): Change
1031         'int n' parameter to 'size_t n'.
1032         (RET_COUNT_MAX): New macro.
1033         * lib/*.h: Use 'size_t n' instead of 'int n'.
1034         * lib/ucs2.h (ucs2_mbtowc): Make sure 'count' does not cause an 'int'
1035         overflow.
1036         * lib/ucs4.h (ucs4_mbtowc): Likewise.
1037         * lib/utf16.h (utf16_mbtowc): Likewise.
1038         * lib/utf32.h (utf32_mbtowc): Likewise.
1039         * tools/8bit_tab_to_h.c: Generate function signatures with 'size_t n'.
1040         * tools/cjk_tab_to_h.c: Likewise.
1041         * NEWS: Mention the change.
1043 2016-10-04  Bruno Haible  <bruno@clisp.org>
1045         Extend CP1255 mapping.
1046         * lib/cp1255.h (cp1255_2uni, cp1255_page05): Map 0xCA to U+05BA.
1047         * tests/CP1255.TXT: Likewise.
1048         This matches https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt
1049         and what the native Windows converter does since at least Windows XP.
1051 2016-10-01  Ben Noordhuis  <info@bnoordhuis.nl>  (tiny change)
1052             Bruno Haible  <bruno@clisp.org>
1054         Remove large stack requirement from gentranslit.
1055         * lib/gentranslit.c (main): Heap-allocate large arrays.
1056         * Makefile.devel (lib/translit.h): Remove 'ulimit -s unlimited' command.
1058 2015-12-10  Ben Noordhuis  <info@bnoordhuis.nl>  (tiny change)
1060         Remove unused array from gentranslit.
1061         * lib/gentranslit.c (main): Remove unused array.
1062         * Makefile.devel (CC): Add -Wall option.
1063         Reported in https://savannah.gnu.org/bugs/?46663 .
1065 2016-10-01  Bruno Haible  <bruno@clisp.org>
1067         Fix bug #41187.
1068         * src/iconv.c (main): Increment i after parsing the --silent option.
1069         Reported in https://savannah.gnu.org/bugs/?41187 .
1071 2016-10-01  Bruno Haible  <bruno@clisp.org>
1073         Update to current gnulib.
1074         * Makefile.devel (GNULIB_MODULES): Remove memmove.
1075         * tests/Makefile.in (INCLUDES): Make sure to include the top-level
1076         "config.h". Needed for the 'binary-io' module.
1078 2016-10-01  Bruno Haible  <bruno@clisp.org>
1080         Switch to automake 1.15.
1081         * autogen.sh: Update comment.
1082         * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.15.
1083         (srclib/Makefile.in): Don't remove auxiliary files brought in by
1084         automake.
1085         * preload/Makefile.devel (ACLOCAL): Switch to version 1.15.
1086         * srclib/Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects.
1087         * build-aux/missing: Update from automake-1.15.
1089 2016-10-01  Bruno Haible  <bruno@clisp.org>
1091         Remove autogenerated doc files from version control.
1092         * man/iconvctl.3.html: Remove file.
1093         * man/iconv_open_into.3.html: Remove file.
1095 2012-12-06  Bruno Haible  <bruno@clisp.org>
1097         Change copyright holder of man pages.
1098         * man/*.[13]: Replace myself with FSF.
1100 2012-06-30  Bruno Haible  <bruno@clisp.org>
1102         Make it possible to run 'genaliases2' on native Windows.
1103         * lib/genaliases2.c (main): Expect 3 arguments. Open the output files
1104         explicitly. Complain if they don't exist.
1105         * Makefile.devel (lib/aliases_*.h): Pass the output filenames as
1106         arguments to genaliases.
1107         Reported at <https://savannah.gnu.org/bugs/?36748>.
1109         Make it possible to run 'genaliases' on native Windows.
1110         * lib/genaliases.c (main): Expect 3 arguments. Open the output files
1111         explicitly. Complain if they don't exist. Improve error checking.
1112         * Makefile.devel (lib/aliases*.h): Pass the output filenames as
1113         arguments to genaliases.
1114         Reported at <https://savannah.gnu.org/bugs/?36748>.
1116 2012-05-13  Bruno Haible  <bruno@clisp.org>
1118         Tweak the GB18030 converter to map 0x8135F437 to U+E7C7.
1119         * lib/gb18030.h (gb18030_pua2charset, gb18030_wctomb): Remove mapping
1120         from U+E7C7 to 0xA8BC.
1121         * lib/gb18030uni.h (gb18030uni_mbtowc): Treat 0x8135F437 as a special
1122         case.
1123         (gb18030uni_wctomb): Treat U+E7C7 as a special case.
1124         * tests/GB18030-BMP.TXT: Map 0x8135F437 to U+E7C7, not U+1E3F.
1125         * tests/GB18030.IRREVERSIBLE.TXT: Remove irreversible mappings for
1126         0x8135F437 and U+E7C7.
1128 2012-04-28  Bruno Haible  <bruno@clisp.org>
1130         Switch to autoconf 2.69 and automake 1.12.
1131         * autogen.sh: Update comment.
1132         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.69.
1133         (AUTOMAKE, ACLOCAL): Switch to version 1.12.
1134         * preload/Makefile.devel (AUTOCONF): Switch to version 2.69.
1135         (ACLOCAL): Switch to version 1.12.
1137 2012-03-24  Bruno Haible  <bruno@clisp.org>
1139         Avoid a GCC warning.
1140         * lib/isoir165.h (isoir165_mbtowc): Don't shadow the 'ret' variable.
1142 2012-01-26  Bruno Haible  <bruno@clisp.org>
1144         Modernize quoting.
1145         * README: Quote 'like this', not `like this', as per the recent change
1146         to the GNU coding standards.
1147         * NOTES: Likewise.
1148         * gnulib-local/lib/xmalloc.c: Likewise.
1149         * lib/config.h.in: Likewise.
1150         * src/iconv.c (usage): Likewise.
1151         * tests/uniq-u.c: Likewise.
1152         * tools/cjk_tab_to_h.c (output_uni2charset_sparse, do_jisx0213):
1153         Likewise.
1154         * lib/big5.h: Update accordingly.
1155         * lib/cns11643_inv.h: Likewise.
1156         * lib/cp932ext.h: Likewise.
1157         * lib/cp950ext.h: Likewise.
1158         * lib/gb12345ext.h: Likewise.
1159         * lib/gb2312.h: Likewise.
1160         * lib/gbkext_inv.h: Likewise.
1161         * lib/hkscs1999.h: Likewise.
1162         * lib/hkscs2001.h: Likewise.
1163         * lib/hkscs2004.h: Likewise.
1164         * lib/hkscs2008.h: Likewise.
1165         * lib/isoir165ext.h: Likewise.
1166         * lib/jisx0208.h: Likewise.
1167         * lib/jisx0212.h: Likewise.
1168         * lib/jisx0213.h: Likewise.
1169         * lib/ksc5601.h: Likewise.
1170         * lib/uhc_1.h: Likewise.
1171         * lib/uhc_2.h: Likewise.
1173 2012-01-15  Bruno Haible  <bruno@clisp.org>
1175         Support for MSVC 9.
1176         * lib/config.h.in (inline, mode_t, ssize_t): Copy snippets from top
1177         config.h.in.
1178         * tests/genutf8.c: Include config.h.
1179         * tests/gengb18030z.c: Likewise.
1180         * woe32dll/export.h (VARIABLE): Define to empty if not using GCC.
1182 2011-01-28  Bruno Haible  <bruno@clisp.org>
1184         Add a comment.
1185         * woe32dll/export.h: Add a reference to the woe32dll writeup.
1187 2012-01-06  Bruno Haible  <bruno@clisp.org>
1189         Update after gnulib changed.
1190         * gnulib-local/lib/error.h.diff: Update.
1192 2012-01-06  Bruno Haible  <bruno@clisp.org>
1194         Talk about "native Windows API", not "Woe32".
1195         * lib/relocatable.c: Update comments to mention native Windows.
1197 2012-01-04  Bruno Haible  <bruno@clisp.org>
1199         Talk about "native Windows API", not "Win32".
1200         * lib/relocatable.c: Update comments to mention native Windows.
1201         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1203 2011-10-27  Bruno Haible  <bruno@clisp.org>
1205         Fix bug with error handling in UCS-2, UCS-4, UTF-32 decoders.
1206         * lib/ucs2.h (ucs2_mbtowc): Increment count only after validating wc.
1207         * lib/ucs4.h (ucs4_mbtowc): Likewise.
1208         * lib/utf32.h (utf32_mbtowc): Likewise.
1209         Reported at <https://savannah.gnu.org/bugs/?34916>.
1211 2012-06-30  Bruno Haible  <bruno@clisp.org>
1213         Improve ISO-2022-CP-MS versus CP932.
1214         * lib/iso2022_jpms.h (iso2022_jpms_mbtowc): Recognize characters from
1215         the rows 0x79..0x7C as rows from CP932.
1216         * tests/ISO-2022-JP-MS-snippet.alt: New file, renamed from
1217         tests/ISO-2022-JP-MS-snippet.
1218         * tests/ISO-2022-JP-MS-snippet.UTF-8: Update the rows that correspond
1219         to ESC $ B 0x79..0x7C.
1220         * tests/ISO-2022-JP-MS-snippet: Likewise.
1221         * tests/check-stateful: Also test the *-snippet.alt file if it exists.
1222         * tests/check-stateful.bat: Likewise.
1224 2012-06-30  Bruno Haible  <bruno@clisp.org>
1226         Improve ISO-2022-CP-MS versus CP932.
1227         * lib/cp50221_0208_ext.h (cp50221_0208_ext_page30): Map U+301D like
1228         U+301E.
1229         * lib/iso2022_jpms.h (iso2022_jpms_wctomb): Map U+663B to JISX0208
1230         0x7A 0x36, U+FFE2 to 0x7C 0x7B, U+FFE4 to 0x7C 0x7C.
1231         Reported by Jeff Diehl <diehl.jeff@gmail.com>.
1233 2011-10-23  Bruno Haible  <bruno@clisp.org>
1235         New encoding ISO-2022-CP-MS.
1236         * NOTES: Mention ISO-2022-JP-MS.
1237         * tools/CP50221-0208-EXT.TXT: New file.
1238         * tools/CP50221-0212-EXT.TXT: New file.
1239         * tools/8bit_tab_to_h.c: Add comments about how to generate
1240         cp50221_0208_ext.h, cp50221_0212_ext.h.
1241         * tools/Makefile: Add rules for generating cp50221_0208_ext.h,
1242         cp50221_0212_ext.h.
1243         * lib/cp50221_0208_ext.h: New file, mostly generated.
1244         * lib/cp50221_0212_ext.h: New file, mostly generated.
1245         * lib/iso2022_jpms.h: New file.
1246         * lib/converters.h: Include it.
1247         * lib/encodings.def: Add ISO-2022-JP-MS.
1248         * README, man/iconv_open.3: Add ISO-2022-JP-MS.
1249         * tests/ISO-2022-JP-MS-snippet: New file.
1250         * tests/ISO-2022-JP-MS-snippet.UTF-8: New file.
1251         * tests/Makefile.in (check): Also test ISO-2022-JP-MS.
1252         Reported by Jeff Diehl <diehl.jeff@gmail.com>.
1254 2011-10-23  Bruno Haible  <bruno@clisp.org>
1256         * lib/encodings.def: Add comments about Windows names of encodings.
1258 2011-10-18  Bruno Haible  <bruno@clisp.org>
1260         * m4/libtool.m4: Update from libtool-2.4.2, with modifications:
1261         2008-04-06  Bruno Haible  <bruno@clisp.org>
1262                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1263                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1264                 to ${CONFIG_SHELL}..
1265         * m4/ltoptions.m4: Likewise.
1266         * m4/ltversion.m4: Likewise.
1267         * build-aux/ltmain.sh: Likewise.
1269 2011-10-03  Bruno Haible  <bruno@clisp.org>
1271         * lib/relocatable.c: Update from gnulib.
1273 2011-09-02  Bruno Haible  <bruno@clisp.org>
1275         Fix "make check" failure when $(srcdir) != $(builddir).
1276         * tests/Makefile.in (check): When $(srcdir) != ., temporarily copy
1277         GB18030.IRREVERSIBLE.TXT into the build directory.
1278         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1280 2011-08-07  Bruno Haible  <bruno@clisp.org>
1282         Ensure all HTML-formatted man pages are up-to-date.
1283         * Makefile.devel (all): Depend on man/iconvctl.3.html and
1284         man/iconv_open_into.3.html.
1286 2011-08-07  Bruno Haible  <bruno@clisp.org>
1288         * Version 1.14 released.
1290 2011-08-07  Bruno Haible  <bruno@clisp.org>
1292         * configure.ac: Bump version number to 1.14.
1293         * README: Likewise.
1294         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
1295         * windows/iconv.rc: Update.
1296         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 7:1:5.
1297         * src/iconv.c (print_version): Update copyright year.
1299 2011-08-07  Bruno Haible  <bruno@clisp.org>
1301         Avoid a test failure on Solaris 2.6 and HP-UX 11.00.
1302         * tests/test-to-wchar.c (main): Skip the test if conversion to wchar_t
1303         is not supported.
1305 2011-08-07  Bruno Haible  <bruno@clisp.org>
1307         * tests/check-subst: Add comments about OSF/1.
1309 2011-08-07  Bruno Haible  <bruno@clisp.org>
1311         * lib/relocatable.c: Update from gnulib.
1313 2011-08-06  Bruno Haible  <bruno@clisp.org>
1315         Upgrade the GB18030 converter to the version from 2005.
1316         * lib/gb18030ext.h (gb18030ext_2uni_pagefe): Change element type to
1317         'unsigned int'. Change values for 0xFE51..0xFE53, 0xFE59, 0xFE61,
1318         0xFE66, 0xFE67, 0xFE6C, 0xFE6D, 0xFE76, 0xFE7E, 0xFE90, 0xFE91, 0xFEA0.
1319         (gb18030ext_mbtowc): Change type of wc to 'unsigned int'. Change values
1320         for 0xA6D9..0xA6DF, 0xA6EC..0xA6ED, 0xA6F3, 0xA8BC.
1321         (gb18030ext_page9f, gb18030ext_pagefe): New constant arrays.
1322         (gb18030ext_wctomb): Change values for U+1E3F, U+9FB4..U+9FBB,
1323         U+FE10..U+FE19, U+20087, U+20089, U+200CC, U+215D7, U+2298F, U+241FE.
1324         * tests/GB18030-BMP.TXT: Change values for 0xA6D9..0xA6DF,
1325         0xA6EC..0xA6ED, 0xA6F3, 0xA8BC, 0xFE51..0xFE53, 0xFE59, 0xFE61, 0xFE66,
1326         0xFE67, 0xFE6C, 0xFE6D, 0xFE76, 0xFE7E, 0xFE90, 0xFE91, 0xFEA0, to map
1327         to now-assigned Unicode codepoints.
1328         * tests/GB18030.IRREVERSIBLE.TXT: New file.
1330 2011-08-06  Bruno Haible  <bruno@clisp.org>
1332         Fix conversion bug in CP1258 converter.
1333         * lib/vietcomb.h (viet_comp_table_data): Remove entry for
1334         U+00A5 U+0301. Fix entry for U+00A8 U+0301.
1335         (viet_decomp_table): Fix entry for U+0385.
1336         * tests/CP1258.IRREVERSIBLE.TXT: Update.
1337         Reported by Gertjan Halkes <gertjan@ghalkes.nl>.
1339 2011-07-03  Bruno Haible  <bruno@clisp.org>
1341         Improve interactive behaviour of iconv program.
1342         * src/iconv.c (convert): Flush the output before starting a possibly
1343         blocking safe_read call.
1345 2011-07-03  Bruno Haible  <bruno@clisp.org>
1347         Fix interactive behaviour of iconv program.
1348         * Makefile.devel (GNULIB_MODULES): Add safe-read.
1349         * src/iconv.c: Include safe-read.h.
1350         (convert): Take the infile as a file descriptor, not as a FILE stream.
1351         Use safe_read() instead of fread().
1352         (main): Update.
1353         Reported by Xavier Pucel <xpucel@hotmail.com>.
1355 2011-05-02  Bruno Haible  <bruno@clisp.org>
1357         Update after gnulib changed.
1358         * autogen.sh (GNULIB_MODULES): Remove exit, add stdlib.
1360 2011-06-02  Bruno Haible  <bruno@clisp.org>
1362         Update after gnulib changed.
1363         * gnulib-local/m4/alloca.m4 (gl_FUNC_ALLOCA): Update.
1365 2011-06-04  Bruno Haible  <bruno@clisp.org>
1367         Work around <wchar.h> bug on OSF/1 5.1.
1368         * lib/loop_wchar.h: Before including <wchar.h>, include <stdio.h> and
1369         some other includes.
1371 2011-03-27  KO Myung-Hun  <komh@chollian.net>
1373         Fix installation on OS/2.
1374         * src/Makefile.in (all, iconv_no_i18n): Add $(EXEEXT) suffix to
1375         iconv_no_i18n. This is the recommended way to use libtool, see
1376         <https://lists.gnu.org/archive/html/bug-libtool/2009-04/msg00013.html>.
1378 2011-03-31  Bruno Haible  <bruno@clisp.org>
1380         gentranslit: Fix buffer overrun.
1381         * lib/gentranslit.c (main): Allocate more room for the suffix strings
1382         of the translit pages.
1383         Reported by Ben Noordhuis <info@bnoordhuis.nl>.
1385 2011-02-28  Bruno Haible  <bruno@clisp.org>
1387         * lib/relocatable.h: Update from gnulib.
1388         * lib/relocatable.c: Likewise.
1390 2011-01-29  Corinna Vinschen  <corinna-cygwin@cygwin.com>
1391             Bruno Haible  <bruno@clisp.org>
1393         Simplify "wchar_t" handling on Cygwin 1.7.x.
1394         * lib/iconv.c (iconv_canonicalize): On Cygwin >= 1.7, map
1395         ei_local_wchar_t to ei_utf16le or ei_utf16be, not ei_ucs2internal.
1396         * lib/iconv_open1.h: Likewise.
1397         Rationale: <https://cygwin.com/ml/cygwin/2011-01/msg00410.html>.
1399 2011-01-29  Bruno Haible  <bruno@clisp.org>
1401         Adjust the meaning of "wchar_t" on native Windows systems.
1402         * lib/iconv.c (iconv_canonicalize): On native Windows, map
1403         ei_local_wchar_t to ei_utf16le or ei_utf16be, not ei_ucs2internal.
1404         * lib/iconv_open1.h: Likewise.
1405         Reported by Corinna Vinschen <corinna-cygwin@cygwin.com>
1406         in <https://cygwin.com/ml/cygwin/2011-01/msg00410.html>.
1408 2010-11-23  Bruno Haible  <bruno@clisp.org>
1410         Implement newer release of BIG5-HKSCS.
1411         * tools/Makefile (ALL): Add hkscs2008.h.
1412         (hkscs2008.h): New rule.
1413         * tools/cjk_tab_to_h.c (main): Recognize hkscs2008.
1414         * lib/encodings.def: Add BIG5-HKSCS:2008. Change BIG5-HKSCS alias to be
1415         equivalent to BIG5-HKSCS:2008.
1416         * lib/hkscs2008.h: New file, autogenerated.
1417         * lib/big5hkscs2008.h: New file, based on lib/big5hkscs2004.h.
1418         * lib/converters.h: Include the new file.
1419         * README, man/iconv_open.3: Add BIG5-HKSCS:2004.
1420         * tests/BIG5-HKSCS-2008.TXT: New file, based on
1421         tests/BIG5-HKSCS-2004.TXT.
1422         * tests/BIG5-HKSCS-2008.IRREVERSIBLE.TXT: New file, copied from
1423         tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT
1424         * tests/BIG5-HKSCS-2008-snippet: New file, based on
1425         tests/BIG5-HKSCS-2004-snippet.
1426         * tests/BIG5-HKSCS-2008-snippet.UTF-8: New file, based on
1427         tests/BIG5-HKSCS-2004-snippet.UTF-8.
1428         * tests/Makefile.in (check): Check also BIG5-HKSCS:2008.
1429         Reported by oCameLo <camel322@gmail.com>.
1431 2010-11-23  Bruno Haible  <bruno@clisp.org>
1433         Make cjk_tab_to_h 64-bit clean.
1434         * tools/cjk_tab_to_h.c (do_jisx0213): Add a cast from size_t to int.
1435         (output_title): Update copyright year.
1437 2010-09-23  Bruno Haible  <bruno@clisp.org>
1439         Switch to autoconf 2.68.
1440         * autogen.sh: Update comment.
1441         * configure.ac: Fix AC_COMPILE_IFELSE invocation.
1442         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.68.
1443         * preload/Makefile.devel (AUTOCONF): Likewise.
1445 2010-09-23  Bruno Haible  <bruno@clisp.org>
1447         * m4/libtool.m4: Update from libtool-2.4, with modifications:
1448         2008-04-06  Bruno Haible  <bruno@clisp.org>
1449                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1450                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1451                 to ${CONFIG_SHELL}.
1452         * m4/ltversion.m4: Update from libtool-2.4.
1453         * build-aux/ltmain.sh: Likewise.
1455 2010-09-23  Bruno Haible  <bruno@clisp.org>
1457         Simplify use of gnulib-tool now that gnulib-tool --import works better.
1458         * autogen.sh: Don't remove gnulib-cache.m4 before running gnulib-tool.
1459         * Makefile.devel (srclib/Makefile.gnulib): Depend on 'force'.
1461 2010-07-31  Bruno Haible  <bruno@clisp.org>
1463         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.67.
1464         * preload/Makefile.devel (AUTOCONF): Likewise.
1466 2010-07-03  Bruno Haible  <bruno@clisp.org>
1468         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.66.
1469         * preload/Makefile.devel (AUTOCONF): Likewise.
1471 2010-06-04  Bruno Haible  <bruno@clisp.org>
1473         Addendum to 2009-10-18 commit.
1474         * m4/fcntl-o.m4: New file, from gnulib.
1475         * configure.ac: Invoke gl_FCNTL_O_FLAGS.
1476         * lib/config.h.in (HAVE_WORKING_O_NOFOLLOW): New macro.
1478 2010-06-04  Bruno Haible  <bruno@clisp.org>
1480         * m4/libtool.m4: Update from libtool-2.2.8, with modifications:
1481         2008-04-06  Bruno Haible  <bruno@clisp.org>
1482                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1483                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1484                 to ${CONFIG_SHELL}.
1485         * m4/ltoptions.m4: Update from libtool-2.2.8.
1486         * m4/ltversion.m4: Likewise.
1487         * m4/lt~obsolete.m4: Likewise.
1488         * build-aux/ltmain.sh: Likewise.
1490 2010-04-06  Bruno Haible  <bruno@clisp.org>
1492         Avoid a compilation error of gnulib's test-iconv-h-c++.cc on mingw.
1493         * include/iconv.h.in: Restrict the extern "C" { ... } scope so that it
1494         doesn't contains #include directives.
1496 2010-03-30  Bruno Haible  <bruno@clisp.org>
1498         * README.woe32: Update for Cygwin 1.7.x.
1500 2009-12-26  Bruno Haible  <bruno@clisp.org>
1502         * windows/libiconv.rc: Update.
1503         * windows/iconv.rc: Update.
1505 2009-12-11  Bruno Haible  <bruno@clisp.org>
1507         * include/iconv.h.in: Untabify.
1508         * gnulib-local/lib/xalloc.h: Untabify.
1509         * woe32dll/export.h: Untabify.
1510         * tests/uniq-u.c: Untabify.
1512 2009-12-11  Bruno Haible  <bruno@clisp.org>
1514         * srclib/Makefile.am (MOSTLYCLEANDIRS): New macro.
1516 2009-12-11  Bruno Haible  <bruno@clisp.org>
1518         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.65.
1519         * preload/Makefile.devel (AUTOCONF): Likewise.
1521 2009-11-22  Bruno Haible  <bruno@clisp.org>
1523         * tests/check-subst: Add reference to the Solaris printf bug.
1524         Reported by Dagobert Michelsen <dagobert@familie-michelsen.de>.
1526 2009-09-01  Bruno Haible  <bruno@clisp.org>
1528         * README.woe32: Put the -mno-cygwin option into CC and CXX.
1529         Recommended by Paolo Bonzini and Eric Blake.
1531 2009-08-15  Bruno Haible  <bruno@clisp.org>
1533         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.64.
1534         * preload/Makefile.devel (AUTOCONF): Likewise.
1536 2009-08-15  Bruno Haible  <bruno@clisp.org>
1538         Use .git/info/exclude, not .gitignore, for imported or generated files.
1539         * Makefile.devel (srclib/Makefile.gnulib): Pass option --no-vc-files to
1540         gnulib-tool.
1542 2009-07-07  Bruno Haible  <bruno@clisp.org>
1544         Fix an endless loop.
1545         * lib/loop_wchar.h (wchar_to_loop_convert): Handle the case of
1546         incomplete input correctly.
1547         * tests/test-to-wchar.c: New file.
1548         * tests/Makefile.in (tests-to-wchar, tests-to-wchar.o): New rules.
1549         (check): Depend on and run tests-to-wchar.
1550         (clean): Add tests-to-wchar.
1551         Reported by Tristan Gingold <gingold@adacore.com>.
1553 2009-06-30  Bruno Haible  <bruno@clisp.org>
1555         * Version 1.13.1 released.
1557 2009-06-30  Bruno Haible  <bruno@clisp.org>
1559         * configure.ac: Bump version number to 1.13.1.
1560         * README: Likewise.
1562 2009-06-04  Bruno Haible  <bruno@clisp.org>
1564         * preload/Makefile.devel (AUTOCONF): Switch to version 2.63.
1565         (ACLOCAL): Switch to version 1.11.
1567 2009-05-19  Bruno Haible  <bruno@clisp.org>
1569         * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.11.
1570         * autogen.sh: Update comments.
1572 2009-04-24  Bruno Haible  <bruno@clisp.org>
1574         Fix a compilation error on HP-UX 11.00, introduced on 2008-09-16.
1575         * src/iconv_open2.h: Don't initialize nonexistent field if
1576         !(HAVE_WCRTOMB || HAVE_MBRTOWC).
1577         Patch by Joel Brobecker <brobecker@adacore.com>.
1579 2009-04-15  Bruno Haible  <bruno@clisp.org>
1581         * src/Makefile.in (install, uninstall): Append the $(EXEEXT) suffix
1582         explicitly. Needed on Cygwin.
1584 2009-04-11  Bruno Haible  <bruno@clisp.org>
1586         * configure.ac: Move the statements for WOE32 and WINDRES.
1588 2009-03-26  Bruno Haible  <bruno@clisp.org>
1590         * Version 1.13 released.
1592 2009-03-26  Bruno Haible  <bruno@clisp.org>
1594         * src/iconv.c: Update copyright header to GPLv3+.
1595         (print_version): Update license info.
1597 2009-03-26  Bruno Haible  <bruno@clisp.org>
1599         * src/iconv.c (print_version): Bump year.
1601 2009-03-25  Bruno Haible  <bruno@clisp.org>
1603         * build-aux/config.guess: Update to GNU version 2009-02-03.
1604         * build-aux/config.sub: Likewise.
1606 2009-03-25  Bruno Haible  <bruno@clisp.org>
1608         * configure.ac: Bump version number to 1.13.
1609         * README: Likewise.
1610         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
1611         * windows/iconv.rc: Update.
1612         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 7:0:5.
1614 2009-03-25  Bruno Haible  <bruno@clisp.org>
1616         Fix the handling of Windows resources in shared libraries.
1617         * configure.ac: Invoke LT_LANG for 'Windows Resource'.
1618         * lib/Makefile.in (RC): New variable.
1619         (WINDRES): Remove variable.
1620         (OBJECTS_RES_yes): Add .lo suffix.
1621         (libiconv.res.lo): Renamed from libiconv.res. Use libtool --tag=RC.
1622         (clean): Simplify.
1623         Based on a patch by Roumen Petrov <bugtrack@roumenpetrov.info>.
1625 2009-03-14  Bruno Haible  <bruno@clisp.org>
1627         * autogen.sh: Checkout gnulib using 'git' instead of 'cvs'.
1629 2009-01-24  Bruno Haible  <bruno@clisp.org>
1631         * tools/Makefile (ALL): Add cp1131.h.
1632         (cp1131.h): New rule.
1633         * lib/encodings.def: Add CP1131.
1634         * lib/cp1131.h: New file.
1635         * lib/converters.h: Include it.
1636         * README, man/iconv_open.3: Add CP1131.
1637         * NOTES: Mention CP1131.
1638         * tests/CP1131.TXT: New file.
1639         * tests/Makefile.in (check): Also test CP1131.
1641 2009-01-17  Bruno Haible  <bruno@clisp.org>
1643         Add support for "make install-strip".
1644         * configure.ac: Search for 'strip'. Invoke AM_PROG_INSTALL_STRIP.
1645         * Makefile.in (install-strip): New rule.
1646         * src/Makefile.in (STRIP, INSTALL_STRIP_PROGRAM, install_sh): New
1647         variables.
1648         (install-strip): New rule.
1649         * lib/Makefile.in (install-strip): New target.
1650         * preload/Makefile.in (install-strip): Likewise.
1651         * man/Makefile.in (install-strip): Likewise.
1652         Reported by Alon Bar-Lev <alon.barlev@gmail.com>.
1654 2009-01-17  Bruno Haible  <bruno@clisp.org>
1656         Update after gnulib changed.
1657         * src/Makefile.in (RELOCATABLE_STRIP): New variable.
1659 2009-01-17  Bruno Haible  <bruno@clisp.org>
1661         Make --enable-relocatable work on glibc systems.
1662         * src/Makefile.in (host): New variable.
1664 2009-01-17  Bruno Haible  <bruno@clisp.org>
1666         * lib/genflags.c: Include <string.h>.
1668 2009-01-14  Bruno Haible  <bruno@clisp.org>
1670         * configure.ac: More consistent m4 quoting.
1671         * preload/configure.ac: Likewise.
1673 2008-09-28  Bruno Haible  <bruno@clisp.org>
1675         * build-aux/ltmain.sh (func_emit_cwrapperexe_src): On mingw,
1676         preprocess the argument vector through prepare_spawn.
1678 2008-09-27  Bruno Haible  <bruno@clisp.org>
1680         * build-aux/config.guess: Update to GNU version 2008-09-08.
1681         * build-aux/config.sub: Likewise.
1683 2008-09-26  Bruno Haible  <bruno@clisp.org>
1685         * tests/test-shiftseq.c (main1, main2): Use ICONV_CONST.
1687 2008-09-26  Bruno Haible  <bruno@clisp.org>
1689         * Makefile.devel (GNULIB_MODULES): Add sigpipe, stdio.
1690         * tests/Makefile.in (check, table-from, table-to, test-shiftseq): Link
1691         all programs against libicrt.a. Needed for the stdio function
1692         replacements on mingw.
1694 2008-09-21  Tadamasa Teranishi  <yw3t-trns@asahi-net.or.jp>
1696         * lib/encodings_extra.def: Add aliases for EUC-JISX0213, SHIFT_JISX0213,
1697         ISO-2022-JP-3, found on <http://x0213.org/codetable/index.en.html>.
1699 2008-09-20  Bruno Haible  <bruno@clisp.org>
1701         * man/iconv_open_into.3: New file.
1703 2008-09-16  Bruno Haible  <bruno@clisp.org>
1705         New function iconv_open_into.
1706         * include/iconv.h.in: Include <wchar.h> and its prerequisites.
1707         (iconv_allocation_t): New type.
1708         (iconv_open_into): New declaration.
1709         * lib/iconv_open1.h: New file, extracted from lib/iconv.c.
1710         * lib/iconv_open2.h: New file, extracted from lib/iconv.c.
1711         * lib/iconv.c (iconv_open): Include iconv_open1.h and iconv_open2.h.
1712         Verify size of iconv_allocation_t.
1713         (iconv_open_into): New function.
1714         * lib/loop_wchar.h (struct wchar_conv_struct): Don't define a state
1715         field if !(HAVE_WCRTOMB || HAVE_MBRTOWC).
1716         * configure.ac: Set and substitute USE_MBSTATE_T, BROKEN_WCHAR_H.
1717         Reported by Roman Rybalko <romanr@romanr.info>.
1719 2008-09-16  Bruno Haible  <bruno@clisp.org>
1721         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.63.
1723 2008-09-16  Bruno Haible  <bruno@clisp.org>
1725         * include/iconv.h.in: Use Unicode single-quotes in comments.
1727 2008-09-14  Bruno Haible  <bruno@clisp.org>
1729         * Makefile.devel (GNULIB_MODULES): Add strerror.
1731 2008-09-07  Bruno Haible  <bruno@clisp.org>
1733         Make behaviour when encountering invalid input after a shift sequence
1734         more consistent.
1735         * lib/converters.h (RET_SHIFT_ILSEQ): New macro.
1736         (RET_ILSEQ): Define in terms of RET_SHIFT_ILSEQ.
1737         (RET_TOOFEW): Change to avoid collisions with RET_SHIFT_ILSEQ.
1738         (DECODE_SHIFT_ILSEQ, DECODE_TOOFEW): New macros.
1739         * lib/loop_unicode.h (unicode_loop_convert): Take into account the
1740         shift count contained in the negative return values.
1741         * lib/hz.h (hz_mbtowc): When encountering invalid input, store the
1742         modified state and return RET_SHIFT_ILSEQ.
1743         * lib/iso2022_cn.h (iso2022_cn_mbtowc): Likewise.
1744         * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Likewise.
1745         * lib/iso2022_jp.h (iso2022_jp_mbtowc): Likewise.
1746         * lib/iso2022_jp1.h (iso2022_jp1_mbtowc): Likewise.
1747         * lib/iso2022_jp2.h (iso2022_jp2_mbtowc): Likewise.
1748         * lib/iso2022_jp3.h (iso2022_jp3_mbtowc): Likewise.
1749         * lib/iso2022_kr.h (iso2022_kr_mbtowc): Likewise.
1750         * lib/ucs2.h (ucs2_mbtowc): Likewise.
1751         * lib/ucs4.h (ucs4_mbtowc): Likewise.
1752         * lib/utf16.h (utf16_mbtowc): Likewise.
1753         * lib/utf32.h (utf32_mbtowc): Likewise.
1754         * lib/utf7.h (utf7_mbtowc): Likewise.
1755         * lib/utf16be.h (utf16be_mbtowcutf16be_mbtowc): When encountering
1756         invalid input, return RET_SHIFT_ILSEQ.
1757         * lib/utf16le.h (utf16le_mbtowc): Likewise.
1758         * tests/test-shiftseq.c: New file.
1759         * tests/Makefile.in (check): Run test-shiftseq.
1760         (test-shiftseq, test-shiftseq.@OBJEXT@): New rules.
1761         (clean): Remove test-shiftseq executable.
1762         Reported by Roman Rybalko <roman_rybalko@users.sourceforge.net>
1763         at <https://savannah.gnu.org/bugs/?24216>.
1765 2008-09-07  Bruno Haible  <bruno@clisp.org>
1767         * man/iconv.3: Clarify the processing of shift-sequences.
1769 2008-09-07  Bruno Haible  <bruno@clisp.org>
1771         * m4/libtool.m4: Update from libtool-2.2.6, with modifications:
1772         2008-04-06  Bruno Haible  <bruno@clisp.org>
1773                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1774                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1775                 to ${CONFIG_SHELL}.
1776         * m4/ltoptions.m4: Update from libtool-2.2.6.
1777         * m4/ltsugar.m4: Likewise.
1778         * m4/ltversion.m4: Likewise.
1779         * build-aux/ltmain.sh: Likewise.
1781 2008-09-06  Bruno Haible  <bruno@clisp.org>
1783         * lib/gbk.h (gbk_wctomb): Fix an out-of-bounds write.
1784         Reported by Roman Rybalko <roman_rybalko@users.sourceforge.net>
1785         at <https://savannah.gnu.org/bugs/?24214>.
1787 2008-06-30  Bruno Haible  <bruno@clisp.org>
1789         Fix sed expressions to work with the old sed-3.02 on MSYS.
1790         * windows/windres-options (sed_extract_major, sed_extract_minor,
1791         sed_extract_subminor): Put a semicolon before the closing brace. Use
1792         an i\ command instead of an a\ command.
1793         Reported by Sunil Negi <sunil.negi@morningstar.com>
1794         in <http://article.gmane.org/gmane.comp.gnu.mingw.msys/4410>
1795         via Keith Marshall <keithmarshall@users.sourceforge.net>.
1797 2008-05-22  Bruno Haible  <bruno@clisp.org>
1799         * README.woe32: Update with info from GNU gettext's README.woe32.
1801 2008-05-18  Bruno Haible  <bruno@clisp.org>
1803         * m4/libtool.m4: Update from libtool-2.2.4, with modifications:
1804         2008-04-06  Bruno Haible  <bruno@clisp.org>
1805                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1806                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1807                 to ${CONFIG_SHELL}.
1808         * m4/ltoptions.m4: Update from libtool-2.2.4.
1809         * m4/ltversion.m4: Likewise.
1810         * m4/lt~obsolete.m4: Likewise.
1811         * build-aux/ltmain.sh: Likewise.
1813 2008-04-14  Bruno Haible  <bruno@clisp.org>
1815         * tests/Makefile.in (check): Remove *.dSYM directories left over by gcc
1816         on MacOS X 10.5.
1818 2008-04-14  Bruno Haible  <bruno@clisp.org>
1820         * preload/configure.ac: Invoke AC_USE_SYSTEM_EXTENSIONS instead of
1821         AC_AIX and AC_MINIX.
1822         * Makefile.devel (AUTOCONF, AUTOHEADER): Require autoconf-2.62.
1823         * preload/Makefile.devel (AUTOCONF): Likewise.
1824         * autogen.sh: Likewise.
1826 2008-04-06  Bruno Haible  <bruno@clisp.org>
1828         * m4/libtool.m4: Update from libtool-2.2.2, with modifications:
1829         2008-04-06  Bruno Haible  <bruno@clisp.org>
1830                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1831                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1832                 to ${CONFIG_SHELL}.
1833         * m4/ltoptions.m4: New file, from libtool-2.2.2.
1834         * m4/ltsugar.m4: New file, from libtool-2.2.2.
1835         * m4/ltversion.m4: New file, from libtool-2.2.2.
1836         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
1837         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
1838         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
1839         * preload/configure.ac: Likewise.
1841 2008-04-06  Bruno Haible  <bruno@clisp.org>
1843         More portable way of building the preloadable library.
1844         * preload/Makefile.devel: New file.
1845         * preload/Makefile.in: New file, based on lib/Makefile.in.
1846         * preload/configure.ac: New file, based on configure.ac.
1847         * Makefile.devel (all): Recurse into preload directory.
1848         * Makefile.in (all, install, installdirs, uninstall, check,
1849         mostlyclean, clean, distclean, maintainer-clean): Recurse into preload
1850         directory.
1851         * configure.ac: Likewise.
1852         (OS, GCC, PLUGLIB): Remove definitions.
1853         * lib/Makefile.in (all): Don't depend on PLUGLIB.
1854         (preloadable_libiconv.so, preloadable_libiconv_linux.so,
1855         preloadable_libiconv_solaris.so, preloadable_libiconv_osf.so): Remove
1856         rules.
1857         (install, uninstall, clean): Don't handle the preloadable library here.
1859 2008-04-06  Bruno Haible  <bruno@clisp.org>
1861         Avoid a gcc warning.
1862         * lib/loop_unicode.h (unicode_loop_convert): Add a cast.
1864 2008-04-06  Bruno Haible  <bruno@clisp.org>
1866         * src/iconv.c (print_version): Bump year.
1868 2008-04-06  Bruno Haible  <bruno@clisp.org>
1870         Support all possible nl_langinfo(CODESET) results on the respective
1871         platforms, according to libcharset/lib/config.charset.
1872         * lib/encodings.def: Add DEFALIAS statements, conditional on
1873         USE_AIX_ALIASES, USE_HPUX_ALIASES, USE_OSF1_ALIASES,
1874         USE_SOLARIS_ALIASES.
1875         * lib/encodings_aix.def: Add DEFALIAS statements, conditional on
1876         USE_AIX_ALIASES.
1877         * lib/encodings_osf1.def: Add DEFALIAS statements, conditional on
1878         USE_OSF1_ALIASES.
1879         * lib/genaliases.c (emit_alias): New function, extracted from
1880         emit_encoding.
1881         (emit_encoding): Use it.
1882         (main): Define DEFALIAS.
1883         * lib/genaliases2.c (counter): New variable, extracted from
1884         emit_encoding.
1885         (emit_alias): New function, extracted from emit_encoding.
1886         (emit_encoding): Use it.
1887         (main): Define DEFALIAS.
1888         * lib/genflags.c (main): Define DEFALIAS.
1889         * lib/iconv.c (all_encodings): Define DEFALIAS.
1890         Include the system dependent variant of aliases.h on the appropriate
1891         systems.
1892         (all_canonical): Include the system dependent variant of canonical.h,
1893         canonical_aix.h, canonical_osf1.h, canonical_local.h on the appropriate
1894         systems.
1895         * lib/aliases2.h: Include the system dependent variant of
1896         aliases_aix.h or aliases_osf1.h on the appropriate systems.
1897         * lib/Makefile.in (iconv.lo): Depend on aliases_sysaix.h,
1898         aliases_syshpux.h, aliases_sysosf1.h, aliases_syssolaris.h,
1899         aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h, and also
1900         aliases_extra.h, translit.h.
1901         * Makefile.devel (all): Depend on lib/aliases_sysaix.h,
1902         lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h,
1903         lib/aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h.
1904         (lib/aliases_sysaix.h, lib/aliases_syshpux.h, lib/aliases_sysosf1.h,
1905         lib/aliases_syssolaris.h): New rules.
1906         (lib/aliases_aix_sysaix.h): New rule.
1907         (lib/aliases_osf1_sysosf1.h): New rule.
1908         * autogen.sh: Also remove lib/aliases_sysaix.h, lib/aliases_syshpux.h,
1909         lib/aliases_sysosf1.h, lib/aliases_syssolaris.h,
1910         lib/aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h.
1912 2008-04-06  Bruno Haible  <bruno@clisp.org>
1914         * build-aux/config.libpath: Remove file, brought in by gnulib-tool.
1915         * build-aux/config.rpath: Remove file, brought in by gnulib-tool.
1917 2007-11-11  Bruno Haible  <bruno@clisp.org>
1919         * Version 1.12 released.
1921 2007-11-11  Bruno Haible  <bruno@clisp.org>
1923         * Makefile.devel (AUTOCONF, AUTOHEADER): Require version 2.61.
1924         (AUTOMAKE, ACLOCAL): Require version 1.10.
1925         (srclib/Makefile.in): Avoid error from automake.
1927 2007-10-26  Bruno Haible  <bruno@clisp.org>
1929         * m4/libtool.m4: Update, based on libtool-1.5.24.
1930         * build-aux/ltmain.sh: Update, based on libtool-1.5.24.
1932 2007-10-23  Bruno Haible  <bruno@clisp.org>
1934         * build-aux/config.guess: Update to GNU version 2007-07-22.
1935         * build-aux/config.sub: Likewise.
1937 2007-10-23  Bruno Haible  <bruno@clisp.org>
1939         * configure.ac: Bump version number to 1.12.
1940         * README: Likewise.
1942 2007-10-23  Bruno Haible  <bruno@clisp.org>
1944         Move relocatability infrastructure to gnulib.
1945         * gnulib-local/lib/relocatable.h: Remove file.
1946         * gnulib-local/lib/relocatable.c: Remove file.
1948 2007-10-23  Bruno Haible  <bruno@clisp.org>
1950         Update from GNU gettext.
1951         2006-11-26  Bruno Haible  <bruno@clisp.org>
1952                 * gnulib-local/lib/xalloc.h (xmemdup): Add a typesafe C++
1953                 template variant.
1954                 Based on a patch from Paul Eggert in gnulib.
1955         2006-11-06  Bruno Haible  <bruno@clisp.org>
1956                 * gnulib-local/lib/xalloc.h (xcharalloc): New macro.
1957                 (xmemdup): New declaration.
1958                 * gnulib-local/lib/xstrdup.c (xmemdup): New function.
1959         2006-11-03  Bruno Haible  <bruno@clisp.org>
1960                 * gnulib-local/lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC,
1961                 XCALLOC): New macros.
1962                 (xnboundedmalloc): New inline function.
1963                 * gnulib-local/lib/xstrdup.c (xstrdup): Use XNMALLOC instead of
1964                 xmalloc.
1965         2006-11-02  Bruno Haible  <bruno@clisp.org>
1966                 * lib/xalloc.h (xnmalloc): New declaration. From gnulib
1967                 xalloc.h.
1968                 * lib/xmalloc.c (fixup_null_alloc): Write NULL, not 0.
1969                 (xnmalloc): New function.
1971 2007-10-23  Bruno Haible  <bruno@clisp.org>
1973         Moved module xreadlink to gnulib.
1974         * gnulib-local/modules/xreadlink: Remove file.
1975         * gnulib-local/lib/xreadlink.h: Remove file.
1976         * gnulib-local/lib/xreadlink.c: Remove file.
1977         * gnulib-local/m4/xreadlink.m4: Remove file.
1979 2007-10-07  Bruno Haible  <bruno@clisp.org>
1981         Update program license to GPLv3.
1982         * COPYING: Replace with GPL 3.
1983         * windows/iconv.rc (Comments): Update.
1985 2007-10-07  Bruno Haible  <bruno@clisp.org>
1987         * gnulib-local/lib/alloca.in.h: Renamed from gnulib-local/lib/alloca_.h.
1989 2007-03-30  Bruno Haible  <bruno@clisp.org>
1991         * gnulib-local/lib/alloca_.h: Change prefix of double-inclusion guard
1992         macro to _GL_.
1994 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1996         * gnulib-local/lib/alloca_.h (alloca) [defined alloca]: Don't define or
1997         declare.
1999 2007-09-29  Bruno Haible  <bruno@clisp.org>
2001         * autogen.sh (GNULIB_CVS_ROOT): Change to read-only git mirror
2002         valid since 2007-09-19.
2004 2007-07-07  Bruno Haible  <bruno@clisp.org>
2006         * autogen.sh: Add an option --skip-gnulib.
2008 2007-07-07  Bruno Haible  <bruno@clisp.org>
2010         * gnulib-local/lib/uniwidth.h: Remove file, moved to gnulib.
2011         * gnulib-local/lib/width.c: Remove file, moved to gnulib.
2012         * gnulib-local/lib/cjk.h: Remove file, moved to gnulib.
2013         * gnulib-local/modules/uniwidth: Remove file.
2014         * Makefile.devel (GNULIB_MODULES): Remove uniwidth, add uniwidth/width.
2015         * src/iconv.c: Include uniwidth/cjk.h instead of cjk.h.
2017 2007-06-30  Bruno Haible  <bruno@clisp.org>
2019         * src/iconv.c (print_version): Use the standard --version output, see
2020         <https://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00302.html>.
2022 2007-06-30  Bruno Haible  <bruno@clisp.org>
2024         * autogen.sh: New file.
2025         * DEPENDENCIES: New file.
2026         * HACKING: New file.
2028 2007-06-30  Bruno Haible  <bruno@clisp.org>
2030         * src/iconv.c: Provide translator comments for many messages.
2031         (conversion_error_EILSEQ, conversion_error_EINVAL,
2032         conversion_error_other): New functions, extracted from convert.
2033         (convert): Use them.
2034         Reported by Tim Van Holder <tim.van.holder@telenet.be>.
2036 2007-06-09  Bruno Haible  <bruno@clisp.org>
2038         * gnulib-local/lib/relocwrapper.c: Remove file.
2040 2007-05-27  Bruno Haible  <bruno@clisp.org>
2042         * windows/libiconv.rc: New file.
2043         * windows/iconv.rc: New file.
2044         * windows/windres-options: New file.
2045         * configure.ac (WOE32): New variable.
2046         (WINDRES) [WOE32]: New variable.
2047         * lib/Makefile.in (WINDRES): New variable.
2048         (PACKAGE_VERSION): New variable.
2049         (OBJECTS_EXP_yes): Renamed from OBJECTS_yes.
2050         (OBJECTS_EXP_no): Renamed from OBJECTS_no.
2051         (OBJECTS_RES_yes, OBJECTS_RES_no): New variables.
2052         (OBJECTS): Add one of them.
2053         (libiconv.res): New rule.
2054         (clean): Remove also libiconv.res.
2055         * src/Makefile.in (WINDRES): New variable.
2056         (PACKAGE_VERSION): New variable.
2057         (OBJECTS_RES_yes, OBJECTS_RES_no): New variables.
2058         (all, iconv_no_i18n, install): Use them.
2059         (iconv.res): New rule.
2060         (clean): Remove also iconv.res.
2061         Suggested and inspired by work by Perry Rapp.
2063 2007-05-27  Bruno Haible  <bruno@clisp.org>
2065         Follow broken iconv() prototype in POSIX.
2066         * configure.ac (ICONV_CONST): Set to empty if the system has no iconv.
2067         * lib/config.h.in (ICONV_CONST): Change default value to an empty
2068         comment.
2069         * src/iconv.c (ICONV_CONST): Change default value to empty.
2070         Reported by Andreas Krennmair <ak@synflood.at>.
2072 2007-05-25  Bruno Haible  <bruno@clisp.org>
2074         * tools/Makefile (ALL): Add rk1048.h.
2075         (rk1048.h): New rule.
2076         * lib/encodings.def: Add RK1048.
2077         * lib/rk1048.h: New file.
2078         * lib/converters.h: Include it.
2079         * README, man/iconv_open.3: Add RK1048.
2080         * NOTES: Mention RK1048.
2081         * tests/RK1048.TXT: New file.
2082         * tests/Makefile.in (check): Also test RK1048.
2083         Suggested by Timur Birsh <team9@host.kz>.
2085 2007-04-24  Bruno Haible  <bruno@clisp.org>
2087         * man/iconv_open.3: Tweak explanation of TRANSLIT.
2088         Reported by Perry Rapp.
2090 2007-04-23  Bruno Haible  <bruno@clisp.org>
2092         * tests/check-subst: Use the output of 'printf' only if it didn't
2093         crash. Needed to work around a buffer overflow in Solaris /bin/printf.
2094         Reported by Arto C. Nirkko <anirkko@insel.ch>.
2096 2007-04-23  Bruno Haible  <bruno@clisp.org>
2098         * lib/iconv.c (iconv_open, iconv_canonicalize): Treat native Woe32
2099         systems like those which define __STDC_ISO_10646__.
2100         Reported by Keith Marshall <keithmarshall@users.sourceforge.net>.
2102 2007-03-31  Bruno Haible  <bruno@clisp.org>
2104         * man/iconv.1: Use HYPHEN-MINUS signs instead of HYPHENs where
2105         appropriate.
2106         * man/iconv_open.3: Likewise.
2107         * man/iconv.3: Likewise.
2108         * man/iconv_close.3: Likewise.
2109         * man/iconvctl.3: Likewise.
2111 2007-03-31  Bruno Haible  <bruno@clisp.org>
2113         * man/iconv.1: Mark as POSIX compliant.
2114         * man/iconv_open.3: Likewise.
2115         * man/iconv.3: Likewise.
2116         * man/iconv_close.3: Likewise.
2118         * man/*.[13]: Syntactic simplifications.
2120 2007-03-19  Bruno Haible  <bruno@clisp.org>
2122         Assume that mkinstalldirs also creates the necessary parent directories.
2123         * Makefile.in (install, installdirs): Don't explicitly create the
2124         parent directories.
2125         * lib/Makefile.in (install, installdirs): Likewise.
2126         * src/Makefile.in (install, installdirs): Likewise.
2127         * man/Makefile.in (install, installdirs): Likewise.
2128         Reported by Thomas Klausner <tk@giga.or.at>.
2130 2007-03-04  Bruno Haible  <bruno@clisp.org>
2132         * Makefile.devel (GNULIB_MODULES): Add relocatable-prog. Remove
2133         relocatable, relocwrapper.
2134         * configure.ac: Invoke gl_RELOCATABLE instead of AC_RELOCATABLE.
2135         * gnulib-local/modules/progreloc: Remove file.
2136         * gnulib-local/modules/relocatable: Remove file.
2137         * gnulib-local/modules/relocwrapper: Remove file.
2138         * gnulib-local/m4/relocatable.m4: Remove file.
2139         * gnulib-local/lib/strerror.c.diff: Remove file.
2140         * src/Makefile.in: Remove SET_RELOCATABLE invocation. Instead get
2141         RELOCATABLE_LDFLAGS and INSTALL_PROGRAM_ENV.
2143 2007-02-19  Bruno Haible  <bruno@clisp.org>
2145         * gnulib-local/lib/xmalloc.c: Don't include exit.h.
2146         * src/iconv.c: Likewise.
2148 2007-02-16  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
2150         * djgpp/*: Update.
2152 2007-02-03  Bruno Haible  <bruno@clisp.org>
2154         * tools/Makefile (ksc5601.h): Add one extra character.
2155         * lib/ksc5601.h: Regenerated.
2156         * lib/cp949.h (cp949_mbtowc, cp949_wctomb): Exclude the new character.
2157         * tests/EUC-KR.TXT: Add CIRCLED HANGUL IEUNG U.
2158         * tests/JOHAB.TXT: Likewise.
2159         Reported by Jungshik Shin (신정식, 申政湜) <jungshik@google.com>.
2161         * lib/euc_kr.h: Update comments.
2162         * lib/johab.h: Likewise.
2164 2007-02-03  Bruno Haible  <bruno@clisp.org>
2166         * tools/cjk_tab_to_h.c (output_title): Bump copyright year.
2168 2007-01-26  Bruno Haible  <bruno@clisp.org>
2170         Moved streq.h to gnulib.
2171         * gnulib-local/lib/streq.h: Remove file.
2172         * gnulib-local/modules/uniwidth (Files): Remove lib/streq.h.
2173         (Depends-on): Add streq.
2174         (lib_SOURCES): Remove streq.h.
2176 2007-01-26  Bruno Haible  <bruno@clisp.org>
2178         Moved unitypes.h to gnulib.
2179         * gnulib-local/lib/unitypes.h: Remove file.
2180         * gnulib-local/modules/uniwidth (Files): Remove lib/unitypes.h.
2181         (Depends-on): Add unitypes.
2182         (lib_SOURCES): Remove unitypes.h.
2184 2007-01-26  Bruno Haible  <bruno@clisp.org>
2186         Moved canonicalize to gnulib.
2187         * gnulib-local/modules/canonicalize: Remove file.
2188         * gnulib-local/lib/canonicalize.h: Remove file.
2189         * gnulib-local/lib/canonicalize.c: Remove file.
2190         * gnulib-local/m4/canonicalize.m4: Remove file.
2191         * gnulib-local/modules/progreloc (Depends-on): Replace 'canonicalize'
2192         with 'canonicalize-lgpl'.
2194 2006-12-20  Bruno Haible  <bruno@clisp.org>
2196         * lib/Makefile.in (install): On AIX, add the contents of
2197         /lib/libiconv.a to libiconv.a.
2199 2006-12-20  Bruno Haible  <bruno@clisp.org>
2201         * Makefile.devel (all): Depend on srclib/Makefile.gnulib, not
2202         srclib/Makefile.am.
2203         (aclocal.m4): Likewise. Touch the resulting file, since aclocal not
2204         always does it.
2205         (srclib/Makefile.gnulib): Renamed from srclib/Makefile.am. Pass
2206         option --makefile-name.
2207         (srclib/Makefile.in): Depend on srclib/Makefile.gnulib too.
2208         * srclib/Makefile.am: New file that includes srclib/Makefile.gnulib.
2210 2006-10-31  Bruno Haible  <bruno@clisp.org>
2212         Update from GNU gettext.
2213         2006-10-29  Bruno Haible  <bruno@clisp.org>
2214                 Make it compile in C++ mode.
2215                 * gnulib-local/lib/xalloc.h (xrealloc): Define as template
2216                 with appropriate return type.
2217                 * gnulib-local/lib/xstrdup.c (xstrdup): Cast xmalloc result.
2218         2006-10-26  Bruno Haible  <bruno@clisp.org>
2219                 * gnulib-local/modules/canonicalize (Makefile.am): Remove
2220                 EXTRA_DIST. Now done by gnulib-tool.
2221                 * gnulib-local/modules/relocatable (Makefile.am): Likewise.
2222                 * gnulib-local/modules/relocwrapper (Makefile.am): Likewise.
2223         2006-10-25  Bruno Haible  <bruno@clisp.org>
2224                 * gnulib-local/m4/relocatable.m4 (AC_RELOCATABLE_BODY):
2225                 Renamed from AC_RELOCATABLE, without the AC_LIBOBJ invocation.
2226                 (AC_RELOCATABLE): New macro. Invoke AC_LIBOBJ here.
2227                 * gnulib-local/modules/relocwrapper (configure.ac): Invoke
2228                 AC_RELOCATABLE instead of requiring it.
2229         2006-10-12  Bruno Haible  <bruno@clisp.org>
2230                 * gnulib-local/modules/canonicalize (Makefile.am): Distribute
2231                 all files in lib/ through EXTRA_DIST.
2232                 * gnulib-local/modules/relocatable (Makefile.am): Likewise.
2233         2006-09-14  Bruno Haible  <bruno@clisp.org>
2234                 * gnulib-local/lib/canonicalize.c: Include <config.h>
2235                 unconditionally.
2236                 * gnulib-local/lib/relocatable.c: Likewise.
2237                 * lib/relocatable.c: Likewise.
2238                 * gnulib-local/lib/relocwrapper.c: Likewise.
2239                 * gnulib-local/lib/xmalloc.c: Likewise.
2240                 * gnulib-local/lib/xreadlink.c: Likewise.
2241                 * gnulib-local/lib/xstrdup.c: Likewise.
2242         2006-08-02  Bruno Haible  <bruno@clisp.org>
2243                 * gnulib-local/modules/canonicalize: Put under LGPL.
2244                 * gnulib-local/modules/relocatable: Likewise.
2245         2006-07-18  Bruno Haible  <bruno@clisp.org>
2246                 * gnulib-local/xalloc.h (xzalloc): New declaration.
2247                 * gnulib-local/xmalloc.c (xzalloc): New function.
2249 2006-10-24  Bruno Haible  <bruno@clisp.org>
2251         * man/Makefile.in (PACKAGE): New variable. Needed for docdir.
2252         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
2254 2006-10-14  Bruno Haible  <bruno@clisp.org>
2256         * COPYING: New file.
2257         * README: Clarify copyright of the iconv program.
2258         Reported by Charles Wilson <cwilson@fastmail.fm>.
2260 2006-08-08  Bruno Haible  <bruno@clisp.org>
2262         * INSTALL.generic: Add a recommendation for Tru64.
2263         Reported by Gary V. Vaughan <gary@gnu.org>.
2265 2006-07-29  Bruno Haible  <bruno@clisp.org>
2267         * tests/check-subst: Set CHARSETALIASDIR.
2268         Needed so that "make check" works before "make install" on systems
2269         such as NetBSD.
2271 2006-07-29  Bruno Haible  <bruno@clisp.org>
2273         * Makefile.devel (aclocal.m4): Depend on srclib/Makefile.am.
2274         (AUTOCONF_FILES): Add the existing *.m4 files.
2276 2006-07-29  Bruno Haible  <bruno@clisp.org>
2278         * gnulib-local/lib/xreadlink.c: Assume <stdlib.h> exists.
2279         * src/iconv.c: Assume <locale.h> exists.
2280         * configure.ac: Remove tests for <locale.h>, <stddef.h>, <stdlib.h>,
2281         <string.h>.
2283 2006-07-29  Bruno Haible  <bruno@clisp.org>
2285         * configure.ac: Remove obsolete calls AC_PROG_GCC_TRADITIONAL,
2286         AC_ISC_POSIX, AC_HEADER_STDC.
2288 2006-07-29  Bruno Haible  <bruno@clisp.org>
2290         * configure.ac: Remove macro invocations that are redundant through
2291         gl_EARLY and gl_INIT.
2293 2006-07-29  Bruno Haible  <bruno@clisp.org>
2295         * gnulib-local/m4/alloca.m4 (gl_PREREQ_ALLOCA): Add a dummy statement.
2296         Avoids a sh syntax error.
2298 2006-07-29  Bruno Haible  <bruno@clisp.org>
2300         * gnulib-local/m4/relocatable.m4: Add comments.
2302 2006-07-29  Bruno Haible  <bruno@clisp.org>
2304         * gnulib-local/modules/libiconv-misc: New file.
2305         * Makefile.devel (GNULIB_MODULES): Add libiconv-misc.
2307         * Makefile.devel (srclib/Makefile.am): Pass --no-libtool.
2309 2006-07-29  Bruno Haible  <bruno@clisp.org>
2311         Note: gnulib macros no longer invoke AC_TYPE_SIZE_T nor
2312         AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], ...)])
2313         because we now assume that the system defines size_t and ptrdiff_t.
2315 2006-07-29  Bruno Haible  <bruno@clisp.org>
2317         Switch to using gnulib.
2318         * configure.ac (AC_PREREQ): Require autoconf-2.60.
2319         Invoke gl_EARLY and gl_INIT.
2320         * Makefile.devel (all): Depend on srclib/Makefile.am.
2321         (aclocal.m4): Pass -I srcm4 to aclocal. Simplify dependencies, assuming
2322         GNU make.
2323         (GNULIB_MODULES): New variable.
2324         (srclib/Makefile.am): New rule.
2325         * gnulib-local: New directory.
2326         * gnulib-local/m4/alloca.m4: Moved here from m4/alloca.m4.
2327         * gnulib-local/m4/canonicalize.m4: Moved here from m4/canonicalize.m4.
2328         * gnulib-local/m4/relocatable.m4: Moved here from m4/relocatable.m4.
2329         * gnulib-local/m4/xreadlink.m4: Moved here from m4/xreadlink.m4.
2330         * gnulib-local/lib/alloca_.h: Moved here from srclib/alloca_.h.
2331         * gnulib-local/lib/canonicalize.h: Moved here from srclib/canonicalize.h.
2332         * gnulib-local/lib/canonicalize.c: Moved here from srclib/canonicalize.c.
2333         * gnulib-local/lib/cjk.h: Moved here from srclib/cjk.h.
2334         * gnulib-local/lib/error.h.diff: New file.
2335         * gnulib-local/lib/progname.h.diff: New file.
2336         * gnulib-local/lib/relocatable.h: Moved here from srclib/relocatable.h.
2337         * gnulib-local/lib/relocatable.c: Moved here from srclib/relocatable.c.
2338         * gnulib-local/lib/relocwrapper.c: Moved here from srclib/relocwrapper.c.
2339         * gnulib-local/lib/streq.h: Moved here from srclib/streq.h.
2340         * gnulib-local/lib/strerror.c.diff: New file.
2341         * gnulib-local/lib/unitypes.h: Moved here from srclib/unitypes.h.
2342         * gnulib-local/lib/uniwidth.h: Moved here from srclib/uniwidth.h.
2343         * gnulib-local/lib/width.c: Moved here from srclib/width.c.
2344         * gnulib-local/lib/xalloc.h: Moved here from srclib/xalloc.h.
2345         * gnulib-local/lib/xmalloc.c: Moved here from srclib/xmalloc.c.
2346         * gnulib-local/lib/xstrdup.c: Moved here from srclib/xstrdup.c.
2347         * gnulib-local/lib/xreadlink.h: Moved here from srclib/xreadlink.h.
2348         * gnulib-local/lib/xreadlink.c: Moved here from srclib/xreadlink.c.
2349         * gnulib-local/modules/canonicalize: New file.
2350         * gnulib-local/modules/progreloc: New file.
2351         * gnulib-local/modules/relocatable: New file.
2352         * gnulib-local/modules/relocwrapper: New file.
2353         * gnulib-local/modules/uniwidth: New file.
2354         * gnulib-local/modules/xalloc: New file.
2355         * gnulib-local/modules/xreadlink: New file.
2357         * m4/allocsa.m4: Remove file. Now taken from gnulib.
2358         * m4/codeset.m4: Likewise.
2359         * m4/eealloc.m4: Likewise.
2360         * m4/error.m4: Likewise.
2361         * m4/extensions.m4: Likewise.
2362         * m4/full-header-path.m4: Likewise.
2363         * m4/gettext.m4: Likewise.
2364         * m4/glibc21.m4: Likewise.
2365         * m4/iconv.m4: Likewise.
2366         * m4/intmax.m4: Likewise.
2367         * m4/inttypes-h.m4: Likewise.
2368         * m4/inttypes_h.m4: Likewise.
2369         * m4/isc-posix.m4: Likewise.
2370         * m4/lcmessage.m4: Likewise.
2371         * m4/lib-ld.m4: Likewise.
2372         * m4/lib-link.m4: Likewise.
2373         * m4/lib-prefix.m4: Likewise.
2374         * m4/longdouble.m4: Likewise.
2375         * m4/longlong.m4: Likewise.
2376         * m4/mbstate_t.m4: Likewise.
2377         * m4/nls.m4: Likewise.
2378         * m4/onceonly.m4: Likewise.
2379         * m4/pathmax.m4: Likewise.
2380         * m4/po.m4: Likewise.
2381         * m4/printf-posix.m4: Likewise.
2382         * m4/progtest.m4: Likewise.
2383         * m4/readlink.m4: Likewise.
2384         * m4/setenv.m4: Likewise.
2385         * m4/signed.m4: Likewise.
2386         * m4/size_max.m4: Likewise.
2387         * m4/ssize_t.m4: Likewise.
2388         * m4/stdbool.m4: Likewise.
2389         * m4/stdint.m4: Likewise.
2390         * m4/stdint_h.m4: Likewise.
2391         * m4/strerror.m4: Likewise.
2392         * m4/strerror_r.m4: Likewise.
2393         * m4/unistd_h.m4: Likewise.
2394         * m4/unlocked-io.m4: Likewise.
2395         * m4/visibility.m4: Likewise.
2396         * m4/wchar_t.m4: Likewise.
2397         * m4/wint_t.m4: Likewise.
2399         * srclib/allocsa.h: Remove file. Now taken from gnulib.
2400         * srclib/allocsa.c: Likewise.
2401         * srclib/binary-io.h: Likewise.
2402         * srclib/error.h: Likewise.
2403         * srclib/error.c: Likewise.
2404         * srclib/exit.h: Likewise.
2405         * srclib/gettext.h: Likewise.
2406         * srclib/memmove.c: Likewise.
2407         * srclib/pathmax.h: Likewise.
2408         * srclib/progname.h: Likewise.
2409         * srclib/progname.c: Likewise.
2410         * srclib/progreloc.c: Likewise.
2411         * srclib/readlink.c: Likewise.
2412         * srclib/setenv.h: Likewise.
2413         * srclib/setenv.c: Likewise.
2414         * srclib/stdbool_.h: Likewise.
2415         * srclib/stdint_.h: Likewise.
2416         * srclib/strerror.c: Likewise.
2417         * srclib/unlocked-io.h: Likewise.
2418         * srclib/unsetenv.c: Likewise.
2419         * srclib/Makefile.am: Remove file.
2421 2006-07-27  Bruno Haible  <bruno@clisp.org>
2423         Remove OS/2 build support that doesn't assume GNU make and GNU bash.
2424         * README.os2: Remove file.
2425         * Makefile.os2: Remove file.
2426         * lib/Makefile.os2: Remove file.
2427         * src/Makefile.os2: Remove file.
2428         * man/Makefile.os2: Remove file.
2429         * tests/Makefile.os2: Remove file.
2430         * tests/check-stateful.cmd: Remove file.
2431         * tests/check-stateless.cmd: Remove file.
2432         * tests/check-translit.cmd: Remove file.
2434 2006-07-25  Bruno Haible  <bruno@clisp.org>
2436         Remove MSVC/nmake build support.
2437         * windows: Remove directory.
2438         * Makefile.msvc: Remove file.
2439         * lib/Makefile.msvc: Remove file.
2440         * srclib/Makefile.msvc: Remove file.
2441         * src/Makefile.msvc: Remove file.
2442         * tests/Makefile.msvc: Remove file.
2443         * man/Makefile.msvc: Remove file.
2444         * po/Rules-msvc: Remove file.
2445         * po/Makefile.msvc.sh: Remove file.
2446         * Makefile.devel (config.h.msvc, lib/config.h.msvc): Remove rules.
2447         (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): Remove
2448         rules.
2449         (po/Makefile.msvc): Remove rule.
2450         (all): Update.
2452 2006-07-25  Bruno Haible  <bruno@clisp.org>
2454         Remove VMS support.
2455         * vms: Remove directory.
2456         * Makefile.vms: Remove file.
2457         * lib/Makefile.vms: Remove file.
2458         * srclib/Makefile.vms: Remove file.
2459         * src/Makefile.vms: Remove file.
2460         * tests/Makefile.vms: Remove file.
2461         * man/Makefile.vms: Remove file.
2462         * Makefile.devel (config.h_vms, lib/config.h_vms): Remove rules.
2463         (include/iconv.h_vms): Remove rule.
2464         (all): Update.
2466 2006-07-23  Bruno Haible  <bruno@clisp.org>
2468         * lib/Makefile.in (libiconv.la): Use the CFLAGS during linking.
2469         * src/Makefile.in (iconv_no_i18n): Likewise.
2470         (install): Likewise.
2471         * tests/Makefile.in (table-from, table-to): Likewise.
2472         Needed because the CFLAGS can e.g. trigger profiling.
2473         Reported by Russell Aspinwall <russell.aspinwall@flomerics.co.uk>.
2475 2006-07-19  Bruno Haible  <bruno@clisp.org>
2477         * Version 1.11 released.
2479 2006-07-19  Bruno Haible  <bruno@clisp.org>
2481         * srclib/Makefile.am (libicrt_a_SOURCES): Remove error.h, error.c.
2482         (LIBADD_SOURCE): Add them here.
2484 2006-07-19  Bruno Haible  <bruno@clisp.org>
2486         * build-aux/config.guess: Update to GNU version 2006-07-02.
2487         * build-aux/config.sub: Likewise.
2489 2006-07-14  Bruno Haible  <bruno@clisp.org>
2491         * lib/Makefile.in (clean): Remove also *.stackdump.
2492         * src/Makefile.in (clean): Likewise.
2493         * tests/Makefile.in (clean): Likewise.
2495 2006-07-14  Bruno Haible  <bruno@clisp.org>
2497         * src/Makefile.in (clean): Remove also iconv_no_i18n. Needed for
2498         cygwin or mingw.
2499         * tests/Makefile.in (clean): Remove also the programs, without
2500         EXEEXT. Needed for cygwin or mingw.
2501         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
2502         Remove also bin directory. Needed for cygwin and mingw.
2504 2006-07-03  Bruno Haible  <bruno@clisp.org>
2506         * src/iconv.c (check_subst_formatstring): Use ngettext.
2507         (subst_wc_to_mb_fallback, subst_mb_to_mb_fallback): Fix error messages
2508         after 2006-01-22 change.
2509         * configure.ac: Require a gettext version with ngettext.
2511 2006-06-28  Bruno Haible  <bruno@clisp.org>
2513         * m4/gettext.m4: Update from GNU gettext.
2514         * m4/po.m4: Update from GNU gettext.
2516 2006-06-27  Bruno Haible  <bruno@clisp.org>
2518         * Makefile.devel (AUTOCONF, AUTOHEADER): Use autoconf-2.60.
2519         * Makefile.in (datarootdir): New variable.
2520         (install, installdirs, uninstall): Also pass datarootdir.
2521         * configure.ac (mandir): Remove customization.
2522         * man/Makefile.in (datarootdir): New variable.
2523         (docdir, htmldir): Use autoconf-substituted value.
2524         * src/Makefile.in (datarootdir): New variable.
2525         (localedir): Use autoconf-substituted value.
2527 2006-06-27  Bruno Haible  <bruno@clisp.org>
2529         * m4/stdint.m4: Update from gnulib.
2530         * srclib/stdint_.h: Update from gnulib.
2531         * srclib/Makefile.am: Update.
2533 2006-06-17  Bruno Haible  <bruno@clisp.org>
2535         * srclib/unsetenv.c: Update from GNU gettext.
2536         * srclib/xreadlink.c: Likewise.
2538 2006-06-16  Bruno Haible  <bruno@clisp.org>
2540         * m4/full-header-path.m4: New file, from gnulib.
2541         * m4/size_max.m4: New file, from gnulib.
2542         * m4/stdint.m4: Update from gnulib.
2543         * srclib/stdint_.h: Update from gnulib.
2544         * srclib/Makefile.am (stdint.h): Likewise.
2545         * Makefile.devel (aclocal.m4): Update dependencies.
2547 2006-06-16  Bruno Haible  <bruno@clisp.org>
2549         * m4/ssize_t.m4: Update from GNU gettext.
2551 2006-06-12  Bruno Haible  <bruno@clisp.org>
2553         * m4/gettext.m4: Update from GNU gettext.
2554         * m4/inttypes-h.m4: New file, from GNU gettext.
2555         * m4/inttypes.m4: Remove file.
2556         * m4/stdint.m4 (gl_STDINT_H): Update.
2557         * Makefile.devel (aclocal.m4): Update dependencies.
2559 2006-06-10  Bruno Haible  <bruno@clisp.org>
2561         * src/iconv.c (error) [NO_I18N]: Define here instead of including
2562         error.h. Fixes link failure introduced on 2006-01-22.
2564 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2566         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
2567         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
2569 2006-05-20  Bruno Haible  <bruno@clisp.org>
2571         * tests/BIG5-HKSCS-1999-snippet: New file.
2572         * tests/BIG5-HKSCS-1999-snippet.UTF-8: New file.
2573         * tests/BIG5-HKSCS-2001-snippet: New file.
2574         * tests/BIG5-HKSCS-2001-snippet.UTF-8: New file.
2575         * tests/BIG5-HKSCS-2004-snippet: New file.
2576         * tests/BIG5-HKSCS-2004-snippet.UTF-8: New file.
2577         * tests/Makefile.in (check): Test also the stateful parts of
2578         BIG5-HKSCS:1999, BIG5-HKSCS:2001, BIG5-HKSCS:2004.
2580 2006-05-17  Bruno Haible  <bruno@clisp.org>
2582         Implement newer releases of BIG5-HKSCS.
2583         * tools/Makefile (ALL): Remove hkscs.h, add hkscs1999.h, hkscs2001.h,
2584         hkscs2004.h.
2585         (hkscs.h): Remove rule.
2586         (hkscs1999.h, hkscs2001.h, hkscs2004.h): New rules.
2587         * tools/cjk_tab_to_h.c (output_title): Update year.
2588         (main): Recognize hkscs1999, hkscs2001, hkscs2004.
2589         * lib/encodings.def: Rename BIG5-HKSCS to BIG5-HKSCS:1999. Add
2590         BIG5-HKSCS:2001, BIG5-HKSCS:2004. Make all three stateful.
2591         * lib/hkscs.h: Remove file.
2592         * lib/hkscs1999.h: New file.
2593         * lib/hkscs2001.h: New file.
2594         * lib/hkscs2004.h: New file.
2595         * lib/big5hkscs.h: Remove file.
2596         * lib/big5hkscs1999.h: New file.
2597         * lib/big5hkscs2001.h: New file.
2598         * lib/big5hkscs2004.h: New file.
2599         * lib/converters.h: Include the new files.
2600         * README, man/iconv_open.3: Add BIG5-HKSCS:1999, BIG5-HKSCS:2001.
2601         * tests/BIG5-HKSCS.TXT: Remove file.
2602         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Remove file.
2603         * tests/BIG5-HKSCS-1999.TXT: New file.
2604         * tests/BIG5-HKSCS-1999.IRREVERSIBLE.TXT: New file.
2605         * tests/BIG5-HKSCS-2001.TXT: New file.
2606         * tests/BIG5-HKSCS-2001.IRREVERSIBLE.TXT: New file.
2607         * tests/BIG5-HKSCS-2004.TXT: New file.
2608         * tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT: New file.
2609         * tests/check-stateless: Convert colon in the charset name to a dash in
2610         the file name.
2611         * tests/Makefile.in (check): Check BIG5-HKSCS:1999, BIG5-HKSCS:2001,
2612         BIG5-HKSCS:2004 instead of just BIG5-HKSCS.
2613         * tests/Makefile.msvc (check): Don't check BIG5-HKSCS.
2614         * tests/Makefile.os2 (check): Likewise.
2616 2006-05-17  Bruno Haible  <bruno@clisp.org>
2618         * srclib/progreloc.c: Update from GNU gettext.
2620 2006-05-16  Bruno Haible  <bruno@clisp.org>
2622         * src/Makefile.in (clean): Use EXEEXT.
2623         * tests/Makefile.in (check, clean): Likewise.
2625 2006-05-15  Bruno Haible  <bruno@clisp.org>
2627         * configure.ac: Move some checks before AC_RELOCATABLE.
2629 2006-05-15  Bruno Haible  <bruno@clisp.org>
2631         Support for building shared libraries on mingw and Cygwin.
2632         * configure.ac (WOE32DLL, DLL_VARIABLE): New variables.
2633         * include/iconv.h.in (_libiconv_version): Mark as DLL_VARIABLE.
2634         * woe32dll/export.h: New file, from GNU gettext.
2635         * woe32dll/iconv-exports.h: New file.
2636         * Makefile.devel (include/iconv.h_vms, include/iconv.h.msvc-static,
2637         include/iconv.h.msvc-shared): Remove the DLL_VARIABLE annotation.
2638         * lib/Makefile.in (INCLUDES): Add -I for parent directory.
2639         (LDFLAGS): Add WOE32DLL dependent flags.
2640         (LDFLAGS_yes, LDFLAGS_no): New variables.
2641         (OBJECTS): Add WOE32DLL dependent objects.
2642         (OBJECTS_yes, OBJECTS_no): New variables.
2643         (iconv-exports.lo): New rule.
2645 2006-05-15  Bruno Haible  <bruno@clisp.org>
2647         * srclib/gettext.h: Update from GNU gettext.
2648         * srclib/pathmax.h: Update from GNU gettext.
2649         * srclib/progreloc.c: Update from GNU gettext.
2650         * srclib/unsetenv.c: Update from GNU gettext.
2651         * srclib/Makefile.am: Add snippet for creation of unistd.h.
2652         * m4/extensions.m4: Update from GNU gettext.
2653         * m4/gettext.m4: Update from GNU gettext.
2654         * m4/lib-ld.m4: Update from GNU gettext.
2655         * m4/lib-link.m4: Update from GNU gettext.
2656         * m4/lib-prefix.m4: Update from GNU gettext.
2657         * m4/longdouble.m4: Update from GNU gettext.
2658         * m4/nls.m4: Update from GNU gettext.
2659         * m4/onceonly.m4: Update from GNU gettext.
2660         * m4/po.m4: Update from GNU gettext.
2661         * m4/relocatable.m4: Update from GNU gettext.
2662         * m4/unistd_h.m4: New file, from GNU gettext.
2663         * Makefile.devel (aclocal.m4): Depend on it.
2664         * configure.ac: Invoke gl_HEADER_UNISTD.
2666 2006-05-14  Bruno Haible  <bruno@clisp.org>,
2667             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2669         * m4/libtool.m4 [ linux ] (AC_LIBTOOL_LANG_CXX_CONFIG)
2670         (AC_LIBTOOL_POSTDEP_PREDEP, AC_LIBTOOL_PROG_COMPILER_PIC)
2671         (AC_LIBTOOL_PROG_LD_SHLIBS): Add support for Sun C 5.9,
2672         Sun C++ 5.9, and Sun Fortran 8.3 on Linux.
2674 2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2676         * m4/libtool.m4: On Cygwin, like on mingw, define DLL_EXPORT when
2677         compiling a shared library object.
2679 2006-05-15  Bruno Haible  <bruno@clisp.org>
2681         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
2683 2006-03-31  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
2685         * djgpp/*: Update.
2687 2006-01-23  Bruno Haible  <bruno@clisp.org>
2689         * configure.ac: Invoke gl_ALLOCSA.
2691         * Makefile.devel (aclocal.m4): Depend on $(CONFIGURES_IN).
2693 2006-01-22  Bruno Haible  <bruno@clisp.org>
2695         * src/iconv.c (xmalloc, xalloc_die) [NO_I18N]: Define to avoid using
2696         gettext().
2698 2006-01-22  Bruno Haible  <bruno@clisp.org>
2700         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 6:0:4.
2702 2006-01-22  Bruno Haible  <bruno@clisp.org>
2704         * src/iconv.c: Include error.h, exit.h.
2705         (print_version): Use EXIT_SUCCESS.
2706         (check_subst_formatstring, subst_mb_to_uc_fallback,
2707         subst_uc_to_mb_fallback, subst_mb_to_wc_fallback,
2708         subst_wc_to_mb_fallback, subst_mb_to_mb_fallback, convert, main): Use
2709         error() instead of fprintf to stderr.
2711 2006-01-22  Bruno Haible  <bruno@clisp.org>
2713         New feature: character-dependent substitutions.
2714         * include/iconv.h.in (iconv_unicode_mb_to_uc_fallback,
2715         iconv_unicode_uc_to_mb_fallback, iconv_wchar_mb_to_wc_fallback,
2716         iconv_wchar_wc_to_mb_fallback): New types.
2717         (struct iconv_fallbacks): New structure type.
2718         (ICONV_SET_FALLBACKS): New macro.
2719         * configure.ac: Invoke gt_TYPE_WCHAR_T and substitute HAVE_WCHAR_T.
2720         * Makefile.os2 (all): Also substitute @HAVE_WCHAR_T@ in build/iconv.h.
2721         * Makefile.devel (include/iconv.h_vms, include/iconv.h.msvc-static,
2722         include/iconv.h.msvc-shared): Also substitute @HAVE_WCHAR_T@.
2723         * lib/converters.h (struct conv_struct): Add field 'fallbacks'.
2724         * lib/loop_unicode.h (struct uc_to_mb_fallback_locals): New type.
2725         (uc_to_mb_write_replacement): New function.
2726         (struct mb_to_uc_fallback_locals): New type.
2727         (mb_to_uc_write_replacement): New function.
2728         (unicode_loop_convert): Call mb_to_uc_fallback and uc_to_mb_fallback.
2729         (unicode_loop_reset): Call uc_to_mb_fallback.
2730         * lib/loop_wchar.h (struct wc_to_mb_fallback_locals): New type.
2731         (wc_to_mb_write_replacement): New function.
2732         (wchar_from_loop_convert): Call wc_to_mb_fallback.
2733         (struct mb_to_wc_fallback_locals): New type.
2734         (mb_to_wc_write_replacement): New function.
2735         (wchar_to_loop_convert): Call mb_to_wc_fallback.
2736         * lib/iconv.c (iconv_open): Initialize the 'fallbacks' field.
2737         (iconvctl): Handle ICONV_SET_FALLBACKS.
2738         * lib/genflags.c (struct iconv_fallbacks): New dummy definition.
2739         * src/iconv.c: Include limits.h.
2740         (isdigit, c_isprint): New macros.
2741         (usage): Document long options and new options.
2742         (check_subst_formatstring): New function.
2743         (ilseq_byte_subst, ilseq_wchar_subst, ilseq_unicode_subst): New
2744         variables.
2745         (ilseq_byte_subst_size, ilseq_wchar_subst_size,
2746         ilseq_unicode_subst_size): New variables.
2747         (ilseq_byte_subst_buffer, ilseq_wchar_subst_buffer,
2748         ilseq_unicode_subst_buffer): New variables.
2749         (subst_mb_to_uc_cd, subst_mb_to_uc_temp_buffer): New variables.
2750         (subst_mb_to_uc_fallback): New function.
2751         (subst_uc_to_mb_cd, subst_uc_to_mb_temp_buffer): New variables.
2752         (subst_uc_to_mb_fallback): New function.
2753         (subst_mb_to_wc_cd, subst_mb_to_wc_temp_buffer): New variables.
2754         (subst_mb_to_wc_fallback): New function.
2755         (subst_wc_to_mb_cd, subst_wc_to_mb_temp_buffer): New variables.
2756         (subst_wc_to_mb_fallback): New function.
2757         (subst_mb_to_mb_cd, subst_mb_to_mb_temp_buffer): New variables.
2758         (subst_mb_to_mb_fallback): New function.
2759         (convert): Enlarge the outbuf when the conversion failed with E2BIG.
2760         (main): Handle new options --byte-subst, --widechar-subst,
2761         --unicode-subst.
2762         * man/iconv.1: Document --unicode-subst, --byte-subst, --widechar-subst
2763         options.
2764         * tests/check-subst: New file.
2765         * tests/Makefile.in (check): Also invoke check-subst.
2766         Suggested by James Taylor <james@oakseed.demon.co.uk>.
2768 2006-01-21  Bruno Haible  <bruno@clisp.org>
2770         * src/iconv.c (print_version): Bump copyright year.
2771         (main): Accept long options --from-code, --to-code, --list, --silent.
2772         Accept abbreviated long options, like getopt() does.
2773         * man/iconv.1: Document long options.
2775 2005-12-29  Bruno Haible  <bruno@clisp.org>
2777         * src/iconv.c (print_version): Update copyright year.
2779 2005-12-29  Bruno Haible  <bruno@clisp.org>
2781         * configure.ac: Renamed from configure.in.
2782         * Makefile.devel (CONFIGURES_IN, configure, config.h.in): Update.
2784 2005-12-29  Bruno Haible  <bruno@clisp.org>
2786         * configure.in: Bump version number.
2787         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
2788         * windows/iconv.rc: Likewise.
2789         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 5:1:3.
2791 2005-12-29  Bruno Haible  <bruno@clisp.org>
2793         * build-aux/config.guess: Update to GNU version 2005-12-23.
2794         * build-aux/config.sub: Likewise.
2795         * build-aux/config.libpath: Update from GNU gettext.
2796         * build-aux/install-sh: Upgrade to automake-1.9.5.
2797         * build-aux/missing: Upgrade to automake-1.9.5.
2798         * build-aux/mkinstalldirs: Upgrade to automake-1.9.5.
2800 2005-12-29  Bruno Haible  <bruno@clisp.org>
2802         * m4/alloca.m4: Update from GNU gettext.
2803         * m4/allocsa.m4: Update from GNU gettext.
2804         * m4/canonicalize.m4: Update from GNU gettext.
2805         * m4/codeset.m4: Update from GNU gettext.
2806         * m4/eealloc.m4: Update from GNU gettext.
2807         * m4/error.m4: Update from GNU gettext.
2808         * m4/extensions.m4: Update from GNU gettext.
2809         * m4/gettext.m4: Update from GNU gettext.
2810         * m4/glibc21.m4: Update from GNU gettext.
2811         * m4/iconv.m4: Update from GNU gettext.
2812         * m4/intmax.m4: Update from GNU gettext.
2813         * m4/inttypes_h.m4: New file, from GNU gettext.
2814         * m4/isc-posix.m4: Update from GNU gettext.
2815         * m4/lcmessage.m4: Update from GNU gettext.
2816         * m4/longdouble.m4: Update from GNU gettext.
2817         * m4/longlong.m4: Update from GNU gettext.
2818         * m4/mbstate_t.m4: Update from GNU gettext.
2819         * m4/nls.m4: Update from GNU gettext.
2820         * m4/onceonly.m4: Update from GNU gettext.
2821         * m4/pathmax.m4: Update from GNU gettext.
2822         * m4/po.m4: Update from GNU gettext.
2823         * m4/printf-posix.m4: Update from GNU gettext.
2824         * m4/progtest.m4: Update from GNU gettext.
2825         * m4/readlink.m4: Update from GNU gettext.
2826         * m4/relocatable.m4: Update from GNU gettext.
2827         * m4/setenv.m4: Update from GNU gettext.
2828         * m4/signed.m4: Update from GNU gettext.
2829         * m4/ssize_t.m4: Update from GNU gettext.
2830         * m4/stdbool.m4: Update from GNU gettext.
2831         * m4/stdint_h.m4: New file, from GNU gettext.
2832         * m4/strerror.m4: Update from GNU gettext.
2833         * m4/strerror_r.m4: Update from GNU gettext.
2834         * m4/unlocked-io.m4: Update from GNU gettext.
2835         * m4/wchar_t.m4: Update from GNU gettext.
2836         * m4/wint_t.m4: Update from GNU gettext.
2837         * m4/xreadlink.m4: Update from GNU gettext.
2838         * Makefile.devel (aclocal.m4): Depend on m4/inttypes_h.m4 and
2839         m4/stdint_h.m4 as well.
2840         * configure.in: Invoke AC_TYPE_MBSTATE_T instead of AC_MBSTATE_T.
2841         Invoke gl_FUNC_GLIBC_UNLOCKED_IO instead of jm_FUNC_GLIBC_UNLOCKED_IO.
2842         Invoke gl_ERROR instead of gt_FUNC_ERROR_AT_LINE.
2843         Don't invoke AC_AIX and AC_MINIX, done by gl_USE_SYSTEM_EXTENSIONS.
2844         Temporarily redefine AC_LIBOBJ and AC_REPLACE_FUNCS, so as to fill
2845         SRCLIBOBJS instead of LIBOBJS.
2846         * srclib/alloca_.h: Update from GNU gettext.
2847         * srclib/allocsa.h: Update from GNU gettext.
2848         * srclib/canonicalize.c: Update from GNU gettext.
2849         * srclib/error.h: Update from GNU gettext.
2850         * srclib/error.c: Update from GNU gettext.
2851         * srclib/gettext.h: Update from GNU gettext.
2852         * srclib/memmove.c: Update from GNU gettext.
2853         * srclib/progname.h: Update from GNU gettext.
2854         * srclib/progname.c: Update from GNU gettext.
2855         * srclib/progreloc.c: Update from GNU gettext.
2856         * srclib/readlink.c: Update from GNU gettext.
2857         * srclib/relocatable.c: Update from GNU gettext.
2858         * srclib/relocwrapper.c: Update from GNU gettext.
2859         * srclib/setenv.h: Update from GNU gettext.
2860         * srclib/setenv.c: Update from GNU gettext.
2861         * srclib/stdbool_.h: Update from GNU gettext.
2862         * srclib/stdint_.h: Update from gnulib.
2863         * srclib/strerror.c: Update from GNU gettext.
2864         * srclib/unlocked-io.h: Update from GNU gettext.
2865         * srclib/unsetenv.c: Update from GNU gettext.
2866         * srclib/xalloc.h: Update from GNU gettext.
2867         * srclib/xmalloc.c: Update from GNU gettext.
2868         * srclib/xreadlink.c: Update from GNU gettext.
2869         * srclib/xstrdup.c: Update from GNU gettext.
2870         * srclib/Makefile.am (DEFS): Also define EXEEXT.
2871         (libicrt_a_LIBADD): Use SRCLIBOBJS instead of LIBOBJS.
2872         (libicrt_a_DEPENDENCIES): New variable.
2873         * src/Makefile.in (EXEEXT): New variable.
2874         * build-aux/install-reloc: Update from GNU gettext.
2875         * build-aux/reloc-ldflags: Update from GNU gettext.
2876         * build-aux/config.rpath: Update from GNU gettext.
2878 2005-12-29  Bruno Haible  <bruno@clisp.org>
2880         * m4/libtool.m4: Update, based on libtool-1.5.22.
2881         * build-aux/ltmain.sh: Update, based on libtool-1.5.22.
2883 2005-12-24  Bruno Haible  <bruno@clisp.org>
2885         Check the whole range of GB18030.
2886         * tests/GB18030-BMP.TXT: Renamed from tests/GB18030.TXT.
2887         * tests/gengb18030z.c: New file.
2888         * tests/table-from.c (main): For GB18030, don't stop at U+10000.
2889         * tests/table-to.c (main): Likewise.
2890         * tests/Makefile.in (check): Generate GB18030.TXT on the fly from
2891         GB18030-BMP.TXT.
2892         (clean): Remove also gengb18030z and GB18030.TXT.
2893         * tests/Makefile.msvc (check): Generate GB18030.TXT on the fly from
2894         GB18030-BMP.TXT.
2895         (clean): Remove also GB18030Z.TXT, GB18030TMP.TXT, GB18030.TXT.
2896         * tests/Makefile.os2 (check): Depend on gengb18030z.exe. Generate
2897         GB18030.TXT on the fly from GB18030-BMP.TXT.
2898         (clean): Remove also GB18030Z.TXT, GB18030TMP.TXT, GB18030.TXT.
2900 2005-12-20  Bruno Haible  <bruno@clisp.org>
2902         * tests/table-to.c (main): Test the mappings up to U+10FFFF, not only
2903         up to U+2FFFF. Tolerate that Unicode language tags are silently mapped
2904         to nothing.
2906 2005-12-22  Bruno Haible  <bruno@clisp.org>
2908         Extend GB18030 converter to cover the entire Unicode PUA.
2909         * lib/gb18030.h: Update comments, based on second printing.
2910         (gb18030_mbtowc): Add mapping for range U+E000..U+E765.
2911         (gb18030_pua2charset): New array.
2912         (gb18030_wctomb): Add mapping for range U+E000..U+E765 and the two-byte
2913         part of range U+E766..U+E864.
2914         * lib/gb18030ext.h (gb18030ext_2uni_pagefe): Add mappings to private
2915         area.
2916         (gb18030ext_mbtowc): Add mapping for the two-byte part of range
2917         U+E766..U+E864.
2918         * lib/gb18030uni.h (gb18030uni_charset2uni_ranges,
2919         gb18030uni_uni2charset_ranges, gb18030uni_ranges): Add 12 more
2920         intervals.
2921         (gb18030uni_mbtowc, gb18030uni_wctomb): Update.
2922         * tests/GB18030.TXT: Complete mappings to private area.
2924 2005-12-22  Bruno Haible  <bruno@clisp.org>
2926         * lib/gbk.h: Update comments.
2928 2005-12-20  Bruno Haible  <bruno@clisp.org>
2930         Add private area mappings to CP949.
2931         * lib/cp949.h (cp949_mbtowc, cp949_wctomb): Map U+E000..U+E0BB like
2932         many others do it.
2933         * tests/CP949.TXT: Add mappings for U+E000..U+E0BB.
2935 2005-12-15  Bruno Haible  <bruno@clisp.org>
2937         Add private area mappings to CP950.
2938         * lib/cp950.h (cp950_mbtowc, cp950_wctomb): Map U+E000..U+F6B0 like
2939         most others do it.
2940         * tests/CP950.TXT: Add mappings for U+E000..U+F6B0.
2942 2005-12-15  Bruno Haible  <bruno@clisp.org>
2944         Make CP936 follow what Microsoft does.
2945         In http://www.microsoft.com/globaldev/reference/dbcs/936.mspx they
2946         added a 0x80 - U+20AC mapping to the code chart, but not to the
2947         tooltips and not to the list of mappings.
2948         * lib/cp936.h: New file.
2949         * lib/gbk.h: Update comments.
2950         * lib/ces_gbk.h: Update comments.
2951         * lib/converters.h: Include cp936.h.
2952         * lib/encodings.def (CP936): New encoding.
2953         (GBK): Remove CP936 aliases.
2954         * README, man/iconv_open.3: Add CP936.
2955         * tests/Makefile.in (check): Check CP936.
2956         * tests/Makefile.msvc (check): Likewise.
2957         * tests/Makefile.os2 (check): Likewise.
2958         * tests/CP936.TXT: New file.
2960 2005-12-14  Bruno Haible  <bruno@clisp.org>
2962         * lib/cp932.h (cp932_wctomb): Map U+FF5E, U+2225, U+FF0D, U+FFE0,
2963         U+FFE1 like Microsoft does it.
2964         * lib/CP932.IRREVERSIBLE.TXT: Add these mappings.
2965         Reported by Lei Wang <lwang@qilinsoft.com>.
2967 2005-12-14  Bruno Haible  <bruno@clisp.org>
2969         Follow Euro sign addition done in 1999 in
2970         http://www.microsoft.com/globaldev/reference/dbcs/950/950_A3.mspx
2971         * lib/cp950.h (cp950_mbtowc, cp950_wctomb): Add mapping for 0xA3E1.
2972         * tests/CP950.TXT: Add mapping for 0xA3E1.
2974 2005-11-11  Bruno Haible  <bruno@clisp.org>
2976         * lib/euc_jp.h (euc_jp_wctomb): When writing a 3-bytes byte sequence
2977         and only two bytes are available in the output buffer, return
2978         RET_TOOSMALL instead of overrunning the output buffer.
2979         * lib/isoir165.h (isoir165_wctomb): When only one byte is available
2980         in the output buffer, don't overrun the output buffer.
2981         Reported by William Bardwell <bardwell@curl.com>.
2983 2005-09-18  Bruno Haible  <bruno@clisp.org>
2985         * m4/libtool.m4: Update, based on libtool-1.5.20.
2986         * build-aux/ltmain.sh: Update, based on libtool-1.5.20.
2988 2005-08-12  Bruno Haible  <bruno@clisp.org>
2990         * lib/big5_2003.h: Map 0xF9FA..0xF9FD differently.
2991         * tests/BIG5-2003.TXT: Likewise.
2992         * tests/BIG5-2003.IRREVERSIBLE.TXT: New file.
2993         Reported by Ping Yeh <ping@pingyeh.net>.
2995 2005-07-24  Bruno Haible  <bruno@clisp.org>
2997         Tidy up exported symbols.
2998         * m4/visibility.m4: New file.
2999         * include/export.h: New file.
3000         * configure.in: Invoke gl_VISIBILITY. Use AC_CONFIG_FILES. Arrange to
3001         create also include/iconv.h.inst.
3002         * Makefile.devel (all): Depend on include/iconv.h.build.in.
3003         (aclocal.m4): Depend on m4/visibility.m4.
3004         (include/iconv.h.build.in): New rule.
3005         * Makefile.in (install-lib, install): Install include/iconv.h.inst,
3006         not the include/iconv.h that was used for building.
3007         (distclean, maintainer-clean): Remove also include/iconv.h.inst.
3008         * lib/Makefile.in (CFLAGS): Add @CFLAG_VISIBILITY@.
3009         (DEFS): Also define BUILDING_LIBICONV and BUILDING_DLL.
3010         * lib/config.h.in (HAVE_VISIBILITY): New macro.
3011         * lib/relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]:
3012         Define to the gcc visibility attribute.
3013         * srclib/relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]:
3014         Likewise.
3016 2005-07-25  Bruno Haible  <bruno@clisp.org>
3018         2003-08-24  Bruno Haible  <bruno@clisp.org>
3019         * lib/relocatable.h: Make this file includable in C++ mode: add extern
3020         "C".
3022 2005-07-08  Bruno Haible  <bruno@clisp.org>
3024         * Version 1.10 released.
3026 2005-07-08  Bruno Haible  <bruno@clisp.org>
3028         * m4/libtool.m4 (postinstall_cmds) [cygwin,mingw,pw32]: Make DLL
3029         executable after installing it.
3031 2005-07-08  Bruno Haible  <bruno@clisp.org>
3033         * configure.in: Bump version number.
3034         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
3035         * windows/iconv.rc: Likewise.
3036         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 5:0:3.
3038 2005-07-05  Bruno Haible  <bruno@clisp.org>
3040         * Makefile.devel (ACLOCAL): New variable.
3041         (aclocal.m4): Use it.
3043 2005-07-05  Bruno Haible  <bruno@clisp.org>
3045         * m4/relocatable.m4 (AC_RELOCATABLE): On mingw, simply set
3046         SET_RELOCATABLE to a trivial value.
3048 2004-08-08  Bruno Haible  <bruno@clisp.org>
3050         * srclib/progreloc.c (xstrdup): Define as strdup if no xmalloc should
3051         be used.
3053 2004-04-28  Bruno Haible  <bruno@clisp.org>
3055         * srclib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
3056         Treat Cygwin like Windows, since it now accepts Windows pathnames.
3058 2005-06-09  Bruno Haible  <bruno@clisp.org>
3060         * Makefile.in (mkinstalldirs): Use build-aux/ instead of autoconf/.
3061         * lib/Makefile.in (mkinstalldirs): Likewise.
3062         * src/Makefile.in (mkinstalldirs): Likewise.
3063         * man/Makefile.in (mkinstalldirs): Likewise.
3065 2005-06-08  Bruno Haible  <bruno@clisp.org>
3067         * srclib/canonicalize.c (__realpath): Avoid gcc warnings on platforms
3068         that don't support symbolic links.
3070 2005-06-08  Bruno Haible  <bruno@clisp.org>
3072         * srclib/binary-io.h (fileno): Undefine before defining it. Avoids a
3073         gcc warning on mingw.
3075 2005-05-22  Bruno Haible  <bruno@clisp.org>
3077         Implement and document BIG5-2003.
3078         * lib/big5_2003.h: New file.
3079         * lib/converters.h: Include it.
3080         * lib/encodings_extra.def (BIG5-2003): New encoding.
3081         * README, man/iconv_open.3: Add BIG5-2003.
3082         * tests/Makefile.in (check-extra-yes): Check BIG5-2003.
3083         * tests/BIG5-2003.TXT: New file.
3085 2005-05-21  Bruno Haible  <bruno@clisp.org>
3087         Add EURO SIGN to EUC-TW converter.
3088         * lib/cns11643_1.h (cns11643_1_2uni_page42): Add entry for 0x14242.
3089         (cns11643_1_mbtowc): Update.
3090         * lib/cns11643_inv.h (cns11643_inv_2charset): Add entry for 0x20AC.
3091         (cns11643_inv_uni2indx_page*): Update.
3092         * lib/dec_hanyu.h (dec_hanyu_mbtowc, dec_hanyu_wctomb): Consider only
3093         part of row 42.
3094         * tests/EUC-TW.TXT: Add entry for 0x20AC.
3095         * tests/EUC-TW.IRREVERSIBLE.TXT: Likewise.
3097 2005-05-03  Bruno Haible  <bruno@clisp.org>
3099         * tools/Makefile (ALL): Add pt154.h.
3100         (pt154.h): New rule.
3101         * lib/encodings.def: Add PT154.
3102         * lib/pt154.h: New file.
3103         * lib/converters.h: Include it.
3104         * README, man/iconv_open.3: Add PT154.
3105         * NOTES: Mention PT154.
3106         * tests/PT154.TXT: New file.
3107         * tests/Makefile.in (check): Also test PT154.
3108         * tests/Makefile.msvc (check): Likewise.
3109         * tests/Makefile.os2 (check): Likewise.
3111 2005-03-29  Bruno Haible  <bruno@clisp.org>
3113         Rename libiconv_plug.so to preloadable_libiconv.so.
3114         * configure.in (PLUGLIB): Set to preloadable_libiconv.so instead of
3115         libiconv_plug.so.
3116         * lib/Makefile.in (preloadable_libiconv.so): Renamed from
3117         libiconv_plug.so.
3118         (preloadable_libiconv_linux.so): Renamed from libiconv_plug_linux.so.
3119         (preloadable_libiconv_solaris.so): Renamed from
3120         libiconv_plug_solaris.so.
3121         (preloadable_libiconv_osf.so): Renamed from libiconv_plug_osf.so.
3122         (clean): Update.
3123         * README: Update.
3125 2005-03-29  Bruno Haible  <bruno@clisp.org>
3127         Implement and document ATARIST.
3128         * tools/Makefile (ALL): Add atarist.h.
3129         (atarist.h): New rule.
3130         * lib/atarist.h: New file.
3131         * lib/converters.h: Include it.
3132         * lib/encodings_extra.def (ATARIST): New encoding.
3133         * README, man/iconv_open.3: Add ATARIST.
3134         * tests/Makefile.in (check-extra-yes): Check ATARIST.
3135         * tests/ATARIST.TXT: New file.
3137 2005-03-22  Bruno Haible  <bruno@clisp.org>
3139         * build-aux: New directory, renamed from autoconf.
3140         * configure.in (AC_CONFIG_AUX_DIR): Use build-aux.
3142 2005-03-16  Bruno Haible  <bruno@clisp.org>
3144         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
3145         HAVE_LONGLONG_64BIT.
3146         * srclib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
3147         HAVE_LONGLONG_64BIT.
3148         * srclib/Makefile.am (stdint.h): Likewise.
3150 2005-03-14  Bruno Haible  <bruno@clisp.org>
3152         * Makefile.devel (aclocal.m4): Depend also on allocsa.m4, eealloc.m4,
3153         extensions.m4, intmax.m4, inttypes.m4, longdouble.m4, longlong.m4,
3154         printf-posix.m4, readlink.m4, signed.m4, ssize_t.m4, stdint.m4,
3155         wchar_t.m4, wint_t.m4.
3157 2005-03-13  Bruno Haible  <bruno@clisp.org>
3159         Make stdout error checking reliable, also when writing to a NFS file.
3160         * src/iconv.c (main): Check the return value of fclose(stdout).
3161         * lib/genaliases.c (main): Likewise.
3162         * lib/genaliases2.c (main): Likewise.
3163         * lib/genflags.c (main): Likewise.
3164         * lib/gentranslit.c (main): Likewise.
3165         * tests/genutf8.c (main): Likewise.
3166         * tests/table-from.c (main): Likewise.
3167         * tests/table-to.c (main): Likewise.
3169 2005-03-13  Bruno Haible  <bruno@clisp.org>
3171         * src/iconv.c (convert): Before outputting an error message, flush
3172         stdout and output a newline if suitable.
3174 2005-03-13  Bruno Haible  <bruno@clisp.org>
3176         Improved error messages.
3177         * srclib/width.c: New file, from GNU clisp.
3178         * srclib/uniwidth.h: New file, from GNU clisp with modifications.
3179         * srclib/unitypes.h: New file, from GNU clisp with modifications.
3180         * srclib/cjk.h: New file, from GNU clisp.
3181         * srclib/streq.h: New file, from GNU clisp.
3182         * srclib/stdint_.h: New file, from gnulib.
3183         * m4/stdint.m4: New file, from gnulib.
3184         * m4/inttypes.m4: New file, from gnulib.
3185         * srclib/Makefile.am: Add gnulib module 'stdint' snippet.
3186         (BUILT_SOURCES): New variable.
3187         (libicrt_a_SOURCES): Add width.c, uniwidth.h, unitypes.h, cjk.h,
3188         streq.h.
3189         * configure.in: Invoke gl_STDINT_H.
3190         * src/iconv.c: Include cjk.h, uniwidth.h.
3191         (line, column, cjkcode): New variables.
3192         (update_line_column): New function.
3193         (convert): Initialize line and column. In all error message, show also
3194         the line and column number.
3195         (main): Initialize cjkcode. Set up hooks to call update_line_column.
3197 2005-03-13  Bruno Haible  <bruno@clisp.org>
3199         * include/iconv.h.in (iconv_canonicalize): New declaration.
3200         * lib/genaliases.c (emit_encoding): Take two output streams as
3201         arguments. To the second stream, emit a shell command for extracting
3202         offsets into the gperf generated string pool.
3203         (main): Write the shell commands into file descriptors 3 and 4.
3204         * lib/genaliases2.c (emit_encoding): Take two output streams as
3205         arguments. To the second stream, emit an expression for the offset
3206         into the string pool.
3207         (main): Write the offsets into file descriptor 3.
3208         * Makefile.devel (lib/aliases.gperf): Remove target.
3209         (lib/aliases.h): Generate lib/aliases.gperf temporarily. Generate also
3210         lib/canonical.h and lib/canonical_local.h.
3211         (lib/aliases_aix.h): Generate also lib/canonical_aix.h.
3212         (lib/aliases_osf1.h): Generate also lib/canonical_osf1.h.
3213         (lib/aliases_dos.h): Generate also lib/canonical_dos.h.
3214         (lib/aliases_extra.h): Generate also lib/canonical_extra.h.
3215         * lib/iconv.c (stringpool2): Provide default definition when it doesn't
3216         exist.
3217         (all_canonical): New array.
3218         (iconv_canonicalize): New function.
3220 2005-03-13  Bruno Haible  <bruno@clisp.org>
3222         * include/iconv.h.in (iconv_unicode_char_hook, iconv_wide_char_hook,
3223         iconv_hooks): New types.
3224         (ICONV_SET_HOOKS): New macro.
3225         * lib/converters.h (struct conv_struct): Add field 'hooks'.
3226         * lib/iconv.c (iconv_open): Initialize hooks to NULL.
3227         (iconvctl): Handle ICONV_SET_HOOKS.
3228         * lib/loop_unicode.h (unicode_loop_convert, unicode_loop_reset): After
3229         conversion of a character, call the uc_hook.
3230         * lib/loop_wchar.h (wchar_id_loop_convert): After every character, call
3231         the wc_hook.
3232         * lib/genflags.c (iconv_hooks): Provide a dummy definition.
3234 2005-02-05  Bruno Haible  <bruno@clisp.org>
3236         * src/iconv.c (main): In case of unsupported encodings, show a hint
3237         towards "iconv -l".
3239 2005-01-06  Bruno Haible  <bruno@clisp.org>
3241         * lib/Makefile.msvc (CFLAGS): Define also INSTALLPREFIX.
3242         * lib/Makefile.vms (DEFS): Likewise.
3243         Reported by Troels Walsted Hansen <Troels.W.Hansen@fast.no>.
3245 2005-01-05  Bruno Haible  <bruno@clisp.org>
3247         * autoconf/config.rpath: Update from GNU gettext.
3249 2005-01-05  Bruno Haible  <bruno@clisp.org>
3251         Assume automake-1.9.
3252         * Makefile.devel (AUTOMAKE): Assume automake-1.9.
3254 2005-01-05  Bruno Haible  <bruno@clisp.org>
3256         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.10.
3257         * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.10.
3259 2004-11-11  Bruno Haible  <bruno@clisp.org>
3261         * lib/iconv.c (iconv_open): Accept the suffixes //TRANSLIT and //IGNORE
3262         in arbitrary order.
3263         Reported by Lukas Gebauer <gebauerl@mlp.cz>.
3265 2004-09-21  Juan Manuel Guerrero  <st001906@hrz1.hrz.tu-darmstadt.de>
3267         * djgpp/config.bat: Update.
3268         * djgpp/config.sed: Update.
3269         * djgpp/config.site: Update.
3270         * djgpp/edtest.bat: Update.
3271         * djgpp/fnchange.in: Update.
3272         * djgpp/Makefile.maint: Update.
3273         * djgpp/makefile.sed: Update.
3274         * djgpp/README.in: Update.
3275         * djgpp/sources.sed: Update.
3276         * djgpp/translit-check.sed: Update.
3278 2004-08-25  Bruno Haible  <bruno@clisp.org>
3280         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.6.
3281         * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.6.
3283 2004-07-31  Bruno Haible  <bruno@clisp.org>
3285         Update to JISX 0213 plane 1 to 2004 version (ISO-IR-233).
3286         * tools/Makefile (jisx0213.h): Bump version number.
3287         * tools/JISX0213.TXT: Change mappings U+2015 -> U+2014,
3288         U+2299 -> U+29BF, and add 10 new characters.
3289         * tools/cjk_tab_to_h.c (output_title): Bump year.
3290         (do_jisx0213): Update comments. Emit a conditional 'inline'.
3291         * lib/jisx0213.h: Regenerated.
3292         * lib/iso2022_jp3.h (iso2022_jp3_mbtowc): Accept escape sequence
3293         ESC $ ( Q as a synonym of ESC $ ( O.
3294         (iso2022_jp3_wctomb): Emit ESC $ ( Q instead of ESC $ ( O.
3295         * tests/EUC-JISX0213.TXT: Change mappings U+2015 -> U+2014,
3296         U+2299 -> U+29BF, and add 10 new characters.
3297         * tests/SHIFT_JISX0213.TXT: Likewise.
3298         * tests/ISO-2022-JP-3-snippet: Update.
3299         * tests/ISO-2022-JP-3-snippet.UTF-8: Update.
3301 2004-07-22  Bruno Haible  <bruno@clisp.org>
3303         * lib/encodings.def (ISO-8859-7): Add alias ISO_8859-7:2003.
3304         * tools/Makefile (iso8859_7.h): Use conversion table from 2003.
3305         * lib/iso8859_7.h: Add mappings for 0xa4, 0xa5, 0xaa.
3306         * tests/ISO-8859-7.TXT: Update to ISO_8859-7:2003.
3308 2004-07-22  Bruno Haible  <bruno@clisp.org>
3310         * tools/Makefile (ALL): Add iso8859_11.h.
3311         (iso8859_11.h): New rule.
3312         * lib/encodings.def: Add ISO-8859-11.
3313         * lib/iso8859_11.h: New file.
3314         * lib/converters.h: Include it.
3315         * tests/ISO-8859-11.TXT: New file.
3316         * tests/Makefile.in (check): Also test ISO-8859-11.
3317         * tests/Makefile.msvc (check): Likewise.
3318         * tests/Makefile.os2 (check): Likewise.
3320 2004-07-17  Bruno Haible  <bruno@clisp.org>
3322         * src/iconv.c (main): Terminate option parsing when option -- is seen.
3323         Reported by Len Lattanzi <zardoz@users.sourceforge.net>.
3325 2004-03-05  Bruno Haible  <bruno@clisp.org>
3327         * src/Makefile.in (install): Make DESTDIR work on HP-UX.
3328         Reported by Bob Proulx <box@proulx.com>.
3330 2004-02-19  Bruno Haible  <bruno@clisp.org>
3332         * lib/vietcomb.h (viet_comp_table_data): Un-uncomment 0x00D5, 0x00F5,
3333         0x0168, 0x0169. Needed for TCVN-5712 but not for CP1258.
3334         (viet_comp_table0301_len): Increment by 4.
3336         * lib/cp1255.h (cp1255_mbtowc): Don't delay the handling of characters
3337         which are not entries in cp1255_comp_table_data.
3338         * lib/cp1258.h (cp1258_comp_bases): New array.
3339         (cp1258_mbtowc): Don't delay the handling of characters which are not
3340         relevant entries in viet_comp_table_data.
3341         * lib/tcvn.h (tcvn_comp_bases): New array.
3342         (tcvn_mbtowc): Don't delay the handling of characters which are not
3343         relevant entries in viet_comp_table_data.
3344         Reported by Alain Bench <veronatif@free.fr>.
3346 2004-02-02  Perry Rapp  <lifelines_3_0_18@hotmail.com>
3347             Bruno Haible  <bruno@clisp.org>
3349         * man/iconvctl.3: New file.
3350         * man/iconv.3: Refer to it in "See also".
3351         * man/iconv_open.3: Likewise.
3353 2004-01-24  Bruno Haible  <bruno@clisp.org>
3355         * srclib/progreloc.c (xstrdup): Define as strdup if no xmalloc should
3356         be used.
3358 2004-01-20  Bruno Haible  <bruno@clisp.org>
3360         Upgrade from gettext-0.14.
3362         * configure.in: Call gl_USE_SYSTEM_EXTENSIONS. Call AM_STDBOOL_H
3363         instead of gt_STDBOOL_H. Provide a definition for DLL_VARIABLE.
3364         * srclib/Makefile.am (libicrt_a_SOURCES): Add allocsa.h, allocsa.c,
3365         xalloc.h. Remove xmalloc.h.
3366         (libicrt_a_LIBADD): Remove @ALLOCA@.
3367         * srclib/Makefile.msvc (OBJECTS): Add allocsa.obj.
3368         (allocsa.obj): New rule.
3369         * srclib/Makefile.vms (OBJECTS): Add allocsa.obj.
3370         (allocsa.obj): New rule.
3371         * Makefile.devel (config.h_vms): Set MALLOC_0_IS_NONNULL to 0.
3372         (config.h.msvc): Set MALLOC_0_IS_NONNULL to 1.
3374     lib/:
3376         2003-10-09  Bruno Haible  <bruno@clisp.org>
3377         * lib/relocatable.c: Include xalloc.h instead of xmalloc.h.
3379         2003-08-01  Bruno Haible  <bruno@clisp.org>
3380         * lib/relocatable.c (find_shared_library_fullname): Disable the code on
3381         Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.
3383         2003-06-22  Bruno Haible  <bruno@clisp.org>
3384         * lib/relocatable.c (compute_curr_prefix): Comment out this function in
3385         the case when it is not used.
3386         Reported by Pavel Roskin <proski@gnu.org>.
3388     m4/:
3390         * m4/gettext.m4: Upgrade from GNU gettext. Many changes.
3391         * m4/po.m4: Likewise.
3393         * m4/readlink.m4: New file, from GNU gettext.
3395         2003-11-30  Bruno Haible  <bruno@clisp.org>
3396         * m4/allocsa.m4: New file.
3397         * m4/eealloc.m4: New file.
3398         * m4/setenv.m4 (gl_PREREQ_SETENV): Require gl_ALLOCSA instead of
3399         AC_FUNC_ALLOCA.
3401         2003-10-21  Bruno Haible  <bruno@clisp.org>
3402         * m4/canonicalize.m4 (gl_PREREQ_CANONICALIZE): Also test for
3403         readlink().
3405         2003-08-24  Bruno Haible  <bruno@clisp.org>
3406         * m4/relocatable.m4 (AC_RELOCATABLE): Use $(host) instead of @host@,
3407         since the substitution of @host@ may occur before the substitution of
3408         @SET_RELOCATABLE@.
3410         2003-08-23  Bruno Haible  <bruno@clisp.org>
3411         * stdbool.m4: Replace with the version from gnulib, without
3412         AC_HEADER_STDBOOL.
3414         2003-08-08  Paul Eggert  <eggert@twinsun.com>
3415         * m4/extensions.m4: New file.
3416         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
3417         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
3419         2003-07-01  Bruno Haible  <bruno@clisp.org>
3420         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
3421         <sys/types.h> should be sufficient.
3422         Reported by Paul Eggert.
3424         2003-07-01  Bruno Haible  <bruno@clisp.org>
3425         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Avoid "duplicated macro" error
3426         from aclocal-1.4-p4.
3427         Reported by Luke Schierer <lschiere@rackspace.com> and
3428         Michael C. Toren <mct@toren.net>.
3430         2003-07-01  Paul Eggert  <eggert@twinsun.com>
3431         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
3432         xreadlink.c now includes it unconditionally.
3434         2003-06-17  Paul Eggert  <eggert@twinsun.com>
3435         * m4/lib-ld.m4 (AC_LIB_PROG_LD_GNU, AC_LIB_PROG_LD): Don't use egrep,
3436         for portability to POSIX 1003.1-2001.  Backported from libtool-1.5.
3438         2003-05-28  Paul Eggert  <eggert@twinsun.com>
3439         * m4/pathmax.m4 (gl_PATHMAX): Don't check for limits.h.
3440         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
3442         2002-12-24  Bruno Haible  <bruno@clisp.org>
3443         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
3444         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
3445         when invoked twice.
3446         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
3447         gt_FUNC_SETENV.
3449     srclib/:
3451         2003-11-30  Bruno Haible  <bruno@clisp.org>
3452         * srclib/alloca.c: Remove file.
3454         2003-11-30  Bruno Haible  <bruno@clisp.org>
3455         Safer stack allocation.
3456         * srclib/allocsa.h: New file.
3457         * srclib/allocsa.c: New file.
3458         * canonicalize.c: Include allocsa.h.
3459         (__realpath): Use allocsa instead of alloca. Don't clobber errno right
3460         before returning NULL.
3461         * srclib/relocwrapper.c: Indirectly depends on allocsa.
3462         * srclib/setenv.c: Include allocsa.h.
3463         (alloca): Remove fallback definition.
3464         (freea): Remove macro.
3465         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
3466         instead of freea.
3468         2003-11-17  Bruno Haible  <bruno@clisp.org>
3469         * srclib/canonicalize.c: #undef realpath after <config.h> but before
3470         the system includes, so as to avoid a prototype clash on Solaris 2.5.1.
3471         Reported by Warren L. Dodge <warrend@mdhost.cse.tek.com>.
3473         2003-10-21  Bruno Haible  <bruno@clisp.org>
3474         * srclib/canonicalize.c (lstat): Define as an alias to 'stat' on
3475         systems without symbolic links.
3477         2003-10-17  Bruno Haible  <bruno@clisp.org>
3478         * srclib/binary-io.h: Avoid warnings on Cygwin.
3480         2003-10-09  Bruno Haible  <bruno@clisp.org>
3481         * srclib/xalloc.h: Renamed from xmalloc.h.
3482         * srclib/progreloc.c: Include xalloc.h instead of xmalloc.h.
3483         * srclib/relocatable.c: Likewise.
3484         * srclib/xmalloc.c: Likewise.
3485         * srclib/xreadlink.c: Likewise.
3486         * srclib/xstrdup.c: Likewise.
3488         2003-09-12  Paul Eggert  <eggert@twinsun.com>
3489         * srclib/progreloc.c (get_full_program_name): Define via prototype.
3491         2003-09-12  Paul Eggert  <eggert@twinsun.com>
3492         * srclib/setenv.c (clearenv): Define via prototype.
3494         2003-09-10  Bruno Haible  <bruno@clisp.org>
3495         * srclib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
3496         * srclib/unsetenv.c: Likewise.
3498         2003-08-28  Bruno Haible  <bruno@clisp.org>
3499         * srclib/binary-io.h: Undefine O_BINARY before defining it. This avoids
3500         a warning on QNX, which defines O_BINARY to 000000.
3502         2003-08-24  Bruno Haible  <bruno@clisp.org>
3503         * srclib/binary-io.h: Include <stdio.h>, to avoid a compilation error
3504         when MSVC7 <stdio.h> is included later.
3506         2003-08-24  Bruno Haible  <bruno@clisp.org>
3507         * srclib/error.h: Use ANSI C "..." declarations when compiling with
3508         MSVC, even though it doesn't define __STDC__ by default.
3509         * srclib/error.c: Use <stdarg.h> when compiling with MSVC, even though
3510         it doesn't define __STDC__ by default.
3512         2003-08-24  Bruno Haible  <bruno@clisp.org>
3513         Support for building DLLs on Windows.
3514         * srclib/error.h (error_print_progname, error_message_count,
3515         error_one_per_line): Add DLL_VARIABLE attribute.
3516         * srclib/progname.h (program_name): Likewise.
3518         2003-08-24  Bruno Haible  <bruno@clisp.org>
3519         * srclib/progname.h: Make this file includable in C++ mode: add extern
3520         "C".
3521         * srclib/relocatable.h: Likewise.
3522         * srclib/xmalloc.h: Likewise.
3524         2003-08-22  Bruno Haible  <bruno@clisp.org>
3525         * srclib/progname.h (error_with_progname, maybe_print_progname): Remove
3526         declarations.
3527         * srclib/progname.c (error_with_progname): Remove variable.
3528         (maybe_print_progname): Remove function.
3530         2003-08-01  Bruno Haible  <bruno@clisp.org>
3531         * srclib/relocatable.c (find_shared_library_fullname): Disable the code
3532         on Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.
3534         2003-07-01  Paul Eggert  <eggert@twinsun.com>
3535         * srclib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
3536         having it depend on HAVE_SYS_TYPES_H.
3538         2003-06-23  Bruno Haible  <bruno@clisp.org>
3539         Avoid compilation units that are empty after preprocessing.
3540         * srclib/canonicalize.c: Add dummy declaration.
3541         * srclib/strerror.c: Likewise.
3542         * srclib/error.c: Include <stdio.h> even if there's nothing to be
3543         compiled.
3545         2003-06-22  Bruno Haible  <bruno@clisp.org>
3546         * srclib/relocatable.c (compute_curr_prefix): Comment out this function
3547         in the case when it is not used.
3548         Reported by Pavel Roskin <proski@gnu.org>.
3550         2003-05-28  Paul Eggert  <eggert@twinsun.com>
3551         * srclib/pathmax.h: Include <limits.h> without checking for
3552         HAVE_LIMITS_H.
3553         * srclib/xreadlink.c: Likewise.
3555 2004-01-20  Bruno Haible  <bruno@clisp.org>
3557         Assume automake-1.8.
3558         * Makefile.devel (AUTOCONF, AUTOHEADER): Assume autoconf-2.59.
3559         (AUTOMAKE): Assume automake-1.8.
3560         * Makefile.in (am--refresh): New target.
3562 2004-01-23  Bruno Haible  <bruno@clisp.org>
3564         * Version 1.9.2 released.
3566 2004-01-23  Bruno Haible  <bruno@clisp.org>
3568         * tests/table-from.c: Include binary-io.h.
3569         (main): Switch stdout to binary mode.
3570         * tests/table-to.c: Include binary-io.h.
3571         (main): Switch stdout to binary mode.
3572         * tests/genutf8.c: Include binary-io.h.
3573         (main): Switch stdout to binary mode.
3574         * tests/Makefile.in (INCLUDES): Also look in srclib.
3575         (check): Pass INCLUDES when compiling genutf8.c.
3576         * tests/Makefile.os2 (INCLUDES): Also look in srclib.
3577         (genutf8.exe): Pass INCLUDES when compiling genutf8.c.
3578         * tests/Makefile.msvc (INCLUDES): Also look in srclib.
3579         (check): Pass INCLUDES when compiling genutf8.c.
3581 2004-01-21  Bruno Haible  <bruno@clisp.org>
3583         * src/iconv.c (force_binary): Remove variable.
3584         (usage): Don't document --binary any more.
3585         (convert, main): Always switch to binary mode.
3586         * tests/check-stateful.bat: Remove --binary option.
3587         * tests/check-translit.bat: Likewise.
3588         * tests/check-stateful.cmd: Likewise.
3589         * tests/check-translit.cmd: Likewise.
3590         * djgpp/stateful-check.sed: Remove MODE variable.
3591         * djgpp/translit-check.sed: Likewise.
3593 2004-01-21  Bruno Haible  <bruno@clisp.org>
3595         * man/iconv.3: Fix description of return value in case of error.
3596         Reported by Jonathan Wakely <redi@users.sf.net>.
3598 2003-09-12  Paul Eggert  <eggert@twinsun.com>
3600         * srclib/progreloc.c (get_full_program_name): Define via prototype.
3602 2003-08-15  Bruno Haible  <bruno@clisp.org>
3604         * Makefile.devel (lib/translit.h): Add ulimit command so that the
3605         gentranslit program gets the stack it needs. Many Linux distributions
3606         allow only 8 MB of stack by default.
3608 2003-08-01  Bruno Haible  <bruno@clisp.org>
3610         * lib/relocatable.c (find_shared_library_fullname): Disable the code on
3611         Linux/libc5.
3612         * srclib/relocatable.c (find_shared_library_fullname): Likewise.
3613         Reported by Alain Guibert <derogaton+bgli@oreka.com>.
3615 2003-07-02  Bruno Haible  <bruno@clisp.org>
3617         * m4/lib-ld.m4: Update from GNU gettext.
3618         * m4/lib-prefix.m4: Update from GNU gettext.
3619         * m4/gettext.m4: Update from GNU gettext.
3620         * m4/intmax.m4: New file, from GNU gettext.
3621         * m4/longdouble.m4: New file, from GNU gettext.
3622         * m4/longlong.m4: New file, from GNU gettext.
3623         * m4/printf-posix.m4: New file, from GNU gettext.
3624         * m4/signed.m4: New file, from GNU gettext.
3625         * m4/wchar_t.m4: New file, from GNU gettext.
3626         * m4/wint_t.m4: New file, from GNU gettext.
3627         * m4/pathmax.m4: Update from GNU gettext and gnulib.
3628         * m4/ssize_t.m4: Update from GNU gettext and gnulib.
3629         * m4/xreadlink.m4: Update from GNU gettext and gnulib.
3630         * m4/readlink.m4: New file, from gnulib.
3631         * autoconf/install-reloc: Update from GNU gettext.
3632         * srclib/stdbool_.h: Renamed from srclib/stdbool.h.in.
3633         * srclib/readlink.c: New file, from GNU gettext and gnulib.
3634         * srclib/Makefile.am (LIBADD_SOURCE): Add readlink.c.
3635         (EXTRA_DIST, stdbool.h): Use stdbool_.h instead of stdbool.h.in.
3636         * configure.in: Invoke gl_FUNC_READLINK.
3638 2003-06-22  Bruno Haible  <bruno@clisp.org>
3640         * src/Makefile.in (install): Link with the already installed library.
3641         This fixes a link error on Solaris.
3642         Reported by Paul Eggert.
3644 2003-06-08  Bruno Haible  <bruno@clisp.org>
3646         * srclib/canonicalize.c (__getcwd) [VMS]: Pass 3 arguments to getcwd.
3648 2003-05-02  Bruno Haible  <bruno@clisp.org>
3650         Support for libtool-1.5.
3651         * srclib/progname.c (set_program_name): Remove a leading
3652         "<dirname>/.libs/lt-" or "<dirname>/.libs/", not only "lt-".
3654 2003-06-23  Bruno Haible  <bruno@clisp.org>
3656         Avoid compilation units that are empty after preprocessing.
3657         * srclib/canonicalize.c: Add dummy declaration.
3658         * srclib/strerror.c: Likewise.
3659         * srclib/error.c: Include <stdio.h> even if there's nothing to be
3660         compiled.
3662 2003-06-22  Bruno Haible  <bruno@clisp.org>
3664         Portability to mingw32.
3665         * m4/ssize_t.m4: New file, from GNU gettext.
3666         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
3667         Reported by Jeff Bonggren <jbon@cfl.rr.com>.
3669 2003-06-22  Bruno Haible  <bruno@clisp.org>
3671         Portability to mingw32.
3672         * lib/relocatable.c [WIN32]: Include <windows.h>.
3673         * srclib/relocatable.c: Likewise.
3674         Reported by Jeff Bonggren <jbon@cfl.rr.com>.
3676 2003-06-22  Bruno Haible  <bruno@clisp.org>
3678         * lib/relocatable.c (compute_curr_prefix): Comment out this function in
3679         the case when it is not used.
3680         * srclib/relocatable.c (compute_curr_prefix): Likewise.
3681         Reported by Pavel Roskin <proski@gnu.org>.
3683 2003-06-18  Bruno Haible  <bruno@clisp.org>
3685         * config/install-sh: Update from automake-1.7.5.
3687 2003-06-16  Bruno Haible  <bruno@clisp.org>
3689         * lib/encodings.def (ISO-8859-15): Add alias LATIN-9.
3690         (ISO-8859-16): Add aliases ISO_8859-16:2001, LATIN10, L10. Remove alias
3691         ISO_8859-16:2000.
3692         (GBK): Add aliases MS936, WINDOWS-936.
3693         Reported by Guido Flohr <guido@imperia.net>.
3695 2003-05-09  Bruno Haible  <bruno@clisp.org>
3697         * srclib/canonicalize.c: Add #ifdef around versioned_symbol. Avoids an
3698         "extraneous semicolon" warning from Tru64 cc.
3700 2003-06-07  Bruno Haible  <bruno@clisp.org>
3702         * Makefile.devel (config.h_vms): Don't define HAVE_ENVIRON_DECL.
3703         * Makefile.vms (config.h): New rule.
3704         (all, install): Depend on it.
3705         (all, install, installdirs, uninstall, check): Fix typo.
3706         (mostlyclean, clean, distclean, maintainer-clean): Likewise. Remove
3707         config.h.
3708         * lib/Makefile.vms (DEFS): Fix value of INSTALLDIR.
3709         (OBJECTS): Use libiconv.obj instead of iconv.obj.
3710         (libiconv.obj): Renamed from iconv.obj.
3711         * srclib/Makefile.vms (INCLUDES): Add parent directory.
3712         (OBJECTS): Remove strtoul.obj, setenv.obj, unsetenv.obj.
3713         (strtoul.obj, setenv.obj, unsetenv.obj): Remove rules.
3714         (alloca.h): New rule.
3715         (canonicalize.obj): Depend on it.
3716         (clean): Remove alloca.h.
3717         * src/Makefile.vms (datadir, localedir): New variables.
3718         (DEFS): Also define LOCALEDIR.
3719         (iconv.obj): Add flags for relocatability,
3720         (iconv.exe): Link with libicrt. Use link_options.
3721         * vms/link_options.opt: New file.
3722         Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
3724 2003-06-07  Bruno Haible  <bruno@clisp.org>
3726         Support for relocatable data files even on Woe32.
3727         * lib/Makefile.msvc (PICFLAGS): Also define PIC.
3729 2003-05-22  Bruno Haible  <bruno@clisp.org>
3731         * Version 1.9.1 released.
3733 2003-05-22  Bruno Haible  <bruno@clisp.org>
3735         * lib/genaliases.c (main): Emit %pic instead of %null-strings.
3736         Change type of 'name' field to 'int'.
3737         * lib/genaliases2.c (emit_encoding): Add a 'tag' argument. Emit an
3738         invocation of macro S(), including the tag and a counter.
3739         (main): Use the command-line argument as tag.
3740         * Makefile.devel (lib/aliases_aix.h, lib/aliases_osf1.h,
3741         lib/aliases_dos.h, lib/aliases_extra.h): Pass a tag to the program.
3742         * lib/iconv.c (stringpool2_t): New type.
3743         (stringpool2_contents): New data table.
3744         (stringpool2): New macro.
3745         (sysdep_aliases): Make position-independent. Move #includes out to
3746         aliases2.h.
3747         (aliases2_lookup): Update.
3748         (nalias): New type.
3749         (compare_by_index): Use 'struct nalias' instead of 'struct alias'.
3750         (iconvlist): Convert 'struct alias' to 'struct nalias' while copying.
3751         * lib/aliases2.h: New file, extracted from lib/iconv.c.
3753 2003-05-20  Bruno Haible  <bruno@clisp.org>
3755         * lib/iconv.c (iconvlist): Test p->name against NULL, not against "".
3756         Reported by Muraoka Taro <koron@tka.att.ne.jp>.
3758 2003-05-19  Bruno Haible  <bruno@clisp.org>
3760         * windows/iconv.rc: Include <winver.h>.
3761         Reported by Perry Rapp.
3763 2003-05-18  Bruno Haible  <bruno@clisp.org>
3765         * Version 1.9 released.
3767 2003-05-18  Bruno Haible  <bruno@clisp.org>
3769         * lib/Makefile.in (libiconv_plug_osf.so): Avoid using LIBTOOL_LINK.
3771 2003-05-18  Bruno Haible  <bruno@clisp.org>
3773         * lib/Makefile.msvc (DEBUGFLAGS): New variable.
3774         (iconv.lib): Use it.
3775         * src/Makefile.msvc (DEBUGFLAGS): New variable.
3776         * tests/Makefile.msvc (DEBUGFLAGS): New variable.
3778 2003-05-17  Bruno Haible  <bruno@clisp.org>
3780         * src/Makefile.msvc (libdir, datadir, localedir): New variables.
3781         (IIlibdir, IIdatadir, IIlocaledir): New variables.
3782         (CFLAGS): Define LOCALEDIR.
3783         (iconv_no_i18n.exe): New rule.
3784         (all): Depend on it.
3785         * tests/check-stateful.bat: Invoke iconv_no_i18n instead of iconv.
3786         * tests/check-translit.bat: Likewise.
3788 2003-05-16  Bruno Haible  <bruno@clisp.org>
3790         * lib/genaliases.c (main): Emit declarations for gperf-3.0.
3791         * Makefile.devel (lib/aliases.h): Remove gperf command line options;
3792         add new option "-m 10" for gperf-3.0.
3794 2003-05-12  Bruno Haible  <bruno@clisp.org>
3796         * m4/error.m4: Update from gettext.
3798 2003-05-12  Bruno Haible  <bruno@clisp.org>
3800         * configure.in: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO.
3802 2003-05-12  Bruno Haible  <bruno@clisp.org>
3804         * lib/Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from
3805         CFLAGS to PICFLAGS.
3807 2003-05-09  Bruno Haible  <bruno@clisp.org>
3809         * srclib/error.c: Update from gnulib with modifications.
3810         * srclib/unlocked-io.h: New file, from gnulib.
3811         * m4/strerror_r.m4: New file, from gnulib.
3812         * m4/unlocked-io.m4: New file, from gnulib.
3813         * Makefile.devel (aclocal.m4): Depend on them.
3815 2003-05-08  Bruno Haible  <bruno@clisp.org>
3817         * Makefile.msvc (IIPREFIX): New variable.
3818         * srclib/Makefile.msvc (INCLUDES): Add -I..\windows.
3819         * src/Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
3820         IIincludedir): New variables.
3821         (INCLUDES): Add -I..\windows.
3822         (iconv.exe): Define INSTALLPREFIX and INSTALLDIR. Link with
3823         ../srclib/icrt.lib.
3824         Patches by Perry Rapp.
3826 2003-05-07  Bruno Haible  <bruno@clisp.org>
3828         * README.woe32: Fix instructions for step 1.
3829         * srclib/Makefile.msvc (OBJECTS): Remove strtoul.obj.
3830         (strtoul.obj): Remove rule.
3831         Reported by Perry Rapp.
3833 2003-05-07  Bruno Haible  <bruno@clisp.org>
3835         * Makefile.vms: New file.
3836         * lib/Makefile.vms: New file.
3837         * srclib/Makefile.vms: New file.
3838         * src/Makefile.vms: New file.
3839         * man/Makefile.vms: New file.
3840         * tests/Makefile.vms: New file.
3841         * Makefile.devel (config.h_vms, lib/config.h_vms, include/iconv.h_vms):
3842         New rules.
3843         (all): Depend on them.
3845 2003-05-07  Bruno Haible  <bruno@clisp.org>
3847         * srclib/Makefile.msvc (OBJECTS): Remove findprog.obj.
3848         (findprog.obj): Remove rule.
3849         * src/Makefile.msvc (includedir): New variable.
3851 2003-05-06  Bruno Haible  <bruno@clisp.org>
3853         * lib/translit.def: Upgrade to Unicode 4.0.
3855 2003-05-06  Bruno Haible  <bruno@clisp.org>
3857         * srclib/Makefile.am (DEFS): Fix spelling of DEPENDS_ON_LIBICONV.
3858         * srclib/Makefile.msvc (CFLAGS): Likewise.
3860         * srclib/Makefile.msvc (INCLUDES): Add -I.. .
3861         Reported by Perry Rapp.
3863         * Makefile.msvc (config.h): New rule.
3864         (all): Depend on it.
3865         (mostlyclean, clean, distclean, maintainer-clean): Erase config.h.
3866         Reported by Perry Rapp.
3868 2003-05-06  Bruno Haible  <bruno@clisp.org>
3870         * autoconf/config.guess: Update to GNU version 2003-02-22.
3871         * autoconf/config.sub: Likewise.
3873 2003-05-06  Bruno Haible  <bruno@clisp.org>
3875         * m4/lib-link.m4: Update from GNU gettext.
3876         * autoconf/config.rpath: Update from GNU gettext.
3878         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
3879         * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.
3881         * m4/gettext.m4: Update from GNU gettext.
3882         * m4/nls.m4: Update from GNU gettext.
3883         * m4/po.m4: Update from GNU gettext.
3884         * Makefile.devel (aclocal.m4): Depend on m4/nls.m4 and m4/po.m4.
3886 2003-04-12  Bruno Haible  <bruno@clisp.org>
3888         Support for OpenVMS 7.3.
3889         * lib/iconv.c (USE_OSF1): Define also on VMS.
3891 2003-04-12  Bruno Haible  <bruno@clisp.org>
3893         Better support for FreeBSD.
3894         * lib/encodings.def (ISO8859-{1,2,3,4,5,6,7,8,9,10,13,14,15,16): New
3895         aliases, for compatibility with earlier FreeBSD iconv implementation
3896         by Konstantin Chuguev.
3897         * lib/iconv.c (iconv_open, iconv, iconv_close) [FreeBSD]: Define as
3898         aliases.
3899         * src/Makefile.in (install) [FreeBSD]: Avoid installation problem.
3901 2003-04-12  Bruno Haible  <bruno@clisp.org>
3903         * configure.in (mandir): Change default value.
3904         * Makefile.in (datadir): New variable.
3905         (install, installdirs, uninstall): Pass datadir to po and man
3906         directories.
3907         * Makefile.os2 (datadir): New variable.
3908         (mandir): Use it instead of prefix.
3909         (install, uninstall): Pass datadir to man directory.
3910         * Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
3911         * man/Makefile.in (datadir): New variable.
3912         (docdir): Use it instead of prefix.
3913         (install, installdirs): Update.
3914         * man/Makefile.os2 (datadir): New variable.
3915         (mandir): Use it instead of prefix.
3916         * man/Makefile.msvc (datadir): New variable.
3917         (mandir, docdir): Use it instead of prefix.
3918         (install, installdirs): Update.
3920 2003-04-06  Bruno Haible  <bruno@clisp.org>
3922         Make it possible to build with or without libintl support on Woe32.
3923         * Makefile.devel (config.h.msvc): Remove ENABLE_NLS.
3924         * Makefile.msvc (NO_NLS): New variable.
3925         * srclib/Makefile.msvc (NO_NLS): New variable.
3926         (CFLAGS, INCLUDES): Use them.
3927         * src/Makefile.msvc (NO_NLS): New variable.
3928         (NLSFLAGS, INCINTL, LIBINTL): New variables.
3929         (CFLAGS, INCLUDES, iconv.exe): Use them.
3931 2003-04-12  Bruno Haible  <bruno@clisp.org>
3933         * lib/loop_unicode.h (unicode_transliterate): When the Hangul or
3934         variants transliteration failed with RET_ILUNI, don't return
3935         RET_TOOSMALL.
3936         Reported by the FreeBSD porters.
3938 2003-04-06  Bruno Haible  <bruno@clisp.org>
3940         * srclib/binary-io.h: New file, from GNU gettext.
3941         * src/iconv.c: Include it.
3942         (O_BINARY, O_TEXT, SET_BINARY): Remove definitions.
3944 2003-04-05  Bruno Haible  <bruno@clisp.org>
3946         Support for relocatable installation.
3947         * m4/alloca.m4: New file, from GNU gettext.
3948         * m4/canonicalize.m4: New file, from GNU gettext.
3949         * m4/error.m4: New file, from GNU gettext.
3950         * m4/onceonly.m4: New file, from GNU gettext.
3951         * m4/pathmax.m4: New file, from GNU gettext.
3952         * m4/relocatable.m4: New file, from GNU gettext.
3953         * m4/setenv.m4: New file, from GNU gettext.
3954         * m4/stdbool.m4: New file, from GNU gettext.
3955         * m4/strerror.m4: New file, from GNU gettext.
3956         * m4/xreadlink.m4: New file, from GNU gettext.
3957         * autoconf/config.libpath: New file, from GNU gettext.
3958         * autoconf/install-reloc: New file, from GNU gettext.
3959         * autoconf/reloc-ldflags: New file, from GNU gettext.
3960         * autoconf/missing: New file, from GNU automake 1.7.3.
3961         * lib/relocatable.h: New file, from GNU gettext.
3962         * lib/relocatable.c: New file, from GNU gettext.
3963         * srclib/alloca.c: New file, from GNU gettext.
3964         * srclib/alloca_.h: New file, from GNU gettext.
3965         * srclib/canonicalize.c: New file, from GNU gettext.
3966         * srclib/canonicalize.h: New file, from GNU gettext.
3967         * srclib/error.c: New file, from GNU gettext.
3968         * srclib/error.h: New file, from GNU gettext.
3969         * srclib/exit.h: New file, from GNU gettext.
3970         * srclib/gettext.h: New file, from GNU gettext.
3971         * srclib/memmove.c: New file, from GNU gettext.
3972         * srclib/pathmax.h: New file, from GNU gettext.
3973         * srclib/progname.c: New file, from GNU gettext.
3974         * srclib/progname.h: New file, from GNU gettext.
3975         * srclib/progreloc.c: New file, from GNU gettext.
3976         * srclib/relocatable.c: New file, from GNU gettext.
3977         * srclib/relocatable.h: New file, from GNU gettext.
3978         * srclib/relocwrapper.c: New file, from GNU gettext.
3979         * srclib/setenv.c: New file, from GNU gettext.
3980         * srclib/setenv.h: New file, from GNU gettext.
3981         * srclib/stdbool.h.in: New file, from GNU gettext.
3982         * srclib/strerror.c: New file, from GNU gettext.
3983         * srclib/unsetenv.c: New file, from GNU gettext.
3984         * srclib/xmalloc.c: New file, from GNU gettext.
3985         * srclib/xmalloc.h: New file, from GNU gettext.
3986         * srclib/xreadlink.c: New file, from GNU gettext.
3987         * srclib/xreadlink.h: New file, from GNU gettext.
3988         * srclib/xstrdup.c: New file, from GNU gettext.
3989         * srclib/Makefile.am: New file.
3990         * srclib/Makefile.msvc: New file.
3991         * windows/alloca.h: New file, from GNU gettext.
3992         * windows/stdbool.h: New file, from GNU gettext.
3993         * configure.in (AC_CONFIG_HEADERS): Replace src/config.h with config.h.
3994         Add AC_RELOCATABLE, AC_HEADER_STDC, AC_CHECK_HEADERS(stddef.h stdlib.h
3995         string.h), AC_CHECK_FUNCS(getc_unlocked), AC_REPLACE_FUNCS(memmove),
3996         AM_LANGINFO_CODESET, gl_FUNC_ALLOCA, gl_CANONICALIZE,
3997         gt_FUNC_ERROR_AT_LINE, gl_PATHMAX, gt_FUNC_SETENV, gt_STDBOOL_H,
3998         gl_FUNC_STRERROR, gl_XREADLINK, AC_OUTPUT(srclib/Makefile).
3999         * lib/config.h.in: Add HAVE_GETC_UNLOCKED, HAVE_LANGINFO_CODESET,
4000         HAVE_SETLOCALE, HAVE_STDDEF_H, HAVE_STDLIB_H, HAVE_STRING_H, for
4001         localcharset.c. Add ENABLE_RELOCATABLE, INSTALLPREFIX, for
4002         relocatable.c.
4003         * lib/Makefile.in (DEFS): New variable.
4004         (SOURCES): Add localcharset.c and relocatable.c.
4005         (OBJECTS): Add localcharset.lo and relocatable.lo.
4006         (LIBCHARSET_OBJECTS): Remove variable.
4007         (libiconv_plug_linux.so, libiconv_plug_solaris.so,
4008         libiconv_plug_osf.so): Use $(DEFS). Don't use $(LIBCHARSET_OBJECTS).
4009         (iconv.lo): Use $(DEFS).
4010         (localcharset.lo, relocatable.lo): New rules.
4011         * lib/Makefile.msvc (CFLAGS): Define HAVE_CONFIG_H, BUILDING_DLL,
4012         ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC,
4013         set_relocation_prefix, relocate. Remove $(PICFLAGS).
4014         (INCLUDES): Simplify.
4015         (SOURCES): Remove variable.
4016         (OBJECTS): Add localcharset.obj and relocatable.obj.
4017         (LIBCHARSET_OBJECTS): Remove variable.
4018         (iconv.obj): Add $(PICFLAGS).
4019         (localcharset.obj, relocatable.obj): New rules.
4020         (iconv.lib): Drop $(LIBCHARSET_OBJECTS).
4021         * include/iconv.h.in (libiconv_set_relocation_prefix): New declaration.
4022         * src/gettext.h: Remove file.
4023         * src/iconv.c: Include progname.h and relocatable.h.
4024         (ICONV_CONST): Define to const if the system has no iconv.
4025         (main): Invoke set_program_name. Relocate LOCALEDIR.
4026         * src/Makefile.in (top_srcdir): New variable.
4027         (INCLUDES): Add .. and ../srclib.
4028         (iconv_no_i18n, iconv): Link with ../srclib/libicrt.a.
4029         (iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Define INSTALLDIR.
4030         (RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR,
4031         RELOCATABLE_CONFIG_H_DIR, @SET_RELOCATABLE@, iconv_LDFLAGS): New
4032         variables.
4033         (iconv): Use $(iconv_LDFLAGS).
4034         (install): Use $(INSTALL_PROGRAM_ENV).
4035         (distclean): Drop removing config.h.
4036         * src/Makefile.msvc (INCLUDES): Add .., simplify.
4037         * tests/Makefile.msvc (INCLUDES): Simplify.
4038         * Makefile.devel (AUTOHEADER, AUTOMAKE): New variables.
4039         (config.h.in, srclib/Makefile.in, config.h.msvc): New rules.
4040         (all): Depend on them.
4041         (aclocal.m4) Depend also on m4/alloca.m4, m4/canonicalize.m4,
4042         m4/error.m4, m4/onceonly.m4, m4/pathmax.m4, m4/relocatable.m4,
4043         m4/setenv.m4, m4/stdbool.m4, m4/strerror.m4, m4/xreadlink.m4.
4044         (lib/config.h.msvc): Additional processing.
4045         * Makefile.in (all, install, installdirs, uninstall, check): Recurse
4046         into srclib.
4047         (mostlyclean, clean, distclean, maintainerclean): Likewise. Remove
4048         lib/localcharset.h.
4049         (distclean, maintainerclean): Remove also config.h and some stamps.
4050         * Makefile.msvc (all, install, installdirs, uninstall, check,
4051         mostlyclean, clean, distclean, maintainerclean): Recurse into srclib.
4052         * INSTALL.generic: Document --enable-relocatable and
4053         --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
4054         LDFLAGS. The lib-link.m4 macros make this unnecessary.
4056 2003-04-05  Bruno Haible  <bruno@clisp.org>
4058         * configure.in: Bump version number to 1.9.
4059         * include/iconv.h.in (_LIBICONV_VERSION): Bump.
4060         * windows/iconv.rc: Bump version number.
4061         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 4:0:2.
4063 2003-04-05  Bruno Haible  <bruno@clisp.org>
4065         * Makefile.msvc (PREFIX): New variable.
4066         (prefix): Use it.
4067         (distclean, maintainer-clean): Drop Unix specific removals.
4068         * lib/Makefile.msvc (PREFIX, IIPREFIX): New variables.
4069         (prefix): Use it.
4070         (IIprefix, IIexec_prefix, IIbindir, IIlibdir): New variables.
4071         (clean): Drop Unix specific removal.
4072         * src/Makefile.msvc (PREFIX): New variable.
4073         (prefix): Use it.
4074         (clean): Drop Unix specific removal.
4075         (distclean): Likewise.
4076         * tests/Makefile.msvc (clean): Drop Unix specific removal.
4077         (distclean): Likewise.
4079 2003-04-05  Bruno Haible  <bruno@clisp.org>
4081         * m4/endian.m4 (CL_WORDS_LITTLEENDIAN): Use 3-argument AC_DEFINE.
4083 2003-04-05  Bruno Haible  <bruno@clisp.org>
4085         * m4/general.m4 (CL_CONFIG_SUBDIRS, CL_CANONICAL_HOST,
4086         CL_CANONICAL_HOST_CPU, CL_CANONICAL_HOST_CPU_FOR_FFCALL): Remove
4087         macros.
4088         * m4/gettext.m4: Update from GNU gettext.
4089         * m4/iconv.m4: Update from GNU gettext.
4090         * m4/lcmessage.m4: Update from GNU gettext.
4091         * m4/progtest.m4: Update from GNU gettext.
4092         * m4/libtool.m4: Update from GNU gettext.
4093         2003-02-16  Bruno Haible  <bruno@clisp.org>
4094                 Workaround autoconf >= 2.52 breakage.
4095                 * libtool.m4 (AC_LIBTOOL_ARG_WITH): New macro.
4096                 (_LT_AC_LTCONFIG_HACK, AC_PROG_LD): Use it.
4097         * autoconf/ltmain.sh: Update from GNU gettext.
4098         2003-02-18  Bruno Haible  <bruno@clisp.org>
4099                 Fix the 2002-09-16 fix.
4100                 * ltmain.sh (install): If "ln -s -f" fails (this is the case
4101                 with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
4103 2003-04-05  Bruno Haible  <bruno@clisp.org>
4105         Start using automake.
4106         * configure.in: Add AM_INIT_AUTOMAKE invocation.
4107         (PACKAGE, VERSION): Remove.
4108         Use AC_CANONICAL_HOST instead of CL_CANONICAL_HOST.
4109         Use AC_PROG_LN_S instead of CL_PROG_LN_S.
4110         Use AC_PROG_RANLIB instead of CL_PROG_RANLIB.
4111         Reorder so that AC_CANONICAL_HOST comes early but still after
4112         AC_PROG_CC.
4113         * m4/ranlib.m4: Remove file.
4114         * m4/libtool.m4: Undo AC_ -> CL_ substitutions.
4115         * Makefile.devel (CLISP_DIR): Comment out.
4116         (AUTOCONF_FILES): Change to aclocal.m4.
4117         (aclocal.m4): Renamed from autoconf/aclocal.m4. Update dependencies.
4118         (configure.in): Drop --include option.
4120 2003-03-17  Bruno Haible  <bruno@clisp.org>
4122         Improved MSVC support.
4123         * Makefile.msvc (prefix): Use less Unixy value.
4124         (local_prefix): Remove variable.
4125         (libdir, includedir, mandir): Use backslashes.
4126         (bindir, datadir, localedir, docdir): New variables.
4127         (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
4128         (all): Recurse into po/ and man/.
4129         (install, installdirs, uninstall): Rewritten.
4130         (check, mostlyclean, clean, distclean, maintainer-clean): Recurse
4131         into po/ and man/.
4132         * lib/Makefile.msvc (prefix): Use less Unixy value.
4133         (local_prefix): Remove variable.
4134         (libdir): Use backslashes.
4135         (bindir): New variable.
4136         (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values.
4137         (RESOURCES): Enable iconv.res.
4138         (install, installdirs, uninstall): New rules.
4139         (clean): Remove config.h.
4140         (distclean): Don't remove config.h here.
4141         * src/Makefile.msvc (prefix, exec_prefix, bindir): New variables.
4142         (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
4143         (install, installdirs, uninstall): New rules.
4144         * man/Makefile.msvc: New file.
4145         * tests/Makefile.msvc (install, installdirs, uninstall): New rules.
4146         * Makefile.devel (all): Depend on po/Makefile.msvc.
4147         (po/Makefile.msvc): New rule.
4148         * windows/iconv.rc: Update.
4149         * README.woe32: Mention automatic installation command.
4151         Rename libcharset.h to localcharset.h.
4152         * lib/iconv.c: Include localcharset.h, not libcharset.h.
4153         * Makefile.in (lib/localcharset.h): Renamed from lib/libcharset.h.
4154         (all, install): Update dependencies.
4155         (all): Create lib/localcharset.h, not lib/libcharset.h.
4156         (mostlyclean, clean, distclean, maintainer-clean): Remove
4157         lib/localcharset.h, not lib/libcharset.h.
4158         * djgpp/README.in, djgpp/README: Update.
4159         * djgpp/config.bat: Update.
4160         * djgpp/config.sed: Update.
4161         * djgpp/fnchange.in, djgpp/fnchange.lst: Update.
4163 2003-01-31  Bruno Haible  <bruno@clisp.org>
4165         * src/Makefile.in (all): Don't do the chmod if it has already been
4166         done.
4168 2003-01-31  Bruno Haible  <bruno@clisp.org>
4170         * lib/loop_unicode.h (unicode_transliterate): Enable recursive
4171         transliteration. Idea from Perry Rapp.
4172         * lib/gentranslit.c (main): Change bound from 0x10000 to 0x110000.
4173         Change element type of translit_data to 'unsigned int'.
4174         * lib/translit.def: Many new transliterations, mostly taken from glibc.
4175         * lib/translit.h: Regenerated.
4176         * tests/Translit1.ISO-8859-1, tests/Translit1.ASCII: New files.
4177         * tests/Makefile.in (check): Add Translit1 check.
4178         * tests/Makefile.msvc (check): Likewise.
4179         * tests/Makefile.os2 (check): Likewise.
4180         * tests/TranslitFail1.ISO-8859-1: Choose a sentence which the new
4181         improved transliteration cannot do.
4183 2003-02-14  Bruno Haible  <bruno@clisp.org>
4185         * Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
4186         (configure): Update rule.
4188 2003-01-03  Albert Chin  <libtool@thewrittenword.com>
4190         * autoconf/ltmain.sh: Don't pass -R flags found in a .la's
4191         dependency_libs variable directly down to the linker.
4192         Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
4194 2003-01-01  Bruno Haible  <bruno@clisp.org>
4196         * src/Makefile.in (install): Use libiconv.la in ../lib, not in
4197         $(libdir), so that installing with DESTDIR works.
4198         Reported by Michael Adams <michael@michaeladams.org>.
4200 2003-01-01  Bruno Haible  <bruno@clisp.org>
4202         * Makefile.in (mkinstalldirs): New variable.
4203         (install-lib, install, installdirs): Use it instead of mkdir.
4204         * lib/Makefile.in (mkinstalldirs): New variable.
4205         (install-lib, install, installdirs): Use it instead of mkdir.
4206         * man/Makefile.in (mkinstalldirs): New variable.
4207         (install, installdirs): Use it instead of mkdir.
4208         * src/Makefile.in (mkinstalldirs): New variable.
4209         (install, installdirs): Use it instead of mkdir.
4211 2002-09-27  Bruno Haible  <bruno@clisp.org>
4213         * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
4215 2002-11-07  Bruno Haible  <bruno@clisp.org>
4217         * m4/libtool.m4: Upgrade to libtool-1.4.3.
4218         * autoconf/ltmain.sh: Upgrade to libtool-1.4.3.
4220 2002-07-14  Bruno Haible  <bruno@clisp.org>
4222         * m4/libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
4224 2002-06-12  Bruno Haible  <bruno@clisp.org>
4226         * configure.in: Use new AC_* names of libtool macros. Invoke
4227         AC_LIBTOOL_WIN32_DLL.
4229 2002-12-19  Bruno Haible  <bruno@clisp.org>
4231         * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if using gcc.
4232         Reported by Henry Nelson <henry@irm.nara.kindai.ac.jp>.
4234 2002-11-07  Bruno Haible  <bruno@clisp.org>
4236         Make "make install" without prior "make" work.
4237         * Makefile.in (lib/libcharset.h): New rule.
4238         (all, install): Depend on it.
4239         Reported by Martin Mokrejš <mmokrejs@natur.cuni.cz>.
4241 2002-10-28  Bruno Haible  <bruno@clisp.org>
4243         * man/Makefile.in (install): Change directory back to the working
4244         directory, so that install-sh (which may be a relative pathname) is
4245         found in the right place.
4247 2002-09-16  Bruno Haible  <bruno@clisp.org>
4249         * autoconf/ltmain.sh (install): Use "ln -s -f" instead of
4250         "rm -f && ln -s" to make a symlink for a shared library.
4251         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4253 2002-09-02  Bruno Haible  <bruno@clisp.org>
4255         * src/iconv.c (main): Don't call bindtextdomain if !ENABLE_NLS.
4257 2002-08-16  Bruno Haible  <bruno@clisp.org>
4259         * src/iconv.c (main): Perform fflush before testing ferror(stdout).
4261 2002-05-29  Bruno Haible  <bruno@clisp.org>
4263         * Version 1.8 released.
4265 2002-05-26  Bruno Haible  <bruno@clisp.org>
4267         * lib/c99.h: New file.
4268         * lib/converters.h: Include it.
4269         * lib/encodings.def (C99): New encoding.
4270         * README, man/iconv_open.3: Document C99 encoding.
4272 2002-05-26  Bruno Haible  <bruno@clisp.org>
4274         * lib/java.h (java_mbtowc): Accept 12-byte sequences for non-BMP
4275         characters.
4276         (java_wctomb): Produce 12-byte sequences for non-BMP characters.
4278 2002-05-29  Bruno Haible  <bruno@clisp.org>
4280         Fix installation of iconv program when linked with a libintl that was
4281         built against an earlier libiconv.
4282         * src/iconv.c: Conditionally disable NLS.
4283         * src/iconv_no_i18n.c: New file.
4284         * src/Makefile.in (libdir): New variable.
4285         (all): Depend on iconv_no_i18n, iconv.@OBJEXT@ but not iconv. Make
4286         directory writable, so iconv executable can be created during "make
4287         install".
4288         (iconv): Remove rule.
4289         (iconv_no_i18n, iconv_no_i18n.@OBJEXT@): New rules.
4290         (install): Link iconv now, after the new libiconv.so is installed.
4291         (clean): Also remove iconv_no_i18n.
4292         * tests/Makefile.in: (check, check-extra-yes): Depend on iconv_no_i18n,
4293         not iconv.
4294         * tests/check-stateful: Use iconv_no_i18n, not iconv.
4295         * tests/check-translit: LIkewise.
4296         * tests/check-translitfailure: Likewise.
4298 2002-05-29  Bruno Haible  <bruno@clisp.org>
4300         * configure.in: Call AC_PROG_INSTALL instead of CL_PROG_INSTALL.
4301         * m4/install.m4: Remove file.
4302         * Makefile.devel (autoconf/aclocal.m4): Don't depend on m4/install.m4.
4304 2002-05-24  Bruno Haible  <bruno@clisp.org>
4306         * lib/jisx0213.h: Use 'inline' only conditionally.
4308 2002-05-18  Bruno Haible  <bruno@clisp.org>
4310         * configure.in (AC_INIT), include/iconv.h.in (_LIBICONV_VERSION),
4311         README, windows/iconv.rc, djgpp/README, djgpp/fnchange.lst:
4312         Bump version number.
4313         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 3:0:1.
4315 2002-02-06  Bruno Haible  <bruno@clisp.org>
4317         * autoconf/ltmain.sh: Upgrade from libtool-1.4 to libtool-1.4.2.
4319 2002-02-02  Bruno Haible  <bruno@clisp.org>
4321         * autoconf/ltmain.sh: Add DESTDIR support on ELF systems.
4323 2001-11-03  Bruno Haible  <haible@clisp.cons.org>
4325         * autoconf/ltmain.sh: chmod 777 the .libs directory, so that
4326         "make install" succeeds.
4328 2002-05-18  Bruno Haible  <bruno@clisp.org>
4330         * src/Makefile.in (iconv): Remove the -liconv dependency of -lintl
4331         from the command line. Needed to ensure that the new libiconv version
4332         is used on FreeBSD.
4334 2002-05-14  Bruno Haible  <bruno@clisp.org>
4336         Implement and document CP853, TDS565, RISCOS-LATIN1.
4337         * tools/Makefile (ALL): Add cp853.h, tds565.h, riscos1.h.
4338         (cp853.h, tds565.h, riscos1.h): New rules.
4339         * lib/cp853.h: New file.
4340         * lib/tds565.h: New file.
4341         * lib/riscos1.h: New file.
4342         * lib/converters.h: Include them.
4343         * lib/encodings_dos.def (CP853): New encoding.
4344         * lib/encodings_extra.def (TDS565, RISCOS-LATIN1): New encodings.
4345         * README, man/iconv_open.3: Add CP853, TDS565, RISCOS-LATIN1.
4346         * tests/Makefile.in (check-extra-yes): Check CP853, TDS565,
4347         RISCOS-LATIN1.
4348         * tests/Makefile.msvc (check): Check CP853.
4349         * tests/CP853.TXT: New file.
4350         * tests/TDS565.TXT: New file.
4351         * tests/RISCOS-LATIN1.TXT: New file.
4353         * lib/cp860.h (cp860_wctomb): Optimize.
4355 2002-05-12  Bruno Haible  <bruno@clisp.org>
4357         * tools/Makefile (ksc5601.h): Add two extra characters.
4358         * lib/ksc5601.h: Regenerated.
4359         * tests/EUC-KR.TXT: Add EURO SIGN and REGISTERED SIGN.
4360         * tests/CP949.TXT: Likewise.
4361         * tests/JOHAB.TXT: Likewise.
4363 2002-05-12  Bruno Haible  <bruno@clisp.org>
4365         * README: Mention extra encodings.
4366         * man/iconv_open.3: Likewise. Improve formatting in text and html
4367         output formats.
4369 2002-05-12  Bruno Haible  <bruno@clisp.org>
4371         * tests/SHIFT_JIS.TXT: Renamed from tests/SHIFT-JIS.TXT.
4373 2002-05-12  Bruno Haible  <bruno@clisp.org>
4375         * Makefile.devel (AUTOCONF): New variable.
4376         (AUTOCONF_FILES): Remove autoconf/autoconf.m4f.
4377         (configure): Use the AUTOCONF variable.
4378         * autoconf/autoconf: Remove file.
4379         * autoconf/autoconf.m4: Remove file.
4380         * autoconf/autoconf.m4f: Remove file.
4382 2002-05-12  Bruno Haible  <bruno@clisp.org>
4384         * tools/JISX0213.TXT: New file.
4385         * tools/cjk_tab_to_h.c (do_jisx0213): New function.
4386         (main): Accept "jisx0213".
4387         * tools/Makefile (all): Add jisx0213.h.
4388         (jisx0213.h): New rule.
4389         * lib/jisx0213.h: New file, generated by cjk_tab_to_h.
4390         * lib/euc_jisx0213.h: New file.
4391         * lib/shift_jisx0213.h: New file.
4392         * lib/iso2022_jp3.h: New file.
4393         * lib/converters.h: Include them.
4394         * lib/encodings_extra.def (EUC-JISX0213, SHIFT_JISX0213,
4395         ISO-2022-JP-3): New encodings.
4396         * tests/EUC-JISX0213.TXT: New file.
4397         * tests/SHIFT_JISX0213.TXT: New file.
4398         * tests/ISO-2022-JP-3-snippet: New file.
4399         * tests/ISO-2022-JP-3-snippet.UTF-8: New file.
4400         * tests/Makefile.in (check-extra): Also check EUC-JISX0213,
4401         SHIFT_JISX0213, ISO-2022-JP-3.
4402         * tests/check-stateless: Add support for encodings which contain
4403         precomposed Unicode characters, by eliminating precomposed characters
4404         before the comparison.
4405         * tests/table-from.c (main): Fix usage message.
4406         * tests/table-to.c (main): Make it work for encodings for which the
4407         "to" direction is stateful.
4409 2002-05-09  Bruno Haible  <bruno@clisp.org>
4411         New configure option --enable-extra-encodings.
4412         * lib/encodings_extra.def: New file.
4413         * lib/converters.h: Handle USE_EXTRA.
4414         * lib/genaliases2.c (main): Handle USE_EXTRA.
4415         * lib/genflags.c: Define USE_EXTRA.
4416         (main): Include encodings_extra.def.
4417         * lib/iconv.c: Handle ENABLE_EXTRA, conditionally set USE_EXTRA.
4418         Handle USE_EXTRA.
4419         * lib/config.h.in (ENABLE_EXTRA): New macro.
4420         * configure.in: Accept option --enable-extra-encodings.
4421         * Makefile.devel (all): Depend on lib/aliases_extra.h.
4422         (lib/aliases_extra.h): New rule.
4423         (lib/flags.h): Depend on lib/encodings_extra.def.
4424         * tests/Makefile.in (check-extra, check-extra-no, check-extra-yes):
4425         New rules.
4426         (check): Invoke check-extra.
4427         * tests/Makefile.msvc (check): Also check the DOS encodings.
4429         Support for testing the AIX encodings.
4430         * tests/CP856.TXT: New file.
4431         * tests/CP922.TXT: New file.
4432         * tests/CP1046.TXT: New file.
4433         * tests/CP1124.TXT: New file.
4434         * tests/CP1129.TXT: New file.
4435         * tests/CP1161.TXT, tests/CP1161.IRREVERSIBLE.TXT: New files.
4436         * tests/CP1162.TXT: New file.
4437         * tests/CP1163.TXT, tests/CP1163.IRREVERSIBLE.TXT: New files.
4439         Support for testing the OSF/1 encodings.
4440         * tests/DEC-KANJI.TXT: New file.
4441         * tests/DEC-HANYU.TXT, tests/DEC-HANYU.IRREVERSIBLE.TXT: New files.
4443         Support for testing the DOS encodings.
4444         * tests/CP437.TXT: New file.
4445         * tests/CP737.TXT: New file.
4446         * tests/CP775.TXT: New file.
4447         * tests/CP852.TXT: New file.
4448         * tests/CP855.TXT: New file.
4449         * tests/CP857.TXT: New file.
4450         * tests/CP858.TXT: New file.
4451         * tests/CP860.TXT: New file.
4452         * tests/CP861.TXT: New file.
4453         * tests/CP863.TXT: New file.
4454         * tests/CP864.TXT: New file.
4455         * tests/CP865.TXT: New file.
4456         * tests/CP869.TXT: New file.
4457         * tests/CP1125.TXT: New file.
4459 2002-05-09  Bruno Haible  <bruno@clisp.org>
4461         Implement more ASCII compatible DOS encodings.
4462         * tools/Makefile (ALL): Add cp737.h, cp858.h, cp860.h, cp863.h.
4463         (cp737.h, cp858.h, cp860.h, cp863.h): New rules.
4464         * lib/cp737.h: New file.
4465         * lib/cp858.h: New file.
4466         * lib/cp860.h: New file.
4467         * lib/cp863.h: New file.
4468         * lib/converters.h: Include them.
4469         * lib/encodings_dos.def (CP737, CP858, CP860, CP863): New encodings.
4471 2002-05-09  Bruno Haible  <bruno@clisp.org>
4473         Implement new ASCII compatible encodings from IBM.
4474         * tools/Makefile (ALL): Add cp1161.h, cp1162.h, cp1163.h.
4475         (cp1161.h, cp1162.h, cp1163.h): New rules.
4476         * lib/cp1161.h: New file.
4477         * lib/cp1162.h: New file.
4478         * lib/cp1163.h: New file.
4479         * lib/converters.h: Include them.
4480         * lib/encodings_aix.def (CP1161, CP1162, CP1163): New encodings.
4482 2002-05-09  Bruno Haible  <bruno@clisp.org>
4484         Implement and document KOI8-T.
4485         * tools/Makefile (ALL): Add koi8_t.h.
4486         (koi8_t.h): New rule.
4487         * lib/koi8_t.h: New file.
4488         * lib/converters.h: Include it.
4489         * lib/encodings.def (KOI8-T): New encoding.
4490         * README, man/iconv_open.3: Add KOI8-T.
4491         * tests/Makefile.in (tests): Check KOI8-T.
4492         * tests/Makefile.os2 (tests): Likewise.
4493         * tests/Makefile.msvc (tests): Likewise.
4494         * tests/KOI8-T.TXT: New file.
4496 2002-05-09  Bruno Haible  <bruno@clisp.org>
4498         * tools/8bit_tab_to_h.c (main): Update copyright year.
4499         * tools/cjk_variants.c (main): Likewise.
4501 2002-05-08  Bruno Haible  <bruno@clisp.org>
4503         * README.woe32: Renamed from README.win32.
4505 2002-05-08  Bruno Haible  <bruno@clisp.org>
4507         * lib/iconv.c: Enable DOS encodings also when compiling for Woe32,
4508         because the Woe32 consoles use them.
4510 2002-05-04  Bruno Haible  <bruno@clisp.org>
4512         * lib/loop_unicode.h (unicode_loop_convert): When quitting the loop
4513         without writing an output character, restore cd->istate to its value
4514         before the xxx_mbtowc call. Otherwise we lose some characters during
4515         CP1255/CP1258/TCVN to Unicode conversion.
4516         (unicode_loop_reset): Likewise for the xxx_flushwc call.
4517         * tests/CP1255-snippet, tests/CP1255-snippet.UTF-8: Make the test
4518         files large enough to test against the bug.
4519         * tests/CP1258-snippet, tests/CP1258-snippet.UTF-8: Likewise.
4520         * tests/TCVN-snippet, tests/TCVN-snippet.UTF-8: Likewise.
4522 2002-04-28  Bruno Haible  <bruno@clisp.org>
4524         * tools/Makefile (armscii_8.h): Use table from glibc-2.2.90.
4525         * tests/ARMSCII-8.TXT: Update to glibc-2.2.90 version.
4526         * tests/ARMSCII-8.IRREVERSIBLE.TXT: Remove 0x0027.
4527         * lib/armscii_8.h: Regenerated.
4529 2002-04-28  Bruno Haible  <bruno@clisp.org>
4531         * src/iconv.c: Include gettext.h.
4532         (_): New macro.
4533         (usage, print_version, convert, main): Internationalize.
4534         (main): Call setlocale, bindtextdomain, textdomain.
4535         * src/gettext.h: New file, from GNU gettext 0.11.2.
4536         * src/config.h.in: New file, needed for ENABLE_NLS.
4537         * src/Makefile.in (datadir, localedir): New variables.
4538         (iconv): Link with @LTLIBINTL@.
4539         (iconv.@OBJEXT@): Define LOCALEDIR.
4540         (distclean): Remove config.h.
4541         * po: New directory.
4542         * Makefile.in (all, install, installdirs, uninstall, check,
4543         mostlyclean, clean, distclean, maintainer-clean): Recurse into the po
4544         directory.
4545         * autoconf/mkinstalldirs: New file, from automake-1.5.
4546         * ABOUT-NLS: New file, from GNU gettext 0.11.2.
4547         * m4/codeset.m4: New file, from GNU gettext 0.11.2.
4548         * m4/gettext.m4: New file, from GNU gettext 0.11.2.
4549         * m4/glibc21.m4: New file, from GNU gettext 0.11.2.
4550         * m4/isc-posix.m4: New file, from GNU gettext 0.11.2.
4551         * m4/lcmessage.m4: New file, from GNU gettext 0.11.2.
4552         * m4/progtest.m4: New file, from GNU gettext 0.11.2.
4553         * configure.in: Require autoconf-2.52, needed for multiple config.h.in
4554         files. Use new form of AC_INIT. Invoke AM_GNU_GETTEXT.
4555         (PACKAGE, VERSION): Define, needed for po/Makefile.in.in.
4556         * lib/config.h.in (HAVE_LOCALE_H, HAVE_SETLOCALE): Remove.
4558 2002-04-28  gettextize  <bug-gnu-gettext@gnu.org>
4560         * configure.in (AC_OUTPUT): Add po/Makefile.in.
4562 2002-04-28  Bruno Haible  <bruno@clisp.org>
4564         * m4/eilseq.m4: Renamed from autoconf/eilseq.m4.
4565         * m4/mbstate_t.m4: Renamed from autoconf/mbstate_t.m4.
4566         * m4/general.m4: New file, from GNU clisp.
4567         * m4/proto.m4: New file, from GNU clisp.
4568         * m4/ranlib.m4: New file, from GNU clisp.
4569         * m4/install.m4: New file, from GNU clisp.
4570         * m4/cp.m4: New file, from GNU clisp.
4571         * m4/ln.m4: New file, from GNU clisp.
4572         * m4/endian.m4: New file, from GNU clisp.
4573         * m4/iconv.m4: New file, from GNU gettext 0.11.2.
4574         * m4/lib-ld.m4: New file, from GNU gettext 0.11.2.
4575         * m4/lib-link.m4: New file, from GNU gettext 0.11.2.
4576         * m4/lib-prefix.m4: New file, from GNU gettext 0.11.2.
4577         * autoconf/config.rpath: New file, from GNU gettext 0.11.2.
4578         * m4/libtool.m4: New file, based on libtool-1.4.2.
4579         * Makefile.devel (ACLOCAL): Remove variable.
4580         (ACSELECT): Remove variable.
4581         (OTHERMACROS): Remove variable.
4582         (m4/*.m4): New rules.
4583         (autoconf/aclocal.m4): Construct using aclocal instead of acselect.
4584         * configure.in: Invoke AM_ICONV instead of CL_ICONV.
4586 2002-04-06  Bruno Haible  <bruno@clisp.org>
4588         Upgrade to Unicode 3.2.
4589         * tools/cjk_tab_to_h.c (output_title): Bump copyright year.
4590         (compact_large_charset2uni): Add an argument. Determine optimal shift.
4591         Copy modified enc->charset2uni table.
4592         (output_charset2uni): Deal with shift other than 8. Copy encoding, so
4593         as to not disturb subsequent output_uni2charset[_sparse] call.
4594         * lib/hkscs.h: Regenerated.
4595         * tests/BIG5-HKSCS.TXT: Update.
4596         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Update.
4598 2002-04-06  Bruno Haible  <bruno@clisp.org>
4600         Upgrade to Unicode 3.2.
4601         * tools/Makefile (cns11643_1.h, cns11643_2.h, cns11643_3.h,
4602         cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
4603         cns11643_7.h, cns11643_15.h, cns11643_inv.h): Use
4604         CNS11643-Unicode32.TXT instead of CNS11643-Unicode31.TXT.
4605         * lib/cns11643_3.h: Regenerated.
4606         * lib/cns11643_4a.h: Regenerated.
4607         * lib/cns11643_4b.h: Regenerated.
4608         * lib/cns11643_5.h: Regenerated.
4609         * lib/cns11643_6.h: Regenerated.
4610         * lib/cns11643_7.h: Regenerated.
4611         * lib/cns11643_15.h: Regenerated.
4612         * lib/cns11643_inv.h: Regenerated.
4613         * tests/EUC-TW.TXT: Update.
4615 2002-01-17  Bruno Haible  <bruno@clisp.org>
4617         * lib/tcvn.h (tcvn_2uni_1): Make it smaller.
4618         (tcvn_mbtowc): Small optimization.
4620 2002-01-13  Bruno Haible  <bruno@clisp.org>
4622         New options -l, -c, -s.
4623         * src/iconv.c (discard_unconvertible, silent): New variables.
4624         (usage): Document options -l, -c, -s.
4625         (print_one): New function.
4626         (convert): If silent is true, don't print error messages about the
4627         conversion to stderr. If discard_unconvertible is true, set the
4628         iconv descriptor to DISCARD_ILSEQ the first time, but make sure to
4629         return the same return code as when discard_unconvertible is false.
4630         (main): Accept options -l, -c, -s. Implement option -l.
4631         * man/iconv.1: Document options -l, -c, -s.
4633 2002-01-13  Bruno Haible  <bruno@clisp.org>
4635         Support for "iconv -c".
4636         * include/iconv.h.in (ICONV_GET_DISCARD_ILSEQ): New macro.
4637         (ICONV_SET_DISCARD_ILSEQ): Likewise.
4638         * lib/converters.h (struct conv_struct): New field discard_ilseq.
4639         * lib/iconv.c (iconv_open): Set discard_ilseq to true if tocode
4640         has an "//IGNORE" suffix, and to false otherwise.
4641         (iconvctl): Implement ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ.
4642         * lib/loop_unicode.h (unicode_loop_convert): If discard_ilseq is
4643         true, skip one input character instead of returning EILSEQ.
4644         (unicode_loop_reset): Likewise.
4645         * lib/loop_wchar.h (wchar_from_loop_convert): Likewise.
4646         (wchar_to_loop_convert): Likewise.
4648 2002-01-13  Bruno Haible  <bruno@clisp.org>
4650         Support for "iconv -l".
4651         * include/iconv.h.in (iconvlist): New declaration.
4652         * Makefile.devel (lib/aliases.h): Change gperf options.
4653         * lib/iconv.c (compare_by_index, compare_by_name, iconvlist): New
4654         functions.
4656 2002-01-06  Bruno Haible  <bruno@clisp.org>
4658         * lib/loop_unicode.h (unicode_transliterate): If the transliteration
4659         fails due to limited output encoding, return RET_ILUNI, not
4660         RET_TOOSMALL. Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4661         * tests/check-translitfailure: New file.
4662         * tests/TranslitFail1.ISO-8859-1: New file.
4663         * tests/Makefile.in (check): Call check-translitfailure.
4665 2001-12-15  Bruno Haible  <bruno@clisp.org>
4667         * lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for
4668         Shift_JIS characters 0x5C and 0x7E.
4669         * tests/EUC-JP.IRREVERSIBLE.TXT: New file.
4671 2001-12-05  Bruno Haible  <bruno@clisp.org>
4673         * lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid
4674           endless loop if locale_charset() returns the empty string.
4675         * README, man/iconv_open.3: Add the empty encoding name.
4677 2001-11-10  Bruno Haible  <haible@clisp.cons.org>
4679         * lib/Makefile.in (libiconv_plug_linux.so): Allow building it with a
4680           non-gcc compiler.
4682 2001-10-23  Bruno Haible  <haible@clisp.cons.org>
4684         * tools/Makefile (cp1125.h): New target.
4685           (ALL): Add it.
4686         * lib/cp1125.h: New file.
4687         * lib/converters.h: Include it.
4688         * lib/encodings_dos.def (CP1125): New encoding.
4690 2001-09-08  Bruno Haible  <haible@clisp.cons.org>
4692         * autoconf/eilseq.m4: New file.
4693         * Makefile.devel (OTHERMACROS): Add it.
4694         * configure.in: Call AC_EILSEQ.
4695         * include/iconv.h.in (EILSEQ): Define to the autoconf determined value.
4697 2001-08-25  Bruno Haible  <haible@clisp.cons.org>
4699         Upgrade to autoconf-2.52.
4700         * autoconf/autoconf: Upgrade to autoconf-2.52.
4701         * autoconf/acgeneral.m4: Remove file.
4702         * autoconf/acspecific.m4: Remove file.
4703         * autoconf/autoconf.m4f: New file, from autoconf-2.52.
4704         * autoconf/aclocal.m4: Require autoconf-2.52.
4705         (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
4706         AC_CANONICAL_HOST does it itself. Add $SHELL in front of
4707         $ac_config_guess and $ac_config_sub.
4708         * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
4709         Add autoconf.m4f.
4710         (configure): Use autoconf options -A, -l instead of -m.
4711         * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS.
4713 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
4715         * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
4716         (AC_LANG_EXTERN): Move to aclocal.m4.
4717         * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
4718         (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
4719         (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
4721 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
4723         Make it possible to build libiconv with CC=gcc CFLAGS="-x c++".
4724         * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable
4725         'try' to 'incount'.
4726         * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option
4727         between sources and libs.
4728         (libiconv_plug_solaris.so) [GCC]: Likewise.
4729         (libiconv_plug_osf.so) [GCC]: Likewise.
4730         * src/Makefile.in (iconv.@OBJEXT@): New rule.
4731         (iconv): Depend on it.
4732         (clean): Erase *.@OBJEXT@, not *.o.
4733         * tests/Makefile.in (table-from.@OBJEXT@): New rule.
4734         (table-from): Depend on it.
4735         (table-to.@OBJEXT@): New rule.
4736         (table-to): Depend on it.
4737         (clean): Erase *.@OBJEXT@, not *.o.
4739 2001-07-28  Bruno Haible  <haible@clisp.cons.org>
4741         * tools/Makefile (iso8859_16.h): Generate from the unicode.org table.
4742         * lib/iso8859_16.h: Regenerated.
4743         * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB.
4745 2001-07-17  Bruno Haible  <haible@clisp.cons.org>
4747         * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint.
4749 2001-07-03  Bruno Haible  <haible@clisp.cons.org>
4751         * configure.in: Also check for mbsinit.
4752         * lib/loop_wchar.h (mbsinit): Define to 1 if not defined.
4753         Needed for SCO 3.2v5.0.2.
4755 2001-06-27  Bruno Haible  <haible@clisp.cons.org>
4757         * Version 1.7 released.
4759 2001-06-27  Bruno Haible  <haible@clisp.cons.org>
4761         * INSTALL.generic (Particular Systems): Generalize section about
4762         /usr/local to "most systems".
4764         * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because
4765         Solaris cc destroys iconv.o and iconv.lo while building
4766         libiconv_plug_solaris.so.
4767         (clean): Remove so_locations, left there by the OSF/1 linker.
4769         * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
4771         * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
4772         'unsigned short'.
4774         * tests/table-from.c: Include string.h.
4775         * tests/table-to.c: Likewise.
4777 2001-06-26  Bruno Haible  <haible@clisp.cons.org>
4779         * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
4780         (jisx0212.h): Replace U+007E with U+FF5E.
4781         * lib/jisx0208.h: Regenerated.
4782         * lib/jisx0212.h: Regenerated.
4783         * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E.
4784         * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file.
4785         * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C.
4786         * tests/CP932.TXT: Likewise.
4787         * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible.
4789 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4791         * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and
4792         $(CPPFLAGS).
4793         * src/Makefile.msvc (iconv.exe): Likewise.
4794         * src/Makefile.os2 (iconv.exe): Likewise.
4795         * lib/Makefile.in (libiconv_plug_linux.so): Likewise.
4796         (libiconv_plug_solaris.so): Likewise.
4797         (libiconv_plug_osf.so): Likewise.
4798         (iconv.lo): Likewise.
4799         * lib/Makefile.msvc (iconv.obj): Likewise.
4800         * lib/Makefile.os2 (iconv.obj): Likewise.
4801         * tests/Makefile.in (table-from, table-to): Likewise.
4802         * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise.
4803         * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise.
4804         (genutf8.exe): Don't use $(INCLUDES).
4806 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4808         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
4809           Bump version number.
4810         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0.
4812 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4814         * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir.
4816 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4818         * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS.
4820 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
4822         * autoconf/ltmain.sh: Upgrade to libtool-1.4.
4823         * autoconf/ltconfig: Remove file.
4825 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
4827         * autoconf/config.guess: Update to GNU version 2001-05-11.
4828         * autoconf/config.sub: Likewise.
4830 2001-06-03  Bruno Haible  <haible@clisp.cons.org>
4832         * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag
4833           characters if they cannot be converted.
4834           (unicode_loop_reset): Likewise.
4835         * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE,
4836            STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k,
4837            STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh):
4838           New macros.
4839           (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb
4840           direction.
4841           (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag.
4842           If "ja", prefer conversion to Japanese character sets. If "zh",
4843           prefer conversion to GB2312. If "ko", prefer conversion to KSC5601.
4845         * lib/converters.h (RET_ILUNI): Change value from 0 to -1.
4846           (RET_TOOSMALL): Change value from -1 to -2.
4847         * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to
4848           return 0 written bytes.
4850 2001-06-06  Bruno Haible  <haible@clisp.cons.org>
4852         * lib/encodings.def: Align with IANA character-set registry.
4853           (US-ASCII): Add alias "ANSI_X3.4-1986".
4854           (ISO-8859-14): Add alias "ISO-CELTIC".
4855           (JIS_X0208): Add alias "JIS_C6226-1983".
4856           (BIG5HKSCS): Add alias "BIG5-HKSCS".
4857         * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS.
4858         * tests/Makefile.in (check): Likewise.
4859         * tests/Makefile.os2 (check): Likewise.
4860         * tests/Makefile.msvc (check): Likewise.
4861         * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT.
4862         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from
4863           BIG5HKSCS.IRREVERSIBLE.TXT.
4865 2001-06-02  Bruno Haible  <haible@clisp.cons.org>
4867         * tools/cjk_tab_to_h.c (Encoding): Add fffd field.
4868           (is_charset2uni_large, compact_large_charset2uni): New functions.
4869           (find_charset2uni_pages): Use enc->fffd instead of 0xfffd.
4870           (output_charset2uni): If mapping to more than the Unicode BMP,
4871           use an extra indirection to keep each value in 16 bits.
4872           (invert): Bump limit from U+10000 to U+30000.
4873           (output_uni2charset_dense): Likewise.
4874           (output_uni2charset_sparse): Likewise. If mapping to more than one
4875           CJK plane, use three bytes per value instead of two bytes.
4876           (byte_row_cns11643): Allow more than 3 CJK planes.
4877           (do_cns11643_only_uni2charset): Increase number of rows, to include
4878           plane 15. Remove plane bits hack.
4879           (main): Accept names cns11643_4a,4b,5,6,7,15 as well.
4880         * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h,
4881           cns11643_6.h, cns11643_7.h, cns11643_15.h.
4882           (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1
4883           derived table.
4884           (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
4885            cns11643_7.h, cns11643_15.h): New rules.
4886           (cns11643_inv.h): Change title.
4887         * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table.
4888         * lib/cns11643_3.h: Likewise.
4889         * lib/cns11643_4a.h: New file.
4890         * lib/cns11643_4b.h: New file.
4891         * lib/cns11643_4.h: New file.
4892         * lib/cns11643_5.h: New file.
4893         * lib/cns11643_6.h: New file.
4894         * lib/cns11643_7.h: New file.
4895         * lib/cns11643_15.h: New file.
4896         * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table.
4897           (cns11643_inv_wctomb): Return 3 bytes now.
4898         * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h,
4899           cns11643_7.h, cns11643_15.h.
4900           (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return
4901           plane number starting at 1, not 0.
4902         * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb
4903           change.
4904         * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as
4905           well.
4906           (euc_tw_wctomb): Update for cns11643_wctomb change.
4907         * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
4908         * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes
4909           4,5,6,7 as well.
4910           (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change.
4911           Try CNS11643 planes 4,5,6,7 as well.
4912         * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15.
4913         * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1.
4914           Add U+5344.
4916 2001-06-01  Bruno Haible  <haible@clisp.cons.org>
4918         * tests/table-from.c (bmp_only): New variable.
4919           (ucs4_decode): If bmp_only, don't return characters outside Unicode
4920           plane 0.
4921           (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
4922           a conversion line if ucs4_decode returns NULL.
4923         * tests/table-to.c (main): When testing encodings other than UTF-8 and
4924           GB18030, loop upto U+30000 instead of U+10000.
4926 2001-05-24  Bruno Haible  <haible@clisp.cons.org>
4928         * lib/converters.h (mbtowc_funcs): Add flushwc member function.
4929         * lib/flushwc.h: New file.
4930         * lib/cp1255.h: Include flushwc.h.
4931           (cp1255_comp_table_data, cp1255_comp_table): New arrays.
4932           (cp1255_mbtowc): Compose base and combining characters.
4933           (cp1255_flushwc): New macro.
4934         * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays.
4935         * lib/cp1258.h: Include flushwc.h.
4936           (cp1258_mbtowc): Compose base and combining characters.
4937           (cp1258_flushwc): New macro.
4938         * lib/tcvn.h: Include flushwc.h.
4939           (tcvn_mbtowc): Compose base and combining characters.
4940           (tcvn_flushwc): New macro.
4941         * lib/loop_unicode.h: (unicode_transliterate): New function, extracted
4942           from unicode_loop_convert.
4943           (unicode_loop_convert): Use unicode_transliterate.
4944           (unicode_loop_reset): Call xxx_flushwc and output the resulting
4945           character.
4946         * lib/encodings.def: Add xxx_flushwc member.
4947         * lib/encodings_aix.def: Likewise.
4948         * lib/encodings_dos.def: Likewise.
4949         * lib/encodings_local.def: Likewise.
4950         * lib/encodings_osf1.def: Likewise.
4951         * lib/genaliases.c: Add an argument to the DEFENCODING macro.
4952         * lib/genaliases2.c: Likewise.
4953         * lib/genflags.c: Likewise.
4954         * lib/iconv.c: Likewise.
4955         * tests/table-from.c (try): Reset the iconv descriptor before the main
4956           call, and flush it afterwards.
4957           (ucs4_decode): New function.
4958           (main): Allow up to 3 Unicode characters output. Call ucs4_decode.
4959         * tests/CP1255-snippet: New file.
4960         * tests/CP1255-snippet.UTF-8: New file.
4961         * tests/CP1258-snippet: New file.
4962         * tests/CP1258-snippet.UTF-8: New file.
4963         * tests/TCVN-snippet: New file.
4964         * tests/TCVN-snippet.UTF-8: New file.
4965         * tests/Makefile.in (check): Check combining behaviour of CP1255,
4966           CP1258, TCVN.
4967         * tests/Makefile.msvc (check): Likewise.
4968         * tests/Makefile.os2 (check): Likewise.
4970 2001-05-22  Bruno Haible  <haible@clisp.cons.org>
4972         * lib/converters.h (RET_ILUNI): New macro.
4973           (RET_ILSEQ): Change value to -1.
4974           (RET_TOOFEW): Change value.
4975         * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead
4976           of 0. Update handling of xxx_mbtowc return value.
4977         * lib/genflags.c (emit_encoding): Likewise.
4978         * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ.
4979         * lib/armscii_8.h (armscii_8_wctomb): Likewise.
4980         * lib/big5.h (big5_wctomb): Likewise.
4981         * lib/big5hkscs.h (big5hkscs_wctomb): Likewise.
4982         * lib/ces_big5.h (ces_big5_wctomb): Likewise.
4983         * lib/ces_gbk.h (ces_gbk_wctomb): Likewise.
4984         * lib/cns11643.h (cns11643_wctomb): Likewise.
4985         * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise.
4986         * lib/cp437.h (cp437_wctomb): Likewise.
4987         * lib/cp775.h (cp775_wctomb): Likewise.
4988         * lib/cp850.h (cp850_wctomb): Likewise.
4989         * lib/cp852.h (cp852_wctomb): Likewise.
4990         * lib/cp855.h (cp855_wctomb): Likewise.
4991         * lib/cp856.h (cp856_wctomb): Likewise.
4992         * lib/cp857.h (cp857_wctomb): Likewise.
4993         * lib/cp861.h (cp861_wctomb): Likewise.
4994         * lib/cp862.h (cp862_wctomb): Likewise.
4995         * lib/cp864.h (cp864_wctomb): Likewise.
4996         * lib/cp865.h (cp865_wctomb): Likewise.
4997         * lib/cp866.h (cp866_wctomb): Likewise.
4998         * lib/cp869.h (cp869_wctomb): Likewise.
4999         * lib/cp874.h (cp874_wctomb): Likewise.
5000         * lib/cp922.h (cp922_wctomb): Likewise.
5001         * lib/cp932ext.h (cp932ext_wctomb): Likewise.
5002         * lib/cp932.h (cp932_wctomb): Likewise.
5003         * lib/cp936ext.h (cp936ext_wctomb): Likewise.
5004         * lib/cp949.h (cp949_wctomb): Likewise.
5005         * lib/cp950ext.h (cp950ext_wctomb): Likewise.
5006         * lib/cp950.h (cp950_wctomb): Likewise.
5007         * lib/cp1046.h (cp1046_wctomb): Likewise.
5008         * lib/cp1124.h (cp1124_wctomb): Likewise.
5009         * lib/cp1129.h (cp1129_wctomb): Likewise.
5010         * lib/cp1133.h (cp1133_wctomb): Likewise.
5011         * lib/cp1250.h (cp1250_wctomb): Likewise.
5012         * lib/cp1251.h (cp1251_wctomb): Likewise.
5013         * lib/cp1252.h (cp1252_wctomb): Likewise.
5014         * lib/cp1253.h (cp1253_wctomb): Likewise.
5015         * lib/cp1254.h (cp1254_wctomb): Likewise.
5016         * lib/cp1255.h (cp1255_wctomb): Likewise.
5017         * lib/cp1256.h (cp1256_wctomb): Likewise.
5018         * lib/cp1257.h (cp1257_wctomb): Likewise.
5019         * lib/cp1258.h (cp1258_wctomb): Likewise.
5020         * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise.
5021         * lib/dec_kanji.h (dec_kanji_wctomb): Likewise.
5022         * lib/euc_cn.h (euc_cn_wctomb): Likewise.
5023         * lib/euc_jp.h (euc_jp_wctomb): Likewise.
5024         * lib/euc_kr.h (euc_kr_wctomb): Likewise.
5025         * lib/euc_tw.h (euc_tw_wctomb): Likewise.
5026         * lib/gb12345ext.h (gb12345ext_wctomb): Likewise.
5027         * lib/gb12345.h (gb12345_wctomb): Likewise.
5028         * lib/gb18030ext.h (gb18030ext_wctomb): Likewise.
5029         * lib/gb18030.h (gb18030_wctomb): Likewise.
5030         * lib/gb18030uni.h (gb18030uni_wctomb): Likewise.
5031         * lib/gb2312.h (gb2312_wctomb): Likewise.
5032         * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise.
5033         * lib/gbk.h (gbk_wctomb): Likewise.
5034         * lib/georgian_academy.h (georgian_academy_wctomb): Likewise.
5035         * lib/georgian_ps.h (georgian_ps_wctomb): Likewise.
5036         * lib/hkscs.h (hkscs_wctomb): Likewise.
5037         * lib/hp_roman8.h (hp_roman8_wctomb): Likewise.
5038         * lib/hz.h (hz_wctomb): Likewise.
5039         * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise.
5040         * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
5041         * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise.
5042         * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise.
5043         * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise.
5044         * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
5045         * lib/iso646_cn.h (iso646_cn_wctomb): Likewise.
5046         * lib/iso646_jp.h (iso646_jp_wctomb): Likewise.
5047         * lib/iso8859_1.h (iso8859_1_wctomb): Likewise.
5048         * lib/iso8859_2.h (iso8859_2_wctomb): Likewise.
5049         * lib/iso8859_3.h (iso8859_3_wctomb): Likewise.
5050         * lib/iso8859_4.h (iso8859_4_wctomb): Likewise.
5051         * lib/iso8859_5.h (iso8859_5_wctomb): Likewise.
5052         * lib/iso8859_6.h (iso8859_6_wctomb): Likewise.
5053         * lib/iso8859_7.h (iso8859_7_wctomb): Likewise.
5054         * lib/iso8859_8.h (iso8859_8_wctomb): Likewise.
5055         * lib/iso8859_9.h (iso8859_9_wctomb): Likewise.
5056         * lib/iso8859_10.h (iso8859_10_wctomb): Likewise.
5057         * lib/iso8859_13.h (iso8859_13_wctomb): Likewise.
5058         * lib/iso8859_14.h (iso8859_14_wctomb): Likewise.
5059         * lib/iso8859_15.h (iso8859_15_wctomb): Likewise.
5060         * lib/iso8859_16.h (iso8859_16_wctomb): Likewise.
5061         * lib/isoir165ext.h (isoir165ext_wctomb): Likewise.
5062         * lib/isoir165.h (isoir165_wctomb): Likewise.
5063         * lib/jisx0201.h (jisx0201_wctomb): Likewise.
5064         * lib/jisx0208.h (jisx0208_wctomb): Likewise.
5065         * lib/jisx0212.h (jisx0212_wctomb): Likewise.
5066         * lib/johab.h (johab_wctomb): Likewise.
5067         * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose):
5068           Likewise.
5069         * lib/koi8_r.h (koi8_r_wctomb): Likewise.
5070         * lib/koi8_ru.h (koi8_ru_wctomb): Likewise.
5071         * lib/koi8_u.h (koi8_u_wctomb): Likewise.
5072         * lib/ksc5601.h (ksc5601_wctomb): Likewise.
5073         * lib/mac_arabic.h (mac_arabic_wctomb): Likewise.
5074         * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise.
5075         * lib/mac_croatian.h (mac_croatian_wctomb): Likewise.
5076         * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise.
5077         * lib/mac_greek.h (mac_greek_wctomb): Likewise.
5078         * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise.
5079         * lib/mac_iceland.h (mac_iceland_wctomb): Likewise.
5080         * lib/mac_roman.h (mac_roman_wctomb): Likewise.
5081         * lib/mac_romania.h (mac_romania_wctomb): Likewise.
5082         * lib/mac_thai.h (mac_thai_wctomb): Likewise.
5083         * lib/mac_turkish.h (mac_turkish_wctomb): Likewise.
5084         * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise.
5085         * lib/mulelao.h (mulelao_wctomb): Likewise.
5086         * lib/nextstep.h (nextstep_wctomb): Likewise.
5087         * lib/sjis.h (sjis_wctomb): Likewise.
5088         * lib/tcvn.h (tcvn_wctomb): Likewise.
5089         * lib/tis620.h (tis620_wctomb): Likewise.
5090         * lib/ucs2be.h (ucs2be_wctomb): Likewise.
5091         * lib/ucs2.h (ucs2_wctomb): Likewise.
5092         * lib/ucs2internal.h (ucs2internal_wctomb): Likewise.
5093         * lib/ucs2le.h (ucs2le_wctomb): Likewise.
5094         * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise.
5095         * lib/ucs4.h (ucs4_wctomb): Likewise.
5096         * lib/uhc_1.h (uhc_1_wctomb): Likewise.
5097         * lib/uhc_2.h (uhc_2_wctomb): Likewise.
5098         * lib/utf16be.h (utf16be_wctomb): Likewise.
5099         * lib/utf16.h (utf16_wctomb): Likewise.
5100         * lib/utf16le.h (utf16le_wctomb): Likewise.
5101         * lib/utf32be.h (utf32be_wctomb): Likewise.
5102         * lib/utf32.h (utf32_wctomb): Likewise.
5103         * lib/utf32le.h (utf32le_wctomb): Likewise.
5104         * lib/utf7.h (utf7_wctomb): Likewise.
5105         * lib/utf8.h (utf8_wctomb): Likewise.
5106         * lib/viscii.h (viscii_wctomb): Likewise.
5107         * tools/8bit_tab_to_h.c (main): Likewise.
5108         * tools/cjk_tab_to_h.c (output_uni2charset_dense,
5109            output_uni2charset_sparse, do_gb18030uni): Likewise.
5111 2001-05-19  Bruno Haible  <haible@clisp.cons.org>
5113         * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html.
5114           (man/%.html): New rule.
5115         * man/Makefile.in (docdir, htmldir): New variables.
5116           (install, installdirs): Install the HTML formatted man pages in
5117           $(htmldir).
5118           (uninstall): Uninstall them.
5120 2001-05-20  Bruno Haible  <haible@clisp.cons.org>
5122         * lib/cp1255.h (cp1255_decomp_table): New array.
5123           (cp1255_comb_table): New array.
5124           (cp1255_wctomb): Decompose Unicode characters.
5125         * tests/CP1255.IRREVERSIBLE.TXT: New file.
5127 2001-05-13  Bruno Haible  <haible@clisp.cons.org>
5129         * lib/vietcomb.h: New file.
5130         * lib/cp1258.h: Include it.
5131           (cp1258_comb_table): New array.
5132           (cp1258_wctomb): Decompose Unicode characters.
5133         * lib/tcvn.h: Include it.
5134           (tcvn_comb_table): New array.
5135           (tcvn_wctomb): Decompose Unicode characters.
5136         * tests/CP1258.IRREVERSIBLE.TXT: New file.
5137         * tests/TCVN.IRREVERSIBLE.TXT: New file.
5139 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
5141         * lib/Makefile.msvc (config.h): Allow the 'del' command to fail.
5142         (iconv.lib): Likewise.
5144 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
5146         * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
5147         (CPP): Remove variable.
5148         (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so,
5149          libiconv_plug_osf.so): Use LDFLAGS.
5150         (libiconv_plug_linux.so, libiconv_plug_solaris.so,
5151          libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS.
5152         * lib/Makefile.msvc (CPP): Remove variable.
5153         * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
5154         (CPP): Remove variable.
5155         (iconv): Use CPPFLAGS and LDFLAGS.
5156         * src/Makefile.msvc (CPP): Remove variable.
5157         * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
5158         (check, table-from, table-to): Use CPPFLAGS and LDFLAGS.
5159         * tests/Makefile.msvc (CPP): Remove variable.
5161 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
5163         * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using
5164           gcc. Reported by Paananen Mikko <mikkopa@cs.tut.fi>.
5166 2001-04-11  Bruno Haible  <haible@clisp.cons.org>
5168         Implement and document UTF-32, UTF-32BE, UTF-32LE.
5169         * src/utf32.h, src/utf32be.h, src/utf32le.h: New files.
5170         * src/converters.h: Include them.
5171         * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings.
5172         * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE.
5173         * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE.
5174         * tests/Makefile.os2 (check): Likewise.
5175         * tests/Makefile.msvc (check): Likewise.
5176         * tests/UTF-32*snippet*: New files.
5178         * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order.
5179           (ucs4_wctomb): Allow any 31-bit codepoint.
5181 2001-04-11  Bruno Haible  <haible@clisp.cons.org>
5183         * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including
5184           unassigned code points.
5185         * tests/table-from.c (main); When dumping GB18030, don't print code
5186           points larger than U+FFFF.
5188 2001-03-30  Bruno Haible  <haible@clisp.cons.org>
5190         * tools/Makefile (GB18030uni.TXT): Use a table source which includes
5191           the unassigned Unicode code points.
5192         * lib/gb18030uni.h: Update.
5193           (gb18030uni_ranges): Remove bitmap_offset field.
5194           (gb18030uni_bitmap): Remove array.
5195           (gb18030uni_mbtowc): Omit gb18030uni_bitmap access.
5196           (gb18030uni_wctomb): Likewise.
5197         * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000.
5198           (gb18030_wctomb): Likewise.
5200 2001-03-21  Bruno Haible  <haible@clisp.cons.org>
5202         * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
5204 2001-03-21  Bruno Haible  <haible@clisp.cons.org>
5206         * src/iconv.c (print_version): Now called GNU libiconv.
5208 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
5210         * README: This package is now called GNU libiconv.
5212         * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output
5213           file.
5214         * tools/cjk_tab_to_h.c (output_title): Likewise.
5215         * tools/cjk_variants.c (main): Likewise.
5216         * lib/gentranslit.c (main): Likewise.
5218 2001-03-19  Bruno Haible  <haible@clisp.cons.org>
5220         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
5221           ac_config_guess and ac_config_sub. Then ignore requests for
5222           AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
5224 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
5226         * INSTALL.generic: New section "Particular Systems".
5228 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
5230         * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on
5231           platforms like BeOS.
5233         * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in
5234           config.h.
5236 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
5238         * Version 1.6 released.
5239         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
5240           Bump version number.
5241         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0.
5243 2001-03-05  Bruno Haible  <haible@clisp.cons.org>
5245         Provide all encodings used by OSF/1 5.1 locales.
5246         * lib/dec_kanji.h: New file.
5247         * lib/dec_hanyu.h: New file.
5248         * lib/converters.h: Include them if USE_OSF1 is defined.
5249         * lib/encodings_osf1.def: New file.
5250         * lib/genflags.c (main): Include it. Define USE_OSF1.
5251         * lib/genaliases2.c (main): Include it conditionally.
5252         * lib/iconv.c: Define USE_OSF1 on OSF/1.
5253           Include encodings_osf1.def and aliases_osf1.h.
5254         * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and
5255           aliases_osf1.h.
5256         * Makefile.devel (lib/aliases_osf1.h): New target.
5257           (all): Depend on lib/aliases_osf1.h.
5258           (lib/flags.h): Depend on lib/encodings_osf1.def.
5260 2001-03-01  Bruno Haible  <haible@clisp.cons.org>
5262         * tools/Makefile (cp775.h): New target.
5263           (ALL): Add it.
5264         * lib/cp775.h: New file.
5265         * lib/converters.h: Include it.
5266         * lib/encodings_dos.def (CP775): New encoding.
5268 2001-02-25  Bruno Haible  <haible@clisp.cons.org>
5270         * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any
5271           more.
5273 2001-02-24  Bruno Haible  <haible@clisp.cons.org>
5275         * src/iconv.c (convert): Use ICONV_CONST.
5276         * tests/table-from.c: Include config.h.
5277           (try): Use ICONV_CONST.
5278         * tests/table-to.c: Include config.h.
5279           (main): Use ICONV_CONST.
5280         * tests/Makefile.in (INCLUDES): Add -I../lib.
5281         * tests/Makefile.os2 (INCLUDES): Likewise.
5282         * tests/Makefile.msvc (INCLUDES): Add -I..\lib.
5284 2001-02-24  Bruno Haible  <haible@clisp.cons.org>
5286         Provide all encodings used by DOS locales.
5287         * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h,
5288            cp864.h, cp865.h, cp869.h): New targets.
5289           (ALL): Add them.
5290         * lib/cp437.h: New file.
5291         * lib/cp852.h: New file.
5292         * lib/cp855.h: New file.
5293         * lib/cp857.h: New file.
5294         * lib/cp861.h: New file.
5295         * lib/cp864.h: New file.
5296         * lib/cp865.h: New file.
5297         * lib/cp869.h: New file.
5298         * lib/converters.h: Include them if USE_DOS is defined.
5299         * lib/encodings_dos.def: New file.
5300         * lib/genflags.c (main): Include it. Define USE_DOS.
5301         * lib/genaliases2.c (main): Include it conditionally.
5302         * lib/iconv.c: Define USE_DOS on DJGPP.
5303           Include encodings_dos.def and aliases_dos.h.
5304         * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and
5305           aliases_dos.h.
5306         * Makefile.devel (lib/aliases_dos.h): New target.
5307           (all): Depend on lib/aliases_dos.h.
5308           (lib/flags.h): Depend on lib/encodings_dos.def.
5310 2001-02-23  Bruno Haible  <haible@clisp.cons.org>
5312         * src/iconv.c [DJGPP]: Include <io.h> and <unistd.h>.
5313           (SET_BINARY) [O_BINARY]: New macro.
5314           (usage): Mention --binary if available.
5315           (convert): Use SET_BINARY instead of setmode.
5316           (main): Likewise.
5317           Reported by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
5319 2001-02-25  Bruno Haible  <haible@clisp.cons.org>
5321         * autoconf/ltconfig:
5322           sed -e 's/reload object files/produce relocatable object files/'.
5324 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
5326         * src/iconv.c (usage, main): Make -f and -t options optional.
5327         * man/iconv.1: Mark them as optional.
5329 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
5331         * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from
5332           glibc-2.2.2 table.
5333         * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E,
5334           0xFE5E -> U+2E97. Shift the entire four-byte range.
5335         * tests/GB18030.TXT: Regenerated.
5337 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
5339         Better support for DOS/Windows platforms.
5340         * autoconf/ltconfig: Upgrade to libtool-1.3.5.
5341         * autoconf/ltmain.sh: Likewise.
5342         * autoconf/aclocal.m4: Likewise.
5343         * autoconf/install-sh: New file.
5344         * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR.
5346 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
5348         * Makefile.in (libdir, includedir, mandir): Use the autoconf
5349           determined value, in order to respect the configure arguments.
5350         * lib/Makefile.in (libdir): Likewise.
5351         * src/Makefile.in (bindir): Likewise.
5352         * man/Makefile.in (mandir): Likewise.
5354 2001-02-04  Bruno Haible  <haible@clisp.cons.org>
5356         * lib/translit.def: Add all the neutral transliterations from glibc.
5357         * lib/gentranslit.c (main): Allow UTF-8 replacements which are in
5358           UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'.
5359           Avoid accessing data[-1].
5360         * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer
5361           into translit_data.
5363 2001-01-05  Bruno Haible  <haible@clisp.cons.org>
5365         Implement and document CP862.
5366         * tools/Makefile (ALL): Add cp862.h.
5367           (cp862.h): New target.
5368         * lib/cp862.h: New file.
5369         * lib/converters.h: Include it.
5370         * lib/encodings.def (CP862): New encoding.
5371         * README, man/iconv_open.3: Add CP862.
5372         * tests/Makefile.in (check): Check CP862.
5373         * tests/Makefile.msvc (check): Likewise.
5374         * tests/Makefile.os2 (check): Likewise.
5375         * tests/CP862.TXT: New file.
5377 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
5379         * autoconf/mbstate_t.m4: New file, from textutils-2.0.10.
5380         * Makefile.devel (OTHERMACROS): Add it.
5381         * configure.in: Call AC_MBSTATE_T.
5382         * lib/config.h.in (mbstate_t): New definition.
5383         * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback.
5385 2000-12-12  Bruno Haible  <haible@clisp.cons.org>
5387         * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
5388           "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
5389           given. Reported by Toshimitsu Fujiwara.
5391 2000-12-08  Bruno Haible  <haible@clisp.cons.org>
5393         * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
5394         * lib/Makefile.in (exec_prefix): Likewise.
5395         * src/Makefile.in (exec_prefix): Likewise.
5396         * man/Makefile.in (exec_prefix): Likewise.
5398 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
5400         * Version 1.5 released.
5401         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
5402           Bump version number.
5403         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0.
5405 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
5407         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
5408           Remove files installed in lib by libcharset.
5409         * Makefile.msvc (mostlyclean): Likewise.
5411         * Makefile.in (check): Depend on target 'all'.
5412         * Makefile.os2 (check): Likewise.
5413         * Makefile.msvc (check): Depend on target 'force' as well.
5415         * src/iconv.c (usage): Take an exitcode argument.
5416           (print_version): New function.
5417           (main): Recognize --help and --version command line options.
5419 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
5421         * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
5422         * lib/Makefile.msvc: Likewise.
5423         * src/Makefile.msvc: Likewise.
5424         * tests/Makefile.msvc: Likewise.
5426 2000-12-01  Bruno Haible  <haible@clisp.cons.org>
5428         * src/iconv.c: Include <fcntl.h>. Define fallbacks for setmode, fileno.
5429           (force_binary): New variable.
5430           (convert): If requested, set the input O_BINARY.
5431           (main): Accept --binary option. If requested, set the output O_BINARY.
5432         * tests/check-stateful.bat: Pass --binary to iconv.
5433         * tests/check-stateful.cmd: Likewise.
5434         * tests/check-translit.bat: Likewise.
5435         * tests/check-translit.cmd: Likewise.
5437 2000-12-01  Bruno Haible  <haible@clisp.cons.org>
5439         * include/iconv.h.in (_libiconv_version): New declaration.
5440         * lib/iconv.c (_libiconv_version): New variable.
5442 2000-11-30  Bruno Haible  <haible@clisp.cons.org>
5444         * Makefile.msvc (all): File now named lib/libcharset.h.
5445           (clean, distclean, maintainer-clean): Likewise.
5447 2000-11-23  Bruno Haible  <haible@clisp.cons.org>
5449         * lib/*: Move here all files from src/*.
5450         * src/*: Move all files to lib.
5451         * lib/Makefile.in (distclean): No need to remove config.status,
5452           config.log, config.cache.
5453         * configure.in: Require lib/iconv.c, not src/iconv.c. Create
5454           lib/config.h, not src/config.h. Also create lib/Makefile.
5455         * Makefile.in (all): Install libcharset into lib, not src. Recurse
5456           into lib and src.
5457           (install-lib): Recurse into lib, not src.
5458           (install): Recurse into libcharset, lib and src.
5459           (installdirs, uninstall): Likewise.
5460           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
5461         * Makefile.msvc (all): Recurse into lib and src.
5462           (install): Recurse into libcharset, lib and src.
5463           (installdirs, uninstall): Likewise.
5464           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
5465         * Makefile.os2 (all): Recurse into lib and src.
5466           (install-lib): Recurse into lib, not src.
5467           (install, uninstall): Recurse into lib and src.
5468           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
5469         * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc.
5470           (lib/aliases.h): Renamed from src/aliases.h.
5471           (lib/aliases.gperf): Renamed from src/aliases.gperf.
5472           (lib/aliases_aix.h): Renamed from src/aliases_aix.h.
5473           (lib/flags.h): Renamed from src/flags.h.
5474           (lib/translit.h): Renamed from src/translit.h.
5475         * src/iconv.c: Moved here from tests/iconv.c.
5476         * src/Makefile.in: New file.
5477         * src/Makefile.msvc: New file.
5478         * src/Makefile.os2: New file.
5479         * tests/Makefile.in (iconv): Remove target.
5480           (../lib/libiconv.la): Renamed from ../src/libiconv.la.
5481           (clean): No need to remove iconv.
5482         * tests/Makefile.msvc (iconv.exe): Remove target.
5483         * tests/Makefile.os2 (iconv.exe): Likewise.
5484         * tests/check-stateful: iconv is in ../src.
5485         * tests/check-stateful.bat: Likewise.
5486         * tests/check-stateful.cmd: Likewise.
5487         * tests/check-translit: iconv is in ../src.
5488         * tests/check-translit.bat: Likewise.
5489         * tests/check-translit.cmd: Likewise.
5490         * man/iconv.1: New file.
5491         * man/Makefile.in (install, installdirs, uninstall): Also install *.1
5492           man pages.
5493         * man/Makefile.os2 (MAN3): Renamed from MAN.
5494           (MAN1): New variable.
5495           (install, uninstall): Also install *.1 man pages.
5497 2000-11-21  Bruno Haible  <haible@clisp.cons.org>
5499         * Makefile.msvc (all, check, mostlyclean, clean, distclean,
5500            maintainer-clean): Recurse into libcharset.
5501           (clean, distclean, maintainer-clean): Remove src\libcharset.h.
5502         * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable.
5503           (iconv.lib): Link with $(LIBCHARSET_OBJECTS).
5505 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
5507         * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
5508           so that it agrees with Microsoft's definition of CP950.
5509         * tests/CP950.TXT: Likewise.
5510         * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE.
5512 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
5514         Add support for locale dependent "char" and "wchar_t" encodings.
5515         * libcharset: New subdirectory.
5516         * src/loop_unicode.h: New file, extracted from src/iconv.c.
5517         * src/loop_wchar.h: New file.
5518         * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h.
5519         * src/encodings_local.def: New file.
5520         * src/genaliases.c: Also create aliases for encodings_local.def.
5521         * src/converters.h (conv_struct): Add lfuncs field.
5522         * src/genflags.c: Add dummy definitions of struct loop_funcs.
5523         * src/iconv.c: Include libcharset.h.
5524           (loop_funcs): New structure.
5525           Treat encodings_local.def like encodings.def.
5526           Include loops.h.
5527           (iconv_open): Move the bulk of the code to loop_unicode.h.
5528           (iconv): Likewise.
5529           (iconvctl): Extend determination of TRIVIALP to wchar_t conversion
5530           descriptors.
5531         * src/Makefile.in (PLUG_SOURCES): Remove variable.
5532           (LIBCHARSET_OBJECTS): New variable.
5533           (libiconv.la): Link in the LIBCHARSET_OBJECTS.
5534           (libiconv_plug_linux.so, libiconv_plug_solaris.so,
5535            libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using
5536           LIBTOOL_LINK.
5537           (iconv.lo): Depend on encodings_local.def.
5538         * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def.
5539         * src/Makefile.os2 (iconv.obj): Likewise.
5540         * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale.
5541           Recurse into libcharset.
5542         * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB,
5543            HAVE_SETLOCALE): New macros.
5544         * tests/iconv.c: Include config.h and locale.h.
5545           (main): Call setlocale.
5546         * tests/Makefile.in (iconv): Search for config.h in ../src.
5547         * tests/Makefile.os2 (iconv.exe): Likewise.
5548         * tests/Makefile.msvc (iconv.exe): Likewise.
5549         * README, man/iconv_open.3: Document "char" and "wchar_t" encodings.
5550         * Makefile.in: After "cd", use "&&" not ";".
5551           (all, check, mostlyclean, clean, distclean, maintainer-clean):
5552           Recurse into libcharset.
5553         * Makefile.devel (all): Recurse into libcharset.
5554           (src/aliases.gperf): Depend on src/encodings_local.def.
5556 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
5558         * src/converters.h (ucs4_t): New type.
5559           (wchar_t): Remove locally defined override.
5560           (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
5561         * src/iconv.c (iconv): Likewise.
5562         * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t.
5563         * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t".
5564         * tools/cjk_tab_to_h.c: Likewise.
5565         * src/armscii_8.h: Use ucs4_t instead of wchar_t.
5566         * src/ascii.h: Likewise.
5567         * src/big5.h: Likewise.
5568         * src/big5hkscs.h: Likewise.
5569         * src/ces_big5.h: Likewise.
5570         * src/ces_gbk.h: Likewise.
5571         * src/cns11643.h: Likewise.
5572         * src/cns11643_1.h: Likewise.
5573         * src/cns11643_2.h: Likewise.
5574         * src/cns11643_3.h: Likewise.
5575         * src/cns11643_inv.h: Likewise.
5576         * src/cp1046.h: Likewise.
5577         * src/cp1124.h: Likewise.
5578         * src/cp1129.h: Likewise.
5579         * src/cp1133.h: Likewise.
5580         * src/cp1250.h: Likewise.
5581         * src/cp1251.h: Likewise.
5582         * src/cp1252.h: Likewise.
5583         * src/cp1253.h: Likewise.
5584         * src/cp1254.h: Likewise.
5585         * src/cp1255.h: Likewise.
5586         * src/cp1256.h: Likewise.
5587         * src/cp1257.h: Likewise.
5588         * src/cp1258.h: Likewise.
5589         * src/cp850.h: Likewise.
5590         * src/cp856.h: Likewise.
5591         * src/cp866.h: Likewise.
5592         * src/cp874.h: Likewise.
5593         * src/cp922.h: Likewise.
5594         * src/cp932.h: Likewise.
5595         * src/cp932ext.h: Likewise.
5596         * src/cp936ext.h: Likewise.
5597         * src/cp949.h: Likewise.
5598         * src/cp950.h: Likewise.
5599         * src/cp950ext.h: Likewise.
5600         * src/euc_cn.h: Likewise.
5601         * src/euc_jp.h: Likewise.
5602         * src/euc_kr.h: Likewise.
5603         * src/euc_tw.h: Likewise.
5604         * src/gb12345.h: Likewise.
5605         * src/gb12345ext.h: Likewise.
5606         * src/gb18030.h: Likewise.
5607         * src/gb18030ext.h: Likewise.
5608         * src/gb18030uni.h: Likewise.
5609         * src/gb2312.h: Likewise.
5610         * src/gbk.h: Likewise.
5611         * src/gbkext1.h: Likewise.
5612         * src/gbkext2.h: Likewise.
5613         * src/gbkext_inv.h: Likewise.
5614         * src/georgian_academy.h: Likewise.
5615         * src/georgian_ps.h: Likewise.
5616         * src/hkscs.h: Likewise.
5617         * src/hp_roman8.h: Likewise.
5618         * src/hz.h: Likewise.
5619         * src/iso2022_cn.h: Likewise.
5620         * src/iso2022_cnext.h: Likewise.
5621         * src/iso2022_jp.h: Likewise.
5622         * src/iso2022_jp1.h: Likewise.
5623         * src/iso2022_jp2.h: Likewise.
5624         * src/iso2022_kr.h: Likewise.
5625         * src/iso646_cn.h: Likewise.
5626         * src/iso646_jp.h: Likewise.
5627         * src/iso8859_1.h: Likewise.
5628         * src/iso8859_10.h: Likewise.
5629         * src/iso8859_13.h: Likewise.
5630         * src/iso8859_14.h: Likewise.
5631         * src/iso8859_15.h: Likewise.
5632         * src/iso8859_16.h: Likewise.
5633         * src/iso8859_2.h: Likewise.
5634         * src/iso8859_3.h: Likewise.
5635         * src/iso8859_4.h: Likewise.
5636         * src/iso8859_5.h: Likewise.
5637         * src/iso8859_6.h: Likewise.
5638         * src/iso8859_7.h: Likewise.
5639         * src/iso8859_8.h: Likewise.
5640         * src/iso8859_9.h: Likewise.
5641         * src/isoir165.h: Likewise.
5642         * src/isoir165ext.h: Likewise.
5643         * src/java.h: Likewise.
5644         * src/jisx0201.h: Likewise.
5645         * src/jisx0208.h: Likewise.
5646         * src/jisx0212.h: Likewise.
5647         * src/johab.h: Likewise.
5648         * src/johab_hangul.h: Likewise.
5649         * src/koi8_r.h: Likewise.
5650         * src/koi8_ru.h: Likewise.
5651         * src/koi8_u.h: Likewise.
5652         * src/ksc5601.h: Likewise.
5653         * src/mac_arabic.h: Likewise.
5654         * src/mac_centraleurope.h: Likewise.
5655         * src/mac_croatian.h: Likewise.
5656         * src/mac_cyrillic.h: Likewise.
5657         * src/mac_greek.h: Likewise.
5658         * src/mac_hebrew.h: Likewise.
5659         * src/mac_iceland.h: Likewise.
5660         * src/mac_roman.h: Likewise.
5661         * src/mac_romania.h: Likewise.
5662         * src/mac_thai.h: Likewise.
5663         * src/mac_turkish.h: Likewise.
5664         * src/mac_ukraine.h: Likewise.
5665         * src/mulelao.h: Likewise.
5666         * src/nextstep.h: Likewise.
5667         * src/sjis.h: Likewise.
5668         * src/tcvn.h: Likewise.
5669         * src/tis620.h: Likewise.
5670         * src/ucs2.h: Likewise.
5671         * src/ucs2be.h: Likewise.
5672         * src/ucs2internal.h: Likewise.
5673         * src/ucs2le.h: Likewise.
5674         * src/ucs2swapped.h: Likewise.
5675         * src/ucs4.h: Likewise.
5676         * src/ucs4be.h: Likewise.
5677         * src/ucs4internal.h: Likewise.
5678         * src/ucs4le.h: Likewise.
5679         * src/ucs4swapped.h: Likewise.
5680         * src/uhc_1.h: Likewise.
5681         * src/uhc_2.h: Likewise.
5682         * src/utf16.h: Likewise.
5683         * src/utf16be.h: Likewise.
5684         * src/utf16le.h: Likewise.
5685         * src/utf7.h: Likewise.
5686         * src/utf8.h: Likewise.
5687         * src/viscii.h: Likewise.
5689 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
5691         Make transliteration optional.
5692         * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
5693           Set transliteration on if and only if tocode ends in //TRANSLIT.
5694         * README, man/iconv_open.3: Document how to enable transliteration.
5695         * tests/check-translit: Add //TRANSLIT to iconv's 't' argument.
5696         * tests/check-translit.bat: Likewise.
5697         * tests/check-translit.cmd: Likewise.
5699 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
5701         * man/iconv.3: Fix typo.
5703 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
5705         * README, man/iconv_open.3: Document JOHAB again.
5707 2000-11-15  Bruno Haible  <haible@clisp.cons.org>
5709         * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
5710           (STATIC): Change default from 0 to 1.
5711         * src/Makefile.msvc: Likewise.
5712         * tests/Makefile.msvc: Likewise.
5713         * tests/check-stateless.bat: Call 'sort' with no arguments.
5715 2000-11-12  Bruno Haible  <haible@clisp.cons.org>
5717         * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
5718           version from GNU CVS.
5720 2000-10-24  Bruno Haible  <haible@clisp.cons.org>
5722         * Version 1.4 released.
5723         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
5724           Bump version number.
5725         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0.
5727 2000-10-23  Bruno Haible  <haible@clisp.cons.org>
5729         Implement and document GB18030 and BIG5HKSCS.
5730         * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
5731           functions.
5732           (do_gb18030uni): New function.
5733           (main): Accept gb18030ext, gb18030uni, hkscs.
5734         * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h.
5735           (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT,
5736            hkscs.h): New targets.
5737         * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files.
5738         * src/hkscs.h, src/big5hkscs.h: New files.
5739         * src/converters.h: Include gb18030.h and big5hkscs.h.
5740         * src/encodings.def (GB18030, BIG5HKSCS): New encodings.
5741         * README, man/iconv_open.3: Add GB18030, BIG5HKSCS.
5742         * tests/Makefile.in (check): Check GB18030, BIG5HKSCS.
5743         * tests/Makefile.msvc (check): Likewise.
5744         * tests/Makefile.os2 (check): Likewise.
5745         * tests/GB18030.TXT: New file.
5746         * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files.
5748 2000-10-23  Bruno Haible  <haible@clisp.cons.org>
5750         * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of
5751           UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling.
5752         * tests/table-to.c (main): Likewise.
5754 2000-10-22  Bruno Haible  <haible@clisp.cons.org>
5756         * src/gentranslit.c (main): Read the input in UTF-8 encoding.
5758 2000-10-09  Bruno Haible  <haible@clisp.cons.org>
5760         CPU recognition on OpenBSD.
5761         * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
5762           __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
5764 2000-10-03  Bruno Haible  <haible@clisp.cons.org>
5766         * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
5767           character literals, use the numeric value instead.
5768           Reported by Shin-Hsien Yeh <shyeh@alcatel.com.tw>.
5770 2000-09-29  Bruno Haible  <haible@clisp.cons.org>
5772         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
5773           change.
5775 2000-09-25  Bruno Haible  <haible@clisp.cons.org>
5777         * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
5778           as equivalent to __i386. For OpenBSD.
5780 2000-09-21  Bruno Haible  <haible@clisp.cons.org>
5782         * src/utf16.h (utf16_wctomb): Reject single surrogates.
5783         * src/utf16be.h (utf16be_wctomb): Likewise.
5784         * src/utf16le.h (utf16le_wctomb): Likewise.
5785         * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
5786         * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
5787         * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
5788         * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb):
5789           Likewise.
5790         * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
5791           Likewise.
5793 2000-09-15  Bruno Haible  <haible@clisp.cons.org>
5795         * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
5796         * src/Makefile.in (install, installdirs, uninstall): Likewise.
5797         * man/Makefile.in (install, installdirs, uninstall): Likewise.
5799 2000-09-11  Bruno Haible  <haible@clisp.cons.org>
5801         * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
5803 2000-08-26  Bruno Haible  <haible@clisp.cons.org>
5805         * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
5806           value, not parens.
5808 2000-07-04  Akira Hatakeyama  <akira@sra.co.jp>
5809             Bruno Haible  <haible@clisp.cons.org>
5811         * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2,
5812           tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd,
5813           tests/check-stateless.cmd, tests/check-translit.cmd: New files.
5815 2000-06-28  Bruno Haible  <haible@clisp.cons.org>
5817         * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
5818           cast.
5819         * src/ucs4internal.h (ucs4internal_mbtowc): Likewise.
5820         * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify
5821           sizeof(unsigned short).
5822         * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify
5823           sizeof(unsigned int).
5824         Reported by François Pinard <pinard@iro.umontreal.ca>.
5826 2000-05-29  Bruno Haible  <haible@clisp.cons.org>
5828         * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
5829         Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
5831 2000-05-23  Bruno Haible  <haible@clisp.cons.org>
5833         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
5834           host_vendor, host_os correctly if $host has more than two hyphens.
5836 2000-04-15  Bruno Haible  <haible@clisp.cons.org>
5838         * Version 1.3 released.
5839         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
5840           Bump version number.
5841         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0.
5843 2000-04-15  Bruno Haible  <haible@clisp.cons.org>
5845         * THANKS: New file.
5846         * INSTALL.generic: New file.
5848         Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
5849         * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files.
5850         * src/converters.h: Include them.
5851         * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE.
5852         * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE.
5853         * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE.
5854           (UCS-2LE): Renamed from UCS-2-LE.
5855           (UCS-4BE): Renamed from UCS-4-BE.
5856           (UCS-4LE): Renamed from UCS-4-LE.
5857         * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf.
5858         * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
5859         * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
5860         * tests/Makefile.msvc (check): Likewise.
5861         * tests/UCS-*snippet*: New files.
5863         Allow building as a shared library on Windows.
5864         Allow running the tests on Windows.
5865         * Makefile.devel (include/iconv.h.msvc): Remove rule.
5866           (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New
5867           rules.
5868           (all): Update.
5869         * windows/dllexport.h: New file.
5870         * include/iconv.h.msvc: Remove file.
5871         * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New
5872           autogenerated files.
5873         * Makefile.msvc (STATIC, DEBUG): Default to 0.
5874           (all): Choose either include\iconv.h.msvc-static or
5875           include\iconv.h.msvc-shared.
5876           (check): Depend on all.
5877           (all, check, mostlyclean, clean, distclean, maintainer-clean):
5878           Recurse into tests directory.
5879         * src/Makefile.msvc (STATIC, DEBUG): Default to 0.
5880           (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables.
5881           (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV.
5882           (RESOURCES): New variable.
5883           (iconv.lib): Change rule when building DLL.
5884           (clean, distclean): One filename per line.
5885         * tests/Makefile.msvc: New file.
5886         * tests/check-stateful.bat, tests/check-stateless.bat,
5887           tests/check-translit.bat: New files.
5888         * tests/uniq-u.c: New file, taken from GNU textutils.
5889         * README.win32: Update.
5890         Based on patches by Taro Muraoka <koron@tka.att.ne.jp>.
5892 2000-04-14  Bruno Haible  <haible@clisp.cons.org>
5894         Fix an OSF/1 problem.
5895         * configure.in: Define GCC variable for substitution.
5896         * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using
5897           gcc.
5899 2000-04-13  Bruno Haible  <haible@clisp.cons.org>
5901         Fix a SunOS 4 problem.
5902         * include/iconv.h.in: If EILSEQ is not defined by the system, define
5903           it to ENOENT, not EINVAL.
5905 2000-04-02  Bruno Haible  <haible@clisp.cons.org>
5907         Allow building on filesystems lacking symlinks and hard links.
5908         * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
5909           CL_PROG_LN_S.
5910         * configure.in: Add CL_PROG_LN, CL_PROG_LN_S.
5911         * src/Makefile.in (LN): Use autoconfigured value @LN@.
5912           (LN_S): Use autoconfigured value @LN_S@.
5914 2000-03-15  Bruno Haible  <haible@clisp.cons.org>
5916         * Version 1.2 released.
5917         * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
5918         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
5920 2000-03-14  Bruno Haible  <haible@clisp.cons.org>
5922         Implement and document UTF-16BE and UTF16LE.
5923         * src/utf16be.h, src/utf16le.h: New files.
5924         * src/converters.h: Include them.
5925         * src/encodings.def (UTF-16BE, UTF16LE): New encodings.
5926         * README, man/iconv_open.3: Add UTF-16BE, UTF16LE.
5927         * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE.
5928         * tests/UTF-16*snippet*: New files.
5930         * src/utf16.h (utf16_wctomb): Output a byte order mark.
5932 2000-03-13  Bruno Haible  <haible@clisp.cons.org>
5934         Provide all encodings used by AIX locales.
5935         * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
5936           cp1129.h.
5937           (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets.
5938         * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h,
5939           src/cp1129.h: New files.
5940         * src/converters.h: Include them if USE_AIX is defined.
5941         * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046,
5942           CP1124, CP1129.
5943         * src/genflags.c: Define USE_AIX. Include encodings_aix.def.
5944         * src/genaliases2.c: New file.
5945         * src/iconv.c: Define USE_AIX on AIX.
5946           Include encodings_aix.def and aliases_aix.h.
5947           (aliases2_lookup): New function.
5948           (iconv_open): Call aliases2_lookup.
5949         * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and
5950           aliases_aix.h.
5951         * Makefile.devel (all): Add src/aliases_aix.h.
5952           (src/aliases_aix.h): New rule.
5953           (src/flags.h): Depend on src/encodings_aix.def.
5955 2000-02-24  Bruno Haible  <haible@clisp.cons.org>
5957         * src/iconv.c (iconv): Don't write beyond the end of the output buffer.
5958           Reported by Edmund Grimley Evans <edmundo@rano.org>.
5960 2000-02-22  Bruno Haible  <haible@clisp.cons.org>
5962         * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
5964 2000-02-15  Bruno Haible  <haible@clisp.cons.org>
5966         * src/iconv.c (iconv): Add cast in xxx_reset call.
5968 2000-02-05  Bruno Haible  <haible@clisp.cons.org>
5970         * src/tis620.h: Simplify.
5972 2000-01-27  Bruno Haible  <haible@clisp.cons.org>
5974         * Makefile.devel (CLISP_DIR): Change to "..".
5976 2000-01-24  Bruno Haible  <haible@clisp.cons.org>
5978         * Version 1.1 released.
5979         * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
5980         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1.
5982 2000-01-23  Bruno Haible  <haible@clisp.cons.org>
5984         * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
5985           '+' as "+-".
5987 2000-01-22  Bruno Haible  <haible@clisp.cons.org>
5989         * include/iconv.h.in (iconvctl): New declaration.
5990           (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE):
5991           New macros.
5992         * src/iconv.c (iconvctl): New function.
5994         * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE).
5996         Solve a build problem.
5997         * include/iconv.h.in: Renamed from include/libiconv.h.in.
5998         * Makefile.devel: libiconv.h -> iconv.h.
5999         * Makefile.in: Likewise.
6000         * configure.in: Likewise. Remove check for <iconv.h>.
6001         * src/iconv.c: Include iconv.h instead of libiconv.h.
6002         * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise.
6004         * README, man/iconv_open.3: Don't document JOHAB any more.
6006         * man/iconv.3: Clarify return value again.
6008 2000-01-16  Bruno Haible  <haible@clisp.cons.org>
6010         Add aliases.
6011         * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199.
6012           (ISO-8859-15): Add alias ISO-IR-203.
6013           (EUC-CN): Add alias CN-GB, from RFC 1922.
6014           (BIG5): Add alias CN-BIG5, from RFC 1922.
6015         * Makefile.devel (src/aliases.h): Add 8th character to key set.
6017         Drop X11 aliases.
6018         * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias.
6019           (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases.
6020           (KSC_5601): Drop KSC5601.1987-0 alias.
6022         Improve GB/T 12345 (not used yet).
6023         * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT.
6024         * src/gb12345ext.h: Regenerated.
6026         Improve and document CP949.
6027         * tools/Makefile (all): Add uhc_1.h and uhc_2.h.
6028           (uhc_1.h, uhc_2.h): New rules.
6029         * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New
6030           function.
6031           (output_uni2charset_sparse): Take an additional boolean argument.
6032           All callers changed.
6033           (*_uhc_1, *_uhc_2): New functions.
6034           (main): Treat uhc_1 and uhc_2.
6035         * src/uhc_1.h, src/uhc_2.h: New files.
6036         * src/cp949.h: New file, include them.
6037         * src/converters.h: Include it.
6038         * src/encodings.def (KSC_5601): Remove alias CP949.
6039           (CP949): New encoding.
6040         * README, man/iconv_open.3: Add CP949.
6041         * tests/Makefile.in (check): Check CP949.
6042         * tests/CP949.TXT: New file.
6044         Document CP932.
6045         * README, man/iconv_open.3: Add CP932.
6046         * tests/Makefile.in (check): Check CP932.
6047         * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
6049         * Makefile.devel (src/flags.h): Depend on src/converters.h.
6051         * tests/Makefile.in (check): Check JIS_X0201.
6052         * tests/JIS_X0201.TXT: New file.
6054         * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf.
6055         * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
6057         * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc.
6058           (iso2022_cn_ext_wctomb): Use isoir165_wctomb.
6060         Add ISO-IR-165 (undocumented).
6061         * tools/Makefile (all): Add isoir165ext.h.
6062           (isoir165ext.h): New rule.
6063         * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312.
6064         * src/isoir165.h, src/isoir165ext.h: New files.
6065         * src/converters.h: Include it.
6066         * src/encodings.def: Add ISO-IR-165.
6067         * tests/Makefile.in (check): Check ISO-IR-165.
6068         * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files.
6070         Add ISO646-CN (undocumented).
6071         * src/iso646_cn.h: New file.
6072         * src/converters.h: Include it.
6073         * src/encodings.def: Add ISO646-CN.
6074         * tests/Makefile.in (check): Check ISO646-CN.
6075         * tests/ISO646-CN.TXT: New file.
6077         Add ISO646-JP (undocumented).
6078         * src/iso646_jp.h: New file.
6079         * src/converters.h: Include it.
6080         * src/encodings.def: Add ISO646-JP.
6081         * tests/Makefile.in (check): Check ISO646-JP.
6082         * tests/ISO646-JP.TXT: New file.
6084 2000-01-05  Bruno Haible  <haible@clisp.cons.org>
6086         Add ISO-8859-16.
6087         * tools/Makefile (all): Add iso8859_16.h.
6088           (iso8859_16.h): New rule.
6089         * src/iso8859_16.h: New file.
6090         * src/converters.h: Include it.
6091         * src/encodings.def: Add ISO-8859-16.
6092         * README, man/iconv_open.3: Add ISO-8859-16.
6093         * tests/Makefile.in (check): Check ISO-8859-16.
6094         * tests/ISO-8859-16.TXT: New file.
6096         * man/iconv.3: Clarify what happens *inbuf in case 3.
6098         * src/iso8859_8.h: Update using newest table from ftp.unicode.org.
6099         * tests/ISO-8859-8.TXT: Likewise.
6101 2000-01-04  Bruno Haible  <haible@clisp.cons.org>
6103         * Version 1.0 released.
6104         * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number.
6105         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0.
6106           (libiconv.la): Use LIBICONV_VERSION_INFO.
6108 2000-01-03  Bruno Haible  <haible@clisp.cons.org>
6110         * tests/Makefile.in: New file.
6111           tests/check-stateless, tests/table-from.c, tests/table-to.c,
6112           tests/*.TXT, tests/genutf8.c: New files, checks for stateless
6113           encodings.
6114           tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
6115           checks for stateful encodings.
6116         * Makefile.in (all, check, mostlyclean, clean, distclean,
6117            maintainer-clean): Descend into tests directory.
6118         * configure.in: Add tests/Makefile to AC_OUTPUT duties.
6120         * src/gentranslit.c: New file.
6121         * Makefile.devel (src/translit.h): New rule.
6122         * src/translit.def, src/translit.h: New files.
6123         * src/iconv.c: Include it.
6124           (iconv): Transliterate using translit.h table.
6126         * src/genflags.c: New file.
6127         * Makefile.devel (src/flags.h): New rule.
6128         * src/flags.h: New file.
6129         * src/iconv.c: Include it.
6130           (encoding): Add field 'oflags'.
6131           (all_encodings): Initialize the field 'oflags'.
6132           (iconv_open): Copy field 'oflags'.
6133           (iconv): Transliterate quotation marks U+2018, U+2019, U+201A.
6134         * src/Makefile.in (iconv.lo): Update dependencies.
6136         * src/converters.h: New file, extracted from src/iconv.c.
6137         * src/iconv.c: Include it.
6138         * src/Makefile.in (iconv.lo): Update dependencies.
6140         * tools/cjk_variants.c: New file.
6141         * tools/Makefile (ALL): Add cjk_variants.h.
6142           (cjk_variants.h, cjk_variants): New rules.
6143         * src/cjk_variants.h: New file.
6144         * src/iconv.c: Include it.
6145           (iconv): Use cjk_variants for transliteration.
6147         * man/iconv.3: Fix description of return value.
6148         * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration.
6149         * iso2022_kr.h (iso2022kr_wctomb): Likewise.
6150         * src/iconv.c (iconv): Do Hangul transliteration here and increment
6151           result once for every transliterated character.
6152         * src/johab_hangul.h (johab_hangul_decompose): Change result array
6153           from 'unsigned char*' to 'wchar_t*'.
6155         * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing
6156           0xfffd.
6158         * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6.
6160         * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like
6161           Katakana.
6163         * src/euc_tw.h (euc_tw_mbtowc): Fix typo.
6165         * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
6166           0xC6A1..0xC7FE.
6168         * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was
6169           not being excluded. Fix that.
6170         * src/ksc5601.h: Regenerated.
6171         * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is
6172           valid in KSC5601/KSX1001 but not in JOHAB.
6174         * src/iconv.c (conv_struct): Add fields iindex, oindex.
6175           (iconv_open): Fill in iindex, oindex.
6177         * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and
6178           "csUnicode11", from IANA charset list.
6179           (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH",
6180           from IANA charset list.
6181           (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208",
6182           from IANA charset list.
6183           (GB_2312-80): New encoding, from IANA charset list.
6185         * README, man/iconv_open.3: Add MacIceland and MacUkraine.
6187         * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf.
6188           (all): Depend on src/aliases.h.
6189         * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and
6190           $(srcdir)/aliases.gperf.
6191           (clean): Clean up.
6193         * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl".
6195 1999-12-31  Bruno Haible  <haible@clisp.cons.org>
6197         * Version 0.3 released.