gnulib.git
13 years agofinalise NEWS.stable stable/20110216
Ian Beckwith [Wed, 16 Feb 2011 23:54:12 +0000 (23:54 +0000)]
finalise NEWS.stable

13 years agoNEWS.stable: log cherry-pick [665d45c]->[321331f] autoupdate
Ian Beckwith [Wed, 16 Feb 2011 23:52:25 +0000 (23:52 +0000)]
NEWS.stable: log cherry-pick [665d45c]->[321331f] autoupdate

13 years agoautoupdate
Karl Berry [Tue, 15 Feb 2011 14:34:18 +0000 (06:34 -0800)]
autoupdate
(cherry picked from commit 665d45ce3389bc459031a378dca82c0ab055dd32)

13 years agoNEWS.stable: log cherry-pick [bf2664d]->[25ab657] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:51:58 +0000 (23:51 +0000)]
NEWS.stable: log cherry-pick [bf2664d]->[25ab657] doc: update users.txt

13 years agodoc: update users.txt
Jim Meyering [Tue, 15 Feb 2011 09:41:00 +0000 (10:41 +0100)]
doc: update users.txt

* users.txt: Update iwhd's URL.
(cherry picked from commit bf2664dc000e0bd9c460b8fa6297dcfe7d8fa9ef)

13 years agoNEWS.stable: log cherry-pick [59b191e]->[5f5a2a4] Consistent macro naming for macros...
Ian Beckwith [Wed, 16 Feb 2011 23:51:38 +0000 (23:51 +0000)]
NEWS.stable: log cherry-pick [59b191e]->[5f5a2a4] Consistent macro naming for macros that use GCC __attribute__.

13 years agoConsistent macro naming for macros that use GCC __attribute__.
Bruno Haible [Sun, 13 Feb 2011 22:44:28 +0000 (23:44 +0100)]
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.
(cherry picked from commit 59b191ed5bcff4198c9c89d0d52cec1880b9568d)

13 years agoupdate NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:49:01 +0000 (23:49 +0000)]
update NEWS.stable

13 years agoDon't interfere with a program's definition of __attribute__.
Ian Beckwith [Wed, 16 Feb 2011 23:48:26 +0000 (23:48 +0000)]
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.
(cherry picked from commit f6a5a124d0cb326acd4dfa9ce3276baa26734b16)

13 years agoNEWS.stable: log cherry-pick [a035a8d]->[2bbd452] mbrtowc: Work around native Windows...
Ian Beckwith [Wed, 16 Feb 2011 23:35:35 +0000 (23:35 +0000)]
NEWS.stable: log cherry-pick [a035a8d]->[2bbd452] mbrtowc: Work around native Windows bug.

13 years agombrtowc: Work around native Windows bug.
Bruno Haible [Sun, 13 Feb 2011 18:29:42 +0000 (19:29 +0100)]
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.
(cherry picked from commit a035a8d38a608a06b9540b0cae6a2c7ea99f9638)

13 years agoNEWS.stable: log cherry-pick [cca34e7]->[1b94e03] mbsinit: Work around mingw bug.
Ian Beckwith [Wed, 16 Feb 2011 23:35:12 +0000 (23:35 +0000)]
NEWS.stable: log cherry-pick [cca34e7]->[1b94e03] mbsinit: Work around mingw bug.

13 years agombsinit: Work around mingw bug.
Bruno Haible [Sun, 13 Feb 2011 17:17:22 +0000 (18:17 +0100)]
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.
(cherry picked from commit cca34e7a16b014a2429a0c0d98cfa4c935688f00)

13 years agoNEWS.stable: log cherry-pick [a38e4bb]->[6f5e418] mbsinit: Don't crash for a NULL...
Ian Beckwith [Wed, 16 Feb 2011 23:34:39 +0000 (23:34 +0000)]
NEWS.stable: log cherry-pick [a38e4bb]->[6f5e418] mbsinit: Don't crash for a NULL argument.

13 years agombsinit: Don't crash for a NULL argument.
Bruno Haible [Sun, 13 Feb 2011 17:04:55 +0000 (18:04 +0100)]
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.
(cherry picked from commit a38e4bbf37c4a77ea65f548dfcf590cf23e73d7e)

13 years agoNEWS.stable: log cherry-pick [e680a55]->[2d86779] Don't interfere with a program...
Ian Beckwith [Wed, 16 Feb 2011 23:34:16 +0000 (23:34 +0000)]
NEWS.stable: log cherry-pick [e680a55]->[2d86779] Don't interfere with a program's definition of __attribute__.

13 years agoDon't interfere with a program's definition of __attribute__.
Bruno Haible [Sun, 13 Feb 2011 10:59:12 +0000 (11:59 +0100)]
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.
(cherry picked from commit e680a55c761b3e7f9a3b9e62ac1a9336f83fb628)

13 years agoNEWS.stable: log cherry-pick [9fbdea6]->[860215e] Fix last ChangeLog entry.
Ian Beckwith [Wed, 16 Feb 2011 23:29:34 +0000 (23:29 +0000)]
NEWS.stable: log cherry-pick [9fbdea6]->[860215e] Fix last ChangeLog entry.

13 years agoFix last ChangeLog entry.
Bruno Haible [Sun, 13 Feb 2011 10:53:14 +0000 (11:53 +0100)]
Fix last ChangeLog entry.
(cherry picked from commit 9fbdea645df65ed2617658a72aa7370d621f7881)

13 years agoNEWS.stable: log cherry-pick [b45dc21]->[d19a89f] stdlib: don't get in the way of...
Ian Beckwith [Wed, 16 Feb 2011 23:28:55 +0000 (23:28 +0000)]
NEWS.stable: log cherry-pick [b45dc21]->[d19a89f] stdlib: don't get in the way of non-GCC __attribute__

13 years agostdlib: don't get in the way of non-GCC __attribute__
Paul Eggert [Sun, 13 Feb 2011 06:16:44 +0000 (22:16 -0800)]
stdlib: don't get in the way of non-GCC __attribute__
(cherry picked from commit b45dc2169519c99279f6631bafbeb6f40fd73c14)

13 years agoupdate NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:28:09 +0000 (23:28 +0000)]
update NEWS.stable

13 years agoquotearg test: Avoid test failure on mingw.
Ian Beckwith [Wed, 16 Feb 2011 23:27:28 +0000 (23:27 +0000)]
quotearg test: Avoid test failure on mingw.

* tests/test-quotearg.sh: Convert the locale identifier from native
Windows syntax to Unix syntax.
(cherry picked from commit 4baa767de84048d693cb07d6d8a461b3343f1bb7)

13 years agoNEWS.stable: log cherry-pick [06c2675]->[1138b90] stdlib: support non-GCC __attribute__
Ian Beckwith [Wed, 16 Feb 2011 23:26:28 +0000 (23:26 +0000)]
NEWS.stable: log cherry-pick [06c2675]->[1138b90] stdlib: support non-GCC __attribute__

13 years agostdlib: support non-GCC __attribute__
Paul Eggert [Sat, 12 Feb 2011 23:33:16 +0000 (15:33 -0800)]
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 <stdlib.h> 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.
(cherry picked from commit 06c2675ea2aa3219f77fb0af5f9229d4b153a9f8)

13 years agoNEWS.stable: log cherry-pick [c9dc6ff]->[461ace8] wcsrtombs: Work around bug on nativ...
Ian Beckwith [Wed, 16 Feb 2011 23:25:18 +0000 (23:25 +0000)]
NEWS.stable: log cherry-pick [c9dc6ff]->[461ace8] wcsrtombs: Work around bug on native Windows.

13 years agowcsrtombs: Work around bug on native Windows.
Bruno Haible [Sat, 12 Feb 2011 19:43:40 +0000 (20:43 +0100)]
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.
(cherry picked from commit c9dc6fff80d6b2be612fddb02b0141b85a9744aa)

13 years agoupdate NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:24:52 +0000 (23:24 +0000)]
update NEWS.stable

13 years agombsrtowcs: Work around bug on native Windows.
Ian Beckwith [Wed, 16 Feb 2011 23:24:21 +0000 (23:24 +0000)]
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.
(cherry picked from commit aa887f85e12926ab87c37991447f7ded7d08a43b)

13 years agoNEWS.stable: log cherry-pick [4cce65c]->[b9f1203] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:20:28 +0000 (23:20 +0000)]
NEWS.stable: log cherry-pick [4cce65c]->[b9f1203] doc: update users.txt

13 years agodoc: update users.txt
Thien-Thi Nguyen [Fri, 11 Feb 2011 08:10:44 +0000 (09:10 +0100)]
doc: update users.txt

* users.txt: Add rcs.
(cherry picked from commit 4cce65cb2f10936f13760625f39d532564984fde)

13 years agoNEWS.stable: log cherry-pick [a54ee6e]->[a1245ce] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:20:19 +0000 (23:20 +0000)]
NEWS.stable: log cherry-pick [a54ee6e]->[a1245ce] doc: update users.txt

13 years agodoc: update users.txt
John W. Eaton [Thu, 10 Feb 2011 20:34:41 +0000 (21:34 +0100)]
doc: update users.txt

* users.txt: Add octave.
(cherry picked from commit a54ee6e4f06ba872d9befa6200ce067ab0789105)

13 years agoNEWS.stable: log cherry-pick [27147dc]->[4c5d3e6] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:20:13 +0000 (23:20 +0000)]
NEWS.stable: log cherry-pick [27147dc]->[4c5d3e6] doc: update users.txt

13 years agodoc: update users.txt
Jim Meyering [Thu, 10 Feb 2011 14:37:48 +0000 (15:37 +0100)]
doc: update users.txt

* users.txt: Add iwhd.
(cherry picked from commit 27147dc9dd0b32d832d4fd2d901490754021c54a)

13 years agoprepare NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:19:16 +0000 (23:19 +0000)]
prepare NEWS.stable

13 years agoMerge commit 'snapshot-start' into stable
Ian Beckwith [Wed, 16 Feb 2011 23:15:21 +0000 (23:15 +0000)]
Merge commit 'snapshot-start' into stable

13 years agoMerge branch 'upstream' into stable
Ian Beckwith [Fri, 11 Feb 2011 03:09:19 +0000 (03:09 +0000)]
Merge branch 'upstream' into stable

13 years agognulib-tool: Make copyright notice adjustment more robust.
Bruno Haible [Wed, 9 Feb 2011 19:55:19 +0000 (20:55 +0100)]
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 <rgm@gnu.org> via Paul Eggert.

13 years agoNew module 'towctrans'.
Bruno Haible [Sun, 6 Feb 2011 23:29:31 +0000 (00:29 +0100)]
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.

13 years agoNew module 'wctrans'.
Bruno Haible [Sun, 6 Feb 2011 23:16:49 +0000 (00:16 +0100)]
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.

13 years agoNew module 'iswctype'.
Bruno Haible [Sun, 6 Feb 2011 22:59:34 +0000 (23:59 +0100)]
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.

13 years agoNew module 'wctype'.
Bruno Haible [Sun, 6 Feb 2011 22:45:40 +0000 (23:45 +0100)]
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.

13 years agowctype-h: Ensure wctype_t and wctrans_t are defined.
Bruno Haible [Sun, 6 Feb 2011 22:18:30 +0000 (23:18 +0100)]
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.

13 years agoflock: fix license typo
Paul Eggert [Wed, 9 Feb 2011 17:45:17 +0000 (09:45 -0800)]
flock: fix license typo

* lib/flock.c: Fix typo in license.  One of the "Lesser"s was
omitted.

13 years agoSplit large sed scripts, for HP-UX sed.
Bruno Haible [Tue, 8 Feb 2011 23:16:54 +0000 (00:16 +0100)]
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 <bug-gnulib@mlists.thewrittenword.com>.
Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.

13 years agostdlib: improve random_r modularization
Paul Eggert [Tue, 8 Feb 2011 20:27:12 +0000 (12:27 -0800)]
stdlib: improve random_r modularization

13 years agostdlib: don't depend on stdint
Paul Eggert [Tue, 8 Feb 2011 20:24:48 +0000 (12:24 -0800)]
stdlib: don't depend on stdint

* lib/stdlib.in.h: Don't include <stdint.h> 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.

13 years agogetloadavg: don't depend on c-strtod, cloexec, fcntl-safer
Paul Eggert [Tue, 8 Feb 2011 20:23:29 +0000 (12:23 -0800)]
getloadavg: don't depend on c-strtod, cloexec, fcntl-safer

See the thread rooted at
<http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
* lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
Include <fcntl.h> 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.

13 years agodi-set.h, ino-map.h: add multiple-inclusion guard
Jim Meyering [Tue, 8 Feb 2011 10:54:05 +0000 (11:54 +0100)]
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.

13 years agoiswblank: Ensure declaration on glibc systems.
Bruno Haible [Sun, 6 Feb 2011 21:12:25 +0000 (22:12 +0100)]
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.

13 years agoNew module 'iswblank'.
Bruno Haible [Sun, 6 Feb 2011 21:07:24 +0000 (22:07 +0100)]
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.

13 years agodi-set tests: Refactor.
Bruno Haible [Tue, 8 Feb 2011 10:20:08 +0000 (11:20 +0100)]
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.

13 years agoino-map tests: Refactor.
Bruno Haible [Tue, 8 Feb 2011 10:18:45 +0000 (11:18 +0100)]
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.

13 years agodi-set: add "const" to a cast
Jim Meyering [Tue, 8 Feb 2011 07:57:36 +0000 (08:57 +0100)]
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.

13 years agoChangeLog: fix my old entry to give credit to Bastien
Paul Eggert [Tue, 8 Feb 2011 03:53:07 +0000 (19:53 -0800)]
ChangeLog: fix my old entry to give credit to Bastien

13 years agoupdate from texinfo
Karl Berry [Tue, 8 Feb 2011 00:20:25 +0000 (16:20 -0800)]
update from texinfo

13 years agoRename module 'wctype' to 'wctype-h'.
Bruno Haible [Sun, 6 Feb 2011 17:46:42 +0000 (18:46 +0100)]
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.

13 years agoNew module 'wcswidth'.
Bruno Haible [Sun, 6 Feb 2011 14:51:55 +0000 (15:51 +0100)]
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.

13 years agoNew module 'wcstok'.
Bruno Haible [Sun, 6 Feb 2011 14:25:58 +0000 (15:25 +0100)]
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.

13 years agoNew module 'wcsstr'.
Bruno Haible [Sun, 6 Feb 2011 14:18:24 +0000 (15:18 +0100)]
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.

13 years agoNew module 'wcspbrk'.
Bruno Haible [Sun, 6 Feb 2011 13:34:38 +0000 (14:34 +0100)]
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.

13 years agoNew module 'wcsspn'.
Bruno Haible [Sun, 6 Feb 2011 13:19:57 +0000 (14:19 +0100)]
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.

13 years agoNew module 'wcscspn'.
Bruno Haible [Sun, 6 Feb 2011 13:10:45 +0000 (14:10 +0100)]
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.

13 years agoNew module 'wcsrchr'.
Bruno Haible [Sun, 6 Feb 2011 13:02:26 +0000 (14:02 +0100)]
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.

13 years agoNew module 'wcschr'.
Bruno Haible [Sun, 6 Feb 2011 12:52:11 +0000 (13:52 +0100)]
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.

13 years agoNew module 'wcsdup'.
Bruno Haible [Sun, 6 Feb 2011 12:42:05 +0000 (13:42 +0100)]
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.

13 years agoNew module 'wcsxfrm'.
Bruno Haible [Sun, 6 Feb 2011 12:30:53 +0000 (13:30 +0100)]
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.

13 years agoNew module 'wcscoll'.
Bruno Haible [Sun, 6 Feb 2011 11:56:31 +0000 (12:56 +0100)]
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.

13 years agoNew module 'wcsncasecmp'.
Bruno Haible [Sun, 6 Feb 2011 11:25:31 +0000 (12:25 +0100)]
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.

13 years agoNew module 'wcscasecmp'.
Bruno Haible [Sun, 6 Feb 2011 11:16:54 +0000 (12:16 +0100)]
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.

13 years agoNew module 'wcsncmp'.
Bruno Haible [Sun, 6 Feb 2011 03:47:49 +0000 (04:47 +0100)]
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.

13 years agoNew module 'wcscmp'.
Bruno Haible [Sun, 6 Feb 2011 03:39:48 +0000 (04:39 +0100)]
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.

13 years agoNew module 'wcsncat'.
Bruno Haible [Sun, 6 Feb 2011 03:09:52 +0000 (04:09 +0100)]
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.

13 years agoNew module 'wcscat'.
Bruno Haible [Sun, 6 Feb 2011 03:02:48 +0000 (04:02 +0100)]
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.

13 years agoNew module 'wcpncpy'.
Bruno Haible [Sat, 5 Feb 2011 14:32:00 +0000 (15:32 +0100)]
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.

13 years agoNew module 'wcsncpy'.
Bruno Haible [Sat, 5 Feb 2011 14:24:52 +0000 (15:24 +0100)]
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.

13 years agoNew module 'wcpcpy'.
Bruno Haible [Sat, 5 Feb 2011 14:15:14 +0000 (15:15 +0100)]
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.

13 years agoNew module 'wcscpy'.
Bruno Haible [Sat, 5 Feb 2011 13:23:31 +0000 (14:23 +0100)]
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.

13 years agoNew module 'wcsnlen'.
Bruno Haible [Sat, 5 Feb 2011 12:45:22 +0000 (13:45 +0100)]
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.

13 years agoNew module 'wcslen'.
Bruno Haible [Sat, 5 Feb 2011 12:36:58 +0000 (13:36 +0100)]
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.

13 years agoNew module 'wmemset'.
Bruno Haible [Sat, 5 Feb 2011 12:28:21 +0000 (13:28 +0100)]
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.

13 years agoNew module 'wmemmove'.
Bruno Haible [Sat, 5 Feb 2011 12:07:51 +0000 (13:07 +0100)]
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.

13 years agoNew module 'wmemcpy'.
Bruno Haible [Sat, 5 Feb 2011 11:58:40 +0000 (12:58 +0100)]
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.

13 years agoNew module 'wmemcmp'.
Bruno Haible [Sat, 5 Feb 2011 11:47:22 +0000 (12:47 +0100)]
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.

13 years agodi-set, ino-map: new modules, from coreutils
Jim Meyering [Mon, 7 Feb 2011 15:01:24 +0000 (16:01 +0100)]
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.

13 years agogetloadavg: merge minor changes from Emacs
Paul Eggert [Mon, 7 Feb 2011 07:26:59 +0000 (23:26 -0800)]
getloadavg: merge minor changes from Emacs

* lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
(getloadavg): Use memset, not bzero.

2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
* lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
clash (bug#86).

13 years agoAllow multiple gnulib generated replacements to coexist.
Bruno Haible [Sun, 14 Nov 2010 16:48:50 +0000 (17:48 +0100)]
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 <sds@gnu.org>.

13 years agolibposix: Revert the unreviewed part of yesterday's big merge.
Bruce Korb [Sun, 6 Feb 2011 20:11:40 +0000 (21:11 +0100)]
libposix: Revert the unreviewed part of yesterday's big merge.

Back out yesterday's big merge from the libposix branch, except for the
openat-die.c change that was reviewed and approved by Paul Eggert.
Put the ChangeLog entry at the top, to reflect the order of changes in the
master branch.

13 years agounsetenv: work around Haiku issues
Eric Blake [Sat, 5 Feb 2011 21:31:59 +0000 (14:31 -0700)]
unsetenv: work around Haiku issues

On Haiku alpha 2, test-unsetenv.c passed in isolation with just
system headers, but failed when libgnu and replacement headers
were in use.  Why?  Because putenv("a") fails to remove "a=..."
from the environment, but the gnulib rpl_putenv works by
assigning to environ.  Apparently, Haiku is doing some funky
caching issues, and correctly removes all vestiges of environment
duplicates when Haiku is in charge, but not after assigning to
environ forces Haiku to rebuild its cache.

The m4 change is sufficient to detect Haiku's oddities, and the
existing replacement then passes just fine.

* m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
* doc/posix-functions/unsetenv.texi (unsetenv): Document it.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agolibposix: Add _HEADERS primaries to posix modules.
Bruce Korb [Sat, 5 Feb 2011 16:22:48 +0000 (08:22 -0800)]
libposix: Add _HEADERS primaries to posix modules.
Modify gnulib-tool to strip them from generated Makefile.am-s where
they are not needed.  Also, replace M4 macro prefixes when requested.
Finally, omit calls to error() for libposix.

13 years agostrerror_r-posix: port to cygwin
Eric Blake [Sat, 5 Feb 2011 19:15:59 +0000 (12:15 -0700)]
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.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agoNew module 'wmemchr', part 3.
Bruno Haible [Sat, 5 Feb 2011 12:52:41 +0000 (13:52 +0100)]
New module 'wmemchr', part 3.

13 years agoNew module 'wmemchr', part 2.
Bruno Haible [Sat, 5 Feb 2011 11:32:32 +0000 (12:32 +0100)]
New module 'wmemchr', part 2.

13 years agoNew module 'wmemchr'.
Bruno Haible [Sat, 5 Feb 2011 11:25:13 +0000 (12:25 +0100)]
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_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.

13 years agofdopendir: detect FreeBSD bug
Eric Blake [Sat, 5 Feb 2011 04:52:40 +0000 (21:52 -0700)]
fdopendir: detect FreeBSD bug

FreeBSD fdopendir(fd) always consumes fd, even if it fails with
ENOTDIR.  The code that works around the GNU Hurd bug also fixes this;
we just need to detect it.

* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
* doc/posix-functions/fdopendir.texi (fdopendir): Document it.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agostdbool: do not define HAVE_STDBOOL_H
Paul Eggert [Sat, 5 Feb 2011 04:54:58 +0000 (20:54 -0800)]
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.

13 years agowcsnrtombs: Prepare for new module wwcsnrtombs.
Bruno Haible [Sat, 5 Feb 2011 01:25:14 +0000 (02:25 +0100)]
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.

13 years agowcsrtombs: Prepare for new module wwcsrtombs.
Bruno Haible [Sat, 5 Feb 2011 01:24:20 +0000 (02:24 +0100)]
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.

13 years agombsnrtowcs: Prepare for new module mbsnrtowwcs.
Bruno Haible [Sat, 5 Feb 2011 01:22:38 +0000 (02:22 +0100)]
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.