X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=18c5a0ee2ee6103a6416939b7f42d0a812a8f96c;hb=4c5d3e6890c28bb87c9dd27307c5c00f99d96351;hp=4528062279f30189a0d7fcc263b277cf70811daf;hpb=fc12f35ab10cca4dc698ddee31b5e2bbeeb54167;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 452806227..18c5a0ee2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,959 @@ +2011-02-10 Jim Meyering + + doc: update users.txt + * users.txt: Add iwhd. + +2011-02-09 Bruno Haible + + gnulib-tool: Make copyright notice adjustment more robust. + * gnulib-tool (func_import): In sed_transform_main_lib_file, + sed_transform_build_aux_file, sed_transform_testsrelated_lib_file, + allow a line break to occur after "GNU" in "GNU [Lesser] General Public + License". + Reported by Glenn Morris via Paul Eggert. + +2011-02-06 Bruno Haible + + New module 'towctrans'. + * modules/towctrans: New file. + * lib/wctype.in.h (towctrans): New declaration. + * lib/towctrans.c: New file. + * lib/towctrans-impl.h: New file. + * m4/towctrans.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS. + * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS. + * tests/test-wctype-h-c++.cc: Test the declaration of towctrans. + * doc/posix-functions/towctrans.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wctrans'. + * modules/wctrans: New file. + * lib/wctype.in.h (wctrans): New declaration. + * lib/wctrans.c: New file. + * lib/wctrans-impl.h: New file. + * m4/wctrans.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS. + * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS. + * tests/test-wctype-h-c++.cc: Test the declaration of wctrans. + * doc/posix-functions/wctrans.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'iswctype'. + * modules/iswctype: New file. + * lib/wctype.in.h (iswctype): New declaration. + * lib/iswctype.c: New file. + * lib/iswctype-impl.h: New file. + * m4/iswctype.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE. + * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE. + * tests/test-wctype-h-c++.cc: Test the declaration of iswctype. + * doc/posix-functions/iswctype.texi: Mention the new module and the + HP-UX 11.00 problem. + +2011-02-06 Bruno Haible + + New module 'wctype'. + * modules/wctype: Change to represent the wctype() substitute. + * lib/wctype.in.h (wctype): New declaration. + * lib/wctype.c: New file. + * lib/wctype-impl.h: New file. + * m4/wctype.m4: New file. + * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared. + (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE. + * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE. + * tests/test-wctype-h-c++.cc: Test the declaration of wctype. + * doc/posix-functions/wctype.texi: Mention the new module and the + HP-UX 11.00 problem. + +2011-02-06 Bruno Haible + + wctype-h: Ensure wctype_t and wctrans_t are defined. + * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations. + * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T. + (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T. + * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T, + HAVE_WCTRANS_T. + * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined. + +2011-02-09 Paul Eggert + + flock: fix license typo + + * lib/flock.c: Fix typo in license. One of the "Lesser"s was + omitted. + +2011-02-08 Bruno Haible + + Split large sed scripts, for HP-UX sed. + * modules/math (Makefile.am): Split sed scripts around 50 sed commands, + to avoid HP-UX limit of 99 commands, in the near future. + * modules/stdlib (Makefile.am): Likewise. + * modules/unistd (Makefile.am): Likewise. + * modules/wchar (Makefile.am): Likewise. + Reported by Albert Chin . + Suggestion by Ralf Wildenhues in + . + +2011-02-08 Paul Eggert + Bruno Haible + + stdlib: improve random_r modularization + * lib/stdlib.in.h: Encapsulate all the stuff having to do with + random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that + you also need the random_r module to get this material right. + * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ... + * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here. + (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it. + +2011-02-08 Paul Eggert + + stdlib: don't depend on stdint + * lib/stdlib.in.h: Don't include merely because + GNULIB_POSIXCHECK is defined. GNULIB_POSIXCHECK seems to + be independent of whether stdint.h is needed. + * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data + here, instead of ... + * m4/stdlib_h.m4 (gl_STDLIB_H): ... here. Applications that need + struct random_data should be using the random_r module, not just + the stdlib module (which wouldn't make sense: what package needs + just struct random_data without also needing random_r?). + * modules/stdlib (Depends-on): Remove stdint. + + getloadavg: don't depend on c-strtod, cloexec, fcntl-safer + See the thread rooted at + . + * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h. + Include only if (defined __linux__ || defined __CYGWIN__ + || defined SUNOS_5 || (defined LOAD_AVE_TYPE && ! defined + __VMS)); previously it was always included (via fcntl--.h). + (getloadavg): Do not use c_strtod. Instead, approximate it by + hand; this is good enough for load averages. Also, do not use + set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC + flags directly if available and don't bother otherwise. (Packages + that need the extra reliability should use the modules that define + these flags on older platforms that lack them.) + * modules/getloadavg (Depends-on): Remove c-strtod, cloexec, + fcntl-safer. + +2011-02-08 Jim Meyering + + di-set.h, ino-map.h: add multiple-inclusion guard + Technically, the guard is required only for ino-map.h, due to its + INO_MAP_INSERT_FAILURE definition, but do both for consistency. + * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H. + * lib/ino-map.h: Likewise. + +2011-02-06 Bruno Haible + + iswblank: Ensure declaration on glibc systems. + * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS. + * modules/iswblank (Dependencies): Add 'extensions'. + * doc/posix-functions/iswblank.texi: Document the glibc problem. + +2011-02-06 Bruno Haible + + New module 'iswblank'. + * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0. + * modules/iswblank: New file. + * modules/wctype-h (Files): Remove lib/iswblank.c. + (Makefile.am): Substitute GNULIB_ISWBLANK. + * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4. + * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro. + (gl_WCTYPE_H_DEFAULTS): New macro. + (gl_WCTYPE_H): Require it. Remove iswblank related code. + * modules/iswblank-tests: New file. + * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c. + * tests/test-wctype-h.c (main): Remove iswblank tests. + * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank. + * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead + of 'wctype-h'. + * NEWS: Mention the change. + * modules/mbchar (Depends-on): Add iswblank. + +2011-02-08 Bruno Haible + + di-set tests: Refactor. + * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop + unnecessary includes. + (ASSERT): Remove macro. + (main): Make C90 compliant by avoiding variable declaration after + statement. + * modules/di-set-tests (Files): Add tests/macros.h. + +2011-02-08 Bruno Haible + + ino-map tests: Refactor. + * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop + unnecessary includes. + (ASSERT): Remove macro. + (main): Make C90 compliant by avoiding variable declaration after + statement. + * modules/ino-map-tests (Files): Add tests/macros.h. + +2011-02-08 Jim Meyering + + di-set: add "const" to a cast + * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to + "(void const *)", not "(void *)". Spotted by Bruno Haible. + +2011-02-06 Bruno Haible + + Rename module 'wctype' to 'wctype-h'. + * modules/wctype-h: Renamed from modules/wctype. + * modules/wctype: Simplyfy to a redirection to 'wctype-h'. + * modules/wctype-h-tests: Renamed from modules/wctype-tests. + (Files, Depends-on, Makefile.am): Update. + * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests. + (Files, Makefile.am): Update. + * tests/test-wctype-h.c: Renamed from tests/test-wctype.c. + * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc. + * doc/posix-headers/wctype.texi: Update. + * doc/posix-functions/iswalnum.texi: Update. + * doc/posix-functions/iswalpha.texi: Update. + * doc/posix-functions/iswblank.texi: Update. + * doc/posix-functions/iswcntrl.texi: Update. + * doc/posix-functions/iswdigit.texi: Update. + * doc/posix-functions/iswgraph.texi: Update. + * doc/posix-functions/iswlower.texi: Update. + * doc/posix-functions/iswprint.texi: Update. + * doc/posix-functions/iswpunct.texi: Update. + * doc/posix-functions/iswspace.texi: Update. + * doc/posix-functions/iswupper.texi: Update. + * doc/posix-functions/iswxdigit.texi: Update. + * doc/posix-functions/towlower.texi: Update. + * doc/posix-functions/towupper.texi: Update. + * NEWS: Mention the change. + * modules/fnmatch (Dependencies): Add wctype-h, remove wctype. + * modules/mbchar (Dependencies): Likewise. + * modules/mbswidth (Dependencies): Likewise. + * modules/quotearg (Dependencies): Likewise. + * modules/regex (Dependencies): Likewise. + * modules/wcscasecmp (Dependencies): Likewise. + * modules/wcsncasecmp (Dependencies): Likewise. + * modules/wcwidth (Dependencies): Likewise. + +2011-02-06 Bruno Haible + + New module 'wcswidth'. + * modules/wcswidth: New file. + * lib/wchar.in.h (wcswidth): New declaration. + * lib/wcswidth.c: New file. + * lib/wcswidth-impl.h: New file, from libutf8 with modifications. + * m4/wcswidth.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH, + REPLACE_WCSWIDTH. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH, + HAVE_WCSWIDTH, REPLACE_WCSWIDTH. + * tests/test-wchar-c++.cc: Test the declaration of wcswidth. + * doc/posix-functions/wcswidth.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcstok'. + * modules/wcstok: New file. + * lib/wchar.in.h (wcstok): New declaration. + * lib/wcstok.c: New file. + * lib/wcstok-impl.h: New file, from libutf8 with modifications. + * m4/wcstok.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK. + * tests/test-wchar-c++.cc: Test the declaration of wcstok. + * doc/posix-functions/wcstok.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsstr'. + * modules/wcsstr: New file. + * lib/wchar.in.h (wcsstr): New declaration. + * lib/wcsstr.c: New file. + * lib/wcsstr-impl.h: New file, from libutf8 with modifications. + * m4/wcsstr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR. + * tests/test-wchar-c++.cc: Test the declaration of wcsstr. + * doc/posix-functions/wcsstr.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcspbrk'. + * modules/wcspbrk: New file. + * lib/wchar.in.h (wcspbrk): New declaration. + * lib/wcspbrk.c: New file. + * lib/wcspbrk-impl.h: New file, from libutf8 with modifications. + * m4/wcspbrk.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK. + * tests/test-wchar-c++.cc: Test the declaration of wcspbrk. + * doc/posix-functions/wcspbrk.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsspn'. + * modules/wcsspn: New file. + * lib/wchar.in.h (wcsspn): New declaration. + * lib/wcsspn.c: New file. + * lib/wcsspn-impl.h: New file, from libutf8 with modifications. + * m4/wcsspn.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN. + * tests/test-wchar-c++.cc: Test the declaration of wcsspn. + * doc/posix-functions/wcsspn.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcscspn'. + * modules/wcscspn: New file. + * lib/wchar.in.h (wcscspn): New declaration. + * lib/wcscspn.c: New file. + * lib/wcscspn-impl.h: New file, from libutf8 with modifications. + * m4/wcscspn.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN. + * tests/test-wchar-c++.cc: Test the declaration of wcscspn. + * doc/posix-functions/wcscspn.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsrchr'. + * modules/wcsrchr: New file. + * lib/wchar.in.h (wcsrchr): New declaration. + * lib/wcsrchr.c: New file. + * lib/wcsrchr-impl.h: New file, from libutf8 with modifications. + * m4/wcsrchr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR. + * tests/test-wchar-c++.cc: Test the declaration of wcsrchr. + * doc/posix-functions/wcsrchr.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcschr'. + * modules/wcschr: New file. + * lib/wchar.in.h (wcschr): New declaration. + * lib/wcschr.c: New file. + * lib/wcschr-impl.h: New file, from libutf8 with modifications. + * m4/wcschr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR. + * tests/test-wchar-c++.cc: Test the declaration of wcschr. + * doc/posix-functions/wcschr.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsdup'. + * modules/wcsdup: New file. + * lib/wchar.in.h (wcsdup): New declaration. + * lib/wcsdup.c: New file. + * lib/wcsdup-impl.h: New file, from libutf8 with modifications. + * m4/wcsdup.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP. + * tests/test-wchar-c++.cc: Test the declaration of wcsdup. + * doc/posix-functions/wcsdup.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsxfrm'. + * modules/wcsxfrm: New file. + * lib/wchar.in.h (wcsxfrm): New declaration. + * lib/wcsxfrm.c: New file. + * lib/wcsxfrm-impl.h: New file. + * m4/wcsxfrm.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM. + * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm. + * doc/posix-functions/wcsxfrm.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcscoll'. + * modules/wcscoll: New file. + * lib/wchar.in.h (wcscoll): New declaration. + * lib/wcscoll.c: New file. + * lib/wcscoll-impl.h: New file. + * m4/wcscoll.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL. + * tests/test-wchar-c++.cc: Test the declaration of wcscoll. + * doc/posix-functions/wcscoll.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcsncasecmp'. + * modules/wcsncasecmp: New file. + * lib/wchar.in.h (wcsncasecmp): New declaration. + * lib/wcsncasecmp.c: New file. + * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications. + * m4/wcsncasecmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP, + HAVE_WCSNCASECMP. + * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp. + * doc/posix-functions/wcsncasecmp.texi: Mention the new module. + +2011-02-06 Bruno Haible + + New module 'wcscasecmp'. + * modules/wcscasecmp: New file. + * lib/wchar.in.h (wcscasecmp): New declaration. + * lib/wcscasecmp.c: New file. + * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications. + * m4/wcscasecmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP, + HAVE_WCSCASECMP. + * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp. + * doc/posix-functions/wcscasecmp.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsncmp'. + * modules/wcsncmp: New file. + * lib/wchar.in.h (wcsncmp): New declaration. + * lib/wcsncmp.c: New file. + * lib/wcsncmp-impl.h: New file, from libutf8 with modifications. + * m4/wcsncmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP. + * tests/test-wchar-c++.cc: Test the declaration of wcsncmp. + * doc/posix-functions/wcsncmp.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcscmp'. + * modules/wcscmp: New file. + * lib/wchar.in.h (wcscmp): New declaration. + * lib/wcscmp.c: New file. + * lib/wcscmp-impl.h: New file, from libutf8 with modifications. + * m4/wcscmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP. + * tests/test-wchar-c++.cc: Test the declaration of wcscmp. + * doc/posix-functions/wcscmp.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsncat'. + * modules/wcsncat: New file. + * lib/wchar.in.h (wcsncat): New declaration. + * lib/wcsncat.c: New file. + * lib/wcsncat-impl.h: New file, from libutf8 with modifications. + * m4/wcsncat.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT. + * tests/test-wchar-c++.cc: Test the declaration of wcsncat. + * doc/posix-functions/wcsncat.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcscat'. + * modules/wcscat: New file. + * lib/wchar.in.h (wcscat): New declaration. + * lib/wcscat.c: New file. + * lib/wcscat-impl.h: New file, from libutf8 with modifications. + * m4/wcscat.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT. + * tests/test-wchar-c++.cc: Test the declaration of wcscat. + * doc/posix-functions/wcscat.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcpncpy'. + * modules/wcpncpy: New file. + * lib/wchar.in.h (wcpncpy): New declaration. + * lib/wcpncpy.c: New file. + * lib/wcpncpy-impl.h: New file, from libutf8 with modifications. + * m4/wcpncpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcpncpy. + * doc/posix-functions/wcpncpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsncpy'. + * modules/wcsncpy: New file. + * lib/wchar.in.h (wcsncpy): New declaration. + * lib/wcsncpy.c: New file. + * lib/wcsncpy-impl.h: New file, from libutf8 with modifications. + * m4/wcsncpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcsncpy. + * doc/posix-functions/wcsncpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcpcpy'. + * modules/wcpcpy: New file. + * lib/wchar.in.h (wcpcpy): New declaration. + * lib/wcpcpy.c: New file. + * lib/wcpcpy-impl.h: New file, from libutf8 with modifications. + * m4/wcpcpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcpcpy. + * doc/posix-functions/wcpcpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcscpy'. + * modules/wcscpy: New file. + * lib/wchar.in.h (wcscpy): New declaration. + * lib/wcscpy.c: New file. + * lib/wcscpy-impl.h: New file, from libutf8 with modifications. + * m4/wcscpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY. + * tests/test-wchar-c++.cc: Test the declaration of wcscpy. + * doc/posix-functions/wcscpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcsnlen'. + * modules/wcsnlen: New file. + * lib/wchar.in.h (wcsnlen): New declaration. + * lib/wcsnlen.c: New file. + * lib/wcsnlen-impl.h: New file, from libutf8 with modifications. + * m4/wcsnlen.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN. + * tests/test-wchar-c++.cc: Test the declaration of wcsnlen. + * doc/posix-functions/wcsnlen.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wcslen'. + * modules/wcslen: New file. + * lib/wchar.in.h (wcslen): New declaration. + * lib/wcslen.c: New file. + * lib/wcslen-impl.h: New file, from libutf8 with modifications. + * m4/wcslen.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN. + * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN. + * tests/test-wchar-c++.cc: Test the declaration of wcslen. + * doc/posix-functions/wcslen.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemset'. + * modules/wmemset: New file. + * lib/wchar.in.h (wmemset): New declaration. + * lib/wmemset.c: New file. + * lib/wmemset-impl.h: New file, from libutf8 with modifications. + * m4/wmemset.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET. + * tests/test-wchar-c++.cc: Test the declaration of wmemset. + * doc/posix-functions/wmemset.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemmove'. + * modules/wmemmove: New file. + * lib/wchar.in.h (wmemmove): New declaration. + * lib/wmemmove.c: New file. + * lib/wmemmove-impl.h: New file, from libutf8 with modifications. + * m4/wmemmove.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE, + HAVE_WMEMMOVE. + * tests/test-wchar-c++.cc: Test the declaration of wmemmove. + * doc/posix-functions/wmemmove.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemcpy'. + * modules/wmemcpy: New file. + * lib/wchar.in.h (wmemcpy): New declaration. + * lib/wmemcpy.c: New file. + * lib/wmemcpy-impl.h: New file, from libutf8 with modifications. + * m4/wmemcpy.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY. + * tests/test-wchar-c++.cc: Test the declaration of wmemcpy. + * doc/posix-functions/wmemcpy.texi: Mention the new module. + +2011-02-05 Bruno Haible + + New module 'wmemcmp'. + * modules/wmemcmp: New file. + * lib/wchar.in.h (wmemcmp): New declaration. + * lib/wmemcmp.c: New file. + * lib/wmemcmp-impl.h: New file, from libutf8 with modifications. + * m4/wmemcmp.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP. + * tests/test-wchar-c++.cc: Test the declaration of wmemcmp. + * doc/posix-functions/wmemcmp.texi: Mention the new module. + +2011-02-07 Jim Meyering + + di-set, ino-map: new modules, from coreutils + * lib/di-set.c: New file. + * lib/di-set.h: Likewise. + * lib/ino-map.c: Likewise. + * lib/ino-map.h: Likewise. + * modules/di-set: Likewise. + * modules/di-set-tests: Likewise. + * modules/ino-map: Likewise. + * modules/ino-map-tests: Likewise. + * tests/test-di-set.c: Likewise. + * tests/test-ino-map.c: Likewise. + +2011-02-06 Paul Eggert + + getloadavg: merge minor changes from Emacs + + * lib/getloadavg.c (getloadavg_initialized): More-accurate comment. + (getloadavg): Use memset, not bzero. + + 2008-07-25 Chong Yidong + * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h + clash (bug#86). + +2010-11-14 Bruno Haible + + Allow multiple gnulib generated replacements to coexist. + * lib/getopt.in.h (struct option): Avoid identical redefinition. + * lib/inttypes.in.h (imaxdiv_t): Likewise. + * lib/langinfo.in.h (nl_item): Likewise. + * lib/math.in.h (_NaN, NAN): Likewise. + * lib/netdb.in.h (struct addrinfo): Likewise. + * lib/poll.in.h (struct pollfd, nfds_t): Likewise. + * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t, + pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t, + pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t, + pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy, + pthread_cond_init, pthread_cond_signal, pthread_cond_wait, + pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy, + pthread_mutexattr_init, pthread_mutexattr_settype, + pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock, + pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t, + pthread_spin_init, pthread_spin_destroy, pthread_spin_lock, + pthread_spin_trylock, pthread_spin_unlock): Likewise. + * lib/sched.in.h (struct sched_param): Likewise. + * lib/se-selinux.in.h (security_class_t, security_context_t, + is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon, + matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon, + lsetfilecon, fsetfilecon, security_check_context, + security_check_context_raw, setexeccon, matchpathcon_init_prefix): + Likewise. + * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn): + Likewise. + * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint, + _gl_function_taking_int_returning_void_t, union sigval, + struct siginfo_t, siginfo_t, struct sigaction): Likewise. + * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t, + verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise. + * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t, + gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t, + uint_least8_t, int_least16_t, uint_least16_t, int_least32_t, + uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t, + gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t, + gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t, + gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise. + * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise. + * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage, + socklen_t, rpl_fd_isset): Likewise. + * lib/sys_stat.in.h (rpl_mkdir): Likewise. + * lib/sys_time.in.h (struct timeval): Likewise. + * lib/sys_times.in.h (struct tms): Likewise. + * lib/sys_utsname.in.h (struct utsname): + * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise. + * lib/unistd.in.h (getpagesize): Likewise. + * lib/wchar.in.h (mbstate_t): Likewise. + * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, + iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, + towlower, towupper): Likewise. + Reported by Sam Steingold . + +2011-02-05 Eric Blake + + unsetenv: work around Haiku issues + * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue. + * doc/posix-functions/unsetenv.texi (unsetenv): Document it. + +2010-12-30 Bruce Korb + + libposix: avoid calling error() within libposix + * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX + is defined. + +2011-02-05 Eric Blake + + strerror_r-posix: port to cygwin + * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin + implementation. + * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment. + * tests/test-strerror_r.c (main): Fix test. + * doc/posix-functions/strerror_r.texi (strerror_r): Document the + issue. + +2011-02-05 Bruno Haible + + New module 'wmemchr'. + * modules/wmemchr: New file. + * lib/wchar.in.h (wmemchr): New declaration. + * lib/wmemchr.c: New file. + * lib/wmemchr-impl.h: New file, from libutf8 with modifications. + * m4/wmemchr.m4: New file. + * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared. + (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR. + * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR. + * tests/test-wchar-c++.cc: Test the declaration of wmemchr. + * doc/posix-functions/wmemchr.texi: Mention the new module. + +2011-02-04 Eric Blake + + fdopendir: detect FreeBSD bug + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug. + * doc/posix-functions/fdopendir.texi (fdopendir): Document it. + +2011-02-04 Paul Eggert + + stdbool: do not define HAVE_STDBOOL_H + * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from + AC_HEADER_STDBOOL. All uses changed. Do not define + HAVE_STDBOOL_H, as gnulib does not need this. This change is + imported from the latest Autoconf git. It was motivated by Emacs, + which uses gnulib but does not need HAVE_STDBOOL_H. + +2011-02-04 Bruno Haible + + wcsnrtombs: Prepare for new module wwcsnrtombs. + * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c. + * lib/wcsnrtombs.c: Include it. + * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h. + + wcsrtombs: Prepare for new module wwcsrtombs. + * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c. + * lib/wcsrtombs.c: Include it. + * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h. + + mbsnrtowcs: Prepare for new module mbsnrtowwcs. + * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c. + * lib/mbsnrtowcs.c: Include it. + * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h. + + mbsrtowcs: Prepare for new module mbsrtowwcs. + * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c. + * lib/mbsrtowcs.c: Include it. + * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h. + +2011-02-04 Bruno Haible + + vasnprintf: Reduce use of malloc for small format strings. + * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro. + (arguments): Add room for the first 7 arguments. + * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro. + (char_directives, u8_directives, u16_directives, u32_directives): Add + room for the first 7 directives. + * lib/printf-parse.c: Include . + (PRINTF_PARSE): Change memory handling code so that it uses the first + 7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct. + * lib/vasnprintf.c (VASNPRINTF): Update memory handling code. + Reported by Pádraig Brady . + +2011-01-31 Eric Blake + + dup2: work around Haiku bug + * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug. + * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround. + * doc/posix-functions/dup2.texi (dup2): Document the bug. + * tests/test-dup2.c (main): Enhance test. + +2011-01-31 Simon Josefsson + + doc: off_t is not available in eglibc 2.11.2 stdio.h. + * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't + declared by eglibc 2.11.2. + * lib/stdio.in.h: Likewise. + +2011-01-31 Eric Blake + + ignore-value: add missing test dependency + * tests/test-ignore-value.c: Revert previous change; stdio.h + provides off_t. + * modules/ignore-value-tests (Depends-on): Add missing dependency. + +2011-01-30 Paul Eggert + + mktime: clarify long_int width checking + * lib/mktime.c (long_int_is_wide_enough): Move this assertion to + the top level, to make it clearer that the assumption about + long_int width is being checked. See + . + +2011-01-30 Simon Josefsson + + ignore-value: Fix self-test. + * tests/test-ignore-value.c: Include sys/types.h for off_t. + +2011-01-29 Paul Eggert + + TYPE_MAXIMUM: avoid theoretically undefined behavior + * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a + negative number, which the C Standard says has undefined behavior. + In practice this is not a problem, but might as well do it by the book. + Reported by Rich Felker and Eric Blake; see + . + * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise. + * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise. + * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. + * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise. + * m4/stdint.m4 (gl_STDINT_H): Likewise. + * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others. + + mktime: #undef mktime before #defining it + * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it. + + mktime: systematically normalize tm_isdst comparisons + * lib/mktime.c (isdst_differ): New function. + (__mktime_internal): Use it systematically for all isdst comparisons. + This completes the fix for libc BZ #6723, and removes the need for + normalizing tm_isdst. See + + (not_equal_tm) [DEBUG]: Use isdst_differ here, too. + + mktime: fix some integer overflow issues and sidestep the rest + + This was prompted by a bug report by Benjamin Lindner for MinGW + . + His bug is due to signed integer overflow (0 - INT_MIN), and I + I scanned through mktime.c looking for other integer overflow + problems, fixing all the bugs I found. + + Although the C Standard says the resulting code is still not safe + in the presence of integer overflow, in practice it should be good + enough for all real-world two's-complement implementations, except + for debugging environments that deliberately trap on integer + overflow (e.g., gcc -ftrapv). + + * lib/mktime.c (WRAPV): New macro. + (SHR): Also check that long_int and time_t shift right in the + usual way, before using the fast-but-unportable method. + (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer + used. The code already assumed two's complement, so there's + no need to test for alternatives. All uses removed. + (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by + the C standard. Problem reported by Rich Felker in + . + (twos_complement_arithmetic): Also check long_int and time_t. + (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions. + (guess_time_tm, ranged_convert, __mktime_internal): Use them. + (__mktime_internal): Avoid integer overflow with unary subtraction + in two instances where -1 - X is an adequate replacement for -X, + since the calculations are approximate. + +2011-01-29 Eric Blake + + mktime: avoid infinite loop + * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed + type; behavior is still undefined but portable to all known targets. + Reported by Rich Felker. + +2011-01-29 Simon Josefsson + + rename, unlink, same-inode: Relicense. + * modules/rename (License): Relax from LGPLv3+ to LGPLv2+. + * modules/unlink (License): Likewise. + * modules/same-inode (License): Likewise. + +2011-01-28 Paul Eggert + + mktime: avoid problems on NetBSD 5 / i386 + * lib/mktime.c (long_int): New type. This works around a problem + on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits + but time_t is 64 bits, and where I expect the existing code is + wrong in some cases. + (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it. + (ydhms_diff): Bring back the compile-time check for wide-enough + year and yday. + + mktime: fix misspelling in comment + * lib/mktime.c (__mktime_internal): Fix misspelling in comment. + This merges all recent glibc changes of importance. + +2011-01-28 Ralf Wildenhues + + move-if-change: cope with concurrent mv of identical file. + * build-aux/move-if-change (CMPPROG): Accept environment + variable as an override for `cmp'. + (usage): Document CMPPROG. + Adjust comparison to drop stdout. Cope with failure of mv if + the target file exists and is identical to the source, for + parallel builds. + Report from H.J. Lu against binutils in PR binutils/12283. + +2011-01-28 Bruce Korb + + * users.txt: Mention sharutils. + +2011-01-28 Simon Josefsson + + * users.txt: Mention OATH Toolkit. + +2011-01-27 Bruno Haible + + Prepare for supporting FreeBSD 10. + * build-aux/config.libpath: Remove handling of freebsd1*. + +2011-01-27 Gerald Pfeifer (tiny change) + + Prepare for supporting FreeBSD 10. + * build-aux/config.rpath: Remove handling of freebsd1* which soon would + match FreeBSD 10.0. + +2011-01-27 Bruno Haible + + vma-iter, get-rusage-as: Add OpenBSD support. + * modules/vma-iter (configure.ac): Test for mquery. + * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD. + * lib/vma-iter.c: Include . + (vma_iterate): Add an implementation based on mquery(). + * lib/resource-ext.h (get_rusage_as): Update comments. + * lib/get-rusage-as.c: Likewise. + * lib/get-rusage-data.c: Likewise. + +2011-01-26 Karl Berry + + * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new + variables to make it easier to override the makeinfo program used. + 2011-01-26 Eric Blake fcntl: work around Haiku F_DUPFD bugs @@ -466,6 +1422,8 @@ indirectly on xalloc. This change causes the openat substitute to fall back on save_cwd when memory is tight, and for save_cwd to fail instead of dying when memory is tight, but that's good enough. + Problem and initial idea for fix reported by Bastien Roucaries in + . * lib/openat-proc.c: Include stdlib.h (for malloc), not xalloc.h (for xmalloc).