Update from gnulib. Move mapping tables into the code.
[libiconv.git] / ChangeLog
blob78afc65401e3ac3687bddce765b35566c6937bcf
1 2018-09-22  Bruno Haible  <bruno@clisp.org>
3         Update from gnulib. Move mapping tables into the code.
4         * autogen.sh: Don't create libcharset/m4/relocatable-lib.m4.
5         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean): Don't
6         remove lib/charset.alias.
7         * tests/check-subst: Don't set CHARSETALIASDIR.
9 2018-05-04  Bruno Haible  <bruno@clisp.org>
11         Drop special instructions for OSF/1.
12         * INSTALL.generic: Remove the recommendation for OSF/1.
14 2018-05-04  Bruno Haible  <bruno@clisp.org>
16         Simplify: Remove the ability to install a preloadable library.
17         * preload/*: Remove directory.
18         * Makefile.devel: Don't recurse into 'preload'.
19         * Makefile.in: Likewise.
20         * configure.ac: Don't declare 'preload' as a subdirectory.
21         * README, NEWS: Update.
23 2018-05-04  Bruno Haible  <bruno@clisp.org>
25         Simplify code. Drop support for Borland C++ on Windows.
26         * lib/iconv.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
27         'defined _WIN32'.
28         * lib/iconv_open1.h: Likewise.
30 2018-05-04  Bruno Haible  <bruno@clisp.org>
32         * lib/relocatable.c: Update from gnulib.
34 2018-05-04  Bruno Haible  <bruno@clisp.org>
36         Switch to automake 1.16.
37         * autogen.sh: Update comment.
38         * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.16.
39         * libcharset/Makefile.devel (ACLOCAL): Likewise.
40         * preload/Makefile.devel (ACLOCAL): Likewise.
42 2018-03-27  Bruno Haible  <bruno@clisp.org>
44         Doc tweaks.
45         * README: Don't recommend to use --prefix=/usr/local, as it produces
46         problems with GCC (since GCC's treatment of /usr/local/include and
47         /usr/local/lib is inconsistent by default). Don't recommend to use
48         the iconv.m4 installed by GNU gettext, because it won't work when
49         GNU automake and GNU gettext are installed with different --prefix
50         options; instead recommend the 'iconv' module from gnulib.
52 2018-01-27  Bruno Haible  <bruno@clisp.org>
54         Rename some files.
55         * INSTALL.windows: Renamed from README.windows.
56         * INSTALL.djgpp: Renamed from README.djgpp.
57         * Makefile.in (SOURCE_FILES): Update.
59 2018-01-03  Bruno Haible  <bruno@clisp.org>
61         Fix installation in 64-bit mode on AIX.
62         * lib/Makefile.in (AR): New variable.
63         (install): Use it instead of hardcoding 'ar'.
65 2017-11-26  Bruno Haible  <bruno@clisp.org>
67         Avoid end-of-lines problem in generated shell scripts on Cygwin.
68         Patch by Feiyun Wang <feiyunw@yahoo.com>.
69         * lib/genaliases.c (main): Create canonical.sh and canonical_local.sh
70         with Unix end-of-line characters, regardless of Cygwin choice of
71         text mode vs. binary mode.
73 2017-07-15  Bruno Haible  <bruno@clisp.org>
75         Allow building statically linked binaries, through LDFLAGS="-static".
76         Apply patch from
77         <https://lists.gnu.org/archive/html/bug-libtool/2017-07/msg00000.html>.
78         * build-aux/ltmain.sh (func_mode_help, func_mode_link): In the link
79         mode, accept option '-static-uninstalled-libs' in place of '-static',
80         and make '-static' an equivalent of '-all-static'.
82 2017-07-15  Bruno Haible  <bruno@clisp.org>
84         Don't attempt to build preloadable_libiconv.so when linking statically.
85         * preload/configure.ac (enable_shared, enable_static): Don't force
86         shared libraries when LDFLAGS indicates static linking.
87         (PLUGLIB): Set to empty when is not configured for building shared
88         libraries.
90 2017-07-15  Bruno Haible  <bruno@clisp.org>
92         Get rid of autom4te.cache directories, as far as possible.
93         * Makefile.devel (srclib/Makefile.in, aclocal.m4, configure,
94         config.h.in): Remove autom4te.cache after invoking aclocal, autoconf,
95         autoheader, automake.
96         * preload/Makefile.devel (aclocal, configure): Likewise.
98 2017-05-18  Bruno Haible  <bruno@clisp.org>
100         * lib/relocatable.h: Update from gnulib.
101         * lib/relocatable.c: Update from gnulib.
103 2017-01-30  Bruno Haible  <bruno@clisp.org>
105         Prepare for version 1.15.
106         * src/iconv.c (print_version): Update copyright year.
107         * windows/iconv.rc: Likewise.
108         * windows/libiconv.rc: Likewise.
110 2016-12-29  Bruno Haible  <bruno@clisp.org>
112         Make Makefile.devel consistent with .gitignore.
113         * Makefile.devel (srclib/Makefile.in): Depend on aclocal.m4.
114         (totally-clean): Remove also aclocal.m4.
116 2016-12-25  Bruno Haible  <bruno@clisp.org>
118         Tweak autogen.sh.
119         * autogen.sh: Emit a "done" diagnostic when autogen.sh completed
120         successfully.
122 2016-12-25  Bruno Haible  <bruno@clisp.org>
124         Reorder Makefile.devel.
125         * Makefile.devel: Reorder: put gnulib targets before autotools targets.
127 2016-12-14  Bruno Haible  <bruno@clisp.org>
129         Cleanup useless removals.
130         * lib/Makefile.in (distclean): No need to remove 'libtool'.
132 2016-12-04  Bruno Haible  <bruno@clisp.org>
134         Update comments.
135         * Makefile.devel: Update comments about release process.
137 2016-12-04  Bruno Haible  <bruno@clisp.org>
139         Create tarballs through an Automake-like "make dist" command.
140         * Makefile.in (SOURCE_FILES, LIBTOOL_IMPORTED_FILES,
141         AUTOMAKE_OLD_IMPORTED_FILES, AUTOMAKE_IMPORTED_FILES, IMPORTED_FILES,
142         GENERATED_FILES, DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
143         (distdir): New target.
144         (PACKAGE, VERSION, TAR, GZIP): New macros.
145         (dist): New target.
146         * lib/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
147         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
148         (distdir): New target.
149         * man/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
150         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
151         (distdir): New target.
152         * preload/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
153         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
154         (distdir): New target.
155         * src/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
156         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
157         (distdir): New target.
158         * tests/Makefile.in (SOURCE_FILES, IMPORTED_FILES, GENERATED_FILES,
159         DISTRIBUTED_BUILT_FILES, DISTFILES): New macros.
160         (distdir): New target.
162 2016-12-04  Bruno Haible  <bruno@clisp.org>
164         Remove duplicates of imported files from version control.
165         * autogen.sh: Copy imported files to libcharset.
167 2016-12-04  Bruno Haible  <bruno@clisp.org>
169         Always use the newest released copies of files brought in from Automake.
170         * Makefile.devel (srclib/Makefile.in): Make sure to get new versions of
171         files brought in by automake.
172         * build-aux/install-sh: Remove from version control.
173         * build-aux/missing: Likewise.
175 2016-12-04  Bruno Haible  <bruno@clisp.org>
177         Always use the newest copies of config.guess, config.sub.
178         * Makefile.devel (gnulib-imported-files): New target.
179         * autogen.sh: Invoke it.
180         * build-aux/config.guess: Remove from version control.
181         * build-aux/config.sub: Likewise.
183 2016-12-04  Bruno Haible  <bruno@clisp.org>
185         Always use the newest copy of fcntl-o.m4.
186         * m4/fcntl-o.m4: Remove file. Rely on srcm4/fcntl-o.m4 instead.
188 2016-12-04  Bruno Haible  <bruno@clisp.org>
190         Remove obsolete documentation.
191         * PORTS: Remove file.
193 2016-12-03  Bruno Haible  <bruno@clisp.org>
195         Make Makefile.devel more useful for the users of the released tarball.
196         * Makefile.devel (srclib/Makefile.gnulib): Don't force this target.
197         (gnulib-clean): New target.
198         (totally-clean): New target. Do the removals from autogen.sh. Also,
199         remove lib/aliases*.gperf, lib/canonical*.h, man/iconvctl.3.html,
200         man/iconv_open_into.3.html.
201         * autogen.sh: Invoke target gnulib-clean before srclib/Makefile.gnulib.
202         Invoke target totally-clean before all.
203         * preload/Makefile.devel (totally-clean): New target.
205 2016-12-03  Bruno Haible  <bruno@clisp.org>
207         Modernize configure.ac.
208         * configure.ac: Use 2-argument AC_INIT. Avoid an AM_INIT_AUTOMAKE
209         warning.
210         * preload/configure.ac: Use 2-argument AC_INIT. Use AC_CONFIG_SRCDIR.
212 2016-12-03  Bruno Haible  <bruno@clisp.org>
214         Towards reproducible builds.
215         * Makefile.devel (man/%.html): Remove the CreationDate comment line
216         from the output.
218 2016-12-04  Bruno Haible  <bruno@clisp.org>
220         Update to gettext-0.19.8.1.
221         * ABOUT-NLS: Update through 'gettextize'.
223 2016-12-03  Bruno Haible  <bruno@clisp.org>
225         Update documentation.
226         * HACKING: Refer to the Git repository.
228 2016-12-03  Bruno Haible  <bruno@clisp.org>
230         Avoid compilation warnings in 'genflags' program.
231         * lib/genflags.c: Avoid warnings from GCC's -Wunused-function option.
233 2016-12-02  Bruno Haible  <bruno@clisp.org>
235         * relocatable.c: Update from gnulib.
237 2016-11-25  Bruno Haible  <bruno@clisp.org>
239         Prepare for version 1.15.
240         * configure.ac: Bump version number to 1.15.
241         * README: Likewise.
242         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
243         * windows/iconv.rc: Update.
244         * windows/libiconv.rc: Update.
245         * Makefile.devel: Update comments.
246         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 8:0:6.
247         * src/iconv.c (print_version): Update copyright year.
249 2016-11-23  Bruno Haible  <bruno@clisp.org>
251         Update installation instructions for Windows.
252         * README.windows: Assume a 64-bit Windows. Explain both 32-bit and
253         64-bit builds. Add instructions for the MS Visual C/C++ tool chain.
254         Revamp instructions for Cygwin.
256 2016-11-23  Bruno Haible  <bruno@clisp.org>
258         Drop the nickname "woe32".
259         * README.windows: Renamed from README.woe32.
261 2016-11-22  Bruno Haible  <bruno@clisp.org>
263         Update support for building with MSVC.
264         * Makefile.devel (srclib/Makefile.in): Import 'ar-lib' and 'compile'
265         from gnulib.
266         * lib/Makefile.in (install-lib, install): Install the .la file with
267         $(INSTALL), not $(INSTALL_DATA). Otherwise the native Windows DLL gets
268         installed without execution permissions, and programs linked to it fail:
269         in a Cygwin shell with exit code 127, or from a cmd.exe window with a
270         dialog "The application was unable to start correctly (0xc0000022)."
272 2016-11-19  Bruno Haible  <bruno@clisp.org>
274         Fix link error when compiling with gcc -O0.
275         * lib/iconv.c (aliases2_lookup): Make static.
276         Reported by Chung-Lin Tang <chunglin.tang@gmail.com>
277         at https://savannah.gnu.org/bugs/?47953 .
279 2016-11-17  Bruno Haible  <bruno@clisp.org>
281         UTF-8: Reject surrogates and out-of-range code points.
282         * lib/utf8.h (utf8_mbtowc, utf8_wctomb): Reject code points in the
283         range 0xD800..0xDFFF and >= 0x110000.
284         * tests/genutf8.c (main): Don't emit mappings for 0xD800..0xDFFF.
286 2016-10-22  Bruno Haible  <bruno@clisp.org>
288         Switch to libtool 2.4.6.
289         * m4/libtool.m4: Update from libtool-2.4.6, with modifications:
290         2008-04-06  Bruno Haible  <bruno@clisp.org>
291                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
292                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
293                 to ${CONFIG_SHELL}..
294         * m4/ltoptions.m4: Likewise.
295         * m4/ltversion.m4: Likewise.
296         * build-aux/ltmain.sh: Likewise.
298 2016-10-14  Bruno Haible  <bruno@clisp.org>
300         Use 'size_t', not 'int', for the length of a string.
301         * lib/iconv.c: Include <limits.h>.
302         * lib/genflags.c: Likewise.
303         * lib/converters.h (struct mbtowc_funcs, struct wctomb_funcs): Change
304         'int n' parameter to 'size_t n'.
305         (RET_COUNT_MAX): New macro.
306         * lib/*.h: Use 'size_t n' instead of 'int n'.
307         * lib/ucs2.h (ucs2_mbtowc): Make sure 'count' does not cause an 'int'
308         overflow.
309         * lib/ucs4.h (ucs4_mbtowc): Likewise.
310         * lib/utf16.h (utf16_mbtowc): Likewise.
311         * lib/utf32.h (utf32_mbtowc): Likewise.
312         * tools/8bit_tab_to_h.c: Generate function signatures with 'size_t n'.
313         * tools/cjk_tab_to_h.c: Likewise.
314         * NEWS: Mention the change.
316 2016-10-04  Bruno Haible  <bruno@clisp.org>
318         Extend CP1255 mapping.
319         * lib/cp1255.h (cp1255_2uni, cp1255_page05): Map 0xCA to U+05BA.
320         * tests/CP1255.TXT: Likewise.
321         This matches https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit1255.txt
322         and what the native Windows converter does since at least Windows XP.
324 2016-10-01  Ben Noordhuis  <info@bnoordhuis.nl>  (tiny change)
325             Bruno Haible  <bruno@clisp.org>
327         Remove large stack requirement from gentranslit.
328         * lib/gentranslit.c (main): Heap-allocate large arrays.
329         * Makefile.devel (lib/translit.h): Remove 'ulimit -s unlimited' command.
331 2015-12-10  Ben Noordhuis  <info@bnoordhuis.nl>  (tiny change)
333         Remove unused array from gentranslit.
334         * lib/gentranslit.c (main): Remove unused array.
335         * Makefile.devel (CC): Add -Wall option.
336         Reported in https://savannah.gnu.org/bugs/?46663 .
338 2016-10-01  Bruno Haible  <bruno@clisp.org>
340         Fix bug #41187.
341         * src/iconv.c (main): Increment i after parsing the --silent option.
342         Reported in https://savannah.gnu.org/bugs/?41187 .
344 2016-10-01  Bruno Haible  <bruno@clisp.org>
346         Update to current gnulib.
347         * Makefile.devel (GNULIB_MODULES): Remove memmove.
348         * tests/Makefile.in (INCLUDES): Make sure to include the top-level
349         "config.h". Needed for the 'binary-io' module.
351 2016-10-01  Bruno Haible  <bruno@clisp.org>
353         Switch to automake 1.15.
354         * autogen.sh: Update comment.
355         * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.15.
356         (srclib/Makefile.in): Don't remove auxiliary files brought in by
357         automake.
358         * preload/Makefile.devel (ACLOCAL): Switch to version 1.15.
359         * srclib/Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects.
360         * build-aux/missing: Update from automake-1.15.
362 2016-10-01  Bruno Haible  <bruno@clisp.org>
364         Remove autogenerated doc files from version control.
365         * man/iconvctl.3.html: Remove file.
366         * man/iconv_open_into.3.html: Remove file.
368 2012-12-06  Bruno Haible  <bruno@clisp.org>
370         Change copyright holder of man pages.
371         * man/*.[13]: Replace myself with FSF.
373 2012-06-30  Bruno Haible  <bruno@clisp.org>
375         Make it possible to run 'genaliases2' on native Windows.
376         * lib/genaliases2.c (main): Expect 3 arguments. Open the output files
377         explicitly. Complain if they don't exist.
378         * Makefile.devel (lib/aliases_*.h): Pass the output filenames as
379         arguments to genaliases.
380         Reported at <https://savannah.gnu.org/bugs/?36748>.
382         Make it possible to run 'genaliases' on native Windows.
383         * lib/genaliases.c (main): Expect 3 arguments. Open the output files
384         explicitly. Complain if they don't exist. Improve error checking.
385         * Makefile.devel (lib/aliases*.h): Pass the output filenames as
386         arguments to genaliases.
387         Reported at <https://savannah.gnu.org/bugs/?36748>.
389 2012-05-13  Bruno Haible  <bruno@clisp.org>
391         Tweak the GB18030 converter to map 0x8135F437 to U+E7C7.
392         * lib/gb18030.h (gb18030_pua2charset, gb18030_wctomb): Remove mapping
393         from U+E7C7 to 0xA8BC.
394         * lib/gb18030uni.h (gb18030uni_mbtowc): Treat 0x8135F437 as a special
395         case.
396         (gb18030uni_wctomb): Treat U+E7C7 as a special case.
397         * tests/GB18030-BMP.TXT: Map 0x8135F437 to U+E7C7, not U+1E3F.
398         * tests/GB18030.IRREVERSIBLE.TXT: Remove irreversible mappings for
399         0x8135F437 and U+E7C7.
401 2012-04-28  Bruno Haible  <bruno@clisp.org>
403         Switch to autoconf 2.69 and automake 1.12.
404         * autogen.sh: Update comment.
405         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.69.
406         (AUTOMAKE, ACLOCAL): Switch to version 1.12.
407         * preload/Makefile.devel (AUTOCONF): Switch to version 2.69.
408         (ACLOCAL): Switch to version 1.12.
410 2012-03-24  Bruno Haible  <bruno@clisp.org>
412         Avoid a GCC warning.
413         * lib/isoir165.h (isoir165_mbtowc): Don't shadow the 'ret' variable.
415 2012-01-26  Bruno Haible  <bruno@clisp.org>
417         Modernize quoting.
418         * README: Quote 'like this', not `like this', as per the recent change
419         to the GNU coding standards.
420         * NOTES: Likewise.
421         * gnulib-local/lib/xmalloc.c: Likewise.
422         * lib/config.h.in: Likewise.
423         * src/iconv.c (usage): Likewise.
424         * tests/uniq-u.c: Likewise.
425         * tools/cjk_tab_to_h.c (output_uni2charset_sparse, do_jisx0213):
426         Likewise.
427         * lib/big5.h: Update accordingly.
428         * lib/cns11643_inv.h: Likewise.
429         * lib/cp932ext.h: Likewise.
430         * lib/cp950ext.h: Likewise.
431         * lib/gb12345ext.h: Likewise.
432         * lib/gb2312.h: Likewise.
433         * lib/gbkext_inv.h: Likewise.
434         * lib/hkscs1999.h: Likewise.
435         * lib/hkscs2001.h: Likewise.
436         * lib/hkscs2004.h: Likewise.
437         * lib/hkscs2008.h: Likewise.
438         * lib/isoir165ext.h: Likewise.
439         * lib/jisx0208.h: Likewise.
440         * lib/jisx0212.h: Likewise.
441         * lib/jisx0213.h: Likewise.
442         * lib/ksc5601.h: Likewise.
443         * lib/uhc_1.h: Likewise.
444         * lib/uhc_2.h: Likewise.
446 2012-01-15  Bruno Haible  <bruno@clisp.org>
448         Support for MSVC 9.
449         * lib/config.h.in (inline, mode_t, ssize_t): Copy snippets from top
450         config.h.in.
451         * tests/genutf8.c: Include config.h.
452         * tests/gengb18030z.c: Likewise.
453         * woe32dll/export.h (VARIABLE): Define to empty if not using GCC.
455 2011-01-28  Bruno Haible  <bruno@clisp.org>
457         Add a comment.
458         * woe32dll/export.h: Add a reference to the woe32dll writeup.
460 2012-01-06  Bruno Haible  <bruno@clisp.org>
462         Update after gnulib changed.
463         * gnulib-local/lib/error.h.diff: Update.
465 2012-01-06  Bruno Haible  <bruno@clisp.org>
467         Talk about "native Windows API", not "Woe32".
468         * lib/relocatable.c: Update comments to mention native Windows.
470 2012-01-04  Bruno Haible  <bruno@clisp.org>
472         Talk about "native Windows API", not "Win32".
473         * lib/relocatable.c: Update comments to mention native Windows.
474         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
476 2011-10-27  Bruno Haible  <bruno@clisp.org>
478         Fix bug with error handling in UCS-2, UCS-4, UTF-32 decoders.
479         * lib/ucs2.h (ucs2_mbtowc): Increment count only after validating wc.
480         * lib/ucs4.h (ucs4_mbtowc): Likewise.
481         * lib/utf32.h (utf32_mbtowc): Likewise.
482         Reported at <https://savannah.gnu.org/bugs/?34916>.
484 2012-06-30  Bruno Haible  <bruno@clisp.org>
486         Improve ISO-2022-CP-MS versus CP932.
487         * lib/iso2022_jpms.h (iso2022_jpms_mbtowc): Recognize characters from
488         the rows 0x79..0x7C as rows from CP932.
489         * tests/ISO-2022-JP-MS-snippet.alt: New file, renamed from
490         tests/ISO-2022-JP-MS-snippet.
491         * tests/ISO-2022-JP-MS-snippet.UTF-8: Update the rows that correspond
492         to ESC $ B 0x79..0x7C.
493         * tests/ISO-2022-JP-MS-snippet: Likewise.
494         * tests/check-stateful: Also test the *-snippet.alt file if it exists.
495         * tests/check-stateful.bat: Likewise.
497 2012-06-30  Bruno Haible  <bruno@clisp.org>
499         Improve ISO-2022-CP-MS versus CP932.
500         * lib/cp50221_0208_ext.h (cp50221_0208_ext_page30): Map U+301D like
501         U+301E.
502         * lib/iso2022_jpms.h (iso2022_jpms_wctomb): Map U+663B to JISX0208
503         0x7A 0x36, U+FFE2 to 0x7C 0x7B, U+FFE4 to 0x7C 0x7C.
504         Reported by Jeff Diehl <diehl.jeff@gmail.com>.
506 2011-10-23  Bruno Haible  <bruno@clisp.org>
508         New encoding ISO-2022-CP-MS.
509         * NOTES: Mention ISO-2022-JP-MS.
510         * tools/CP50221-0208-EXT.TXT: New file.
511         * tools/CP50221-0212-EXT.TXT: New file.
512         * tools/8bit_tab_to_h.c: Add comments about how to generate
513         cp50221_0208_ext.h, cp50221_0212_ext.h.
514         * tools/Makefile: Add rules for generating cp50221_0208_ext.h,
515         cp50221_0212_ext.h.
516         * lib/cp50221_0208_ext.h: New file, mostly generated.
517         * lib/cp50221_0212_ext.h: New file, mostly generated.
518         * lib/iso2022_jpms.h: New file.
519         * lib/converters.h: Include it.
520         * lib/encodings.def: Add ISO-2022-JP-MS.
521         * README, man/iconv_open.3: Add ISO-2022-JP-MS.
522         * tests/ISO-2022-JP-MS-snippet: New file.
523         * tests/ISO-2022-JP-MS-snippet.UTF-8: New file.
524         * tests/Makefile.in (check): Also test ISO-2022-JP-MS.
525         Reported by Jeff Diehl <diehl.jeff@gmail.com>.
527 2011-10-23  Bruno Haible  <bruno@clisp.org>
529         * lib/encodings.def: Add comments about Windows names of encodings.
531 2011-10-18  Bruno Haible  <bruno@clisp.org>
533         * m4/libtool.m4: Update from libtool-2.4.2, with modifications:
534         2008-04-06  Bruno Haible  <bruno@clisp.org>
535                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
536                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
537                 to ${CONFIG_SHELL}..
538         * m4/ltoptions.m4: Likewise.
539         * m4/ltversion.m4: Likewise.
540         * build-aux/ltmain.sh: Likewise.
542 2011-10-03  Bruno Haible  <bruno@clisp.org>
544         * lib/relocatable.c: Update from gnulib.
546 2011-09-02  Bruno Haible  <bruno@clisp.org>
548         Fix "make check" failure when $(srcdir) != $(builddir).
549         * tests/Makefile.in (check): When $(srcdir) != ., temporarily copy
550         GB18030.IRREVERSIBLE.TXT into the build directory.
551         Reported by Christian Weisgerber <naddy@mips.inka.de>.
553 2011-08-07  Bruno Haible  <bruno@clisp.org>
555         Ensure all HTML-formatted man pages are up-to-date.
556         * Makefile.devel (all): Depend on man/iconvctl.3.html and
557         man/iconv_open_into.3.html.
559 2011-08-07  Bruno Haible  <bruno@clisp.org>
561         * Version 1.14 released.
563 2011-08-07  Bruno Haible  <bruno@clisp.org>
565         * configure.ac: Bump version number to 1.14.
566         * README: Likewise.
567         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
568         * windows/iconv.rc: Update.
569         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 7:1:5.
570         * src/iconv.c (print_version): Update copyright year.
572 2011-08-07  Bruno Haible  <bruno@clisp.org>
574         Avoid a test failure on Solaris 2.6 and HP-UX 11.00.
575         * tests/test-to-wchar.c (main): Skip the test if conversion to wchar_t
576         is not supported.
578 2011-08-07  Bruno Haible  <bruno@clisp.org>
580         * tests/check-subst: Add comments about OSF/1.
582 2011-08-07  Bruno Haible  <bruno@clisp.org>
584         * lib/relocatable.c: Update from gnulib.
586 2011-08-06  Bruno Haible  <bruno@clisp.org>
588         Upgrade the GB18030 converter to the version from 2005.
589         * lib/gb18030ext.h (gb18030ext_2uni_pagefe): Change element type to
590         'unsigned int'. Change values for 0xFE51..0xFE53, 0xFE59, 0xFE61,
591         0xFE66, 0xFE67, 0xFE6C, 0xFE6D, 0xFE76, 0xFE7E, 0xFE90, 0xFE91, 0xFEA0.
592         (gb18030ext_mbtowc): Change type of wc to 'unsigned int'. Change values
593         for 0xA6D9..0xA6DF, 0xA6EC..0xA6ED, 0xA6F3, 0xA8BC.
594         (gb18030ext_page9f, gb18030ext_pagefe): New constant arrays.
595         (gb18030ext_wctomb): Change values for U+1E3F, U+9FB4..U+9FBB,
596         U+FE10..U+FE19, U+20087, U+20089, U+200CC, U+215D7, U+2298F, U+241FE.
597         * tests/GB18030-BMP.TXT: Change values for 0xA6D9..0xA6DF,
598         0xA6EC..0xA6ED, 0xA6F3, 0xA8BC, 0xFE51..0xFE53, 0xFE59, 0xFE61, 0xFE66,
599         0xFE67, 0xFE6C, 0xFE6D, 0xFE76, 0xFE7E, 0xFE90, 0xFE91, 0xFEA0, to map
600         to now-assigned Unicode codepoints.
601         * tests/GB18030.IRREVERSIBLE.TXT: New file.
603 2011-08-06  Bruno Haible  <bruno@clisp.org>
605         Fix conversion bug in CP1258 converter.
606         * lib/vietcomb.h (viet_comp_table_data): Remove entry for
607         U+00A5 U+0301. Fix entry for U+00A8 U+0301.
608         (viet_decomp_table): Fix entry for U+0385.
609         * tests/CP1258.IRREVERSIBLE.TXT: Update.
610         Reported by Gertjan Halkes <gertjan@ghalkes.nl>.
612 2011-07-03  Bruno Haible  <bruno@clisp.org>
614         Improve interactive behaviour of iconv program.
615         * src/iconv.c (convert): Flush the output before starting a possibly
616         blocking safe_read call.
618 2011-07-03  Bruno Haible  <bruno@clisp.org>
620         Fix interactive behaviour of iconv program.
621         * Makefile.devel (GNULIB_MODULES): Add safe-read.
622         * src/iconv.c: Include safe-read.h.
623         (convert): Take the infile as a file descriptor, not as a FILE stream.
624         Use safe_read() instead of fread().
625         (main): Update.
626         Reported by Xavier Pucel <xpucel@hotmail.com>.
628 2011-05-02  Bruno Haible  <bruno@clisp.org>
630         Update after gnulib changed.
631         * autogen.sh (GNULIB_MODULES): Remove exit, add stdlib.
633 2011-06-02  Bruno Haible  <bruno@clisp.org>
635         Update after gnulib changed.
636         * gnulib-local/m4/alloca.m4 (gl_FUNC_ALLOCA): Update.
638 2011-06-04  Bruno Haible  <bruno@clisp.org>
640         Work around <wchar.h> bug on OSF/1 5.1.
641         * lib/loop_wchar.h: Before including <wchar.h>, include <stdio.h> and
642         some other includes.
644 2011-03-27  KO Myung-Hun  <komh@chollian.net>
646         Fix installation on OS/2.
647         * src/Makefile.in (all, iconv_no_i18n): Add $(EXEEXT) suffix to
648         iconv_no_i18n. This is the recommended way to use libtool, see
649         <https://lists.gnu.org/archive/html/bug-libtool/2009-04/msg00013.html>.
651 2011-03-31  Bruno Haible  <bruno@clisp.org>
653         gentranslit: Fix buffer overrun.
654         * lib/gentranslit.c (main): Allocate more room for the suffix strings
655         of the translit pages.
656         Reported by Ben Noordhuis <info@bnoordhuis.nl>.
658 2011-02-28  Bruno Haible  <bruno@clisp.org>
660         * lib/relocatable.h: Update from gnulib.
661         * lib/relocatable.c: Likewise.
663 2011-01-29  Corinna Vinschen  <corinna-cygwin@cygwin.com>
664             Bruno Haible  <bruno@clisp.org>
666         Simplify "wchar_t" handling on Cygwin 1.7.x.
667         * lib/iconv.c (iconv_canonicalize): On Cygwin >= 1.7, map
668         ei_local_wchar_t to ei_utf16le or ei_utf16be, not ei_ucs2internal.
669         * lib/iconv_open1.h: Likewise.
670         Rationale: <https://cygwin.com/ml/cygwin/2011-01/msg00410.html>.
672 2011-01-29  Bruno Haible  <bruno@clisp.org>
674         Adjust the meaning of "wchar_t" on native Windows systems.
675         * lib/iconv.c (iconv_canonicalize): On native Windows, map
676         ei_local_wchar_t to ei_utf16le or ei_utf16be, not ei_ucs2internal.
677         * lib/iconv_open1.h: Likewise.
678         Reported by Corinna Vinschen <corinna-cygwin@cygwin.com>
679         in <https://cygwin.com/ml/cygwin/2011-01/msg00410.html>.
681 2010-11-23  Bruno Haible  <bruno@clisp.org>
683         Implement newer release of BIG5-HKSCS.
684         * tools/Makefile (ALL): Add hkscs2008.h.
685         (hkscs2008.h): New rule.
686         * tools/cjk_tab_to_h.c (main): Recognize hkscs2008.
687         * lib/encodings.def: Add BIG5-HKSCS:2008. Change BIG5-HKSCS alias to be
688         equivalent to BIG5-HKSCS:2008.
689         * lib/hkscs2008.h: New file, autogenerated.
690         * lib/big5hkscs2008.h: New file, based on lib/big5hkscs2004.h.
691         * lib/converters.h: Include the new file.
692         * README, man/iconv_open.3: Add BIG5-HKSCS:2004.
693         * tests/BIG5-HKSCS-2008.TXT: New file, based on
694         tests/BIG5-HKSCS-2004.TXT.
695         * tests/BIG5-HKSCS-2008.IRREVERSIBLE.TXT: New file, copied from
696         tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT
697         * tests/BIG5-HKSCS-2008-snippet: New file, based on
698         tests/BIG5-HKSCS-2004-snippet.
699         * tests/BIG5-HKSCS-2008-snippet.UTF-8: New file, based on
700         tests/BIG5-HKSCS-2004-snippet.UTF-8.
701         * tests/Makefile.in (check): Check also BIG5-HKSCS:2008.
702         Reported by oCameLo <camel322@gmail.com>.
704 2010-11-23  Bruno Haible  <bruno@clisp.org>
706         Make cjk_tab_to_h 64-bit clean.
707         * tools/cjk_tab_to_h.c (do_jisx0213): Add a cast from size_t to int.
708         (output_title): Update copyright year.
710 2010-09-23  Bruno Haible  <bruno@clisp.org>
712         Switch to autoconf 2.68.
713         * autogen.sh: Update comment.
714         * configure.ac: Fix AC_COMPILE_IFELSE invocation.
715         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.68.
716         * preload/Makefile.devel (AUTOCONF): Likewise.
718 2010-09-23  Bruno Haible  <bruno@clisp.org>
720         * m4/libtool.m4: Update from libtool-2.4, with modifications:
721         2008-04-06  Bruno Haible  <bruno@clisp.org>
722                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
723                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
724                 to ${CONFIG_SHELL}.
725         * m4/ltversion.m4: Update from libtool-2.4.
726         * build-aux/ltmain.sh: Likewise.
728 2010-09-23  Bruno Haible  <bruno@clisp.org>
730         Simplify use of gnulib-tool now that gnulib-tool --import works better.
731         * autogen.sh: Don't remove gnulib-cache.m4 before running gnulib-tool.
732         * Makefile.devel (srclib/Makefile.gnulib): Depend on 'force'.
734 2010-07-31  Bruno Haible  <bruno@clisp.org>
736         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.67.
737         * preload/Makefile.devel (AUTOCONF): Likewise.
739 2010-07-03  Bruno Haible  <bruno@clisp.org>
741         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.66.
742         * preload/Makefile.devel (AUTOCONF): Likewise.
744 2010-06-04  Bruno Haible  <bruno@clisp.org>
746         Addendum to 2009-10-18 commit.
747         * m4/fcntl-o.m4: New file, from gnulib.
748         * configure.ac: Invoke gl_FCNTL_O_FLAGS.
749         * lib/config.h.in (HAVE_WORKING_O_NOFOLLOW): New macro.
751 2010-06-04  Bruno Haible  <bruno@clisp.org>
753         * m4/libtool.m4: Update from libtool-2.2.8, with modifications:
754         2008-04-06  Bruno Haible  <bruno@clisp.org>
755                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
756                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
757                 to ${CONFIG_SHELL}.
758         * m4/ltoptions.m4: Update from libtool-2.2.8.
759         * m4/ltversion.m4: Likewise.
760         * m4/lt~obsolete.m4: Likewise.
761         * build-aux/ltmain.sh: Likewise.
763 2010-04-06  Bruno Haible  <bruno@clisp.org>
765         Avoid a compilation error of gnulib's test-iconv-h-c++.cc on mingw.
766         * include/iconv.h.in: Restrict the extern "C" { ... } scope so that it
767         doesn't contains #include directives.
769 2010-03-30  Bruno Haible  <bruno@clisp.org>
771         * README.woe32: Update for Cygwin 1.7.x.
773 2009-12-26  Bruno Haible  <bruno@clisp.org>
775         * windows/libiconv.rc: Update.
776         * windows/iconv.rc: Update.
778 2009-12-11  Bruno Haible  <bruno@clisp.org>
780         * include/iconv.h.in: Untabify.
781         * gnulib-local/lib/xalloc.h: Untabify.
782         * woe32dll/export.h: Untabify.
783         * tests/uniq-u.c: Untabify.
785 2009-12-11  Bruno Haible  <bruno@clisp.org>
787         * srclib/Makefile.am (MOSTLYCLEANDIRS): New macro.
789 2009-12-11  Bruno Haible  <bruno@clisp.org>
791         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.65.
792         * preload/Makefile.devel (AUTOCONF): Likewise.
794 2009-11-22  Bruno Haible  <bruno@clisp.org>
796         * tests/check-subst: Add reference to the Solaris printf bug.
797         Reported by Dagobert Michelsen <dagobert@familie-michelsen.de>.
799 2009-09-01  Bruno Haible  <bruno@clisp.org>
801         * README.woe32: Put the -mno-cygwin option into CC and CXX.
802         Recommended by Paolo Bonzini and Eric Blake.
804 2009-08-15  Bruno Haible  <bruno@clisp.org>
806         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.64.
807         * preload/Makefile.devel (AUTOCONF): Likewise.
809 2009-08-15  Bruno Haible  <bruno@clisp.org>
811         Use .git/info/exclude, not .gitignore, for imported or generated files.
812         * Makefile.devel (srclib/Makefile.gnulib): Pass option --no-vc-files to
813         gnulib-tool.
815 2009-07-07  Bruno Haible  <bruno@clisp.org>
817         Fix an endless loop.
818         * lib/loop_wchar.h (wchar_to_loop_convert): Handle the case of
819         incomplete input correctly.
820         * tests/test-to-wchar.c: New file.
821         * tests/Makefile.in (tests-to-wchar, tests-to-wchar.o): New rules.
822         (check): Depend on and run tests-to-wchar.
823         (clean): Add tests-to-wchar.
824         Reported by Tristan Gingold <gingold@adacore.com>.
826 2009-06-30  Bruno Haible  <bruno@clisp.org>
828         * Version 1.13.1 released.
830 2009-06-30  Bruno Haible  <bruno@clisp.org>
832         * configure.ac: Bump version number to 1.13.1.
833         * README: Likewise.
835 2009-06-04  Bruno Haible  <bruno@clisp.org>
837         * preload/Makefile.devel (AUTOCONF): Switch to version 2.63.
838         (ACLOCAL): Switch to version 1.11.
840 2009-05-19  Bruno Haible  <bruno@clisp.org>
842         * Makefile.devel (AUTOMAKE, ACLOCAL): Switch to version 1.11.
843         * autogen.sh: Update comments.
845 2009-04-24  Bruno Haible  <bruno@clisp.org>
847         Fix a compilation error on HP-UX 11.00, introduced on 2008-09-16.
848         * src/iconv_open2.h: Don't initialize nonexistent field if
849         !(HAVE_WCRTOMB || HAVE_MBRTOWC).
850         Patch by Joel Brobecker <brobecker@adacore.com>.
852 2009-04-15  Bruno Haible  <bruno@clisp.org>
854         * src/Makefile.in (install, uninstall): Append the $(EXEEXT) suffix
855         explicitly. Needed on Cygwin.
857 2009-04-11  Bruno Haible  <bruno@clisp.org>
859         * configure.ac: Move the statements for WOE32 and WINDRES.
861 2009-03-26  Bruno Haible  <bruno@clisp.org>
863         * Version 1.13 released.
865 2009-03-26  Bruno Haible  <bruno@clisp.org>
867         * src/iconv.c: Update copyright header to GPLv3+.
868         (print_version): Update license info.
870 2009-03-26  Bruno Haible  <bruno@clisp.org>
872         * src/iconv.c (print_version): Bump year.
874 2009-03-25  Bruno Haible  <bruno@clisp.org>
876         * build-aux/config.guess: Update to GNU version 2009-02-03.
877         * build-aux/config.sub: Likewise.
879 2009-03-25  Bruno Haible  <bruno@clisp.org>
881         * configure.ac: Bump version number to 1.13.
882         * README: Likewise.
883         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
884         * windows/iconv.rc: Update.
885         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 7:0:5.
887 2009-03-25  Bruno Haible  <bruno@clisp.org>
889         Fix the handling of Windows resources in shared libraries.
890         * configure.ac: Invoke LT_LANG for 'Windows Resource'.
891         * lib/Makefile.in (RC): New variable.
892         (WINDRES): Remove variable.
893         (OBJECTS_RES_yes): Add .lo suffix.
894         (libiconv.res.lo): Renamed from libiconv.res. Use libtool --tag=RC.
895         (clean): Simplify.
896         Based on a patch by Roumen Petrov <bugtrack@roumenpetrov.info>.
898 2009-03-14  Bruno Haible  <bruno@clisp.org>
900         * autogen.sh: Checkout gnulib using 'git' instead of 'cvs'.
902 2009-01-24  Bruno Haible  <bruno@clisp.org>
904         * tools/Makefile (ALL): Add cp1131.h.
905         (cp1131.h): New rule.
906         * lib/encodings.def: Add CP1131.
907         * lib/cp1131.h: New file.
908         * lib/converters.h: Include it.
909         * README, man/iconv_open.3: Add CP1131.
910         * NOTES: Mention CP1131.
911         * tests/CP1131.TXT: New file.
912         * tests/Makefile.in (check): Also test CP1131.
914 2009-01-17  Bruno Haible  <bruno@clisp.org>
916         Add support for "make install-strip".
917         * configure.ac: Search for 'strip'. Invoke AM_PROG_INSTALL_STRIP.
918         * Makefile.in (install-strip): New rule.
919         * src/Makefile.in (STRIP, INSTALL_STRIP_PROGRAM, install_sh): New
920         variables.
921         (install-strip): New rule.
922         * lib/Makefile.in (install-strip): New target.
923         * preload/Makefile.in (install-strip): Likewise.
924         * man/Makefile.in (install-strip): Likewise.
925         Reported by Alon Bar-Lev <alon.barlev@gmail.com>.
927 2009-01-17  Bruno Haible  <bruno@clisp.org>
929         Update after gnulib changed.
930         * src/Makefile.in (RELOCATABLE_STRIP): New variable.
932 2009-01-17  Bruno Haible  <bruno@clisp.org>
934         Make --enable-relocatable work on glibc systems.
935         * src/Makefile.in (host): New variable.
937 2009-01-17  Bruno Haible  <bruno@clisp.org>
939         * lib/genflags.c: Include <string.h>.
941 2009-01-14  Bruno Haible  <bruno@clisp.org>
943         * configure.ac: More consistent m4 quoting.
944         * preload/configure.ac: Likewise.
946 2008-09-28  Bruno Haible  <bruno@clisp.org>
948         * build-aux/ltmain.sh (func_emit_cwrapperexe_src): On mingw,
949         preprocess the argument vector through prepare_spawn.
951 2008-09-27  Bruno Haible  <bruno@clisp.org>
953         * build-aux/config.guess: Update to GNU version 2008-09-08.
954         * build-aux/config.sub: Likewise.
956 2008-09-26  Bruno Haible  <bruno@clisp.org>
958         * tests/test-shiftseq.c (main1, main2): Use ICONV_CONST.
960 2008-09-26  Bruno Haible  <bruno@clisp.org>
962         * Makefile.devel (GNULIB_MODULES): Add sigpipe, stdio.
963         * tests/Makefile.in (check, table-from, table-to, test-shiftseq): Link
964         all programs against libicrt.a. Needed for the stdio function
965         replacements on mingw.
967 2008-09-21  Tadamasa Teranishi  <yw3t-trns@asahi-net.or.jp>
969         * lib/encodings_extra.def: Add aliases for EUC-JISX0213, SHIFT_JISX0213,
970         ISO-2022-JP-3, found on <http://x0213.org/codetable/index.en.html>.
972 2008-09-20  Bruno Haible  <bruno@clisp.org>
974         * man/iconv_open_into.3: New file.
976 2008-09-16  Bruno Haible  <bruno@clisp.org>
978         New function iconv_open_into.
979         * include/iconv.h.in: Include <wchar.h> and its prerequisites.
980         (iconv_allocation_t): New type.
981         (iconv_open_into): New declaration.
982         * lib/iconv_open1.h: New file, extracted from lib/iconv.c.
983         * lib/iconv_open2.h: New file, extracted from lib/iconv.c.
984         * lib/iconv.c (iconv_open): Include iconv_open1.h and iconv_open2.h.
985         Verify size of iconv_allocation_t.
986         (iconv_open_into): New function.
987         * lib/loop_wchar.h (struct wchar_conv_struct): Don't define a state
988         field if !(HAVE_WCRTOMB || HAVE_MBRTOWC).
989         * configure.ac: Set and substitute USE_MBSTATE_T, BROKEN_WCHAR_H.
990         Reported by Roman Rybalko <romanr@romanr.info>.
992 2008-09-16  Bruno Haible  <bruno@clisp.org>
994         * Makefile.devel (AUTOCONF, AUTOHEADER): Switch to version 2.63.
996 2008-09-16  Bruno Haible  <bruno@clisp.org>
998         * include/iconv.h.in: Use Unicode single-quotes in comments.
1000 2008-09-14  Bruno Haible  <bruno@clisp.org>
1002         * Makefile.devel (GNULIB_MODULES): Add strerror.
1004 2008-09-07  Bruno Haible  <bruno@clisp.org>
1006         Make behaviour when encountering invalid input after a shift sequence
1007         more consistent.
1008         * lib/converters.h (RET_SHIFT_ILSEQ): New macro.
1009         (RET_ILSEQ): Define in terms of RET_SHIFT_ILSEQ.
1010         (RET_TOOFEW): Change to avoid collisions with RET_SHIFT_ILSEQ.
1011         (DECODE_SHIFT_ILSEQ, DECODE_TOOFEW): New macros.
1012         * lib/loop_unicode.h (unicode_loop_convert): Take into account the
1013         shift count contained in the negative return values.
1014         * lib/hz.h (hz_mbtowc): When encountering invalid input, store the
1015         modified state and return RET_SHIFT_ILSEQ.
1016         * lib/iso2022_cn.h (iso2022_cn_mbtowc): Likewise.
1017         * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Likewise.
1018         * lib/iso2022_jp.h (iso2022_jp_mbtowc): Likewise.
1019         * lib/iso2022_jp1.h (iso2022_jp1_mbtowc): Likewise.
1020         * lib/iso2022_jp2.h (iso2022_jp2_mbtowc): Likewise.
1021         * lib/iso2022_jp3.h (iso2022_jp3_mbtowc): Likewise.
1022         * lib/iso2022_kr.h (iso2022_kr_mbtowc): Likewise.
1023         * lib/ucs2.h (ucs2_mbtowc): Likewise.
1024         * lib/ucs4.h (ucs4_mbtowc): Likewise.
1025         * lib/utf16.h (utf16_mbtowc): Likewise.
1026         * lib/utf32.h (utf32_mbtowc): Likewise.
1027         * lib/utf7.h (utf7_mbtowc): Likewise.
1028         * lib/utf16be.h (utf16be_mbtowcutf16be_mbtowc): When encountering
1029         invalid input, return RET_SHIFT_ILSEQ.
1030         * lib/utf16le.h (utf16le_mbtowc): Likewise.
1031         * tests/test-shiftseq.c: New file.
1032         * tests/Makefile.in (check): Run test-shiftseq.
1033         (test-shiftseq, test-shiftseq.@OBJEXT@): New rules.
1034         (clean): Remove test-shiftseq executable.
1035         Reported by Roman Rybalko <roman_rybalko@users.sourceforge.net>
1036         at <https://savannah.gnu.org/bugs/?24216>.
1038 2008-09-07  Bruno Haible  <bruno@clisp.org>
1040         * man/iconv.3: Clarify the processing of shift-sequences.
1042 2008-09-07  Bruno Haible  <bruno@clisp.org>
1044         * m4/libtool.m4: Update from libtool-2.2.6, with modifications:
1045         2008-04-06  Bruno Haible  <bruno@clisp.org>
1046                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1047                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1048                 to ${CONFIG_SHELL}.
1049         * m4/ltoptions.m4: Update from libtool-2.2.6.
1050         * m4/ltsugar.m4: Likewise.
1051         * m4/ltversion.m4: Likewise.
1052         * build-aux/ltmain.sh: Likewise.
1054 2008-09-06  Bruno Haible  <bruno@clisp.org>
1056         * lib/gbk.h (gbk_wctomb): Fix an out-of-bounds write.
1057         Reported by Roman Rybalko <roman_rybalko@users.sourceforge.net>
1058         at <https://savannah.gnu.org/bugs/?24214>.
1060 2008-06-30  Bruno Haible  <bruno@clisp.org>
1062         Fix sed expressions to work with the old sed-3.02 on MSYS.
1063         * windows/windres-options (sed_extract_major, sed_extract_minor,
1064         sed_extract_subminor): Put a semicolon before the closing brace. Use
1065         an i\ command instead of an a\ command.
1066         Reported by Sunil Negi <sunil.negi@morningstar.com>
1067         in <http://article.gmane.org/gmane.comp.gnu.mingw.msys/4410>
1068         via Keith Marshall <keithmarshall@users.sourceforge.net>.
1070 2008-05-22  Bruno Haible  <bruno@clisp.org>
1072         * README.woe32: Update with info from GNU gettext's README.woe32.
1074 2008-05-18  Bruno Haible  <bruno@clisp.org>
1076         * m4/libtool.m4: Update from libtool-2.2.4, with modifications:
1077         2008-04-06  Bruno Haible  <bruno@clisp.org>
1078                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1079                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1080                 to ${CONFIG_SHELL}.
1081         * m4/ltoptions.m4: Update from libtool-2.2.4.
1082         * m4/ltversion.m4: Likewise.
1083         * m4/lt~obsolete.m4: Likewise.
1084         * build-aux/ltmain.sh: Likewise.
1086 2008-04-14  Bruno Haible  <bruno@clisp.org>
1088         * tests/Makefile.in (check): Remove *.dSYM directories left over by gcc
1089         on MacOS X 10.5.
1091 2008-04-14  Bruno Haible  <bruno@clisp.org>
1093         * preload/configure.ac: Invoke AC_USE_SYSTEM_EXTENSIONS instead of
1094         AC_AIX and AC_MINIX.
1095         * Makefile.devel (AUTOCONF, AUTOHEADER): Require autoconf-2.62.
1096         * preload/Makefile.devel (AUTOCONF): Likewise.
1097         * autogen.sh: Likewise.
1099 2008-04-06  Bruno Haible  <bruno@clisp.org>
1101         * m4/libtool.m4: Update from libtool-2.2.2, with modifications:
1102         2008-04-06  Bruno Haible  <bruno@clisp.org>
1103                 * m4/libtool.m4 (LT_INIT): When setting LIBTOOL, use
1104                 CONFIG_SHELL; don't assume that the Makefile.in will set SHELL
1105                 to ${CONFIG_SHELL}.
1106         * m4/ltoptions.m4: New file, from libtool-2.2.2.
1107         * m4/ltsugar.m4: New file, from libtool-2.2.2.
1108         * m4/ltversion.m4: New file, from libtool-2.2.2.
1109         * m4/lt~obsolete.m4: New file, from libtool-2.2.2.
1110         * build-aux/ltmain.sh: New file, from libtool-2.2.2.
1111         * configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.
1112         * preload/configure.ac: Likewise.
1114 2008-04-06  Bruno Haible  <bruno@clisp.org>
1116         More portable way of building the preloadable library.
1117         * preload/Makefile.devel: New file.
1118         * preload/Makefile.in: New file, based on lib/Makefile.in.
1119         * preload/configure.ac: New file, based on configure.ac.
1120         * Makefile.devel (all): Recurse into preload directory.
1121         * Makefile.in (all, install, installdirs, uninstall, check,
1122         mostlyclean, clean, distclean, maintainer-clean): Recurse into preload
1123         directory.
1124         * configure.ac: Likewise.
1125         (OS, GCC, PLUGLIB): Remove definitions.
1126         * lib/Makefile.in (all): Don't depend on PLUGLIB.
1127         (preloadable_libiconv.so, preloadable_libiconv_linux.so,
1128         preloadable_libiconv_solaris.so, preloadable_libiconv_osf.so): Remove
1129         rules.
1130         (install, uninstall, clean): Don't handle the preloadable library here.
1132 2008-04-06  Bruno Haible  <bruno@clisp.org>
1134         Avoid a gcc warning.
1135         * lib/loop_unicode.h (unicode_loop_convert): Add a cast.
1137 2008-04-06  Bruno Haible  <bruno@clisp.org>
1139         * src/iconv.c (print_version): Bump year.
1141 2008-04-06  Bruno Haible  <bruno@clisp.org>
1143         Support all possible nl_langinfo(CODESET) results on the respective
1144         platforms, according to libcharset/lib/config.charset.
1145         * lib/encodings.def: Add DEFALIAS statements, conditional on
1146         USE_AIX_ALIASES, USE_HPUX_ALIASES, USE_OSF1_ALIASES,
1147         USE_SOLARIS_ALIASES.
1148         * lib/encodings_aix.def: Add DEFALIAS statements, conditional on
1149         USE_AIX_ALIASES.
1150         * lib/encodings_osf1.def: Add DEFALIAS statements, conditional on
1151         USE_OSF1_ALIASES.
1152         * lib/genaliases.c (emit_alias): New function, extracted from
1153         emit_encoding.
1154         (emit_encoding): Use it.
1155         (main): Define DEFALIAS.
1156         * lib/genaliases2.c (counter): New variable, extracted from
1157         emit_encoding.
1158         (emit_alias): New function, extracted from emit_encoding.
1159         (emit_encoding): Use it.
1160         (main): Define DEFALIAS.
1161         * lib/genflags.c (main): Define DEFALIAS.
1162         * lib/iconv.c (all_encodings): Define DEFALIAS.
1163         Include the system dependent variant of aliases.h on the appropriate
1164         systems.
1165         (all_canonical): Include the system dependent variant of canonical.h,
1166         canonical_aix.h, canonical_osf1.h, canonical_local.h on the appropriate
1167         systems.
1168         * lib/aliases2.h: Include the system dependent variant of
1169         aliases_aix.h or aliases_osf1.h on the appropriate systems.
1170         * lib/Makefile.in (iconv.lo): Depend on aliases_sysaix.h,
1171         aliases_syshpux.h, aliases_sysosf1.h, aliases_syssolaris.h,
1172         aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h, and also
1173         aliases_extra.h, translit.h.
1174         * Makefile.devel (all): Depend on lib/aliases_sysaix.h,
1175         lib/aliases_syshpux.h, lib/aliases_sysosf1.h, lib/aliases_syssolaris.h,
1176         lib/aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h.
1177         (lib/aliases_sysaix.h, lib/aliases_syshpux.h, lib/aliases_sysosf1.h,
1178         lib/aliases_syssolaris.h): New rules.
1179         (lib/aliases_aix_sysaix.h): New rule.
1180         (lib/aliases_osf1_sysosf1.h): New rule.
1181         * autogen.sh: Also remove lib/aliases_sysaix.h, lib/aliases_syshpux.h,
1182         lib/aliases_sysosf1.h, lib/aliases_syssolaris.h,
1183         lib/aliases_aix_sysaix.h, lib/aliases_osf1_sysosf1.h.
1185 2008-04-06  Bruno Haible  <bruno@clisp.org>
1187         * build-aux/config.libpath: Remove file, brought in by gnulib-tool.
1188         * build-aux/config.rpath: Remove file, brought in by gnulib-tool.
1190 2007-11-11  Bruno Haible  <bruno@clisp.org>
1192         * Version 1.12 released.
1194 2007-11-11  Bruno Haible  <bruno@clisp.org>
1196         * Makefile.devel (AUTOCONF, AUTOHEADER): Require version 2.61.
1197         (AUTOMAKE, ACLOCAL): Require version 1.10.
1198         (srclib/Makefile.in): Avoid error from automake.
1200 2007-10-26  Bruno Haible  <bruno@clisp.org>
1202         * m4/libtool.m4: Update, based on libtool-1.5.24.
1203         * build-aux/ltmain.sh: Update, based on libtool-1.5.24.
1205 2007-10-23  Bruno Haible  <bruno@clisp.org>
1207         * build-aux/config.guess: Update to GNU version 2007-07-22.
1208         * build-aux/config.sub: Likewise.
1210 2007-10-23  Bruno Haible  <bruno@clisp.org>
1212         * configure.ac: Bump version number to 1.12.
1213         * README: Likewise.
1215 2007-10-23  Bruno Haible  <bruno@clisp.org>
1217         Move relocatability infrastructure to gnulib.
1218         * gnulib-local/lib/relocatable.h: Remove file.
1219         * gnulib-local/lib/relocatable.c: Remove file.
1221 2007-10-23  Bruno Haible  <bruno@clisp.org>
1223         Update from GNU gettext.
1224         2006-11-26  Bruno Haible  <bruno@clisp.org>
1225                 * gnulib-local/lib/xalloc.h (xmemdup): Add a typesafe C++
1226                 template variant.
1227                 Based on a patch from Paul Eggert in gnulib.
1228         2006-11-06  Bruno Haible  <bruno@clisp.org>
1229                 * gnulib-local/lib/xalloc.h (xcharalloc): New macro.
1230                 (xmemdup): New declaration.
1231                 * gnulib-local/lib/xstrdup.c (xmemdup): New function.
1232         2006-11-03  Bruno Haible  <bruno@clisp.org>
1233                 * gnulib-local/lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC,
1234                 XCALLOC): New macros.
1235                 (xnboundedmalloc): New inline function.
1236                 * gnulib-local/lib/xstrdup.c (xstrdup): Use XNMALLOC instead of
1237                 xmalloc.
1238         2006-11-02  Bruno Haible  <bruno@clisp.org>
1239                 * lib/xalloc.h (xnmalloc): New declaration. From gnulib
1240                 xalloc.h.
1241                 * lib/xmalloc.c (fixup_null_alloc): Write NULL, not 0.
1242                 (xnmalloc): New function.
1244 2007-10-23  Bruno Haible  <bruno@clisp.org>
1246         Moved module xreadlink to gnulib.
1247         * gnulib-local/modules/xreadlink: Remove file.
1248         * gnulib-local/lib/xreadlink.h: Remove file.
1249         * gnulib-local/lib/xreadlink.c: Remove file.
1250         * gnulib-local/m4/xreadlink.m4: Remove file.
1252 2007-10-07  Bruno Haible  <bruno@clisp.org>
1254         Update program license to GPLv3.
1255         * COPYING: Replace with GPL 3.
1256         * windows/iconv.rc (Comments): Update.
1258 2007-10-07  Bruno Haible  <bruno@clisp.org>
1260         * gnulib-local/lib/alloca.in.h: Renamed from gnulib-local/lib/alloca_.h.
1262 2007-03-30  Bruno Haible  <bruno@clisp.org>
1264         * gnulib-local/lib/alloca_.h: Change prefix of double-inclusion guard
1265         macro to _GL_.
1267 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1269         * gnulib-local/lib/alloca_.h (alloca) [defined alloca]: Don't define or
1270         declare.
1272 2007-09-29  Bruno Haible  <bruno@clisp.org>
1274         * autogen.sh (GNULIB_CVS_ROOT): Change to read-only git mirror
1275         valid since 2007-09-19.
1277 2007-07-07  Bruno Haible  <bruno@clisp.org>
1279         * autogen.sh: Add an option --skip-gnulib.
1281 2007-07-07  Bruno Haible  <bruno@clisp.org>
1283         * gnulib-local/lib/uniwidth.h: Remove file, moved to gnulib.
1284         * gnulib-local/lib/width.c: Remove file, moved to gnulib.
1285         * gnulib-local/lib/cjk.h: Remove file, moved to gnulib.
1286         * gnulib-local/modules/uniwidth: Remove file.
1287         * Makefile.devel (GNULIB_MODULES): Remove uniwidth, add uniwidth/width.
1288         * src/iconv.c: Include uniwidth/cjk.h instead of cjk.h.
1290 2007-06-30  Bruno Haible  <bruno@clisp.org>
1292         * src/iconv.c (print_version): Use the standard --version output, see
1293         <https://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00302.html>.
1295 2007-06-30  Bruno Haible  <bruno@clisp.org>
1297         * autogen.sh: New file.
1298         * DEPENDENCIES: New file.
1299         * HACKING: New file.
1301 2007-06-30  Bruno Haible  <bruno@clisp.org>
1303         * src/iconv.c: Provide translator comments for many messages.
1304         (conversion_error_EILSEQ, conversion_error_EINVAL,
1305         conversion_error_other): New functions, extracted from convert.
1306         (convert): Use them.
1307         Reported by Tim Van Holder <tim.van.holder@telenet.be>.
1309 2007-06-09  Bruno Haible  <bruno@clisp.org>
1311         * gnulib-local/lib/relocwrapper.c: Remove file.
1313 2007-05-27  Bruno Haible  <bruno@clisp.org>
1315         * windows/libiconv.rc: New file.
1316         * windows/iconv.rc: New file.
1317         * windows/windres-options: New file.
1318         * configure.ac (WOE32): New variable.
1319         (WINDRES) [WOE32]: New variable.
1320         * lib/Makefile.in (WINDRES): New variable.
1321         (PACKAGE_VERSION): New variable.
1322         (OBJECTS_EXP_yes): Renamed from OBJECTS_yes.
1323         (OBJECTS_EXP_no): Renamed from OBJECTS_no.
1324         (OBJECTS_RES_yes, OBJECTS_RES_no): New variables.
1325         (OBJECTS): Add one of them.
1326         (libiconv.res): New rule.
1327         (clean): Remove also libiconv.res.
1328         * src/Makefile.in (WINDRES): New variable.
1329         (PACKAGE_VERSION): New variable.
1330         (OBJECTS_RES_yes, OBJECTS_RES_no): New variables.
1331         (all, iconv_no_i18n, install): Use them.
1332         (iconv.res): New rule.
1333         (clean): Remove also iconv.res.
1334         Suggested and inspired by work by Perry Rapp.
1336 2007-05-27  Bruno Haible  <bruno@clisp.org>
1338         Follow broken iconv() prototype in POSIX.
1339         * configure.ac (ICONV_CONST): Set to empty if the system has no iconv.
1340         * lib/config.h.in (ICONV_CONST): Change default value to an empty
1341         comment.
1342         * src/iconv.c (ICONV_CONST): Change default value to empty.
1343         Reported by Andreas Krennmair <ak@synflood.at>.
1345 2007-05-25  Bruno Haible  <bruno@clisp.org>
1347         * tools/Makefile (ALL): Add rk1048.h.
1348         (rk1048.h): New rule.
1349         * lib/encodings.def: Add RK1048.
1350         * lib/rk1048.h: New file.
1351         * lib/converters.h: Include it.
1352         * README, man/iconv_open.3: Add RK1048.
1353         * NOTES: Mention RK1048.
1354         * tests/RK1048.TXT: New file.
1355         * tests/Makefile.in (check): Also test RK1048.
1356         Suggested by Timur Birsh <team9@host.kz>.
1358 2007-04-24  Bruno Haible  <bruno@clisp.org>
1360         * man/iconv_open.3: Tweak explanation of TRANSLIT.
1361         Reported by Perry Rapp.
1363 2007-04-23  Bruno Haible  <bruno@clisp.org>
1365         * tests/check-subst: Use the output of 'printf' only if it didn't
1366         crash. Needed to work around a buffer overflow in Solaris /bin/printf.
1367         Reported by Arto C. Nirkko <anirkko@insel.ch>.
1369 2007-04-23  Bruno Haible  <bruno@clisp.org>
1371         * lib/iconv.c (iconv_open, iconv_canonicalize): Treat native Woe32
1372         systems like those which define __STDC_ISO_10646__.
1373         Reported by Keith Marshall <keithmarshall@users.sourceforge.net>.
1375 2007-03-31  Bruno Haible  <bruno@clisp.org>
1377         * man/iconv.1: Use HYPHEN-MINUS signs instead of HYPHENs where
1378         appropriate.
1379         * man/iconv_open.3: Likewise.
1380         * man/iconv.3: Likewise.
1381         * man/iconv_close.3: Likewise.
1382         * man/iconvctl.3: Likewise.
1384 2007-03-31  Bruno Haible  <bruno@clisp.org>
1386         * man/iconv.1: Mark as POSIX compliant.
1387         * man/iconv_open.3: Likewise.
1388         * man/iconv.3: Likewise.
1389         * man/iconv_close.3: Likewise.
1391         * man/*.[13]: Syntactic simplifications.
1393 2007-03-19  Bruno Haible  <bruno@clisp.org>
1395         Assume that mkinstalldirs also creates the necessary parent directories.
1396         * Makefile.in (install, installdirs): Don't explicitly create the
1397         parent directories.
1398         * lib/Makefile.in (install, installdirs): Likewise.
1399         * src/Makefile.in (install, installdirs): Likewise.
1400         * man/Makefile.in (install, installdirs): Likewise.
1401         Reported by Thomas Klausner <tk@giga.or.at>.
1403 2007-03-04  Bruno Haible  <bruno@clisp.org>
1405         * Makefile.devel (GNULIB_MODULES): Add relocatable-prog. Remove
1406         relocatable, relocwrapper.
1407         * configure.ac: Invoke gl_RELOCATABLE instead of AC_RELOCATABLE.
1408         * gnulib-local/modules/progreloc: Remove file.
1409         * gnulib-local/modules/relocatable: Remove file.
1410         * gnulib-local/modules/relocwrapper: Remove file.
1411         * gnulib-local/m4/relocatable.m4: Remove file.
1412         * gnulib-local/lib/strerror.c.diff: Remove file.
1413         * src/Makefile.in: Remove SET_RELOCATABLE invocation. Instead get
1414         RELOCATABLE_LDFLAGS and INSTALL_PROGRAM_ENV.
1416 2007-02-19  Bruno Haible  <bruno@clisp.org>
1418         * gnulib-local/lib/xmalloc.c: Don't include exit.h.
1419         * src/iconv.c: Likewise.
1421 2007-02-16  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
1423         * djgpp/*: Update.
1425 2007-02-03  Bruno Haible  <bruno@clisp.org>
1427         * tools/Makefile (ksc5601.h): Add one extra character.
1428         * lib/ksc5601.h: Regenerated.
1429         * lib/cp949.h (cp949_mbtowc, cp949_wctomb): Exclude the new character.
1430         * tests/EUC-KR.TXT: Add CIRCLED HANGUL IEUNG U.
1431         * tests/JOHAB.TXT: Likewise.
1432         Reported by Jungshik Shin (신정식, 申政湜) <jungshik@google.com>.
1434         * lib/euc_kr.h: Update comments.
1435         * lib/johab.h: Likewise.
1437 2007-02-03  Bruno Haible  <bruno@clisp.org>
1439         * tools/cjk_tab_to_h.c (output_title): Bump copyright year.
1441 2007-01-26  Bruno Haible  <bruno@clisp.org>
1443         Moved streq.h to gnulib.
1444         * gnulib-local/lib/streq.h: Remove file.
1445         * gnulib-local/modules/uniwidth (Files): Remove lib/streq.h.
1446         (Depends-on): Add streq.
1447         (lib_SOURCES): Remove streq.h.
1449 2007-01-26  Bruno Haible  <bruno@clisp.org>
1451         Moved unitypes.h to gnulib.
1452         * gnulib-local/lib/unitypes.h: Remove file.
1453         * gnulib-local/modules/uniwidth (Files): Remove lib/unitypes.h.
1454         (Depends-on): Add unitypes.
1455         (lib_SOURCES): Remove unitypes.h.
1457 2007-01-26  Bruno Haible  <bruno@clisp.org>
1459         Moved canonicalize to gnulib.
1460         * gnulib-local/modules/canonicalize: Remove file.
1461         * gnulib-local/lib/canonicalize.h: Remove file.
1462         * gnulib-local/lib/canonicalize.c: Remove file.
1463         * gnulib-local/m4/canonicalize.m4: Remove file.
1464         * gnulib-local/modules/progreloc (Depends-on): Replace 'canonicalize'
1465         with 'canonicalize-lgpl'.
1467 2006-12-20  Bruno Haible  <bruno@clisp.org>
1469         * lib/Makefile.in (install): On AIX, add the contents of
1470         /lib/libiconv.a to libiconv.a.
1472 2006-12-20  Bruno Haible  <bruno@clisp.org>
1474         * Makefile.devel (all): Depend on srclib/Makefile.gnulib, not
1475         srclib/Makefile.am.
1476         (aclocal.m4): Likewise. Touch the resulting file, since aclocal not
1477         always does it.
1478         (srclib/Makefile.gnulib): Renamed from srclib/Makefile.am. Pass
1479         option --makefile-name.
1480         (srclib/Makefile.in): Depend on srclib/Makefile.gnulib too.
1481         * srclib/Makefile.am: New file that includes srclib/Makefile.gnulib.
1483 2006-10-31  Bruno Haible  <bruno@clisp.org>
1485         Update from GNU gettext.
1486         2006-10-29  Bruno Haible  <bruno@clisp.org>
1487                 Make it compile in C++ mode.
1488                 * gnulib-local/lib/xalloc.h (xrealloc): Define as template
1489                 with appropriate return type.
1490                 * gnulib-local/lib/xstrdup.c (xstrdup): Cast xmalloc result.
1491         2006-10-26  Bruno Haible  <bruno@clisp.org>
1492                 * gnulib-local/modules/canonicalize (Makefile.am): Remove
1493                 EXTRA_DIST. Now done by gnulib-tool.
1494                 * gnulib-local/modules/relocatable (Makefile.am): Likewise.
1495                 * gnulib-local/modules/relocwrapper (Makefile.am): Likewise.
1496         2006-10-25  Bruno Haible  <bruno@clisp.org>
1497                 * gnulib-local/m4/relocatable.m4 (AC_RELOCATABLE_BODY):
1498                 Renamed from AC_RELOCATABLE, without the AC_LIBOBJ invocation.
1499                 (AC_RELOCATABLE): New macro. Invoke AC_LIBOBJ here.
1500                 * gnulib-local/modules/relocwrapper (configure.ac): Invoke
1501                 AC_RELOCATABLE instead of requiring it.
1502         2006-10-12  Bruno Haible  <bruno@clisp.org>
1503                 * gnulib-local/modules/canonicalize (Makefile.am): Distribute
1504                 all files in lib/ through EXTRA_DIST.
1505                 * gnulib-local/modules/relocatable (Makefile.am): Likewise.
1506         2006-09-14  Bruno Haible  <bruno@clisp.org>
1507                 * gnulib-local/lib/canonicalize.c: Include <config.h>
1508                 unconditionally.
1509                 * gnulib-local/lib/relocatable.c: Likewise.
1510                 * lib/relocatable.c: Likewise.
1511                 * gnulib-local/lib/relocwrapper.c: Likewise.
1512                 * gnulib-local/lib/xmalloc.c: Likewise.
1513                 * gnulib-local/lib/xreadlink.c: Likewise.
1514                 * gnulib-local/lib/xstrdup.c: Likewise.
1515         2006-08-02  Bruno Haible  <bruno@clisp.org>
1516                 * gnulib-local/modules/canonicalize: Put under LGPL.
1517                 * gnulib-local/modules/relocatable: Likewise.
1518         2006-07-18  Bruno Haible  <bruno@clisp.org>
1519                 * gnulib-local/xalloc.h (xzalloc): New declaration.
1520                 * gnulib-local/xmalloc.c (xzalloc): New function.
1522 2006-10-24  Bruno Haible  <bruno@clisp.org>
1524         * man/Makefile.in (PACKAGE): New variable. Needed for docdir.
1525         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
1527 2006-10-14  Bruno Haible  <bruno@clisp.org>
1529         * COPYING: New file.
1530         * README: Clarify copyright of the iconv program.
1531         Reported by Charles Wilson <cwilson@fastmail.fm>.
1533 2006-08-08  Bruno Haible  <bruno@clisp.org>
1535         * INSTALL.generic: Add a recommendation for Tru64.
1536         Reported by Gary V. Vaughan <gary@gnu.org>.
1538 2006-07-29  Bruno Haible  <bruno@clisp.org>
1540         * tests/check-subst: Set CHARSETALIASDIR.
1541         Needed so that "make check" works before "make install" on systems
1542         such as NetBSD.
1544 2006-07-29  Bruno Haible  <bruno@clisp.org>
1546         * Makefile.devel (aclocal.m4): Depend on srclib/Makefile.am.
1547         (AUTOCONF_FILES): Add the existing *.m4 files.
1549 2006-07-29  Bruno Haible  <bruno@clisp.org>
1551         * gnulib-local/lib/xreadlink.c: Assume <stdlib.h> exists.
1552         * src/iconv.c: Assume <locale.h> exists.
1553         * configure.ac: Remove tests for <locale.h>, <stddef.h>, <stdlib.h>,
1554         <string.h>.
1556 2006-07-29  Bruno Haible  <bruno@clisp.org>
1558         * configure.ac: Remove obsolete calls AC_PROG_GCC_TRADITIONAL,
1559         AC_ISC_POSIX, AC_HEADER_STDC.
1561 2006-07-29  Bruno Haible  <bruno@clisp.org>
1563         * configure.ac: Remove macro invocations that are redundant through
1564         gl_EARLY and gl_INIT.
1566 2006-07-29  Bruno Haible  <bruno@clisp.org>
1568         * gnulib-local/m4/alloca.m4 (gl_PREREQ_ALLOCA): Add a dummy statement.
1569         Avoids a sh syntax error.
1571 2006-07-29  Bruno Haible  <bruno@clisp.org>
1573         * gnulib-local/m4/relocatable.m4: Add comments.
1575 2006-07-29  Bruno Haible  <bruno@clisp.org>
1577         * gnulib-local/modules/libiconv-misc: New file.
1578         * Makefile.devel (GNULIB_MODULES): Add libiconv-misc.
1580         * Makefile.devel (srclib/Makefile.am): Pass --no-libtool.
1582 2006-07-29  Bruno Haible  <bruno@clisp.org>
1584         Note: gnulib macros no longer invoke AC_TYPE_SIZE_T nor
1585         AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], ...)])
1586         because we now assume that the system defines size_t and ptrdiff_t.
1588 2006-07-29  Bruno Haible  <bruno@clisp.org>
1590         Switch to using gnulib.
1591         * configure.ac (AC_PREREQ): Require autoconf-2.60.
1592         Invoke gl_EARLY and gl_INIT.
1593         * Makefile.devel (all): Depend on srclib/Makefile.am.
1594         (aclocal.m4): Pass -I srcm4 to aclocal. Simplify dependencies, assuming
1595         GNU make.
1596         (GNULIB_MODULES): New variable.
1597         (srclib/Makefile.am): New rule.
1598         * gnulib-local: New directory.
1599         * gnulib-local/m4/alloca.m4: Moved here from m4/alloca.m4.
1600         * gnulib-local/m4/canonicalize.m4: Moved here from m4/canonicalize.m4.
1601         * gnulib-local/m4/relocatable.m4: Moved here from m4/relocatable.m4.
1602         * gnulib-local/m4/xreadlink.m4: Moved here from m4/xreadlink.m4.
1603         * gnulib-local/lib/alloca_.h: Moved here from srclib/alloca_.h.
1604         * gnulib-local/lib/canonicalize.h: Moved here from srclib/canonicalize.h.
1605         * gnulib-local/lib/canonicalize.c: Moved here from srclib/canonicalize.c.
1606         * gnulib-local/lib/cjk.h: Moved here from srclib/cjk.h.
1607         * gnulib-local/lib/error.h.diff: New file.
1608         * gnulib-local/lib/progname.h.diff: New file.
1609         * gnulib-local/lib/relocatable.h: Moved here from srclib/relocatable.h.
1610         * gnulib-local/lib/relocatable.c: Moved here from srclib/relocatable.c.
1611         * gnulib-local/lib/relocwrapper.c: Moved here from srclib/relocwrapper.c.
1612         * gnulib-local/lib/streq.h: Moved here from srclib/streq.h.
1613         * gnulib-local/lib/strerror.c.diff: New file.
1614         * gnulib-local/lib/unitypes.h: Moved here from srclib/unitypes.h.
1615         * gnulib-local/lib/uniwidth.h: Moved here from srclib/uniwidth.h.
1616         * gnulib-local/lib/width.c: Moved here from srclib/width.c.
1617         * gnulib-local/lib/xalloc.h: Moved here from srclib/xalloc.h.
1618         * gnulib-local/lib/xmalloc.c: Moved here from srclib/xmalloc.c.
1619         * gnulib-local/lib/xstrdup.c: Moved here from srclib/xstrdup.c.
1620         * gnulib-local/lib/xreadlink.h: Moved here from srclib/xreadlink.h.
1621         * gnulib-local/lib/xreadlink.c: Moved here from srclib/xreadlink.c.
1622         * gnulib-local/modules/canonicalize: New file.
1623         * gnulib-local/modules/progreloc: New file.
1624         * gnulib-local/modules/relocatable: New file.
1625         * gnulib-local/modules/relocwrapper: New file.
1626         * gnulib-local/modules/uniwidth: New file.
1627         * gnulib-local/modules/xalloc: New file.
1628         * gnulib-local/modules/xreadlink: New file.
1630         * m4/allocsa.m4: Remove file. Now taken from gnulib.
1631         * m4/codeset.m4: Likewise.
1632         * m4/eealloc.m4: Likewise.
1633         * m4/error.m4: Likewise.
1634         * m4/extensions.m4: Likewise.
1635         * m4/full-header-path.m4: Likewise.
1636         * m4/gettext.m4: Likewise.
1637         * m4/glibc21.m4: Likewise.
1638         * m4/iconv.m4: Likewise.
1639         * m4/intmax.m4: Likewise.
1640         * m4/inttypes-h.m4: Likewise.
1641         * m4/inttypes_h.m4: Likewise.
1642         * m4/isc-posix.m4: Likewise.
1643         * m4/lcmessage.m4: Likewise.
1644         * m4/lib-ld.m4: Likewise.
1645         * m4/lib-link.m4: Likewise.
1646         * m4/lib-prefix.m4: Likewise.
1647         * m4/longdouble.m4: Likewise.
1648         * m4/longlong.m4: Likewise.
1649         * m4/mbstate_t.m4: Likewise.
1650         * m4/nls.m4: Likewise.
1651         * m4/onceonly.m4: Likewise.
1652         * m4/pathmax.m4: Likewise.
1653         * m4/po.m4: Likewise.
1654         * m4/printf-posix.m4: Likewise.
1655         * m4/progtest.m4: Likewise.
1656         * m4/readlink.m4: Likewise.
1657         * m4/setenv.m4: Likewise.
1658         * m4/signed.m4: Likewise.
1659         * m4/size_max.m4: Likewise.
1660         * m4/ssize_t.m4: Likewise.
1661         * m4/stdbool.m4: Likewise.
1662         * m4/stdint.m4: Likewise.
1663         * m4/stdint_h.m4: Likewise.
1664         * m4/strerror.m4: Likewise.
1665         * m4/strerror_r.m4: Likewise.
1666         * m4/unistd_h.m4: Likewise.
1667         * m4/unlocked-io.m4: Likewise.
1668         * m4/visibility.m4: Likewise.
1669         * m4/wchar_t.m4: Likewise.
1670         * m4/wint_t.m4: Likewise.
1672         * srclib/allocsa.h: Remove file. Now taken from gnulib.
1673         * srclib/allocsa.c: Likewise.
1674         * srclib/binary-io.h: Likewise.
1675         * srclib/error.h: Likewise.
1676         * srclib/error.c: Likewise.
1677         * srclib/exit.h: Likewise.
1678         * srclib/gettext.h: Likewise.
1679         * srclib/memmove.c: Likewise.
1680         * srclib/pathmax.h: Likewise.
1681         * srclib/progname.h: Likewise.
1682         * srclib/progname.c: Likewise.
1683         * srclib/progreloc.c: Likewise.
1684         * srclib/readlink.c: Likewise.
1685         * srclib/setenv.h: Likewise.
1686         * srclib/setenv.c: Likewise.
1687         * srclib/stdbool_.h: Likewise.
1688         * srclib/stdint_.h: Likewise.
1689         * srclib/strerror.c: Likewise.
1690         * srclib/unlocked-io.h: Likewise.
1691         * srclib/unsetenv.c: Likewise.
1692         * srclib/Makefile.am: Remove file.
1694 2006-07-27  Bruno Haible  <bruno@clisp.org>
1696         Remove OS/2 build support that doesn't assume GNU make and GNU bash.
1697         * README.os2: Remove file.
1698         * Makefile.os2: Remove file.
1699         * lib/Makefile.os2: Remove file.
1700         * src/Makefile.os2: Remove file.
1701         * man/Makefile.os2: Remove file.
1702         * tests/Makefile.os2: Remove file.
1703         * tests/check-stateful.cmd: Remove file.
1704         * tests/check-stateless.cmd: Remove file.
1705         * tests/check-translit.cmd: Remove file.
1707 2006-07-25  Bruno Haible  <bruno@clisp.org>
1709         Remove MSVC/nmake build support.
1710         * windows: Remove directory.
1711         * Makefile.msvc: Remove file.
1712         * lib/Makefile.msvc: Remove file.
1713         * srclib/Makefile.msvc: Remove file.
1714         * src/Makefile.msvc: Remove file.
1715         * tests/Makefile.msvc: Remove file.
1716         * man/Makefile.msvc: Remove file.
1717         * po/Rules-msvc: Remove file.
1718         * po/Makefile.msvc.sh: Remove file.
1719         * Makefile.devel (config.h.msvc, lib/config.h.msvc): Remove rules.
1720         (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): Remove
1721         rules.
1722         (po/Makefile.msvc): Remove rule.
1723         (all): Update.
1725 2006-07-25  Bruno Haible  <bruno@clisp.org>
1727         Remove VMS support.
1728         * vms: Remove directory.
1729         * Makefile.vms: Remove file.
1730         * lib/Makefile.vms: Remove file.
1731         * srclib/Makefile.vms: Remove file.
1732         * src/Makefile.vms: Remove file.
1733         * tests/Makefile.vms: Remove file.
1734         * man/Makefile.vms: Remove file.
1735         * Makefile.devel (config.h_vms, lib/config.h_vms): Remove rules.
1736         (include/iconv.h_vms): Remove rule.
1737         (all): Update.
1739 2006-07-23  Bruno Haible  <bruno@clisp.org>
1741         * lib/Makefile.in (libiconv.la): Use the CFLAGS during linking.
1742         * src/Makefile.in (iconv_no_i18n): Likewise.
1743         (install): Likewise.
1744         * tests/Makefile.in (table-from, table-to): Likewise.
1745         Needed because the CFLAGS can e.g. trigger profiling.
1746         Reported by Russell Aspinwall <russell.aspinwall@flomerics.co.uk>.
1748 2006-07-19  Bruno Haible  <bruno@clisp.org>
1750         * Version 1.11 released.
1752 2006-07-19  Bruno Haible  <bruno@clisp.org>
1754         * srclib/Makefile.am (libicrt_a_SOURCES): Remove error.h, error.c.
1755         (LIBADD_SOURCE): Add them here.
1757 2006-07-19  Bruno Haible  <bruno@clisp.org>
1759         * build-aux/config.guess: Update to GNU version 2006-07-02.
1760         * build-aux/config.sub: Likewise.
1762 2006-07-14  Bruno Haible  <bruno@clisp.org>
1764         * lib/Makefile.in (clean): Remove also *.stackdump.
1765         * src/Makefile.in (clean): Likewise.
1766         * tests/Makefile.in (clean): Likewise.
1768 2006-07-14  Bruno Haible  <bruno@clisp.org>
1770         * src/Makefile.in (clean): Remove also iconv_no_i18n. Needed for
1771         cygwin or mingw.
1772         * tests/Makefile.in (clean): Remove also the programs, without
1773         EXEEXT. Needed for cygwin or mingw.
1774         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
1775         Remove also bin directory. Needed for cygwin and mingw.
1777 2006-07-03  Bruno Haible  <bruno@clisp.org>
1779         * src/iconv.c (check_subst_formatstring): Use ngettext.
1780         (subst_wc_to_mb_fallback, subst_mb_to_mb_fallback): Fix error messages
1781         after 2006-01-22 change.
1782         * configure.ac: Require a gettext version with ngettext.
1784 2006-06-28  Bruno Haible  <bruno@clisp.org>
1786         * m4/gettext.m4: Update from GNU gettext.
1787         * m4/po.m4: Update from GNU gettext.
1789 2006-06-27  Bruno Haible  <bruno@clisp.org>
1791         * Makefile.devel (AUTOCONF, AUTOHEADER): Use autoconf-2.60.
1792         * Makefile.in (datarootdir): New variable.
1793         (install, installdirs, uninstall): Also pass datarootdir.
1794         * configure.ac (mandir): Remove customization.
1795         * man/Makefile.in (datarootdir): New variable.
1796         (docdir, htmldir): Use autoconf-substituted value.
1797         * src/Makefile.in (datarootdir): New variable.
1798         (localedir): Use autoconf-substituted value.
1800 2006-06-27  Bruno Haible  <bruno@clisp.org>
1802         * m4/stdint.m4: Update from gnulib.
1803         * srclib/stdint_.h: Update from gnulib.
1804         * srclib/Makefile.am: Update.
1806 2006-06-17  Bruno Haible  <bruno@clisp.org>
1808         * srclib/unsetenv.c: Update from GNU gettext.
1809         * srclib/xreadlink.c: Likewise.
1811 2006-06-16  Bruno Haible  <bruno@clisp.org>
1813         * m4/full-header-path.m4: New file, from gnulib.
1814         * m4/size_max.m4: New file, from gnulib.
1815         * m4/stdint.m4: Update from gnulib.
1816         * srclib/stdint_.h: Update from gnulib.
1817         * srclib/Makefile.am (stdint.h): Likewise.
1818         * Makefile.devel (aclocal.m4): Update dependencies.
1820 2006-06-16  Bruno Haible  <bruno@clisp.org>
1822         * m4/ssize_t.m4: Update from GNU gettext.
1824 2006-06-12  Bruno Haible  <bruno@clisp.org>
1826         * m4/gettext.m4: Update from GNU gettext.
1827         * m4/inttypes-h.m4: New file, from GNU gettext.
1828         * m4/inttypes.m4: Remove file.
1829         * m4/stdint.m4 (gl_STDINT_H): Update.
1830         * Makefile.devel (aclocal.m4): Update dependencies.
1832 2006-06-10  Bruno Haible  <bruno@clisp.org>
1834         * src/iconv.c (error) [NO_I18N]: Define here instead of including
1835         error.h. Fixes link failure introduced on 2006-01-22.
1837 2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1839         * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
1840         "parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.
1842 2006-05-20  Bruno Haible  <bruno@clisp.org>
1844         * tests/BIG5-HKSCS-1999-snippet: New file.
1845         * tests/BIG5-HKSCS-1999-snippet.UTF-8: New file.
1846         * tests/BIG5-HKSCS-2001-snippet: New file.
1847         * tests/BIG5-HKSCS-2001-snippet.UTF-8: New file.
1848         * tests/BIG5-HKSCS-2004-snippet: New file.
1849         * tests/BIG5-HKSCS-2004-snippet.UTF-8: New file.
1850         * tests/Makefile.in (check): Test also the stateful parts of
1851         BIG5-HKSCS:1999, BIG5-HKSCS:2001, BIG5-HKSCS:2004.
1853 2006-05-17  Bruno Haible  <bruno@clisp.org>
1855         Implement newer releases of BIG5-HKSCS.
1856         * tools/Makefile (ALL): Remove hkscs.h, add hkscs1999.h, hkscs2001.h,
1857         hkscs2004.h.
1858         (hkscs.h): Remove rule.
1859         (hkscs1999.h, hkscs2001.h, hkscs2004.h): New rules.
1860         * tools/cjk_tab_to_h.c (output_title): Update year.
1861         (main): Recognize hkscs1999, hkscs2001, hkscs2004.
1862         * lib/encodings.def: Rename BIG5-HKSCS to BIG5-HKSCS:1999. Add
1863         BIG5-HKSCS:2001, BIG5-HKSCS:2004. Make all three stateful.
1864         * lib/hkscs.h: Remove file.
1865         * lib/hkscs1999.h: New file.
1866         * lib/hkscs2001.h: New file.
1867         * lib/hkscs2004.h: New file.
1868         * lib/big5hkscs.h: Remove file.
1869         * lib/big5hkscs1999.h: New file.
1870         * lib/big5hkscs2001.h: New file.
1871         * lib/big5hkscs2004.h: New file.
1872         * lib/converters.h: Include the new files.
1873         * README, man/iconv_open.3: Add BIG5-HKSCS:1999, BIG5-HKSCS:2001.
1874         * tests/BIG5-HKSCS.TXT: Remove file.
1875         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Remove file.
1876         * tests/BIG5-HKSCS-1999.TXT: New file.
1877         * tests/BIG5-HKSCS-1999.IRREVERSIBLE.TXT: New file.
1878         * tests/BIG5-HKSCS-2001.TXT: New file.
1879         * tests/BIG5-HKSCS-2001.IRREVERSIBLE.TXT: New file.
1880         * tests/BIG5-HKSCS-2004.TXT: New file.
1881         * tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT: New file.
1882         * tests/check-stateless: Convert colon in the charset name to a dash in
1883         the file name.
1884         * tests/Makefile.in (check): Check BIG5-HKSCS:1999, BIG5-HKSCS:2001,
1885         BIG5-HKSCS:2004 instead of just BIG5-HKSCS.
1886         * tests/Makefile.msvc (check): Don't check BIG5-HKSCS.
1887         * tests/Makefile.os2 (check): Likewise.
1889 2006-05-17  Bruno Haible  <bruno@clisp.org>
1891         * srclib/progreloc.c: Update from GNU gettext.
1893 2006-05-16  Bruno Haible  <bruno@clisp.org>
1895         * src/Makefile.in (clean): Use EXEEXT.
1896         * tests/Makefile.in (check, clean): Likewise.
1898 2006-05-15  Bruno Haible  <bruno@clisp.org>
1900         * configure.ac: Move some checks before AC_RELOCATABLE.
1902 2006-05-15  Bruno Haible  <bruno@clisp.org>
1904         Support for building shared libraries on mingw and Cygwin.
1905         * configure.ac (WOE32DLL, DLL_VARIABLE): New variables.
1906         * include/iconv.h.in (_libiconv_version): Mark as DLL_VARIABLE.
1907         * woe32dll/export.h: New file, from GNU gettext.
1908         * woe32dll/iconv-exports.h: New file.
1909         * Makefile.devel (include/iconv.h_vms, include/iconv.h.msvc-static,
1910         include/iconv.h.msvc-shared): Remove the DLL_VARIABLE annotation.
1911         * lib/Makefile.in (INCLUDES): Add -I for parent directory.
1912         (LDFLAGS): Add WOE32DLL dependent flags.
1913         (LDFLAGS_yes, LDFLAGS_no): New variables.
1914         (OBJECTS): Add WOE32DLL dependent objects.
1915         (OBJECTS_yes, OBJECTS_no): New variables.
1916         (iconv-exports.lo): New rule.
1918 2006-05-15  Bruno Haible  <bruno@clisp.org>
1920         * srclib/gettext.h: Update from GNU gettext.
1921         * srclib/pathmax.h: Update from GNU gettext.
1922         * srclib/progreloc.c: Update from GNU gettext.
1923         * srclib/unsetenv.c: Update from GNU gettext.
1924         * srclib/Makefile.am: Add snippet for creation of unistd.h.
1925         * m4/extensions.m4: Update from GNU gettext.
1926         * m4/gettext.m4: Update from GNU gettext.
1927         * m4/lib-ld.m4: Update from GNU gettext.
1928         * m4/lib-link.m4: Update from GNU gettext.
1929         * m4/lib-prefix.m4: Update from GNU gettext.
1930         * m4/longdouble.m4: Update from GNU gettext.
1931         * m4/nls.m4: Update from GNU gettext.
1932         * m4/onceonly.m4: Update from GNU gettext.
1933         * m4/po.m4: Update from GNU gettext.
1934         * m4/relocatable.m4: Update from GNU gettext.
1935         * m4/unistd_h.m4: New file, from GNU gettext.
1936         * Makefile.devel (aclocal.m4): Depend on it.
1937         * configure.ac: Invoke gl_HEADER_UNISTD.
1939 2006-05-14  Bruno Haible  <bruno@clisp.org>,
1940             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1942         * m4/libtool.m4 [ linux ] (AC_LIBTOOL_LANG_CXX_CONFIG)
1943         (AC_LIBTOOL_POSTDEP_PREDEP, AC_LIBTOOL_PROG_COMPILER_PIC)
1944         (AC_LIBTOOL_PROG_LD_SHLIBS): Add support for Sun C 5.9,
1945         Sun C++ 5.9, and Sun Fortran 8.3 on Linux.
1947 2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
1949         * m4/libtool.m4: On Cygwin, like on mingw, define DLL_EXPORT when
1950         compiling a shared library object.
1952 2006-05-15  Bruno Haible  <bruno@clisp.org>
1954         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
1956 2006-03-31  Juan Manuel Guerrero  <juan.guerrero@gmx.de>
1958         * djgpp/*: Update.
1960 2006-01-23  Bruno Haible  <bruno@clisp.org>
1962         * configure.ac: Invoke gl_ALLOCSA.
1964         * Makefile.devel (aclocal.m4): Depend on $(CONFIGURES_IN).
1966 2006-01-22  Bruno Haible  <bruno@clisp.org>
1968         * src/iconv.c (xmalloc, xalloc_die) [NO_I18N]: Define to avoid using
1969         gettext().
1971 2006-01-22  Bruno Haible  <bruno@clisp.org>
1973         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 6:0:4.
1975 2006-01-22  Bruno Haible  <bruno@clisp.org>
1977         * src/iconv.c: Include error.h, exit.h.
1978         (print_version): Use EXIT_SUCCESS.
1979         (check_subst_formatstring, subst_mb_to_uc_fallback,
1980         subst_uc_to_mb_fallback, subst_mb_to_wc_fallback,
1981         subst_wc_to_mb_fallback, subst_mb_to_mb_fallback, convert, main): Use
1982         error() instead of fprintf to stderr.
1984 2006-01-22  Bruno Haible  <bruno@clisp.org>
1986         New feature: character-dependent substitutions.
1987         * include/iconv.h.in (iconv_unicode_mb_to_uc_fallback,
1988         iconv_unicode_uc_to_mb_fallback, iconv_wchar_mb_to_wc_fallback,
1989         iconv_wchar_wc_to_mb_fallback): New types.
1990         (struct iconv_fallbacks): New structure type.
1991         (ICONV_SET_FALLBACKS): New macro.
1992         * configure.ac: Invoke gt_TYPE_WCHAR_T and substitute HAVE_WCHAR_T.
1993         * Makefile.os2 (all): Also substitute @HAVE_WCHAR_T@ in build/iconv.h.
1994         * Makefile.devel (include/iconv.h_vms, include/iconv.h.msvc-static,
1995         include/iconv.h.msvc-shared): Also substitute @HAVE_WCHAR_T@.
1996         * lib/converters.h (struct conv_struct): Add field 'fallbacks'.
1997         * lib/loop_unicode.h (struct uc_to_mb_fallback_locals): New type.
1998         (uc_to_mb_write_replacement): New function.
1999         (struct mb_to_uc_fallback_locals): New type.
2000         (mb_to_uc_write_replacement): New function.
2001         (unicode_loop_convert): Call mb_to_uc_fallback and uc_to_mb_fallback.
2002         (unicode_loop_reset): Call uc_to_mb_fallback.
2003         * lib/loop_wchar.h (struct wc_to_mb_fallback_locals): New type.
2004         (wc_to_mb_write_replacement): New function.
2005         (wchar_from_loop_convert): Call wc_to_mb_fallback.
2006         (struct mb_to_wc_fallback_locals): New type.
2007         (mb_to_wc_write_replacement): New function.
2008         (wchar_to_loop_convert): Call mb_to_wc_fallback.
2009         * lib/iconv.c (iconv_open): Initialize the 'fallbacks' field.
2010         (iconvctl): Handle ICONV_SET_FALLBACKS.
2011         * lib/genflags.c (struct iconv_fallbacks): New dummy definition.
2012         * src/iconv.c: Include limits.h.
2013         (isdigit, c_isprint): New macros.
2014         (usage): Document long options and new options.
2015         (check_subst_formatstring): New function.
2016         (ilseq_byte_subst, ilseq_wchar_subst, ilseq_unicode_subst): New
2017         variables.
2018         (ilseq_byte_subst_size, ilseq_wchar_subst_size,
2019         ilseq_unicode_subst_size): New variables.
2020         (ilseq_byte_subst_buffer, ilseq_wchar_subst_buffer,
2021         ilseq_unicode_subst_buffer): New variables.
2022         (subst_mb_to_uc_cd, subst_mb_to_uc_temp_buffer): New variables.
2023         (subst_mb_to_uc_fallback): New function.
2024         (subst_uc_to_mb_cd, subst_uc_to_mb_temp_buffer): New variables.
2025         (subst_uc_to_mb_fallback): New function.
2026         (subst_mb_to_wc_cd, subst_mb_to_wc_temp_buffer): New variables.
2027         (subst_mb_to_wc_fallback): New function.
2028         (subst_wc_to_mb_cd, subst_wc_to_mb_temp_buffer): New variables.
2029         (subst_wc_to_mb_fallback): New function.
2030         (subst_mb_to_mb_cd, subst_mb_to_mb_temp_buffer): New variables.
2031         (subst_mb_to_mb_fallback): New function.
2032         (convert): Enlarge the outbuf when the conversion failed with E2BIG.
2033         (main): Handle new options --byte-subst, --widechar-subst,
2034         --unicode-subst.
2035         * man/iconv.1: Document --unicode-subst, --byte-subst, --widechar-subst
2036         options.
2037         * tests/check-subst: New file.
2038         * tests/Makefile.in (check): Also invoke check-subst.
2039         Suggested by James Taylor <james@oakseed.demon.co.uk>.
2041 2006-01-21  Bruno Haible  <bruno@clisp.org>
2043         * src/iconv.c (print_version): Bump copyright year.
2044         (main): Accept long options --from-code, --to-code, --list, --silent.
2045         Accept abbreviated long options, like getopt() does.
2046         * man/iconv.1: Document long options.
2048 2005-12-29  Bruno Haible  <bruno@clisp.org>
2050         * src/iconv.c (print_version): Update copyright year.
2052 2005-12-29  Bruno Haible  <bruno@clisp.org>
2054         * configure.ac: Renamed from configure.in.
2055         * Makefile.devel (CONFIGURES_IN, configure, config.h.in): Update.
2057 2005-12-29  Bruno Haible  <bruno@clisp.org>
2059         * configure.in: Bump version number.
2060         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
2061         * windows/iconv.rc: Likewise.
2062         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 5:1:3.
2064 2005-12-29  Bruno Haible  <bruno@clisp.org>
2066         * build-aux/config.guess: Update to GNU version 2005-12-23.
2067         * build-aux/config.sub: Likewise.
2068         * build-aux/config.libpath: Update from GNU gettext.
2069         * build-aux/install-sh: Upgrade to automake-1.9.5.
2070         * build-aux/missing: Upgrade to automake-1.9.5.
2071         * build-aux/mkinstalldirs: Upgrade to automake-1.9.5.
2073 2005-12-29  Bruno Haible  <bruno@clisp.org>
2075         * m4/alloca.m4: Update from GNU gettext.
2076         * m4/allocsa.m4: Update from GNU gettext.
2077         * m4/canonicalize.m4: Update from GNU gettext.
2078         * m4/codeset.m4: Update from GNU gettext.
2079         * m4/eealloc.m4: Update from GNU gettext.
2080         * m4/error.m4: Update from GNU gettext.
2081         * m4/extensions.m4: Update from GNU gettext.
2082         * m4/gettext.m4: Update from GNU gettext.
2083         * m4/glibc21.m4: Update from GNU gettext.
2084         * m4/iconv.m4: Update from GNU gettext.
2085         * m4/intmax.m4: Update from GNU gettext.
2086         * m4/inttypes_h.m4: New file, from GNU gettext.
2087         * m4/isc-posix.m4: Update from GNU gettext.
2088         * m4/lcmessage.m4: Update from GNU gettext.
2089         * m4/longdouble.m4: Update from GNU gettext.
2090         * m4/longlong.m4: Update from GNU gettext.
2091         * m4/mbstate_t.m4: Update from GNU gettext.
2092         * m4/nls.m4: Update from GNU gettext.
2093         * m4/onceonly.m4: Update from GNU gettext.
2094         * m4/pathmax.m4: Update from GNU gettext.
2095         * m4/po.m4: Update from GNU gettext.
2096         * m4/printf-posix.m4: Update from GNU gettext.
2097         * m4/progtest.m4: Update from GNU gettext.
2098         * m4/readlink.m4: Update from GNU gettext.
2099         * m4/relocatable.m4: Update from GNU gettext.
2100         * m4/setenv.m4: Update from GNU gettext.
2101         * m4/signed.m4: Update from GNU gettext.
2102         * m4/ssize_t.m4: Update from GNU gettext.
2103         * m4/stdbool.m4: Update from GNU gettext.
2104         * m4/stdint_h.m4: New file, from GNU gettext.
2105         * m4/strerror.m4: Update from GNU gettext.
2106         * m4/strerror_r.m4: Update from GNU gettext.
2107         * m4/unlocked-io.m4: Update from GNU gettext.
2108         * m4/wchar_t.m4: Update from GNU gettext.
2109         * m4/wint_t.m4: Update from GNU gettext.
2110         * m4/xreadlink.m4: Update from GNU gettext.
2111         * Makefile.devel (aclocal.m4): Depend on m4/inttypes_h.m4 and
2112         m4/stdint_h.m4 as well.
2113         * configure.in: Invoke AC_TYPE_MBSTATE_T instead of AC_MBSTATE_T.
2114         Invoke gl_FUNC_GLIBC_UNLOCKED_IO instead of jm_FUNC_GLIBC_UNLOCKED_IO.
2115         Invoke gl_ERROR instead of gt_FUNC_ERROR_AT_LINE.
2116         Don't invoke AC_AIX and AC_MINIX, done by gl_USE_SYSTEM_EXTENSIONS.
2117         Temporarily redefine AC_LIBOBJ and AC_REPLACE_FUNCS, so as to fill
2118         SRCLIBOBJS instead of LIBOBJS.
2119         * srclib/alloca_.h: Update from GNU gettext.
2120         * srclib/allocsa.h: Update from GNU gettext.
2121         * srclib/canonicalize.c: Update from GNU gettext.
2122         * srclib/error.h: Update from GNU gettext.
2123         * srclib/error.c: Update from GNU gettext.
2124         * srclib/gettext.h: Update from GNU gettext.
2125         * srclib/memmove.c: Update from GNU gettext.
2126         * srclib/progname.h: Update from GNU gettext.
2127         * srclib/progname.c: Update from GNU gettext.
2128         * srclib/progreloc.c: Update from GNU gettext.
2129         * srclib/readlink.c: Update from GNU gettext.
2130         * srclib/relocatable.c: Update from GNU gettext.
2131         * srclib/relocwrapper.c: Update from GNU gettext.
2132         * srclib/setenv.h: Update from GNU gettext.
2133         * srclib/setenv.c: Update from GNU gettext.
2134         * srclib/stdbool_.h: Update from GNU gettext.
2135         * srclib/stdint_.h: Update from gnulib.
2136         * srclib/strerror.c: Update from GNU gettext.
2137         * srclib/unlocked-io.h: Update from GNU gettext.
2138         * srclib/unsetenv.c: Update from GNU gettext.
2139         * srclib/xalloc.h: Update from GNU gettext.
2140         * srclib/xmalloc.c: Update from GNU gettext.
2141         * srclib/xreadlink.c: Update from GNU gettext.
2142         * srclib/xstrdup.c: Update from GNU gettext.
2143         * srclib/Makefile.am (DEFS): Also define EXEEXT.
2144         (libicrt_a_LIBADD): Use SRCLIBOBJS instead of LIBOBJS.
2145         (libicrt_a_DEPENDENCIES): New variable.
2146         * src/Makefile.in (EXEEXT): New variable.
2147         * build-aux/install-reloc: Update from GNU gettext.
2148         * build-aux/reloc-ldflags: Update from GNU gettext.
2149         * build-aux/config.rpath: Update from GNU gettext.
2151 2005-12-29  Bruno Haible  <bruno@clisp.org>
2153         * m4/libtool.m4: Update, based on libtool-1.5.22.
2154         * build-aux/ltmain.sh: Update, based on libtool-1.5.22.
2156 2005-12-24  Bruno Haible  <bruno@clisp.org>
2158         Check the whole range of GB18030.
2159         * tests/GB18030-BMP.TXT: Renamed from tests/GB18030.TXT.
2160         * tests/gengb18030z.c: New file.
2161         * tests/table-from.c (main): For GB18030, don't stop at U+10000.
2162         * tests/table-to.c (main): Likewise.
2163         * tests/Makefile.in (check): Generate GB18030.TXT on the fly from
2164         GB18030-BMP.TXT.
2165         (clean): Remove also gengb18030z and GB18030.TXT.
2166         * tests/Makefile.msvc (check): Generate GB18030.TXT on the fly from
2167         GB18030-BMP.TXT.
2168         (clean): Remove also GB18030Z.TXT, GB18030TMP.TXT, GB18030.TXT.
2169         * tests/Makefile.os2 (check): Depend on gengb18030z.exe. Generate
2170         GB18030.TXT on the fly from GB18030-BMP.TXT.
2171         (clean): Remove also GB18030Z.TXT, GB18030TMP.TXT, GB18030.TXT.
2173 2005-12-20  Bruno Haible  <bruno@clisp.org>
2175         * tests/table-to.c (main): Test the mappings up to U+10FFFF, not only
2176         up to U+2FFFF. Tolerate that Unicode language tags are silently mapped
2177         to nothing.
2179 2005-12-22  Bruno Haible  <bruno@clisp.org>
2181         Extend GB18030 converter to cover the entire Unicode PUA.
2182         * lib/gb18030.h: Update comments, based on second printing.
2183         (gb18030_mbtowc): Add mapping for range U+E000..U+E765.
2184         (gb18030_pua2charset): New array.
2185         (gb18030_wctomb): Add mapping for range U+E000..U+E765 and the two-byte
2186         part of range U+E766..U+E864.
2187         * lib/gb18030ext.h (gb18030ext_2uni_pagefe): Add mappings to private
2188         area.
2189         (gb18030ext_mbtowc): Add mapping for the two-byte part of range
2190         U+E766..U+E864.
2191         * lib/gb18030uni.h (gb18030uni_charset2uni_ranges,
2192         gb18030uni_uni2charset_ranges, gb18030uni_ranges): Add 12 more
2193         intervals.
2194         (gb18030uni_mbtowc, gb18030uni_wctomb): Update.
2195         * tests/GB18030.TXT: Complete mappings to private area.
2197 2005-12-22  Bruno Haible  <bruno@clisp.org>
2199         * lib/gbk.h: Update comments.
2201 2005-12-20  Bruno Haible  <bruno@clisp.org>
2203         Add private area mappings to CP949.
2204         * lib/cp949.h (cp949_mbtowc, cp949_wctomb): Map U+E000..U+E0BB like
2205         many others do it.
2206         * tests/CP949.TXT: Add mappings for U+E000..U+E0BB.
2208 2005-12-15  Bruno Haible  <bruno@clisp.org>
2210         Add private area mappings to CP950.
2211         * lib/cp950.h (cp950_mbtowc, cp950_wctomb): Map U+E000..U+F6B0 like
2212         most others do it.
2213         * tests/CP950.TXT: Add mappings for U+E000..U+F6B0.
2215 2005-12-15  Bruno Haible  <bruno@clisp.org>
2217         Make CP936 follow what Microsoft does.
2218         In http://www.microsoft.com/globaldev/reference/dbcs/936.mspx they
2219         added a 0x80 - U+20AC mapping to the code chart, but not to the
2220         tooltips and not to the list of mappings.
2221         * lib/cp936.h: New file.
2222         * lib/gbk.h: Update comments.
2223         * lib/ces_gbk.h: Update comments.
2224         * lib/converters.h: Include cp936.h.
2225         * lib/encodings.def (CP936): New encoding.
2226         (GBK): Remove CP936 aliases.
2227         * README, man/iconv_open.3: Add CP936.
2228         * tests/Makefile.in (check): Check CP936.
2229         * tests/Makefile.msvc (check): Likewise.
2230         * tests/Makefile.os2 (check): Likewise.
2231         * tests/CP936.TXT: New file.
2233 2005-12-14  Bruno Haible  <bruno@clisp.org>
2235         * lib/cp932.h (cp932_wctomb): Map U+FF5E, U+2225, U+FF0D, U+FFE0,
2236         U+FFE1 like Microsoft does it.
2237         * lib/CP932.IRREVERSIBLE.TXT: Add these mappings.
2238         Reported by Lei Wang <lwang@qilinsoft.com>.
2240 2005-12-14  Bruno Haible  <bruno@clisp.org>
2242         Follow Euro sign addition done in 1999 in
2243         http://www.microsoft.com/globaldev/reference/dbcs/950/950_A3.mspx
2244         * lib/cp950.h (cp950_mbtowc, cp950_wctomb): Add mapping for 0xA3E1.
2245         * tests/CP950.TXT: Add mapping for 0xA3E1.
2247 2005-11-11  Bruno Haible  <bruno@clisp.org>
2249         * lib/euc_jp.h (euc_jp_wctomb): When writing a 3-bytes byte sequence
2250         and only two bytes are available in the output buffer, return
2251         RET_TOOSMALL instead of overrunning the output buffer.
2252         * lib/isoir165.h (isoir165_wctomb): When only one byte is available
2253         in the output buffer, don't overrun the output buffer.
2254         Reported by William Bardwell <bardwell@curl.com>.
2256 2005-09-18  Bruno Haible  <bruno@clisp.org>
2258         * m4/libtool.m4: Update, based on libtool-1.5.20.
2259         * build-aux/ltmain.sh: Update, based on libtool-1.5.20.
2261 2005-08-12  Bruno Haible  <bruno@clisp.org>
2263         * lib/big5_2003.h: Map 0xF9FA..0xF9FD differently.
2264         * tests/BIG5-2003.TXT: Likewise.
2265         * tests/BIG5-2003.IRREVERSIBLE.TXT: New file.
2266         Reported by Ping Yeh <ping@pingyeh.net>.
2268 2005-07-24  Bruno Haible  <bruno@clisp.org>
2270         Tidy up exported symbols.
2271         * m4/visibility.m4: New file.
2272         * include/export.h: New file.
2273         * configure.in: Invoke gl_VISIBILITY. Use AC_CONFIG_FILES. Arrange to
2274         create also include/iconv.h.inst.
2275         * Makefile.devel (all): Depend on include/iconv.h.build.in.
2276         (aclocal.m4): Depend on m4/visibility.m4.
2277         (include/iconv.h.build.in): New rule.
2278         * Makefile.in (install-lib, install): Install include/iconv.h.inst,
2279         not the include/iconv.h that was used for building.
2280         (distclean, maintainer-clean): Remove also include/iconv.h.inst.
2281         * lib/Makefile.in (CFLAGS): Add @CFLAG_VISIBILITY@.
2282         (DEFS): Also define BUILDING_LIBICONV and BUILDING_DLL.
2283         * lib/config.h.in (HAVE_VISIBILITY): New macro.
2284         * lib/relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]:
2285         Define to the gcc visibility attribute.
2286         * srclib/relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]:
2287         Likewise.
2289 2005-07-25  Bruno Haible  <bruno@clisp.org>
2291         2003-08-24  Bruno Haible  <bruno@clisp.org>
2292         * lib/relocatable.h: Make this file includable in C++ mode: add extern
2293         "C".
2295 2005-07-08  Bruno Haible  <bruno@clisp.org>
2297         * Version 1.10 released.
2299 2005-07-08  Bruno Haible  <bruno@clisp.org>
2301         * m4/libtool.m4 (postinstall_cmds) [cygwin,mingw,pw32]: Make DLL
2302         executable after installing it.
2304 2005-07-08  Bruno Haible  <bruno@clisp.org>
2306         * configure.in: Bump version number.
2307         * include/iconv.h.in (_LIBICONV_VERSION): Likewise.
2308         * windows/iconv.rc: Likewise.
2309         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 5:0:3.
2311 2005-07-05  Bruno Haible  <bruno@clisp.org>
2313         * Makefile.devel (ACLOCAL): New variable.
2314         (aclocal.m4): Use it.
2316 2005-07-05  Bruno Haible  <bruno@clisp.org>
2318         * m4/relocatable.m4 (AC_RELOCATABLE): On mingw, simply set
2319         SET_RELOCATABLE to a trivial value.
2321 2004-08-08  Bruno Haible  <bruno@clisp.org>
2323         * srclib/progreloc.c (xstrdup): Define as strdup if no xmalloc should
2324         be used.
2326 2004-04-28  Bruno Haible  <bruno@clisp.org>
2328         * srclib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
2329         Treat Cygwin like Windows, since it now accepts Windows pathnames.
2331 2005-06-09  Bruno Haible  <bruno@clisp.org>
2333         * Makefile.in (mkinstalldirs): Use build-aux/ instead of autoconf/.
2334         * lib/Makefile.in (mkinstalldirs): Likewise.
2335         * src/Makefile.in (mkinstalldirs): Likewise.
2336         * man/Makefile.in (mkinstalldirs): Likewise.
2338 2005-06-08  Bruno Haible  <bruno@clisp.org>
2340         * srclib/canonicalize.c (__realpath): Avoid gcc warnings on platforms
2341         that don't support symbolic links.
2343 2005-06-08  Bruno Haible  <bruno@clisp.org>
2345         * srclib/binary-io.h (fileno): Undefine before defining it. Avoids a
2346         gcc warning on mingw.
2348 2005-05-22  Bruno Haible  <bruno@clisp.org>
2350         Implement and document BIG5-2003.
2351         * lib/big5_2003.h: New file.
2352         * lib/converters.h: Include it.
2353         * lib/encodings_extra.def (BIG5-2003): New encoding.
2354         * README, man/iconv_open.3: Add BIG5-2003.
2355         * tests/Makefile.in (check-extra-yes): Check BIG5-2003.
2356         * tests/BIG5-2003.TXT: New file.
2358 2005-05-21  Bruno Haible  <bruno@clisp.org>
2360         Add EURO SIGN to EUC-TW converter.
2361         * lib/cns11643_1.h (cns11643_1_2uni_page42): Add entry for 0x14242.
2362         (cns11643_1_mbtowc): Update.
2363         * lib/cns11643_inv.h (cns11643_inv_2charset): Add entry for 0x20AC.
2364         (cns11643_inv_uni2indx_page*): Update.
2365         * lib/dec_hanyu.h (dec_hanyu_mbtowc, dec_hanyu_wctomb): Consider only
2366         part of row 42.
2367         * tests/EUC-TW.TXT: Add entry for 0x20AC.
2368         * tests/EUC-TW.IRREVERSIBLE.TXT: Likewise.
2370 2005-05-03  Bruno Haible  <bruno@clisp.org>
2372         * tools/Makefile (ALL): Add pt154.h.
2373         (pt154.h): New rule.
2374         * lib/encodings.def: Add PT154.
2375         * lib/pt154.h: New file.
2376         * lib/converters.h: Include it.
2377         * README, man/iconv_open.3: Add PT154.
2378         * NOTES: Mention PT154.
2379         * tests/PT154.TXT: New file.
2380         * tests/Makefile.in (check): Also test PT154.
2381         * tests/Makefile.msvc (check): Likewise.
2382         * tests/Makefile.os2 (check): Likewise.
2384 2005-03-29  Bruno Haible  <bruno@clisp.org>
2386         Rename libiconv_plug.so to preloadable_libiconv.so.
2387         * configure.in (PLUGLIB): Set to preloadable_libiconv.so instead of
2388         libiconv_plug.so.
2389         * lib/Makefile.in (preloadable_libiconv.so): Renamed from
2390         libiconv_plug.so.
2391         (preloadable_libiconv_linux.so): Renamed from libiconv_plug_linux.so.
2392         (preloadable_libiconv_solaris.so): Renamed from
2393         libiconv_plug_solaris.so.
2394         (preloadable_libiconv_osf.so): Renamed from libiconv_plug_osf.so.
2395         (clean): Update.
2396         * README: Update.
2398 2005-03-29  Bruno Haible  <bruno@clisp.org>
2400         Implement and document ATARIST.
2401         * tools/Makefile (ALL): Add atarist.h.
2402         (atarist.h): New rule.
2403         * lib/atarist.h: New file.
2404         * lib/converters.h: Include it.
2405         * lib/encodings_extra.def (ATARIST): New encoding.
2406         * README, man/iconv_open.3: Add ATARIST.
2407         * tests/Makefile.in (check-extra-yes): Check ATARIST.
2408         * tests/ATARIST.TXT: New file.
2410 2005-03-22  Bruno Haible  <bruno@clisp.org>
2412         * build-aux: New directory, renamed from autoconf.
2413         * configure.in (AC_CONFIG_AUX_DIR): Use build-aux.
2415 2005-03-16  Bruno Haible  <bruno@clisp.org>
2417         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
2418         HAVE_LONGLONG_64BIT.
2419         * srclib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
2420         HAVE_LONGLONG_64BIT.
2421         * srclib/Makefile.am (stdint.h): Likewise.
2423 2005-03-14  Bruno Haible  <bruno@clisp.org>
2425         * Makefile.devel (aclocal.m4): Depend also on allocsa.m4, eealloc.m4,
2426         extensions.m4, intmax.m4, inttypes.m4, longdouble.m4, longlong.m4,
2427         printf-posix.m4, readlink.m4, signed.m4, ssize_t.m4, stdint.m4,
2428         wchar_t.m4, wint_t.m4.
2430 2005-03-13  Bruno Haible  <bruno@clisp.org>
2432         Make stdout error checking reliable, also when writing to a NFS file.
2433         * src/iconv.c (main): Check the return value of fclose(stdout).
2434         * lib/genaliases.c (main): Likewise.
2435         * lib/genaliases2.c (main): Likewise.
2436         * lib/genflags.c (main): Likewise.
2437         * lib/gentranslit.c (main): Likewise.
2438         * tests/genutf8.c (main): Likewise.
2439         * tests/table-from.c (main): Likewise.
2440         * tests/table-to.c (main): Likewise.
2442 2005-03-13  Bruno Haible  <bruno@clisp.org>
2444         * src/iconv.c (convert): Before outputting an error message, flush
2445         stdout and output a newline if suitable.
2447 2005-03-13  Bruno Haible  <bruno@clisp.org>
2449         Improved error messages.
2450         * srclib/width.c: New file, from GNU clisp.
2451         * srclib/uniwidth.h: New file, from GNU clisp with modifications.
2452         * srclib/unitypes.h: New file, from GNU clisp with modifications.
2453         * srclib/cjk.h: New file, from GNU clisp.
2454         * srclib/streq.h: New file, from GNU clisp.
2455         * srclib/stdint_.h: New file, from gnulib.
2456         * m4/stdint.m4: New file, from gnulib.
2457         * m4/inttypes.m4: New file, from gnulib.
2458         * srclib/Makefile.am: Add gnulib module 'stdint' snippet.
2459         (BUILT_SOURCES): New variable.
2460         (libicrt_a_SOURCES): Add width.c, uniwidth.h, unitypes.h, cjk.h,
2461         streq.h.
2462         * configure.in: Invoke gl_STDINT_H.
2463         * src/iconv.c: Include cjk.h, uniwidth.h.
2464         (line, column, cjkcode): New variables.
2465         (update_line_column): New function.
2466         (convert): Initialize line and column. In all error message, show also
2467         the line and column number.
2468         (main): Initialize cjkcode. Set up hooks to call update_line_column.
2470 2005-03-13  Bruno Haible  <bruno@clisp.org>
2472         * include/iconv.h.in (iconv_canonicalize): New declaration.
2473         * lib/genaliases.c (emit_encoding): Take two output streams as
2474         arguments. To the second stream, emit a shell command for extracting
2475         offsets into the gperf generated string pool.
2476         (main): Write the shell commands into file descriptors 3 and 4.
2477         * lib/genaliases2.c (emit_encoding): Take two output streams as
2478         arguments. To the second stream, emit an expression for the offset
2479         into the string pool.
2480         (main): Write the offsets into file descriptor 3.
2481         * Makefile.devel (lib/aliases.gperf): Remove target.
2482         (lib/aliases.h): Generate lib/aliases.gperf temporarily. Generate also
2483         lib/canonical.h and lib/canonical_local.h.
2484         (lib/aliases_aix.h): Generate also lib/canonical_aix.h.
2485         (lib/aliases_osf1.h): Generate also lib/canonical_osf1.h.
2486         (lib/aliases_dos.h): Generate also lib/canonical_dos.h.
2487         (lib/aliases_extra.h): Generate also lib/canonical_extra.h.
2488         * lib/iconv.c (stringpool2): Provide default definition when it doesn't
2489         exist.
2490         (all_canonical): New array.
2491         (iconv_canonicalize): New function.
2493 2005-03-13  Bruno Haible  <bruno@clisp.org>
2495         * include/iconv.h.in (iconv_unicode_char_hook, iconv_wide_char_hook,
2496         iconv_hooks): New types.
2497         (ICONV_SET_HOOKS): New macro.
2498         * lib/converters.h (struct conv_struct): Add field 'hooks'.
2499         * lib/iconv.c (iconv_open): Initialize hooks to NULL.
2500         (iconvctl): Handle ICONV_SET_HOOKS.
2501         * lib/loop_unicode.h (unicode_loop_convert, unicode_loop_reset): After
2502         conversion of a character, call the uc_hook.
2503         * lib/loop_wchar.h (wchar_id_loop_convert): After every character, call
2504         the wc_hook.
2505         * lib/genflags.c (iconv_hooks): Provide a dummy definition.
2507 2005-02-05  Bruno Haible  <bruno@clisp.org>
2509         * src/iconv.c (main): In case of unsupported encodings, show a hint
2510         towards "iconv -l".
2512 2005-01-06  Bruno Haible  <bruno@clisp.org>
2514         * lib/Makefile.msvc (CFLAGS): Define also INSTALLPREFIX.
2515         * lib/Makefile.vms (DEFS): Likewise.
2516         Reported by Troels Walsted Hansen <Troels.W.Hansen@fast.no>.
2518 2005-01-05  Bruno Haible  <bruno@clisp.org>
2520         * autoconf/config.rpath: Update from GNU gettext.
2522 2005-01-05  Bruno Haible  <bruno@clisp.org>
2524         Assume automake-1.9.
2525         * Makefile.devel (AUTOMAKE): Assume automake-1.9.
2527 2005-01-05  Bruno Haible  <bruno@clisp.org>
2529         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.10.
2530         * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.10.
2532 2004-11-11  Bruno Haible  <bruno@clisp.org>
2534         * lib/iconv.c (iconv_open): Accept the suffixes //TRANSLIT and //IGNORE
2535         in arbitrary order.
2536         Reported by Lukas Gebauer <gebauerl@mlp.cz>.
2538 2004-09-21  Juan Manuel Guerrero  <st001906@hrz1.hrz.tu-darmstadt.de>
2540         * djgpp/config.bat: Update.
2541         * djgpp/config.sed: Update.
2542         * djgpp/config.site: Update.
2543         * djgpp/edtest.bat: Update.
2544         * djgpp/fnchange.in: Update.
2545         * djgpp/Makefile.maint: Update.
2546         * djgpp/makefile.sed: Update.
2547         * djgpp/README.in: Update.
2548         * djgpp/sources.sed: Update.
2549         * djgpp/translit-check.sed: Update.
2551 2004-08-25  Bruno Haible  <bruno@clisp.org>
2553         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.6.
2554         * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.6.
2556 2004-07-31  Bruno Haible  <bruno@clisp.org>
2558         Update to JISX 0213 plane 1 to 2004 version (ISO-IR-233).
2559         * tools/Makefile (jisx0213.h): Bump version number.
2560         * tools/JISX0213.TXT: Change mappings U+2015 -> U+2014,
2561         U+2299 -> U+29BF, and add 10 new characters.
2562         * tools/cjk_tab_to_h.c (output_title): Bump year.
2563         (do_jisx0213): Update comments. Emit a conditional 'inline'.
2564         * lib/jisx0213.h: Regenerated.
2565         * lib/iso2022_jp3.h (iso2022_jp3_mbtowc): Accept escape sequence
2566         ESC $ ( Q as a synonym of ESC $ ( O.
2567         (iso2022_jp3_wctomb): Emit ESC $ ( Q instead of ESC $ ( O.
2568         * tests/EUC-JISX0213.TXT: Change mappings U+2015 -> U+2014,
2569         U+2299 -> U+29BF, and add 10 new characters.
2570         * tests/SHIFT_JISX0213.TXT: Likewise.
2571         * tests/ISO-2022-JP-3-snippet: Update.
2572         * tests/ISO-2022-JP-3-snippet.UTF-8: Update.
2574 2004-07-22  Bruno Haible  <bruno@clisp.org>
2576         * lib/encodings.def (ISO-8859-7): Add alias ISO_8859-7:2003.
2577         * tools/Makefile (iso8859_7.h): Use conversion table from 2003.
2578         * lib/iso8859_7.h: Add mappings for 0xa4, 0xa5, 0xaa.
2579         * tests/ISO-8859-7.TXT: Update to ISO_8859-7:2003.
2581 2004-07-22  Bruno Haible  <bruno@clisp.org>
2583         * tools/Makefile (ALL): Add iso8859_11.h.
2584         (iso8859_11.h): New rule.
2585         * lib/encodings.def: Add ISO-8859-11.
2586         * lib/iso8859_11.h: New file.
2587         * lib/converters.h: Include it.
2588         * tests/ISO-8859-11.TXT: New file.
2589         * tests/Makefile.in (check): Also test ISO-8859-11.
2590         * tests/Makefile.msvc (check): Likewise.
2591         * tests/Makefile.os2 (check): Likewise.
2593 2004-07-17  Bruno Haible  <bruno@clisp.org>
2595         * src/iconv.c (main): Terminate option parsing when option -- is seen.
2596         Reported by Len Lattanzi <zardoz@users.sourceforge.net>.
2598 2004-03-05  Bruno Haible  <bruno@clisp.org>
2600         * src/Makefile.in (install): Make DESTDIR work on HP-UX.
2601         Reported by Bob Proulx <box@proulx.com>.
2603 2004-02-19  Bruno Haible  <bruno@clisp.org>
2605         * lib/vietcomb.h (viet_comp_table_data): Un-uncomment 0x00D5, 0x00F5,
2606         0x0168, 0x0169. Needed for TCVN-5712 but not for CP1258.
2607         (viet_comp_table0301_len): Increment by 4.
2609         * lib/cp1255.h (cp1255_mbtowc): Don't delay the handling of characters
2610         which are not entries in cp1255_comp_table_data.
2611         * lib/cp1258.h (cp1258_comp_bases): New array.
2612         (cp1258_mbtowc): Don't delay the handling of characters which are not
2613         relevant entries in viet_comp_table_data.
2614         * lib/tcvn.h (tcvn_comp_bases): New array.
2615         (tcvn_mbtowc): Don't delay the handling of characters which are not
2616         relevant entries in viet_comp_table_data.
2617         Reported by Alain Bench <veronatif@free.fr>.
2619 2004-02-02  Perry Rapp  <lifelines_3_0_18@hotmail.com>
2620             Bruno Haible  <bruno@clisp.org>
2622         * man/iconvctl.3: New file.
2623         * man/iconv.3: Refer to it in "See also".
2624         * man/iconv_open.3: Likewise.
2626 2004-01-24  Bruno Haible  <bruno@clisp.org>
2628         * srclib/progreloc.c (xstrdup): Define as strdup if no xmalloc should
2629         be used.
2631 2004-01-20  Bruno Haible  <bruno@clisp.org>
2633         Upgrade from gettext-0.14.
2635         * configure.in: Call gl_USE_SYSTEM_EXTENSIONS. Call AM_STDBOOL_H
2636         instead of gt_STDBOOL_H. Provide a definition for DLL_VARIABLE.
2637         * srclib/Makefile.am (libicrt_a_SOURCES): Add allocsa.h, allocsa.c,
2638         xalloc.h. Remove xmalloc.h.
2639         (libicrt_a_LIBADD): Remove @ALLOCA@.
2640         * srclib/Makefile.msvc (OBJECTS): Add allocsa.obj.
2641         (allocsa.obj): New rule.
2642         * srclib/Makefile.vms (OBJECTS): Add allocsa.obj.
2643         (allocsa.obj): New rule.
2644         * Makefile.devel (config.h_vms): Set MALLOC_0_IS_NONNULL to 0.
2645         (config.h.msvc): Set MALLOC_0_IS_NONNULL to 1.
2647     lib/:
2649         2003-10-09  Bruno Haible  <bruno@clisp.org>
2650         * lib/relocatable.c: Include xalloc.h instead of xmalloc.h.
2652         2003-08-01  Bruno Haible  <bruno@clisp.org>
2653         * lib/relocatable.c (find_shared_library_fullname): Disable the code on
2654         Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.
2656         2003-06-22  Bruno Haible  <bruno@clisp.org>
2657         * lib/relocatable.c (compute_curr_prefix): Comment out this function in
2658         the case when it is not used.
2659         Reported by Pavel Roskin <proski@gnu.org>.
2661     m4/:
2663         * m4/gettext.m4: Upgrade from GNU gettext. Many changes.
2664         * m4/po.m4: Likewise.
2666         * m4/readlink.m4: New file, from GNU gettext.
2668         2003-11-30  Bruno Haible  <bruno@clisp.org>
2669         * m4/allocsa.m4: New file.
2670         * m4/eealloc.m4: New file.
2671         * m4/setenv.m4 (gl_PREREQ_SETENV): Require gl_ALLOCSA instead of
2672         AC_FUNC_ALLOCA.
2674         2003-10-21  Bruno Haible  <bruno@clisp.org>
2675         * m4/canonicalize.m4 (gl_PREREQ_CANONICALIZE): Also test for
2676         readlink().
2678         2003-08-24  Bruno Haible  <bruno@clisp.org>
2679         * m4/relocatable.m4 (AC_RELOCATABLE): Use $(host) instead of @host@,
2680         since the substitution of @host@ may occur before the substitution of
2681         @SET_RELOCATABLE@.
2683         2003-08-23  Bruno Haible  <bruno@clisp.org>
2684         * stdbool.m4: Replace with the version from gnulib, without
2685         AC_HEADER_STDBOOL.
2687         2003-08-08  Paul Eggert  <eggert@twinsun.com>
2688         * m4/extensions.m4: New file.
2689         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
2690         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
2692         2003-07-01  Bruno Haible  <bruno@clisp.org>
2693         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
2694         <sys/types.h> should be sufficient.
2695         Reported by Paul Eggert.
2697         2003-07-01  Bruno Haible  <bruno@clisp.org>
2698         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Avoid "duplicated macro" error
2699         from aclocal-1.4-p4.
2700         Reported by Luke Schierer <lschiere@rackspace.com> and
2701         Michael C. Toren <mct@toren.net>.
2703         2003-07-01  Paul Eggert  <eggert@twinsun.com>
2704         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
2705         xreadlink.c now includes it unconditionally.
2707         2003-06-17  Paul Eggert  <eggert@twinsun.com>
2708         * m4/lib-ld.m4 (AC_LIB_PROG_LD_GNU, AC_LIB_PROG_LD): Don't use egrep,
2709         for portability to POSIX 1003.1-2001.  Backported from libtool-1.5.
2711         2003-05-28  Paul Eggert  <eggert@twinsun.com>
2712         * m4/pathmax.m4 (gl_PATHMAX): Don't check for limits.h.
2713         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
2715         2002-12-24  Bruno Haible  <bruno@clisp.org>
2716         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
2717         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
2718         when invoked twice.
2719         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
2720         gt_FUNC_SETENV.
2722     srclib/:
2724         2003-11-30  Bruno Haible  <bruno@clisp.org>
2725         * srclib/alloca.c: Remove file.
2727         2003-11-30  Bruno Haible  <bruno@clisp.org>
2728         Safer stack allocation.
2729         * srclib/allocsa.h: New file.
2730         * srclib/allocsa.c: New file.
2731         * canonicalize.c: Include allocsa.h.
2732         (__realpath): Use allocsa instead of alloca. Don't clobber errno right
2733         before returning NULL.
2734         * srclib/relocwrapper.c: Indirectly depends on allocsa.
2735         * srclib/setenv.c: Include allocsa.h.
2736         (alloca): Remove fallback definition.
2737         (freea): Remove macro.
2738         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
2739         instead of freea.
2741         2003-11-17  Bruno Haible  <bruno@clisp.org>
2742         * srclib/canonicalize.c: #undef realpath after <config.h> but before
2743         the system includes, so as to avoid a prototype clash on Solaris 2.5.1.
2744         Reported by Warren L. Dodge <warrend@mdhost.cse.tek.com>.
2746         2003-10-21  Bruno Haible  <bruno@clisp.org>
2747         * srclib/canonicalize.c (lstat): Define as an alias to 'stat' on
2748         systems without symbolic links.
2750         2003-10-17  Bruno Haible  <bruno@clisp.org>
2751         * srclib/binary-io.h: Avoid warnings on Cygwin.
2753         2003-10-09  Bruno Haible  <bruno@clisp.org>
2754         * srclib/xalloc.h: Renamed from xmalloc.h.
2755         * srclib/progreloc.c: Include xalloc.h instead of xmalloc.h.
2756         * srclib/relocatable.c: Likewise.
2757         * srclib/xmalloc.c: Likewise.
2758         * srclib/xreadlink.c: Likewise.
2759         * srclib/xstrdup.c: Likewise.
2761         2003-09-12  Paul Eggert  <eggert@twinsun.com>
2762         * srclib/progreloc.c (get_full_program_name): Define via prototype.
2764         2003-09-12  Paul Eggert  <eggert@twinsun.com>
2765         * srclib/setenv.c (clearenv): Define via prototype.
2767         2003-09-10  Bruno Haible  <bruno@clisp.org>
2768         * srclib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
2769         * srclib/unsetenv.c: Likewise.
2771         2003-08-28  Bruno Haible  <bruno@clisp.org>
2772         * srclib/binary-io.h: Undefine O_BINARY before defining it. This avoids
2773         a warning on QNX, which defines O_BINARY to 000000.
2775         2003-08-24  Bruno Haible  <bruno@clisp.org>
2776         * srclib/binary-io.h: Include <stdio.h>, to avoid a compilation error
2777         when MSVC7 <stdio.h> is included later.
2779         2003-08-24  Bruno Haible  <bruno@clisp.org>
2780         * srclib/error.h: Use ANSI C "..." declarations when compiling with
2781         MSVC, even though it doesn't define __STDC__ by default.
2782         * srclib/error.c: Use <stdarg.h> when compiling with MSVC, even though
2783         it doesn't define __STDC__ by default.
2785         2003-08-24  Bruno Haible  <bruno@clisp.org>
2786         Support for building DLLs on Windows.
2787         * srclib/error.h (error_print_progname, error_message_count,
2788         error_one_per_line): Add DLL_VARIABLE attribute.
2789         * srclib/progname.h (program_name): Likewise.
2791         2003-08-24  Bruno Haible  <bruno@clisp.org>
2792         * srclib/progname.h: Make this file includable in C++ mode: add extern
2793         "C".
2794         * srclib/relocatable.h: Likewise.
2795         * srclib/xmalloc.h: Likewise.
2797         2003-08-22  Bruno Haible  <bruno@clisp.org>
2798         * srclib/progname.h (error_with_progname, maybe_print_progname): Remove
2799         declarations.
2800         * srclib/progname.c (error_with_progname): Remove variable.
2801         (maybe_print_progname): Remove function.
2803         2003-08-01  Bruno Haible  <bruno@clisp.org>
2804         * srclib/relocatable.c (find_shared_library_fullname): Disable the code
2805         on Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.
2807         2003-07-01  Paul Eggert  <eggert@twinsun.com>
2808         * srclib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
2809         having it depend on HAVE_SYS_TYPES_H.
2811         2003-06-23  Bruno Haible  <bruno@clisp.org>
2812         Avoid compilation units that are empty after preprocessing.
2813         * srclib/canonicalize.c: Add dummy declaration.
2814         * srclib/strerror.c: Likewise.
2815         * srclib/error.c: Include <stdio.h> even if there's nothing to be
2816         compiled.
2818         2003-06-22  Bruno Haible  <bruno@clisp.org>
2819         * srclib/relocatable.c (compute_curr_prefix): Comment out this function
2820         in the case when it is not used.
2821         Reported by Pavel Roskin <proski@gnu.org>.
2823         2003-05-28  Paul Eggert  <eggert@twinsun.com>
2824         * srclib/pathmax.h: Include <limits.h> without checking for
2825         HAVE_LIMITS_H.
2826         * srclib/xreadlink.c: Likewise.
2828 2004-01-20  Bruno Haible  <bruno@clisp.org>
2830         Assume automake-1.8.
2831         * Makefile.devel (AUTOCONF, AUTOHEADER): Assume autoconf-2.59.
2832         (AUTOMAKE): Assume automake-1.8.
2833         * Makefile.in (am--refresh): New target.
2835 2004-01-23  Bruno Haible  <bruno@clisp.org>
2837         * Version 1.9.2 released.
2839 2004-01-23  Bruno Haible  <bruno@clisp.org>
2841         * tests/table-from.c: Include binary-io.h.
2842         (main): Switch stdout to binary mode.
2843         * tests/table-to.c: Include binary-io.h.
2844         (main): Switch stdout to binary mode.
2845         * tests/genutf8.c: Include binary-io.h.
2846         (main): Switch stdout to binary mode.
2847         * tests/Makefile.in (INCLUDES): Also look in srclib.
2848         (check): Pass INCLUDES when compiling genutf8.c.
2849         * tests/Makefile.os2 (INCLUDES): Also look in srclib.
2850         (genutf8.exe): Pass INCLUDES when compiling genutf8.c.
2851         * tests/Makefile.msvc (INCLUDES): Also look in srclib.
2852         (check): Pass INCLUDES when compiling genutf8.c.
2854 2004-01-21  Bruno Haible  <bruno@clisp.org>
2856         * src/iconv.c (force_binary): Remove variable.
2857         (usage): Don't document --binary any more.
2858         (convert, main): Always switch to binary mode.
2859         * tests/check-stateful.bat: Remove --binary option.
2860         * tests/check-translit.bat: Likewise.
2861         * tests/check-stateful.cmd: Likewise.
2862         * tests/check-translit.cmd: Likewise.
2863         * djgpp/stateful-check.sed: Remove MODE variable.
2864         * djgpp/translit-check.sed: Likewise.
2866 2004-01-21  Bruno Haible  <bruno@clisp.org>
2868         * man/iconv.3: Fix description of return value in case of error.
2869         Reported by Jonathan Wakely <redi@users.sf.net>.
2871 2003-09-12  Paul Eggert  <eggert@twinsun.com>
2873         * srclib/progreloc.c (get_full_program_name): Define via prototype.
2875 2003-08-15  Bruno Haible  <bruno@clisp.org>
2877         * Makefile.devel (lib/translit.h): Add ulimit command so that the
2878         gentranslit program gets the stack it needs. Many Linux distributions
2879         allow only 8 MB of stack by default.
2881 2003-08-01  Bruno Haible  <bruno@clisp.org>
2883         * lib/relocatable.c (find_shared_library_fullname): Disable the code on
2884         Linux/libc5.
2885         * srclib/relocatable.c (find_shared_library_fullname): Likewise.
2886         Reported by Alain Guibert <derogaton+bgli@oreka.com>.
2888 2003-07-02  Bruno Haible  <bruno@clisp.org>
2890         * m4/lib-ld.m4: Update from GNU gettext.
2891         * m4/lib-prefix.m4: Update from GNU gettext.
2892         * m4/gettext.m4: Update from GNU gettext.
2893         * m4/intmax.m4: New file, from GNU gettext.
2894         * m4/longdouble.m4: New file, from GNU gettext.
2895         * m4/longlong.m4: New file, from GNU gettext.
2896         * m4/printf-posix.m4: New file, from GNU gettext.
2897         * m4/signed.m4: New file, from GNU gettext.
2898         * m4/wchar_t.m4: New file, from GNU gettext.
2899         * m4/wint_t.m4: New file, from GNU gettext.
2900         * m4/pathmax.m4: Update from GNU gettext and gnulib.
2901         * m4/ssize_t.m4: Update from GNU gettext and gnulib.
2902         * m4/xreadlink.m4: Update from GNU gettext and gnulib.
2903         * m4/readlink.m4: New file, from gnulib.
2904         * autoconf/install-reloc: Update from GNU gettext.
2905         * srclib/stdbool_.h: Renamed from srclib/stdbool.h.in.
2906         * srclib/readlink.c: New file, from GNU gettext and gnulib.
2907         * srclib/Makefile.am (LIBADD_SOURCE): Add readlink.c.
2908         (EXTRA_DIST, stdbool.h): Use stdbool_.h instead of stdbool.h.in.
2909         * configure.in: Invoke gl_FUNC_READLINK.
2911 2003-06-22  Bruno Haible  <bruno@clisp.org>
2913         * src/Makefile.in (install): Link with the already installed library.
2914         This fixes a link error on Solaris.
2915         Reported by Paul Eggert.
2917 2003-06-08  Bruno Haible  <bruno@clisp.org>
2919         * srclib/canonicalize.c (__getcwd) [VMS]: Pass 3 arguments to getcwd.
2921 2003-05-02  Bruno Haible  <bruno@clisp.org>
2923         Support for libtool-1.5.
2924         * srclib/progname.c (set_program_name): Remove a leading
2925         "<dirname>/.libs/lt-" or "<dirname>/.libs/", not only "lt-".
2927 2003-06-23  Bruno Haible  <bruno@clisp.org>
2929         Avoid compilation units that are empty after preprocessing.
2930         * srclib/canonicalize.c: Add dummy declaration.
2931         * srclib/strerror.c: Likewise.
2932         * srclib/error.c: Include <stdio.h> even if there's nothing to be
2933         compiled.
2935 2003-06-22  Bruno Haible  <bruno@clisp.org>
2937         Portability to mingw32.
2938         * m4/ssize_t.m4: New file, from GNU gettext.
2939         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
2940         Reported by Jeff Bonggren <jbon@cfl.rr.com>.
2942 2003-06-22  Bruno Haible  <bruno@clisp.org>
2944         Portability to mingw32.
2945         * lib/relocatable.c [WIN32]: Include <windows.h>.
2946         * srclib/relocatable.c: Likewise.
2947         Reported by Jeff Bonggren <jbon@cfl.rr.com>.
2949 2003-06-22  Bruno Haible  <bruno@clisp.org>
2951         * lib/relocatable.c (compute_curr_prefix): Comment out this function in
2952         the case when it is not used.
2953         * srclib/relocatable.c (compute_curr_prefix): Likewise.
2954         Reported by Pavel Roskin <proski@gnu.org>.
2956 2003-06-18  Bruno Haible  <bruno@clisp.org>
2958         * config/install-sh: Update from automake-1.7.5.
2960 2003-06-16  Bruno Haible  <bruno@clisp.org>
2962         * lib/encodings.def (ISO-8859-15): Add alias LATIN-9.
2963         (ISO-8859-16): Add aliases ISO_8859-16:2001, LATIN10, L10. Remove alias
2964         ISO_8859-16:2000.
2965         (GBK): Add aliases MS936, WINDOWS-936.
2966         Reported by Guido Flohr <guido@imperia.net>.
2968 2003-05-09  Bruno Haible  <bruno@clisp.org>
2970         * srclib/canonicalize.c: Add #ifdef around versioned_symbol. Avoids an
2971         "extraneous semicolon" warning from Tru64 cc.
2973 2003-06-07  Bruno Haible  <bruno@clisp.org>
2975         * Makefile.devel (config.h_vms): Don't define HAVE_ENVIRON_DECL.
2976         * Makefile.vms (config.h): New rule.
2977         (all, install): Depend on it.
2978         (all, install, installdirs, uninstall, check): Fix typo.
2979         (mostlyclean, clean, distclean, maintainer-clean): Likewise. Remove
2980         config.h.
2981         * lib/Makefile.vms (DEFS): Fix value of INSTALLDIR.
2982         (OBJECTS): Use libiconv.obj instead of iconv.obj.
2983         (libiconv.obj): Renamed from iconv.obj.
2984         * srclib/Makefile.vms (INCLUDES): Add parent directory.
2985         (OBJECTS): Remove strtoul.obj, setenv.obj, unsetenv.obj.
2986         (strtoul.obj, setenv.obj, unsetenv.obj): Remove rules.
2987         (alloca.h): New rule.
2988         (canonicalize.obj): Depend on it.
2989         (clean): Remove alloca.h.
2990         * src/Makefile.vms (datadir, localedir): New variables.
2991         (DEFS): Also define LOCALEDIR.
2992         (iconv.obj): Add flags for relocatability,
2993         (iconv.exe): Link with libicrt. Use link_options.
2994         * vms/link_options.opt: New file.
2995         Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
2997 2003-06-07  Bruno Haible  <bruno@clisp.org>
2999         Support for relocatable data files even on Woe32.
3000         * lib/Makefile.msvc (PICFLAGS): Also define PIC.
3002 2003-05-22  Bruno Haible  <bruno@clisp.org>
3004         * Version 1.9.1 released.
3006 2003-05-22  Bruno Haible  <bruno@clisp.org>
3008         * lib/genaliases.c (main): Emit %pic instead of %null-strings.
3009         Change type of 'name' field to 'int'.
3010         * lib/genaliases2.c (emit_encoding): Add a 'tag' argument. Emit an
3011         invocation of macro S(), including the tag and a counter.
3012         (main): Use the command-line argument as tag.
3013         * Makefile.devel (lib/aliases_aix.h, lib/aliases_osf1.h,
3014         lib/aliases_dos.h, lib/aliases_extra.h): Pass a tag to the program.
3015         * lib/iconv.c (stringpool2_t): New type.
3016         (stringpool2_contents): New data table.
3017         (stringpool2): New macro.
3018         (sysdep_aliases): Make position-independent. Move #includes out to
3019         aliases2.h.
3020         (aliases2_lookup): Update.
3021         (nalias): New type.
3022         (compare_by_index): Use 'struct nalias' instead of 'struct alias'.
3023         (iconvlist): Convert 'struct alias' to 'struct nalias' while copying.
3024         * lib/aliases2.h: New file, extracted from lib/iconv.c.
3026 2003-05-20  Bruno Haible  <bruno@clisp.org>
3028         * lib/iconv.c (iconvlist): Test p->name against NULL, not against "".
3029         Reported by Muraoka Taro <koron@tka.att.ne.jp>.
3031 2003-05-19  Bruno Haible  <bruno@clisp.org>
3033         * windows/iconv.rc: Include <winver.h>.
3034         Reported by Perry Rapp.
3036 2003-05-18  Bruno Haible  <bruno@clisp.org>
3038         * Version 1.9 released.
3040 2003-05-18  Bruno Haible  <bruno@clisp.org>
3042         * lib/Makefile.in (libiconv_plug_osf.so): Avoid using LIBTOOL_LINK.
3044 2003-05-18  Bruno Haible  <bruno@clisp.org>
3046         * lib/Makefile.msvc (DEBUGFLAGS): New variable.
3047         (iconv.lib): Use it.
3048         * src/Makefile.msvc (DEBUGFLAGS): New variable.
3049         * tests/Makefile.msvc (DEBUGFLAGS): New variable.
3051 2003-05-17  Bruno Haible  <bruno@clisp.org>
3053         * src/Makefile.msvc (libdir, datadir, localedir): New variables.
3054         (IIlibdir, IIdatadir, IIlocaledir): New variables.
3055         (CFLAGS): Define LOCALEDIR.
3056         (iconv_no_i18n.exe): New rule.
3057         (all): Depend on it.
3058         * tests/check-stateful.bat: Invoke iconv_no_i18n instead of iconv.
3059         * tests/check-translit.bat: Likewise.
3061 2003-05-16  Bruno Haible  <bruno@clisp.org>
3063         * lib/genaliases.c (main): Emit declarations for gperf-3.0.
3064         * Makefile.devel (lib/aliases.h): Remove gperf command line options;
3065         add new option "-m 10" for gperf-3.0.
3067 2003-05-12  Bruno Haible  <bruno@clisp.org>
3069         * m4/error.m4: Update from gettext.
3071 2003-05-12  Bruno Haible  <bruno@clisp.org>
3073         * configure.in: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO.
3075 2003-05-12  Bruno Haible  <bruno@clisp.org>
3077         * lib/Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from
3078         CFLAGS to PICFLAGS.
3080 2003-05-09  Bruno Haible  <bruno@clisp.org>
3082         * srclib/error.c: Update from gnulib with modifications.
3083         * srclib/unlocked-io.h: New file, from gnulib.
3084         * m4/strerror_r.m4: New file, from gnulib.
3085         * m4/unlocked-io.m4: New file, from gnulib.
3086         * Makefile.devel (aclocal.m4): Depend on them.
3088 2003-05-08  Bruno Haible  <bruno@clisp.org>
3090         * Makefile.msvc (IIPREFIX): New variable.
3091         * srclib/Makefile.msvc (INCLUDES): Add -I..\windows.
3092         * src/Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
3093         IIincludedir): New variables.
3094         (INCLUDES): Add -I..\windows.
3095         (iconv.exe): Define INSTALLPREFIX and INSTALLDIR. Link with
3096         ../srclib/icrt.lib.
3097         Patches by Perry Rapp.
3099 2003-05-07  Bruno Haible  <bruno@clisp.org>
3101         * README.woe32: Fix instructions for step 1.
3102         * srclib/Makefile.msvc (OBJECTS): Remove strtoul.obj.
3103         (strtoul.obj): Remove rule.
3104         Reported by Perry Rapp.
3106 2003-05-07  Bruno Haible  <bruno@clisp.org>
3108         * Makefile.vms: New file.
3109         * lib/Makefile.vms: New file.
3110         * srclib/Makefile.vms: New file.
3111         * src/Makefile.vms: New file.
3112         * man/Makefile.vms: New file.
3113         * tests/Makefile.vms: New file.
3114         * Makefile.devel (config.h_vms, lib/config.h_vms, include/iconv.h_vms):
3115         New rules.
3116         (all): Depend on them.
3118 2003-05-07  Bruno Haible  <bruno@clisp.org>
3120         * srclib/Makefile.msvc (OBJECTS): Remove findprog.obj.
3121         (findprog.obj): Remove rule.
3122         * src/Makefile.msvc (includedir): New variable.
3124 2003-05-06  Bruno Haible  <bruno@clisp.org>
3126         * lib/translit.def: Upgrade to Unicode 4.0.
3128 2003-05-06  Bruno Haible  <bruno@clisp.org>
3130         * srclib/Makefile.am (DEFS): Fix spelling of DEPENDS_ON_LIBICONV.
3131         * srclib/Makefile.msvc (CFLAGS): Likewise.
3133         * srclib/Makefile.msvc (INCLUDES): Add -I.. .
3134         Reported by Perry Rapp.
3136         * Makefile.msvc (config.h): New rule.
3137         (all): Depend on it.
3138         (mostlyclean, clean, distclean, maintainer-clean): Erase config.h.
3139         Reported by Perry Rapp.
3141 2003-05-06  Bruno Haible  <bruno@clisp.org>
3143         * autoconf/config.guess: Update to GNU version 2003-02-22.
3144         * autoconf/config.sub: Likewise.
3146 2003-05-06  Bruno Haible  <bruno@clisp.org>
3148         * m4/lib-link.m4: Update from GNU gettext.
3149         * autoconf/config.rpath: Update from GNU gettext.
3151         * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
3152         * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.
3154         * m4/gettext.m4: Update from GNU gettext.
3155         * m4/nls.m4: Update from GNU gettext.
3156         * m4/po.m4: Update from GNU gettext.
3157         * Makefile.devel (aclocal.m4): Depend on m4/nls.m4 and m4/po.m4.
3159 2003-04-12  Bruno Haible  <bruno@clisp.org>
3161         Support for OpenVMS 7.3.
3162         * lib/iconv.c (USE_OSF1): Define also on VMS.
3164 2003-04-12  Bruno Haible  <bruno@clisp.org>
3166         Better support for FreeBSD.
3167         * lib/encodings.def (ISO8859-{1,2,3,4,5,6,7,8,9,10,13,14,15,16): New
3168         aliases, for compatibility with earlier FreeBSD iconv implementation
3169         by Konstantin Chuguev.
3170         * lib/iconv.c (iconv_open, iconv, iconv_close) [FreeBSD]: Define as
3171         aliases.
3172         * src/Makefile.in (install) [FreeBSD]: Avoid installation problem.
3174 2003-04-12  Bruno Haible  <bruno@clisp.org>
3176         * configure.in (mandir): Change default value.
3177         * Makefile.in (datadir): New variable.
3178         (install, installdirs, uninstall): Pass datadir to po and man
3179         directories.
3180         * Makefile.os2 (datadir): New variable.
3181         (mandir): Use it instead of prefix.
3182         (install, uninstall): Pass datadir to man directory.
3183         * Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
3184         * man/Makefile.in (datadir): New variable.
3185         (docdir): Use it instead of prefix.
3186         (install, installdirs): Update.
3187         * man/Makefile.os2 (datadir): New variable.
3188         (mandir): Use it instead of prefix.
3189         * man/Makefile.msvc (datadir): New variable.
3190         (mandir, docdir): Use it instead of prefix.
3191         (install, installdirs): Update.
3193 2003-04-06  Bruno Haible  <bruno@clisp.org>
3195         Make it possible to build with or without libintl support on Woe32.
3196         * Makefile.devel (config.h.msvc): Remove ENABLE_NLS.
3197         * Makefile.msvc (NO_NLS): New variable.
3198         * srclib/Makefile.msvc (NO_NLS): New variable.
3199         (CFLAGS, INCLUDES): Use them.
3200         * src/Makefile.msvc (NO_NLS): New variable.
3201         (NLSFLAGS, INCINTL, LIBINTL): New variables.
3202         (CFLAGS, INCLUDES, iconv.exe): Use them.
3204 2003-04-12  Bruno Haible  <bruno@clisp.org>
3206         * lib/loop_unicode.h (unicode_transliterate): When the Hangul or
3207         variants transliteration failed with RET_ILUNI, don't return
3208         RET_TOOSMALL.
3209         Reported by the FreeBSD porters.
3211 2003-04-06  Bruno Haible  <bruno@clisp.org>
3213         * srclib/binary-io.h: New file, from GNU gettext.
3214         * src/iconv.c: Include it.
3215         (O_BINARY, O_TEXT, SET_BINARY): Remove definitions.
3217 2003-04-05  Bruno Haible  <bruno@clisp.org>
3219         Support for relocatable installation.
3220         * m4/alloca.m4: New file, from GNU gettext.
3221         * m4/canonicalize.m4: New file, from GNU gettext.
3222         * m4/error.m4: New file, from GNU gettext.
3223         * m4/onceonly.m4: New file, from GNU gettext.
3224         * m4/pathmax.m4: New file, from GNU gettext.
3225         * m4/relocatable.m4: New file, from GNU gettext.
3226         * m4/setenv.m4: New file, from GNU gettext.
3227         * m4/stdbool.m4: New file, from GNU gettext.
3228         * m4/strerror.m4: New file, from GNU gettext.
3229         * m4/xreadlink.m4: New file, from GNU gettext.
3230         * autoconf/config.libpath: New file, from GNU gettext.
3231         * autoconf/install-reloc: New file, from GNU gettext.
3232         * autoconf/reloc-ldflags: New file, from GNU gettext.
3233         * autoconf/missing: New file, from GNU automake 1.7.3.
3234         * lib/relocatable.h: New file, from GNU gettext.
3235         * lib/relocatable.c: New file, from GNU gettext.
3236         * srclib/alloca.c: New file, from GNU gettext.
3237         * srclib/alloca_.h: New file, from GNU gettext.
3238         * srclib/canonicalize.c: New file, from GNU gettext.
3239         * srclib/canonicalize.h: New file, from GNU gettext.
3240         * srclib/error.c: New file, from GNU gettext.
3241         * srclib/error.h: New file, from GNU gettext.
3242         * srclib/exit.h: New file, from GNU gettext.
3243         * srclib/gettext.h: New file, from GNU gettext.
3244         * srclib/memmove.c: New file, from GNU gettext.
3245         * srclib/pathmax.h: New file, from GNU gettext.
3246         * srclib/progname.c: New file, from GNU gettext.
3247         * srclib/progname.h: New file, from GNU gettext.
3248         * srclib/progreloc.c: New file, from GNU gettext.
3249         * srclib/relocatable.c: New file, from GNU gettext.
3250         * srclib/relocatable.h: New file, from GNU gettext.
3251         * srclib/relocwrapper.c: New file, from GNU gettext.
3252         * srclib/setenv.c: New file, from GNU gettext.
3253         * srclib/setenv.h: New file, from GNU gettext.
3254         * srclib/stdbool.h.in: New file, from GNU gettext.
3255         * srclib/strerror.c: New file, from GNU gettext.
3256         * srclib/unsetenv.c: New file, from GNU gettext.
3257         * srclib/xmalloc.c: New file, from GNU gettext.
3258         * srclib/xmalloc.h: New file, from GNU gettext.
3259         * srclib/xreadlink.c: New file, from GNU gettext.
3260         * srclib/xreadlink.h: New file, from GNU gettext.
3261         * srclib/xstrdup.c: New file, from GNU gettext.
3262         * srclib/Makefile.am: New file.
3263         * srclib/Makefile.msvc: New file.
3264         * windows/alloca.h: New file, from GNU gettext.
3265         * windows/stdbool.h: New file, from GNU gettext.
3266         * configure.in (AC_CONFIG_HEADERS): Replace src/config.h with config.h.
3267         Add AC_RELOCATABLE, AC_HEADER_STDC, AC_CHECK_HEADERS(stddef.h stdlib.h
3268         string.h), AC_CHECK_FUNCS(getc_unlocked), AC_REPLACE_FUNCS(memmove),
3269         AM_LANGINFO_CODESET, gl_FUNC_ALLOCA, gl_CANONICALIZE,
3270         gt_FUNC_ERROR_AT_LINE, gl_PATHMAX, gt_FUNC_SETENV, gt_STDBOOL_H,
3271         gl_FUNC_STRERROR, gl_XREADLINK, AC_OUTPUT(srclib/Makefile).
3272         * lib/config.h.in: Add HAVE_GETC_UNLOCKED, HAVE_LANGINFO_CODESET,
3273         HAVE_SETLOCALE, HAVE_STDDEF_H, HAVE_STDLIB_H, HAVE_STRING_H, for
3274         localcharset.c. Add ENABLE_RELOCATABLE, INSTALLPREFIX, for
3275         relocatable.c.
3276         * lib/Makefile.in (DEFS): New variable.
3277         (SOURCES): Add localcharset.c and relocatable.c.
3278         (OBJECTS): Add localcharset.lo and relocatable.lo.
3279         (LIBCHARSET_OBJECTS): Remove variable.
3280         (libiconv_plug_linux.so, libiconv_plug_solaris.so,
3281         libiconv_plug_osf.so): Use $(DEFS). Don't use $(LIBCHARSET_OBJECTS).
3282         (iconv.lo): Use $(DEFS).
3283         (localcharset.lo, relocatable.lo): New rules.
3284         * lib/Makefile.msvc (CFLAGS): Define HAVE_CONFIG_H, BUILDING_DLL,
3285         ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC,
3286         set_relocation_prefix, relocate. Remove $(PICFLAGS).
3287         (INCLUDES): Simplify.
3288         (SOURCES): Remove variable.
3289         (OBJECTS): Add localcharset.obj and relocatable.obj.
3290         (LIBCHARSET_OBJECTS): Remove variable.
3291         (iconv.obj): Add $(PICFLAGS).
3292         (localcharset.obj, relocatable.obj): New rules.
3293         (iconv.lib): Drop $(LIBCHARSET_OBJECTS).
3294         * include/iconv.h.in (libiconv_set_relocation_prefix): New declaration.
3295         * src/gettext.h: Remove file.
3296         * src/iconv.c: Include progname.h and relocatable.h.
3297         (ICONV_CONST): Define to const if the system has no iconv.
3298         (main): Invoke set_program_name. Relocate LOCALEDIR.
3299         * src/Makefile.in (top_srcdir): New variable.
3300         (INCLUDES): Add .. and ../srclib.
3301         (iconv_no_i18n, iconv): Link with ../srclib/libicrt.a.
3302         (iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Define INSTALLDIR.
3303         (RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR,
3304         RELOCATABLE_CONFIG_H_DIR, @SET_RELOCATABLE@, iconv_LDFLAGS): New
3305         variables.
3306         (iconv): Use $(iconv_LDFLAGS).
3307         (install): Use $(INSTALL_PROGRAM_ENV).
3308         (distclean): Drop removing config.h.
3309         * src/Makefile.msvc (INCLUDES): Add .., simplify.
3310         * tests/Makefile.msvc (INCLUDES): Simplify.
3311         * Makefile.devel (AUTOHEADER, AUTOMAKE): New variables.
3312         (config.h.in, srclib/Makefile.in, config.h.msvc): New rules.
3313         (all): Depend on them.
3314         (aclocal.m4) Depend also on m4/alloca.m4, m4/canonicalize.m4,
3315         m4/error.m4, m4/onceonly.m4, m4/pathmax.m4, m4/relocatable.m4,
3316         m4/setenv.m4, m4/stdbool.m4, m4/strerror.m4, m4/xreadlink.m4.
3317         (lib/config.h.msvc): Additional processing.
3318         * Makefile.in (all, install, installdirs, uninstall, check): Recurse
3319         into srclib.
3320         (mostlyclean, clean, distclean, maintainerclean): Likewise. Remove
3321         lib/localcharset.h.
3322         (distclean, maintainerclean): Remove also config.h and some stamps.
3323         * Makefile.msvc (all, install, installdirs, uninstall, check,
3324         mostlyclean, clean, distclean, maintainerclean): Recurse into srclib.
3325         * INSTALL.generic: Document --enable-relocatable and
3326         --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
3327         LDFLAGS. The lib-link.m4 macros make this unnecessary.
3329 2003-04-05  Bruno Haible  <bruno@clisp.org>
3331         * configure.in: Bump version number to 1.9.
3332         * include/iconv.h.in (_LIBICONV_VERSION): Bump.
3333         * windows/iconv.rc: Bump version number.
3334         * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 4:0:2.
3336 2003-04-05  Bruno Haible  <bruno@clisp.org>
3338         * Makefile.msvc (PREFIX): New variable.
3339         (prefix): Use it.
3340         (distclean, maintainer-clean): Drop Unix specific removals.
3341         * lib/Makefile.msvc (PREFIX, IIPREFIX): New variables.
3342         (prefix): Use it.
3343         (IIprefix, IIexec_prefix, IIbindir, IIlibdir): New variables.
3344         (clean): Drop Unix specific removal.
3345         * src/Makefile.msvc (PREFIX): New variable.
3346         (prefix): Use it.
3347         (clean): Drop Unix specific removal.
3348         (distclean): Likewise.
3349         * tests/Makefile.msvc (clean): Drop Unix specific removal.
3350         (distclean): Likewise.
3352 2003-04-05  Bruno Haible  <bruno@clisp.org>
3354         * m4/endian.m4 (CL_WORDS_LITTLEENDIAN): Use 3-argument AC_DEFINE.
3356 2003-04-05  Bruno Haible  <bruno@clisp.org>
3358         * m4/general.m4 (CL_CONFIG_SUBDIRS, CL_CANONICAL_HOST,
3359         CL_CANONICAL_HOST_CPU, CL_CANONICAL_HOST_CPU_FOR_FFCALL): Remove
3360         macros.
3361         * m4/gettext.m4: Update from GNU gettext.
3362         * m4/iconv.m4: Update from GNU gettext.
3363         * m4/lcmessage.m4: Update from GNU gettext.
3364         * m4/progtest.m4: Update from GNU gettext.
3365         * m4/libtool.m4: Update from GNU gettext.
3366         2003-02-16  Bruno Haible  <bruno@clisp.org>
3367                 Workaround autoconf >= 2.52 breakage.
3368                 * libtool.m4 (AC_LIBTOOL_ARG_WITH): New macro.
3369                 (_LT_AC_LTCONFIG_HACK, AC_PROG_LD): Use it.
3370         * autoconf/ltmain.sh: Update from GNU gettext.
3371         2003-02-18  Bruno Haible  <bruno@clisp.org>
3372                 Fix the 2002-09-16 fix.
3373                 * ltmain.sh (install): If "ln -s -f" fails (this is the case
3374                 with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
3376 2003-04-05  Bruno Haible  <bruno@clisp.org>
3378         Start using automake.
3379         * configure.in: Add AM_INIT_AUTOMAKE invocation.
3380         (PACKAGE, VERSION): Remove.
3381         Use AC_CANONICAL_HOST instead of CL_CANONICAL_HOST.
3382         Use AC_PROG_LN_S instead of CL_PROG_LN_S.
3383         Use AC_PROG_RANLIB instead of CL_PROG_RANLIB.
3384         Reorder so that AC_CANONICAL_HOST comes early but still after
3385         AC_PROG_CC.
3386         * m4/ranlib.m4: Remove file.
3387         * m4/libtool.m4: Undo AC_ -> CL_ substitutions.
3388         * Makefile.devel (CLISP_DIR): Comment out.
3389         (AUTOCONF_FILES): Change to aclocal.m4.
3390         (aclocal.m4): Renamed from autoconf/aclocal.m4. Update dependencies.
3391         (configure.in): Drop --include option.
3393 2003-03-17  Bruno Haible  <bruno@clisp.org>
3395         Improved MSVC support.
3396         * Makefile.msvc (prefix): Use less Unixy value.
3397         (local_prefix): Remove variable.
3398         (libdir, includedir, mandir): Use backslashes.
3399         (bindir, datadir, localedir, docdir): New variables.
3400         (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
3401         (all): Recurse into po/ and man/.
3402         (install, installdirs, uninstall): Rewritten.
3403         (check, mostlyclean, clean, distclean, maintainer-clean): Recurse
3404         into po/ and man/.
3405         * lib/Makefile.msvc (prefix): Use less Unixy value.
3406         (local_prefix): Remove variable.
3407         (libdir): Use backslashes.
3408         (bindir): New variable.
3409         (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values.
3410         (RESOURCES): Enable iconv.res.
3411         (install, installdirs, uninstall): New rules.
3412         (clean): Remove config.h.
3413         (distclean): Don't remove config.h here.
3414         * src/Makefile.msvc (prefix, exec_prefix, bindir): New variables.
3415         (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
3416         (install, installdirs, uninstall): New rules.
3417         * man/Makefile.msvc: New file.
3418         * tests/Makefile.msvc (install, installdirs, uninstall): New rules.
3419         * Makefile.devel (all): Depend on po/Makefile.msvc.
3420         (po/Makefile.msvc): New rule.
3421         * windows/iconv.rc: Update.
3422         * README.woe32: Mention automatic installation command.
3424         Rename libcharset.h to localcharset.h.
3425         * lib/iconv.c: Include localcharset.h, not libcharset.h.
3426         * Makefile.in (lib/localcharset.h): Renamed from lib/libcharset.h.
3427         (all, install): Update dependencies.
3428         (all): Create lib/localcharset.h, not lib/libcharset.h.
3429         (mostlyclean, clean, distclean, maintainer-clean): Remove
3430         lib/localcharset.h, not lib/libcharset.h.
3431         * djgpp/README.in, djgpp/README: Update.
3432         * djgpp/config.bat: Update.
3433         * djgpp/config.sed: Update.
3434         * djgpp/fnchange.in, djgpp/fnchange.lst: Update.
3436 2003-01-31  Bruno Haible  <bruno@clisp.org>
3438         * src/Makefile.in (all): Don't do the chmod if it has already been
3439         done.
3441 2003-01-31  Bruno Haible  <bruno@clisp.org>
3443         * lib/loop_unicode.h (unicode_transliterate): Enable recursive
3444         transliteration. Idea from Perry Rapp.
3445         * lib/gentranslit.c (main): Change bound from 0x10000 to 0x110000.
3446         Change element type of translit_data to 'unsigned int'.
3447         * lib/translit.def: Many new transliterations, mostly taken from glibc.
3448         * lib/translit.h: Regenerated.
3449         * tests/Translit1.ISO-8859-1, tests/Translit1.ASCII: New files.
3450         * tests/Makefile.in (check): Add Translit1 check.
3451         * tests/Makefile.msvc (check): Likewise.
3452         * tests/Makefile.os2 (check): Likewise.
3453         * tests/TranslitFail1.ISO-8859-1: Choose a sentence which the new
3454         improved transliteration cannot do.
3456 2003-02-14  Bruno Haible  <bruno@clisp.org>
3458         * Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
3459         (configure): Update rule.
3461 2003-01-03  Albert Chin  <libtool@thewrittenword.com>
3463         * autoconf/ltmain.sh: Don't pass -R flags found in a .la's
3464         dependency_libs variable directly down to the linker.
3465         Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
3467 2003-01-01  Bruno Haible  <bruno@clisp.org>
3469         * src/Makefile.in (install): Use libiconv.la in ../lib, not in
3470         $(libdir), so that installing with DESTDIR works.
3471         Reported by Michael Adams <michael@michaeladams.org>.
3473 2003-01-01  Bruno Haible  <bruno@clisp.org>
3475         * Makefile.in (mkinstalldirs): New variable.
3476         (install-lib, install, installdirs): Use it instead of mkdir.
3477         * lib/Makefile.in (mkinstalldirs): New variable.
3478         (install-lib, install, installdirs): Use it instead of mkdir.
3479         * man/Makefile.in (mkinstalldirs): New variable.
3480         (install, installdirs): Use it instead of mkdir.
3481         * src/Makefile.in (mkinstalldirs): New variable.
3482         (install, installdirs): Use it instead of mkdir.
3484 2002-09-27  Bruno Haible  <bruno@clisp.org>
3486         * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
3488 2002-11-07  Bruno Haible  <bruno@clisp.org>
3490         * m4/libtool.m4: Upgrade to libtool-1.4.3.
3491         * autoconf/ltmain.sh: Upgrade to libtool-1.4.3.
3493 2002-07-14  Bruno Haible  <bruno@clisp.org>
3495         * m4/libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
3497 2002-06-12  Bruno Haible  <bruno@clisp.org>
3499         * configure.in: Use new AC_* names of libtool macros. Invoke
3500         AC_LIBTOOL_WIN32_DLL.
3502 2002-12-19  Bruno Haible  <bruno@clisp.org>
3504         * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if using gcc.
3505         Reported by Henry Nelson <henry@irm.nara.kindai.ac.jp>.
3507 2002-11-07  Bruno Haible  <bruno@clisp.org>
3509         Make "make install" without prior "make" work.
3510         * Makefile.in (lib/libcharset.h): New rule.
3511         (all, install): Depend on it.
3512         Reported by Martin Mokrejš <mmokrejs@natur.cuni.cz>.
3514 2002-10-28  Bruno Haible  <bruno@clisp.org>
3516         * man/Makefile.in (install): Change directory back to the working
3517         directory, so that install-sh (which may be a relative pathname) is
3518         found in the right place.
3520 2002-09-16  Bruno Haible  <bruno@clisp.org>
3522         * autoconf/ltmain.sh (install): Use "ln -s -f" instead of
3523         "rm -f && ln -s" to make a symlink for a shared library.
3524         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
3526 2002-09-02  Bruno Haible  <bruno@clisp.org>
3528         * src/iconv.c (main): Don't call bindtextdomain if !ENABLE_NLS.
3530 2002-08-16  Bruno Haible  <bruno@clisp.org>
3532         * src/iconv.c (main): Perform fflush before testing ferror(stdout).
3534 2002-05-29  Bruno Haible  <bruno@clisp.org>
3536         * Version 1.8 released.
3538 2002-05-26  Bruno Haible  <bruno@clisp.org>
3540         * lib/c99.h: New file.
3541         * lib/converters.h: Include it.
3542         * lib/encodings.def (C99): New encoding.
3543         * README, man/iconv_open.3: Document C99 encoding.
3545 2002-05-26  Bruno Haible  <bruno@clisp.org>
3547         * lib/java.h (java_mbtowc): Accept 12-byte sequences for non-BMP
3548         characters.
3549         (java_wctomb): Produce 12-byte sequences for non-BMP characters.
3551 2002-05-29  Bruno Haible  <bruno@clisp.org>
3553         Fix installation of iconv program when linked with a libintl that was
3554         built against an earlier libiconv.
3555         * src/iconv.c: Conditionally disable NLS.
3556         * src/iconv_no_i18n.c: New file.
3557         * src/Makefile.in (libdir): New variable.
3558         (all): Depend on iconv_no_i18n, iconv.@OBJEXT@ but not iconv. Make
3559         directory writable, so iconv executable can be created during "make
3560         install".
3561         (iconv): Remove rule.
3562         (iconv_no_i18n, iconv_no_i18n.@OBJEXT@): New rules.
3563         (install): Link iconv now, after the new libiconv.so is installed.
3564         (clean): Also remove iconv_no_i18n.
3565         * tests/Makefile.in: (check, check-extra-yes): Depend on iconv_no_i18n,
3566         not iconv.
3567         * tests/check-stateful: Use iconv_no_i18n, not iconv.
3568         * tests/check-translit: LIkewise.
3569         * tests/check-translitfailure: Likewise.
3571 2002-05-29  Bruno Haible  <bruno@clisp.org>
3573         * configure.in: Call AC_PROG_INSTALL instead of CL_PROG_INSTALL.
3574         * m4/install.m4: Remove file.
3575         * Makefile.devel (autoconf/aclocal.m4): Don't depend on m4/install.m4.
3577 2002-05-24  Bruno Haible  <bruno@clisp.org>
3579         * lib/jisx0213.h: Use 'inline' only conditionally.
3581 2002-05-18  Bruno Haible  <bruno@clisp.org>
3583         * configure.in (AC_INIT), include/iconv.h.in (_LIBICONV_VERSION),
3584         README, windows/iconv.rc, djgpp/README, djgpp/fnchange.lst:
3585         Bump version number.
3586         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 3:0:1.
3588 2002-02-06  Bruno Haible  <bruno@clisp.org>
3590         * autoconf/ltmain.sh: Upgrade from libtool-1.4 to libtool-1.4.2.
3592 2002-02-02  Bruno Haible  <bruno@clisp.org>
3594         * autoconf/ltmain.sh: Add DESTDIR support on ELF systems.
3596 2001-11-03  Bruno Haible  <haible@clisp.cons.org>
3598         * autoconf/ltmain.sh: chmod 777 the .libs directory, so that
3599         "make install" succeeds.
3601 2002-05-18  Bruno Haible  <bruno@clisp.org>
3603         * src/Makefile.in (iconv): Remove the -liconv dependency of -lintl
3604         from the command line. Needed to ensure that the new libiconv version
3605         is used on FreeBSD.
3607 2002-05-14  Bruno Haible  <bruno@clisp.org>
3609         Implement and document CP853, TDS565, RISCOS-LATIN1.
3610         * tools/Makefile (ALL): Add cp853.h, tds565.h, riscos1.h.
3611         (cp853.h, tds565.h, riscos1.h): New rules.
3612         * lib/cp853.h: New file.
3613         * lib/tds565.h: New file.
3614         * lib/riscos1.h: New file.
3615         * lib/converters.h: Include them.
3616         * lib/encodings_dos.def (CP853): New encoding.
3617         * lib/encodings_extra.def (TDS565, RISCOS-LATIN1): New encodings.
3618         * README, man/iconv_open.3: Add CP853, TDS565, RISCOS-LATIN1.
3619         * tests/Makefile.in (check-extra-yes): Check CP853, TDS565,
3620         RISCOS-LATIN1.
3621         * tests/Makefile.msvc (check): Check CP853.
3622         * tests/CP853.TXT: New file.
3623         * tests/TDS565.TXT: New file.
3624         * tests/RISCOS-LATIN1.TXT: New file.
3626         * lib/cp860.h (cp860_wctomb): Optimize.
3628 2002-05-12  Bruno Haible  <bruno@clisp.org>
3630         * tools/Makefile (ksc5601.h): Add two extra characters.
3631         * lib/ksc5601.h: Regenerated.
3632         * tests/EUC-KR.TXT: Add EURO SIGN and REGISTERED SIGN.
3633         * tests/CP949.TXT: Likewise.
3634         * tests/JOHAB.TXT: Likewise.
3636 2002-05-12  Bruno Haible  <bruno@clisp.org>
3638         * README: Mention extra encodings.
3639         * man/iconv_open.3: Likewise. Improve formatting in text and html
3640         output formats.
3642 2002-05-12  Bruno Haible  <bruno@clisp.org>
3644         * tests/SHIFT_JIS.TXT: Renamed from tests/SHIFT-JIS.TXT.
3646 2002-05-12  Bruno Haible  <bruno@clisp.org>
3648         * Makefile.devel (AUTOCONF): New variable.
3649         (AUTOCONF_FILES): Remove autoconf/autoconf.m4f.
3650         (configure): Use the AUTOCONF variable.
3651         * autoconf/autoconf: Remove file.
3652         * autoconf/autoconf.m4: Remove file.
3653         * autoconf/autoconf.m4f: Remove file.
3655 2002-05-12  Bruno Haible  <bruno@clisp.org>
3657         * tools/JISX0213.TXT: New file.
3658         * tools/cjk_tab_to_h.c (do_jisx0213): New function.
3659         (main): Accept "jisx0213".
3660         * tools/Makefile (all): Add jisx0213.h.
3661         (jisx0213.h): New rule.
3662         * lib/jisx0213.h: New file, generated by cjk_tab_to_h.
3663         * lib/euc_jisx0213.h: New file.
3664         * lib/shift_jisx0213.h: New file.
3665         * lib/iso2022_jp3.h: New file.
3666         * lib/converters.h: Include them.
3667         * lib/encodings_extra.def (EUC-JISX0213, SHIFT_JISX0213,
3668         ISO-2022-JP-3): New encodings.
3669         * tests/EUC-JISX0213.TXT: New file.
3670         * tests/SHIFT_JISX0213.TXT: New file.
3671         * tests/ISO-2022-JP-3-snippet: New file.
3672         * tests/ISO-2022-JP-3-snippet.UTF-8: New file.
3673         * tests/Makefile.in (check-extra): Also check EUC-JISX0213,
3674         SHIFT_JISX0213, ISO-2022-JP-3.
3675         * tests/check-stateless: Add support for encodings which contain
3676         precomposed Unicode characters, by eliminating precomposed characters
3677         before the comparison.
3678         * tests/table-from.c (main): Fix usage message.
3679         * tests/table-to.c (main): Make it work for encodings for which the
3680         "to" direction is stateful.
3682 2002-05-09  Bruno Haible  <bruno@clisp.org>
3684         New configure option --enable-extra-encodings.
3685         * lib/encodings_extra.def: New file.
3686         * lib/converters.h: Handle USE_EXTRA.
3687         * lib/genaliases2.c (main): Handle USE_EXTRA.
3688         * lib/genflags.c: Define USE_EXTRA.
3689         (main): Include encodings_extra.def.
3690         * lib/iconv.c: Handle ENABLE_EXTRA, conditionally set USE_EXTRA.
3691         Handle USE_EXTRA.
3692         * lib/config.h.in (ENABLE_EXTRA): New macro.
3693         * configure.in: Accept option --enable-extra-encodings.
3694         * Makefile.devel (all): Depend on lib/aliases_extra.h.
3695         (lib/aliases_extra.h): New rule.
3696         (lib/flags.h): Depend on lib/encodings_extra.def.
3697         * tests/Makefile.in (check-extra, check-extra-no, check-extra-yes):
3698         New rules.
3699         (check): Invoke check-extra.
3700         * tests/Makefile.msvc (check): Also check the DOS encodings.
3702         Support for testing the AIX encodings.
3703         * tests/CP856.TXT: New file.
3704         * tests/CP922.TXT: New file.
3705         * tests/CP1046.TXT: New file.
3706         * tests/CP1124.TXT: New file.
3707         * tests/CP1129.TXT: New file.
3708         * tests/CP1161.TXT, tests/CP1161.IRREVERSIBLE.TXT: New files.
3709         * tests/CP1162.TXT: New file.
3710         * tests/CP1163.TXT, tests/CP1163.IRREVERSIBLE.TXT: New files.
3712         Support for testing the OSF/1 encodings.
3713         * tests/DEC-KANJI.TXT: New file.
3714         * tests/DEC-HANYU.TXT, tests/DEC-HANYU.IRREVERSIBLE.TXT: New files.
3716         Support for testing the DOS encodings.
3717         * tests/CP437.TXT: New file.
3718         * tests/CP737.TXT: New file.
3719         * tests/CP775.TXT: New file.
3720         * tests/CP852.TXT: New file.
3721         * tests/CP855.TXT: New file.
3722         * tests/CP857.TXT: New file.
3723         * tests/CP858.TXT: New file.
3724         * tests/CP860.TXT: New file.
3725         * tests/CP861.TXT: New file.
3726         * tests/CP863.TXT: New file.
3727         * tests/CP864.TXT: New file.
3728         * tests/CP865.TXT: New file.
3729         * tests/CP869.TXT: New file.
3730         * tests/CP1125.TXT: New file.
3732 2002-05-09  Bruno Haible  <bruno@clisp.org>
3734         Implement more ASCII compatible DOS encodings.
3735         * tools/Makefile (ALL): Add cp737.h, cp858.h, cp860.h, cp863.h.
3736         (cp737.h, cp858.h, cp860.h, cp863.h): New rules.
3737         * lib/cp737.h: New file.
3738         * lib/cp858.h: New file.
3739         * lib/cp860.h: New file.
3740         * lib/cp863.h: New file.
3741         * lib/converters.h: Include them.
3742         * lib/encodings_dos.def (CP737, CP858, CP860, CP863): New encodings.
3744 2002-05-09  Bruno Haible  <bruno@clisp.org>
3746         Implement new ASCII compatible encodings from IBM.
3747         * tools/Makefile (ALL): Add cp1161.h, cp1162.h, cp1163.h.
3748         (cp1161.h, cp1162.h, cp1163.h): New rules.
3749         * lib/cp1161.h: New file.
3750         * lib/cp1162.h: New file.
3751         * lib/cp1163.h: New file.
3752         * lib/converters.h: Include them.
3753         * lib/encodings_aix.def (CP1161, CP1162, CP1163): New encodings.
3755 2002-05-09  Bruno Haible  <bruno@clisp.org>
3757         Implement and document KOI8-T.
3758         * tools/Makefile (ALL): Add koi8_t.h.
3759         (koi8_t.h): New rule.
3760         * lib/koi8_t.h: New file.
3761         * lib/converters.h: Include it.
3762         * lib/encodings.def (KOI8-T): New encoding.
3763         * README, man/iconv_open.3: Add KOI8-T.
3764         * tests/Makefile.in (tests): Check KOI8-T.
3765         * tests/Makefile.os2 (tests): Likewise.
3766         * tests/Makefile.msvc (tests): Likewise.
3767         * tests/KOI8-T.TXT: New file.
3769 2002-05-09  Bruno Haible  <bruno@clisp.org>
3771         * tools/8bit_tab_to_h.c (main): Update copyright year.
3772         * tools/cjk_variants.c (main): Likewise.
3774 2002-05-08  Bruno Haible  <bruno@clisp.org>
3776         * README.woe32: Renamed from README.win32.
3778 2002-05-08  Bruno Haible  <bruno@clisp.org>
3780         * lib/iconv.c: Enable DOS encodings also when compiling for Woe32,
3781         because the Woe32 consoles use them.
3783 2002-05-04  Bruno Haible  <bruno@clisp.org>
3785         * lib/loop_unicode.h (unicode_loop_convert): When quitting the loop
3786         without writing an output character, restore cd->istate to its value
3787         before the xxx_mbtowc call. Otherwise we lose some characters during
3788         CP1255/CP1258/TCVN to Unicode conversion.
3789         (unicode_loop_reset): Likewise for the xxx_flushwc call.
3790         * tests/CP1255-snippet, tests/CP1255-snippet.UTF-8: Make the test
3791         files large enough to test against the bug.
3792         * tests/CP1258-snippet, tests/CP1258-snippet.UTF-8: Likewise.
3793         * tests/TCVN-snippet, tests/TCVN-snippet.UTF-8: Likewise.
3795 2002-04-28  Bruno Haible  <bruno@clisp.org>
3797         * tools/Makefile (armscii_8.h): Use table from glibc-2.2.90.
3798         * tests/ARMSCII-8.TXT: Update to glibc-2.2.90 version.
3799         * tests/ARMSCII-8.IRREVERSIBLE.TXT: Remove 0x0027.
3800         * lib/armscii_8.h: Regenerated.
3802 2002-04-28  Bruno Haible  <bruno@clisp.org>
3804         * src/iconv.c: Include gettext.h.
3805         (_): New macro.
3806         (usage, print_version, convert, main): Internationalize.
3807         (main): Call setlocale, bindtextdomain, textdomain.
3808         * src/gettext.h: New file, from GNU gettext 0.11.2.
3809         * src/config.h.in: New file, needed for ENABLE_NLS.
3810         * src/Makefile.in (datadir, localedir): New variables.
3811         (iconv): Link with @LTLIBINTL@.
3812         (iconv.@OBJEXT@): Define LOCALEDIR.
3813         (distclean): Remove config.h.
3814         * po: New directory.
3815         * Makefile.in (all, install, installdirs, uninstall, check,
3816         mostlyclean, clean, distclean, maintainer-clean): Recurse into the po
3817         directory.
3818         * autoconf/mkinstalldirs: New file, from automake-1.5.
3819         * ABOUT-NLS: New file, from GNU gettext 0.11.2.
3820         * m4/codeset.m4: New file, from GNU gettext 0.11.2.
3821         * m4/gettext.m4: New file, from GNU gettext 0.11.2.
3822         * m4/glibc21.m4: New file, from GNU gettext 0.11.2.
3823         * m4/isc-posix.m4: New file, from GNU gettext 0.11.2.
3824         * m4/lcmessage.m4: New file, from GNU gettext 0.11.2.
3825         * m4/progtest.m4: New file, from GNU gettext 0.11.2.
3826         * configure.in: Require autoconf-2.52, needed for multiple config.h.in
3827         files. Use new form of AC_INIT. Invoke AM_GNU_GETTEXT.
3828         (PACKAGE, VERSION): Define, needed for po/Makefile.in.in.
3829         * lib/config.h.in (HAVE_LOCALE_H, HAVE_SETLOCALE): Remove.
3831 2002-04-28  gettextize  <bug-gnu-gettext@gnu.org>
3833         * configure.in (AC_OUTPUT): Add po/Makefile.in.
3835 2002-04-28  Bruno Haible  <bruno@clisp.org>
3837         * m4/eilseq.m4: Renamed from autoconf/eilseq.m4.
3838         * m4/mbstate_t.m4: Renamed from autoconf/mbstate_t.m4.
3839         * m4/general.m4: New file, from GNU clisp.
3840         * m4/proto.m4: New file, from GNU clisp.
3841         * m4/ranlib.m4: New file, from GNU clisp.
3842         * m4/install.m4: New file, from GNU clisp.
3843         * m4/cp.m4: New file, from GNU clisp.
3844         * m4/ln.m4: New file, from GNU clisp.
3845         * m4/endian.m4: New file, from GNU clisp.
3846         * m4/iconv.m4: New file, from GNU gettext 0.11.2.
3847         * m4/lib-ld.m4: New file, from GNU gettext 0.11.2.
3848         * m4/lib-link.m4: New file, from GNU gettext 0.11.2.
3849         * m4/lib-prefix.m4: New file, from GNU gettext 0.11.2.
3850         * autoconf/config.rpath: New file, from GNU gettext 0.11.2.
3851         * m4/libtool.m4: New file, based on libtool-1.4.2.
3852         * Makefile.devel (ACLOCAL): Remove variable.
3853         (ACSELECT): Remove variable.
3854         (OTHERMACROS): Remove variable.
3855         (m4/*.m4): New rules.
3856         (autoconf/aclocal.m4): Construct using aclocal instead of acselect.
3857         * configure.in: Invoke AM_ICONV instead of CL_ICONV.
3859 2002-04-06  Bruno Haible  <bruno@clisp.org>
3861         Upgrade to Unicode 3.2.
3862         * tools/cjk_tab_to_h.c (output_title): Bump copyright year.
3863         (compact_large_charset2uni): Add an argument. Determine optimal shift.
3864         Copy modified enc->charset2uni table.
3865         (output_charset2uni): Deal with shift other than 8. Copy encoding, so
3866         as to not disturb subsequent output_uni2charset[_sparse] call.
3867         * lib/hkscs.h: Regenerated.
3868         * tests/BIG5-HKSCS.TXT: Update.
3869         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Update.
3871 2002-04-06  Bruno Haible  <bruno@clisp.org>
3873         Upgrade to Unicode 3.2.
3874         * tools/Makefile (cns11643_1.h, cns11643_2.h, cns11643_3.h,
3875         cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
3876         cns11643_7.h, cns11643_15.h, cns11643_inv.h): Use
3877         CNS11643-Unicode32.TXT instead of CNS11643-Unicode31.TXT.
3878         * lib/cns11643_3.h: Regenerated.
3879         * lib/cns11643_4a.h: Regenerated.
3880         * lib/cns11643_4b.h: Regenerated.
3881         * lib/cns11643_5.h: Regenerated.
3882         * lib/cns11643_6.h: Regenerated.
3883         * lib/cns11643_7.h: Regenerated.
3884         * lib/cns11643_15.h: Regenerated.
3885         * lib/cns11643_inv.h: Regenerated.
3886         * tests/EUC-TW.TXT: Update.
3888 2002-01-17  Bruno Haible  <bruno@clisp.org>
3890         * lib/tcvn.h (tcvn_2uni_1): Make it smaller.
3891         (tcvn_mbtowc): Small optimization.
3893 2002-01-13  Bruno Haible  <bruno@clisp.org>
3895         New options -l, -c, -s.
3896         * src/iconv.c (discard_unconvertible, silent): New variables.
3897         (usage): Document options -l, -c, -s.
3898         (print_one): New function.
3899         (convert): If silent is true, don't print error messages about the
3900         conversion to stderr. If discard_unconvertible is true, set the
3901         iconv descriptor to DISCARD_ILSEQ the first time, but make sure to
3902         return the same return code as when discard_unconvertible is false.
3903         (main): Accept options -l, -c, -s. Implement option -l.
3904         * man/iconv.1: Document options -l, -c, -s.
3906 2002-01-13  Bruno Haible  <bruno@clisp.org>
3908         Support for "iconv -c".
3909         * include/iconv.h.in (ICONV_GET_DISCARD_ILSEQ): New macro.
3910         (ICONV_SET_DISCARD_ILSEQ): Likewise.
3911         * lib/converters.h (struct conv_struct): New field discard_ilseq.
3912         * lib/iconv.c (iconv_open): Set discard_ilseq to true if tocode
3913         has an "//IGNORE" suffix, and to false otherwise.
3914         (iconvctl): Implement ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ.
3915         * lib/loop_unicode.h (unicode_loop_convert): If discard_ilseq is
3916         true, skip one input character instead of returning EILSEQ.
3917         (unicode_loop_reset): Likewise.
3918         * lib/loop_wchar.h (wchar_from_loop_convert): Likewise.
3919         (wchar_to_loop_convert): Likewise.
3921 2002-01-13  Bruno Haible  <bruno@clisp.org>
3923         Support for "iconv -l".
3924         * include/iconv.h.in (iconvlist): New declaration.
3925         * Makefile.devel (lib/aliases.h): Change gperf options.
3926         * lib/iconv.c (compare_by_index, compare_by_name, iconvlist): New
3927         functions.
3929 2002-01-06  Bruno Haible  <bruno@clisp.org>
3931         * lib/loop_unicode.h (unicode_transliterate): If the transliteration
3932         fails due to limited output encoding, return RET_ILUNI, not
3933         RET_TOOSMALL. Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
3934         * tests/check-translitfailure: New file.
3935         * tests/TranslitFail1.ISO-8859-1: New file.
3936         * tests/Makefile.in (check): Call check-translitfailure.
3938 2001-12-15  Bruno Haible  <bruno@clisp.org>
3940         * lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for
3941         Shift_JIS characters 0x5C and 0x7E.
3942         * tests/EUC-JP.IRREVERSIBLE.TXT: New file.
3944 2001-12-05  Bruno Haible  <bruno@clisp.org>
3946         * lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid
3947           endless loop if locale_charset() returns the empty string.
3948         * README, man/iconv_open.3: Add the empty encoding name.
3950 2001-11-10  Bruno Haible  <haible@clisp.cons.org>
3952         * lib/Makefile.in (libiconv_plug_linux.so): Allow building it with a
3953           non-gcc compiler.
3955 2001-10-23  Bruno Haible  <haible@clisp.cons.org>
3957         * tools/Makefile (cp1125.h): New target.
3958           (ALL): Add it.
3959         * lib/cp1125.h: New file.
3960         * lib/converters.h: Include it.
3961         * lib/encodings_dos.def (CP1125): New encoding.
3963 2001-09-08  Bruno Haible  <haible@clisp.cons.org>
3965         * autoconf/eilseq.m4: New file.
3966         * Makefile.devel (OTHERMACROS): Add it.
3967         * configure.in: Call AC_EILSEQ.
3968         * include/iconv.h.in (EILSEQ): Define to the autoconf determined value.
3970 2001-08-25  Bruno Haible  <haible@clisp.cons.org>
3972         Upgrade to autoconf-2.52.
3973         * autoconf/autoconf: Upgrade to autoconf-2.52.
3974         * autoconf/acgeneral.m4: Remove file.
3975         * autoconf/acspecific.m4: Remove file.
3976         * autoconf/autoconf.m4f: New file, from autoconf-2.52.
3977         * autoconf/aclocal.m4: Require autoconf-2.52.
3978         (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
3979         AC_CANONICAL_HOST does it itself. Add $SHELL in front of
3980         $ac_config_guess and $ac_config_sub.
3981         * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
3982         Add autoconf.m4f.
3983         (configure): Use autoconf options -A, -l instead of -m.
3984         * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS.
3986 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
3988         * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
3989         (AC_LANG_EXTERN): Move to aclocal.m4.
3990         * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
3991         (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
3992         (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
3994 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
3996         Make it possible to build libiconv with CC=gcc CFLAGS="-x c++".
3997         * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable
3998         'try' to 'incount'.
3999         * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option
4000         between sources and libs.
4001         (libiconv_plug_solaris.so) [GCC]: Likewise.
4002         (libiconv_plug_osf.so) [GCC]: Likewise.
4003         * src/Makefile.in (iconv.@OBJEXT@): New rule.
4004         (iconv): Depend on it.
4005         (clean): Erase *.@OBJEXT@, not *.o.
4006         * tests/Makefile.in (table-from.@OBJEXT@): New rule.
4007         (table-from): Depend on it.
4008         (table-to.@OBJEXT@): New rule.
4009         (table-to): Depend on it.
4010         (clean): Erase *.@OBJEXT@, not *.o.
4012 2001-07-28  Bruno Haible  <haible@clisp.cons.org>
4014         * tools/Makefile (iso8859_16.h): Generate from the unicode.org table.
4015         * lib/iso8859_16.h: Regenerated.
4016         * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB.
4018 2001-07-17  Bruno Haible  <haible@clisp.cons.org>
4020         * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint.
4022 2001-07-03  Bruno Haible  <haible@clisp.cons.org>
4024         * configure.in: Also check for mbsinit.
4025         * lib/loop_wchar.h (mbsinit): Define to 1 if not defined.
4026         Needed for SCO 3.2v5.0.2.
4028 2001-06-27  Bruno Haible  <haible@clisp.cons.org>
4030         * Version 1.7 released.
4032 2001-06-27  Bruno Haible  <haible@clisp.cons.org>
4034         * INSTALL.generic (Particular Systems): Generalize section about
4035         /usr/local to "most systems".
4037         * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because
4038         Solaris cc destroys iconv.o and iconv.lo while building
4039         libiconv_plug_solaris.so.
4040         (clean): Remove so_locations, left there by the OSF/1 linker.
4042         * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
4044         * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
4045         'unsigned short'.
4047         * tests/table-from.c: Include string.h.
4048         * tests/table-to.c: Likewise.
4050 2001-06-26  Bruno Haible  <haible@clisp.cons.org>
4052         * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
4053         (jisx0212.h): Replace U+007E with U+FF5E.
4054         * lib/jisx0208.h: Regenerated.
4055         * lib/jisx0212.h: Regenerated.
4056         * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E.
4057         * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file.
4058         * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C.
4059         * tests/CP932.TXT: Likewise.
4060         * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible.
4062 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4064         * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and
4065         $(CPPFLAGS).
4066         * src/Makefile.msvc (iconv.exe): Likewise.
4067         * src/Makefile.os2 (iconv.exe): Likewise.
4068         * lib/Makefile.in (libiconv_plug_linux.so): Likewise.
4069         (libiconv_plug_solaris.so): Likewise.
4070         (libiconv_plug_osf.so): Likewise.
4071         (iconv.lo): Likewise.
4072         * lib/Makefile.msvc (iconv.obj): Likewise.
4073         * lib/Makefile.os2 (iconv.obj): Likewise.
4074         * tests/Makefile.in (table-from, table-to): Likewise.
4075         * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise.
4076         * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise.
4077         (genutf8.exe): Don't use $(INCLUDES).
4079 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4081         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
4082           Bump version number.
4083         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0.
4085 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4087         * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir.
4089 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
4091         * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS.
4093 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
4095         * autoconf/ltmain.sh: Upgrade to libtool-1.4.
4096         * autoconf/ltconfig: Remove file.
4098 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
4100         * autoconf/config.guess: Update to GNU version 2001-05-11.
4101         * autoconf/config.sub: Likewise.
4103 2001-06-03  Bruno Haible  <haible@clisp.cons.org>
4105         * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag
4106           characters if they cannot be converted.
4107           (unicode_loop_reset): Likewise.
4108         * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE,
4109            STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k,
4110            STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh):
4111           New macros.
4112           (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb
4113           direction.
4114           (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag.
4115           If "ja", prefer conversion to Japanese character sets. If "zh",
4116           prefer conversion to GB2312. If "ko", prefer conversion to KSC5601.
4118         * lib/converters.h (RET_ILUNI): Change value from 0 to -1.
4119           (RET_TOOSMALL): Change value from -1 to -2.
4120         * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to
4121           return 0 written bytes.
4123 2001-06-06  Bruno Haible  <haible@clisp.cons.org>
4125         * lib/encodings.def: Align with IANA character-set registry.
4126           (US-ASCII): Add alias "ANSI_X3.4-1986".
4127           (ISO-8859-14): Add alias "ISO-CELTIC".
4128           (JIS_X0208): Add alias "JIS_C6226-1983".
4129           (BIG5HKSCS): Add alias "BIG5-HKSCS".
4130         * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS.
4131         * tests/Makefile.in (check): Likewise.
4132         * tests/Makefile.os2 (check): Likewise.
4133         * tests/Makefile.msvc (check): Likewise.
4134         * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT.
4135         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from
4136           BIG5HKSCS.IRREVERSIBLE.TXT.
4138 2001-06-02  Bruno Haible  <haible@clisp.cons.org>
4140         * tools/cjk_tab_to_h.c (Encoding): Add fffd field.
4141           (is_charset2uni_large, compact_large_charset2uni): New functions.
4142           (find_charset2uni_pages): Use enc->fffd instead of 0xfffd.
4143           (output_charset2uni): If mapping to more than the Unicode BMP,
4144           use an extra indirection to keep each value in 16 bits.
4145           (invert): Bump limit from U+10000 to U+30000.
4146           (output_uni2charset_dense): Likewise.
4147           (output_uni2charset_sparse): Likewise. If mapping to more than one
4148           CJK plane, use three bytes per value instead of two bytes.
4149           (byte_row_cns11643): Allow more than 3 CJK planes.
4150           (do_cns11643_only_uni2charset): Increase number of rows, to include
4151           plane 15. Remove plane bits hack.
4152           (main): Accept names cns11643_4a,4b,5,6,7,15 as well.
4153         * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h,
4154           cns11643_6.h, cns11643_7.h, cns11643_15.h.
4155           (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1
4156           derived table.
4157           (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
4158            cns11643_7.h, cns11643_15.h): New rules.
4159           (cns11643_inv.h): Change title.
4160         * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table.
4161         * lib/cns11643_3.h: Likewise.
4162         * lib/cns11643_4a.h: New file.
4163         * lib/cns11643_4b.h: New file.
4164         * lib/cns11643_4.h: New file.
4165         * lib/cns11643_5.h: New file.
4166         * lib/cns11643_6.h: New file.
4167         * lib/cns11643_7.h: New file.
4168         * lib/cns11643_15.h: New file.
4169         * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table.
4170           (cns11643_inv_wctomb): Return 3 bytes now.
4171         * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h,
4172           cns11643_7.h, cns11643_15.h.
4173           (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return
4174           plane number starting at 1, not 0.
4175         * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb
4176           change.
4177         * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as
4178           well.
4179           (euc_tw_wctomb): Update for cns11643_wctomb change.
4180         * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
4181         * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes
4182           4,5,6,7 as well.
4183           (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change.
4184           Try CNS11643 planes 4,5,6,7 as well.
4185         * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15.
4186         * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1.
4187           Add U+5344.
4189 2001-06-01  Bruno Haible  <haible@clisp.cons.org>
4191         * tests/table-from.c (bmp_only): New variable.
4192           (ucs4_decode): If bmp_only, don't return characters outside Unicode
4193           plane 0.
4194           (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
4195           a conversion line if ucs4_decode returns NULL.
4196         * tests/table-to.c (main): When testing encodings other than UTF-8 and
4197           GB18030, loop upto U+30000 instead of U+10000.
4199 2001-05-24  Bruno Haible  <haible@clisp.cons.org>
4201         * lib/converters.h (mbtowc_funcs): Add flushwc member function.
4202         * lib/flushwc.h: New file.
4203         * lib/cp1255.h: Include flushwc.h.
4204           (cp1255_comp_table_data, cp1255_comp_table): New arrays.
4205           (cp1255_mbtowc): Compose base and combining characters.
4206           (cp1255_flushwc): New macro.
4207         * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays.
4208         * lib/cp1258.h: Include flushwc.h.
4209           (cp1258_mbtowc): Compose base and combining characters.
4210           (cp1258_flushwc): New macro.
4211         * lib/tcvn.h: Include flushwc.h.
4212           (tcvn_mbtowc): Compose base and combining characters.
4213           (tcvn_flushwc): New macro.
4214         * lib/loop_unicode.h: (unicode_transliterate): New function, extracted
4215           from unicode_loop_convert.
4216           (unicode_loop_convert): Use unicode_transliterate.
4217           (unicode_loop_reset): Call xxx_flushwc and output the resulting
4218           character.
4219         * lib/encodings.def: Add xxx_flushwc member.
4220         * lib/encodings_aix.def: Likewise.
4221         * lib/encodings_dos.def: Likewise.
4222         * lib/encodings_local.def: Likewise.
4223         * lib/encodings_osf1.def: Likewise.
4224         * lib/genaliases.c: Add an argument to the DEFENCODING macro.
4225         * lib/genaliases2.c: Likewise.
4226         * lib/genflags.c: Likewise.
4227         * lib/iconv.c: Likewise.
4228         * tests/table-from.c (try): Reset the iconv descriptor before the main
4229           call, and flush it afterwards.
4230           (ucs4_decode): New function.
4231           (main): Allow up to 3 Unicode characters output. Call ucs4_decode.
4232         * tests/CP1255-snippet: New file.
4233         * tests/CP1255-snippet.UTF-8: New file.
4234         * tests/CP1258-snippet: New file.
4235         * tests/CP1258-snippet.UTF-8: New file.
4236         * tests/TCVN-snippet: New file.
4237         * tests/TCVN-snippet.UTF-8: New file.
4238         * tests/Makefile.in (check): Check combining behaviour of CP1255,
4239           CP1258, TCVN.
4240         * tests/Makefile.msvc (check): Likewise.
4241         * tests/Makefile.os2 (check): Likewise.
4243 2001-05-22  Bruno Haible  <haible@clisp.cons.org>
4245         * lib/converters.h (RET_ILUNI): New macro.
4246           (RET_ILSEQ): Change value to -1.
4247           (RET_TOOFEW): Change value.
4248         * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead
4249           of 0. Update handling of xxx_mbtowc return value.
4250         * lib/genflags.c (emit_encoding): Likewise.
4251         * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ.
4252         * lib/armscii_8.h (armscii_8_wctomb): Likewise.
4253         * lib/big5.h (big5_wctomb): Likewise.
4254         * lib/big5hkscs.h (big5hkscs_wctomb): Likewise.
4255         * lib/ces_big5.h (ces_big5_wctomb): Likewise.
4256         * lib/ces_gbk.h (ces_gbk_wctomb): Likewise.
4257         * lib/cns11643.h (cns11643_wctomb): Likewise.
4258         * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise.
4259         * lib/cp437.h (cp437_wctomb): Likewise.
4260         * lib/cp775.h (cp775_wctomb): Likewise.
4261         * lib/cp850.h (cp850_wctomb): Likewise.
4262         * lib/cp852.h (cp852_wctomb): Likewise.
4263         * lib/cp855.h (cp855_wctomb): Likewise.
4264         * lib/cp856.h (cp856_wctomb): Likewise.
4265         * lib/cp857.h (cp857_wctomb): Likewise.
4266         * lib/cp861.h (cp861_wctomb): Likewise.
4267         * lib/cp862.h (cp862_wctomb): Likewise.
4268         * lib/cp864.h (cp864_wctomb): Likewise.
4269         * lib/cp865.h (cp865_wctomb): Likewise.
4270         * lib/cp866.h (cp866_wctomb): Likewise.
4271         * lib/cp869.h (cp869_wctomb): Likewise.
4272         * lib/cp874.h (cp874_wctomb): Likewise.
4273         * lib/cp922.h (cp922_wctomb): Likewise.
4274         * lib/cp932ext.h (cp932ext_wctomb): Likewise.
4275         * lib/cp932.h (cp932_wctomb): Likewise.
4276         * lib/cp936ext.h (cp936ext_wctomb): Likewise.
4277         * lib/cp949.h (cp949_wctomb): Likewise.
4278         * lib/cp950ext.h (cp950ext_wctomb): Likewise.
4279         * lib/cp950.h (cp950_wctomb): Likewise.
4280         * lib/cp1046.h (cp1046_wctomb): Likewise.
4281         * lib/cp1124.h (cp1124_wctomb): Likewise.
4282         * lib/cp1129.h (cp1129_wctomb): Likewise.
4283         * lib/cp1133.h (cp1133_wctomb): Likewise.
4284         * lib/cp1250.h (cp1250_wctomb): Likewise.
4285         * lib/cp1251.h (cp1251_wctomb): Likewise.
4286         * lib/cp1252.h (cp1252_wctomb): Likewise.
4287         * lib/cp1253.h (cp1253_wctomb): Likewise.
4288         * lib/cp1254.h (cp1254_wctomb): Likewise.
4289         * lib/cp1255.h (cp1255_wctomb): Likewise.
4290         * lib/cp1256.h (cp1256_wctomb): Likewise.
4291         * lib/cp1257.h (cp1257_wctomb): Likewise.
4292         * lib/cp1258.h (cp1258_wctomb): Likewise.
4293         * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise.
4294         * lib/dec_kanji.h (dec_kanji_wctomb): Likewise.
4295         * lib/euc_cn.h (euc_cn_wctomb): Likewise.
4296         * lib/euc_jp.h (euc_jp_wctomb): Likewise.
4297         * lib/euc_kr.h (euc_kr_wctomb): Likewise.
4298         * lib/euc_tw.h (euc_tw_wctomb): Likewise.
4299         * lib/gb12345ext.h (gb12345ext_wctomb): Likewise.
4300         * lib/gb12345.h (gb12345_wctomb): Likewise.
4301         * lib/gb18030ext.h (gb18030ext_wctomb): Likewise.
4302         * lib/gb18030.h (gb18030_wctomb): Likewise.
4303         * lib/gb18030uni.h (gb18030uni_wctomb): Likewise.
4304         * lib/gb2312.h (gb2312_wctomb): Likewise.
4305         * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise.
4306         * lib/gbk.h (gbk_wctomb): Likewise.
4307         * lib/georgian_academy.h (georgian_academy_wctomb): Likewise.
4308         * lib/georgian_ps.h (georgian_ps_wctomb): Likewise.
4309         * lib/hkscs.h (hkscs_wctomb): Likewise.
4310         * lib/hp_roman8.h (hp_roman8_wctomb): Likewise.
4311         * lib/hz.h (hz_wctomb): Likewise.
4312         * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise.
4313         * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
4314         * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise.
4315         * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise.
4316         * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise.
4317         * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
4318         * lib/iso646_cn.h (iso646_cn_wctomb): Likewise.
4319         * lib/iso646_jp.h (iso646_jp_wctomb): Likewise.
4320         * lib/iso8859_1.h (iso8859_1_wctomb): Likewise.
4321         * lib/iso8859_2.h (iso8859_2_wctomb): Likewise.
4322         * lib/iso8859_3.h (iso8859_3_wctomb): Likewise.
4323         * lib/iso8859_4.h (iso8859_4_wctomb): Likewise.
4324         * lib/iso8859_5.h (iso8859_5_wctomb): Likewise.
4325         * lib/iso8859_6.h (iso8859_6_wctomb): Likewise.
4326         * lib/iso8859_7.h (iso8859_7_wctomb): Likewise.
4327         * lib/iso8859_8.h (iso8859_8_wctomb): Likewise.
4328         * lib/iso8859_9.h (iso8859_9_wctomb): Likewise.
4329         * lib/iso8859_10.h (iso8859_10_wctomb): Likewise.
4330         * lib/iso8859_13.h (iso8859_13_wctomb): Likewise.
4331         * lib/iso8859_14.h (iso8859_14_wctomb): Likewise.
4332         * lib/iso8859_15.h (iso8859_15_wctomb): Likewise.
4333         * lib/iso8859_16.h (iso8859_16_wctomb): Likewise.
4334         * lib/isoir165ext.h (isoir165ext_wctomb): Likewise.
4335         * lib/isoir165.h (isoir165_wctomb): Likewise.
4336         * lib/jisx0201.h (jisx0201_wctomb): Likewise.
4337         * lib/jisx0208.h (jisx0208_wctomb): Likewise.
4338         * lib/jisx0212.h (jisx0212_wctomb): Likewise.
4339         * lib/johab.h (johab_wctomb): Likewise.
4340         * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose):
4341           Likewise.
4342         * lib/koi8_r.h (koi8_r_wctomb): Likewise.
4343         * lib/koi8_ru.h (koi8_ru_wctomb): Likewise.
4344         * lib/koi8_u.h (koi8_u_wctomb): Likewise.
4345         * lib/ksc5601.h (ksc5601_wctomb): Likewise.
4346         * lib/mac_arabic.h (mac_arabic_wctomb): Likewise.
4347         * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise.
4348         * lib/mac_croatian.h (mac_croatian_wctomb): Likewise.
4349         * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise.
4350         * lib/mac_greek.h (mac_greek_wctomb): Likewise.
4351         * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise.
4352         * lib/mac_iceland.h (mac_iceland_wctomb): Likewise.
4353         * lib/mac_roman.h (mac_roman_wctomb): Likewise.
4354         * lib/mac_romania.h (mac_romania_wctomb): Likewise.
4355         * lib/mac_thai.h (mac_thai_wctomb): Likewise.
4356         * lib/mac_turkish.h (mac_turkish_wctomb): Likewise.
4357         * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise.
4358         * lib/mulelao.h (mulelao_wctomb): Likewise.
4359         * lib/nextstep.h (nextstep_wctomb): Likewise.
4360         * lib/sjis.h (sjis_wctomb): Likewise.
4361         * lib/tcvn.h (tcvn_wctomb): Likewise.
4362         * lib/tis620.h (tis620_wctomb): Likewise.
4363         * lib/ucs2be.h (ucs2be_wctomb): Likewise.
4364         * lib/ucs2.h (ucs2_wctomb): Likewise.
4365         * lib/ucs2internal.h (ucs2internal_wctomb): Likewise.
4366         * lib/ucs2le.h (ucs2le_wctomb): Likewise.
4367         * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise.
4368         * lib/ucs4.h (ucs4_wctomb): Likewise.
4369         * lib/uhc_1.h (uhc_1_wctomb): Likewise.
4370         * lib/uhc_2.h (uhc_2_wctomb): Likewise.
4371         * lib/utf16be.h (utf16be_wctomb): Likewise.
4372         * lib/utf16.h (utf16_wctomb): Likewise.
4373         * lib/utf16le.h (utf16le_wctomb): Likewise.
4374         * lib/utf32be.h (utf32be_wctomb): Likewise.
4375         * lib/utf32.h (utf32_wctomb): Likewise.
4376         * lib/utf32le.h (utf32le_wctomb): Likewise.
4377         * lib/utf7.h (utf7_wctomb): Likewise.
4378         * lib/utf8.h (utf8_wctomb): Likewise.
4379         * lib/viscii.h (viscii_wctomb): Likewise.
4380         * tools/8bit_tab_to_h.c (main): Likewise.
4381         * tools/cjk_tab_to_h.c (output_uni2charset_dense,
4382            output_uni2charset_sparse, do_gb18030uni): Likewise.
4384 2001-05-19  Bruno Haible  <haible@clisp.cons.org>
4386         * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html.
4387           (man/%.html): New rule.
4388         * man/Makefile.in (docdir, htmldir): New variables.
4389           (install, installdirs): Install the HTML formatted man pages in
4390           $(htmldir).
4391           (uninstall): Uninstall them.
4393 2001-05-20  Bruno Haible  <haible@clisp.cons.org>
4395         * lib/cp1255.h (cp1255_decomp_table): New array.
4396           (cp1255_comb_table): New array.
4397           (cp1255_wctomb): Decompose Unicode characters.
4398         * tests/CP1255.IRREVERSIBLE.TXT: New file.
4400 2001-05-13  Bruno Haible  <haible@clisp.cons.org>
4402         * lib/vietcomb.h: New file.
4403         * lib/cp1258.h: Include it.
4404           (cp1258_comb_table): New array.
4405           (cp1258_wctomb): Decompose Unicode characters.
4406         * lib/tcvn.h: Include it.
4407           (tcvn_comb_table): New array.
4408           (tcvn_wctomb): Decompose Unicode characters.
4409         * tests/CP1258.IRREVERSIBLE.TXT: New file.
4410         * tests/TCVN.IRREVERSIBLE.TXT: New file.
4412 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
4414         * lib/Makefile.msvc (config.h): Allow the 'del' command to fail.
4415         (iconv.lib): Likewise.
4417 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
4419         * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
4420         (CPP): Remove variable.
4421         (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so,
4422          libiconv_plug_osf.so): Use LDFLAGS.
4423         (libiconv_plug_linux.so, libiconv_plug_solaris.so,
4424          libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS.
4425         * lib/Makefile.msvc (CPP): Remove variable.
4426         * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
4427         (CPP): Remove variable.
4428         (iconv): Use CPPFLAGS and LDFLAGS.
4429         * src/Makefile.msvc (CPP): Remove variable.
4430         * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
4431         (check, table-from, table-to): Use CPPFLAGS and LDFLAGS.
4432         * tests/Makefile.msvc (CPP): Remove variable.
4434 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
4436         * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using
4437           gcc. Reported by Paananen Mikko <mikkopa@cs.tut.fi>.
4439 2001-04-11  Bruno Haible  <haible@clisp.cons.org>
4441         Implement and document UTF-32, UTF-32BE, UTF-32LE.
4442         * src/utf32.h, src/utf32be.h, src/utf32le.h: New files.
4443         * src/converters.h: Include them.
4444         * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings.
4445         * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE.
4446         * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE.
4447         * tests/Makefile.os2 (check): Likewise.
4448         * tests/Makefile.msvc (check): Likewise.
4449         * tests/UTF-32*snippet*: New files.
4451         * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order.
4452           (ucs4_wctomb): Allow any 31-bit codepoint.
4454 2001-04-11  Bruno Haible  <haible@clisp.cons.org>
4456         * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including
4457           unassigned code points.
4458         * tests/table-from.c (main); When dumping GB18030, don't print code
4459           points larger than U+FFFF.
4461 2001-03-30  Bruno Haible  <haible@clisp.cons.org>
4463         * tools/Makefile (GB18030uni.TXT): Use a table source which includes
4464           the unassigned Unicode code points.
4465         * lib/gb18030uni.h: Update.
4466           (gb18030uni_ranges): Remove bitmap_offset field.
4467           (gb18030uni_bitmap): Remove array.
4468           (gb18030uni_mbtowc): Omit gb18030uni_bitmap access.
4469           (gb18030uni_wctomb): Likewise.
4470         * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000.
4471           (gb18030_wctomb): Likewise.
4473 2001-03-21  Bruno Haible  <haible@clisp.cons.org>
4475         * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
4477 2001-03-21  Bruno Haible  <haible@clisp.cons.org>
4479         * src/iconv.c (print_version): Now called GNU libiconv.
4481 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
4483         * README: This package is now called GNU libiconv.
4485         * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output
4486           file.
4487         * tools/cjk_tab_to_h.c (output_title): Likewise.
4488         * tools/cjk_variants.c (main): Likewise.
4489         * lib/gentranslit.c (main): Likewise.
4491 2001-03-19  Bruno Haible  <haible@clisp.cons.org>
4493         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
4494           ac_config_guess and ac_config_sub. Then ignore requests for
4495           AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
4497 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
4499         * INSTALL.generic: New section "Particular Systems".
4501 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
4503         * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on
4504           platforms like BeOS.
4506         * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in
4507           config.h.
4509 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
4511         * Version 1.6 released.
4512         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
4513           Bump version number.
4514         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0.
4516 2001-03-05  Bruno Haible  <haible@clisp.cons.org>
4518         Provide all encodings used by OSF/1 5.1 locales.
4519         * lib/dec_kanji.h: New file.
4520         * lib/dec_hanyu.h: New file.
4521         * lib/converters.h: Include them if USE_OSF1 is defined.
4522         * lib/encodings_osf1.def: New file.
4523         * lib/genflags.c (main): Include it. Define USE_OSF1.
4524         * lib/genaliases2.c (main): Include it conditionally.
4525         * lib/iconv.c: Define USE_OSF1 on OSF/1.
4526           Include encodings_osf1.def and aliases_osf1.h.
4527         * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and
4528           aliases_osf1.h.
4529         * Makefile.devel (lib/aliases_osf1.h): New target.
4530           (all): Depend on lib/aliases_osf1.h.
4531           (lib/flags.h): Depend on lib/encodings_osf1.def.
4533 2001-03-01  Bruno Haible  <haible@clisp.cons.org>
4535         * tools/Makefile (cp775.h): New target.
4536           (ALL): Add it.
4537         * lib/cp775.h: New file.
4538         * lib/converters.h: Include it.
4539         * lib/encodings_dos.def (CP775): New encoding.
4541 2001-02-25  Bruno Haible  <haible@clisp.cons.org>
4543         * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any
4544           more.
4546 2001-02-24  Bruno Haible  <haible@clisp.cons.org>
4548         * src/iconv.c (convert): Use ICONV_CONST.
4549         * tests/table-from.c: Include config.h.
4550           (try): Use ICONV_CONST.
4551         * tests/table-to.c: Include config.h.
4552           (main): Use ICONV_CONST.
4553         * tests/Makefile.in (INCLUDES): Add -I../lib.
4554         * tests/Makefile.os2 (INCLUDES): Likewise.
4555         * tests/Makefile.msvc (INCLUDES): Add -I..\lib.
4557 2001-02-24  Bruno Haible  <haible@clisp.cons.org>
4559         Provide all encodings used by DOS locales.
4560         * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h,
4561            cp864.h, cp865.h, cp869.h): New targets.
4562           (ALL): Add them.
4563         * lib/cp437.h: New file.
4564         * lib/cp852.h: New file.
4565         * lib/cp855.h: New file.
4566         * lib/cp857.h: New file.
4567         * lib/cp861.h: New file.
4568         * lib/cp864.h: New file.
4569         * lib/cp865.h: New file.
4570         * lib/cp869.h: New file.
4571         * lib/converters.h: Include them if USE_DOS is defined.
4572         * lib/encodings_dos.def: New file.
4573         * lib/genflags.c (main): Include it. Define USE_DOS.
4574         * lib/genaliases2.c (main): Include it conditionally.
4575         * lib/iconv.c: Define USE_DOS on DJGPP.
4576           Include encodings_dos.def and aliases_dos.h.
4577         * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and
4578           aliases_dos.h.
4579         * Makefile.devel (lib/aliases_dos.h): New target.
4580           (all): Depend on lib/aliases_dos.h.
4581           (lib/flags.h): Depend on lib/encodings_dos.def.
4583 2001-02-23  Bruno Haible  <haible@clisp.cons.org>
4585         * src/iconv.c [DJGPP]: Include <io.h> and <unistd.h>.
4586           (SET_BINARY) [O_BINARY]: New macro.
4587           (usage): Mention --binary if available.
4588           (convert): Use SET_BINARY instead of setmode.
4589           (main): Likewise.
4590           Reported by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
4592 2001-02-25  Bruno Haible  <haible@clisp.cons.org>
4594         * autoconf/ltconfig:
4595           sed -e 's/reload object files/produce relocatable object files/'.
4597 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
4599         * src/iconv.c (usage, main): Make -f and -t options optional.
4600         * man/iconv.1: Mark them as optional.
4602 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
4604         * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from
4605           glibc-2.2.2 table.
4606         * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E,
4607           0xFE5E -> U+2E97. Shift the entire four-byte range.
4608         * tests/GB18030.TXT: Regenerated.
4610 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
4612         Better support for DOS/Windows platforms.
4613         * autoconf/ltconfig: Upgrade to libtool-1.3.5.
4614         * autoconf/ltmain.sh: Likewise.
4615         * autoconf/aclocal.m4: Likewise.
4616         * autoconf/install-sh: New file.
4617         * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR.
4619 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
4621         * Makefile.in (libdir, includedir, mandir): Use the autoconf
4622           determined value, in order to respect the configure arguments.
4623         * lib/Makefile.in (libdir): Likewise.
4624         * src/Makefile.in (bindir): Likewise.
4625         * man/Makefile.in (mandir): Likewise.
4627 2001-02-04  Bruno Haible  <haible@clisp.cons.org>
4629         * lib/translit.def: Add all the neutral transliterations from glibc.
4630         * lib/gentranslit.c (main): Allow UTF-8 replacements which are in
4631           UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'.
4632           Avoid accessing data[-1].
4633         * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer
4634           into translit_data.
4636 2001-01-05  Bruno Haible  <haible@clisp.cons.org>
4638         Implement and document CP862.
4639         * tools/Makefile (ALL): Add cp862.h.
4640           (cp862.h): New target.
4641         * lib/cp862.h: New file.
4642         * lib/converters.h: Include it.
4643         * lib/encodings.def (CP862): New encoding.
4644         * README, man/iconv_open.3: Add CP862.
4645         * tests/Makefile.in (check): Check CP862.
4646         * tests/Makefile.msvc (check): Likewise.
4647         * tests/Makefile.os2 (check): Likewise.
4648         * tests/CP862.TXT: New file.
4650 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
4652         * autoconf/mbstate_t.m4: New file, from textutils-2.0.10.
4653         * Makefile.devel (OTHERMACROS): Add it.
4654         * configure.in: Call AC_MBSTATE_T.
4655         * lib/config.h.in (mbstate_t): New definition.
4656         * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback.
4658 2000-12-12  Bruno Haible  <haible@clisp.cons.org>
4660         * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
4661           "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
4662           given. Reported by Toshimitsu Fujiwara.
4664 2000-12-08  Bruno Haible  <haible@clisp.cons.org>
4666         * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
4667         * lib/Makefile.in (exec_prefix): Likewise.
4668         * src/Makefile.in (exec_prefix): Likewise.
4669         * man/Makefile.in (exec_prefix): Likewise.
4671 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
4673         * Version 1.5 released.
4674         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
4675           Bump version number.
4676         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0.
4678 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
4680         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
4681           Remove files installed in lib by libcharset.
4682         * Makefile.msvc (mostlyclean): Likewise.
4684         * Makefile.in (check): Depend on target 'all'.
4685         * Makefile.os2 (check): Likewise.
4686         * Makefile.msvc (check): Depend on target 'force' as well.
4688         * src/iconv.c (usage): Take an exitcode argument.
4689           (print_version): New function.
4690           (main): Recognize --help and --version command line options.
4692 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
4694         * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
4695         * lib/Makefile.msvc: Likewise.
4696         * src/Makefile.msvc: Likewise.
4697         * tests/Makefile.msvc: Likewise.
4699 2000-12-01  Bruno Haible  <haible@clisp.cons.org>
4701         * src/iconv.c: Include <fcntl.h>. Define fallbacks for setmode, fileno.
4702           (force_binary): New variable.
4703           (convert): If requested, set the input O_BINARY.
4704           (main): Accept --binary option. If requested, set the output O_BINARY.
4705         * tests/check-stateful.bat: Pass --binary to iconv.
4706         * tests/check-stateful.cmd: Likewise.
4707         * tests/check-translit.bat: Likewise.
4708         * tests/check-translit.cmd: Likewise.
4710 2000-12-01  Bruno Haible  <haible@clisp.cons.org>
4712         * include/iconv.h.in (_libiconv_version): New declaration.
4713         * lib/iconv.c (_libiconv_version): New variable.
4715 2000-11-30  Bruno Haible  <haible@clisp.cons.org>
4717         * Makefile.msvc (all): File now named lib/libcharset.h.
4718           (clean, distclean, maintainer-clean): Likewise.
4720 2000-11-23  Bruno Haible  <haible@clisp.cons.org>
4722         * lib/*: Move here all files from src/*.
4723         * src/*: Move all files to lib.
4724         * lib/Makefile.in (distclean): No need to remove config.status,
4725           config.log, config.cache.
4726         * configure.in: Require lib/iconv.c, not src/iconv.c. Create
4727           lib/config.h, not src/config.h. Also create lib/Makefile.
4728         * Makefile.in (all): Install libcharset into lib, not src. Recurse
4729           into lib and src.
4730           (install-lib): Recurse into lib, not src.
4731           (install): Recurse into libcharset, lib and src.
4732           (installdirs, uninstall): Likewise.
4733           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
4734         * Makefile.msvc (all): Recurse into lib and src.
4735           (install): Recurse into libcharset, lib and src.
4736           (installdirs, uninstall): Likewise.
4737           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
4738         * Makefile.os2 (all): Recurse into lib and src.
4739           (install-lib): Recurse into lib, not src.
4740           (install, uninstall): Recurse into lib and src.
4741           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
4742         * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc.
4743           (lib/aliases.h): Renamed from src/aliases.h.
4744           (lib/aliases.gperf): Renamed from src/aliases.gperf.
4745           (lib/aliases_aix.h): Renamed from src/aliases_aix.h.
4746           (lib/flags.h): Renamed from src/flags.h.
4747           (lib/translit.h): Renamed from src/translit.h.
4748         * src/iconv.c: Moved here from tests/iconv.c.
4749         * src/Makefile.in: New file.
4750         * src/Makefile.msvc: New file.
4751         * src/Makefile.os2: New file.
4752         * tests/Makefile.in (iconv): Remove target.
4753           (../lib/libiconv.la): Renamed from ../src/libiconv.la.
4754           (clean): No need to remove iconv.
4755         * tests/Makefile.msvc (iconv.exe): Remove target.
4756         * tests/Makefile.os2 (iconv.exe): Likewise.
4757         * tests/check-stateful: iconv is in ../src.
4758         * tests/check-stateful.bat: Likewise.
4759         * tests/check-stateful.cmd: Likewise.
4760         * tests/check-translit: iconv is in ../src.
4761         * tests/check-translit.bat: Likewise.
4762         * tests/check-translit.cmd: Likewise.
4763         * man/iconv.1: New file.
4764         * man/Makefile.in (install, installdirs, uninstall): Also install *.1
4765           man pages.
4766         * man/Makefile.os2 (MAN3): Renamed from MAN.
4767           (MAN1): New variable.
4768           (install, uninstall): Also install *.1 man pages.
4770 2000-11-21  Bruno Haible  <haible@clisp.cons.org>
4772         * Makefile.msvc (all, check, mostlyclean, clean, distclean,
4773            maintainer-clean): Recurse into libcharset.
4774           (clean, distclean, maintainer-clean): Remove src\libcharset.h.
4775         * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable.
4776           (iconv.lib): Link with $(LIBCHARSET_OBJECTS).
4778 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
4780         * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
4781           so that it agrees with Microsoft's definition of CP950.
4782         * tests/CP950.TXT: Likewise.
4783         * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE.
4785 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
4787         Add support for locale dependent "char" and "wchar_t" encodings.
4788         * libcharset: New subdirectory.
4789         * src/loop_unicode.h: New file, extracted from src/iconv.c.
4790         * src/loop_wchar.h: New file.
4791         * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h.
4792         * src/encodings_local.def: New file.
4793         * src/genaliases.c: Also create aliases for encodings_local.def.
4794         * src/converters.h (conv_struct): Add lfuncs field.
4795         * src/genflags.c: Add dummy definitions of struct loop_funcs.
4796         * src/iconv.c: Include libcharset.h.
4797           (loop_funcs): New structure.
4798           Treat encodings_local.def like encodings.def.
4799           Include loops.h.
4800           (iconv_open): Move the bulk of the code to loop_unicode.h.
4801           (iconv): Likewise.
4802           (iconvctl): Extend determination of TRIVIALP to wchar_t conversion
4803           descriptors.
4804         * src/Makefile.in (PLUG_SOURCES): Remove variable.
4805           (LIBCHARSET_OBJECTS): New variable.
4806           (libiconv.la): Link in the LIBCHARSET_OBJECTS.
4807           (libiconv_plug_linux.so, libiconv_plug_solaris.so,
4808            libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using
4809           LIBTOOL_LINK.
4810           (iconv.lo): Depend on encodings_local.def.
4811         * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def.
4812         * src/Makefile.os2 (iconv.obj): Likewise.
4813         * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale.
4814           Recurse into libcharset.
4815         * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB,
4816            HAVE_SETLOCALE): New macros.
4817         * tests/iconv.c: Include config.h and locale.h.
4818           (main): Call setlocale.
4819         * tests/Makefile.in (iconv): Search for config.h in ../src.
4820         * tests/Makefile.os2 (iconv.exe): Likewise.
4821         * tests/Makefile.msvc (iconv.exe): Likewise.
4822         * README, man/iconv_open.3: Document "char" and "wchar_t" encodings.
4823         * Makefile.in: After "cd", use "&&" not ";".
4824           (all, check, mostlyclean, clean, distclean, maintainer-clean):
4825           Recurse into libcharset.
4826         * Makefile.devel (all): Recurse into libcharset.
4827           (src/aliases.gperf): Depend on src/encodings_local.def.
4829 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
4831         * src/converters.h (ucs4_t): New type.
4832           (wchar_t): Remove locally defined override.
4833           (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
4834         * src/iconv.c (iconv): Likewise.
4835         * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t.
4836         * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t".
4837         * tools/cjk_tab_to_h.c: Likewise.
4838         * src/armscii_8.h: Use ucs4_t instead of wchar_t.
4839         * src/ascii.h: Likewise.
4840         * src/big5.h: Likewise.
4841         * src/big5hkscs.h: Likewise.
4842         * src/ces_big5.h: Likewise.
4843         * src/ces_gbk.h: Likewise.
4844         * src/cns11643.h: Likewise.
4845         * src/cns11643_1.h: Likewise.
4846         * src/cns11643_2.h: Likewise.
4847         * src/cns11643_3.h: Likewise.
4848         * src/cns11643_inv.h: Likewise.
4849         * src/cp1046.h: Likewise.
4850         * src/cp1124.h: Likewise.
4851         * src/cp1129.h: Likewise.
4852         * src/cp1133.h: Likewise.
4853         * src/cp1250.h: Likewise.
4854         * src/cp1251.h: Likewise.
4855         * src/cp1252.h: Likewise.
4856         * src/cp1253.h: Likewise.
4857         * src/cp1254.h: Likewise.
4858         * src/cp1255.h: Likewise.
4859         * src/cp1256.h: Likewise.
4860         * src/cp1257.h: Likewise.
4861         * src/cp1258.h: Likewise.
4862         * src/cp850.h: Likewise.
4863         * src/cp856.h: Likewise.
4864         * src/cp866.h: Likewise.
4865         * src/cp874.h: Likewise.
4866         * src/cp922.h: Likewise.
4867         * src/cp932.h: Likewise.
4868         * src/cp932ext.h: Likewise.
4869         * src/cp936ext.h: Likewise.
4870         * src/cp949.h: Likewise.
4871         * src/cp950.h: Likewise.
4872         * src/cp950ext.h: Likewise.
4873         * src/euc_cn.h: Likewise.
4874         * src/euc_jp.h: Likewise.
4875         * src/euc_kr.h: Likewise.
4876         * src/euc_tw.h: Likewise.
4877         * src/gb12345.h: Likewise.
4878         * src/gb12345ext.h: Likewise.
4879         * src/gb18030.h: Likewise.
4880         * src/gb18030ext.h: Likewise.
4881         * src/gb18030uni.h: Likewise.
4882         * src/gb2312.h: Likewise.
4883         * src/gbk.h: Likewise.
4884         * src/gbkext1.h: Likewise.
4885         * src/gbkext2.h: Likewise.
4886         * src/gbkext_inv.h: Likewise.
4887         * src/georgian_academy.h: Likewise.
4888         * src/georgian_ps.h: Likewise.
4889         * src/hkscs.h: Likewise.
4890         * src/hp_roman8.h: Likewise.
4891         * src/hz.h: Likewise.
4892         * src/iso2022_cn.h: Likewise.
4893         * src/iso2022_cnext.h: Likewise.
4894         * src/iso2022_jp.h: Likewise.
4895         * src/iso2022_jp1.h: Likewise.
4896         * src/iso2022_jp2.h: Likewise.
4897         * src/iso2022_kr.h: Likewise.
4898         * src/iso646_cn.h: Likewise.
4899         * src/iso646_jp.h: Likewise.
4900         * src/iso8859_1.h: Likewise.
4901         * src/iso8859_10.h: Likewise.
4902         * src/iso8859_13.h: Likewise.
4903         * src/iso8859_14.h: Likewise.
4904         * src/iso8859_15.h: Likewise.
4905         * src/iso8859_16.h: Likewise.
4906         * src/iso8859_2.h: Likewise.
4907         * src/iso8859_3.h: Likewise.
4908         * src/iso8859_4.h: Likewise.
4909         * src/iso8859_5.h: Likewise.
4910         * src/iso8859_6.h: Likewise.
4911         * src/iso8859_7.h: Likewise.
4912         * src/iso8859_8.h: Likewise.
4913         * src/iso8859_9.h: Likewise.
4914         * src/isoir165.h: Likewise.
4915         * src/isoir165ext.h: Likewise.
4916         * src/java.h: Likewise.
4917         * src/jisx0201.h: Likewise.
4918         * src/jisx0208.h: Likewise.
4919         * src/jisx0212.h: Likewise.
4920         * src/johab.h: Likewise.
4921         * src/johab_hangul.h: Likewise.
4922         * src/koi8_r.h: Likewise.
4923         * src/koi8_ru.h: Likewise.
4924         * src/koi8_u.h: Likewise.
4925         * src/ksc5601.h: Likewise.
4926         * src/mac_arabic.h: Likewise.
4927         * src/mac_centraleurope.h: Likewise.
4928         * src/mac_croatian.h: Likewise.
4929         * src/mac_cyrillic.h: Likewise.
4930         * src/mac_greek.h: Likewise.
4931         * src/mac_hebrew.h: Likewise.
4932         * src/mac_iceland.h: Likewise.
4933         * src/mac_roman.h: Likewise.
4934         * src/mac_romania.h: Likewise.
4935         * src/mac_thai.h: Likewise.
4936         * src/mac_turkish.h: Likewise.
4937         * src/mac_ukraine.h: Likewise.
4938         * src/mulelao.h: Likewise.
4939         * src/nextstep.h: Likewise.
4940         * src/sjis.h: Likewise.
4941         * src/tcvn.h: Likewise.
4942         * src/tis620.h: Likewise.
4943         * src/ucs2.h: Likewise.
4944         * src/ucs2be.h: Likewise.
4945         * src/ucs2internal.h: Likewise.
4946         * src/ucs2le.h: Likewise.
4947         * src/ucs2swapped.h: Likewise.
4948         * src/ucs4.h: Likewise.
4949         * src/ucs4be.h: Likewise.
4950         * src/ucs4internal.h: Likewise.
4951         * src/ucs4le.h: Likewise.
4952         * src/ucs4swapped.h: Likewise.
4953         * src/uhc_1.h: Likewise.
4954         * src/uhc_2.h: Likewise.
4955         * src/utf16.h: Likewise.
4956         * src/utf16be.h: Likewise.
4957         * src/utf16le.h: Likewise.
4958         * src/utf7.h: Likewise.
4959         * src/utf8.h: Likewise.
4960         * src/viscii.h: Likewise.
4962 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
4964         Make transliteration optional.
4965         * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
4966           Set transliteration on if and only if tocode ends in //TRANSLIT.
4967         * README, man/iconv_open.3: Document how to enable transliteration.
4968         * tests/check-translit: Add //TRANSLIT to iconv's 't' argument.
4969         * tests/check-translit.bat: Likewise.
4970         * tests/check-translit.cmd: Likewise.
4972 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
4974         * man/iconv.3: Fix typo.
4976 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
4978         * README, man/iconv_open.3: Document JOHAB again.
4980 2000-11-15  Bruno Haible  <haible@clisp.cons.org>
4982         * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
4983           (STATIC): Change default from 0 to 1.
4984         * src/Makefile.msvc: Likewise.
4985         * tests/Makefile.msvc: Likewise.
4986         * tests/check-stateless.bat: Call 'sort' with no arguments.
4988 2000-11-12  Bruno Haible  <haible@clisp.cons.org>
4990         * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
4991           version from GNU CVS.
4993 2000-10-24  Bruno Haible  <haible@clisp.cons.org>
4995         * Version 1.4 released.
4996         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
4997           Bump version number.
4998         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0.
5000 2000-10-23  Bruno Haible  <haible@clisp.cons.org>
5002         Implement and document GB18030 and BIG5HKSCS.
5003         * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
5004           functions.
5005           (do_gb18030uni): New function.
5006           (main): Accept gb18030ext, gb18030uni, hkscs.
5007         * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h.
5008           (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT,
5009            hkscs.h): New targets.
5010         * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files.
5011         * src/hkscs.h, src/big5hkscs.h: New files.
5012         * src/converters.h: Include gb18030.h and big5hkscs.h.
5013         * src/encodings.def (GB18030, BIG5HKSCS): New encodings.
5014         * README, man/iconv_open.3: Add GB18030, BIG5HKSCS.
5015         * tests/Makefile.in (check): Check GB18030, BIG5HKSCS.
5016         * tests/Makefile.msvc (check): Likewise.
5017         * tests/Makefile.os2 (check): Likewise.
5018         * tests/GB18030.TXT: New file.
5019         * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files.
5021 2000-10-23  Bruno Haible  <haible@clisp.cons.org>
5023         * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of
5024           UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling.
5025         * tests/table-to.c (main): Likewise.
5027 2000-10-22  Bruno Haible  <haible@clisp.cons.org>
5029         * src/gentranslit.c (main): Read the input in UTF-8 encoding.
5031 2000-10-09  Bruno Haible  <haible@clisp.cons.org>
5033         CPU recognition on OpenBSD.
5034         * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
5035           __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
5037 2000-10-03  Bruno Haible  <haible@clisp.cons.org>
5039         * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
5040           character literals, use the numeric value instead.
5041           Reported by Shin-Hsien Yeh <shyeh@alcatel.com.tw>.
5043 2000-09-29  Bruno Haible  <haible@clisp.cons.org>
5045         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
5046           change.
5048 2000-09-25  Bruno Haible  <haible@clisp.cons.org>
5050         * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
5051           as equivalent to __i386. For OpenBSD.
5053 2000-09-21  Bruno Haible  <haible@clisp.cons.org>
5055         * src/utf16.h (utf16_wctomb): Reject single surrogates.
5056         * src/utf16be.h (utf16be_wctomb): Likewise.
5057         * src/utf16le.h (utf16le_wctomb): Likewise.
5058         * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
5059         * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
5060         * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
5061         * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb):
5062           Likewise.
5063         * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
5064           Likewise.
5066 2000-09-15  Bruno Haible  <haible@clisp.cons.org>
5068         * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
5069         * src/Makefile.in (install, installdirs, uninstall): Likewise.
5070         * man/Makefile.in (install, installdirs, uninstall): Likewise.
5072 2000-09-11  Bruno Haible  <haible@clisp.cons.org>
5074         * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
5076 2000-08-26  Bruno Haible  <haible@clisp.cons.org>
5078         * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
5079           value, not parens.
5081 2000-07-04  Akira Hatakeyama  <akira@sra.co.jp>
5082             Bruno Haible  <haible@clisp.cons.org>
5084         * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2,
5085           tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd,
5086           tests/check-stateless.cmd, tests/check-translit.cmd: New files.
5088 2000-06-28  Bruno Haible  <haible@clisp.cons.org>
5090         * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
5091           cast.
5092         * src/ucs4internal.h (ucs4internal_mbtowc): Likewise.
5093         * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify
5094           sizeof(unsigned short).
5095         * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify
5096           sizeof(unsigned int).
5097         Reported by François Pinard <pinard@iro.umontreal.ca>.
5099 2000-05-29  Bruno Haible  <haible@clisp.cons.org>
5101         * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
5102         Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
5104 2000-05-23  Bruno Haible  <haible@clisp.cons.org>
5106         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
5107           host_vendor, host_os correctly if $host has more than two hyphens.
5109 2000-04-15  Bruno Haible  <haible@clisp.cons.org>
5111         * Version 1.3 released.
5112         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
5113           Bump version number.
5114         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0.
5116 2000-04-15  Bruno Haible  <haible@clisp.cons.org>
5118         * THANKS: New file.
5119         * INSTALL.generic: New file.
5121         Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
5122         * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files.
5123         * src/converters.h: Include them.
5124         * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE.
5125         * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE.
5126         * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE.
5127           (UCS-2LE): Renamed from UCS-2-LE.
5128           (UCS-4BE): Renamed from UCS-4-BE.
5129           (UCS-4LE): Renamed from UCS-4-LE.
5130         * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf.
5131         * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
5132         * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
5133         * tests/Makefile.msvc (check): Likewise.
5134         * tests/UCS-*snippet*: New files.
5136         Allow building as a shared library on Windows.
5137         Allow running the tests on Windows.
5138         * Makefile.devel (include/iconv.h.msvc): Remove rule.
5139           (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New
5140           rules.
5141           (all): Update.
5142         * windows/dllexport.h: New file.
5143         * include/iconv.h.msvc: Remove file.
5144         * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New
5145           autogenerated files.
5146         * Makefile.msvc (STATIC, DEBUG): Default to 0.
5147           (all): Choose either include\iconv.h.msvc-static or
5148           include\iconv.h.msvc-shared.
5149           (check): Depend on all.
5150           (all, check, mostlyclean, clean, distclean, maintainer-clean):
5151           Recurse into tests directory.
5152         * src/Makefile.msvc (STATIC, DEBUG): Default to 0.
5153           (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables.
5154           (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV.
5155           (RESOURCES): New variable.
5156           (iconv.lib): Change rule when building DLL.
5157           (clean, distclean): One filename per line.
5158         * tests/Makefile.msvc: New file.
5159         * tests/check-stateful.bat, tests/check-stateless.bat,
5160           tests/check-translit.bat: New files.
5161         * tests/uniq-u.c: New file, taken from GNU textutils.
5162         * README.win32: Update.
5163         Based on patches by Taro Muraoka <koron@tka.att.ne.jp>.
5165 2000-04-14  Bruno Haible  <haible@clisp.cons.org>
5167         Fix an OSF/1 problem.
5168         * configure.in: Define GCC variable for substitution.
5169         * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using
5170           gcc.
5172 2000-04-13  Bruno Haible  <haible@clisp.cons.org>
5174         Fix a SunOS 4 problem.
5175         * include/iconv.h.in: If EILSEQ is not defined by the system, define
5176           it to ENOENT, not EINVAL.
5178 2000-04-02  Bruno Haible  <haible@clisp.cons.org>
5180         Allow building on filesystems lacking symlinks and hard links.
5181         * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
5182           CL_PROG_LN_S.
5183         * configure.in: Add CL_PROG_LN, CL_PROG_LN_S.
5184         * src/Makefile.in (LN): Use autoconfigured value @LN@.
5185           (LN_S): Use autoconfigured value @LN_S@.
5187 2000-03-15  Bruno Haible  <haible@clisp.cons.org>
5189         * Version 1.2 released.
5190         * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
5191         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
5193 2000-03-14  Bruno Haible  <haible@clisp.cons.org>
5195         Implement and document UTF-16BE and UTF16LE.
5196         * src/utf16be.h, src/utf16le.h: New files.
5197         * src/converters.h: Include them.
5198         * src/encodings.def (UTF-16BE, UTF16LE): New encodings.
5199         * README, man/iconv_open.3: Add UTF-16BE, UTF16LE.
5200         * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE.
5201         * tests/UTF-16*snippet*: New files.
5203         * src/utf16.h (utf16_wctomb): Output a byte order mark.
5205 2000-03-13  Bruno Haible  <haible@clisp.cons.org>
5207         Provide all encodings used by AIX locales.
5208         * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
5209           cp1129.h.
5210           (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets.
5211         * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h,
5212           src/cp1129.h: New files.
5213         * src/converters.h: Include them if USE_AIX is defined.
5214         * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046,
5215           CP1124, CP1129.
5216         * src/genflags.c: Define USE_AIX. Include encodings_aix.def.
5217         * src/genaliases2.c: New file.
5218         * src/iconv.c: Define USE_AIX on AIX.
5219           Include encodings_aix.def and aliases_aix.h.
5220           (aliases2_lookup): New function.
5221           (iconv_open): Call aliases2_lookup.
5222         * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and
5223           aliases_aix.h.
5224         * Makefile.devel (all): Add src/aliases_aix.h.
5225           (src/aliases_aix.h): New rule.
5226           (src/flags.h): Depend on src/encodings_aix.def.
5228 2000-02-24  Bruno Haible  <haible@clisp.cons.org>
5230         * src/iconv.c (iconv): Don't write beyond the end of the output buffer.
5231           Reported by Edmund Grimley Evans <edmundo@rano.org>.
5233 2000-02-22  Bruno Haible  <haible@clisp.cons.org>
5235         * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
5237 2000-02-15  Bruno Haible  <haible@clisp.cons.org>
5239         * src/iconv.c (iconv): Add cast in xxx_reset call.
5241 2000-02-05  Bruno Haible  <haible@clisp.cons.org>
5243         * src/tis620.h: Simplify.
5245 2000-01-27  Bruno Haible  <haible@clisp.cons.org>
5247         * Makefile.devel (CLISP_DIR): Change to "..".
5249 2000-01-24  Bruno Haible  <haible@clisp.cons.org>
5251         * Version 1.1 released.
5252         * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
5253         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1.
5255 2000-01-23  Bruno Haible  <haible@clisp.cons.org>
5257         * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
5258           '+' as "+-".
5260 2000-01-22  Bruno Haible  <haible@clisp.cons.org>
5262         * include/iconv.h.in (iconvctl): New declaration.
5263           (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE):
5264           New macros.
5265         * src/iconv.c (iconvctl): New function.
5267         * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE).
5269         Solve a build problem.
5270         * include/iconv.h.in: Renamed from include/libiconv.h.in.
5271         * Makefile.devel: libiconv.h -> iconv.h.
5272         * Makefile.in: Likewise.
5273         * configure.in: Likewise. Remove check for <iconv.h>.
5274         * src/iconv.c: Include iconv.h instead of libiconv.h.
5275         * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise.
5277         * README, man/iconv_open.3: Don't document JOHAB any more.
5279         * man/iconv.3: Clarify return value again.
5281 2000-01-16  Bruno Haible  <haible@clisp.cons.org>
5283         Add aliases.
5284         * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199.
5285           (ISO-8859-15): Add alias ISO-IR-203.
5286           (EUC-CN): Add alias CN-GB, from RFC 1922.
5287           (BIG5): Add alias CN-BIG5, from RFC 1922.
5288         * Makefile.devel (src/aliases.h): Add 8th character to key set.
5290         Drop X11 aliases.
5291         * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias.
5292           (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases.
5293           (KSC_5601): Drop KSC5601.1987-0 alias.
5295         Improve GB/T 12345 (not used yet).
5296         * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT.
5297         * src/gb12345ext.h: Regenerated.
5299         Improve and document CP949.
5300         * tools/Makefile (all): Add uhc_1.h and uhc_2.h.
5301           (uhc_1.h, uhc_2.h): New rules.
5302         * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New
5303           function.
5304           (output_uni2charset_sparse): Take an additional boolean argument.
5305           All callers changed.
5306           (*_uhc_1, *_uhc_2): New functions.
5307           (main): Treat uhc_1 and uhc_2.
5308         * src/uhc_1.h, src/uhc_2.h: New files.
5309         * src/cp949.h: New file, include them.
5310         * src/converters.h: Include it.
5311         * src/encodings.def (KSC_5601): Remove alias CP949.
5312           (CP949): New encoding.
5313         * README, man/iconv_open.3: Add CP949.
5314         * tests/Makefile.in (check): Check CP949.
5315         * tests/CP949.TXT: New file.
5317         Document CP932.
5318         * README, man/iconv_open.3: Add CP932.
5319         * tests/Makefile.in (check): Check CP932.
5320         * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
5322         * Makefile.devel (src/flags.h): Depend on src/converters.h.
5324         * tests/Makefile.in (check): Check JIS_X0201.
5325         * tests/JIS_X0201.TXT: New file.
5327         * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf.
5328         * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
5330         * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc.
5331           (iso2022_cn_ext_wctomb): Use isoir165_wctomb.
5333         Add ISO-IR-165 (undocumented).
5334         * tools/Makefile (all): Add isoir165ext.h.
5335           (isoir165ext.h): New rule.
5336         * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312.
5337         * src/isoir165.h, src/isoir165ext.h: New files.
5338         * src/converters.h: Include it.
5339         * src/encodings.def: Add ISO-IR-165.
5340         * tests/Makefile.in (check): Check ISO-IR-165.
5341         * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files.
5343         Add ISO646-CN (undocumented).
5344         * src/iso646_cn.h: New file.
5345         * src/converters.h: Include it.
5346         * src/encodings.def: Add ISO646-CN.
5347         * tests/Makefile.in (check): Check ISO646-CN.
5348         * tests/ISO646-CN.TXT: New file.
5350         Add ISO646-JP (undocumented).
5351         * src/iso646_jp.h: New file.
5352         * src/converters.h: Include it.
5353         * src/encodings.def: Add ISO646-JP.
5354         * tests/Makefile.in (check): Check ISO646-JP.
5355         * tests/ISO646-JP.TXT: New file.
5357 2000-01-05  Bruno Haible  <haible@clisp.cons.org>
5359         Add ISO-8859-16.
5360         * tools/Makefile (all): Add iso8859_16.h.
5361           (iso8859_16.h): New rule.
5362         * src/iso8859_16.h: New file.
5363         * src/converters.h: Include it.
5364         * src/encodings.def: Add ISO-8859-16.
5365         * README, man/iconv_open.3: Add ISO-8859-16.
5366         * tests/Makefile.in (check): Check ISO-8859-16.
5367         * tests/ISO-8859-16.TXT: New file.
5369         * man/iconv.3: Clarify what happens *inbuf in case 3.
5371         * src/iso8859_8.h: Update using newest table from ftp.unicode.org.
5372         * tests/ISO-8859-8.TXT: Likewise.
5374 2000-01-04  Bruno Haible  <haible@clisp.cons.org>
5376         * Version 1.0 released.
5377         * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number.
5378         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0.
5379           (libiconv.la): Use LIBICONV_VERSION_INFO.
5381 2000-01-03  Bruno Haible  <haible@clisp.cons.org>
5383         * tests/Makefile.in: New file.
5384           tests/check-stateless, tests/table-from.c, tests/table-to.c,
5385           tests/*.TXT, tests/genutf8.c: New files, checks for stateless
5386           encodings.
5387           tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
5388           checks for stateful encodings.
5389         * Makefile.in (all, check, mostlyclean, clean, distclean,
5390            maintainer-clean): Descend into tests directory.
5391         * configure.in: Add tests/Makefile to AC_OUTPUT duties.
5393         * src/gentranslit.c: New file.
5394         * Makefile.devel (src/translit.h): New rule.
5395         * src/translit.def, src/translit.h: New files.
5396         * src/iconv.c: Include it.
5397           (iconv): Transliterate using translit.h table.
5399         * src/genflags.c: New file.
5400         * Makefile.devel (src/flags.h): New rule.
5401         * src/flags.h: New file.
5402         * src/iconv.c: Include it.
5403           (encoding): Add field 'oflags'.
5404           (all_encodings): Initialize the field 'oflags'.
5405           (iconv_open): Copy field 'oflags'.
5406           (iconv): Transliterate quotation marks U+2018, U+2019, U+201A.
5407         * src/Makefile.in (iconv.lo): Update dependencies.
5409         * src/converters.h: New file, extracted from src/iconv.c.
5410         * src/iconv.c: Include it.
5411         * src/Makefile.in (iconv.lo): Update dependencies.
5413         * tools/cjk_variants.c: New file.
5414         * tools/Makefile (ALL): Add cjk_variants.h.
5415           (cjk_variants.h, cjk_variants): New rules.
5416         * src/cjk_variants.h: New file.
5417         * src/iconv.c: Include it.
5418           (iconv): Use cjk_variants for transliteration.
5420         * man/iconv.3: Fix description of return value.
5421         * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration.
5422         * iso2022_kr.h (iso2022kr_wctomb): Likewise.
5423         * src/iconv.c (iconv): Do Hangul transliteration here and increment
5424           result once for every transliterated character.
5425         * src/johab_hangul.h (johab_hangul_decompose): Change result array
5426           from 'unsigned char*' to 'wchar_t*'.
5428         * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing
5429           0xfffd.
5431         * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6.
5433         * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like
5434           Katakana.
5436         * src/euc_tw.h (euc_tw_mbtowc): Fix typo.
5438         * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
5439           0xC6A1..0xC7FE.
5441         * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was
5442           not being excluded. Fix that.
5443         * src/ksc5601.h: Regenerated.
5444         * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is
5445           valid in KSC5601/KSX1001 but not in JOHAB.
5447         * src/iconv.c (conv_struct): Add fields iindex, oindex.
5448           (iconv_open): Fill in iindex, oindex.
5450         * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and
5451           "csUnicode11", from IANA charset list.
5452           (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH",
5453           from IANA charset list.
5454           (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208",
5455           from IANA charset list.
5456           (GB_2312-80): New encoding, from IANA charset list.
5458         * README, man/iconv_open.3: Add MacIceland and MacUkraine.
5460         * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf.
5461           (all): Depend on src/aliases.h.
5462         * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and
5463           $(srcdir)/aliases.gperf.
5464           (clean): Clean up.
5466         * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl".
5468 1999-12-31  Bruno Haible  <haible@clisp.cons.org>
5470         * Version 0.3 released.