pspp
13 years agomaint: adjust cpp indentation to reflect nesting depth
Jim Meyering [Sun, 20 Feb 2011 22:02:43 +0000 (23:02 +0100)]
maint: adjust cpp indentation to reflect nesting depth

I.e., in a block of code that begins with an unnested "#if",
put one space between the "#" in column 1 and following token.
For example,
-#include <sys/vfs.h>
+# include <sys/vfs.h>
Do this only in .c files that are part of a module I maintain.
* lib/linkat.c: Filter through cppi.
* lib/nanosleep.c: Likewise.
* lib/openat.c: Likewise.
* lib/openat-die.c: Likewise.
* lib/dup3.c: Likewise.
* lib/fchownat.c: Likewise.
* lib/flock.c: Likewise.
* lib/fsync.c: Likewise.
* lib/fts.c: Likewise.
* lib/getpass.c: Likewise.
* lib/gettimeofday.c: Likewise.
* lib/userspec.c: Likewise.
* Makefile (sc_cpp_indent_check): New rule, to check this.

13 years agoNew module 'wctomb'.
Bruno Haible [Tue, 22 Feb 2011 13:23:24 +0000 (14:23 +0100)]
New module 'wctomb'.

* lib/stdlib.in.h (wctomb): New declaration.
* lib/wctomb.c: New file.
* lib/wctomb-impl.h: New file.
* m4/wctomb.m4: New file.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
REPLACE_WCTOMB.
* modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
REPLACE_WCTOMB.
* modules/wctomb: New file.
* tests/test-stdlib-c++.cc: Test signature of wctomb.
* doc/posix-functions/wctomb.texi: Mention the new module.
* modules/wctob (Depends-on): Add wctomb.

13 years agoNew module 'mbtowc'.
Bruno Haible [Tue, 22 Feb 2011 13:01:29 +0000 (14:01 +0100)]
New module 'mbtowc'.

* lib/stdlib.in.h (mbtowc): New declaration.
* lib/mbtowc.c: New file.
* lib/mbtowc-impl.h: New file, from libutf8 with modifications
* m4/mbtowc.m4: New file.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
REPLACE_MBTOWC.
* modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
REPLACE_MBTOWC.
* modules/mbtowc: New file.
* tests/test-stdlib-c++.cc: Test signature of mbtowc.
* doc/posix-functions/mbtowc.texi: Mention the new module.
* modules/btowc (Depends-on): Add mbtowc.

13 years agowcrtomb: Add more tests for native Windows platforms.
Bruno Haible [Sun, 20 Feb 2011 17:18:31 +0000 (18:18 +0100)]
wcrtomb: Add more tests for native Windows platforms.

* tests/test-wcrtomb-w32-1.sh: New file.
* tests/test-wcrtomb-w32-2.sh: New file.
* tests/test-wcrtomb-w32-3.sh: New file.
* tests/test-wcrtomb-w32-4.sh: New file.
* tests/test-wcrtomb-w32-5.sh: New file.
* tests/test-wcrtomb-w32.c: New file.
* modules/wcrtomb-tests (Files): Add them.
(Makefile.am): Arrange to run these tests.
* tests/test-wcrtomb-w32-6.sh: New file, currently unused.
* tests/test-wcrtomb-w32-7.sh: New file, currently unused.

13 years agowcrtomb: Enhance test.
Bruno Haible [Sun, 20 Feb 2011 13:08:44 +0000 (14:08 +0100)]
wcrtomb: Enhance test.

* tests/test-wcrtomb.c (main): Add test against bug with NULL argument.

13 years agombrtowc: Tiny optimization.
Bruno Haible [Mon, 21 Feb 2011 04:07:14 +0000 (05:07 +0100)]
mbrtowc: Tiny optimization.

* lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.

13 years agotest-exclude.c: remove unmatched #endif
Jim Meyering [Sun, 20 Feb 2011 19:02:10 +0000 (20:02 +0100)]
test-exclude.c: remove unmatched #endif

* tests/test-exclude.c: Remove stray #endif, left over from
the change of a week ago.

13 years agogit-version-gen: skip "-dirty" check when appropriate
Jim Meyering [Sat, 19 Feb 2011 19:48:36 +0000 (20:48 +0100)]
git-version-gen: skip "-dirty" check when appropriate

* build-aux/git-version-gen: Don't run any git commands when the
version string comes from .tarball-version.  Prior to this, we
would run git update-index --refresh even from a just-unpacked
tarball directory, and that could affect a .git/ directory in a
parent of the build directory.  Reported by Mike Frysinger.

13 years agounictype/property-byname: Reduce the size of the 'data' segment.
Bruno Haible [Sat, 19 Feb 2011 16:12:43 +0000 (17:12 +0100)]
unictype/property-byname: Reduce the size of the 'data' segment.

* lib/unictype/pr_byname.gperf: Add gperf option '%pic'.

13 years agounictype/scripts: Reduce the size of the 'data' segment.
Bruno Haible [Sat, 19 Feb 2011 16:03:25 +0000 (17:03 +0100)]
unictype/scripts: Reduce the size of the 'data' segment.

* lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
'%pic'.
* lib/unictype/scripts_byname.gperf: Regenerated.

13 years agostdint: Update documentation.
Bruno Haible [Sat, 19 Feb 2011 11:52:42 +0000 (12:52 +0100)]
stdint: Update documentation.

* doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.

13 years agostdint: omit redundant check for wchar.h
Paul Eggert [Sat, 19 Feb 2011 07:18:47 +0000 (23:18 -0800)]
stdint: omit redundant check for wchar.h

* m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
always tests whether wchar.h exists, so remove the now-redundant test.

13 years agostdint: Cut dependency to module 'wchar'.
Bruno Haible [Sat, 19 Feb 2011 07:08:54 +0000 (23:08 -0800)]
stdint: Cut dependency to module 'wchar'.

* lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
include the necessary prerequisites.
* m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
* modules/stdint (Depends-on): Remove wchar.
(Makefile.am): Substitute HAVE_WCHAR_H.
This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.

13 years agolonglong: skip, rather than fail, on cross-compilation
Eric Blake [Fri, 18 Feb 2011 17:25:36 +0000 (10:25 -0700)]
longlong: skip, rather than fail, on cross-compilation

* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
when cross-compiling; regression from 2011-02-16.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years ago* NEWS: Mention 2011-02-08 change to stdlib.
Paul Eggert [Fri, 18 Feb 2011 06:16:39 +0000 (22:16 -0800)]
* NEWS: Mention 2011-02-08 change to stdlib.

13 years agogetloadavg: Add comments about platforms.
Bruno Haible [Fri, 18 Feb 2011 03:16:39 +0000 (04:16 +0100)]
getloadavg: Add comments about platforms.

* m4/getloadavg.m4: Add comment.
* lib/getloadavg.c: Likewise.

13 years agogetloadavg: Fix link error on Solaris 2.6.
Bruno Haible [Fri, 18 Feb 2011 03:15:19 +0000 (04:15 +0100)]
getloadavg: Fix link error on Solaris 2.6.

* modules/getloadavg (Link): New section.
* modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
linking test-getloadavg.
* doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
getloadavg.

13 years ago* lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
Paul Eggert [Fri, 18 Feb 2011 03:11:43 +0000 (19:11 -0800)]
* lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.

It was 'int', but this doesn't match the IRIX 6.5 manual.
Suggested by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.

13 years agoOops, fix syntax error in last config.rpath commit.
Bruno Haible [Fri, 18 Feb 2011 02:33:16 +0000 (03:33 +0100)]
Oops, fix syntax error in last config.rpath commit.

13 years agohavelib: Fix comments.
Bruno Haible [Fri, 18 Feb 2011 00:48:04 +0000 (01:48 +0100)]
havelib: Fix comments.

* m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
change.

13 years agohavelib: Update config.rpath.
Bruno Haible [Fri, 18 Feb 2011 00:33:51 +0000 (01:33 +0100)]
havelib: Update config.rpath.

* build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.

13 years agogetloadavg test: Add some plausibility checks.
Bruno Haible [Thu, 17 Feb 2011 22:42:20 +0000 (23:42 +0100)]
getloadavg test: Add some plausibility checks.

* tests/test-getloadavg.c (check_avg): Print a warning when the value
is improbable.

13 years agomaintainer-makefile: make syntax-check a no-op from tarballs
Eric Blake [Wed, 16 Feb 2011 21:15:51 +0000 (14:15 -0700)]
maintainer-makefile: make syntax-check a no-op from tarballs

* top/maint.mk (no-vc-detected): New rule.
(local-checks-available): Use it to avoid hanging if someone tries
'make syntax-check' from a tarball.  Also append to any non-syntax
checks already defined in cfg.mk.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agolonglong: tune, particularly for common case of c99
Paul Eggert [Wed, 16 Feb 2011 09:22:38 +0000 (01:22 -0800)]
longlong: tune, particularly for common case of c99

* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
or running anything if c99, or if unsigned long long int does not
work.  In either case, we know the answer without further tests.
Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
it at most once, and use its results for both long long int and
unsigned long long int.  This is more likely to be efficient in
the common case where the program wants to check for both long
long int and unsigned long long int.
(AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
since the answer is already known.

13 years agogetloadavg: set errno
Paul Eggert [Tue, 15 Feb 2011 21:18:20 +0000 (13:18 -0800)]
getloadavg: set errno

* lib/getloadavg.c: Set errno when returning -1.  If no other
error number looks appropriate, set it to ENOSYS if the getloadavg
looks like it can't possibly ever work, ENOTSUP otherwise.
Suggested by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.

getloadavg: trim unused parts and speed up 'configure'
* NEWS: Document this.
* lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
always compiled if getloadavg is absent.
Move test code to ...
* tests/test-getloadavg.c: New file, containing previous
contents of test from lib/getloadavg.c.  It also contains
suggestions by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
* modules/getloadavg-tests: New file.
* m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
Do tests in the same order as they're needed for getloadavg.c.
Omit setgid-related tests that generate symbols KMEM_GROUP,
NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
Do only the tests that are needed to see whether the system has
getloadavg, moving the other tests into ...
(gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
NLIST_NAME_UNION; nobody should be using it.  Do not define
symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
relevant, as the user of this module shouldn't care how getloadavg
is implemented.

13 years agogetloadavg: omit unused var
Paul Eggert [Tue, 15 Feb 2011 20:43:46 +0000 (12:43 -0800)]
getloadavg: omit unused var

* lib/getloadavg.c (getloadavg): Omit unused local variable.

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

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.

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.

13 years agoDon't interfere with a program's definition of __attribute__.
Bruno Haible [Sun, 13 Feb 2011 22:21:20 +0000 (23:21 +0100)]
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.

13 years agomaint: correct a ChangeLog attribution
Eric Blake [Mon, 14 Feb 2011 22:49:32 +0000 (15:49 -0700)]
maint: correct a ChangeLog attribution

13 years agoupdate from texinfo
Karl Berry [Mon, 14 Feb 2011 19:20:44 +0000 (11:20 -0800)]
update from texinfo

13 years agombrtowc: Add more tests for native Windows platforms.
Bruno Haible [Sun, 13 Feb 2011 23:09:53 +0000 (00:09 +0100)]
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.

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.

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.

13 years agombsinit: Don't crash for a NULL argument. 20110225070542/gnulib 20110226030503/gnulib 20110227030503/gnulib 20110228030503/gnulib 20110301030502/gnulib 20110302030503/gnulib 20110303030502/gnulib 20110304030502/gnulib 20110305030508/gnulib 20110306030502/gnulib 20110307030503/gnulib 20110308030502/gnulib 20110309030501/gnulib 20110310030503/gnulib 20110311030503/gnulib 20110312030504/gnulib 20110313030503/gnulib 20110314030506/gnulib 20110315030503/gnulib 20110316030502/gnulib 20110317030504/gnulib 20110318030507/gnulib 20110319030507/gnulib 20110320030508/gnulib 20110321030505/gnulib 20110322030503/gnulib 20110323030507/gnulib 20110324030502/gnulib 20110325030502/gnulib 20110326030503/gnulib 20110327030503/gnulib 20110328030503/gnulib 20110329030503/gnulib 20110330030502/gnulib 20110331030503/gnulib 20110401030503/gnulib 20110402030503/gnulib 20110403030503/gnulib 20110404030502/gnulib 20110405030501/gnulib 20110406030501/gnulib 20110407030503/gnulib 20110408030502/gnulib 20110409030503/gnulib 20110410030503/gnulib 20110411030503/gnulib 20110412030503/gnulib 20110413030503/gnulib 20110414030503/gnulib 20110415030503/gnulib 20110416030505/gnulib 20110417030505/gnulib 20110418030503/gnulib 20110419030503/gnulib 20110420030502/gnulib 20110421030503/gnulib 20110422030503/gnulib 20110423030508/gnulib 20110424030507/gnulib 20110425030507/gnulib 20110426030507/gnulib 20110427030503/gnulib 20110428030504/gnulib 20110429030503/gnulib 20110430030503/gnulib 20110501030503/gnulib 20110502030502/gnulib 20110503030504/gnulib 20110504030502/gnulib 20110505030505/gnulib 20110506030503/gnulib 20110507030503/gnulib 20110508030508/gnulib 20110509030503/gnulib 20110510030502/gnulib 20110511030502/gnulib 20110512030504/gnulib 20110513030505/gnulib 20110514030504/gnulib 20110515030504/gnulib 20110516030504/gnulib 20110517030504/gnulib 20110518030503/gnulib 20110519030505/gnulib 20110520030502/gnulib 20110521030504/gnulib 20110522030504/gnulib 20110523030503/gnulib 20110524030503/gnulib 20110525030502/gnulib 20110526030508/gnulib 20110527030503/gnulib 20110528030502/gnulib 20110529030503/gnulib 20110530030505/gnulib 20110531030503/gnulib 20110601030502/gnulib 20110602030504/gnulib 20110604030501/gnulib 20110605030503/gnulib 20110606030503/gnulib 20110607030504/gnulib 20110608030502/gnulib 20110609030504/gnulib 20110610030503/gnulib 20110611030504/gnulib 20110612030504/gnulib 20110613030503/gnulib 20110614030503/gnulib 20110615030502/gnulib 20110616030507/gnulib 20110617030506/gnulib 20110618030505/gnulib 20110619030505/gnulib 20110620030503/gnulib 20110621030504/gnulib 20110622030502/gnulib 20110623030506/gnulib 20110624030506/gnulib 20110625030504/gnulib 20110626030505/gnulib 20110627030508/gnulib 20110628030505/gnulib 20110629030502/gnulib 20110630030506/gnulib 20110701030505/gnulib 20110702030505/gnulib 20110703030504/gnulib 20110704030504/gnulib 20110705030501/gnulib 20110706030501/gnulib 20110707030503/gnulib 20110708030504/gnulib 20110709030504/gnulib 20110710030504/gnulib 20110711030504/gnulib 20110712030504/gnulib 20110713030502/gnulib 20110714030505/gnulib 20110715030503/gnulib 20110716030503/gnulib 20110717030505/gnulib 20110718030502/gnulib 20110719030503/gnulib 20110720030502/gnulib 20110721030503/gnulib 20110722030508/gnulib 20110723030508/gnulib 20110724030502/gnulib 20110725030501/gnulib 20110726030507/gnulib 20110727030501/gnulib 20110728030503/gnulib 20110729030502/gnulib 20110730030502/gnulib 20110731030502/gnulib 20110801030502/gnulib 20110802030502/gnulib 20110803030502/gnulib 20110804030503/gnulib 20110805030503/gnulib 20110806030502/gnulib 20110807030502/gnulib 20110808030503/gnulib 20110810030501/gnulib 20110811030503/gnulib 20110812030503/gnulib 20110813030502/gnulib 20110814030502/gnulib 20110815030503/gnulib
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.

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.

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

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__

13 years agoquotearg test: Avoid test failure on mingw.
Bruno Haible [Sun, 13 Feb 2011 02:41:41 +0000 (03:41 +0100)]
quotearg test: Avoid test failure on mingw.

* tests/test-quotearg.sh: Convert the locale identifier from native
Windows syntax to Unix syntax.

13 years agosetlocale: Prefer gnulib's override over libintl's override.
Bruno Haible [Sun, 13 Feb 2011 02:39:33 +0000 (03:39 +0100)]
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.

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.

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.

13 years agombsrtowcs: Work around bug on native Windows.
Bruno Haible [Sat, 12 Feb 2011 19:20:02 +0000 (20:20 +0100)]
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.

13 years agoAvoid setlocale bugs in tests.
Bruno Haible [Sat, 12 Feb 2011 18:09:23 +0000 (19:09 +0100)]
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.

13 years agoFix ChangeLog entry.
Bruno Haible [Sat, 12 Feb 2011 17:23:12 +0000 (18:23 +0100)]
Fix ChangeLog entry.

13 years agosetlocale: Workaround native Windows bug.
Bruno Haible [Sat, 12 Feb 2011 17:16:10 +0000 (18:16 +0100)]
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.

13 years agoRemove unused test-setlocale1 argument.
Bruno Haible [Sat, 12 Feb 2011 16:34:40 +0000 (17:34 +0100)]
Remove unused test-setlocale1 argument.

13 years agoTests for module 'setlocale'.
Bruno Haible [Sat, 12 Feb 2011 15:46:11 +0000 (16:46 +0100)]
Tests for module 'setlocale'.

* modules/setlocale-tests: New file.
* tests/test-setlocale1.sh: New file.
* tests/test-setlocale1.c: New file.

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

13 years agoPrepare for locale dependent tests on mingw.
Bruno Haible [Sat, 12 Feb 2011 00:56:46 +0000 (01:56 +0100)]
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.

13 years agoPrepare for locale dependent tests on mingw.
Bruno Haible [Fri, 11 Feb 2011 19:55:01 +0000 (20:55 +0100)]
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.

13 years agostrptime: avoid compiler warnings
Eric Blake [Fri, 11 Feb 2011 20:30:04 +0000 (13:30 -0700)]
strptime: avoid compiler warnings

Reported against mingw, but reproduced on glibc with:

CFLAGS='-Wall -Wunused-label -Wunused-variable' \
  ac_cv_func_strptime=no ./gnulib-tool --with-tests --test strptime

* lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
compiler warnings about dead code.
Reported by Daniel P. Berrange.

Signed-off-by: Eric Blake <eblake@redhat.com>
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.

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.

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.

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.