X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=8e14a2be814d173551875297515c3bee8f8e270e;hb=665d45ce3389bc459031a378dca82c0ab055dd32;hp=105fc3d5852c6c55363a0c5dbfb016e09cfbbc15;hpb=7ddc2d61a400b09e3f13d403958abbe9882dae89;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 105fc3d58..8e14a2be8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,421 @@ +2011-02-15 Jim Meyering + + doc: update users.txt + * users.txt: Update iwhd's URL. + +2011-02-13 Bruno Haible + + Consistent macro naming for macros that use GCC __attribute__. + * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from + _ATTRIBUTE_NONNULL_. + * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise. + * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR. + * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from + ATTRIBUTE_DEPRECATED. + * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from + ATTRIBUTE_NORETURN. + * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise. + * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise. + * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise. + * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise. + (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC. + (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE. + * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from + ATTRIBUTE_SENTINEL. + * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from + ATTRIBUTE_RETURN_CHECK. + * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise. + * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from + ATTRIBUTE_NORETURN. + * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise. + Reported by Paul Eggert. + +2011-02-13 Bruno Haible + + Don't interfere with a program's definition of __attribute__. + * lib/argp.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (argp_error, __argp_error, argp_failure, __argp_failure): Use it. + * lib/argp-fmtstream.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (__argp_fmtstream_printf, argp_fmtstream_printf): Use it. + * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for + GCC 3 or newer. + * lib/error.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (error, error_at_line): Use it. + * lib/hash.h (__attribute__): Remove definition. + (ATTRIBUTE_WUR): Update definition. Define always. + * lib/openat.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/sigpipe-die.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/vasnprintf.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (asnprintf, vasnprintf): Use it. + * lib/xalloc.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always. + * lib/xmemdup0.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/xprintf.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (xprintf, xvprintf, xfprintf, xvfprintf): Use it. + * lib/xstrtol.h (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * lib/xvasprintf.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT): New macro. + (xasprintf, xvasprintf): Use it. + * tests/test-argmatch.c (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + * tests/test-exclude.c (__attribute__): Remove definition. + (ATTRIBUTE_NORETURN): Update definition. Define always. + Reported by Paul Eggert. + +2011-02-13 Bruno Haible + + mbrtowc: Add more tests for native Windows platforms. + * tests/test-mbrtowc-w32-1.sh: New file. + * tests/test-mbrtowc-w32-2.sh: New file. + * tests/test-mbrtowc-w32-3.sh: New file. + * tests/test-mbrtowc-w32-4.sh: New file. + * tests/test-mbrtowc-w32-5.sh: New file. + * tests/test-mbrtowc-w32.c: New file. + * modules/mbrtowc-tests (Files): Add them. + (Makefile.am): Arrange to run these tests. + * tests/test-mbrtowc-w32-6.sh: New file, currently unused. + * tests/test-mbrtowc-w32-7.sh: New file, currently unused. + +2011-02-13 Bruno Haible + + mbrtowc: Work around native Windows bug. + * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the + guess when no suitable locale for testing was found. + * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug. + +2011-02-13 Bruno Haible + + mbsinit: Work around mingw bug. + * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw. + * lib/mbsinit.c (mbsinit): Provide an alternate definition for native + Windows. + * doc/posix-functions/mbsinit.texi: Mention the mingw bug. + +2011-02-13 Bruno Haible + + mbsinit: Don't crash for a NULL argument. + * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1. + * tests/test-mbsinit.c (mbsinit): Check this behaviour. + +2011-02-13 Bruno Haible + + Don't interfere with a program's definition of __attribute__. + * lib/stdio.in.h (__attribute__): Remove definition. + (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros. + (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf, + printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf, + vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF. + * lib/string.in.h (__attribute__): Remove definition. + Reported by Paul Eggert. + +2011-02-12 Paul Eggert + + stdlib: don't get in the way of non-GCC __attribute__ + See thread starting at + . + Revert previous stdlib change, installing the following instead: + * lib/stdlib.in.h (__attribute__): Remove. We do not want + to get in the way of a non-GCC compiler that supports __attribute__. + (_GL_ATTRIBUTE_RETURN): New macro. + (_Exit): Use it instead of __attribute__. + +2011-02-12 Bruno Haible + + quotearg test: Avoid test failure on mingw. + * tests/test-quotearg.sh: Convert the locale identifier from native + Windows syntax to Unix syntax. + +2011-02-12 Bruno Haible + + setlocale: Prefer gnulib's override over libintl's override. + * lib/locale.in.h (GNULIB_defined_setlocale): New macro. + * lib/gettext.h (setlocale): Redefine to rpl_setlocale if + GNULIB_defined_setlocale is set. + +2011-02-12 Paul Eggert + + stdlib: support non-GCC __attribute__ + + Fix a serious and tricky problem encountered when attempting to + add the getloadavg module to Emacs. Emacs worked fine on RHEL + 5.5, but it crashed due to memory corruption on Solaris 10 with + Sun C 5.11. Emacs normally ORs 3-bit tags into their low-order + bits that are otherwise zero. This tagging is optional inside + Emacs but is preferred and is used when __attribute__ ((__aligned + (8))) works, as it does with both recent-enough GCC and with Sun C + 5.11. However, Sun C 5.11 is not GCC and does not #define + __GNUC__ and __GNUC_MINOR__. + + When I added the getloadavg module to Emacs, it brought in + stdlib.in.h, which contained this fragment: + + #ifndef __attribute__ + # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) + # define __attribute__(Spec) /* empty */ + # endif + #endif + + When files that include were compiled with Sun C 5.11, + the above code disabled __attribute__ ((__aligned (8))), which + caused variables to not be properly aligned, which eventually led + to the pointer corruption mentioned above. (This was a bit hard + to diagnose, unfortunately.) + + Several "#define __attribute__(X) /* empty */" code snippets need + to be eradicated from Gnulib to work with non-GCC compilers that + support __attribute__. The Autoconf way to do this is to test for + each kind of attribute that we want support for, and selectively + enable that in source code. + + Fix this problem just for stdlib.h, by adding a test for the + __noreturn__ attribute, and change stdlib.in.h to use that test + when needed. This technique can be easily generalized to the + other *.in.h files and attributes, and a similar technique can be + used for *.h and *.c files. This patch is enough to solve the + problem for Emacs + getloadavg, and I thought I'd publish it for + feedback before undertaking further, similar fixes in other + modules. + + This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN + because it's not needed for stdlib.h. It merely substitutes the + value directly into stdlib.h. We may well need to #define it, or + similar symbols, for other modules, but it's nice to also have an + option to not #define it for applications like Emacs that do not + need it. + + * lib/stdlib.in.h (__attribute__): Do not #define. + (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to + be defined only if the _Exit module is also used. + * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst + HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU + platforms. + * modules/_Exit (Files): Add m4/attribute.m4. + * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN. + * m4/attribute.m4: New file. + +2011-02-12 Bruno Haible + + wcsrtombs: Work around bug on native Windows. + * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug. + * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX + instead of len. + * doc/posix-functions/wcsrtombs.texi: Document mingw bug. + +2011-02-12 Bruno Haible + + mbsrtowcs: Work around bug on native Windows. + * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test + against mingw bug. + * doc/posix-functions/mbsrtowcs.texi: Document mingw bug. + +2011-02-12 Bruno Haible + + Avoid setlocale bugs in tests. + * modules/btowc (Dependencies): Add setlocale. + * modules/c-strcase (Dependencies): Likewise. + * modules/mbmemcasecmp (Dependencies): Likewise. + * modules/mbmemcasecoll (Dependencies): Likewise. + * modules/mbrtowc (Dependencies): Likewise. + * modules/mbscasecmp (Dependencies): Likewise. + * modules/mbscasestr (Dependencies): Likewise. + * modules/mbschr (Dependencies): Likewise. + * modules/mbscspn (Dependencies): Likewise. + * modules/mbsinit (Dependencies): Likewise. + * modules/mbsncasecmp (Dependencies): Likewise. + * modules/mbsnrtowcs (Dependencies): Likewise. + * modules/mbspbrk (Dependencies): Likewise. + * modules/mbspcasecmp (Dependencies): Likewise. + * modules/mbsrchr (Dependencies): Likewise. + * modules/mbsrtowcs (Dependencies): Likewise. + * modules/mbsspn (Dependencies): Likewise. + * modules/mbsstr (Dependencies): Likewise. + * modules/nl_langinfo (Dependencies): Likewise. + * modules/quotearg (Dependencies): Likewise. + * modules/unicase/locale-language (Dependencies): Likewise. + * modules/unicase/ulc-casecmp (Dependencies): Likewise. + * modules/unicase/ulc-casecoll (Dependencies): Likewise. + * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise. + * modules/unistdio/u8-vasnprintf (Dependencies): Likewise. + * modules/unistdio/u16-vasnprintf (Dependencies): Likewise. + * modules/unistdio/u32-vasnprintf (Dependencies): Likewise. + * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise. + * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise. + * modules/vasnprintf-posix (Dependencies): Likewise. + * modules/wcrtomb (Dependencies): Likewise. + * modules/wcsnrtombs (Dependencies): Likewise. + * modules/wcsrtombs (Dependencies): Likewise. + +2011-02-12 Bruno Haible + + setlocale: Workaround native Windows bug. + * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale + succeeds but sets LC_CTYPE to "C", report a failure. + * tests/test-setlocale2.sh: New file. + * tests/test-setlocale2.c: New file. + * modules/setlocale-tests (Files): Add the new files. + (Makefile.am): Enable test-setlocale2.sh test. + * doc/posix-functions/setlocale.texi: Mention workaround. + +2011-02-11 Bruno Haible + + Tests for module 'setlocale'. + * modules/setlocale-tests: New file. + * tests/test-setlocale1.sh: New file. + * tests/test-setlocale1.c: New file. + + New module 'setlocale'. + * lib/locale.in.h (setlocale): New declaration. + * lib/setlocale.c: New file, based on + gettext/gettext-runtime/intl/setlocale.c. + * m4/setlocale.m4: New file. + * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared. + (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE. + * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE, + REPLACE_SETLOCALE. + * modules/setlocale: New file. + * tests/test-locale-c++.cc: Test the declaration of setlocale. + * doc/posix-functions/setlocale.texi: Mention the new module. + +2011-02-11 Bruno Haible + + Prepare for locale dependent tests on mingw. + * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar" + because it has the wrong locale encoding. + * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try + French_France.1252 instead of "fr". + (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001. + * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja" + because it has the wrong locale encoding. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On + native Windows, try Turkish_Turkey.65001. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try + Chinese_China.54936. + + Prepare for locale dependent tests on mingw. + * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale + differently. + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise. + * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise. + * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. + * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. + +2011-02-11 Eric Blake + + strptime: avoid compiler warnings + * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid + compiler warnings about dead code. + Reported by Daniel P. Berrange. + +2011-02-11 Thien-Thi Nguyen + + doc: update users.txt + * users.txt: Add rcs. + +2011-02-10 John W. Eaton + + doc: update users.txt + * users.txt: Add octave. + +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.