Fix a bug in transliteration.
[libiconv.git] / ChangeLog
blobfa67f6e716f2914f0073116cfc4ad419f8517d5a
1 2002-01-06  Bruno Haible  <bruno@clisp.org>
3         * lib/loop_unicode.h (unicode_transliterate): If the transliteration
4         fails due to limited output encoding, return RET_ILUNI, not
5         RET_TOOSMALL. Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
6         * tests/check-translitfailure: New file.
7         * tests/TranslitFail1.ISO-8859-1: New file.
8         * tests/Makefile.in (check): Call check-translitfailure.
10 2001-12-15  Bruno Haible  <bruno@clisp.org>
12         * lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for
13         Shift_JIS characters 0x5C and 0x7E.
14         * tests/EUC-JP.IRREVERSIBLE.TXT: New file.
16 2001-12-05  Bruno Haible  <bruno@clisp.org>
18         * lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid
19           endless loop if locale_charset() returns the empty string.
20         * README, man/iconv_open.3: Add the empty encoding name.
22 2001-11-10  Bruno Haible  <haible@clisp.cons.org>
24         * lib/Makefile.in (libiconv_plug_linux.so): Allow building it with a
25           non-gcc compiler.
27 2001-10-23  Bruno Haible  <haible@clisp.cons.org>
29         * tools/Makefile (cp1125.h): New target.
30           (ALL): Add it.
31         * lib/cp1125.h: New file.
32         * lib/converters.h: Include it.
33         * lib/encodings_dos.def (CP1125): New encoding.
35 2001-09-08  Bruno Haible  <haible@clisp.cons.org>
37         * autoconf/eilseq.m4: New file.
38         * Makefile.devel (OTHERMACROS): Add it.
39         * configure.in: Call AC_EILSEQ.
40         * include/iconv.h.in (EILSEQ): Define to the autoconf determined value.
42 2001-08-25  Bruno Haible  <haible@clisp.cons.org>
44         Upgrade to autoconf-2.52.
45         * autoconf/autoconf: Upgrade to autoconf-2.52.
46         * autoconf/acgeneral.m4: Remove file.
47         * autoconf/acspecific.m4: Remove file.
48         * autoconf/autoconf.m4f: New file, from autoconf-2.52.
49         * autoconf/aclocal.m4: Require autoconf-2.52.
50         (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
51         AC_CANONICAL_HOST does it itself. Add $SHELL in front of
52         $ac_config_guess and $ac_config_sub.
53         * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
54         Add autoconf.m4f.
55         (configure): Use autoconf options -A, -l instead of -m.
56         * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS.
58 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
60         * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
61         (AC_LANG_EXTERN): Move to aclocal.m4.
62         * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
63         (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
64         (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
66 2001-08-05  Bruno Haible  <haible@clisp.cons.org>
68         Make it possible to build libiconv with CC=gcc CFLAGS="-x c++".
69         * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable
70         'try' to 'incount'.
71         * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option
72         between sources and libs.
73         (libiconv_plug_solaris.so) [GCC]: Likewise.
74         (libiconv_plug_osf.so) [GCC]: Likewise.
75         * src/Makefile.in (iconv.@OBJEXT@): New rule.
76         (iconv): Depend on it.
77         (clean): Erase *.@OBJEXT@, not *.o.
78         * tests/Makefile.in (table-from.@OBJEXT@): New rule.
79         (table-from): Depend on it.
80         (table-to.@OBJEXT@): New rule.
81         (table-to): Depend on it.
82         (clean): Erase *.@OBJEXT@, not *.o.
84 2001-07-28  Bruno Haible  <haible@clisp.cons.org>
86         * tools/Makefile (iso8859_16.h): Generate from the unicode.org table.
87         * lib/iso8859_16.h: Regenerated.
88         * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB.
90 2001-07-17  Bruno Haible  <haible@clisp.cons.org>
92         * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint.
94 2001-07-03  Bruno Haible  <haible@clisp.cons.org>
96         * configure.in: Also check for mbsinit.
97         * lib/loop_wchar.h (mbsinit): Define to 1 if not defined.
98         Needed for SCO 3.2v5.0.2.
100 2001-06-27  Bruno Haible  <haible@clisp.cons.org>
102         * Version 1.7 released.
104 2001-06-27  Bruno Haible  <haible@clisp.cons.org>
106         * INSTALL.generic (Particular Systems): Generalize section about
107         /usr/local to "most systems".
109         * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because
110         Solaris cc destroys iconv.o and iconv.lo while building
111         libiconv_plug_solaris.so.
112         (clean): Remove so_locations, left there by the OSF/1 linker.
114         * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
116         * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
117         'unsigned short'.
119         * tests/table-from.c: Include string.h.
120         * tests/table-to.c: Likewise.
122 2001-06-26  Bruno Haible  <haible@clisp.cons.org>
124         * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
125         (jisx0212.h): Replace U+007E with U+FF5E.
126         * lib/jisx0208.h: Regenerated.
127         * lib/jisx0212.h: Regenerated.
128         * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E.
129         * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file.
130         * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C.
131         * tests/CP932.TXT: Likewise.
132         * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible.
134 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
136         * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and
137         $(CPPFLAGS).
138         * src/Makefile.msvc (iconv.exe): Likewise.
139         * src/Makefile.os2 (iconv.exe): Likewise.
140         * lib/Makefile.in (libiconv_plug_linux.so): Likewise.
141         (libiconv_plug_solaris.so): Likewise.
142         (libiconv_plug_osf.so): Likewise.
143         (iconv.lo): Likewise.
144         * lib/Makefile.msvc (iconv.obj): Likewise.
145         * lib/Makefile.os2 (iconv.obj): Likewise.
146         * tests/Makefile.in (table-from, table-to): Likewise.
147         * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise.
148         * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise.
149         (genutf8.exe): Don't use $(INCLUDES).
151 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
153         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
154           Bump version number.
155         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0.
157 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
159         * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir.
161 2001-06-25  Bruno Haible  <haible@clisp.cons.org>
163         * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS.
165 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
167         * autoconf/ltmain.sh: Upgrade to libtool-1.4.
168         * autoconf/ltconfig: Remove file.
170 2001-06-08  Bruno Haible  <haible@clisp.cons.org>
172         * autoconf/config.guess: Update to GNU version 2001-05-11.
173         * autoconf/config.sub: Likewise.
175 2001-06-03  Bruno Haible  <haible@clisp.cons.org>
177         * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag
178           characters if they cannot be converted.
179           (unicode_loop_reset): Likewise.
180         * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE,
181            STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k,
182            STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh):
183           New macros.
184           (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb
185           direction.
186           (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag.
187           If "ja", prefer conversion to Japanese character sets. If "zh",
188           prefer conversion to GB2312. If "ko", prefer conversion to KSC5601.
190         * lib/converters.h (RET_ILUNI): Change value from 0 to -1.
191           (RET_TOOSMALL): Change value from -1 to -2.
192         * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to
193           return 0 written bytes.
195 2001-06-06  Bruno Haible  <haible@clisp.cons.org>
197         * lib/encodings.def: Align with IANA character-set registry.
198           (US-ASCII): Add alias "ANSI_X3.4-1986".
199           (ISO-8859-14): Add alias "ISO-CELTIC".
200           (JIS_X0208): Add alias "JIS_C6226-1983".
201           (BIG5HKSCS): Add alias "BIG5-HKSCS".
202         * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS.
203         * tests/Makefile.in (check): Likewise.
204         * tests/Makefile.os2 (check): Likewise.
205         * tests/Makefile.msvc (check): Likewise.
206         * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT.
207         * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from
208           BIG5HKSCS.IRREVERSIBLE.TXT.
210 2001-06-02  Bruno Haible  <haible@clisp.cons.org>
212         * tools/cjk_tab_to_h.c (Encoding): Add fffd field.
213           (is_charset2uni_large, compact_large_charset2uni): New functions.
214           (find_charset2uni_pages): Use enc->fffd instead of 0xfffd.
215           (output_charset2uni): If mapping to more than the Unicode BMP,
216           use an extra indirection to keep each value in 16 bits.
217           (invert): Bump limit from U+10000 to U+30000.
218           (output_uni2charset_dense): Likewise.
219           (output_uni2charset_sparse): Likewise. If mapping to more than one
220           CJK plane, use three bytes per value instead of two bytes.
221           (byte_row_cns11643): Allow more than 3 CJK planes.
222           (do_cns11643_only_uni2charset): Increase number of rows, to include
223           plane 15. Remove plane bits hack.
224           (main): Accept names cns11643_4a,4b,5,6,7,15 as well.
225         * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h,
226           cns11643_6.h, cns11643_7.h, cns11643_15.h.
227           (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1
228           derived table.
229           (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
230            cns11643_7.h, cns11643_15.h): New rules.
231           (cns11643_inv.h): Change title.
232         * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table.
233         * lib/cns11643_3.h: Likewise.
234         * lib/cns11643_4a.h: New file.
235         * lib/cns11643_4b.h: New file.
236         * lib/cns11643_4.h: New file.
237         * lib/cns11643_5.h: New file.
238         * lib/cns11643_6.h: New file.
239         * lib/cns11643_7.h: New file.
240         * lib/cns11643_15.h: New file.
241         * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table.
242           (cns11643_inv_wctomb): Return 3 bytes now.
243         * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h,
244           cns11643_7.h, cns11643_15.h.
245           (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return
246           plane number starting at 1, not 0.
247         * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb
248           change.
249         * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as
250           well.
251           (euc_tw_wctomb): Update for cns11643_wctomb change.
252         * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
253         * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes
254           4,5,6,7 as well.
255           (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change.
256           Try CNS11643 planes 4,5,6,7 as well.
257         * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15.
258         * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1.
259           Add U+5344.
261 2001-06-01  Bruno Haible  <haible@clisp.cons.org>
263         * tests/table-from.c (bmp_only): New variable.
264           (ucs4_decode): If bmp_only, don't return characters outside Unicode
265           plane 0.
266           (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
267           a conversion line if ucs4_decode returns NULL.
268         * tests/table-to.c (main): When testing encodings other than UTF-8 and
269           GB18030, loop upto U+30000 instead of U+10000.
271 2001-05-24  Bruno Haible  <haible@clisp.cons.org>
273         * lib/converters.h (mbtowc_funcs): Add flushwc member function.
274         * lib/flushwc.h: New file.
275         * lib/cp1255.h: Include flushwc.h.
276           (cp1255_comp_table_data, cp1255_comp_table): New arrays.
277           (cp1255_mbtowc): Compose base and combining characters.
278           (cp1255_flushwc): New macro.
279         * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays.
280         * lib/cp1258.h: Include flushwc.h.
281           (cp1258_mbtowc): Compose base and combining characters.
282           (cp1258_flushwc): New macro.
283         * lib/tcvn.h: Include flushwc.h.
284           (tcvn_mbtowc): Compose base and combining characters.
285           (tcvn_flushwc): New macro.
286         * lib/loop_unicode.h: (unicode_transliterate): New function, extracted
287           from unicode_loop_convert.
288           (unicode_loop_convert): Use unicode_transliterate.
289           (unicode_loop_reset): Call xxx_flushwc and output the resulting
290           character.
291         * lib/encodings.def: Add xxx_flushwc member.
292         * lib/encodings_aix.def: Likewise.
293         * lib/encodings_dos.def: Likewise.
294         * lib/encodings_local.def: Likewise.
295         * lib/encodings_osf1.def: Likewise.
296         * lib/genaliases.c: Add an argument to the DEFENCODING macro.
297         * lib/genaliases2.c: Likewise.
298         * lib/genflags.c: Likewise.
299         * lib/iconv.c: Likewise.
300         * tests/table-from.c (try): Reset the iconv descriptor before the main
301           call, and flush it afterwards.
302           (ucs4_decode): New function.
303           (main): Allow up to 3 Unicode characters output. Call ucs4_decode.
304         * tests/CP1255-snippet: New file.
305         * tests/CP1255-snippet.UTF-8: New file.
306         * tests/CP1258-snippet: New file.
307         * tests/CP1258-snippet.UTF-8: New file.
308         * tests/TCVN-snippet: New file.
309         * tests/TCVN-snippet.UTF-8: New file.
310         * tests/Makefile.in (check): Check combining behaviour of CP1255,
311           CP1258, TCVN.
312         * tests/Makefile.msvc (check): Likewise.
313         * tests/Makefile.os2 (check): Likewise.
315 2001-05-22  Bruno Haible  <haible@clisp.cons.org>
317         * lib/converters.h (RET_ILUNI): New macro.
318           (RET_ILSEQ): Change value to -1.
319           (RET_TOOFEW): Change value.
320         * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead
321           of 0. Update handling of xxx_mbtowc return value.
322         * lib/genflags.c (emit_encoding): Likewise.
323         * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ.
324         * lib/armscii_8.h (armscii_8_wctomb): Likewise.
325         * lib/big5.h (big5_wctomb): Likewise.
326         * lib/big5hkscs.h (big5hkscs_wctomb): Likewise.
327         * lib/ces_big5.h (ces_big5_wctomb): Likewise.
328         * lib/ces_gbk.h (ces_gbk_wctomb): Likewise.
329         * lib/cns11643.h (cns11643_wctomb): Likewise.
330         * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise.
331         * lib/cp437.h (cp437_wctomb): Likewise.
332         * lib/cp775.h (cp775_wctomb): Likewise.
333         * lib/cp850.h (cp850_wctomb): Likewise.
334         * lib/cp852.h (cp852_wctomb): Likewise.
335         * lib/cp855.h (cp855_wctomb): Likewise.
336         * lib/cp856.h (cp856_wctomb): Likewise.
337         * lib/cp857.h (cp857_wctomb): Likewise.
338         * lib/cp861.h (cp861_wctomb): Likewise.
339         * lib/cp862.h (cp862_wctomb): Likewise.
340         * lib/cp864.h (cp864_wctomb): Likewise.
341         * lib/cp865.h (cp865_wctomb): Likewise.
342         * lib/cp866.h (cp866_wctomb): Likewise.
343         * lib/cp869.h (cp869_wctomb): Likewise.
344         * lib/cp874.h (cp874_wctomb): Likewise.
345         * lib/cp922.h (cp922_wctomb): Likewise.
346         * lib/cp932ext.h (cp932ext_wctomb): Likewise.
347         * lib/cp932.h (cp932_wctomb): Likewise.
348         * lib/cp936ext.h (cp936ext_wctomb): Likewise.
349         * lib/cp949.h (cp949_wctomb): Likewise.
350         * lib/cp950ext.h (cp950ext_wctomb): Likewise.
351         * lib/cp950.h (cp950_wctomb): Likewise.
352         * lib/cp1046.h (cp1046_wctomb): Likewise.
353         * lib/cp1124.h (cp1124_wctomb): Likewise.
354         * lib/cp1129.h (cp1129_wctomb): Likewise.
355         * lib/cp1133.h (cp1133_wctomb): Likewise.
356         * lib/cp1250.h (cp1250_wctomb): Likewise.
357         * lib/cp1251.h (cp1251_wctomb): Likewise.
358         * lib/cp1252.h (cp1252_wctomb): Likewise.
359         * lib/cp1253.h (cp1253_wctomb): Likewise.
360         * lib/cp1254.h (cp1254_wctomb): Likewise.
361         * lib/cp1255.h (cp1255_wctomb): Likewise.
362         * lib/cp1256.h (cp1256_wctomb): Likewise.
363         * lib/cp1257.h (cp1257_wctomb): Likewise.
364         * lib/cp1258.h (cp1258_wctomb): Likewise.
365         * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise.
366         * lib/dec_kanji.h (dec_kanji_wctomb): Likewise.
367         * lib/euc_cn.h (euc_cn_wctomb): Likewise.
368         * lib/euc_jp.h (euc_jp_wctomb): Likewise.
369         * lib/euc_kr.h (euc_kr_wctomb): Likewise.
370         * lib/euc_tw.h (euc_tw_wctomb): Likewise.
371         * lib/gb12345ext.h (gb12345ext_wctomb): Likewise.
372         * lib/gb12345.h (gb12345_wctomb): Likewise.
373         * lib/gb18030ext.h (gb18030ext_wctomb): Likewise.
374         * lib/gb18030.h (gb18030_wctomb): Likewise.
375         * lib/gb18030uni.h (gb18030uni_wctomb): Likewise.
376         * lib/gb2312.h (gb2312_wctomb): Likewise.
377         * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise.
378         * lib/gbk.h (gbk_wctomb): Likewise.
379         * lib/georgian_academy.h (georgian_academy_wctomb): Likewise.
380         * lib/georgian_ps.h (georgian_ps_wctomb): Likewise.
381         * lib/hkscs.h (hkscs_wctomb): Likewise.
382         * lib/hp_roman8.h (hp_roman8_wctomb): Likewise.
383         * lib/hz.h (hz_wctomb): Likewise.
384         * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise.
385         * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
386         * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise.
387         * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise.
388         * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise.
389         * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
390         * lib/iso646_cn.h (iso646_cn_wctomb): Likewise.
391         * lib/iso646_jp.h (iso646_jp_wctomb): Likewise.
392         * lib/iso8859_1.h (iso8859_1_wctomb): Likewise.
393         * lib/iso8859_2.h (iso8859_2_wctomb): Likewise.
394         * lib/iso8859_3.h (iso8859_3_wctomb): Likewise.
395         * lib/iso8859_4.h (iso8859_4_wctomb): Likewise.
396         * lib/iso8859_5.h (iso8859_5_wctomb): Likewise.
397         * lib/iso8859_6.h (iso8859_6_wctomb): Likewise.
398         * lib/iso8859_7.h (iso8859_7_wctomb): Likewise.
399         * lib/iso8859_8.h (iso8859_8_wctomb): Likewise.
400         * lib/iso8859_9.h (iso8859_9_wctomb): Likewise.
401         * lib/iso8859_10.h (iso8859_10_wctomb): Likewise.
402         * lib/iso8859_13.h (iso8859_13_wctomb): Likewise.
403         * lib/iso8859_14.h (iso8859_14_wctomb): Likewise.
404         * lib/iso8859_15.h (iso8859_15_wctomb): Likewise.
405         * lib/iso8859_16.h (iso8859_16_wctomb): Likewise.
406         * lib/isoir165ext.h (isoir165ext_wctomb): Likewise.
407         * lib/isoir165.h (isoir165_wctomb): Likewise.
408         * lib/jisx0201.h (jisx0201_wctomb): Likewise.
409         * lib/jisx0208.h (jisx0208_wctomb): Likewise.
410         * lib/jisx0212.h (jisx0212_wctomb): Likewise.
411         * lib/johab.h (johab_wctomb): Likewise.
412         * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose):
413           Likewise.
414         * lib/koi8_r.h (koi8_r_wctomb): Likewise.
415         * lib/koi8_ru.h (koi8_ru_wctomb): Likewise.
416         * lib/koi8_u.h (koi8_u_wctomb): Likewise.
417         * lib/ksc5601.h (ksc5601_wctomb): Likewise.
418         * lib/mac_arabic.h (mac_arabic_wctomb): Likewise.
419         * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise.
420         * lib/mac_croatian.h (mac_croatian_wctomb): Likewise.
421         * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise.
422         * lib/mac_greek.h (mac_greek_wctomb): Likewise.
423         * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise.
424         * lib/mac_iceland.h (mac_iceland_wctomb): Likewise.
425         * lib/mac_roman.h (mac_roman_wctomb): Likewise.
426         * lib/mac_romania.h (mac_romania_wctomb): Likewise.
427         * lib/mac_thai.h (mac_thai_wctomb): Likewise.
428         * lib/mac_turkish.h (mac_turkish_wctomb): Likewise.
429         * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise.
430         * lib/mulelao.h (mulelao_wctomb): Likewise.
431         * lib/nextstep.h (nextstep_wctomb): Likewise.
432         * lib/sjis.h (sjis_wctomb): Likewise.
433         * lib/tcvn.h (tcvn_wctomb): Likewise.
434         * lib/tis620.h (tis620_wctomb): Likewise.
435         * lib/ucs2be.h (ucs2be_wctomb): Likewise.
436         * lib/ucs2.h (ucs2_wctomb): Likewise.
437         * lib/ucs2internal.h (ucs2internal_wctomb): Likewise.
438         * lib/ucs2le.h (ucs2le_wctomb): Likewise.
439         * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise.
440         * lib/ucs4.h (ucs4_wctomb): Likewise.
441         * lib/uhc_1.h (uhc_1_wctomb): Likewise.
442         * lib/uhc_2.h (uhc_2_wctomb): Likewise.
443         * lib/utf16be.h (utf16be_wctomb): Likewise.
444         * lib/utf16.h (utf16_wctomb): Likewise.
445         * lib/utf16le.h (utf16le_wctomb): Likewise.
446         * lib/utf32be.h (utf32be_wctomb): Likewise.
447         * lib/utf32.h (utf32_wctomb): Likewise.
448         * lib/utf32le.h (utf32le_wctomb): Likewise.
449         * lib/utf7.h (utf7_wctomb): Likewise.
450         * lib/utf8.h (utf8_wctomb): Likewise.
451         * lib/viscii.h (viscii_wctomb): Likewise.
452         * tools/8bit_tab_to_h.c (main): Likewise.
453         * tools/cjk_tab_to_h.c (output_uni2charset_dense,
454            output_uni2charset_sparse, do_gb18030uni): Likewise.
456 2001-05-19  Bruno Haible  <haible@clisp.cons.org>
458         * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html.
459           (man/%.html): New rule.
460         * man/Makefile.in (docdir, htmldir): New variables.
461           (install, installdirs): Install the HTML formatted man pages in
462           $(htmldir).
463           (uninstall): Uninstall them.
465 2001-05-20  Bruno Haible  <haible@clisp.cons.org>
467         * lib/cp1255.h (cp1255_decomp_table): New array.
468           (cp1255_comb_table): New array.
469           (cp1255_wctomb): Decompose Unicode characters.
470         * tests/CP1255.IRREVERSIBLE.TXT: New file.
472 2001-05-13  Bruno Haible  <haible@clisp.cons.org>
474         * lib/vietcomb.h: New file.
475         * lib/cp1258.h: Include it.
476           (cp1258_comb_table): New array.
477           (cp1258_wctomb): Decompose Unicode characters.
478         * lib/tcvn.h: Include it.
479           (tcvn_comb_table): New array.
480           (tcvn_wctomb): Decompose Unicode characters.
481         * tests/CP1258.IRREVERSIBLE.TXT: New file.
482         * tests/TCVN.IRREVERSIBLE.TXT: New file.
484 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
486         * lib/Makefile.msvc (config.h): Allow the 'del' command to fail.
487         (iconv.lib): Likewise.
489 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
491         * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
492         (CPP): Remove variable.
493         (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so,
494          libiconv_plug_osf.so): Use LDFLAGS.
495         (libiconv_plug_linux.so, libiconv_plug_solaris.so,
496          libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS.
497         * lib/Makefile.msvc (CPP): Remove variable.
498         * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
499         (CPP): Remove variable.
500         (iconv): Use CPPFLAGS and LDFLAGS.
501         * src/Makefile.msvc (CPP): Remove variable.
502         * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
503         (check, table-from, table-to): Use CPPFLAGS and LDFLAGS.
504         * tests/Makefile.msvc (CPP): Remove variable.
506 2001-05-06  Bruno Haible  <haible@clisp.cons.org>
508         * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using
509           gcc. Reported by Paananen Mikko <mikkopa@cs.tut.fi>.
511 2001-04-11  Bruno Haible  <haible@clisp.cons.org>
513         Implement and document UTF-32, UTF-32BE, UTF-32LE.
514         * src/utf32.h, src/utf32be.h, src/utf32le.h: New files.
515         * src/converters.h: Include them.
516         * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings.
517         * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE.
518         * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE.
519         * tests/Makefile.os2 (check): Likewise.
520         * tests/Makefile.msvc (check): Likewise.
521         * tests/UTF-32*snippet*: New files.
523         * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order.
524           (ucs4_wctomb): Allow any 31-bit codepoint.
526 2001-04-11  Bruno Haible  <haible@clisp.cons.org>
528         * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including
529           unassigned code points.
530         * tests/table-from.c (main); When dumping GB18030, don't print code
531           points larger than U+FFFF.
533 2001-03-30  Bruno Haible  <haible@clisp.cons.org>
535         * tools/Makefile (GB18030uni.TXT): Use a table source which includes
536           the unassigned Unicode code points.
537         * lib/gb18030uni.h: Update.
538           (gb18030uni_ranges): Remove bitmap_offset field.
539           (gb18030uni_bitmap): Remove array.
540           (gb18030uni_mbtowc): Omit gb18030uni_bitmap access.
541           (gb18030uni_wctomb): Likewise.
542         * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000.
543           (gb18030_wctomb): Likewise.
545 2001-03-21  Bruno Haible  <haible@clisp.cons.org>
547         * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
549 2001-03-21  Bruno Haible  <haible@clisp.cons.org>
551         * src/iconv.c (print_version): Now called GNU libiconv.
553 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
555         * README: This package is now called GNU libiconv.
557         * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output
558           file.
559         * tools/cjk_tab_to_h.c (output_title): Likewise.
560         * tools/cjk_variants.c (main): Likewise.
561         * lib/gentranslit.c (main): Likewise.
563 2001-03-19  Bruno Haible  <haible@clisp.cons.org>
565         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
566           ac_config_guess and ac_config_sub. Then ignore requests for
567           AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
569 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
571         * INSTALL.generic: New section "Particular Systems".
573 2001-03-10  Bruno Haible  <haible@clisp.cons.org>
575         * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on
576           platforms like BeOS.
578         * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in
579           config.h.
581 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
583         * Version 1.6 released.
584         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
585           Bump version number.
586         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0.
588 2001-03-05  Bruno Haible  <haible@clisp.cons.org>
590         Provide all encodings used by OSF/1 5.1 locales.
591         * lib/dec_kanji.h: New file.
592         * lib/dec_hanyu.h: New file.
593         * lib/converters.h: Include them if USE_OSF1 is defined.
594         * lib/encodings_osf1.def: New file.
595         * lib/genflags.c (main): Include it. Define USE_OSF1.
596         * lib/genaliases2.c (main): Include it conditionally.
597         * lib/iconv.c: Define USE_OSF1 on OSF/1.
598           Include encodings_osf1.def and aliases_osf1.h.
599         * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and
600           aliases_osf1.h.
601         * Makefile.devel (lib/aliases_osf1.h): New target.
602           (all): Depend on lib/aliases_osf1.h.
603           (lib/flags.h): Depend on lib/encodings_osf1.def.
605 2001-03-01  Bruno Haible  <haible@clisp.cons.org>
607         * tools/Makefile (cp775.h): New target.
608           (ALL): Add it.
609         * lib/cp775.h: New file.
610         * lib/converters.h: Include it.
611         * lib/encodings_dos.def (CP775): New encoding.
613 2001-02-25  Bruno Haible  <haible@clisp.cons.org>
615         * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any
616           more.
618 2001-02-24  Bruno Haible  <haible@clisp.cons.org>
620         * src/iconv.c (convert): Use ICONV_CONST.
621         * tests/table-from.c: Include config.h.
622           (try): Use ICONV_CONST.
623         * tests/table-to.c: Include config.h.
624           (main): Use ICONV_CONST.
625         * tests/Makefile.in (INCLUDES): Add -I../lib.
626         * tests/Makefile.os2 (INCLUDES): Likewise.
627         * tests/Makefile.msvc (INCLUDES): Add -I..\lib.
629 2001-02-24  Bruno Haible  <haible@clisp.cons.org>
631         Provide all encodings used by DOS locales.
632         * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h,
633            cp864.h, cp865.h, cp869.h): New targets.
634           (ALL): Add them.
635         * lib/cp437.h: New file.
636         * lib/cp852.h: New file.
637         * lib/cp855.h: New file.
638         * lib/cp857.h: New file.
639         * lib/cp861.h: New file.
640         * lib/cp864.h: New file.
641         * lib/cp865.h: New file.
642         * lib/cp869.h: New file.
643         * lib/converters.h: Include them if USE_DOS is defined.
644         * lib/encodings_dos.def: New file.
645         * lib/genflags.c (main): Include it. Define USE_DOS.
646         * lib/genaliases2.c (main): Include it conditionally.
647         * lib/iconv.c: Define USE_DOS on DJGPP.
648           Include encodings_dos.def and aliases_dos.h.
649         * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and
650           aliases_dos.h.
651         * Makefile.devel (lib/aliases_dos.h): New target.
652           (all): Depend on lib/aliases_dos.h.
653           (lib/flags.h): Depend on lib/encodings_dos.def.
655 2001-02-23  Bruno Haible  <haible@clisp.cons.org>
657         * src/iconv.c [DJGPP]: Include <io.h> and <unistd.h>.
658           (SET_BINARY) [O_BINARY]: New macro.
659           (usage): Mention --binary if available.
660           (convert): Use SET_BINARY instead of setmode.
661           (main): Likewise.
662           Reported by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
664 2001-02-25  Bruno Haible  <haible@clisp.cons.org>
666         * autoconf/ltconfig:
667           sed -e 's/reload object files/produce relocatable object files/'.
669 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
671         * src/iconv.c (usage, main): Make -f and -t options optional.
672         * man/iconv.1: Mark them as optional.
674 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
676         * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from
677           glibc-2.2.2 table.
678         * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E,
679           0xFE5E -> U+2E97. Shift the entire four-byte range.
680         * tests/GB18030.TXT: Regenerated.
682 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
684         Better support for DOS/Windows platforms.
685         * autoconf/ltconfig: Upgrade to libtool-1.3.5.
686         * autoconf/ltmain.sh: Likewise.
687         * autoconf/aclocal.m4: Likewise.
688         * autoconf/install-sh: New file.
689         * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR.
691 2001-02-20  Bruno Haible  <haible@clisp.cons.org>
693         * Makefile.in (libdir, includedir, mandir): Use the autoconf
694           determined value, in order to respect the configure arguments.
695         * lib/Makefile.in (libdir): Likewise.
696         * src/Makefile.in (bindir): Likewise.
697         * man/Makefile.in (mandir): Likewise.
699 2001-02-04  Bruno Haible  <haible@clisp.cons.org>
701         * lib/translit.def: Add all the neutral transliterations from glibc.
702         * lib/gentranslit.c (main): Allow UTF-8 replacements which are in
703           UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'.
704           Avoid accessing data[-1].
705         * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer
706           into translit_data.
708 2001-01-05  Bruno Haible  <haible@clisp.cons.org>
710         Implement and document CP862.
711         * tools/Makefile (ALL): Add cp862.h.
712           (cp862.h): New target.
713         * lib/cp862.h: New file.
714         * lib/converters.h: Include it.
715         * lib/encodings.def (CP862): New encoding.
716         * README, man/iconv_open.3: Add CP862.
717         * tests/Makefile.in (check): Check CP862.
718         * tests/Makefile.msvc (check): Likewise.
719         * tests/Makefile.os2 (check): Likewise.
720         * tests/CP862.TXT: New file.
722 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
724         * autoconf/mbstate_t.m4: New file, from textutils-2.0.10.
725         * Makefile.devel (OTHERMACROS): Add it.
726         * configure.in: Call AC_MBSTATE_T.
727         * lib/config.h.in (mbstate_t): New definition.
728         * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback.
730 2000-12-12  Bruno Haible  <haible@clisp.cons.org>
732         * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
733           "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
734           given. Reported by Toshimitsu Fujiwara.
736 2000-12-08  Bruno Haible  <haible@clisp.cons.org>
738         * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
739         * lib/Makefile.in (exec_prefix): Likewise.
740         * src/Makefile.in (exec_prefix): Likewise.
741         * man/Makefile.in (exec_prefix): Likewise.
743 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
745         * Version 1.5 released.
746         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
747           Bump version number.
748         * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0.
750 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
752         * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
753           Remove files installed in lib by libcharset.
754         * Makefile.msvc (mostlyclean): Likewise.
756         * Makefile.in (check): Depend on target 'all'.
757         * Makefile.os2 (check): Likewise.
758         * Makefile.msvc (check): Depend on target 'force' as well.
760         * src/iconv.c (usage): Take an exitcode argument.
761           (print_version): New function.
762           (main): Recognize --help and --version command line options.
764 2000-12-02  Bruno Haible  <haible@clisp.cons.org>
766         * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
767         * lib/Makefile.msvc: Likewise.
768         * src/Makefile.msvc: Likewise.
769         * tests/Makefile.msvc: Likewise.
771 2000-12-01  Bruno Haible  <haible@clisp.cons.org>
773         * src/iconv.c: Include <fcntl.h>. Define fallbacks for setmode, fileno.
774           (force_binary): New variable.
775           (convert): If requested, set the input O_BINARY.
776           (main): Accept --binary option. If requested, set the output O_BINARY.
777         * tests/check-stateful.bat: Pass --binary to iconv.
778         * tests/check-stateful.cmd: Likewise.
779         * tests/check-translit.bat: Likewise.
780         * tests/check-translit.cmd: Likewise.
782 2000-12-01  Bruno Haible  <haible@clisp.cons.org>
784         * include/iconv.h.in (_libiconv_version): New declaration.
785         * lib/iconv.c (_libiconv_version): New variable.
787 2000-11-30  Bruno Haible  <haible@clisp.cons.org>
789         * Makefile.msvc (all): File now named lib/libcharset.h.
790           (clean, distclean, maintainer-clean): Likewise.
792 2000-11-23  Bruno Haible  <haible@clisp.cons.org>
794         * lib/*: Move here all files from src/*.
795         * src/*: Move all files to lib.
796         * lib/Makefile.in (distclean): No need to remove config.status,
797           config.log, config.cache.
798         * configure.in: Require lib/iconv.c, not src/iconv.c. Create
799           lib/config.h, not src/config.h. Also create lib/Makefile.
800         * Makefile.in (all): Install libcharset into lib, not src. Recurse
801           into lib and src.
802           (install-lib): Recurse into lib, not src.
803           (install): Recurse into libcharset, lib and src.
804           (installdirs, uninstall): Likewise.
805           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
806         * Makefile.msvc (all): Recurse into lib and src.
807           (install): Recurse into libcharset, lib and src.
808           (installdirs, uninstall): Likewise.
809           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
810         * Makefile.os2 (all): Recurse into lib and src.
811           (install-lib): Recurse into lib, not src.
812           (install, uninstall): Recurse into lib and src.
813           (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
814         * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc.
815           (lib/aliases.h): Renamed from src/aliases.h.
816           (lib/aliases.gperf): Renamed from src/aliases.gperf.
817           (lib/aliases_aix.h): Renamed from src/aliases_aix.h.
818           (lib/flags.h): Renamed from src/flags.h.
819           (lib/translit.h): Renamed from src/translit.h.
820         * src/iconv.c: Moved here from tests/iconv.c.
821         * src/Makefile.in: New file.
822         * src/Makefile.msvc: New file.
823         * src/Makefile.os2: New file.
824         * tests/Makefile.in (iconv): Remove target.
825           (../lib/libiconv.la): Renamed from ../src/libiconv.la.
826           (clean): No need to remove iconv.
827         * tests/Makefile.msvc (iconv.exe): Remove target.
828         * tests/Makefile.os2 (iconv.exe): Likewise.
829         * tests/check-stateful: iconv is in ../src.
830         * tests/check-stateful.bat: Likewise.
831         * tests/check-stateful.cmd: Likewise.
832         * tests/check-translit: iconv is in ../src.
833         * tests/check-translit.bat: Likewise.
834         * tests/check-translit.cmd: Likewise.
835         * man/iconv.1: New file.
836         * man/Makefile.in (install, installdirs, uninstall): Also install *.1
837           man pages.
838         * man/Makefile.os2 (MAN3): Renamed from MAN.
839           (MAN1): New variable.
840           (install, uninstall): Also install *.1 man pages.
842 2000-11-21  Bruno Haible  <haible@clisp.cons.org>
844         * Makefile.msvc (all, check, mostlyclean, clean, distclean,
845            maintainer-clean): Recurse into libcharset.
846           (clean, distclean, maintainer-clean): Remove src\libcharset.h.
847         * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable.
848           (iconv.lib): Link with $(LIBCHARSET_OBJECTS).
850 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
852         * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
853           so that it agrees with Microsoft's definition of CP950.
854         * tests/CP950.TXT: Likewise.
855         * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE.
857 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
859         Add support for locale dependent "char" and "wchar_t" encodings.
860         * libcharset: New subdirectory.
861         * src/loop_unicode.h: New file, extracted from src/iconv.c.
862         * src/loop_wchar.h: New file.
863         * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h.
864         * src/encodings_local.def: New file.
865         * src/genaliases.c: Also create aliases for encodings_local.def.
866         * src/converters.h (conv_struct): Add lfuncs field.
867         * src/genflags.c: Add dummy definitions of struct loop_funcs.
868         * src/iconv.c: Include libcharset.h.
869           (loop_funcs): New structure.
870           Treat encodings_local.def like encodings.def.
871           Include loops.h.
872           (iconv_open): Move the bulk of the code to loop_unicode.h.
873           (iconv): Likewise.
874           (iconvctl): Extend determination of TRIVIALP to wchar_t conversion
875           descriptors.
876         * src/Makefile.in (PLUG_SOURCES): Remove variable.
877           (LIBCHARSET_OBJECTS): New variable.
878           (libiconv.la): Link in the LIBCHARSET_OBJECTS.
879           (libiconv_plug_linux.so, libiconv_plug_solaris.so,
880            libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using
881           LIBTOOL_LINK.
882           (iconv.lo): Depend on encodings_local.def.
883         * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def.
884         * src/Makefile.os2 (iconv.obj): Likewise.
885         * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale.
886           Recurse into libcharset.
887         * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB,
888            HAVE_SETLOCALE): New macros.
889         * tests/iconv.c: Include config.h and locale.h.
890           (main): Call setlocale.
891         * tests/Makefile.in (iconv): Search for config.h in ../src.
892         * tests/Makefile.os2 (iconv.exe): Likewise.
893         * tests/Makefile.msvc (iconv.exe): Likewise.
894         * README, man/iconv_open.3: Document "char" and "wchar_t" encodings.
895         * Makefile.in: After "cd", use "&&" not ";".
896           (all, check, mostlyclean, clean, distclean, maintainer-clean):
897           Recurse into libcharset.
898         * Makefile.devel (all): Recurse into libcharset.
899           (src/aliases.gperf): Depend on src/encodings_local.def.
901 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
903         * src/converters.h (ucs4_t): New type.
904           (wchar_t): Remove locally defined override.
905           (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
906         * src/iconv.c (iconv): Likewise.
907         * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t.
908         * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t".
909         * tools/cjk_tab_to_h.c: Likewise.
910         * src/armscii_8.h: Use ucs4_t instead of wchar_t.
911         * src/ascii.h: Likewise.
912         * src/big5.h: Likewise.
913         * src/big5hkscs.h: Likewise.
914         * src/ces_big5.h: Likewise.
915         * src/ces_gbk.h: Likewise.
916         * src/cns11643.h: Likewise.
917         * src/cns11643_1.h: Likewise.
918         * src/cns11643_2.h: Likewise.
919         * src/cns11643_3.h: Likewise.
920         * src/cns11643_inv.h: Likewise.
921         * src/cp1046.h: Likewise.
922         * src/cp1124.h: Likewise.
923         * src/cp1129.h: Likewise.
924         * src/cp1133.h: Likewise.
925         * src/cp1250.h: Likewise.
926         * src/cp1251.h: Likewise.
927         * src/cp1252.h: Likewise.
928         * src/cp1253.h: Likewise.
929         * src/cp1254.h: Likewise.
930         * src/cp1255.h: Likewise.
931         * src/cp1256.h: Likewise.
932         * src/cp1257.h: Likewise.
933         * src/cp1258.h: Likewise.
934         * src/cp850.h: Likewise.
935         * src/cp856.h: Likewise.
936         * src/cp866.h: Likewise.
937         * src/cp874.h: Likewise.
938         * src/cp922.h: Likewise.
939         * src/cp932.h: Likewise.
940         * src/cp932ext.h: Likewise.
941         * src/cp936ext.h: Likewise.
942         * src/cp949.h: Likewise.
943         * src/cp950.h: Likewise.
944         * src/cp950ext.h: Likewise.
945         * src/euc_cn.h: Likewise.
946         * src/euc_jp.h: Likewise.
947         * src/euc_kr.h: Likewise.
948         * src/euc_tw.h: Likewise.
949         * src/gb12345.h: Likewise.
950         * src/gb12345ext.h: Likewise.
951         * src/gb18030.h: Likewise.
952         * src/gb18030ext.h: Likewise.
953         * src/gb18030uni.h: Likewise.
954         * src/gb2312.h: Likewise.
955         * src/gbk.h: Likewise.
956         * src/gbkext1.h: Likewise.
957         * src/gbkext2.h: Likewise.
958         * src/gbkext_inv.h: Likewise.
959         * src/georgian_academy.h: Likewise.
960         * src/georgian_ps.h: Likewise.
961         * src/hkscs.h: Likewise.
962         * src/hp_roman8.h: Likewise.
963         * src/hz.h: Likewise.
964         * src/iso2022_cn.h: Likewise.
965         * src/iso2022_cnext.h: Likewise.
966         * src/iso2022_jp.h: Likewise.
967         * src/iso2022_jp1.h: Likewise.
968         * src/iso2022_jp2.h: Likewise.
969         * src/iso2022_kr.h: Likewise.
970         * src/iso646_cn.h: Likewise.
971         * src/iso646_jp.h: Likewise.
972         * src/iso8859_1.h: Likewise.
973         * src/iso8859_10.h: Likewise.
974         * src/iso8859_13.h: Likewise.
975         * src/iso8859_14.h: Likewise.
976         * src/iso8859_15.h: Likewise.
977         * src/iso8859_16.h: Likewise.
978         * src/iso8859_2.h: Likewise.
979         * src/iso8859_3.h: Likewise.
980         * src/iso8859_4.h: Likewise.
981         * src/iso8859_5.h: Likewise.
982         * src/iso8859_6.h: Likewise.
983         * src/iso8859_7.h: Likewise.
984         * src/iso8859_8.h: Likewise.
985         * src/iso8859_9.h: Likewise.
986         * src/isoir165.h: Likewise.
987         * src/isoir165ext.h: Likewise.
988         * src/java.h: Likewise.
989         * src/jisx0201.h: Likewise.
990         * src/jisx0208.h: Likewise.
991         * src/jisx0212.h: Likewise.
992         * src/johab.h: Likewise.
993         * src/johab_hangul.h: Likewise.
994         * src/koi8_r.h: Likewise.
995         * src/koi8_ru.h: Likewise.
996         * src/koi8_u.h: Likewise.
997         * src/ksc5601.h: Likewise.
998         * src/mac_arabic.h: Likewise.
999         * src/mac_centraleurope.h: Likewise.
1000         * src/mac_croatian.h: Likewise.
1001         * src/mac_cyrillic.h: Likewise.
1002         * src/mac_greek.h: Likewise.
1003         * src/mac_hebrew.h: Likewise.
1004         * src/mac_iceland.h: Likewise.
1005         * src/mac_roman.h: Likewise.
1006         * src/mac_romania.h: Likewise.
1007         * src/mac_thai.h: Likewise.
1008         * src/mac_turkish.h: Likewise.
1009         * src/mac_ukraine.h: Likewise.
1010         * src/mulelao.h: Likewise.
1011         * src/nextstep.h: Likewise.
1012         * src/sjis.h: Likewise.
1013         * src/tcvn.h: Likewise.
1014         * src/tis620.h: Likewise.
1015         * src/ucs2.h: Likewise.
1016         * src/ucs2be.h: Likewise.
1017         * src/ucs2internal.h: Likewise.
1018         * src/ucs2le.h: Likewise.
1019         * src/ucs2swapped.h: Likewise.
1020         * src/ucs4.h: Likewise.
1021         * src/ucs4be.h: Likewise.
1022         * src/ucs4internal.h: Likewise.
1023         * src/ucs4le.h: Likewise.
1024         * src/ucs4swapped.h: Likewise.
1025         * src/uhc_1.h: Likewise.
1026         * src/uhc_2.h: Likewise.
1027         * src/utf16.h: Likewise.
1028         * src/utf16be.h: Likewise.
1029         * src/utf16le.h: Likewise.
1030         * src/utf7.h: Likewise.
1031         * src/utf8.h: Likewise.
1032         * src/viscii.h: Likewise.
1034 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
1036         Make transliteration optional.
1037         * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
1038           Set transliteration on if and only if tocode ends in //TRANSLIT.
1039         * README, man/iconv_open.3: Document how to enable transliteration.
1040         * tests/check-translit: Add //TRANSLIT to iconv's 't' argument.
1041         * tests/check-translit.bat: Likewise.
1042         * tests/check-translit.cmd: Likewise.
1044 2000-11-18  Bruno Haible  <haible@clisp.cons.org>
1046         * man/iconv.3: Fix typo.
1048 2000-10-31  Bruno Haible  <haible@clisp.cons.org>
1050         * README, man/iconv_open.3: Document JOHAB again.
1052 2000-11-15  Bruno Haible  <haible@clisp.cons.org>
1054         * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
1055           (STATIC): Change default from 0 to 1.
1056         * src/Makefile.msvc: Likewise.
1057         * tests/Makefile.msvc: Likewise.
1058         * tests/check-stateless.bat: Call 'sort' with no arguments.
1060 2000-11-12  Bruno Haible  <haible@clisp.cons.org>
1062         * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
1063           version from GNU CVS.
1065 2000-10-24  Bruno Haible  <haible@clisp.cons.org>
1067         * Version 1.4 released.
1068         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
1069           Bump version number.
1070         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0.
1072 2000-10-23  Bruno Haible  <haible@clisp.cons.org>
1074         Implement and document GB18030 and BIG5HKSCS.
1075         * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
1076           functions.
1077           (do_gb18030uni): New function.
1078           (main): Accept gb18030ext, gb18030uni, hkscs.
1079         * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h.
1080           (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT,
1081            hkscs.h): New targets.
1082         * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files.
1083         * src/hkscs.h, src/big5hkscs.h: New files.
1084         * src/converters.h: Include gb18030.h and big5hkscs.h.
1085         * src/encodings.def (GB18030, BIG5HKSCS): New encodings.
1086         * README, man/iconv_open.3: Add GB18030, BIG5HKSCS.
1087         * tests/Makefile.in (check): Check GB18030, BIG5HKSCS.
1088         * tests/Makefile.msvc (check): Likewise.
1089         * tests/Makefile.os2 (check): Likewise.
1090         * tests/GB18030.TXT: New file.
1091         * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files.
1093 2000-10-23  Bruno Haible  <haible@clisp.cons.org>
1095         * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of
1096           UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling.
1097         * tests/table-to.c (main): Likewise.
1099 2000-10-22  Bruno Haible  <haible@clisp.cons.org>
1101         * src/gentranslit.c (main): Read the input in UTF-8 encoding.
1103 2000-10-09  Bruno Haible  <haible@clisp.cons.org>
1105         CPU recognition on OpenBSD.
1106         * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
1107           __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
1109 2000-10-03  Bruno Haible  <haible@clisp.cons.org>
1111         * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
1112           character literals, use the numeric value instead.
1113           Reported by Shin-Hsien Yeh <shyeh@alcatel.com.tw>.
1115 2000-09-29  Bruno Haible  <haible@clisp.cons.org>
1117         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
1118           change.
1120 2000-09-25  Bruno Haible  <haible@clisp.cons.org>
1122         * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
1123           as equivalent to __i386. For OpenBSD.
1125 2000-09-21  Bruno Haible  <haible@clisp.cons.org>
1127         * src/utf16.h (utf16_wctomb): Reject single surrogates.
1128         * src/utf16be.h (utf16be_wctomb): Likewise.
1129         * src/utf16le.h (utf16le_wctomb): Likewise.
1130         * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
1131         * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
1132         * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
1133         * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb):
1134           Likewise.
1135         * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
1136           Likewise.
1138 2000-09-15  Bruno Haible  <haible@clisp.cons.org>
1140         * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
1141         * src/Makefile.in (install, installdirs, uninstall): Likewise.
1142         * man/Makefile.in (install, installdirs, uninstall): Likewise.
1144 2000-09-11  Bruno Haible  <haible@clisp.cons.org>
1146         * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
1148 2000-08-26  Bruno Haible  <haible@clisp.cons.org>
1150         * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
1151           value, not parens.
1153 2000-07-04  Akira Hatakeyama  <akira@sra.co.jp>
1154             Bruno Haible  <haible@clisp.cons.org>
1156         * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2,
1157           tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd,
1158           tests/check-stateless.cmd, tests/check-translit.cmd: New files.
1160 2000-06-28  Bruno Haible  <haible@clisp.cons.org>
1162         * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
1163           cast.
1164         * src/ucs4internal.h (ucs4internal_mbtowc): Likewise.
1165         * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify
1166           sizeof(unsigned short).
1167         * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify
1168           sizeof(unsigned int).
1169         Reported by François Pinard <pinard@iro.umontreal.ca>.
1171 2000-05-29  Bruno Haible  <haible@clisp.cons.org>
1173         * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
1174         Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
1176 2000-05-23  Bruno Haible  <haible@clisp.cons.org>
1178         * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
1179           host_vendor, host_os correctly if $host has more than two hyphens.
1181 2000-04-15  Bruno Haible  <haible@clisp.cons.org>
1183         * Version 1.3 released.
1184         * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
1185           Bump version number.
1186         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0.
1188 2000-04-15  Bruno Haible  <haible@clisp.cons.org>
1190         * THANKS: New file.
1191         * INSTALL.generic: New file.
1193         Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
1194         * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files.
1195         * src/converters.h: Include them.
1196         * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE.
1197         * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE.
1198         * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE.
1199           (UCS-2LE): Renamed from UCS-2-LE.
1200           (UCS-4BE): Renamed from UCS-4-BE.
1201           (UCS-4LE): Renamed from UCS-4-LE.
1202         * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf.
1203         * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
1204         * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
1205         * tests/Makefile.msvc (check): Likewise.
1206         * tests/UCS-*snippet*: New files.
1208         Allow building as a shared library on Windows.
1209         Allow running the tests on Windows.
1210         * Makefile.devel (include/iconv.h.msvc): Remove rule.
1211           (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New
1212           rules.
1213           (all): Update.
1214         * windows/dllexport.h: New file.
1215         * include/iconv.h.msvc: Remove file.
1216         * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New
1217           autogenerated files.
1218         * Makefile.msvc (STATIC, DEBUG): Default to 0.
1219           (all): Choose either include\iconv.h.msvc-static or
1220           include\iconv.h.msvc-shared.
1221           (check): Depend on all.
1222           (all, check, mostlyclean, clean, distclean, maintainer-clean):
1223           Recurse into tests directory.
1224         * src/Makefile.msvc (STATIC, DEBUG): Default to 0.
1225           (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables.
1226           (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV.
1227           (RESOURCES): New variable.
1228           (iconv.lib): Change rule when building DLL.
1229           (clean, distclean): One filename per line.
1230         * tests/Makefile.msvc: New file.
1231         * tests/check-stateful.bat, tests/check-stateless.bat,
1232           tests/check-translit.bat: New files.
1233         * tests/uniq-u.c: New file, taken from GNU textutils.
1234         * README.win32: Update.
1235         Based on patches by Taro Muraoka <koron@tka.att.ne.jp>.
1237 2000-04-14  Bruno Haible  <haible@clisp.cons.org>
1239         Fix an OSF/1 problem.
1240         * configure.in: Define GCC variable for substitution.
1241         * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using
1242           gcc.
1244 2000-04-13  Bruno Haible  <haible@clisp.cons.org>
1246         Fix a SunOS 4 problem.
1247         * include/iconv.h.in: If EILSEQ is not defined by the system, define
1248           it to ENOENT, not EINVAL.
1250 2000-04-02  Bruno Haible  <haible@clisp.cons.org>
1252         Allow building on filesystems lacking symlinks and hard links.
1253         * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
1254           CL_PROG_LN_S.
1255         * configure.in: Add CL_PROG_LN, CL_PROG_LN_S.
1256         * src/Makefile.in (LN): Use autoconfigured value @LN@.
1257           (LN_S): Use autoconfigured value @LN_S@.
1259 2000-03-15  Bruno Haible  <haible@clisp.cons.org>
1261         * Version 1.2 released.
1262         * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
1263         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
1265 2000-03-14  Bruno Haible  <haible@clisp.cons.org>
1267         Implement and document UTF-16BE and UTF16LE.
1268         * src/utf16be.h, src/utf16le.h: New files.
1269         * src/converters.h: Include them.
1270         * src/encodings.def (UTF-16BE, UTF16LE): New encodings.
1271         * README, man/iconv_open.3: Add UTF-16BE, UTF16LE.
1272         * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE.
1273         * tests/UTF-16*snippet*: New files.
1275         * src/utf16.h (utf16_wctomb): Output a byte order mark.
1277 2000-03-13  Bruno Haible  <haible@clisp.cons.org>
1279         Provide all encodings used by AIX locales.
1280         * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
1281           cp1129.h.
1282           (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets.
1283         * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h,
1284           src/cp1129.h: New files.
1285         * src/converters.h: Include them if USE_AIX is defined.
1286         * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046,
1287           CP1124, CP1129.
1288         * src/genflags.c: Define USE_AIX. Include encodings_aix.def.
1289         * src/genaliases2.c: New file.
1290         * src/iconv.c: Define USE_AIX on AIX.
1291           Include encodings_aix.def and aliases_aix.h.
1292           (aliases2_lookup): New function.
1293           (iconv_open): Call aliases2_lookup.
1294         * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and
1295           aliases_aix.h.
1296         * Makefile.devel (all): Add src/aliases_aix.h.
1297           (src/aliases_aix.h): New rule.
1298           (src/flags.h): Depend on src/encodings_aix.def.
1300 2000-02-24  Bruno Haible  <haible@clisp.cons.org>
1302         * src/iconv.c (iconv): Don't write beyond the end of the output buffer.
1303           Reported by Edmund Grimley Evans <edmundo@rano.org>.
1305 2000-02-22  Bruno Haible  <haible@clisp.cons.org>
1307         * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
1309 2000-02-15  Bruno Haible  <haible@clisp.cons.org>
1311         * src/iconv.c (iconv): Add cast in xxx_reset call.
1313 2000-02-05  Bruno Haible  <haible@clisp.cons.org>
1315         * src/tis620.h: Simplify.
1317 2000-01-27  Bruno Haible  <haible@clisp.cons.org>
1319         * Makefile.devel (CLISP_DIR): Change to "..".
1321 2000-01-24  Bruno Haible  <haible@clisp.cons.org>
1323         * Version 1.1 released.
1324         * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
1325         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1.
1327 2000-01-23  Bruno Haible  <haible@clisp.cons.org>
1329         * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
1330           '+' as "+-".
1332 2000-01-22  Bruno Haible  <haible@clisp.cons.org>
1334         * include/iconv.h.in (iconvctl): New declaration.
1335           (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE):
1336           New macros.
1337         * src/iconv.c (iconvctl): New function.
1339         * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE).
1341         Solve a build problem.
1342         * include/iconv.h.in: Renamed from include/libiconv.h.in.
1343         * Makefile.devel: libiconv.h -> iconv.h.
1344         * Makefile.in: Likewise.
1345         * configure.in: Likewise. Remove check for <iconv.h>.
1346         * src/iconv.c: Include iconv.h instead of libiconv.h.
1347         * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise.
1349         * README, man/iconv_open.3: Don't document JOHAB any more.
1351         * man/iconv.3: Clarify return value again.
1353 2000-01-16  Bruno Haible  <haible@clisp.cons.org>
1355         Add aliases.
1356         * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199.
1357           (ISO-8859-15): Add alias ISO-IR-203.
1358           (EUC-CN): Add alias CN-GB, from RFC 1922.
1359           (BIG5): Add alias CN-BIG5, from RFC 1922.
1360         * Makefile.devel (src/aliases.h): Add 8th character to key set.
1362         Drop X11 aliases.
1363         * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias.
1364           (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases.
1365           (KSC_5601): Drop KSC5601.1987-0 alias.
1367         Improve GB/T 12345 (not used yet).
1368         * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT.
1369         * src/gb12345ext.h: Regenerated.
1371         Improve and document CP949.
1372         * tools/Makefile (all): Add uhc_1.h and uhc_2.h.
1373           (uhc_1.h, uhc_2.h): New rules.
1374         * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New
1375           function.
1376           (output_uni2charset_sparse): Take an additional boolean argument.
1377           All callers changed.
1378           (*_uhc_1, *_uhc_2): New functions.
1379           (main): Treat uhc_1 and uhc_2.
1380         * src/uhc_1.h, src/uhc_2.h: New files.
1381         * src/cp949.h: New file, include them.
1382         * src/converters.h: Include it.
1383         * src/encodings.def (KSC_5601): Remove alias CP949.
1384           (CP949): New encoding.
1385         * README, man/iconv_open.3: Add CP949.
1386         * tests/Makefile.in (check): Check CP949.
1387         * tests/CP949.TXT: New file.
1389         Document CP932.
1390         * README, man/iconv_open.3: Add CP932.
1391         * tests/Makefile.in (check): Check CP932.
1392         * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
1394         * Makefile.devel (src/flags.h): Depend on src/converters.h.
1396         * tests/Makefile.in (check): Check JIS_X0201.
1397         * tests/JIS_X0201.TXT: New file.
1399         * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf.
1400         * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
1402         * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc.
1403           (iso2022_cn_ext_wctomb): Use isoir165_wctomb.
1405         Add ISO-IR-165 (undocumented).
1406         * tools/Makefile (all): Add isoir165ext.h.
1407           (isoir165ext.h): New rule.
1408         * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312.
1409         * src/isoir165.h, src/isoir165ext.h: New files.
1410         * src/converters.h: Include it.
1411         * src/encodings.def: Add ISO-IR-165.
1412         * tests/Makefile.in (check): Check ISO-IR-165.
1413         * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files.
1415         Add ISO646-CN (undocumented).
1416         * src/iso646_cn.h: New file.
1417         * src/converters.h: Include it.
1418         * src/encodings.def: Add ISO646-CN.
1419         * tests/Makefile.in (check): Check ISO646-CN.
1420         * tests/ISO646-CN.TXT: New file.
1422         Add ISO646-JP (undocumented).
1423         * src/iso646_jp.h: New file.
1424         * src/converters.h: Include it.
1425         * src/encodings.def: Add ISO646-JP.
1426         * tests/Makefile.in (check): Check ISO646-JP.
1427         * tests/ISO646-JP.TXT: New file.
1429 2000-01-05  Bruno Haible  <haible@clisp.cons.org>
1431         Add ISO-8859-16.
1432         * tools/Makefile (all): Add iso8859_16.h.
1433           (iso8859_16.h): New rule.
1434         * src/iso8859_16.h: New file.
1435         * src/converters.h: Include it.
1436         * src/encodings.def: Add ISO-8859-16.
1437         * README, man/iconv_open.3: Add ISO-8859-16.
1438         * tests/Makefile.in (check): Check ISO-8859-16.
1439         * tests/ISO-8859-16.TXT: New file.
1441         * man/iconv.3: Clarify what happens *inbuf in case 3.
1443         * src/iso8859_8.h: Update using newest table from ftp.unicode.org.
1444         * tests/ISO-8859-8.TXT: Likewise.
1446 2000-01-04  Bruno Haible  <haible@clisp.cons.org>
1448         * Version 1.0 released.
1449         * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number.
1450         * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0.
1451           (libiconv.la): Use LIBICONV_VERSION_INFO.
1453 2000-01-03  Bruno Haible  <haible@clisp.cons.org>
1455         * tests/Makefile.in: New file.
1456           tests/check-stateless, tests/table-from.c, tests/table-to.c,
1457           tests/*.TXT, tests/genutf8.c: New files, checks for stateless
1458           encodings.
1459           tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
1460           checks for stateful encodings.
1461         * Makefile.in (all, check, mostlyclean, clean, distclean,
1462            maintainer-clean): Descend into tests directory.
1463         * configure.in: Add tests/Makefile to AC_OUTPUT duties.
1465         * src/gentranslit.c: New file.
1466         * Makefile.devel (src/translit.h): New rule.
1467         * src/translit.def, src/translit.h: New files.
1468         * src/iconv.c: Include it.
1469           (iconv): Transliterate using translit.h table.
1471         * src/genflags.c: New file.
1472         * Makefile.devel (src/flags.h): New rule.
1473         * src/flags.h: New file.
1474         * src/iconv.c: Include it.
1475           (encoding): Add field 'oflags'.
1476           (all_encodings): Initialize the field 'oflags'.
1477           (iconv_open): Copy field 'oflags'.
1478           (iconv): Transliterate quotation marks U+2018, U+2019, U+201A.
1479         * src/Makefile.in (iconv.lo): Update dependencies.
1481         * src/converters.h: New file, extracted from src/iconv.c.
1482         * src/iconv.c: Include it.
1483         * src/Makefile.in (iconv.lo): Update dependencies.
1485         * tools/cjk_variants.c: New file.
1486         * tools/Makefile (ALL): Add cjk_variants.h.
1487           (cjk_variants.h, cjk_variants): New rules.
1488         * src/cjk_variants.h: New file.
1489         * src/iconv.c: Include it.
1490           (iconv): Use cjk_variants for transliteration.
1492         * man/iconv.3: Fix description of return value.
1493         * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration.
1494         * iso2022_kr.h (iso2022kr_wctomb): Likewise.
1495         * src/iconv.c (iconv): Do Hangul transliteration here and increment
1496           result once for every transliterated character.
1497         * src/johab_hangul.h (johab_hangul_decompose): Change result array
1498           from 'unsigned char*' to 'wchar_t*'.
1500         * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing
1501           0xfffd.
1503         * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6.
1505         * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like
1506           Katakana.
1508         * src/euc_tw.h (euc_tw_mbtowc): Fix typo.
1510         * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
1511           0xC6A1..0xC7FE.
1513         * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was
1514           not being excluded. Fix that.
1515         * src/ksc5601.h: Regenerated.
1516         * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is
1517           valid in KSC5601/KSX1001 but not in JOHAB.
1519         * src/iconv.c (conv_struct): Add fields iindex, oindex.
1520           (iconv_open): Fill in iindex, oindex.
1522         * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and
1523           "csUnicode11", from IANA charset list.
1524           (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH",
1525           from IANA charset list.
1526           (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208",
1527           from IANA charset list.
1528           (GB_2312-80): New encoding, from IANA charset list.
1530         * README, man/iconv_open.3: Add MacIceland and MacUkraine.
1532         * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf.
1533           (all): Depend on src/aliases.h.
1534         * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and
1535           $(srcdir)/aliases.gperf.
1536           (clean): Clean up.
1538         * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl".
1540 1999-12-31  Bruno Haible  <haible@clisp.cons.org>
1542         * Version 0.3 released.