update regex to use the emulated mb*/wc* functions
[gnulib.git] / ChangeLog
index b64554b..49ac738 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,381 @@
+2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
+
+       * modules/regex: Request emulations for the mb*/wc* functions we need.
+       * m4/regex.m4: Don't look for those functions here.
+       * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
+
+2008-12-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fnmatch (Depends-on): Remove duplicated dependency.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
+       * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
+       (Include): Remove conditionalization.
+       * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
+       (Include): Remove conditionalization.
+       * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
+       (Include): Remove conditionalization.
+       * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
+       * m4/mbfile.m4 (gl_MBFILE): Likewise.
+       * NEWS: Mention the change.
+       Reported by Alan Hourihane <alanh@fairlite.co.uk>
+       via Sergey Poznyakoff <gray@gnu.org.ua>.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Extended multibyte and wide character utilities
+       <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
+       wcrtomb, wcsrtombs.
+       (Support for systems lacking POSIX:2008): Add accept, bind, close,
+       connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
+       mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
+       setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh: Change section titles to refer to POSIX:2008.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/wcsnrtombs-tests: New file.
+       * tests/test-wcsnrtombs1.sh: New file.
+       * tests/test-wcsnrtombs2.sh: New file.
+       * tests/test-wcsnrtombs3.sh: New file.
+       * tests/test-wcsnrtombs4.sh: New file.
+       * tests/test-wcsnrtombs.c: New file.
+
+       New module 'wcsnrtombs'.
+       * lib/wchar.in.h (wcsnrtombs): New declaration.
+       * lib/wcsnrtombs.c: New file.
+       * lib/wcsrtombs-state.c: New file.
+       * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
+       (internal_state): Remove variable.
+       * m4/wcsnrtombs.m4: New file.
+       * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
+       compilation units.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
+       HAVE_WCSNRTOMBS.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
+       HAVE_WCSNRTOMBS.
+       * modules/wcsnrtombs: New file.
+       * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
+       * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/wcsrtombs-tests: New file.
+       * tests/test-wcsrtombs1.sh: New file.
+       * tests/test-wcsrtombs2.sh: New file.
+       * tests/test-wcsrtombs3.sh: New file.
+       * tests/test-wcsrtombs4.sh: New file.
+       * tests/test-wcsrtombs.c: New file.
+
+       New module 'wcsrtombs'.
+       * lib/wchar.in.h (wcsrtombs): New declaration.
+       * lib/wcsrtombs.c: New file.
+       * m4/wcsrtombs.m4: New file.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
+       HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
+       HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
+       * modules/wcsrtombs: New file.
+       * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
+       bugs.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
+       * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
+       * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
+       with NULL destination argument in various locales. Set REPLACE_WCRTOMB
+       if not correct.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
+       * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
+       * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
+       m4/locale-zh.m4, m4/codeset.m4.
+       * doc/posix-functions/wcrtomb.texi: Document the bug.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Work around a btowc() bug on IRIX 6.5.
+       * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
+       * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
+       REPLACE_WTOBC if not.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
+       * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
+       * doc/posix-functions/btowc.texi: Mention the IRIX bug.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/wcrtomb-tests: New file.
+       * tests/test-wcrtomb.sh: New file.
+       * tests/test-wcrtomb.c: New file.
+
+       New module 'wcrtomb'.
+       * lib/wchar.in.h (wcrtomb): New declaration.
+       * lib/wcrtomb.c: New file.
+       * m4/wcrtomb.m4: New file.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
+       HAVE_WCRTOMB.
+       * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
+       HAVE_WCRTOMB.
+       * modules/wcrtomb: New file.
+       * doc/posix-functions/wcrtomb.texi: Mention the new module.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
+       * modules/mbsrtowcs (Files): Likewise.
+       * modules/wctob (Files): Likewise.
+       * modules/c-strcase-tests (Files): Likewise.
+       * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
+       * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
+       * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
+       * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
+       * modules/vasnprintf-posix-tests (Files): Likewise.
+
+2008-12-21  William Pursell  <bill.pursell@gmail.com>
+
+       gitlog-to-changelog: pass all command-line arguments to git-log
+       * build-aux/gitlog-to-changelog: When producing a ChangeLog,
+       it is sometimes convenient to filter the commits in various ways.
+       gitlog-to-changelog only allows --since to specify a start date,
+       but git-log itself supports many other filtering mechanisms.
+       At the moment, I want to filter by branch name.  Rather than
+       adding a --branch option to gitlog-to-changelog, it seems more
+       flexible to simply pass all options directly to git-log and let
+       git do the work.  Notice that this effectively makes --since a
+       redundant option for gitlog-to-changelog, but removing it would
+       require current usage to change since calls would then require
+       an additional '--'.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/mbsnrtowcs-tests: New file.
+       * tests/test-mbsnrtowcs1.sh: New file.
+       * tests/test-mbsnrtowcs2.sh: New file.
+       * tests/test-mbsnrtowcs3.sh: New file.
+       * tests/test-mbsnrtowcs4.sh: New file.
+       * tests/test-mbsnrtowcs.c: New file.
+
+       New module 'mbsnrtowcs'.
+       * lib/wchar.in.h (mbsnrtowcs): New declaration.
+       * lib/mbsnrtowcs.c: New file.
+       * lib/mbsrtowcs-state.c: New file.
+       * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
+       (internal_state): Remove variable.
+       * m4/mbsnrtowcs.m4: New file.
+       * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
+       compilation units.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
+       HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
+       * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
+       HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
+       * modules/mbsnrtowcs: New file.
+       * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
+       * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
+       portability problem.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Work around mbsrtowcs bug.
+       * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
+       (gl_FUNC_MBSRTOWCS): Invoke it.
+       * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
+       m4/locale-zh.m4.
+       * doc/posix-functions/mbsrtowcs.texi: Document the bug.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Update doc for AIX.
+       * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
+       16-bit wchar_t type.
+       * doc/posix-functions/btowc.texi: Likewise.
+       * doc/posix-functions/fgetwc.texi: Likewise.
+       * doc/posix-functions/fgetws.texi: Likewise.
+       * doc/posix-functions/fputwc.texi: Likewise.
+       * doc/posix-functions/fputws.texi: Likewise.
+       * doc/posix-functions/fwide.texi: Likewise.
+       * doc/posix-functions/fwprintf.texi: Likewise.
+       * doc/posix-functions/fwscanf.texi: Likewise.
+       * doc/posix-functions/getwchar.texi: Likewise.
+       * doc/posix-functions/getwc.texi: Likewise.
+       * doc/posix-functions/iswalnum.texi: Likewise.
+       * doc/posix-functions/iswalpha.texi: Likewise.
+       * doc/posix-functions/iswblank.texi: Likewise.
+       * doc/posix-functions/iswcntrl.texi: Likewise.
+       * doc/posix-functions/iswctype.texi: Likewise.
+       * doc/posix-functions/iswdigit.texi: Likewise.
+       * doc/posix-functions/iswgraph.texi: Likewise.
+       * doc/posix-functions/iswlower.texi: Likewise.
+       * doc/posix-functions/iswprint.texi: Likewise.
+       * doc/posix-functions/iswpunct.texi: Likewise.
+       * doc/posix-functions/iswspace.texi: Likewise.
+       * doc/posix-functions/iswupper.texi: Likewise.
+       * doc/posix-functions/iswxdigit.texi: Likewise.
+       * doc/posix-functions/mbrtowc.texi: Likewise.
+       * doc/posix-functions/mbsrtowcs.texi: Likewise.
+       * doc/posix-functions/mbstowcs.texi: Likewise.
+       * doc/posix-functions/mbtowc.texi: Likewise.
+       * doc/posix-functions/putwchar.texi: Likewise.
+       * doc/posix-functions/putwc.texi: Likewise.
+       * doc/posix-functions/swprintf.texi: Likewise.
+       * doc/posix-functions/tolower.texi: Likewise.
+       * doc/posix-functions/toupper.texi: Likewise.
+       * doc/posix-functions/towctrans.texi: Likewise.
+       * doc/posix-functions/ungetwc.texi: Likewise.
+       * doc/posix-functions/vswprintf.texi: Likewise.
+       * doc/posix-functions/wcrtomb.texi: Likewise.
+       * doc/posix-functions/wcscat.texi: Likewise.
+       * doc/posix-functions/wcschr.texi: Likewise.
+       * doc/posix-functions/wcscmp.texi: Likewise.
+       * doc/posix-functions/wcscoll.texi: Likewise.
+       * doc/posix-functions/wcscpy.texi: Likewise.
+       * doc/posix-functions/wcscspn.texi: Likewise.
+       * doc/posix-functions/wcsftime.texi: Likewise.
+       * doc/posix-functions/wcslen.texi: Likewise.
+       * doc/posix-functions/wcsncat.texi: Likewise.
+       * doc/posix-functions/wcsncmp.texi: Likewise.
+       * doc/posix-functions/wcsncpy.texi: Likewise.
+       * doc/posix-functions/wcspbrk.texi: Likewise.
+       * doc/posix-functions/wcsrchr.texi: Likewise.
+       * doc/posix-functions/wcsrtombs.texi: Likewise.
+       * doc/posix-functions/wcsspn.texi: Likewise.
+       * doc/posix-functions/wcsstr.texi: Likewise.
+       * doc/posix-functions/wcstod.texi: Likewise.
+       * doc/posix-functions/wcstof.texi: Likewise.
+       * doc/posix-functions/wcstoimax.texi: Likewise.
+       * doc/posix-functions/wcstok.texi: Likewise.
+       * doc/posix-functions/wcstold.texi: Likewise.
+       * doc/posix-functions/wcstoll.texi: Likewise.
+       * doc/posix-functions/wcstol.texi: Likewise.
+       * doc/posix-functions/wcstombs.texi: Likewise.
+       * doc/posix-functions/wcstoull.texi: Likewise.
+       * doc/posix-functions/wcstoul.texi: Likewise.
+       * doc/posix-functions/wcstoumax.texi: Likewise.
+       * doc/posix-functions/wcswidth.texi: Likewise.
+       * doc/posix-functions/wcsxfrm.texi: Likewise.
+       * doc/posix-functions/wctob.texi: Likewise.
+       * doc/posix-functions/wctomb.texi: Likewise.
+       * doc/posix-functions/wctrans.texi: Likewise.
+       * doc/posix-functions/wctype.texi: Likewise.
+       * doc/posix-functions/wcwidth.texi: Likewise.
+       * doc/posix-functions/wmemchr.texi: Likewise.
+       * doc/posix-functions/wmemcmp.texi: Likewise.
+       * doc/posix-functions/wmemcpy.texi: Likewise.
+       * doc/posix-functions/wmemmove.texi: Likewise.
+       * doc/posix-functions/wmemset.texi: Likewise.
+       * doc/posix-functions/wprintf.texi: Likewise.
+       * doc/posix-functions/wscanf.texi: Likewise.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Update doc for HP-UX 11.11.
+       * doc/posix-functions/btowc.texi: Clarify that the function is missing
+       in HP-UX version 11.00, not in all versions of HP-UX 11.
+       * doc/posix-functions/fwide.texi: Likewise.
+       * doc/posix-functions/fwprintf.texi: Likewise.
+       * doc/posix-functions/fwscanf.texi: Likewise.
+       * doc/posix-functions/inet_ntop.texi: Likewise.
+       * doc/posix-functions/inet_pton.texi: Likewise.
+       * doc/posix-functions/mbrlen.texi: Likewise.
+       * doc/posix-functions/mbrtowc.texi: Likewise.
+       * doc/posix-functions/mbsinit.texi: Likewise.
+       * doc/posix-functions/mbsrtowcs.texi: Likewise.
+       * doc/posix-functions/swprintf.texi: Likewise.
+       * doc/posix-functions/swscanf.texi: Likewise.
+       * doc/posix-functions/towctrans.texi: Likewise.
+       * doc/posix-functions/vfwprintf.texi: Likewise.
+       * doc/posix-functions/vswprintf.texi: Likewise.
+       * doc/posix-functions/vwprintf.texi: Likewise.
+       * doc/posix-functions/wcrtomb.texi: Likewise.
+       * doc/posix-functions/wcsrtombs.texi: Likewise.
+       * doc/posix-functions/wcsstr.texi: Likewise.
+       * doc/posix-functions/wctob.texi: Likewise.
+       * doc/posix-functions/wctrans.texi: Likewise.
+       * doc/posix-functions/wmemchr.texi: Likewise.
+       * doc/posix-functions/wmemcmp.texi: Likewise.
+       * doc/posix-functions/wmemcpy.texi: Likewise.
+       * doc/posix-functions/wmemmove.texi: Likewise.
+       * doc/posix-functions/wmemset.texi: Likewise.
+       * doc/posix-functions/wprintf.texi: Likewise.
+       * doc/posix-functions/wscanf.texi: Likewise.
+
+2008-12-21  Bruno Haible  <bruno@clisp.org>
+
+       Work around a portability problem.
+       * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
+       * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
+
+2008-12-20  Bruno Haible  <bruno@clisp.org>
+
+       * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
+       * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
+       REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
+       * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
+
+       Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
+       * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
+       set.
+       (GNULIB_defined_mbstate_t): New macro.
+       (mbsinit): Redefine if REPLACE_MBSINIT is set.
+       (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
+       * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
+       reuses the system's mbrtowc function but works around the bugs.
+       * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
+       gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
+       macros.
+       (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
+       be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
+       MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
+       * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
+       REPLACE_MBSINIT if mbsinit needs to be overridden.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
+       REPLACE_MBSINIT, REPLACE_MBRTOWC.
+       * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
+       REPLACE_MBSINIT, REPLACE_MBRTOWC.
+       * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
+       m4/locale-zh.m4.
+       (Depends): Add mbsinit.
+       * modules/mbsinit (Depends): Add mbrtowc.
+       * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
+
+2008-12-20  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
+       so that there are no conversion errors on AIX.
+       * tests/test-mbsrtowcs.c (main): LIkewise.
+
+2008-12-20  Bruno Haible  <bruno@clisp.org>
+
+       Work around wctob bug on Solaris <= 9.
+       * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
+       * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
+       * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
+       * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
+       * modules/wctob (Files): Add m4/locale-fr.m4.
+       * doc/posix-functions/wctob.texi: Mention the Solaris bug.
+
+2008-12-20  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
+       /dev/null.
+       * tests/test-select-in.sh: Likewise.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2008-12-20  Bruno Haible  <bruno@clisp.org>
+
+       Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
+       * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
+       Cygwin 1.5.x.
+
 2008-12-20  Bruno Haible  <bruno@clisp.org>
 
        Ensure mbstate_t is defined on HP-UX 11.11.