bootstrap: use "git -h" instead of "git --help"
[gnulib.git] / ChangeLog
1 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
2
3         * build-aux/bootstrap: Use "git -h" for testing for supported options
4         instead of "git --help".  The short-form option only shows a summary,
5         and doesn't layout the full man page.  Grep for the full option name
6         in the summary, too.
7
8 2010-04-19  Bruno Haible  <bruno@clisp.org>
9
10         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
11         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
12         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
13         mention of RELOCATABLE_STRIP.
14         Reported by Sylvain Beucler <beuc@beuc.net>.
15
16 2010-04-19  Bruno Haible  <bruno@clisp.org>
17
18         ioctl: Move autoconf macro to a .m4 file.
19         * m4/ioctl.m4: New file, extracted from modules/ioctl.
20         * modules/ioctl (Files): Add it.
21         (configure.ac): Simply invoke gl_FUNC_IOCTL.
22         Reported by Ian Beckwith <ianb@erislabs.net>.
23
24 2010-04-16  Bruno Haible  <bruno@clisp.org>
25
26         Override netdb.h always.
27         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29         Reported by Ludovic Courtès <ludo@gnu.org>.
30
31 2010-04-15  Bruno Haible  <bruno@clisp.org>
32
33         openpty: Fix mistake from 2010-03-21.
34         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
35         Reported by Simon Josefsson.
36
37 2010-04-15  Eric Blake  <eblake@redhat.com>
38
39         test-forkpty: fix expected signature
40         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
41         Reported by Simon Josefsson.
42
43 2010-04-14  Eric Blake  <eblake@redhat.com>
44
45         strtok_r: relax license to LGPLv2+
46         * modules/strtok_r (License): Relax license.
47         Reported by Matthias Bolte.
48
49 2010-04-13  Eric Blake  <eblake@redhat.com>
50
51         getopt-gnu: match recent glibc fixes and posix ruling
52         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
53         '+' handling, when requesting extensions.
54         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
55         'W;' handling.
56         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
57         * doc/posix-functions/getopt.texi (getopt): Document this.
58         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
59         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60         Likewise.
61
62         getopt: merge bug fixes from glibc
63         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
64         diagnostics.  Honor '+:' correctly.  Reject ';'.
65
66         getopt-posix: detect MacOS bug
67         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
68         optind when missing a required argument.
69         * doc/posix-functions/getopt.texi (getopt): Document the bug.
70         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
71         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
72         Likewise.
73
74         getopt-posix: avoid spurious failure on Solaris
75         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
76         an indicator that setting optind=1 is sufficient for reset.
77
78         getopt-posix: avoid spurious failure on FreeBSD
79         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
80         in POSIX mode, since the m4 test uses it.
81
82 2010-04-13  Jim Meyering  <meyering@redhat.com>
83
84         doc: users.txt: GNU patch now uses gnulib
85         * users.txt: Add patch.
86
87 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
88
89         git-version-gen: use "git update-index..." rather than "git status"
90         * build-aux/git-version-gen: Use git update-index --refresh, not
91         "git status".  With some versions of git, "git status" would fail
92         to update the index and result in an unwarranted "-dirty" suffix.
93
94 2010-04-11  Bruno Haible  <bruno@clisp.org>
95
96         libunistring: Correct value of $LTLIBUNISTRING.
97         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
98         correct the value of $LTLIBUNISTRING.
99
100 2010-04-11  Bruno Haible  <bruno@clisp.org>
101
102         havelib: Add static libraries to LIBS in the right order.
103         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
104         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
105
106 2010-04-11  Bruno Haible  <bruno@clisp.org>
107
108         libunistring: Detect libunistring also when it depends on libiconv.
109         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
110         the second AC_LIB_HAVE_LINKFLAGS invocation.
111
112 2010-04-11  Bruno Haible  <bruno@clisp.org>
113
114         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
115
116 2010-04-10  Bruno Haible  <bruno@clisp.org>
117
118         mkdir: Make it work on mingw64.
119         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
120         * lib/mkdir.c: Update comment.
121         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
122
123 2010-04-10  Jim Meyering  <meyering@redhat.com>
124
125         maint.mk: correct a diagnostic
126         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
127         in diagnostic; now use $prohibit.
128
129 2010-04-10  Bruno Haible  <address@hidden>
130
131         fchownat: Fix a C++ test error on Solaris 8.
132         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
133         the function does not exist.
134
135 2010-04-10  Bruno Haible  <bruno@clisp.org>
136
137         vasnprintf: Add more tests.
138         * tests/test-vasnprintf-posix.c: Include <errno.h>.
139         (test_function): Test converting an invalid wide string.
140
141         vasnprintf: Correct handling of unconvertible wide string arguments.
142         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
143         VASNPRINTF.
144         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
145         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
146         smaller than the expected maximum need for the directive. Set errno to
147         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
148         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
149         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
150         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
151         * modules/vasnprintf (Files): Add m4/printf.m4.
152         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
153
154 2010-04-10  Bruno Haible  <bruno@clisp.org>
155
156         vasnprintf: Fix crash in %ls directive.
157         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
158         string is passed as argument to %ls, with no precision and no width.
159         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
160
161 2010-04-10  Bruno Haible  <bruno@clisp.org>
162
163         vasnprintf: Fix multiple test failures on mingw.
164         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
165         _snprintf, or snwprintf, not _snwprintf.
166
167 2010-04-10  Bruno Haible  <bruno@clisp.org>
168
169         write: Fix a C++ test error on mingw.
170         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
171
172 2010-04-10  Bruno Haible  <bruno@clisp.org>
173
174         vasnprintf test: Reduce code duplication.
175         * tests/test-vasnprintf.c (test_function): New function, extracted from
176         test_vasnprintf.
177         (test_vasnprintf, test_asnprintf): Invoke it.
178
179 2010-04-08  James Youngman  <jay@gnu.org>
180
181         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
182         the example.
183
184 2010-04-09  Jim Meyering  <meyering@redhat.com>
185
186         init.sh: run tr in the "C" locale to avoid multibyte interpretation
187         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
188         not try to interpret its random input bytes.  Jarno Rajahalme reported
189         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
190         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
191         (mktempd_): Likewise, just in case.
192
193         ftruncate: add two years to projected module removal date: 2012
194         * m4/ftruncate.m4: Adjust comments.
195
196         ftruncate: mark module as obsolete; even MinGW provides it, now
197         * modules/ftruncate (Status): Obsolete.
198         (Notice): Say that.
199         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
200         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
201
202 2010-04-08  Bruno Haible  <bruno@clisp.org>
203
204         Fix side effects from tests-related modules.
205         * modules/dprintf-posix (Comment): New section.
206         * modules/fprintf-posix (Comment): Likewise.
207         * modules/obstack-printf-posix (Comment): Likewise.
208         * modules/printf-posix (Comment): Likewise.
209         * modules/snprintf-posix (Comment): Likewise.
210         * modules/sprintf-posix (Comment): Likewise.
211         * modules/vasnprintf-posix (Comment): Likewise.
212         * modules/vasprintf-posix (Comment): Likewise.
213         * modules/vdprintf-posix (Comment): Likewise.
214         * modules/vfprintf-posix (Comment): Likewise.
215         * modules/vprintf-posix (Comment): Likewise.
216         * modules/vsnprintf-posix (Comment): Likewise.
217         * modules/vsprintf-posix (Comment): Likewise.
218         * modules/xprintf-posix (Comment): Likewise.
219         * modules/xvasprintf-posix (Comment): Likewise.
220         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
221         * modules/floorf-tests (Depends-on): Likewise.
222         * modules/round-tests (Depends-on): Likewise.
223         * modules/roundf-tests (Depends-on): Likewise.
224         * modules/trunc-tests (Depends-on): Likewise.
225         * modules/truncf-tests (Depends-on): Likewise.
226         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
227         'fprintf-posix' module is not present.
228         * tests/test-floorf2.c (check): Likewise.
229         * tests/test-trunc2.c (check): Likewise.
230         * tests/test-truncf2.c (check): Likewise.
231         * tests/test-round2.c (equal): Likewise.
232         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
233
234 2010-04-07  Karl Berry  <karl@gnu.org>
235
236         * config/srclist.txt,
237         * config/srclistvars.sh,
238         * config/srclist-update: doc fixes.
239
240 2010-04-07  Jim Meyering  <meyering@redhat.com>
241
242         maint.mk: add a PATH crosschecking syntax-check rule
243         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
244         Useful if you use a test like the one in help-version (coreutils,
245         diffutils, grep, gzip) that ensures $(VERSION) matches what is
246         printed by prog --version.
247
248 2010-04-06  Bruno Haible  <bruno@clisp.org>
249
250         Fix link error on mingw.
251         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
252         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
253
254 2010-04-06  Bruno Haible  <bruno@clisp.org>
255
256         Assume rmdir exists.
257         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
258
259 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
260
261         doc: update users.txt
262         * users.txt: Add gcal.
263
264 2010-04-06  Jim Meyering  <meyering@redhat.com>
265
266         init.sh: simply unset TMPDIR rather than risking env -i
267         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
268         although it probably works fine on all Unix-based systems, some
269         systems (Cygwin?) cannot tolerate a totally cleared environment.
270         Suggestion from Eric Blake.
271
272 2010-04-06  Jim Meyering  <meyering@redhat.com>
273
274         init.sh: portability fix: use env's POSIX-specified -i option not -u
275         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
276         than unportable env -u.  Solaris 5.11's env lacks support for -u.
277
278 2010-04-05  Bruno Haible  <bruno@clisp.org>
279
280         btowc: Work around Cygwin 1.7.2 bug.
281         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
282         does not map NUL to 0.
283         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
284
285 2010-04-05  Bruno Haible  <bruno@clisp.org>
286
287         Make the multithread modules work on Cygwin 1.7.2.
288         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
289         imported symbols can be declared weak, so that it returns "no" on
290         Cygwin 1.7.2.
291
292 2010-04-05  Bruno Haible  <bruno@clisp.org>
293
294         Use the module 'strncat'.
295         * modules/unistr/u8-strncat (Depends-on): Add strncat.
296
297         Tests for module 'strncat'.
298         * modules/strncat-tests: New file.
299         * tests/test-strncat.c: New file.
300
301         New module 'strncat'.
302         * lib/string.in.h (strncat): New declaration.
303         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
304         * m4/strncat.m4: New file, based on m4/memchr.m4.
305         * modules/strncat: New file.
306         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
307         is declared.
308         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
309         REPLACE_STRNCAT.
310         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
311         REPLACE_STRNCAT.
312         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
313         module.
314         * tests/test-string-c++.cc: Check signature of strncat.
315
316 2010-04-05  Jim Meyering  <meyering@redhat.com>
317
318         xstrtoumax-tests: convert to use init.sh
319         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
320         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
321         Use Exit, not exit.
322         Remove uses of $EXEEXT and "./" to run a program in the current dir.
323
324         xstrtoimax-tests: convert to use init.sh
325         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
326         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
327         Use Exit, not exit.
328         Remove uses of $EXEEXT and "./" to run a program in the current dir.
329
330 2010-04-05  Bruno Haible  <bruno@clisp.org>
331
332         sys_socket: Avoid #define replacements in C++ mode.
333         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
334         warning to the function if possible, rather than #defining the symbol
335         to a dysfunctional alias.
336
337 2010-04-05  Bruno Haible  <bruno@clisp.org>
338
339         fseeko: Fix C++ test error on mingw.
340         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
341         gl_FUNC_FSEEKO.
342         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
343         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
344         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
345         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
346
347 2010-04-05  Bruno Haible  <bruno@clisp.org>
348
349         duplocale: Improve test output.
350         * tests/test-duplocale.c (main): Print reason for skipped test.
351
352 2010-04-05  Bruno Haible  <bruno@clisp.org>
353
354         Assume rmdir exists.
355         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
356         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
357
358 2010-04-05  Bruno Haible  <bruno@clisp.org>
359
360         Fix link error on Solaris 8 with cc.
361         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
362
363 2010-04-05  Bruno Haible  <bruno@clisp.org>
364
365         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
366         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
367
368 2010-04-05  Bruno Haible  <bruno@clisp.org>
369
370         vasprintf: Update documentation.
371         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
372
373 2010-04-05  Bruno Haible  <bruno@clisp.org>
374
375         ptsname: Improve test.
376         * tests/test-ptsname.c (main): Also try the various master names of BSD
377         systems.
378
379 2010-04-05  Bruno Haible  <bruno@clisp.org>
380
381         memchr: Avoid a possible C++ test error.
382         * lib/string.in.h (memchr): Provide declaration if function is missing.
383         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
384         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
385         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
386         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
387
388 2010-04-05  Bruno Haible  <bruno@clisp.org>
389
390         strtok_r: Improve idiom.
391         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
392         AC_LIBOBJ is used.
393
394 2010-04-05  Bruno Haible  <bruno@clisp.org>
395
396         strdup: Improve idiom.
397         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
398         AC_LIBOBJ is used.
399         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
400         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
401         when AC_LIBOBJ is used.
402
403 2010-04-05  Bruno Haible  <bruno@clisp.org>
404
405         mbsinit, mbrtowc, wcrtomb: Improve idioms.
406         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
407         don't set REPLACE_MBSINIT to 1.
408         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
409         don't set REPLACE_MBRTOWC to 1.
410         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
411         exist, don't set REPLACE_MBSRTOWCS to 1.
412         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
413         exist, don't set REPLACE_MBSNRTOWCS to 1.
414         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
415         don't set REPLACE_WCRTOMB to 1.
416         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
417         exist, don't set REPLACE_WCSRTOMBS to 1.
418         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
419         exist, don't set REPLACE_WCSNRTOMBS to 1.
420
421 2010-04-05  Bruno Haible  <bruno@clisp.org>
422
423         ldexpl: Improve idiom.
424         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
425         make sure to set HAVE_DECL_LDEXPL to 0.
426
427 2010-04-05  Jim Meyering  <meyering@redhat.com>
428
429         xstrtol-tests: convert to use init.sh
430         * modules/xstrtol-tests (Files): Add tests/init.sh.
431         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
432         Use Exit, not exit.
433         Remove uses of $EXEEXT and "./" to run a program in the current dir.
434
435         atexit-tests: convert to use init.sh
436         * modules/atexit-tests (Files): Add tests/init.sh.
437         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
438         Use Exit, not exit.
439         Remove uses of $EXEEXT and "./" to run a program in the current dir.
440
441         init.sh: fix typo
442         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
443
444         init.sh: make it easier for a test script to write to the tty, ...
445         when using automake's parallel-tests mode.
446         * tests/init.sh (stderr_fileno_): Define overridable variable.
447         (warn_): New function, to use it.
448         (fail_, skip_, framework_failure_): Use warn_.
449
450 2010-04-04  Bruno Haible  <bruno@clisp.org>
451
452         btowc: Avoid warning.
453         * lib/btowc.c: Include <stdlib.h>.
454         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
455
456 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
457             Bruno Haible  <bruno@clisp.org>
458
459         wchar: Port to NetBSD 1.5.
460         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
461         * lib/wctype.in.h (WEOF): Likewise.
462
463 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
464             Bruno Haible  <bruno@clisp.org>
465
466         Port extended stdio to NetBSD 1.5.
467         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
468         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
469         older.
470
471 2010-04-04  Bruno Haible  <bruno@clisp.org>
472
473         string: Remove unused substitution.
474         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
475         HAVE_DECL_STRERROR.
476         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
477
478 2010-04-04  Bruno Haible  <bruno@clisp.org>
479
480         strtod: Avoid a possible C++ test error.
481         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
482         set REPLACE_STRTOD.
483
484 2010-04-04  Bruno Haible  <bruno@clisp.org>
485
486         strerror: Update documentation.
487         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
488
489 2010-04-04  Bruno Haible  <bruno@clisp.org>
490
491         stdio: Fix some C++ test errors on Solaris 8 with GCC.
492         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
493         _GL_CXXALIAS_SYS_CAST.
494
495 2010-04-04  Bruno Haible  <bruno@clisp.org>
496
497         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
498         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
499         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
500         REPLACE_FREXPL to 1.
501         * doc/posix-functions/frexpl.texi: Update documentation.
502
503 2010-04-04  Bruno Haible  <bruno@clisp.org>
504
505         math: Fix some C++ test errors on Solaris 8 and Cygwin.
506         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
507
508 2010-04-04  Bruno Haible  <bruno@clisp.org>
509
510         Implement nanosleep for native Windows.
511         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
512
513 2010-04-04  Bruno Haible  <bruno@clisp.org>
514
515         math: Fix some C++ test errors on Solaris 8.
516         * lib/math.in.h (truncf, trunc): Use simpler idiom.
517
518 2010-04-04  Bruno Haible  <bruno@clisp.org>
519
520         math: Fix some C++ test errors on Cygwin.
521         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
522         truncl): Provide declaration if the system does not have it.
523         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
524         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
525         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
526         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
527         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
528         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
529         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
530         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
531         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
532         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
533         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
534         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
535         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
536         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
537         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
538         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
539         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
540         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
541         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
542         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
543         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
544         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
545
546 2010-04-04  Bruno Haible  <bruno@clisp.org>
547
548         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
549         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
550         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
551         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
552         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
553         * m4/isinf.m4 (gl_ISINF): Likewise.
554         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
555
556 2010-04-04  Bruno Haible  <bruno@clisp.org>
557
558         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
559         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
560
561 2010-04-04  Bruno Haible  <bruno@clisp.org>
562
563         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
564         * modules/tmpfile (configure.ac): Update.
565
566         tmpfile: Fix C++ test error on mingw.
567         * lib/stdio.in.h (tmpfile): New declaration.
568         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
569         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
570         * modules/tmpfile (Depends-on): Add stdio.
571         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
572         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
573         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
574         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
575         REPLACE_TMPFILE.
576         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
577
578 2010-04-04  Bruno Haible  <bruno@clisp.org>
579
580         ioctl: Fix C++ test error on mingw.
581         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
582         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
583         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
584
585 2010-04-03  Bruno Haible  <bruno@clisp.org>
586
587         wcwidth: Fix C++ test error on mingw.
588         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
589         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
590         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
591
592 2010-04-03  Bruno Haible  <bruno@clisp.org>
593
594         nanosleep: Fix C++ test error on mingw.
595         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
596         * lib/time.in.h (nanosleep): Use modern idiom.
597         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
598         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
599         REPLACE_NANOSLEEP to 1.
600         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
601         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
602
603 2010-04-03  Bruno Haible  <bruno@clisp.org>
604
605         strptime: Fix C++ test error on mingw.
606         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
607         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
608         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
609         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
610         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
611         not REPLACE_STRPTIME.
612         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
613         REPLACE_STRPTIME.
614
615 2010-04-03  Bruno Haible  <bruno@clisp.org>
616
617         timegm: Fix C++ test error on mingw.
618         * lib/time.in.h (timegm): Use modern idiom.
619         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
620         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
621         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
622         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
623
624 2010-04-03  Bruno Haible  <bruno@clisp.org>
625
626         timegm: Assume declaration if function exists.
627         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
628         if it exists. Don't clobber ac_cv_func_timegm.
629
630 2010-04-03  Bruno Haible  <bruno@clisp.org>
631
632         time_r: Fix C++ test error on mingw.
633         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
634         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
635         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
636         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
637         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
638
639 2010-04-03  Bruno Haible  <bruno@clisp.org>
640
641         time_r: Minor updates.
642         * modules/time_r (Description): Mention the provided functions.
643         * lib/time_r.c: Don't include <string.h>.
644         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
645         * doc/posix-functions/localtime_r.texi: Likewise.
646
647 2010-04-03  Bruno Haible  <bruno@clisp.org>
648
649         time: Fix regression introduced on 2010-03-08.
650         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
651         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
652
653 2010-04-03  Jim Meyering  <meyering@redhat.com>
654
655         maint.mk: don't silently disable project-specific syntax-check rules
656         * top/maint.mk (_prohibit_regexp): Define, to help people realize
657         that they need to convert their project-specific syntax-check rules
658         to use the new _sc_search_regexp.
659
660 2010-04-03  Bruno Haible  <bruno@clisp.org>
661
662         fchdir: Fix regression introduced on 2010-03-08.
663         * lib/unistd.in.h (fchdir): Fix declaration.
664         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
666         REPLACE_FCHDIR.
667         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
668         REPLACE_FCHDIR.
669
670 2010-04-03  Bruno Haible  <bruno@clisp.org>
671
672         getpagesize: Fix C++ test error on mingw.
673         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
674         system does not declare the function.
675         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
676         declared.
677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
678         HAVE_DECL_GETPAGESIZE.
679         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
680
681 2010-04-03  Bruno Haible  <bruno@clisp.org>
682
683         stdio: Make C++ tests work on mingw.
684         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
685         does not declare the function.
686
687 2010-04-03  Bruno Haible  <bruno@clisp.org>
688
689         ftello: Fix C++ test error on mingw.
690         * lib/stdio.in.h (ftello): Use modern idiom.
691         * lib/ftello.c (ftello): Renamed from rpl_ftello.
692         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
693         is missing and that it needs to be replaced.
694         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
696         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
697
698 2010-04-03  Bruno Haible  <bruno@clisp.org>
699
700         fseeko: Fix C++ test error on mingw.
701         * lib/stdio.in.h (fseeko): Use modern idiom.
702         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
703         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
704         is missing and that it needs to be replaced.
705         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
707         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
708
709 2010-04-03  Bruno Haible  <bruno@clisp.org>
710
711         mkstemp: Fix C++ test error on mingw.
712         * lib/stdlib.in.h (mkstemp): Use modern idiom.
713         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
714         function is missing and that it needs to be replaced.
715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
716         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
717
718 2010-04-03  Bruno Haible  <bruno@clisp.org>
719
720         stpncpy: Fix C++ test error on mingw.
721         * lib/string.in.h (stpncpy): Use modern idiom.
722         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
723         function is missing and that it needs to be replaced.
724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
725         REPLACE_STPNCPY.
726         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
727
728 2010-04-03  Bruno Haible  <bruno@clisp.org>
729
730         sys_stat: Fix C++ test error on mingw.
731         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
732         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
733
734 2010-04-03  Bruno Haible  <bruno@clisp.org>
735
736         pty: Update doc.
737         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
738
739 2010-04-03  Bruno Haible  <bruno@clisp.org>
740
741         unistd: Fix C++ test error on mingw.
742         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
743
744 2010-04-03  Bruno Haible  <bruno@clisp.org>
745
746         Update doc regarding mingw.
747         * doc/glibc-functions/openpty.texi: Update regarding mingw.
748         * doc/glibc-functions/login_tty.texi: Likewise.
749         * doc/glibc-functions/forkpty.texi: Likewise.
750
751 2010-04-03  Bruno Haible  <bruno@clisp.org>
752
753         stdlib: Avoid compilation failure of c-strtold on mingw.
754         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
755
756 2010-04-03  Bruno Haible  <bruno@clisp.org>
757
758         locale: Make C++ tests work on Cygwin and mingw.
759         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
760         cannot provide the function.
761         Reported by Simon Josefsson.
762
763 2010-04-03  Bruno Haible  <bruno@clisp.org>
764
765         localename: Port to MacOS X 10.6.
766         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
767         memory layout of the locales in MacOS X 10.6 as well.
768         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
769
770 2010-04-02  Bruno Haible  <bruno@clisp.org>
771
772         gnulib-tool: Ensure that long-running tests are executed last.
773         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
774         running tests after the one for the other tests.
775
776 2010-04-02  Bruno Haible  <bruno@clisp.org>
777
778         gnulib-tool: Ensure the tests in the main directory are executed first.
779         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
780         start with the current directory.
781
782 2010-04-02  Bruno Haible  <bruno@clisp.org>
783
784         Tests for module 'havelib', moved here from GNU gettext.
785         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
786         modifications.
787         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
788         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
789         with modifications.
790         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
791         modifications.
792         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
793         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
794         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
795         with modifications.
796         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
797         with modifications.
798         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
799         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
800         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
801         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
802         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
803         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
804         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
805         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
806         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
807         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
808         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
809         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
810         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
811         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
812         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
813         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
814         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
815         with modifications.
816         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
817         with modifications.
818         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
819         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
820         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
821         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
822         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
823         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
824         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
825         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
826         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
827         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
828         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
829         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
830         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
831         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
832         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
833         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
834         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
835         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
836         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
837         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
838         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
839         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
840         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
841         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
842         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
843         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
844         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
845         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
846         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
847         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
848         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
849         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
850         * tests/havelib/rpathx/rpathx.c: New file, from
851         gettext/autoconf-lib-link.
852         * tests/havelib/rpathx/Makefile.am: New file, from
853         gettext/autoconf-lib-link.
854         * tests/havelib/rpathx/configure.ac: New file, from
855         gettext/autoconf-lib-link with modifications.
856         * tests/havelib/rpathy/rpathy.c: New file, from
857         gettext/autoconf-lib-link.
858         * tests/havelib/rpathy/Makefile.am: New file, from
859         gettext/autoconf-lib-link.
860         * tests/havelib/rpathy/configure.ac: New file, from
861         gettext/autoconf-lib-link with modifications.
862         * tests/havelib/rpathz/rpathz.c: New file, from
863         gettext/autoconf-lib-link.
864         * tests/havelib/rpathz/Makefile.am: New file, from
865         gettext/autoconf-lib-link.
866         * tests/havelib/rpathz/configure.ac: New file, from
867         gettext/autoconf-lib-link with modifications.
868         * tests/havelib/rpathlx/usex.c: New file, from
869         gettext/autoconf-lib-link.
870         * tests/havelib/rpathlx/Makefile.am: New file, from
871         gettext/autoconf-lib-link.
872         * tests/havelib/rpathlx/configure.ac: New file, from
873         gettext/autoconf-lib-link with modifications.
874         * tests/havelib/rpathly/usey.c: New file, from
875         gettext/autoconf-lib-link.
876         * tests/havelib/rpathly/Makefile.am: New file, from
877         gettext/autoconf-lib-link.
878         * tests/havelib/rpathly/configure.ac: New file, from
879         gettext/autoconf-lib-link with modifications.
880         * tests/havelib/rpathlz/usez.c: New file, from
881         gettext/autoconf-lib-link.
882         * tests/havelib/rpathlz/Makefile.am: New file, from
883         gettext/autoconf-lib-link.
884         * tests/havelib/rpathlz/configure.ac: New file, from
885         gettext/autoconf-lib-link with modifications.
886         * tests/havelib/rpathlyx/usey.c: New file, from
887         gettext/autoconf-lib-link.
888         * tests/havelib/rpathlyx/Makefile.am: New file, from
889         gettext/autoconf-lib-link.
890         * tests/havelib/rpathlyx/configure.ac: New file, from
891         gettext/autoconf-lib-link with modifications.
892         * tests/havelib/rpathlzyx/usez.c: New file, from
893         gettext/autoconf-lib-link.
894         * tests/havelib/rpathlzyx/Makefile.am: New file, from
895         gettext/autoconf-lib-link.
896         * tests/havelib/rpathlzyx/configure.ac: New file, from
897         gettext/autoconf-lib-link with modifications.
898         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
899         with modifications.
900
901 2010-04-02  Bruno Haible  <bruno@clisp.org>
902
903         gnulib-tool: Create distributed built sources also for the tests.
904         * gnulib-tool (func_create_testdir): Also generate distributed built
905         sources in the tests directory.
906
907 2010-04-02  Bruno Haible  <bruno@clisp.org>
908
909         gnulib-tool: Obey user's environment variables.
910         * gnulib-tool (func_create_testdir): When creating built sources,
911         respect the environment variables for autoconf, automake, etc. given by
912         the user.
913
914 2010-04-02  Bruno Haible  <bruno@clisp.org>
915
916         gnulib-tool: Provide the value of --m4-base to modules.
917         * gnulib-tool (func_import, func_create_testdir): Emit a definition
918         of gl_m4_base.
919
920 2010-04-02  Eric Blake  <eblake@redhat.com>
921
922         maint.mk: fix some fallout
923         * NEWS: Document the incompatible change, and its effect on cfg.mk.
924         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
925
926 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
927
928         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
929         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
930         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
931         (sc_cast_of_x_alloc_return_value): Likewise.
932         (sc_cast_of_alloca_return_value): Likewise.
933         (sc_space_tab): Likewise.
934         (sc_prohibit_atoi_atof): Likewise.
935         (sc_prohibit_magic_number_exit): Likewise.
936         (sc_error_exit_success): Likewise.
937         (sc_file_system): Likewise.
938         (sc_prohibit_have_config_h): Likewise.
939         (sc_require_config_h): Likewise.
940         (sc_prohibit_HAVE_MBRTOWC): Likewise.
941         (sc_obsolete_symbols): Likewise.
942         (sc_changelog): Likewise.
943         (sc_program_name): Likewise.
944         (sc_the_the): Likewise.
945         (sc_trailing_blank): Likewise.
946         (sc_two_space_separator_in_usage): Likewise.
947         (sc_useless_cpp_parens): Likewise.
948         (sc_GPL_version): Likewise.
949         (sc_GFDL_version): Likewise.
950         (sc_texinfo_acronym): Likewise.
951         (sc_prohibit_cvs_keyword): Likewise.
952         (sc_prohibit_stat_st_blocks): Likewise.
953         (sc_prohibit_S_IS_definition): Likewise.
954         (sc_redundant_const): Likewise.
955         (sc_makefile_TAB_only_indentation): Likewise.
956         (sc_m4_quote_check): Likewise.
957         (sc_makefile_path_separator_check): Likewise.
958         (sc_copyright_check): Likewise.
959         (sc_Wundef_boolean): Likewise.
960         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
961
962         maint.mk: match 0 or more whitespace-before-function-call '('
963         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
964         that have zero or two-and-more spaces between the function name
965         and the open parenthesis.
966         (sc_error_message_warn_fatal): Likewise.
967         (sc_error_message_uppercase): Likewise.
968         (sc_error_message_period): Likewise.
969
970 2010-03-31  Eric Blake  <eblake@redhat.com>
971
972         maint.mk: check for [ as well as test
973         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
974         Based on a libvirt report by Matthias Bolte.
975
976         gnumakefile: don't squelch _version output
977         * top/GNUmakefile (_version): Create one-shot dependency rather
978         than using $(shell) when version must be regenerated.
979         (_autoreconf): Run verbosely, by default.
980
981         sys_time: avoid compiler warnings
982         * lib/sys_time.in.h (includes): Ensure gcc pragma is
983         unconditional, fixing regression from 2010-03-29.
984         Reported by Simon Josefsson.
985
986 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
987
988         maint.mk: s/_header_without_use/_sc_header_without_use/
989         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
990         (sc_prohibit_assert_without_use): Use the new name.
991         (sc_prohibit_close_stream_without_use): Likewise.
992         (sc_prohibit_getopt_without_use): Likewise.
993         (sc_prohibit_quotearg_without_use): Likewise.
994         (sc_prohibit_quote_without_use): Likewise.
995         (sc_prohibit_long_options_without_use): Likewise.
996         (sc_prohibit_inttostr_without_use): Likewise.
997         (sc_prohibit_ignore_value_without_use): Likewise.
998         (sc_prohibit_error_without_use): Likewise.
999         (sc_prohibit_xalloc_without_use): Likewise.
1000         (sc_prohibit_hash_without_use): Likewise.
1001         (sc_prohibit_hash_pjw_without_use): Likewise.
1002         (sc_prohibit_safe_read_without_use): Likewise.
1003         (sc_prohibit_argmatch_without_use): Likewise.
1004         (sc_prohibit_canonicalize_without_use): Likewise.
1005         (sc_prohibit_root_dev_ino_without_use): Likewise.
1006         (sc_prohibit_openat_without_use): Likewise.
1007         (sc_prohibit_c_ctype_without_use): Likewise.
1008         (sc_prohibit_signal_without_use): Likewise.
1009         (sc_prohibit_intprops_without_use): Likewise.
1010
1011 2010-03-30  Eric Blake  <eblake@redhat.com>
1012
1013         maint: improve module indicators
1014         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
1015         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
1016         columns, and avoid extra macro expansion.
1017
1018         fdopendir: work around FreeBSD bug
1019         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1020         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
1021         * modules/dirent (Makefile.am): Substitute it.
1022         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
1023         declaration.
1024         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
1025         fix.
1026         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1027
1028 2010-03-29  Bruno Haible  <bruno@clisp.org>
1029
1030         Emit #pragma system_header after the inclusion guard, not before.
1031         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
1032         guard that spans the entire file, not before. This enables an
1033         optimization in GCC's preprocessor.
1034         * lib/ctype.in.h: Likewise.
1035         * lib/dirent.in.h: Likewise.
1036         * lib/errno.in.h: Likewise.
1037         * lib/float.in.h: Likewise.
1038         * lib/getopt.in.h: Likewise.
1039         * lib/iconv.in.h: Likewise.
1040         * lib/langinfo.in.h: Likewise.
1041         * lib/locale.in.h: Likewise.
1042         * lib/math.in.h: Likewise.
1043         * lib/netdb.in.h: Likewise.
1044         * lib/netinet_in.in.h: Likewise.
1045         * lib/pty.in.h: Likewise.
1046         * lib/sched.in.h: Likewise.
1047         * lib/se-selinux.in.h: Likewise.
1048         * lib/search.in.h: Likewise.
1049         * lib/spawn.in.h: Likewise.
1050         * lib/stdarg.in.h: Likewise.
1051         * lib/stdint.in.h: Likewise.
1052         * lib/string.in.h: Likewise.
1053         * lib/strings.in.h: Likewise.
1054         * lib/sys_file.in.h: Likewise.
1055         * lib/sys_ioctl.in.h: Likewise.
1056         * lib/sys_time.in.h: Likewise.
1057         * lib/sys_times.in.h: Likewise.
1058         * lib/sys_utsname.in.h: Likewise.
1059         * lib/sys_wait.in.h: Likewise.
1060         * lib/sysexits.in.h: Likewise.
1061         * lib/wctype.in.h: Likewise.
1062
1063 2010-03-28  James Youngman  <jay@gnu.org>
1064
1065         save-cwd: don't leak a file descriptor when the caller execs.
1066         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
1067         saved file descriptor.
1068         * modules/save-cwd (Depends-on): Depend on cloexec.
1069
1070 2010-03-29  Bruno Haible  <bruno@clisp.org>
1071
1072         Remove vestiges of fts-lgpl module.
1073         * lib/fts_.h: Assume GNULIB_FTS is 1.
1074         * lib/fts.c: Likewise.
1075         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1076
1077 2010-03-28  Bruno Haible  <bruno@clisp.org>
1078
1079         Fix definition of tests witness macro.
1080         * gnulib-tool (func_import): Fix definition of witness macro.
1081
1082 2010-03-28  Bruno Haible  <bruno@clisp.org>
1083
1084         Fix ioctl's protoype on glibc systems.
1085         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
1086         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
1087         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
1088         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
1089         signature. If not, arrange to replace the ioctl function.
1090         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
1091         REPLACE_IOCTL.
1092         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
1093         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
1094         Reported by Ludovic Courtès <ludo@gnu.org>.
1095
1096 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
1097
1098         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
1099         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
1100         made it so grep -r --include=GLOB* ... did not work.
1101
1102 2010-03-26  Jim Meyering  <meyering@redhat.com>
1103             Eric Blake  <eblake@redhat.com>
1104
1105         maint.mk: prohibit use of test's -o and -a operators
1106         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
1107
1108 2010-03-28  Bruno Haible  <bruno@clisp.org>
1109
1110         Remove unused GNULIB_XYZ macro definitions.
1111         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
1112         invocation.
1113
1114 2010-03-28  Bruno Haible  <bruno@clisp.org>
1115
1116         Mark privileged tests modules.
1117         * modules/idpriv-drop-tests (Status): New section.
1118         * modules/idpriv-droptemp-tests (Status): New section.
1119
1120 2010-03-28  Bruno Haible  <bruno@clisp.org>
1121
1122         Split C++ tests into separate tests modules.
1123         * modules/dirent-c++-tests: New file, extracted from
1124         modules/dirent-tests.
1125         * modules/dirent-tests: Depend on it.
1126         * modules/fcntl-h-c++-tests: New file, extracted from
1127         modules/fcntl-h-tests.
1128         * modules/fcntl-h-tests: Depend on it.
1129         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
1130         * modules/glob-tests: Depend on it.
1131         * modules/iconv-h-c++-tests: New file, extracted from
1132         modules/iconv-h-tests.
1133         * modules/iconv-h-tests: Depend on it.
1134         * modules/langinfo-c++-tests: New file, extracted from
1135         modules/langinfo-tests.
1136         * modules/langinfo-tests: Depend on it.
1137         * modules/locale-c++-tests: New file, extracted from
1138         modules/locale-tests.
1139         * modules/locale-tests: Depend on it.
1140         * modules/math-c++-tests: New file, extracted from modules/math-tests.
1141         * modules/math-tests: Depend on it.
1142         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
1143         * modules/pty-tests: Depend on it.
1144         * modules/search-c++-tests: New file, extracted from
1145         modules/search-tests.
1146         * modules/search-tests: Depend on it.
1147         * modules/signal-c++-tests: New file, extracted from
1148         modules/signal-tests.
1149         * modules/signal-tests: Depend on it.
1150         * modules/spawn-c++-tests: New file, extracted from
1151         modules/spawn-tests.
1152         * modules/spawn-tests: Depend on it.
1153         * modules/stdio-c++-tests: New file, extracted from
1154         modules/stdio-tests.
1155         * modules/stdio-tests: Depend on it.
1156         * modules/stdlib-c++-tests: New file, extracted from
1157         modules/stdlib-tests.
1158         * modules/stdlib-tests: Depend on it.
1159         * modules/string-c++-tests: New file, extracted from
1160         modules/string-tests.
1161         * modules/string-tests: Depend on it.
1162         * modules/sys_ioctl-c++-tests: New file, extracted from
1163         modules/sys_ioctl-tests.
1164         * modules/sys_ioctl-tests: Depend on it.
1165         * modules/sys_select-c++-tests: New file, extracted from
1166         modules/sys_select-tests.
1167         * modules/sys_select-tests: Depend on it.
1168         * modules/sys_socket-c++-tests: New file, extracted from
1169         modules/sys_socket-tests.
1170         * modules/sys_socket-tests: Depend on it.
1171         * modules/sys_stat-c++-tests: New file, extracted from
1172         modules/sys_stat-tests.
1173         * modules/sys_stat-tests: Depend on it.
1174         * modules/sys_time-c++-tests: New file, extracted from
1175         modules/sys_time-tests.
1176         * modules/sys_time-tests: Depend on it.
1177         * modules/time-c++-tests: New file, extracted from modules/time-tests.
1178         * modules/time-tests: Depend on it.
1179         * modules/unistd-c++-tests: New file, extracted from
1180         modules/unistd-tests.
1181         * modules/unistd-tests: Depend on it.
1182         * modules/wchar-c++-tests: New file, extracted from
1183         modules/wchar-tests.
1184         * modules/wchar-tests: Depend on it.
1185         * modules/wctype-c++-tests: New file, extracted from
1186         modules/wctype-tests.
1187         * modules/wctype-tests: Depend on it.
1188         Reported by Simon Josefsson.
1189
1190 2010-03-28  Bruno Haible  <bruno@clisp.org>
1191
1192         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
1193         * gnulib-tool (func_exists_module): New function, extracted from
1194         func_verify_module.
1195         (func_verify_module): Use it.
1196         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
1197         'foo' only if 'foo' exists.
1198         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
1199         module.
1200
1201 2010-03-28  Bruno Haible  <bruno@clisp.org>
1202
1203         gnulib-tool: Add support for special categories of tests.
1204         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
1205         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
1206         (func_usage): Document them.
1207         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
1208         inc_unportable_tests, inc_all_tests): New variables.
1209         (func_acceptable): Consider these variables.
1210         (func_modules_transitive_closure): Make it work when the 'Status' field
1211         consists of multiple words.
1212         (func_import): Store and restore the values of inc_cxx_tests,
1213         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
1214         inc_all_tests in gnulib-comp.m4.
1215         (func_create_testdir): Set inc_all_tests to true.
1216         * doc/gnulib.texi (Extra tests modules): New section.
1217         Suggested by Jim Meyering.
1218
1219 2010-03-28  Bruno Haible  <bruno@clisp.org>
1220
1221         ansi-c++-opt: Allow turning off the C++ build by default.
1222         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
1223         gl_CXX_CHOICE_DEFAULT_NO is defined.
1224         Requested by Eric Blake.
1225
1226 2010-03-28  Bruno Haible  <bruno@clisp.org>
1227
1228         unistd: Avoid #define replacements in C++ mode.
1229         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1230         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1231         setsockopt, shutdown, select): In C++, attach a warning to the function
1232         if possible, rather than #defining the symbol to a dysfunctional alias.
1233         Reported by John W. Eaton <jwe@gnu.org>.
1234
1235 2010-03-28  Bruno Haible  <bruno@clisp.org>
1236
1237         Fix link errors on mingw.
1238         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
1239         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
1240         $(LIBSOCKET).
1241         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
1242         $(LIBSOCKET).
1243
1244 2010-03-28  Bruno Haible  <bruno@clisp.org>
1245             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1246
1247         lib-ignore: Determine different options for different compilers.
1248         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
1249         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
1250         Add comments.
1251         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
1252         * NEWS: Mention the change.
1253
1254 2010-03-27  Bruno Haible  <bruno@clisp.org>
1255
1256         Remove unused GNULIB_XYZ macro definitions.
1257         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1258         * modules/fseek (configure.ac): Likewise.
1259         * modules/ioctl (configure.ac): Likewise.
1260         * modules/open (configure.ac): Likewise.
1261         * modules/stdlib-safer (configure.ac): Likewise.
1262
1263 2010-03-27  Bruno Haible  <bruno@clisp.org>
1264
1265         Add a remark about certain modules.
1266         * modules/malloc (Comment): New section.
1267         * modules/realloc (Comment): Likewise.
1268         * modules/sigpipe (Comment): Likewise.
1269
1270 2010-03-27  Bruno Haible  <bruno@clisp.org>
1271
1272         Resolve conflict between the two kinds of module indicators.
1273         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
1274         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
1275         * modules/canonicalize (configure.ac): Invoke
1276         gl_MODULE_INDICATOR_FOR_TESTS.
1277         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
1278         GNULIB_XYZ.
1279         * tests/test-dirent-c++.cc: Likewise.
1280         * tests/test-dirent-safer.c: Likewise.
1281         * tests/test-dup2.c: Likewise.
1282         * tests/test-fchdir.c: Likewise.
1283         * tests/test-fcntl-h-c++.cc: Likewise.
1284         * tests/test-getopt.c: Likewise.
1285         * tests/test-getopt.h: Likewise.
1286         * tests/test-langinfo-c++.cc: Likewise.
1287         * tests/test-locale-c++.cc: Likewise.
1288         * tests/test-math-c++.cc: Likewise.
1289         * tests/test-pty-c++.cc: Likewise.
1290         * tests/test-search-c++.cc: Likewise.
1291         * tests/test-signal-c++.cc: Likewise.
1292         * tests/test-spawn-c++.cc: Likewise.
1293         * tests/test-stdio-c++.cc: Likewise.
1294         * tests/test-stdlib-c++.cc: Likewise.
1295         * tests/test-string-c++.cc: Likewise.
1296         * tests/test-sys_ioctl-c++.cc: Likewise.
1297         * tests/test-sys_select-c++.cc: Likewise.
1298         * tests/test-sys_socket-c++.cc: Likewise.
1299         * tests/test-sys_stat-c++.cc: Likewise.
1300         * tests/test-sys_time-c++.cc: Likewise.
1301         * tests/test-time-c++.cc: Likewise.
1302         * tests/test-unistd-c++.cc: Likewise.
1303         * tests/test-wchar-c++.cc: Likewise.
1304         * tests/uninorm/test-u8-nfc.c: Likewise.
1305         * tests/uninorm/test-u8-nfd.c: Likewise.
1306         * tests/uninorm/test-u8-nfkc.c: Likewise.
1307         * tests/uninorm/test-u8-nfkd.c: Likewise.
1308         * tests/uninorm/test-u16-nfc.c: Likewise.
1309         * tests/uninorm/test-u16-nfd.c: Likewise.
1310         * tests/uninorm/test-u16-nfkc.c: Likewise.
1311         * tests/uninorm/test-u16-nfkd.c: Likewise.
1312         * tests/uninorm/test-u32-nfc.c: Likewise.
1313         * tests/uninorm/test-u32-nfc-big.c: Likewise.
1314         * tests/uninorm/test-u32-nfd.c: Likewise.
1315         * tests/uninorm/test-u32-nfd-big.c: Likewise.
1316         * tests/uninorm/test-u32-nfkc.c: Likewise.
1317         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
1318         * tests/uninorm/test-u32-nfkd.c: Likewise.
1319         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
1320         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1321
1322 2010-03-27  Bruno Haible  <bruno@clisp.org>
1323
1324         Distinguish two kinds of module indicators.
1325         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
1326         gl_MODULE_INDICATOR.
1327         (gl_MODULE_INDICATOR): New macro.
1328         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
1329         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
1330         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1331         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1332         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1333         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1334         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1335         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1336         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1337         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1338         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1339         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1340         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1341         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1342         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1343         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1344         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1345         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1346         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1347         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1348         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1349         * modules/cloexec (configure.ac): Likewise.
1350         * modules/getopt-gnu (configure.ac): Likewise.
1351         * modules/uninorm/u8-normalize (configure.ac): Likewise.
1352         * modules/uninorm/u16-normalize (configure.ac): Likewise.
1353         * modules/uninorm/u32-normalize (configure.ac): Likewise.
1354         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
1355
1356 2010-03-27  Bruno Haible  <bruno@clisp.org>
1357
1358         New module description field 'Comment'.
1359         * gnulib-tool: New option --extract-comment.
1360         (func_usage): Document it.
1361         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
1362         (func_get_comment): New function.
1363         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
1364
1365 2010-03-27  Bruno Haible  <bruno@clisp.org>
1366
1367         Addendum to 2010-02-07 commit.
1368         * gnulib-tool (func_usage): Document --extract-applicability option.
1369
1370 2010-03-27  Bruno Haible  <bruno@clisp.org>
1371
1372         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
1373         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
1374         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
1375         rather than link errors.
1376
1377 2010-03-27  Bruno Haible  <bruno@clisp.org>
1378
1379         Avoid side effects from tests-related modules on the compilation of lib.
1380         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
1381         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
1382         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
1383         parameter. Emit into AM_CPPFLAGS a definition of the designated C
1384         macro.
1385         (func_import): Define a witness macro. Assign it a value that depends
1386         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
1387         tests-related modules.
1388         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
1389         Reported by Jim Meyering.
1390
1391 2010-03-27  Bruno Haible  <bruno@clisp.org>
1392
1393         Factorize common .m4 code.
1394         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
1395         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
1396         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
1397         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
1398         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1399         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
1400         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
1401         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1402         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1403         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1404         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
1405         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1406         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1407         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1408         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1409         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
1410         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1411         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1412         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1413         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
1414         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
1415         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1416         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1417         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1418         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1419         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1420         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
1421         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
1422         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
1423         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1424         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1425         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1426
1427 2010-03-27  Bruno Haible  <bruno@clisp.org>
1428
1429         Fix a compilation error on Cygwin with g++ >= 4.3.
1430         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
1431         if it is undefined or if we alias it to chmod.
1432         (lstat): Don't warn about the use of this function if it is undefined
1433         or if we alias it to stat.
1434         Reported by Simon Josefsson.
1435
1436 2010-03-27  Bruno Haible  <bruno@clisp.org>
1437
1438         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
1439         * modules/getlogin (configure.ac): Update.
1440
1441         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
1442         * modules/getlogin_r (configure.ac): Update.
1443
1444         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
1445         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
1446         * modules/inet_ntop (configure.ac): Update.
1447
1448         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
1449         * modules/inet_pton (configure.ac): Update.
1450
1451         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
1452         * modules/mbslen (configure.ac): Update.
1453
1454         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
1455         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
1456         * modules/forkpty (configure.ac): Update.
1457         * modules/openpty (configure.ac): Update.
1458
1459 2010-03-26  Simon Josefsson  <simon@josefsson.org>
1460
1461         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
1462         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
1463
1464 2010-03-25  Eric Blake  <eblake@redhat.com>
1465
1466         maint: use pragma consistently across replacement headers
1467         * lib/ctype.in.h (system_header): Hoist for consistent placement.
1468         * lib/dirent.in.h (system_header): Likewise.
1469         * lib/errno.in.h (system_header): Likewise.
1470         * lib/float.in.h (system_header): Likewise.
1471         * lib/getopt.in.h (system_header): Likewise.
1472         * lib/iconv.in.h (system_header): Likewise.
1473         * lib/inttypes.in.h (system_header): Likewise.
1474         * lib/langinfo.in.h (system_header): Likewise.
1475         * lib/locale.in.h (system_header): Likewise.
1476         * lib/math.in.h (system_header): Likewise.
1477         * lib/netdb.in.h (system_header): Likewise.
1478         * lib/netinet_in.in.h (system_header): Likewise.
1479         * lib/pty.in.h (system_header): Likewise.
1480         * lib/sched.in.h (system_header): Likewise.
1481         * lib/se-selinux.in.h (system_header): Likewise.
1482         * lib/search.in.h (system_header): Likewise.
1483         * lib/spawn.in.h (system_header): Likewise.
1484         * lib/stdarg.in.h (system_header): Likewise.
1485         * lib/stdint.in.h (system_header): Likewise.
1486         * lib/string.in.h (system_header): Likewise.
1487         * lib/strings.in.h (system_header): Likewise.
1488         * lib/sys_file.in.h (system_header): Likewise.
1489         * lib/sys_ioctl.in.h (system_header): Likewise.
1490         * lib/sys_socket.in.h (system_header): Likewise.
1491         * lib/sys_times.in.h (system_header): Likewise.
1492         * lib/sys_utsname.in.h (system_header): Likewise.
1493         * lib/sys_wait.in.h (system_header): Likewise.
1494         * lib/sysexits.in.h (system_header): Likewise.
1495         * lib/unistd.in.h (system_header): Likewise.
1496         * lib/wctype.in.h (system_header): Likewise.
1497
1498         arpa/inet: fix mingw compilation warning
1499         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
1500         Reported by Matthew Bolte.
1501
1502 2010-03-25  Bruno Haible  <bruno@clisp.org>
1503
1504         Avoid collision between gnulib wrapper and libintl wrapper.
1505         * lib/printf.c (printf): Don't define if a printf wrapper is already
1506         defined in intl/printf.c.
1507         Reported by Michel Boaventura <michel@michelboaventura.com>.
1508
1509 2010-03-25  Bruno Haible  <bruno@clisp.org>
1510
1511         Use ANSI C.
1512         * lib/readutmp.h (getutent): Provide ANSI C prototype.
1513
1514 2010-03-25  Bruno Haible  <bruno@clisp.org>
1515
1516         Minor formatting changes.
1517         * lib/acosl.c: Insert space before function argument list.
1518         * lib/argz.c: Likewise.
1519         * lib/asinl.c: Likewise.
1520         * lib/expl.c: Likewise.
1521         * lib/gen-uni-tables.c: Likewise.
1522         * lib/gettext.h: Likewise.
1523         * lib/glthread/lock.h: Likewise.
1524         * lib/tanl.c: Likewise.
1525         * lib/uniname/uniname.c: Likewise.
1526         * tests/test-idpriv-drop.c: Likewise.
1527         * tests/test-idpriv-droptemp.c: Likewise.
1528         * tests/test-lock.c: Likewise.
1529         * tests/test-tls.c: Likewise.
1530         * lib/argp-help.c: Insert space before function-like macro argument
1531         list.
1532         * lib/memcmp.c: Likewise.
1533         * tests/test-base64.c: Likewise.
1534         * lib/localename.c: Insert space before sizeof's argument list.
1535         * lib/safe-alloc.h: Likewise.
1536         * lib/file-set.h: Insert space before macro argument list.
1537         * tests/test-argp.c: Likewise.
1538         * lib/argp-namefrob.h: Insert space before function parameter list.
1539         * lib/getaddrinfo.c: Likewise.
1540         * lib/netdb.in.h: Likewise.
1541         * lib/parse-duration.h: Likewise.
1542         * lib/parse-duration.c: Likewise.
1543         * lib/poll.c: Likewise.
1544         * lib/select.c: Likewise.
1545         * lib/trim.h: Likewise.
1546         * tests/test-usleep.c: Likewise.
1547         * lib/ldexpl.c: Insert space before function parameter list and before
1548         function argument list.
1549         * lib/logl.c: Likewise.
1550         * lib/sqrtl.c: Likewise.
1551         * lib/trim.c: Likewise.
1552         * lib/cosl.c: Use GNU style indentation. Insert space before function
1553         argument list.
1554         * lib/sinl.c: Likewise.
1555         * lib/tsearch.c: Insert space after 'for'.
1556         Reported by Jim Meyering.
1557
1558 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
1559
1560         * maint.mk (sc_Wundef_boolean): Check for the presence of the
1561         config header before grepping, as it's not present before
1562         autoreconf/configure are run.  Reported by Simon Josefsson.
1563
1564 2010-03-23  Bruno Haible  <bruno@clisp.org>
1565
1566         pt_chown: Make it work with automake < 1.11.
1567         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
1568         Reported by Simon Josefsson.
1569
1570 2010-03-23  Bruno Haible  <bruno@clisp.org>
1571
1572         pt_chown: Don't depend on GPLed modules.
1573         * lib/pt_chown.c: Don't include idpriv.h.
1574         (main): Don't drop privileges.
1575         * modules/pt_chown (Depends-on): Remove idpriv-drop.
1576         Reported by Simon Josefsson.
1577
1578 2010-03-24  Simon Josefsson  <simon@josefsson.org>
1579
1580         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
1581         suggestions from karl@freefriends.org (Karl Berry).
1582
1583 2010-03-22  Eric Blake  <eblake@redhat.com>
1584
1585         gethostname: further tweaks
1586         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
1587         are overriding gethostname.
1588         Suggested by Bruno Haible.
1589
1590 2010-03-21  Bruno Haible  <bruno@clisp.org>
1591
1592         Fix comments.
1593         * lib/forkpty.c (rpl_forkpty): Fix comment.
1594         * lib/openpty.c (rpl_openpty): Likewise.
1595         Reported by Eric Blake.
1596
1597 2010-03-22  Eric Blake  <eblake@redhat.com>
1598
1599         gethostname: fix build on mingw
1600         * lib/unistd.in.h (includes): Work around fact that mingw
1601         <winsock2.h> re-includes <unistd.h>, by avoiding any
1602         redeclarations if we are being included by <winsock2.h>.
1603         Reported by Matthias Bolte.
1604
1605 2010-03-21  Bruno Haible  <bruno@clisp.org>
1606
1607         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1608         * lib/forkpty.c (forkpty): New replacement function, from glibc with
1609         modifications.
1610         * lib/pty.in.h (forkpty): Update declaration. Add comments.
1611         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
1612         provide the replacement.
1613         * modules/forkpty (Depends-on): Add openpty, login_tty.
1614         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
1615         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
1616         * doc/glibc-functions/forkpty.texi: More supported platforms.
1617         * config/srclist.txt: Add forkpty.c (commented).
1618
1619 2010-03-21  Bruno Haible  <bruno@clisp.org>
1620
1621         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
1622         (Makefile.am): Verify that PTY_LIB is defined.
1623
1624         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
1625
1626 2010-03-21  Bruno Haible  <bruno@clisp.org>
1627
1628         Tests for module 'login_tty'.
1629         * modules/login_tty-tests: New file.
1630         * tests/test-login_tty.c: New file.
1631
1632         New module 'login_tty'.
1633         * lib/login_tty.c: New file.
1634         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
1635         * modules/login_tty: New file.
1636         * doc/glibc-functions/login_tty.texi: Mention the new module.
1637
1638 2010-03-21  Bruno Haible  <bruno@clisp.org>
1639
1640         login_tty: Documentation.
1641         * doc/glibc-functions/login_tty.texi: New file.
1642         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
1643
1644 2010-03-21  Bruno Haible  <bruno@clisp.org>
1645
1646         pty: Consistent macro naming.
1647         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
1648         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
1649         * modules/pty (configure.ac): Update.
1650
1651 2010-03-21  Bruno Haible  <bruno@clisp.org>
1652
1653         Tests for openpty: Make stricter.
1654         * tests/test-openpty.c (main): Add test of canonical processing and
1655         erase.
1656         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
1657
1658         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1659         * lib/openpty.c (openpty): New replacement function.
1660         * lib/pty.in.h: Include <termios.h>.
1661         (openpty): Update declaration. Add comments.
1662         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
1663         is not declared, arrange to provide the replacement. Check for _getpty
1664         and posix_openpt.
1665         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
1666         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
1667         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
1668         * modules/pty-tests (test_pty_c___LDADD): New variable.
1669         * doc/glibc-functions/openpty.texi: More supported platforms.
1670
1671 2010-03-21  Bruno Haible  <bruno@clisp.org>
1672
1673         setenv: Tweaks.
1674         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
1675         the test program.
1676         * doc/posix-functions/setenv.texi: Update platforms list.
1677
1678 2010-03-21  Bruno Haible  <bruno@clisp.org>
1679
1680         New module 'unlockpt'.
1681         * lib/unlockpt.c: New file, from glibc with modifications.
1682         * m4/unlockpt.m4: New file.
1683         * modules/unlockpt: New file.
1684         * lib/stdlib.in.h (unlockpt): New declaration.
1685         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
1686         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
1687         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
1688         HAVE_UNLOCKPT.
1689         * doc/posix-functions/unlockpt.texi: Mention the new module.
1690         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
1691         * config/srclist.txt: Add unlockpt.c (commented).
1692
1693 2010-03-21  Jim Meyering  <meyering@redhat.com>
1694
1695         maint.mk: prohibit inclusion of "intprops.h" without use
1696         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
1697
1698 2010-03-21  Bruno Haible  <bruno@clisp.org>
1699
1700         New module 'grantpt'.
1701         * lib/grantpt.c: New file, from glibc with modifications.
1702         * m4/grantpt.m4: New file.
1703         * modules/grantpt: New file.
1704         * lib/stdlib.in.h (grantpt): New declaration.
1705         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
1706         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
1707         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
1708         HAVE_GRANTPT.
1709         * doc/posix-functions/grantpt.texi: Mention the new module.
1710         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
1711         * config/srclist.txt: Add grantpt.c (commented).
1712
1713 2010-03-21  Bruno Haible  <bruno@clisp.org>
1714
1715         New module 'pt_chown'.
1716         * lib/pt_chown.c: New file, from glibc with modifications.
1717         * lib/pty-private.h: New file, from glibc with modifications.
1718         * modules/pt_chown: New file.
1719         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
1720
1721 2010-03-21  Bruno Haible  <bruno@clisp.org>
1722
1723         Tests for module 'ptsname'.
1724         * modules/ptsname-tests: New file.
1725         * tests/test-ptsname.c: New file.
1726
1727         New module 'ptsname'.
1728         * lib/ptsname.c: New file, from glibc with modifications.
1729         * m4/ptsname.m4: New file.
1730         * modules/ptsname: New file.
1731         * lib/stdlib.in.h (ptsname): New declaration.
1732         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
1733         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
1734         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
1735         HAVE_PTSNAME.
1736         * doc/posix-functions/ptsname.texi: Mention the new module.
1737         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
1738         * config/srclist.txt: Add ptsname.c (commented).
1739
1740 2010-03-21  Bruno Haible  <bruno@clisp.org>
1741
1742         Tests for module 'ttyname_r'.
1743         * modules/ttyname_r-tests: New file.
1744         * tests/test-ttyname_r.c: New file.
1745
1746         New module 'ttyname_r'.
1747         * lib/ttyname_r.c: New file.
1748         * m4/ttyname_r.m4: New file.
1749         * modules/ttyname_r: New file.
1750         * lib/unistd.in.h (ttyname_r): New declaration.
1751         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
1752         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
1753         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
1754         HAVE_TTYNAME_R.
1755         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
1756         * doc/posix-functions/ttyname_r.texi: Mention the new module.
1757
1758 2010-03-20  Bruno Haible  <bruno@clisp.org>
1759
1760         signal: Undefine macro definitions in C++ mode.
1761         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
1762         sigfillset): Undefine macro definitions from the system header in C++
1763         mode.
1764         Reported by John W. Eaton <jwe@gnu.org>.
1765
1766 2010-03-20  Bruno Haible  <bruno@clisp.org>
1767
1768         Ensure no #include statements inside extern "C" { ... }.
1769         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
1770         contain #include statements.
1771         * lib/time.in.h: Likewise.
1772
1773 2010-03-20  Bruno Haible  <bruno@clisp.org>
1774
1775         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
1776         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
1777         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
1778         Reported by John W. Eaton <jwe@gnu.org>.
1779
1780 2010-03-20  Bruno Haible  <bruno@clisp.org>
1781
1782         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
1783         Reported by Jim Meyering.
1784
1785 2010-03-20  Bruno Haible  <bruno@clisp.org>
1786
1787         pipe: Set errno upon failure.
1788         * lib/pipe.h: Specify that when -1 is returned, errno is set.
1789         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
1790         errno value in error message.
1791
1792 2010-03-20  Bruno Haible  <bruno@clisp.org>
1793             Jim Meyering  <meyering@redhat.com>
1794
1795         lchown: Avoid "unused variable" warning.
1796         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
1797
1798 2010-03-20  Bruno Haible  <bruno@clisp.org>
1799
1800         Work around unlink() bug on MacOS X 10.5.6.
1801         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
1802         attempting to unlink a parent directory.
1803         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
1804         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
1805         activate for the replacement function.
1806         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
1807
1808 2010-03-20  Bruno Haible  <bruno@clisp.org>
1809
1810         Fix link errors on Solaris 8.
1811         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
1812         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
1813
1814 2010-03-19  Jim Meyering  <meyering@redhat.com>
1815
1816         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
1817         The _LIBC implementation of build_range_exp correctly honors the
1818         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
1819         However, the non-_LIBC implementation would ignore that syntax-bit
1820         flag and return REG_ERANGE unconditionally.
1821         This change makes it honor that flag.
1822         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
1823         Make two pointer parameters "const".
1824         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
1825         (parse_bracket_exp): Update caller.
1826
1827         regex.m4: correct the reversed range endpoint ([b-a]) test
1828         * m4/regex.m4: When requiring that [b-a] evoke failure,
1829         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
1830         test pass once again for x86-based systems.
1831
1832 2010-03-19  Bruno Haible  <bruno@clisp.org>
1833
1834         scandir: Fix link error on Solaris 8.
1835         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
1836         macros.
1837
1838 2010-03-19  Bruno Haible  <bruno@clisp.org>
1839
1840         getusershell: Fix documentation.
1841         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
1842         module.
1843         * doc/glibc-functions/setusershell.texi: Likewise.
1844
1845         getusershell: Provide declaration, missing on Solaris 9.
1846         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
1847         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
1848         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
1849         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
1850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1851         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
1852         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
1853         HAVE_GETUSERSHELL.
1854         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
1855
1856 2010-03-19  Bruno Haible  <bruno@clisp.org>
1857
1858         wctype: Provide iswblank function.
1859         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
1860         exists and is fine.
1861         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
1862         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
1863         * tests/test-wctype.c (main): Re-enable the iswblank tests.
1864         * doc/posix-functions/iswblank.texi: Update.
1865
1866 2010-03-19  Bruno Haible  <bruno@clisp.org>
1867
1868         Tests of module 'pty' in C++ mode.
1869         * modules/pty-tests: New file.
1870         * tests/test-pty-c++.cc: New file.
1871         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
1872
1873 2010-03-19  Eric Blake  <eblake@redhat.com>
1874
1875         logb: fix documentation
1876         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
1877         1.5 declaration bug.
1878
1879         forkpty, openpty: prefer glibc's const-safe prototype
1880         * lib/forkpty.c (rpl_forkpty): New file.
1881         * lib/openpty.c (rpl_openpty): Likewise.
1882         * modules/forkpty (Files): Distribute it.
1883         * modules/openpty (Files): Likewise.
1884         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
1885         check...
1886         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
1887         replacement for for non-const BSD signature.
1888         * modules/pty (Makefile.am): Substitute witnesses.
1889         * lib/pty.in.h (forkpty, openpty): Declare replacements.
1890         * tests/test-forkpty.c: Update signature check.
1891         * tests/test-openpty.c: Likewise.
1892         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
1893         * doc/glibc-functions/openpty.texi (openpty): Likewise.
1894
1895         forkpty, openpty: split functions into new modules
1896         * modules/pty (Makefile.am): Substitute new witnesses.
1897         (Libraries): Move library detection...
1898         * modules/forkpty: ...into new module.
1899         * modules/openpty: Another new module.
1900         * modules/pty-tests: Rename and split...
1901         * modules/forkpty-tests: ...to this...
1902         * modules/openpty-tests: ...and this.
1903         * tests/test-pty.c: Rename and split...
1904         * tests/test-forkpty.c: ...to this...
1905         * tests/test-openpty.c: ...and this.
1906         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
1907         (gl_PTY): Split library searching...
1908         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
1909         (gl_FORKPTY, gl_OPENPTY): New macros.
1910         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
1911         * NEWS: Mention the split.
1912         * MODULES.html.sh (Misc): Document the modules.
1913         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
1914         * doc/glibc-functions/openpty.texi (openpty): Likewise.
1915
1916         pty: improve replacement header
1917         * lib/pty.in.h: New file.
1918         * modules/pty (Files): Ship it.
1919         (Makefile.am): Always build replacement.
1920         * m4/pty.m4: Rename...
1921         * m4/pty_h.m4: ...to this.
1922         (gl_PTY): Modernize setting of witness macros; update check of
1923         forkpty to take proper advantage of cache.
1924         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
1925
1926         getopt: avoid compiler warning
1927         * lib/getopt.c (attribute_hidden): Remove unused macro.
1928
1929 2010-03-18  Bruno Haible  <bruno@clisp.org>
1930
1931         Fix link errors on Solaris 8.
1932         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
1933         * modules/search-tests (test_search_c___LDADD): Likewise.
1934         * modules/signal-tests (test_signal_c___LDADD): Likewise.
1935         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
1936         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
1937         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
1938         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
1939         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
1940         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
1941
1942 2010-03-18  Bruno Haible  <bruno@clisp.org>
1943
1944         Fix bug introduced on 2010-03-14.
1945         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
1946         (gl_SPAWN_H): Require it.
1947         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
1948         Reported by Simon Josefsson.
1949
1950 2010-03-18  Bruno Haible  <bruno@clisp.org>
1951
1952         Fix typo introduced on 2009-12-31.
1953         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
1954         posix_spawn_file_actions_adddup2.
1955
1956 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
1957         and Eric Blake  <eblake@redhat.com>
1958
1959         test-vc-list-files-git: make more robust
1960         * tests/test-vc-list-files-git.sh: Unset problematic environment
1961         variables.  Chain commands together.
1962
1963 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
1964
1965         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
1966         `AC_CHECK_DECL' invocation.
1967
1968 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
1969
1970         * lib/inttostr.c (inttostr): Make sure the invocation of verify
1971         appears before executable statements. Suggested by Petr Sumbera
1972         <Petr.Sumbera@Sun.COM>.
1973
1974 2010-03-14  Bruno Haible  <bruno@clisp.org>
1975
1976         * tests/test-flock.c (test_exclusive): Comment out a test that causes
1977         portability problems. Instead use a simpler test.
1978         (main): Check that invalid arguments are rejected only on Linux.
1979
1980 2010-03-14  Bruno Haible  <bruno@clisp.org>
1981
1982         Fix bug introduced on 2009-12-31.
1983         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
1984         gl_PREREQ_SYS_H_WINSOCK2 always.
1985         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
1986         SYS_SOCKET_H variable.
1987         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
1988         Update comments.
1989         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
1990         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
1991         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1992         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1993         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
1994
1995 2010-03-14  Bruno Haible  <bruno@clisp.org>
1996
1997         Fix values returned by sinl, cosl.
1998         * lib/trigl.h: Add specification comments.
1999         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
2000         that combines the values from the precomputed table with the values of
2001         the Chebyshev polynomials.
2002
2003 2010-03-14  Bruno Haible  <bruno@clisp.org>
2004
2005         Fix compilation error when modules 'posix_spawn[p]' are not used.
2006         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
2007         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
2008
2009 2010-03-14  Bruno Haible  <bruno@clisp.org>
2010
2011         Fix compilation error on mingw when module 'time_r' is not used.
2012         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
2013         is 1.
2014         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
2015         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2016         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
2017         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
2018
2019 2010-03-14  Bruno Haible  <bruno@clisp.org>
2020
2021         Fix compilation error with Sun C.
2022         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
2023         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
2024         instead of GCC specific ULONG_LONG_MAX.
2025         * lib/xstrtoll.c: Likewise.
2026         * lib/xstrtoull.c: Likewise.
2027
2028 2010-03-13  Bruno Haible  <bruno@clisp.org>
2029
2030         Allow the user to disable C++ code and tests.
2031         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
2032         (gl_PROG_ANSI_CXX): Require it.
2033
2034 2010-03-13  Bruno Haible  <bruno@clisp.org>
2035
2036         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
2037         cases.
2038
2039 2010-03-13  Bruno Haible  <bruno@clisp.org>
2040
2041         Test that gnulib does not break the standard C++ headers.
2042         * tests/test-locale-c++2.cc: New file.
2043         * modules/locale-tests (Files): Add it.
2044         (Makefile.am): Compile it for test-locale-c++.
2045         * tests/test-math-c++2.cc: New file.
2046         * modules/math-tests (Files): Add it.
2047         (Makefile.am): Compile it for test-math-c++.
2048         * tests/test-signal-c++2.cc: New file.
2049         * modules/signal-tests (Files): Add it.
2050         (Makefile.am): Compile it for test-signal-c++.
2051         * tests/test-stdio-c++2.cc: New file.
2052         * modules/stdio-tests (Files): Add it.
2053         (Makefile.am): Compile it for test-stdio-c++.
2054         * tests/test-stdlib-c++2.cc: New file.
2055         * modules/stdlib-tests (Files): Add it.
2056         (Makefile.am): Compile it for test-stdlib-c++.
2057         * tests/test-string-c++2.cc: New file.
2058         * modules/string-tests (Files): Add it.
2059         (Makefile.am): Compile it for test-string-c++.
2060         * tests/test-time-c++2.cc: New file.
2061         * modules/time-tests (Files): Add it.
2062         (Makefile.am): Compile it for test-time-c++.
2063         Reported by John W. Eaton <jwe@gnu.org>.
2064
2065 2010-03-13  Bruno Haible  <bruno@clisp.org>
2066
2067         * gnulib-tool (func_usage): Clarify which options are available for
2068         --create-testdir and --create-megatestdir.
2069
2070 2010-03-13  Bruno Haible  <bruno@clisp.org>
2071
2072         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
2073         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
2074         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
2075         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
2076         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
2077         when appropriate.
2078         Reported by Jim Meyering.
2079
2080 2010-03-12  Simon Josefsson  <simon@josefsson.org>
2081
2082         * gnulib-tool (func_import): Explain origin of code.
2083
2084 2010-03-12  Bruno Haible  <bruno@clisp.org>
2085
2086         Fix problem with automake's definition of CXXLINK.
2087         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
2088         Reported by Simon Josefsson and Ludovic Courtès.
2089
2090 2010-03-12  Bruno Haible  <bruno@clisp.org>
2091
2092         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
2093         stable releases.
2094
2095 2010-03-11  Bruno Haible  <bruno@clisp.org>
2096
2097         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
2098         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
2099         whether the system provides one variant or multiple variants of the
2100         function.
2101         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
2102         C++ compilers.
2103         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
2104         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
2105         Reported by Jim Meyering.
2106
2107 2010-03-09  Simon Josefsson  <simon@josefsson.org>
2108
2109         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
2110
2111 2010-03-08  Bruno Haible  <bruno@clisp.org>
2112
2113         gnulib-tool: Add support for --libtool in --create-testdir.
2114         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
2115         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
2116
2117 2010-03-08  Eric Blake  <eblake@redhat.com>
2118
2119         gnulib-tool.texi: mention possibility of git submodule
2120         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
2121         submodules.
2122         * doc/.gitignore: Ignore another generated file.
2123
2124 2010-03-08  Karl Berry  <karl@gnu.org>
2125
2126         * doc/gnulib-tool.texi (VCS Issues): Mention third option
2127         of committing gnulib files while skipping others.
2128
2129 2010-03-07  Bruno Haible  <bruno@clisp.org>
2130
2131         Tests of module 'wctype' in C++ mode.
2132         * tests/test-wctype-c++.cc: New file.
2133         * modules/wctype-tests (Files): Add it and tests/signature.h.
2134         (Depends-on): Add ansi-c++-opt.
2135         (Makefile.am): Arrange to compile and run test-wctype-c++.
2136
2137         Tests of module 'wchar' in C++ mode.
2138         * tests/test-wchar-c++.cc: New file.
2139         * modules/wchar-tests (Files): Add it and tests/signature.h.
2140         (Depends-on): Add ansi-c++-opt.
2141         (Makefile.am): Arrange to compile and run test-wchar-c++.
2142         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
2143         gl_MODULE_INDICATOR.
2144
2145         Tests of module 'unistd' in C++ mode.
2146         * tests/test-unistd-c++.cc: New file.
2147         * modules/unistd-tests (Files): Add it and tests/signature.h.
2148         (Depends-on): Add ansi-c++-opt.
2149         (Makefile.am): Arrange to compile and run test-unistd-c++.
2150         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
2151         gl_MODULE_INDICATOR.
2152
2153         Tests of module 'time' in C++ mode.
2154         * tests/test-time-c++.cc: New file.
2155         * modules/time-tests (Files): Add it and tests/signature.h.
2156         (Depends-on): Add ansi-c++-opt.
2157         (Makefile.am): Arrange to compile and run test-time-c++.
2158         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2159
2160         Tests of module 'sys_time' in C++ mode.
2161         * tests/test-sys_time-c++.cc: New file.
2162         * modules/sys_time-tests (Files): Add it and tests/signature.h.
2163         (Depends-on): Add ansi-c++-opt.
2164         (Makefile.am): Arrange to compile and run test-sys_time-c++.
2165         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
2166         gl_MODULE_INDICATOR.
2167
2168         Tests of module 'sys_stat' in C++ mode.
2169         * tests/test-sys_stat-c++.cc: New file.
2170         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
2171         (Depends-on): Add ansi-c++-opt.
2172         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
2173         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
2174         gl_MODULE_INDICATOR.
2175
2176         Tests of module 'sys_socket' in C++ mode.
2177         * tests/test-sys_socket-c++.cc: New file.
2178         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
2179         (Depends-on): Add ansi-c++-opt.
2180         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
2181         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
2182         gl_MODULE_INDICATOR.
2183
2184         Tests of module 'sys_select' in C++ mode.
2185         * tests/test-sys_select-c++.cc: New file.
2186         * modules/sys_select-tests (Files): Add it and tests/signature.h.
2187         (Depends-on): Add ansi-c++-opt.
2188         (Makefile.am): Arrange to compile and run test-sys_select-c++.
2189         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
2190         gl_MODULE_INDICATOR.
2191
2192         Tests of module 'sys_ioctl' in C++ mode.
2193         * tests/test-sys_ioctl-c++.cc: New file.
2194         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
2195         (Depends-on): Add ansi-c++-opt.
2196         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
2197         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
2198         gl_MODULE_INDICATOR.
2199
2200         Tests of module 'string' in C++ mode.
2201         * tests/test-string-c++.cc: New file.
2202         * modules/string-tests (Files): Add it and tests/signature.h.
2203         (Depends-on): Add ansi-c++-opt.
2204         (Makefile.am): Arrange to compile and run test-string-c++.
2205         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
2206         gl_MODULE_INDICATOR.
2207
2208         Tests of module 'stdlib' in C++ mode.
2209         * tests/test-stdlib-c++.cc: New file.
2210         * modules/stdlib-tests (Files): Add it and tests/signature.h.
2211         (Depends-on): Add ansi-c++-opt.
2212         (Makefile.am): Arrange to compile and run test-stdlib-c++.
2213         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
2214         gl_MODULE_INDICATOR.
2215
2216         Tests of module 'stdio' in C++ mode.
2217         * tests/test-stdio-c++.cc: New file.
2218         * modules/stdio-tests (Files): Add it and tests/signature.h.
2219         (Depends-on): Add ansi-c++-opt.
2220         (Makefile.am): Arrange to compile and run test-stdio-c++.
2221         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
2222         gl_MODULE_INDICATOR.
2223
2224         Tests of module 'spawn' in C++ mode.
2225         * tests/test-spawn-c++.cc: New file.
2226         * modules/spawn-tests (Files): Add it and tests/signature.h.
2227         (Depends-on): Add ansi-c++-opt.
2228         (Makefile.am): Arrange to compile and run test-spawn-c++.
2229         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
2230         gl_MODULE_INDICATOR.
2231
2232         Tests of module 'signal' in C++ mode.
2233         * tests/test-signal-c++.cc: New file.
2234         * modules/signal-tests (Files): Add it and tests/signature.h.
2235         (Depends-on): Add ansi-c++-opt.
2236         (Makefile.am): Arrange to compile and run test-signal-c++.
2237         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
2238         gl_MODULE_INDICATOR.
2239
2240         Tests of module 'search' in C++ mode.
2241         * tests/test-search-c++.cc: New file.
2242         * modules/search-tests (Files): Add it and tests/signature.h.
2243         (Depends-on): Add ansi-c++-opt.
2244         (Makefile.am): Arrange to compile and run test-search-c++.
2245         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
2246         gl_MODULE_INDICATOR.
2247
2248         Tests of module 'math' in C++ mode.
2249         * tests/test-math-c++.cc: New file.
2250         * modules/math-tests (Files): Add it and tests/signature.h.
2251         (Depends-on): Add ansi-c++-opt.
2252         (Makefile.am): Arrange to compile and run test-math-c++.
2253         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2254
2255         Tests of module 'locale' in C++ mode.
2256         * tests/test-locale-c++.cc: New file.
2257         * modules/locale-tests (Files): Add it and tests/signature.h.
2258         (Depends-on): Add ansi-c++-opt.
2259         (Makefile.am): Arrange to compile and run test-locale-c++.
2260         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
2261         gl_MODULE_INDICATOR.
2262
2263         Tests of module 'langinfo' in C++ mode.
2264         * tests/test-langinfo-c++.cc: New file.
2265         * modules/langinfo-tests (Files): Add it and tests/signature.h.
2266         (Depends-on): Add ansi-c++-opt.
2267         (Makefile.am): Arrange to compile and run test-langinfo-c++.
2268         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
2269         gl_MODULE_INDICATOR.
2270
2271         Tests of module 'iconv-h' in C++ mode.
2272         * tests/test-iconv-h-c++.cc: New file.
2273         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
2274         (Depends-on): Add ansi-c++-opt.
2275         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
2276
2277         Tests of module 'glob' in C++ mode.
2278         * tests/test-glob-c++.cc: New file.
2279         * modules/glob-tests (Files): Add it.
2280         (Depends-on): Add ansi-c++-opt.
2281         (Makefile.am): Arrange to compile and run test-glob-c++.
2282
2283         Tests of module 'fcntl-h' in C++ mode.
2284         * tests/test-fcntl-h-c++.cc: New file.
2285         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
2286         (Depends-on): Add ansi-c++-opt.
2287         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
2288         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
2289         gl_MODULE_INDICATOR.
2290
2291         Tests of module 'dirent' in C++ mode.
2292         * tests/test-dirent-c++.cc: New file.
2293         * modules/dirent-tests (Files): Add it and tests/signature.h.
2294         (Depends-on): Add ansi-c++-opt.
2295         (Makefile.am): Arrange to compile and run test-dirent-c++.
2296         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2297         gl_MODULE_INDICATOR.
2298
2299         New module 'ansi-c++-opt'.
2300         * modules/ansi-c++-opt: New file.
2301         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
2302
2303         Document C++ namespace mode.
2304         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
2305
2306         wctype: Avoid #define replacements in C++ mode.
2307         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
2308         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
2309         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
2310         In C++, define a namespaced alias symbol.
2311         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
2312         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
2313         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
2314         rule.
2315
2316         wchar: Avoid #define replacements in C++ mode.
2317         * lib/wchar.in.h: Include c++defs.h.
2318         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
2319         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
2320         symbol.
2321         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
2322         * modules/wchar (Depends-on): Add c++defs.
2323         (Makefile.am): Update wchar.h rule.
2324
2325         unistd: Avoid #define replacements in C++ mode.
2326         * lib/unistd.in.h: Include c++defs.h.
2327         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
2328         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
2329         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
2330         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
2331         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
2332         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
2333         symbol.
2334         (environ): Update.
2335         * modules/unistd (Depends-on): Add c++defs.
2336         (Makefile.am): Update unistd.h rule.
2337
2338         time: Avoid #define replacements in C++ mode.
2339         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
2340         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
2341         define a namespaced alias symbol.
2342         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
2343         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
2344         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
2345         * modules/time (Depends-on): Add c++defs, warn-on-use.
2346         (Makefile.am): Update time.h rule.
2347         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2348         * modules/nanosleep (configure.ac): Likewise.
2349         * modules/strptime (configure.ac): Likewise.
2350         * modules/timegm (configure.ac): Likewise.
2351
2352         sys_time: Avoid #define replacements in C++ mode.
2353         * lib/sys_time.in.h: Include c++defs.h.
2354         (gettimeofday): In C++, define a namespaced alias symbol.
2355         * modules/sys_time (Depends-on): Add c++defs.
2356         (Makefile.am): Update sys/time.h rule.
2357
2358         sys_stat: Avoid #define replacements in C++ mode.
2359         * lib/sys_stat.in.h: Include c++defs.h.
2360         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
2361         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
2362         namespaced alias symbol.
2363         In C++, define a namespaced alias symbol.
2364         * modules/sys_stat (Depends-on): Add c++defs.
2365         (Makefile.am): Update sys/stat.h rule.
2366
2367         sys_socket: Avoid #define replacements in C++ mode.
2368         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
2369         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
2370         definitions also when the system has a <sys/socket.h>.
2371         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2372         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
2373         In C++, define a namespaced alias symbol.
2374         * modules/sys_socket (Depends-on): Add c++defs.
2375         (Makefile.am): Update sys/socket.h rule.
2376
2377         sys_select: Avoid #define replacements in C++ mode.
2378         * lib/sys_select.in.h: Include c++defs.h. Enable the function
2379         definitions also when the system has a <sys/select.h>.
2380         (select): In C++, define a namespaced alias symbol.
2381         * modules/sys_select (Depends-on): Add c++defs.
2382         (Makefile.am): Update sys/select.h rule.
2383
2384         sys_ioctl: Avoid #define replacements in C++ mode.
2385         * lib/sys_ioctl.in.h: Include c++defs.h.
2386         (ioctl): In C++, define a namespaced alias symbol.
2387         * modules/sys_ioctl (Depends-on): Add c++defs.
2388         (Makefile.am): Update sys/ioctl.h rule.
2389
2390         string: Avoid #define replacements in C++ mode.
2391         * lib/string.in.h: Include c++defs.h.
2392         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
2393         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2394         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2395         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
2396         strsignal, strverscmp): In C++, define a namespaced alias symbol.
2397         * modules/string (Depends-on): Add c++defs.
2398         (Makefile.am): Update string.h rule.
2399
2400         stdlib: Avoid #define replacements in C++ mode.
2401         * lib/stdlib.in.h: Include c++defs.h.
2402         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
2403         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
2404         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
2405         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
2406         symbol.
2407         * modules/stdlib (Depends-on): Add c++defs.
2408         (Makefile.am): Update stdlib.h rule.
2409
2410         stdio: Avoid #define replacements in C++ mode.
2411         * lib/stdio.in.h: Include c++defs.h.
2412         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
2413         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
2414         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
2415         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
2416         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
2417         namespaced alias symbol.
2418         * modules/stdio (Depends-on): Add c++defs.
2419         (Makefile.am): Update stdio.h rule.
2420
2421         spawn: Avoid #define replacements in C++ mode.
2422         * lib/spawn.in.h: Include c++defs.h.
2423         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2424         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2425         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2426         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2427         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2428         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2429         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2430         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2431         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2432         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2433         In C++, define a namespaced alias symbol.
2434         * modules/spawn (Depends-on): Add c++defs.
2435         (Makefile.am): Update spawn.h rule.
2436
2437         signal: Avoid #define replacements in C++ mode.
2438         * lib/signal.in.h: Include c++defs.h.
2439         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2440         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
2441         namespaced alias symbol.
2442         * modules/signal (Depends-on): Add c++defs.
2443         (Makefile.am): Update signal.h rule.
2444
2445         search: Avoid #define replacements in C++ mode.
2446         * lib/search.in.h: Include c++defs.h.
2447         (_gl_search_compar_fn, _gl_search_action_fn): New types.
2448         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
2449         symbol.
2450         * modules/search (Depends-on): Add c++defs.
2451         (Makefile.am): Update search.h rule.
2452
2453         math: Avoid #define replacements in C++ mode.
2454         * lib/math.in.h: Include c++defs.h.
2455         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
2456         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
2457         trunc, truncl): In C++, define a namespaced alias symbol.
2458         * modules/math (Depends-on): Add c++defs.
2459         (Makefile.am): Update math.h rule.
2460
2461         locale: Avoid #define replacements in C++ mode.
2462         * lib/locale.in.h: Include c++defs.h.
2463         (duplocale): In C++, define a namespaced alias symbol.
2464         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
2465         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
2466         * modules/locale (Depends-on): Add c++defs.
2467         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
2468
2469         langinfo: Avoid #define replacements in C++ mode.
2470         * lib/langinfo.in.h: Include c++defs.h.
2471         (nl_langinfo): In C++, define a namespaced alias symbol.
2472         * modules/langinfo (Depends-on): Add c++defs.
2473         (Makefile.am): Update langinfo.h rule.
2474
2475         iconv-h: Avoid #define replacements in C++ mode.
2476         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
2477         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
2478         symbol.
2479         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
2480         whenever iconv is present.
2481         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
2482         (Makefile.am): Update iconv.h rule.
2483
2484         glob: Avoid #define replacements in C++ mode.
2485         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
2486         (_gl_glob_errfunc_fn): New type.
2487         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
2488         symbol.
2489         * modules/glob (Depends-on): Add c++defs, warn-on-use.
2490         (Makefile.am): Update glob.h rule.
2491
2492         fcntl-h: Avoid #define replacements in C++ mode.
2493         * lib/fcntl.in.h: Include c++defs.h.
2494         (fcntl, open, openat): In C++, define a namespaced alias symbol.
2495         * modules/fcntl-h (Depends-on): Add c++defs.
2496         (Makefile.am): Update fcntl.h rule.
2497
2498         dirent: Avoid #define replacements in C++ mode.
2499         * lib/dirent.in.h: Include c++defs.h.
2500         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
2501         namespaced alias symbol.
2502         (dirfd): Update declaration.
2503         * modules/dirent (Depends-on): Add c++defs.
2504         (Makefile.am): Update dirent.h rule.
2505
2506         ctype: Make it usable in C++ code.
2507         * lib/ctype.in.h: Include c++defs.h.
2508         (isblank): Declare as extern "C".
2509         * modules/ctype (Depends-on): Add c++defs.
2510         (Makefile.am): Update ctype.h rule.
2511
2512         New module 'c++defs'.
2513         * modules/c++defs: New file.
2514         * build-aux/c++defs.h: New file.
2515         Reported by John W. Eaton <jwe@gnu.org>.
2516
2517 2010-03-07  Bruno Haible  <bruno@clisp.org>
2518
2519         logb: Provide missing declaration for Cygwin.
2520         * lib/math.in.h (logb): New declaration.
2521         * m4/logb.m4: New file.
2522         * modules/logb (Files): Add m4/logb.m4.
2523         (Depends-on): Add math.
2524         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
2525         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
2526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
2527         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
2528         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
2529
2530 2010-03-07  Bruno Haible  <bruno@clisp.org>
2531
2532         Fix test-cond link error.
2533         * tests/test-cond.c: Include <stdio.h>.
2534
2535 2010-03-07  Bruno Haible  <bruno@clisp.org>
2536
2537         Fix test-dirent-safer link error.
2538         * modules/dirent-safer-tests (Makefile.am): Define
2539         test_dirent_safer_LDADD.
2540
2541 2010-03-07  Bruno Haible  <bruno@clisp.org>
2542
2543         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
2544         among default module list.
2545
2546 2010-03-07  Bruno Haible  <bruno@clisp.org>
2547
2548         Fix link error on platforms with GNU libiconv.
2549         * modules/unistr/u8-strcoll-tests (Makefile): Define
2550         test_u8_strcoll_LDADD.
2551         * modules/unistr/u16-strcoll-tests (Makefile): Define
2552         test_u16_strcoll_LDADD.
2553         * modules/unistr/u32-strcoll-tests (Makefile): Define
2554         test_u32_strcoll_LDADD.
2555
2556 2010-03-07  Bruno Haible  <bruno@clisp.org>
2557
2558         Use POSIX declarations for socket functions.
2559         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
2560         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
2561         rpl_sendto): Change declaration to match POSIX.
2562         * lib/connect.c (rpl_connect): Likewise.
2563         * lib/accept.c (rpl_accept): Likewise.
2564         * lib/bind.c (rpl_bind): Likewise.
2565         * lib/getpeername.c (rpl_getpeername): Likewise.
2566         * lib/getsockname.c (rpl_getsockname): Likewise.
2567         * lib/recv.c (rpl_recv): Likewise.
2568         * lib/send.c (rpl_send): Likewise.
2569         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2570         * lib/sendto.c (rpl_sendto): Likewise.
2571
2572 2010-03-06  Bruno Haible  <bruno@clisp.org>
2573
2574         Clarify access, euidaccess, faccessat.
2575         * doc/posix-functions/faccessat.texi: Mention security problem under
2576         "Other problems", not "Portability problems".
2577         * doc/posix-functions/access.texi: Likewise. Mention a related security
2578         problem.
2579         * doc/glibc-functions/euidaccess.texi: Mention security problems.
2580         * lib/euidaccess.c: Add comments about platforms.
2581         * lib/unistd.in.h (access, euidaccess): Add warnings.
2582
2583 2010-03-07  Bruno Haible  <bruno@clisp.org>
2584
2585         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
2586         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
2587         (POSIX_SPAWN_SETSCHEDULER): Likewise.
2588         (POSIX_SPAWN_USEVFORK): Define in a way that works when
2589         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2590         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
2591         declare when POSIX_SPAWN_SETSCHEDULER is zero.
2592         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
2593         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
2594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
2595         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
2596         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
2597         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
2598         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
2599         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
2600         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
2601         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
2602         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
2603         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
2604         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
2605         Likewise.
2606         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
2607         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
2608         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
2609         Likewise.
2610         * tests/test-spawn.c (main): Make it work when
2611         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2612
2613 2010-03-07  Bruno Haible  <bruno@clisp.org>
2614
2615         Fix incorrect Makefile.am generation in German locale.
2616         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2617         Execute sed command with character range in C locale.
2618
2619 2010-03-06  Bruno Haible  <bruno@clisp.org>
2620
2621         Tests for module 'iconv-h'.
2622         * modules/iconv-h-tests: New file.
2623         * tests/test-iconv-h.c: New file.
2624
2625         New module 'iconv-h'.
2626         * modules/iconv-h: New file.
2627         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
2628         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
2629         (configure.ac): Remove gl_ICONV_H.
2630         (Makefile.am): Remove rule for iconv.h.
2631
2632 2010-03-06  Bruno Haible  <bruno@clisp.org>
2633
2634         More consistent naming of *.m4 files.
2635         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
2636         * modules/wctype (Files): Update.
2637
2638         More consistent naming of *.m4 files.
2639         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
2640         * modules/wchar (Files): Update.
2641
2642 2010-03-06  Jim Meyering  <meyering@redhat.com>
2643
2644         euidaccess: relax license to LGPLv2+
2645         * modules/euidaccess (License): Relax to LGPLv2+.
2646
2647 2010-03-06  Bruno Haible  <bruno@clisp.org>
2648
2649         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
2650         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
2651         (Makefile.am): Augment lib_SOURCES instead.
2652
2653 2010-03-04  Jim Meyering  <meyering@redhat.com>
2654
2655         utime: remove obsolete module
2656         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
2657         unnecessary for years, and has been marked as obsolete for 10 months.
2658         * modules/utime: Remove file.
2659         * lib/utime.c: Remove file.
2660         * m4/utime.m4: Remove file.
2661         * m4/utimes-null.m4: Remove file.
2662         * doc/posix-functions/utime.texi (utime): Remove reference to
2663         the module.  Move the sole "fixed by gnulib" item into the
2664         "problems not fixed by Gnulib" list.
2665         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
2666
2667 2010-03-05  Simon Josefsson  <simon@josefsson.org>
2668
2669         * modules/exit (License): Relax license to LGPLv2+.
2670         (Status): Mark as obsolete.
2671         * NEWS: Mention deprecated 'exit' module.
2672         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
2673         of now obsolete 'exit'.
2674
2675 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2676
2677         fts-lgpl: remove unused module
2678         * modules/fts-lgpl: Remove.
2679         * MODULES.html.sh (func_all_modules): Adjust.
2680         * check-module (find_included_lib_files): Adjust.
2681         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
2682
2683 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
2684
2685         copy-acl: enhance Solaris ACL error handling
2686         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
2687         * lib/set-mode-acl.c (qset_acl): Likewise.
2688
2689 2010-03-02  Bruno Haible  <bruno@clisp.org>
2690
2691         spawn: Don't override the system defined values on FreeBSD 8.
2692         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
2693         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
2694         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
2695         if HAVE_POSIX_SPAWN is 1.
2696         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
2697
2698 2010-03-01  Bruno Haible  <bruno@clisp.org>
2699
2700         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
2701         regarding Automake.
2702
2703 2010-02-25  Bruno Haible  <bruno@clisp.org>
2704
2705         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
2706         * gnulib-tool: Define 'echo' as a function only before the ksh alias
2707         setting, not afterwards.
2708         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2709
2710 2010-02-24  Eric Blake  <eblake@redhat.com>
2711
2712         bootstrap, git-version-gen: use timestamp
2713         * build-aux/git-version-gen (scriptversion): Force UTC.
2714         * build-aux/bootstrap (scriptversion): New variable.
2715
2716         bootstrap: allow older git
2717         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
2718         older than 1.6.4.  Requested by the libvirt project.
2719
2720 2010-02-23  Eric Blake  <eblake@redhat.com>
2721
2722         warn-on-use: work with old autoconf
2723         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
2724         AS_VAR semantics of autoconf 2.60.
2725         Reported by Bruno Haible.
2726
2727         bootstrap: improve some comments
2728         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
2729         clarification comments.
2730
2731         gettimeofday: provide correct function
2732         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
2733         when replacement is declared, otherwise provide gettimeofday.
2734         Reported by Michael Goffioul.
2735
2736 2010-02-23  Jim Meyering  <meyering@redhat.com>
2737
2738         lib-ignore: relax license to "unlimited", not LGPLv2+
2739         * modules/lib-ignore (License): Relax to "unlimited".
2740
2741 2010-02-23  Jim Meyering  <meyering@redhat.com>
2742
2743         lib-ignore: relax license to LGPLv2+
2744         * modules/lib-ignore (License): Relax to LGPLv2+.
2745
2746 2010-02-22  Eric Blake  <eblake@redhat.com>
2747
2748         lseek: avoid bash 3.2 broken pipe bug
2749         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
2750         warning from bash 3.2.
2751         Reported by Ben Pfaff, with analysis from Bruno Haible.
2752
2753         bootstrap: support non-FSF copyright holder
2754         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
2755         bootstrap.conf override of COPYRIGHT_HOLDER.
2756         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
2757
2758         bootstrap: interoperate with gettext 0.14.1
2759         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
2760
2761         bootstrap: allow for alternate submodule location
2762         * build-aux/bootstrap (gnulib_path): New variable; use instead of
2763         hardcoding submodule location.
2764         (gnulib_mk): Allow direct use of Makefile.am.
2765
2766         bootstrap: use GNULIB_SRCDIR to reduce disk usage
2767         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
2768         rather than reconfiguring where the submodule points.
2769
2770         gettimeofday: restore support for platforms that lack function
2771         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
2772         replacement if function is missing.
2773         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
2774         * modules/sys_time (Makefile.am): Substitute it.
2775         * lib/sys_time.in.h (gettimeofday): Check it.
2776         Reported by Michael Goffioul.
2777
2778 2010-02-21  Bruno Haible  <bruno@clisp.org>
2779
2780         * lib/stdio.in.h (obstack_printf): Fix typo.
2781
2782 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
2783
2784         vc-list-files: use bzr ls's -R option
2785         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
2786         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
2787
2788 2010-02-21  Jim Meyering  <meyering@redhat.com>
2789
2790         init.sh: fix EXEEXT shims to work also for names like test-prog
2791         * tests/init.sh: Re-exec a better shell, when needed.
2792         If the current shell lacks support for posix $(...), an init.sh-using
2793         test will now try to find a shell that supports that.  If EXEEXT is
2794         nonempty, we also require support for hyphen-in-alias-name and shell
2795         substitutions like ${var#glob}.  Failure to find such a shell results
2796         in a skipped test.
2797
2798 2010-02-21  Bruno Haible  <bruno@clisp.org>
2799
2800         Really work around around "broken pipe" error message from bash 3.2.
2801         * gnulib-tool (func_reset_sigpipe): Remove function.
2802         (echo): In bash 3.2, define to a function that uses printf.
2803         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
2804
2805 2010-02-20  Bruno Haible  <bruno@clisp.org>
2806
2807         Restore support for automake 1.9.6 with autoconf 2.61.
2808         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
2809         Reported by James Youngman <jay@gnu.org>.
2810
2811 2010-02-20  Bruno Haible  <bruno@clisp.org>
2812
2813         Improve *printf warning condition.
2814         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
2815         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
2816         and the function is overridden due to SIGPIPE emulation.
2817
2818 2010-02-20  Bruno Haible  <bruno@clisp.org>
2819
2820         * lib/stdio.in.h: Tweak comments.
2821
2822 2010-02-19  Bruno Haible  <bruno@clisp.org>
2823
2824         Make it easier to find modules. New gnulib-tool option '--find'.
2825         * gnulib-tool: New option --find.
2826         (func_usage): Document it.
2827         (func_sanitize_modulelist): New function, extracted from
2828         func_all_modules.
2829         (func_all_modules): Invoke it.
2830         * doc/gnulib-tool.texi (Which modules?): New node.
2831
2832 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
2833
2834         * lib/sys_select.in.h: Provide select replacement even if
2835         sys/select.h exists on a system, for Interix.
2836
2837 2010-02-18  Jim Meyering  <meyering@redhat.com>
2838
2839         init.sh: don't use $(...) just yet
2840         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
2841         to accommodate e.g., Solaris' /bin/sh.
2842
2843 2010-02-17  Bruno Haible  <bruno@clisp.org>
2844
2845         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
2846         Reported by Ludovic Courtès <ludo@gnu.org>.
2847
2848 2010-02-16  Simon Josefsson  <simon@josefsson.org>
2849
2850         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
2851         linking with -lintl.
2852
2853 2010-02-17  Simon Josefsson  <simon@josefsson.org>
2854
2855         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
2856         if not provided by the system's netdb.h.  Reported by
2857         ludo@gnu.org (Ludovic Courtès).
2858
2859 2010-02-15  Jim Meyering  <meyering@redhat.com>
2860
2861         init.sh: improve portability and efficiency
2862         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
2863         "dummy" in a for loop.
2864         Use '!', not '^' to select the complement of a character set used
2865         in a "case" statement.
2866         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
2867         Suggestions from Eric Blake.
2868
2869         init.sh: automatically accommodate programs with the .exe suffix
2870         Automatically arrange for an invocation of "prog" to execute the
2871         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
2872         may use the simpler "prog", yet still work when built on a system
2873         that requires specifying the added suffix.
2874         Do this by constructing a function named "prog" that invokes
2875         "prog.exe" for each .exe file in selected directories.
2876         * tests/init.sh (find_exe_basenames_): New function.
2877         (create_exe_shim_functions_): New function.
2878         (path_prepend_): Use it.
2879
2880         maint.mk: mark syntax-check sc_*.m rules as .PHONY
2881         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
2882         "make -t syntax-check" doesn't create a ton of sc_*.m files.
2883
2884 2010-02-14  Jim Meyering  <meyering@redhat.com>
2885
2886         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
2887         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
2888         (sc_prohibit_hash_pjw_without_use): New rule.
2889
2890         maint.mk: allow the default upload destination dir to be overridden
2891         * top/maint.mk (upload_dest_dir_): Define with a default that
2892         preserves the status quo.
2893         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
2894         Reported by Peter Simons.
2895
2896         maint.mk: prohibit inclusion of "hash.h" without_use
2897         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
2898
2899 2010-02-10  Jim Meyering  <meyering@redhat.com>
2900
2901         maint.mk: prohibit inclusion of "ignore-value.h" without_use
2902         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
2903
2904 2010-02-09  Eric Blake  <ebb9@byu.net>
2905         and Bruno Haible  <bruno@clisp.org>
2906
2907         obstack-printf-posix: ensure declaration
2908         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
2909         extracted from gl_FUNC_OBSTACK_PRINTF.
2910         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
2911         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
2912         Likewise.
2913         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
2914         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
2915         0.
2916
2917 2010-02-08  Bruno Haible  <bruno@clisp.org>
2918
2919         gnulib-tool: Fix typo in 2010-02-07 commit.
2920         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
2921         Reported by Eric Blake.
2922
2923 2010-02-07  Bruno Haible  <bruno@clisp.org>
2924
2925         gnulib-tool: Fix up caching patches.
2926         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
2927         option --no-cache. Use associative arrays when supported by the shell.
2928         (sed_comments): New variable.
2929         (modcache): Renamed from do_cache.
2930         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
2931         abbreviate unnecessarily.
2932         (have_associative): New variable.
2933         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
2934         way also for ksh and zsh.
2935         (func_init_sed_convert_to_cache_statements): New function, extracted
2936         from func_cache_lookup_module. Add support for associative arrays.
2937         Don't set the c_MODULE_cached variable here. Ignore all lines before
2938         the first field header. Remove only the final newline, not all trailing
2939         newlines. Support empty fields correctly. Limit the use of 'eval' to
2940         assignments.
2941         (func_get_description, func_get_status, func_get_notice,
2942         func_get_applicability, func_get_filelist, func_get_dependencies,
2943         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
2944         func_get_automake_snippet, func_get_include_directive,
2945         func_get_link_directive, func_get_license, func_get_maintainer):
2946         Update documentation. List the unoptimized code first. Add support for
2947         associative arrays. Limit the use of 'eval' to assignments.
2948         (func_get_applicability): Undo stylistic pessimisations.
2949         (func_get_automake_snippet, func_get_include_directive): Reduce code
2950         duplication.
2951         (func_modules_transitive_closure, func_modules_add_dummy,
2952         func_modules_notice, func_modules_to_filelist, func_add_file,
2953         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
2954         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
2955         func_create_testdir, func_create_megatestdir): Update documentation.
2956
2957 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2958
2959         * gnulib-tool (func_cache_lookup_module): Store the module name
2960         belonging to the cache variable; error out if two different
2961         module names map to the same cache variable name.
2962
2963 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2964
2965         gnulib-tool: Make caching optional.
2966         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
2967         Update matching short versions of --no-changelog.
2968         (func_usage): Update.
2969         (sed_extract_cache_prog): Renamed from ...
2970         (sed_extract_prog): ... this; revert to old extraction script.
2971         (func_get_description, func_get_status)
2972         (func_get_notice, func_get_applicability, func_get_filelist)
2973         (func_get_dependencies, func_get_autoconf_early_snippet)
2974         (func_get_autoconf_snippet, func_get_automake_snippet)
2975         (func_get_include_directive, func_get_link_directive)
2976         (func_get_license, func_get_maintainer): If $do_cache is false,
2977         use old, non-caching extraction scripts.
2978         Suggestion by Bruno Haible.
2979
2980 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2981
2982         gnulib-tool: cache module metainformation.
2983         * gnulib-tool (sed_extract_prog): Match newline before each
2984         header, and rewrite header to a shell variable suffix.
2985         (func_cache_var, func_cache_lookup_module): New functions,
2986         to turn a module name into a cache variable prefix, and to
2987         look up and cache module metainformation.
2988         (func_get_description, func_get_status)
2989         (func_get_notice, func_get_applicability, func_get_filelist)
2990         (func_get_dependencies, func_get_autoconf_early_snippet)
2991         (func_get_autoconf_snippet, func_get_automake_snippet)
2992         (func_get_include_directive, func_get_link_directive)
2993         (func_get_license, func_get_maintainer): Use
2994         func_cache_lookup_module.
2995
2996 2010-02-07  Bruno Haible  <bruno@clisp.org>
2997
2998         fnctl: Fix missing dependency.
2999         * modules/fcntl (Depends-on): Add getdtablesize.
3000         Reported by John W. Eaton <jwe@gnu.org>.
3001
3002 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3003
3004         Argp: fix recognition of short alias options.
3005
3006         * lib/argp-parse.c (convert_options): Fix improper use of
3007         `|' between character values.
3008         * tests/test-argp.c (group1_option): New alias option
3009         --read (-r).
3010         (group1_parser): Special handling for 'r'.
3011         (test15): New test case.
3012         (test_fun): Add test15.
3013         * tests/test-argp-2.sh: Update expected --help and --usage
3014         outputs.
3015
3016 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
3017
3018         * tests/test-argp.c: Fix indentation.
3019
3020 2010-02-04  Eric Blake  <ebb9@byu.net>
3021
3022         gettimeofday: expose type of second argument
3023         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
3024         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
3025         * tests/test-gettimeofday.c: Use it to silence warning.
3026         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
3027         the issue.
3028
3029 2010-02-03  Jim Meyering  <meyering@redhat.com>
3030
3031         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
3032         * lib/regcomp.c (TYPE_SIGNED): Define.
3033         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
3034
3035         regcomp.c: avoid a new -Wshadow warning
3036         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
3037
3038 2010-02-01  Jim Meyering  <meyering@redhat.com>
3039
3040         removing useless parentheses in cpp #define directives
3041         For motivation, see commit c0221df4, "define STREQ(a,b)
3042         consistently, removing useless parentheses"
3043         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
3044         * lib/mountlist.c (MNT_IGNORE): Likewise.
3045         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
3046
3047 2010-02-01  Eric Blake  <ebb9@byu.net>
3048
3049         sys_time: use link-warning
3050         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
3051         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
3052         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
3053         * modules/sys_time (Depends-on): Add warn-on-use.
3054         (Makefile.am): Always build replacement.
3055         (configure.ac): Update substitutions.
3056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
3057         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
3058         bother with SYS_TIME_H.
3059         * modules/gettimeofday (configure.ac): Declare indicator.
3060         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
3061         in use.
3062
3063         closein-tests: silence compiler warning
3064         * tests/test-closein.c (main): Ignore fread result.
3065         * modules/closein-tests (Depends-on): Add ignore-value.
3066
3067         tests: silence warning about system return
3068         * tests/test-areadlink-with-size.c (main): Ignore system result.
3069         * tests/test-areadlink.c (main): Likewise.
3070         * tests/test-areadlinkat-with-size.c (main): Likewise.
3071         * tests/test-areadlinkat.c (main): Likewise.
3072         * tests/test-canonicalize-lgpl.c (main): Likewise.
3073         * tests/test-canonicalize.c (main): Likewise.
3074         * tests/test-chown.c (main): Likewise.
3075         * tests/test-fchownat.c (main): Likewise.
3076         * tests/test-fdutimensat.c (main): Likewise.
3077         * tests/test-fstatat.c (main): Likewise.
3078         * tests/test-futimens.c (main): Likewise.
3079         * tests/test-lchown.c (main): Likewise.
3080         * tests/test-link.c (main): Likewise.
3081         * tests/test-linkat.c (main): Likewise.
3082         * tests/test-lstat.c (main): Likewise.
3083         * tests/test-mkdir.c (main): Likewise.
3084         * tests/test-mkdirat.c (main): Likewise.
3085         * tests/test-mkfifo.c (main): Likewise.
3086         * tests/test-mkfifoat.c (main): Likewise.
3087         * tests/test-mknod.c (main): Likewise.
3088         * tests/test-readlink.c (main): Likewise.
3089         * tests/test-remove.c (main): Likewise.
3090         * tests/test-rename.c (main): Likewise.
3091         * tests/test-renameat.c (main): Likewise.
3092         * tests/test-rmdir.c (main): Likewise.
3093         * tests/test-symlink.c (main): Likewise.
3094         * tests/test-symlinkat.c (main): Likewise.
3095         * tests/test-unlink.c (main): Likewise.
3096         * tests/test-unlinkat.c (main): Likewise.
3097         * tests/test-utimens.c (main): Likewise.
3098         * tests/test-utimensat.c (main): Likewise.
3099         * modules/areadlink-tests (Depends-on): Add ignore-value.
3100         * modules/areadlink-with-size-tests (Depends-on): Likewise.
3101         * modules/areadlinkat-tests (Depends-on): Likewise.
3102         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
3103         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
3104         * modules/canonicalize-tests (Depends-on): Likewise.
3105         * modules/chown-tests (Depends-on): Likewise.
3106         * modules/fdutimensat-tests (Depends-on): Likewise.
3107         * modules/futimens-tests (Depends-on): Likewise.
3108         * modules/lchown-tests (Depends-on): Likewise.
3109         * modules/link-tests (Depends-on): Likewise.
3110         * modules/linkat-tests (Depends-on): Likewise.
3111         * modules/lstat-tests (Depends-on): Likewise.
3112         * modules/mkdir-tests (Depends-on): Likewise.
3113         * modules/mkfifo-tests (Depends-on): Likewise.
3114         * modules/mkfifoat-tests (Depends-on): Likewise.
3115         * modules/mknod-tests (Depends-on): Likewise.
3116         * modules/openat-tests (Depends-on): Likewise.
3117         * modules/readlink-tests (Depends-on): Likewise.
3118         * modules/remove-tests (Depends-on): Likewise.
3119         * modules/rename-tests (Depends-on): Likewise.
3120         * modules/renameat-tests (Depends-on): Likewise.
3121         * modules/rmdir-tests (Depends-on): Likewise.
3122         * modules/symlink-tests (Depends-on): Likewise.
3123         * modules/symlinkat-tests (Depends-on): Likewise.
3124         * modules/unlink-tests (Depends-on): Likewise.
3125         * modules/utimens-tests (Depends-on): Likewise.
3126         * modules/utimensat-tests (Depends-on): Likewise.
3127
3128 2010-01-31  Bruno Haible  <bruno@clisp.org>
3129
3130         Perform the same test for many <math.h> functions.
3131         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
3132         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
3133         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
3134         of gl_MATHFUNC.
3135         * modules/acos (configure.ac): Likewise.
3136         * modules/asin (configure.ac): Likewise.
3137         * modules/atan (configure.ac): Likewise.
3138         * modules/atan2 (configure.ac): Likewise.
3139         * modules/cbrt (configure.ac): Likewise.
3140         * modules/copysign (configure.ac): Likewise.
3141         * modules/cos (configure.ac): Likewise.
3142         * modules/cosh (configure.ac): Likewise.
3143         * modules/erf (configure.ac): Likewise.
3144         * modules/erfc (configure.ac): Likewise.
3145         * modules/exp (configure.ac): Likewise.
3146         * modules/fmod (configure.ac): Likewise.
3147         * modules/hypot (configure.ac): Likewise.
3148         * modules/j0 (configure.ac): Likewise.
3149         * modules/j1 (configure.ac): Likewise.
3150         * modules/jn (configure.ac): Likewise.
3151         * modules/lgamma (configure.ac): Likewise.
3152         * modules/log (configure.ac): Likewise.
3153         * modules/log10 (configure.ac): Likewise.
3154         * modules/log1p (configure.ac): Likewise.
3155         * modules/pow (configure.ac): Likewise.
3156         * modules/remainder (configure.ac): Likewise.
3157         * modules/sin (configure.ac): Likewise.
3158         * modules/sinh (configure.ac): Likewise.
3159         * modules/tan (configure.ac): Likewise.
3160         * modules/tanh (configure.ac): Likewise.
3161         * modules/y0 (configure.ac): Likewise.
3162         * modules/y1 (configure.ac): Likewise.
3163         * modules/yn (configure.ac): Likewise.
3164         Suggested by Paolo Bonzini.
3165
3166 2010-01-31  Bruno Haible  <bruno@clisp.org>
3167
3168         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
3169
3170 2010-01-31  Bruno Haible  <bruno@clisp.org>
3171
3172         Work around getdelim() bug on FreeBSD 8.0.
3173         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
3174         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
3175         not work.
3176         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
3177         is 1.
3178         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
3179         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
3180         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
3181         a non-zero size.
3182         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
3183
3184 2010-01-31  Bruno Haible  <bruno@clisp.org>
3185
3186         Work around getline() bug on FreeBSD 8.0.
3187         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
3188         and a non-zero size.
3189         * tests/test-getline.c (main): Likewise.
3190         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
3191         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
3192
3193 2010-01-28  Eric Blake  <ebb9@byu.net>
3194
3195         regex: fix build failure
3196         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
3197         platforms.
3198
3199 2010-01-28  Jim Meyering  <meyering@redhat.com>
3200
3201         regex: do not ignore memory allocation failure
3202         * lib/regex_internal.c (create_cd_newstate): Detect
3203         re_node_set_init_copy failure.   Extracted from glibc commit
3204         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3205
3206         regex: sync more white-space changes from libc
3207         * lib/regex_internal.c: White-space only changes.
3208         * lib/regexec.c: Likewise.
3209
3210         regex: add many uses of __attribute_warn_unused_result__
3211         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
3212         * lib/regexec.c: Likewise.
3213         Extracted from a messy glibc commit.
3214
3215         regcomp.c: spelling and merge-artifact from glibc
3216         * lib/regcomp.c: Merge remainder of glibc's
3217         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3218
3219         regcomp.c: sync white-space changes from glibc
3220         * lib/regcomp.c: Merge to accommodate white space
3221         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
3222
3223         regcomp.c: do not ignore internal return values
3224         * lib/regcomp.c: Do not ignore internal return values.
3225         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
3226         but without its white-space changes and spelling fixes.
3227
3228         regex_internal.h: define __attribute_warn_unused_result__
3229         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
3230
3231         maint: add a syntax-check rule to check for vulnerable Makefile.in
3232         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
3233
3234 2010-01-27  Jim Meyering  <meyering@redhat.com>
3235
3236         ncftpput-ftp: clean up spaces
3237         * build-aux/ncftpput-ftp: Make Copyright line consistent.
3238         Remove trailing blanks.
3239
3240 2010-01-27  Simon Josefsson  <simon@josefsson.org>
3241
3242         * build-aux/git-version-gen: Fix copyright statement.
3243         * build-aux/gnupload: Likewise.
3244         * tests/test-arcfour.c: Likewise.
3245         * tests/test-arctwo.c: Likewise.
3246         * tests/test-count-one-bits.c: Likewise.
3247         * tests/test-crc.c: Likewise.
3248         * tests/test-des.c: Likewise.
3249         * tests/test-gc-arcfour.c: Likewise.
3250         * tests/test-gc-arctwo.c: Likewise.
3251         * tests/test-gc-des.c: Likewise.
3252         * tests/test-gc-hmac-md5.c: Likewise.
3253         * tests/test-gc-hmac-sha1.c: Likewise.
3254         * tests/test-gc-md2.c: Likewise.
3255         * tests/test-gc-md4.c: Likewise.
3256         * tests/test-gc-md5.c: Likewise.
3257         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3258         * tests/test-gc-rijndael.c: Likewise.
3259         * tests/test-gc-sha1.c: Likewise.
3260         * tests/test-gc.c: Likewise.
3261         * tests/test-gethostname.c: Likewise.
3262         * tests/test-gettimeofday.c: Likewise.
3263         * tests/test-hash.c: Likewise.
3264         * tests/test-hmac-md5.c: Likewise.
3265         * tests/test-hmac-sha1.c: Likewise.
3266         * tests/test-md2.c: Likewise.
3267         * tests/test-md4.c: Likewise.
3268         * tests/test-md5.c: Likewise.
3269         * tests/test-memchr.c: Likewise.
3270         * tests/test-memchr2.c: Likewise.
3271         * tests/test-memcmp.c: Likewise.
3272         * tests/test-memmem.c: Likewise.
3273         * tests/test-memrchr.c: Likewise.
3274         * tests/test-rawmemchr.c: Likewise.
3275         * tests/test-read-file.c: Likewise.
3276         * tests/test-rijndael.c: Likewise.
3277         * tests/test-sockets.c: Likewise.
3278         * tests/test-strchrnul.c: Likewise.
3279         * tests/test-strstr.c: Likewise.
3280         * tests/test-strtod.c: Likewise.
3281         * build-aux/ncftpput-ftp: Likewise.
3282
3283 2010-01-26  Eric Blake  <ebb9@byu.net>
3284
3285         ignore-value: update recommended header name
3286         * modules/ignore-value (Include): Only use <> for headers that
3287         exist in glibc.
3288
3289 2010-01-26  Jim Meyering  <meyering@redhat.com>
3290
3291         test-userspec.c: avoid compiler warnings
3292         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
3293         and "initialization discards qualifiers..." warnings.
3294         Put the first "uid" in its own scope, and make char* members "const".
3295
3296 2010-01-25  Bruno Haible  <bruno@clisp.org>
3297
3298         gnulib-tool: Make warning diagnostics consistent.
3299         * gnulib-tool (func_warning): New function.
3300         Use it everywhere where gnulib-tool produces output to stderr and it is
3301         not a fatal error.
3302
3303 2010-01-25  Bruno Haible  <bruno@clisp.org>
3304
3305         Fix test dependencies.
3306         * modules/xstrtol-tests (Depends-on): Add inttypes.
3307         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
3308
3309 2010-01-25 Pádraig Brady <P@draigBrady.com>
3310
3311         syntax-check: detect incorrect boolean macro values in config.h
3312         * modules/maintainer-makefile (configure.ac): Parameterize the location
3313         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
3314         The logic is from Eric Blake and the location indicated by Jim Meyering.
3315         Note the more natural CONFIG_HEADER name is prohibited by automake
3316         for backwards compatibility reasons.
3317         * top/maint.mk (sc_Wundef_boolean): New rule.
3318
3319 2010-01-25  Jim Meyering  <meyering@redhat.com>
3320
3321         bootstrap: detect MacOS 10.6's shasum, too
3322         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
3323         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
3324
3325 2010-01-23  Jim Meyering  <meyering@redhat.com>
3326
3327         xstrtoll: new module
3328         * modules/xstrtoll: New file.
3329         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
3330         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
3331         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
3332         ./configure fails if you use this module and lack "long long".
3333         * modules/xstrtoll-tests: New module.
3334         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
3335         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
3336         new init.sh-based test framework.
3337
3338 2010-01-24  Bruno Haible  <bruno@clisp.org>
3339
3340         Tests for module 'yn'.
3341         * modules/yn-tests: New file.
3342         * tests/test-yn.c: New file.
3343
3344         Tests for module 'y1'.
3345         * modules/y1-tests: New file.
3346         * tests/test-y1.c: New file.
3347
3348         Tests for module 'y0'.
3349         * modules/y0-tests: New file.
3350         * tests/test-y0.c: New file.
3351
3352         Tests for module 'tanh'.
3353         * modules/tanh-tests: New file.
3354         * tests/test-tanh.c: New file.
3355
3356         Tests for module 'tan'.
3357         * modules/tan-tests: New file.
3358         * tests/test-tan.c: New file.
3359
3360         Tests for module 'sqrt'.
3361         * modules/sqrt-tests: New file.
3362         * tests/test-sqrt.c: New file.
3363
3364         Tests for module 'sinh'.
3365         * modules/sinh-tests: New file.
3366         * tests/test-sinh.c: New file.
3367
3368         Tests for module 'sin'.
3369         * modules/sin-tests: New file.
3370         * tests/test-sin.c: New file.
3371
3372         Tests for module 'rint'.
3373         * modules/rint-tests: New file.
3374         * tests/test-rint.c: New file.
3375
3376         Tests for module 'remainder'.
3377         * modules/remainder-tests: New file.
3378         * tests/test-remainder.c: New file.
3379
3380         Tests for module 'pow'.
3381         * modules/pow-tests: New file.
3382         * tests/test-pow.c: New file.
3383
3384         Tests for module 'nextafter'.
3385         * modules/nextafter-tests: New file.
3386         * tests/test-nextafter.c: New file.
3387
3388         Tests for module 'modf'.
3389         * modules/modf-tests: New file.
3390         * tests/test-modf.c: New file.
3391
3392         Tests for module 'logb'.
3393         * modules/logb-tests: New file.
3394         * tests/test-logb.c: New file.
3395
3396         Tests for module 'log1p'.
3397         * modules/log1p-tests: New file.
3398         * tests/test-log1p.c: New file.
3399
3400         Tests for module 'log10'.
3401         * modules/log10-tests: New file.
3402         * tests/test-log10.c: New file.
3403
3404         Tests for module 'log'.
3405         * modules/log-tests: New file.
3406         * tests/test-log.c: New file.
3407
3408         Tests for module 'lgamma'.
3409         * modules/lgamma-tests: New file.
3410         * tests/test-lgamma.c: New file.
3411
3412         Tests for module 'ldexp'.
3413         * modules/ldexp-tests: New file.
3414         * tests/test-ldexp.c: New file.
3415
3416         Tests for module 'jn'.
3417         * modules/jn-tests: New file.
3418         * tests/test-jn.c: New file.
3419
3420         Tests for module 'j1'.
3421         * modules/j1-tests: New file.
3422         * tests/test-j1.c: New file.
3423
3424         Tests for module 'j0'.
3425         * modules/j0-tests: New file.
3426         * tests/test-j0.c: New file.
3427
3428         Tests for module 'hypot'.
3429         * modules/hypot-tests: New file.
3430         * tests/test-hypot.c: New file.
3431
3432         Tests for module 'fmod'.
3433         * modules/fmod-tests: New file.
3434         * tests/test-fmod.c: New file.
3435
3436         Tests for module 'fabs'.
3437         * modules/fabs-tests: New file.
3438         * tests/test-fabs.c: New file.
3439
3440         Tests for module 'exp'.
3441         * modules/exp-tests: New file.
3442         * tests/test-exp.c: New file.
3443
3444         Tests for module 'erfc'.
3445         * modules/erfc-tests: New file.
3446         * tests/test-erfc.c: New file.
3447
3448         Tests for module 'erf'.
3449         * modules/erf-tests: New file.
3450         * tests/test-erf.c: New file.
3451
3452         Tests for module 'cosh'.
3453         * modules/cosh-tests: New file.
3454         * tests/test-cosh.c: New file.
3455
3456         Tests for module 'cos'.
3457         * modules/cos-tests: New file.
3458         * tests/test-cos.c: New file.
3459
3460         Tests for module 'copysign'.
3461         * modules/copysign-tests: New file.
3462         * tests/test-copysign.c: New file.
3463
3464         Tests for module 'cbrt'.
3465         * modules/cbrt-tests: New file.
3466         * tests/test-cbrt.c: New file.
3467
3468         Tests for module 'atan2'.
3469         * modules/atan2-tests: New file.
3470         * tests/test-atan2.c: New file.
3471
3472         Tests for module 'atan'.
3473         * modules/atan-tests: New file.
3474         * tests/test-atan.c: New file.
3475
3476         Tests for module 'asin'.
3477         * modules/asin-tests: New file.
3478         * tests/test-asin.c: New file.
3479
3480         Tests for module 'acos'.
3481         * modules/acos-tests: New file.
3482         * tests/test-acos.c: New file.
3483
3484 2010-01-24  Bruno Haible  <bruno@clisp.org>
3485
3486         Fix tests for common <math.h> functions.
3487         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
3488         code snippet that references the function pointer, rather than merely
3489         calling the function. Substitute the FUNC_LIBM variable.
3490         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
3491         * modules/acos (configure.ac): Likewise.
3492         * modules/asin (configure.ac): Likewise.
3493         * modules/atan (configure.ac): Likewise.
3494         * modules/atan2 (configure.ac): Likewise.
3495         * modules/cbrt (configure.ac): Likewise.
3496         * modules/copysign (configure.ac): Likewise.
3497         * modules/cos (configure.ac): Likewise.
3498         * modules/cosh (configure.ac): Likewise.
3499         * modules/erf (configure.ac): Likewise.
3500         * modules/erfc (configure.ac): Likewise.
3501         * modules/exp (configure.ac): Likewise.
3502         * modules/fabs (configure.ac): Likewise.
3503         * modules/fmod (configure.ac): Likewise.
3504         * modules/hypot (configure.ac): Likewise.
3505         * modules/j0 (configure.ac): Likewise.
3506         * modules/j1 (configure.ac): Likewise.
3507         * modules/jn (configure.ac): Likewise.
3508         * modules/ldexp (configure.ac): Likewise.
3509         * modules/lgamma (configure.ac): Likewise.
3510         * modules/log (configure.ac): Likewise.
3511         * modules/log10 (configure.ac): Likewise.
3512         * modules/log1p (configure.ac): Likewise.
3513         * modules/logb (configure.ac): Likewise.
3514         * modules/modf (configure.ac): Likewise.
3515         * modules/nextafter (configure.ac): Likewise.
3516         * modules/pow (configure.ac): Likewise.
3517         * modules/remainder (configure.ac): Likewise.
3518         * modules/rint (configure.ac): Likewise.
3519         * modules/sin (configure.ac): Likewise.
3520         * modules/sinh (configure.ac): Likewise.
3521         * modules/tan (configure.ac): Likewise.
3522         * modules/tanh (configure.ac): Likewise.
3523         * modules/y0 (configure.ac): Likewise.
3524         * modules/y1 (configure.ac): Likewise.
3525         * modules/yn (configure.ac): Likewise.
3526
3527 2010-01-24  Bruno Haible  <bruno@clisp.org>
3528
3529         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
3530         * tests/test-acosl.c (x): New variable.
3531         (main): Store argument in x and fetch it from x.
3532         * tests/test-asinl.c (x): New variable.
3533         (main): Store argument in x and fetch it from x.
3534         * tests/test-atanl.c (x): New variable.
3535         (main): Store argument in x and fetch it from x.
3536         * tests/test-cosl.c (x): New variable.
3537         (main): Store argument in x and fetch it from x.
3538         * tests/test-expl.c (x): New variable.
3539         (main): Store argument in x and fetch it from x.
3540         * tests/test-logl.c (x): New variable.
3541         (main): Store argument in x and fetch it from x.
3542         * tests/test-sinl.c (x): New variable.
3543         (main): Store argument in x and fetch it from x.
3544         * tests/test-sqrtl.c (x): New variable.
3545         (main): Store argument in x and fetch it from x.
3546         * tests/test-tanl.c (x): New variable.
3547         (main): Store argument in x and fetch it from x.
3548
3549 2010-01-24  Bruno Haible  <bruno@clisp.org>
3550
3551         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
3552         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
3553         assignments to the initial TESTS_ENVIRONMENT.
3554         * doc/gnulib.texi (Unit test modules): Document it.
3555         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
3556         TESTS_ENVIRONMENT.
3557         * modules/btowc-tests (Makefile.am): Likewise.
3558         * modules/c-stack-tests (Makefile.am): Likewise.
3559         * modules/c-strcase-tests (Makefile.am): Likewise.
3560         * modules/copy-file-tests (Makefile.am): Likewise.
3561         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3562         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3563         * modules/mbrtowc-tests (Makefile.am): Likewise.
3564         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3565         * modules/mbscasestr-tests (Makefile.am): Likewise.
3566         * modules/mbschr-tests (Makefile.am): Likewise.
3567         * modules/mbscspn-tests (Makefile.am): Likewise.
3568         * modules/mbsinit-tests (Makefile.am): Likewise.
3569         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3570         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3571         * modules/mbspbrk-tests (Makefile.am): Likewise.
3572         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3573         * modules/mbsrchr-tests (Makefile.am): Likewise.
3574         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3575         * modules/mbsspn-tests (Makefile.am): Likewise.
3576         * modules/mbsstr-tests (Makefile.am): Likewise.
3577         * modules/nl_langinfo-tests (Makefile.am): Likewise.
3578         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
3579         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3580         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3581         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3582         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3583         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
3584         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3585         * modules/wcrtomb-tests (Makefile.am): Likewise.
3586         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
3587         * modules/wcsrtombs-tests (Makefile.am): Likewise.
3588         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
3589         assignments from TESTS_ENVIRONMENT.
3590         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
3591         augmentation.
3592         * modules/argp-version-etc-tests (Makefile.am): Likewise.
3593         * modules/atexit-tests (Makefile.am): Likewise.
3594         * modules/binary-io-tests (Makefile.am): Likewise.
3595         * modules/closein-tests (Makefile.am): Likewise.
3596         * modules/dprintf-posix-tests (Makefile.am): Likewise.
3597         * modules/exclude-tests (Makefile.am): Likewise.
3598         * modules/fflush-tests (Makefile.am): Likewise.
3599         * modules/fpending-tests (Makefile.am): Likewise.
3600         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3601         * modules/freadahead-tests (Makefile.am): Likewise.
3602         * modules/freadptr-tests (Makefile.am): Likewise.
3603         * modules/freadseek-tests (Makefile.am): Likewise.
3604         * modules/fseek-tests (Makefile.am): Likewise.
3605         * modules/fseeko-tests (Makefile.am): Likewise.
3606         * modules/ftell-tests (Makefile.am): Likewise.
3607         * modules/ftello-tests (Makefile.am): Likewise.
3608         * modules/idpriv-drop-tests (Makefile.am): Likewise.
3609         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
3610         * modules/lseek-tests (Makefile.am): Likewise.
3611         * modules/parse-duration-tests (Makefile.am): Likewise.
3612         * modules/perror-tests (Makefile.am): Likewise.
3613         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
3614         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
3615         * modules/pipe-tests (Makefile.am): Likewise.
3616         * modules/pread-tests (Makefile.am): Likewise.
3617         * modules/printf-posix-tests (Makefile.am): Likewise.
3618         * modules/select-tests (Makefile.am): Likewise.
3619         * modules/sigpipe-tests (Makefile.am): Likewise.
3620         * modules/tsearch-tests (Makefile.am): Likewise.
3621         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
3622         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
3623         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3624         * modules/uniwidth/width-tests (Makefile.am): Likewise.
3625         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
3626         * modules/version-etc-tests (Makefile.am): Likewise.
3627         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3628         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3629         * modules/xalloc-die-tests (Makefile.am): Likewise.
3630         * modules/xprintf-posix-tests (Makefile.am): Likewise.
3631         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3632         * modules/xstrtol-tests (Makefile.am): Likewise.
3633         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3634         * modules/yesno-tests (Makefile.am): Likewise.
3635         Suggested by Jim Meyering.
3636
3637 2010-01-24  Bruno Haible  <bruno@clisp.org>
3638
3639         More documentation.
3640         * doc/gnulib.texi (Writing modules): New chapter.
3641         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
3642         the new chapter.
3643
3644 2010-01-24  Jim Meyering  <meyering@redhat.com>
3645
3646         maint.mk: do not prepend "./" after filtering
3647         * top/maint.mk (_prepend_srcdir_prefix): New variable
3648         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
3649         "./" when $(srcdir) is ".".
3650
3651         define STREQ(a,b) consistently, removing useless parentheses
3652         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
3653         since the only risk is that "a" or "b" contains an unparenthesized
3654         comma, but if either did that, STREQ would have 3 or more arguments.
3655         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
3656         * lib/fts.c (STREQ): Remove unnecessary parentheses.
3657         * lib/hash-triple.c (STREQ): Likewise.
3658         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
3659         * lib/getugroups.c (STREQ): Likewise.
3660
3661 2010-01-23  Jim Meyering  <meyering@redhat.com>
3662
3663         maint.mk: fix syntax-check in a non-srcdir build directory
3664         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
3665         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
3666
3667 2010-01-22  Jim Meyering  <meyering@redhat.com>
3668
3669         userspec: add unit tests
3670         * tests/test-userspec.c: New file.
3671         * modules/userspec-tests: Likewise.
3672
3673 2010-01-21  Jim Meyering  <meyering@redhat.com>
3674
3675         maint.mk: handle source file names containing "." robustly
3676         * top/maint.mk (_dot_escaped_srcdir): Define.
3677         (VC_LIST): Use it in LHS of sed substitution.
3678
3679 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
3680
3681         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
3682         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
3683         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
3684         from a non-srcdir build.
3685
3686 2010-01-20  Eric Blake  <ebb9@byu.net>
3687
3688         warn-on-use: use instead of link-warning
3689         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
3690         * modules/unistd (Depends-on, Makefile.am): Likewise.
3691         * modules/arpa_inet (Depends-on): Replace link-warning with
3692         warn-on-use.
3693         (Makefile.am): Update rules accordingly.
3694         * modules/ctype (Depends-on, Makefile.am): Likewise.
3695         * modules/dirent (Depends-on, Makefile.am): Likewise.
3696         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
3697         * modules/inttypes (Depends-on, Makefile.am): Likewise.
3698         * modules/langinfo (Depends-on, Makefile.am): Likewise.
3699         * modules/locale (Depends-on, Makefile.am): Likewise.
3700         * modules/math (Depends-on, Makefile.am): Likewise.
3701         * modules/search (Depends-on, Makefile.am): Likewise.
3702         * modules/signal (Depends-on, Makefile.am): Likewise.
3703         * modules/spawn (Depends-on, Makefile.am): Likewise.
3704         * modules/stdlib (Depends-on, Makefile.am): Likewise.
3705         * modules/string (Depends-on, Makefile.am): Likewise.
3706         * modules/strings (Depends-on, Makefile.am): Likewise.
3707         * modules/sys_file (Depends-on, Makefile.am): Likewise.
3708         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
3709         * modules/sys_select (Depends-on, Makefile.am): Likewise.
3710         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
3711         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
3712         * modules/sys_times (Depends-on, Makefile.am): Likewise.
3713         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
3714         * modules/wchar (Depends-on, Makefile.am): Likewise.
3715         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
3716         should be poisoned.
3717         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
3718         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
3719         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
3720         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3721         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
3722         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3723         * m4/math_h.m4 (gl_MATH_H): Likewise.
3724         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3725         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3726         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3727         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3728         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3729         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3730         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
3731         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
3732         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3733         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3734         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3735         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3736         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3737         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3738         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3739         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3740         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
3741         GL_LINK_WARNING.
3742         * lib/ctype.in.h: Likewise.
3743         * lib/dirent.in.h: Likewise.
3744         * lib/fcntl.in.h: Likewise.
3745         * lib/inttypes.in.h: Likewise.
3746         * lib/langinfo.in.h: Likewise.
3747         * lib/locale.in.h: Likewise.
3748         * lib/math.in.h: Likewise.
3749         * lib/search.in.h: Likewise.
3750         * lib/signal.in.h: Likewise.
3751         * lib/spawn.in.h: Likewise.
3752         * lib/stdio.in.h: Likewise.
3753         * lib/stdlib.in.h: Likewise.
3754         * lib/string.in.h: Likewise.
3755         * lib/strings.in.h: Likewise.
3756         * lib/sys_file.in.h: Likewise.
3757         * lib/sys_ioctl.in.h: Likewise.
3758         * lib/sys_select.in.h: Likewise.
3759         * lib/sys_socket.in.h: Likewise.
3760         * lib/sys_stat.in.h: Likewise.
3761         * lib/sys_times.in.h: Likewise.
3762         * lib/sys_utsname.in.h: Likewise.
3763         * lib/unistd.in.h: Likewise.
3764         * lib/wchar.in.h: Likewise.
3765
3766 2010-01-20  Bruno Haible  <bruno@clisp.org>
3767
3768         Avoid duplicate -lm.
3769         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
3770         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
3771         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
3772         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
3773         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
3774         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
3775         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
3776         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
3777         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
3778         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
3779         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
3780         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3781         Reported by Paolo Bonzini.
3782
3783 2010-01-19  Bruno Haible  <bruno@clisp.org>
3784
3785         langinfo, nl_langinfo: Relicense under LGPLv2+.
3786         * modules/langinfo (License): Change to LGPLv2+.
3787         * modules/nl_langinfo (License): Likewise.
3788         Patch by David Lutterkort <lutter@redhat.com>.
3789
3790 2010-01-19  Bruno Haible  <bruno@clisp.org>
3791
3792         Avoid compilation error with cc on OSF/1 5.1.
3793         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
3794         statement, not before.
3795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3796
3797 2010-01-18  Bruno Haible  <bruno@clisp.org>
3798
3799         Avoid a link error due to the __printf__ symbol.
3800         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
3801         and 2.6.x.
3802         (__format__, __printf__): Remove definitions.
3803         * lib/argp-fmtstream.h: Likewise.
3804         * lib/argp.h: Likewise.
3805         * lib/error.h: Likewise.
3806         * lib/vasnprintf.h: Likewise.
3807         * lib/xprintf.h: Likewise.
3808         * lib/xvasprintf.h: Likewise.
3809         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3810
3811 2010-01-18  Bruno Haible  <bruno@clisp.org>
3812
3813         Tests for module 'tanl'.
3814         * modules/tanl-tests: New file.
3815         * tests/test-tanl.c: New file.
3816
3817         Tests for module 'sqrtl'.
3818         * modules/sqrtl-tests: New file.
3819         * tests/test-sqrtl.c: New file.
3820
3821         Tests for module 'sinl'.
3822         * modules/sinl-tests: New file.
3823         * tests/test-sinl.c: New file.
3824
3825         Tests for module 'logl'.
3826         * modules/logl-tests: New file.
3827         * tests/test-logl.c: New file.
3828
3829         Tests for module 'expl'.
3830         * modules/expl-tests: New file.
3831         * tests/test-expl.c: New file.
3832
3833         Tests for module 'cosl'.
3834         * modules/cosl-tests: New file.
3835         * tests/test-cosl.c: New file.
3836
3837         Tests for module 'atanl'.
3838         * modules/atanl-tests: New file.
3839         * tests/test-atanl.c: New file.
3840
3841         Tests for module 'asinl'.
3842         * modules/asinl-tests: New file.
3843         * tests/test-asinl.c: New file.
3844
3845         Tests for module 'acosl'.
3846         * modules/acosl-tests: New file.
3847         * tests/test-acosl.c: New file.
3848
3849         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
3850         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3851         tanl): Use the standard gnulib idiom.
3852         * lib/cosl.c: Don't include trigl.c and sincosl.c.
3853         * lib/sinl.c: Likewise.
3854         * lib/tanl.c: Don't include trigl.c.
3855         (kernel_tanl): Make static.
3856         * lib/sincosl.c: Include trigl.h first.
3857         * lib/trigl.c: Likewise.
3858         * m4/acosl.m4: New file.
3859         * m4/asinl.m4: New file.
3860         * m4/atanl.m4: New file.
3861         * m4/cosl.m4: New file.
3862         * m4/expl.m4: New file.
3863         * m4/logl.m4: New file.
3864         * m4/sinl.m4: New file.
3865         * m4/sqrtl.m4: New file.
3866         * m4/tanl.m4: New file.
3867         * m4/mathl.m4: Remove file.
3868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
3869         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
3870         Don't initialize GNULIB_MATHL.
3871         * modules/acosl: New file.
3872         * modules/asinl: New file.
3873         * modules/atanl: New file.
3874         * modules/cosl: New file.
3875         * modules/expl: New file.
3876         * modules/logl: New file.
3877         * modules/sinl: New file.
3878         * modules/sqrtl: New file.
3879         * modules/tanl: New file.
3880         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
3881         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
3882         substitute GNULIB_MATHL.
3883         * modules/mathl: Rewritten.
3884         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
3885         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
3886         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
3887         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
3888         * doc/posix-functions/expl.texi: Mention the 'expl' module.
3889         * doc/posix-functions/logl.texi: Mention the 'logl' module.
3890         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
3891         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
3892         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
3893
3894 2010-01-18  Bruno Haible  <bruno@clisp.org>
3895
3896         sqrt: Make gl_FUNC_SQRT requirable.
3897         * m4/sqrt.m4: New file.
3898         * modules/sqrt (Files): Add it.
3899         (configure.ac): Invoke gl_FUNC_SQRT.
3900
3901 2010-01-18  Bruno Haible  <bruno@clisp.org>
3902
3903         New modules for common <math.h> functions.
3904         * m4/mathfunc.m4: New file.
3905         * modules/acos: New file.
3906         * modules/asin: New file.
3907         * modules/atan: New file.
3908         * modules/atan2: New file.
3909         * modules/cbrt: New file.
3910         * modules/copysign: New file.
3911         * modules/cos: New file.
3912         * modules/cosh: New file.
3913         * modules/erf: New file.
3914         * modules/erfc: New file.
3915         * modules/exp: New file.
3916         * modules/fabs: New file.
3917         * modules/fmod: New file.
3918         * modules/hypot: New file.
3919         * modules/j0: New file.
3920         * modules/j1: New file.
3921         * modules/jn: New file.
3922         * modules/ldexp: New file.
3923         * modules/lgamma: New file.
3924         * modules/log: New file.
3925         * modules/log10: New file.
3926         * modules/log1p: New file.
3927         * modules/logb: New file.
3928         * modules/modf: New file.
3929         * modules/nextafter: New file.
3930         * modules/pow: New file.
3931         * modules/remainder: New file.
3932         * modules/rint: New file.
3933         * modules/sin: New file.
3934         * modules/sinh: New file.
3935         * modules/sqrt: New file.
3936         * modules/tan: New file.
3937         * modules/tanh: New file.
3938         * modules/y0: New file.
3939         * modules/y1: New file.
3940         * modules/yn: New file.
3941         * doc/posix-functions/acos.texi: Mention the 'acos' module.
3942         * doc/posix-functions/asin.texi: Mention the 'asin' module.
3943         * doc/posix-functions/atan.texi: Mention the 'atan' module.
3944         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
3945         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
3946         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
3947         * doc/posix-functions/cos.texi: Mention the 'cos' module.
3948         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
3949         * doc/posix-functions/erf.texi: Mention the 'erf' module.
3950         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
3951         * doc/posix-functions/exp.texi: Mention the 'exp' module.
3952         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
3953         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
3954         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
3955         * doc/posix-functions/j0.texi: Mention the 'j0' module.
3956         * doc/posix-functions/j1.texi: Mention the 'j1' module.
3957         * doc/posix-functions/jn.texi: Mention the 'jn' module.
3958         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
3959         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
3960         * doc/posix-functions/log.texi: Mention the 'log' module.
3961         * doc/posix-functions/log10.texi: Mention the 'log10' module.
3962         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
3963         * doc/posix-functions/logb.texi: Mention the 'logb' module.
3964         * doc/posix-functions/modf.texi: Mention the 'modf' module.
3965         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
3966         * doc/posix-functions/pow.texi: Mention the 'pow' module.
3967         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
3968         * doc/posix-functions/rint.texi: Mention the 'rint' module.
3969         * doc/posix-functions/sin.texi: Mention the 'sin' module.
3970         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
3971         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
3972         * doc/posix-functions/tan.texi: Mention the 'tan' module.
3973         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
3974         * doc/posix-functions/y0.texi: Mention the 'y0' module.
3975         * doc/posix-functions/y1.texi: Mention the 'y1' module.
3976         * doc/posix-functions/yn.texi: Mention the 'yn' module.
3977
3978 2010-01-18  Jim Meyering  <meyering@redhat.com>
3979
3980         ignore-value: relax license to LGPLv2+
3981         * modules/ignore-value (License): Relax to LGPLv2+.
3982
3983         getdate: don't leak when TZ contains two or more '"'s
3984         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
3985         double quote in TZ after the first one.
3986
3987         readtokens: do not leak internal token_lengths buffer
3988         * lib/readtokens.c (readtokens): Free the local, lengths,
3989         when the supplied "token_lengths" parameter is NULL.
3990
3991 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3992
3993         Fix a couple of missing LIBTHREAD link failures on AIX.
3994         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
3995         $(LIBTHREAD).
3996         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
3997
3998         Link test-poll against INET_PTON_LIB.
3999         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
4000         for inet_pton on Solaris 10.
4001
4002 2010-01-17  Bruno Haible  <bruno@clisp.org>
4003
4004         unistdio/*-sprintf: Fix typo in module description.
4005         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
4006         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
4007         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
4008         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
4009         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
4010         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
4011         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
4012         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4013
4014 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4015
4016         gnulib-tool: fix filelist for AIX, HP-UX ksh.
4017         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
4018         variables in shell case patterns, for AIX and HP-UX ksh.
4019
4020         Split large sed scripts, for HP-UX sed.
4021         * modules/stdio: Split sed scripts around 50 sed commands,
4022         to avoid HP-UX limit of 99 commands, in the near future.
4023         * modules/string: Likewise.
4024         * modules/unistd: Likewise.
4025
4026         gnulib-tool: avoid writing in the current directory.
4027         * gnulib-tool (func_emit_lib_Makefile_am)
4028         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
4029         not in the current directory, so concurrent gnulib-tool
4030         instances do not interfere.
4031
4032 2010-01-16  Jim Meyering  <meyering@redhat.com>
4033
4034         doc: update users.txt
4035         * users.txt: Add grep.
4036         (diffutils, gzip): Update URLs.
4037
4038 2010-01-12  Bruno Haible  <bruno@clisp.org>
4039
4040         posix_spawn: Avoid test failure on Cygwin.
4041         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
4042         characters.
4043         Reported by Simon Josefsson.
4044
4045 2010-01-12  Bruno Haible  <bruno@clisp.org>
4046
4047         * tests/test-cond.c (main): When skipping the test, show the reason.
4048
4049 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4050
4051         * lib/striconv.c (str_cd_iconv): Avoid if before free.
4052
4053 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4054
4055         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
4056         VC_LIST_ALWAYS_EXCLUDE_REGEX.
4057
4058 2010-01-12  Eric Blake  <ebb9@byu.net>
4059
4060         build: guarantee AS_VAR_IF
4061         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
4062         (gl_AS_VAR_IF): Move...
4063         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
4064         Reported by Simon Josefsson.
4065
4066 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4067
4068         * lib/stdio.in.h: Fix typo.
4069
4070 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4071
4072         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
4073         libgpg-error.
4074
4075 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4076
4077         * tests/test-xalloc-die.sh: Use $EXEEXT.
4078
4079 2010-01-12  Simon Josefsson  <simon@josefsson.org>
4080             Bruno Haible  <bruno@clisp.org>
4081
4082         getlogin, getlogin_r: Avoid test failure.
4083         * tests/test-getlogin.c: Include <stdio.h>.
4084         (main): Skip the test when the function fails because stdin is not a
4085         tty.
4086         * tests/test-getlogin_r.c: Include <stdio.h>.
4087         (main): Skip the test when the function fails because stdin is not a
4088         tty.
4089
4090 2010-01-11  Eric Blake  <ebb9@byu.net>
4091
4092         tests: avoid more large file warnings
4093         * tests/test-fflush.c: Avoid warning about ftell use.
4094         * tests/test-fseek.c: Avoid warning about fseek use.
4095
4096 2010-01-10  Bruno Haible  <bruno@clisp.org>
4097
4098         nproc: Work better on Linux when /proc and /sys are not mounted.
4099         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
4100         as lower bound when, on glibc/Linux systems,
4101         sysconf (_SC_NPROCESSORS_CONF) returns 1.
4102         Suggested by Pádraig Brady <P@draigbrady.com>.
4103         Reported by Dmitry V. Levin <ldv@altlinux.org>.
4104
4105         nproc: Refactor.
4106         * lib/nproc.c (num_processors_via_affinity_mask): New function,
4107         extracted from num_processors.
4108         (num_processors): Call it.
4109
4110 2010-01-11  Jim Meyering  <meyering@redhat.com>
4111
4112         utimecmp: avoid new warning from upcoming gcc-4.5.0
4113         * lib/utimecmp.c (BILLION): Define using #define rather than an
4114         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
4115
4116 2010-01-11  Eric Blake  <ebb9@byu.net>
4117
4118         math: add portability warnings for classification macros
4119         * modules/math (Depends-on): Add warn-on-use.
4120         (Makefile.am): Provide new substitutions.
4121         * m4/math_h.m4 (gl_MATH_H): Require inline.
4122         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
4123         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
4124         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
4125         implement warnings.
4126
4127         unistd: warn on use of environ without module
4128         * modules/unistd (Depends-on): Add warn-on-use.
4129         (Makefile.am): Provide new substitutions.
4130         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
4131         * lib/unistd.in.h (environ): Wrap with a warning helper function.
4132
4133         stdio: warn on suspicious uses
4134         * modules/stdio (Depends-on): Add warn-on-use.
4135         (Makefile.am): Provide new substitutions.
4136         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
4137         fseeko.
4138         * lib/stdio.in.h (gets): Always warn on use.
4139         (fseek, ftell): Adjust when warnings are issued, and honor
4140         _GL_NO_LARGE_FILES as a way to silence the warning.
4141         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
4142         any warning about large file offsets.
4143         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
4144         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
4145         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
4146         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
4147         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
4148         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
4149         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
4150         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
4151
4152         warn-on-use: new module
4153         * modules/warn-on-use: New file.
4154         * build-aux/warn-on-use.h: Likewise.
4155         * m4/warn-on-use.m4: Likewise.
4156         * MODULES.html.sh (Support for building): Mention it.
4157
4158 2010-01-10  Bruno Haible  <bruno@clisp.org>
4159
4160         Tests for module 'unistr/u32-strdup'.
4161         * modules/unistr/u32-strdup-tests: New file.
4162         * tests/unistr/test-u32-strdup.c: New file.
4163
4164         Tests for module 'unistr/u16-strdup'.
4165         * modules/unistr/u16-strdup-tests: New file.
4166         * tests/unistr/test-u16-strdup.c: New file.
4167
4168         Tests for module 'unistr/u8-strdup'.
4169         * modules/unistr/u8-strdup-tests: New file.
4170         * tests/unistr/test-u8-strdup.c: New file.
4171         * tests/unistr/test-strdup.h: New file.
4172
4173         Tests for module 'unistr/u32-strncmp'.
4174         * modules/unistr/u32-strncmp-tests: New file.
4175         * tests/unistr/test-u32-strncmp.c: New file.
4176
4177         Tests for module 'unistr/u16-strncmp'.
4178         * modules/unistr/u16-strncmp-tests: New file.
4179         * tests/unistr/test-u16-strncmp.c: New file.
4180
4181         Tests for module 'unistr/u8-strncmp'.
4182         * modules/unistr/u8-strncmp-tests: New file.
4183         * tests/unistr/test-u8-strncmp.c: New file.
4184         * tests/unistr/test-strncmp.h: New file.
4185
4186         Tests for module 'unistr/u32-strcoll'.
4187         * modules/unistr/u32-strcoll-tests: New file.
4188         * tests/unistr/test-u32-strcoll.c: New file.
4189
4190         Tests for module 'unistr/u16-strcoll'.
4191         * modules/unistr/u16-strcoll-tests: New file.
4192         * tests/unistr/test-u16-strcoll.c: New file.
4193
4194         Tests for module 'unistr/u8-strcoll'.
4195         * modules/unistr/u8-strcoll-tests: New file.
4196         * tests/unistr/test-u8-strcoll.c: New file.
4197
4198         Tests for module 'unistr/u32-strcmp'.
4199         * modules/unistr/u32-strcmp-tests: New file.
4200         * tests/unistr/test-u32-strcmp.c: New file.
4201         * tests/unistr/test-u32-strcmp.h: New file.
4202
4203         Tests for module 'unistr/u16-strcmp'.
4204         * modules/unistr/u16-strcmp-tests: New file.
4205         * tests/unistr/test-u16-strcmp.c: New file.
4206         * tests/unistr/test-u16-strcmp.h: New file.
4207
4208         Tests for module 'unistr/u8-strcmp'.
4209         * modules/unistr/u8-strcmp-tests: New file.
4210         * tests/unistr/test-u8-strcmp.c: New file.
4211         * tests/unistr/test-u8-strcmp.h: New file.
4212         * tests/unistr/test-strcmp.h: New file.
4213
4214         Tests for module 'unistr/u32-strncat'.
4215         * modules/unistr/u32-strncat-tests: New file.
4216         * tests/unistr/test-u32-strncat.c: New file.
4217
4218         Tests for module 'unistr/u16-strncat'.
4219         * modules/unistr/u16-strncat-tests: New file.
4220         * tests/unistr/test-u16-strncat.c: New file.
4221
4222         Tests for module 'unistr/u8-strncat'.
4223         * modules/unistr/u8-strncat-tests: New file.
4224         * tests/unistr/test-u8-strncat.c: New file.
4225         * tests/unistr/test-strncat.h: New file.
4226
4227         Tests for module 'unistr/u32-strcat'.
4228         * modules/unistr/u32-strcat-tests: New file.
4229         * tests/unistr/test-u32-strcat.c: New file.
4230
4231         Tests for module 'unistr/u16-strcat'.
4232         * modules/unistr/u16-strcat-tests: New file.
4233         * tests/unistr/test-u16-strcat.c: New file.
4234
4235         Tests for module 'unistr/u8-strcat'.
4236         * modules/unistr/u8-strcat-tests: New file.
4237         * tests/unistr/test-u8-strcat.c: New file.
4238         * tests/unistr/test-strcat.h: New file.
4239
4240         Tests for module 'unistr/u32-stpncpy'.
4241         * modules/unistr/u32-stpncpy-tests: New file.
4242         * tests/unistr/test-u32-stpncpy.c: New file.
4243
4244         Tests for module 'unistr/u16-stpncpy'.
4245         * modules/unistr/u16-stpncpy-tests: New file.
4246         * tests/unistr/test-u16-stpncpy.c: New file.
4247
4248         Tests for module 'unistr/u8-stpncpy'.
4249         * modules/unistr/u8-stpncpy-tests: New file.
4250         * tests/unistr/test-u8-stpncpy.c: New file.
4251         * tests/unistr/test-stpncpy.h: New file.
4252
4253         Tests for module 'unistr/u32-strncpy'.
4254         * modules/unistr/u32-strncpy-tests: New file.
4255         * tests/unistr/test-u32-strncpy.c: New file.
4256
4257         Tests for module 'unistr/u16-strncpy'.
4258         * modules/unistr/u16-strncpy-tests: New file.
4259         * tests/unistr/test-u16-strncpy.c: New file.
4260
4261         Tests for module 'unistr/u8-strncpy'.
4262         * modules/unistr/u8-strncpy-tests: New file.
4263         * tests/unistr/test-u8-strncpy.c: New file.
4264         * tests/unistr/test-strncpy.h: New file.
4265
4266         Tests for module 'unistr/u32-stpcpy'.
4267         * modules/unistr/u32-stpcpy-tests: New file.
4268         * tests/unistr/test-u32-stpcpy.c: New file.
4269
4270         Tests for module 'unistr/u16-stpcpy'.
4271         * modules/unistr/u16-stpcpy-tests: New file.
4272         * tests/unistr/test-u16-stpcpy.c: New file.
4273
4274         Tests for module 'unistr/u8-stpcpy'.
4275         * modules/unistr/u8-stpcpy-tests: New file.
4276         * tests/unistr/test-u8-stpcpy.c: New file.
4277         * tests/unistr/test-stpcpy.h: New file.
4278
4279         Tests for module 'unistr/u32-strcpy'.
4280         * modules/unistr/u32-strcpy-tests: New file.
4281         * tests/unistr/test-u32-strcpy.c: New file.
4282
4283         Tests for module 'unistr/u16-strcpy'.
4284         * modules/unistr/u16-strcpy-tests: New file.
4285         * tests/unistr/test-u16-strcpy.c: New file.
4286
4287         Tests for module 'unistr/u8-strcpy'.
4288         * modules/unistr/u8-strcpy-tests: New file.
4289         * tests/unistr/test-u8-strcpy.c: New file.
4290         * tests/unistr/test-strcpy.h: New file.
4291
4292         Tests for module 'unistr/u32-strnlen'.
4293         * modules/unistr/u32-strnlen-tests: New file.
4294         * tests/unistr/test-u32-strnlen.c: New file.
4295
4296         Tests for module 'unistr/u16-strnlen'.
4297         * modules/unistr/u16-strnlen-tests: New file.
4298         * tests/unistr/test-u16-strnlen.c: New file.
4299
4300         Tests for module 'unistr/u8-strnlen'.
4301         * modules/unistr/u8-strnlen-tests: New file.
4302         * tests/unistr/test-u8-strnlen.c: New file.
4303         * tests/unistr/test-strnlen.h: New file.
4304
4305         Tests for module 'unistr/u32-strlen'.
4306         * modules/unistr/u32-strlen-tests: New file.
4307         * tests/unistr/test-u32-strlen.c: New file.
4308
4309         Tests for module 'unistr/u16-strlen'.
4310         * modules/unistr/u16-strlen-tests: New file.
4311         * tests/unistr/test-u16-strlen.c: New file.
4312
4313         Tests for module 'unistr/u8-strlen'.
4314         * modules/unistr/u8-strlen-tests: New file.
4315         * tests/unistr/test-u8-strlen.c: New file.
4316
4317         Tests for module 'unistr/u32-prev'.
4318         * modules/unistr/u32-prev-tests: New file.
4319         * tests/unistr/test-u32-prev.c: New file.
4320
4321         Tests for module 'unistr/u16-prev'.
4322         * modules/unistr/u16-prev-tests: New file.
4323         * tests/unistr/test-u16-prev.c: New file.
4324
4325         Tests for module 'unistr/u8-prev'.
4326         * modules/unistr/u8-prev-tests: New file.
4327         * tests/unistr/test-u8-prev.c: New file.
4328
4329         Tests for module 'unistr/u32-next'.
4330         * modules/unistr/u32-next-tests: New file.
4331         * tests/unistr/test-u32-next.c: New file.
4332
4333         Tests for module 'unistr/u16-next'.
4334         * modules/unistr/u16-next-tests: New file.
4335         * tests/unistr/test-u16-next.c: New file.
4336
4337         Tests for module 'unistr/u8-next'.
4338         * modules/unistr/u8-next-tests: New file.
4339         * tests/unistr/test-u8-next.c: New file.
4340
4341         Tests for module 'unistr/u32-strmbtouc'.
4342         * modules/unistr/u32-strmbtouc-tests: New file.
4343         * tests/unistr/test-u32-strmbtouc.c: New file.
4344
4345         Tests for module 'unistr/u16-strmbtouc'.
4346         * modules/unistr/u16-strmbtouc-tests: New file.
4347         * tests/unistr/test-u16-strmbtouc.c: New file.
4348
4349         Tests for module 'unistr/u8-strmbtouc'.
4350         * modules/unistr/u8-strmbtouc-tests: New file.
4351         * tests/unistr/test-u8-strmbtouc.c: New file.
4352
4353         Tests for module 'unistr/u32-strmblen'.
4354         * modules/unistr/u32-strmblen-tests: New file.
4355         * tests/unistr/test-u32-strmblen.c: New file.
4356
4357         Tests for module 'unistr/u16-strmblen'.
4358         * modules/unistr/u16-strmblen-tests: New file.
4359         * tests/unistr/test-u16-strmblen.c: New file.
4360
4361         Tests for module 'unistr/u8-strmblen'.
4362         * modules/unistr/u8-strmblen-tests: New file.
4363         * tests/unistr/test-u8-strmblen.c: New file.
4364
4365         Tests for module 'unistr/u32-cpy-alloc'.
4366         * modules/unistr/u32-cpy-alloc-tests: New file.
4367         * tests/unistr/test-u32-cpy-alloc.c: New file.
4368
4369         Tests for module 'unistr/u16-cpy-alloc'.
4370         * modules/unistr/u16-cpy-alloc-tests: New file.
4371         * tests/unistr/test-u16-cpy-alloc.c: New file.
4372
4373         Tests for module 'unistr/u8-cpy-alloc'.
4374         * modules/unistr/u8-cpy-alloc-tests: New file.
4375         * tests/unistr/test-u8-cpy-alloc.c: New file.
4376         * tests/unistr/test-cpy-alloc.h: New file.
4377
4378         Tests for module 'unistr/u32-mbsnlen'.
4379         * modules/unistr/u32-mbsnlen-tests: New file.
4380         * tests/unistr/test-u32-mbsnlen.c: New file.
4381
4382         Tests for module 'unistr/u16-mbsnlen'.
4383         * modules/unistr/u16-mbsnlen-tests: New file.
4384         * tests/unistr/test-u16-mbsnlen.c: New file.
4385
4386         Tests for module 'unistr/u8-mbsnlen'.
4387         * modules/unistr/u8-mbsnlen-tests: New file.
4388         * tests/unistr/test-u8-mbsnlen.c: New file.
4389
4390         Tests for module 'unistr/u32-chr'.
4391         * modules/unistr/u32-chr-tests: New file.
4392         * tests/unistr/test-u32-chr.c: New file.
4393
4394         Tests for module 'unistr/u16-chr'.
4395         * modules/unistr/u16-chr-tests: New file.
4396         * tests/unistr/test-u16-chr.c: New file.
4397
4398         Tests for module 'unistr/u8-chr'.
4399         * modules/unistr/u8-chr-tests: New file.
4400         * tests/unistr/test-u8-chr.c: New file.
4401         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
4402
4403         Tests for module 'unistr/u32-cmp2'.
4404         * modules/unistr/u32-cmp2-tests: New file.
4405         * tests/unistr/test-u32-cmp2.c: New file.
4406
4407         Tests for module 'unistr/u16-cmp2'.
4408         * modules/unistr/u16-cmp2-tests: New file.
4409         * tests/unistr/test-u16-cmp2.c: New file.
4410
4411         Tests for module 'unistr/u8-cmp2'.
4412         * modules/unistr/u8-cmp2-tests: New file.
4413         * tests/unistr/test-u8-cmp2.c: New file.
4414         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
4415
4416         Tests for module 'unistr/u32-cmp'.
4417         * modules/unistr/u32-cmp-tests: New file.
4418         * tests/unistr/test-u32-cmp.c: New file.
4419
4420         Tests for module 'unistr/u16-cmp'.
4421         * modules/unistr/u16-cmp-tests: New file.
4422         * tests/unistr/test-u16-cmp.c: New file.
4423
4424         Tests for module 'unistr/u8-cmp'.
4425         * modules/unistr/u8-cmp-tests: New file.
4426         * tests/unistr/test-u8-cmp.c: New file.
4427         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
4428
4429         Tests for module 'unistr/u32-set'.
4430         * modules/unistr/u32-set-tests: New file.
4431         * tests/unistr/test-u32-set.c: New file.
4432
4433         Tests for module 'unistr/u16-set'.
4434         * modules/unistr/u16-set-tests: New file.
4435         * tests/unistr/test-u16-set.c: New file.
4436
4437         Tests for module 'unistr/u8-set'.
4438         * modules/unistr/u8-set-tests: New file.
4439         * tests/unistr/test-u8-set.c: New file.
4440         * tests/unistr/test-set.h: New file.
4441
4442         Tests for module 'unistr/u32-move'.
4443         * modules/unistr/u32-move-tests: New file.
4444         * tests/unistr/test-u32-move.c: New file.
4445
4446         Tests for module 'unistr/u16-move'.
4447         * modules/unistr/u16-move-tests: New file.
4448         * tests/unistr/test-u16-move.c: New file.
4449
4450         Tests for module 'unistr/u8-move'.
4451         * modules/unistr/u8-move-tests: New file.
4452         * tests/unistr/test-u8-move.c: New file.
4453         * tests/unistr/test-move.h: New file.
4454
4455         Tests for module 'unistr/u32-cpy'.
4456         * modules/unistr/u32-cpy-tests: New file.
4457         * tests/unistr/test-u32-cpy.c: New file.
4458
4459         Tests for module 'unistr/u16-cpy'.
4460         * modules/unistr/u16-cpy-tests: New file.
4461         * tests/unistr/test-u16-cpy.c: New file.
4462
4463         Tests for module 'unistr/u8-cpy'.
4464         * modules/unistr/u8-cpy-tests: New file.
4465         * tests/unistr/test-u8-cpy.c: New file.
4466         * tests/unistr/test-cpy.h: New file.
4467
4468 2010-01-09  Bruno Haible  <bruno@clisp.org>
4469
4470         Tests for module 'unistr/u32-uctomb'.
4471         * modules/unistr/u32-uctomb-tests: New file.
4472         * tests/unistr/test-u32-uctomb.c: New file.
4473
4474         Tests for module 'unistr/u16-uctomb'.
4475         * modules/unistr/u16-uctomb-tests: New file.
4476         * tests/unistr/test-u16-uctomb.c: New file.
4477
4478         Tests for module 'unistr/u8-uctomb'.
4479         * modules/unistr/u8-uctomb-tests: New file.
4480         * tests/unistr/test-u8-uctomb.c: New file.
4481
4482         Tests for module 'unistr/u32-mbtoucr'.
4483         * modules/unistr/u32-mbtoucr-tests: New file.
4484         * tests/unistr/test-u32-mbtoucr.c: New file.
4485
4486         Tests for module 'unistr/u16-mbtoucr'.
4487         * modules/unistr/u16-mbtoucr-tests: New file.
4488         * tests/unistr/test-u16-mbtoucr.c: New file.
4489
4490         Tests for module 'unistr/u8-mbtoucr'.
4491         * modules/unistr/u8-mbtoucr-tests: New file.
4492         * tests/unistr/test-u8-mbtoucr.c: New file.
4493
4494         Tests for module 'unistr/u32-mbtouc'.
4495         * modules/unistr/u32-mbtouc-tests: New file.
4496         * tests/unistr/test-u32-mbtouc.c: New file.
4497
4498         Tests for module 'unistr/u16-mbtouc'.
4499         * modules/unistr/u16-mbtouc-tests: New file.
4500         * tests/unistr/test-u16-mbtouc.c: New file.
4501
4502         Tests for module 'unistr/u8-mbtouc'.
4503         * modules/unistr/u8-mbtouc-tests: New file.
4504         * tests/unistr/test-u8-mbtouc.c: New file.
4505
4506         Tests for module 'unistr/u32-mbtouc-unsafe'.
4507         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
4508         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
4509         * tests/unistr/test-u32-mbtouc.h: New file.
4510
4511         Tests for module 'unistr/u16-mbtouc-unsafe'.
4512         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
4513         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
4514         * tests/unistr/test-u16-mbtouc.h: New file.
4515
4516         Tests for module 'unistr/u8-mbtouc-unsafe'.
4517         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
4518         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
4519         * tests/unistr/test-u8-mbtouc.h: New file.
4520
4521         Tests for module 'unistr/u32-mblen'.
4522         * modules/unistr/u32-mblen-tests: New file.
4523         * tests/unistr/test-u32-mblen.c: New file.
4524
4525         Tests for module 'unistr/u16-mblen'.
4526         * modules/unistr/u16-mblen-tests: New file.
4527         * tests/unistr/test-u16-mblen.c: New file.
4528
4529         Tests for module 'unistr/u8-mblen'.
4530         * modules/unistr/u8-mblen-tests: New file.
4531         * tests/unistr/test-u8-mblen.c: New file.
4532
4533         Tests for module 'unistr/u32-to-u16'.
4534         * modules/unistr/u32-to-u16-tests: New file.
4535         * tests/unistr/test-u32-to-u16.c: New file.
4536
4537         Tests for module 'unistr/u32-to-u8'.
4538         * modules/unistr/u32-to-u8-tests: New file.
4539         * tests/unistr/test-u32-to-u8.c: New file.
4540
4541         Tests for module 'unistr/u16-to-u32'.
4542         * modules/unistr/u16-to-u32-tests: New file.
4543         * tests/unistr/test-u16-to-u32.c: New file.
4544
4545         Tests for module 'unistr/u16-to-u8'.
4546         * modules/unistr/u16-to-u8-tests: New file.
4547         * tests/unistr/test-u16-to-u8.c: New file.
4548
4549         Tests for module 'unistr/u8-to-u32'.
4550         * modules/unistr/u8-to-u32-tests: New file.
4551         * tests/unistr/test-u8-to-u32.c: New file.
4552
4553         Tests for module 'unistr/u8-to-u16'.
4554         * modules/unistr/u8-to-u16-tests: New file.
4555         * tests/unistr/test-u8-to-u16.c: New file.
4556
4557         Tests for module 'unistr/u32-check'.
4558         * modules/unistr/u32-check-tests: New file.
4559         * tests/unistr/test-u32-check.c: New file.
4560
4561         Tests for module 'unistr/u16-check'.
4562         * modules/unistr/u16-check-tests: New file.
4563         * tests/unistr/test-u16-check.c: New file.
4564
4565         Tests for module 'unistr/u8-check'.
4566         * modules/unistr/u8-check-tests: New file.
4567         * tests/unistr/test-u8-check.c: New file.
4568
4569         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
4570         (category_equals): New function.
4571         (main): Add more tests.
4572         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
4573
4574         * tests/unictype/test-bidi_byname.c (main): Add more tests.
4575
4576 2010-01-10  Bruno Haible  <bruno@clisp.org>
4577
4578         unistr/u*-strcoll: Try harder to distinguish different strings.
4579         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
4580         compare s1 and s2 to see if they are different.
4581
4582 2010-01-10  Bruno Haible  <bruno@clisp.org>
4583
4584         unistr/u*-stpncpy: Fix the return value.
4585         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
4586         description of the return value consistent with stpncpy in glibc.
4587         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
4588         written non-NUL unit.
4589
4590 2010-01-10  Bruno Haible  <bruno@clisp.org>
4591
4592         unistr/u*-next: Add missing dependencies.
4593         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
4594         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
4595         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
4596
4597 2010-01-10  Bruno Haible  <bruno@clisp.org>
4598
4599         unistr/u8-mbsnlen: Fix return value for incomplete character.
4600         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
4601         u8_mblen.
4602         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
4603         Remove unistr/u8-mblen.
4604         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
4605         u16_mblen.
4606         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
4607         Remove unistr/u16-mblen.
4608
4609 2010-01-10  Bruno Haible  <bruno@clisp.org>
4610
4611         wchar: Fix compilation error when <wchar.h> is used from coreutils.
4612         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
4613         Reported by Brian Gough <bjg@gnu.org> and
4614         Chris Clayton <chris2553@googlemail.com> via
4615         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
4616
4617 2010-01-09  Bruno Haible  <bruno@clisp.org>
4618
4619         unistr/u16-to-u32: Reject invalid input.
4620         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
4621         u16_mbtouc.
4622         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
4623         Remove unistr/u16-mbtouc.
4624
4625         unistr/u16-to-u8: Reject invalid input.
4626         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
4627         u16_mbtouc.
4628         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
4629         Remove unistr/u16-mbtouc.
4630
4631         unistr/u8-to-u32: Reject invalid input.
4632         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
4633         u8_mbtouc.
4634         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
4635         Remove unistr/u8-mbtouc.
4636
4637         unistr/u8-to-u16: Reject invalid input.
4638         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
4639         u8_mbtouc.
4640         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
4641         Remove unistr/u8-mbtouc.
4642
4643 2010-01-09  Bruno Haible  <bruno@clisp.org>
4644
4645         Tests for module 'getlogin'.
4646         * modules/getlogin-tests: New file.
4647         * tests/test-getlogin.c: New file.
4648
4649         New module 'getlogin'.
4650         * lib/unistd.in.h (getlogin): New declaration.
4651         * lib/getlogin.c: New file.
4652         * m4/getlogin.m4: New file.
4653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
4654         HAVE_GETLOGIN.
4655         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
4656         HAVE_GETLOGIN.
4657         * modules/getlogin: New file.
4658         * doc/posix-functions/getlogin.texi: Mention the new module.
4659         Reported by John W. Eaton <jwe@gnu.org>.
4660
4661 2010-01-09  Bruno Haible  <bruno@clisp.org>
4662
4663         getlogin_r: Support for native Windows.
4664         * lib/getlogin_r.c: Include <windows.h>
4665         (getlogin_r): Implement for native Windows.
4666         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
4667         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
4668         via John W. Eaton <jwe@gnu.org>.
4669
4670 2010-01-09  Bruno Haible  <bruno@clisp.org>
4671
4672         getlogin_r: Small fixes.
4673         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
4674         succeeds.
4675         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
4676         before testing whether getlogin_r is declared. No need to set
4677         HAVE_DECL_GETLOGIN_R to 1.
4678         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
4679
4680 2010-01-09  Bruno Haible  <bruno@clisp.org>
4681
4682         * lib/unistd.in.h (getlogin_r): Add comment.
4683
4684 2010-01-09  Bruno Haible  <bruno@clisp.org>
4685
4686         Tests for module 'getlogin_r'.
4687         * modules/getlogin_r-tests: New file.
4688         * tests/test-getlogin_r.c: New file.
4689
4690 2010-01-09  Jim Meyering  <meyering@redhat.com>
4691
4692         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
4693         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
4694         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
4695
4696 2010-01-08  Simon Josefsson  <simon@josefsson.org>
4697
4698         * lib/dup2.c (rpl_dup2): Improve comment.
4699
4700 2010-01-08  Eric Blake  <ebb9@byu.net>
4701
4702         maint.mk: allow packages to add makefile @@ exceptions
4703         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
4704         (sc_makefile_check): Rename...
4705         (sc_makefile_at_at_check): ...to this, and use hook.
4706
4707         dup2: work around mingw bug
4708         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
4709         Reported by Simon Josefsson.
4710
4711 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
4712
4713         glob: Fix C++ compilation.
4714         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
4715         C++.
4716
4717 2010-01-07  Bruno Haible  <bruno@clisp.org>
4718
4719         Fix indentation of wctype.in.h, broken since 2007-01-06.
4720         * lib/wctype.in.h: Fix indentation of preprocessor directives.
4721
4722 2010-01-07  Bruno Haible  <bruno@clisp.org>
4723
4724         mbslen: Avoid collision with system function.
4725         * lib/string.in.h [MirBSD]: Include <wchar.h>.
4726         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
4727         * m4/mbslen.m4: New file.
4728         * modules/mbslen (Files): Add it.
4729         (configure.ac): Invoke gl_MBSLEN.
4730         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
4731         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
4732         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
4733         via Ian Beckwith <ianb@erislabs.net>.
4734
4735 2010-01-07  Bruno Haible  <bruno@clisp.org>
4736
4737         dirent: Document the last fix.
4738         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
4739
4740 2010-01-07  Bruno Haible  <bruno@clisp.org>
4741
4742         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
4743         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
4744         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
4745         va_list are defined.
4746         * doc/posix-headers/stdio.texi: Document the bug of missing types.
4747         Reported by Eric Blake.
4748
4749 2010-01-07  Bruno Haible  <bruno@clisp.org>
4750
4751         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
4752         * modules/xlist (Depends-on): Add 'list',
4753         * modules/xoset (Depends-on): Add 'oset'.
4754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4755
4756 2010-01-07  Bruno Haible  <bruno@clisp.org>
4757
4758         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
4759         * doc/posix-functions/strncasecmp.texi: Likewise.
4760
4761 2010-01-07  Bruno Haible  <bruno@clisp.org>
4762
4763         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
4764
4765 2010-01-07  John W. Eaton  <jwe@octave.org>
4766
4767         wctype: allow C++ use
4768         * lib/wctype.in.h: Add extern "C" block for C++.
4769
4770 2010-01-06  Eric Blake  <ebb9@byu.net>
4771
4772         maint.mk: detect incorrect GFDL usage
4773         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
4774
4775 2010-01-06  Jim Meyering  <meyering@redhat.com>
4776         and Eric Blake  <ebb9@byu.net>
4777
4778         maint.mk: ignore multi-line copyright in NEWS
4779         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
4780
4781 2010-01-06  Eric Blake  <ebb9@byu.net>
4782
4783         select: add missing dependency
4784         * modules/select-tests (Depends-on): Move sockets dependency...
4785         * modules/select (Depends-on): ...here.
4786         Reported by Ian Beckwith.
4787
4788         doc: regenerate INSTALL
4789         * doc/INSTALL: Reflect recent autoconf update.
4790         * doc/INSTALL.ISO: Likewise.
4791         * doc/INSTALL.UTF-8: Likewise.
4792
4793         pread: fix compilation on glibc
4794         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
4795         Reported by Ralf Wildenhues.
4796
4797         dirent: fix test failure
4798         * lib/dirent.in.h (includes): Guarantee ino_t.
4799         Reported by Ralf Wildenhues.
4800
4801 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
4802
4803         linkat, renameat: avoid bad free
4804         * lib/at-func2.c (at_func2): Fix typo.
4805         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
4806
4807 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4808
4809         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
4810         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
4811         to avoid failure of symlink test later.
4812
4813 2010-01-06  Eric Blake  <ebb9@byu.net>
4814
4815         stdio, unistd: guarantee ssize_t
4816         * lib/unistd.in.h (includes): Ensure that types required by POSIX
4817         2008 are exposed when needed.
4818         * lib/stdio.in.h (includes): Likewise.
4819         Reported by Ralf Wildenhues.
4820
4821 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
4822
4823         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
4824         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
4825         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
4826
4827 2010-01-06  Jim Meyering  <meyering@redhat.com>
4828
4829         readtokens: this module *does* require xalloc.h
4830         It uses only functions that were omitted by the old syntax-check rule.
4831         * lib/readtokens.c: Include "xalloc.h" once again.
4832         * modules/readtokens (Depends-on): Add xalloc.
4833         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
4834
4835 2010-01-05  Eric Blake  <ebb9@byu.net>
4836
4837         maint: support 'make announcement' from a VPATH build
4838         * top/maint.mk (announcement): Look for correct NEWS file.
4839
4840 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
4841
4842         utimens (fdutimens): ignore a negative FD, per contract
4843         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
4844         when we have a valid file descriptor.  Otherwise, using a brand
4845         new glibc (with just-patched futimens that now fails with EBADF)
4846         would cause this function to fail with ENOSYS.
4847         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
4848         See also http://bugzilla.redhat.com/552320.
4849
4850 2010-01-05  Eric Blake  <ebb9@byu.net>
4851
4852         strcase: document what it provides
4853         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
4854         gnulib module.
4855         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
4856         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
4857
4858 2010-01-05  Jim Meyering  <meyering@redhat.com>
4859
4860         maint: remove useless inclusions of "xalloc.h"
4861         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
4862         * lib/readtokens.c: Likewise.
4863         * lib/same.c: Likewise.
4864         * modules/getloadavg (Depends-on): Remove xalloc.
4865         * modules/readtokens: Likewise.
4866         * modules/same: Likewise.
4867
4868         maint.mk: include 4 more function names in alloca.h-checking regexp
4869         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
4870         regexp.  Before, we would give a false-positive (saying alloca.h
4871         is included unnecessarily) when the only uses involved omitted symbols.
4872
4873         xalloc.h: use consistent formatting
4874         * lib/xalloc.h: Move declarations to start in the first column.
4875
4876 2010-01-05  Eric Blake  <ebb9@byu.net>
4877
4878         mkdir: avoid xalloc
4879         * lib/mkdir.c (includes): Drop unused header.
4880         Reported by John W. Eaton.
4881
4882 2010-01-04  Jim Meyering  <meyering@redhat.com>
4883
4884         nl_langinfo: avoid configure-time syntax error
4885         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
4886         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
4887         the empty string.  Don't let that provoke a shell syntax error.
4888
4889         regcomp, regexec, fnmatch: avoid array bounds read error
4890         * lib/regcomp.c (build_equiv_class): From glibc:
4891         Use only the low 24 bits of a findidx return value as an index
4892         into the weights array.  Patch by Ulrich Drepper:
4893         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
4894         * lib/regexec.c (check_node_accept_bytes): Likewise.
4895         * lib/fnmatch_loop.c (FCT): Likewise.
4896
4897         regcomp: skip collseq lookup when there are no rules
4898         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
4899         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
4900
4901         regcomp: recognize ill-formed { } expressions
4902         * lib/regcomp.c (parse_dup_op): From glibc:
4903         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
4904
4905         regcomp: fix typo in comment
4906         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
4907         s/satisfy/satisfies/.
4908
4909         regcomp: sync from glibc: remove dead store
4910         * lib/regcomp.c (duplicate_node_closure): Remove useless
4911         search_duplicated_node call and dead store.
4912
4913         regcomp: sync from glibc; always use nl_langinfo
4914         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
4915         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
4916         * modules/regex (Depends-on): Add nl_langinfo.
4917
4918 2010-01-04  Eric Blake  <ebb9@byu.net>
4919
4920         fdopendir: fix configure test
4921         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
4922
4923 2010-01-01  Bruno Haible  <bruno@clisp.org>
4924
4925         wchar: Remove unused configure check.
4926         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
4927
4928 2010-01-01  Eric Blake  <ebb9@byu.net>
4929
4930         headers: make check of system header explicit
4931         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
4932         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
4933         ourselves.
4934         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4935         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4936         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
4937         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
4938         internals.
4939         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
4940         missing.
4941         Suggested by Bruno Haible.
4942
4943 2010-01-01  Jim Meyering  <meyering@redhat.com>
4944
4945         ChangeLog: tweak to eliminate unnecessary copyright line
4946         * ChangeLog: Remove a copyright line that was mistakenly updated
4947         by today's update-copyright run.  Reported by Eric Blake.
4948
4949         test-update-copyright: don't let envvar setting cause test failure
4950         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
4951
4952 2010-01-01  Bruno Haible  <bruno@clisp.org>
4953
4954         localename: Avoid gcc warning.
4955         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
4956         function if it is not used.
4957
4958 2010-01-01  Jim Meyering  <meyering@redhat.com>
4959
4960         update nearly all FSF copyright year lists to include 2010
4961         Use the same procedure as for 2009, outlined in
4962         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
4963
4964         version-etc: set COPYRIGHT_YEAR to 2010
4965         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
4966
4967 2009-12-31  Eric Blake  <ebb9@byu.net>
4968
4969         doc: correct availability of cygwin 1.5.x getopt
4970         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
4971         variables.
4972         * doc/posix-functions/opterr.texi (opterr): Likewise.
4973         * doc/posix-functions/optind.texi (optind): Likewise.
4974         * doc/posix-functions/optopt.texi (optopt): Likewise.
4975         * doc/posix-functions/tzname.texi (tzname): Likewise.
4976
4977         openat: update maintainer
4978         * modules/openat (Maintainer): Add myself.
4979
4980         utimens: avoid shadowing warning
4981         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
4982         buffers into one, to avoid shadowing, as well as avoiding a
4983         redundant stat.
4984         Reported by Jim Meyering.
4985
4986         test-dup2: avoid compiler warning
4987         * tests/test-dup2.c (is_inheritable): Only define if used.
4988
4989 2010-01-01  Bruno Haible  <bruno@clisp.org>
4990
4991         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
4992         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
4993         defined, use wctomb instead of wcrtomb.
4994
4995 2010-01-01  Bruno Haible  <bruno@clisp.org>
4996
4997         iconv: Reject native Solaris iconv.
4998         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
4999         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
5000
5001 2009-12-31  Bruno Haible  <bruno@clisp.org>
5002
5003         * tests/test-signal.c (main): Remove test of 'SIG'.
5004
5005 2009-12-31  Bruno Haible  <bruno@clisp.org>
5006
5007         spawn: Fix incomplete fix.
5008         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5009         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5010         warnings for GNULIB_POSIXCHECK again.
5011         Reported by Eric Blake.
5012
5013 2009-12-31  Bruno Haible  <bruno@clisp.org>
5014
5015         Avoid namespace pollution on glibc systems.
5016         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
5017         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
5018         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
5019         glibc systems.
5020
5021 2009-12-31  Bruno Haible  <bruno@clisp.org>
5022
5023         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
5024         (gl_REPLACE_WCHAR_H): Turn into a no-op.
5025         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
5026         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
5027         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
5028         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
5029         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
5030
5031 2009-12-31  Bruno Haible  <bruno@clisp.org>
5032
5033         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5034         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
5035         afterwards.
5036
5037 2009-12-31  Bruno Haible  <bruno@clisp.org>
5038
5039         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
5040         SYS_UTSNAME_H.
5041
5042 2009-12-31  Bruno Haible  <bruno@clisp.org>
5043
5044         spawn: Fix misapplied patch.
5045         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
5046         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
5047         warnings for GNULIB_POSIXCHECK.
5048
5049 2009-12-31  Bruno Haible  <bruno@clisp.org>
5050
5051         times: Update after sys_times changed.
5052         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
5053         * modules/times (Files): Add it.
5054         (configure.ac): Invoke gl_FUNC_TIMES.
5055
5056 2009-12-31  Bruno Haible  <bruno@clisp.org>
5057
5058         Use AC_C_INLINE where necessary.
5059         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
5060         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
5061         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
5062         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
5063         * m4/mbfile.m4 (gl_MBFILE): Likewise.
5064         * m4/mbiter.m4 (gl_MBITER): Likewise.
5065         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5066         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5067         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
5068         * modules/u64 (configure.ac): Likewise.
5069
5070 2009-12-31  Bruno Haible  <bruno@clisp.org>
5071
5072         Use AC_C_INLINE instead of module 'inline' where possible.
5073         * modules/inline (Description): Clarify purpose.
5074         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
5075         * modules/count-one-bits (Depends-on): Remove inline.
5076         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
5077         * modules/openat (Depends-on): Remove inline.
5078         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
5079         instead of depending on module 'inline'.
5080         * modules/filevercmp (Depends-on, configure.ac): Likewise.
5081         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
5082         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
5083         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
5084         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
5085         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
5086         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
5087         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
5088         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
5089         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
5090         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
5091         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
5092         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
5093         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
5094         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
5095         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
5096         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
5097         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
5098         Likewise.
5099         * modules/unictype/property-ascii-hex-digit (Depends-on,
5100         configure.ac): Likewise.
5101         * modules/unictype/property-bidi-arabic-digit (Depends-on,
5102         configure.ac): Likewise.
5103         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
5104         configure.ac): Likewise.
5105         * modules/unictype/property-bidi-block-separator (Depends-on,
5106         configure.ac): Likewise.
5107         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
5108         configure.ac): Likewise.
5109         * modules/unictype/property-bidi-common-separator (Depends-on,
5110         configure.ac): Likewise.
5111         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
5112         Likewise.
5113         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
5114         configure.ac): Likewise.
5115         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
5116         configure.ac): Likewise.
5117         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
5118         configure.ac): Likewise.
5119         * modules/unictype/property-bidi-european-digit (Depends-on,
5120         configure.ac): Likewise.
5121         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
5122         configure.ac): Likewise.
5123         * modules/unictype/property-bidi-left-to-right (Depends-on,
5124         configure.ac): Likewise.
5125         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
5126         configure.ac): Likewise.
5127         * modules/unictype/property-bidi-other-neutral (Depends-on,
5128         configure.ac): Likewise.
5129         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
5130         Likewise.
5131         * modules/unictype/property-bidi-segment-separator (Depends-on,
5132         configure.ac): Likewise.
5133         * modules/unictype/property-bidi-whitespace (Depends-on,
5134         configure.ac): Likewise.
5135         * modules/unictype/property-combining (Depends-on, configure.ac):
5136         Likewise.
5137         * modules/unictype/property-composite (Depends-on, configure.ac):
5138         Likewise.
5139         * modules/unictype/property-currency-symbol (Depends-on,
5140         configure.ac): Likewise.
5141         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
5142         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
5143         Likewise.
5144         * modules/unictype/property-default-ignorable-code-point (Depends-on,
5145         configure.ac): Likewise.
5146         * modules/unictype/property-deprecated (Depends-on, configure.ac):
5147         Likewise.
5148         * modules/unictype/property-diacritic (Depends-on, configure.ac):
5149         Likewise.
5150         * modules/unictype/property-extender (Depends-on, configure.ac):
5151         Likewise.
5152         * modules/unictype/property-format-control (Depends-on, configure.ac):
5153         Likewise.
5154         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
5155         Likewise.
5156         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
5157         Likewise.
5158         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
5159         Likewise.
5160         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
5161         Likewise.
5162         * modules/unictype/property-hyphen (Depends-on, configure.ac):
5163         Likewise.
5164         * modules/unictype/property-id-continue (Depends-on, configure.ac):
5165         Likewise.
5166         * modules/unictype/property-id-start (Depends-on, configure.ac):
5167         Likewise.
5168         * modules/unictype/property-ideographic (Depends-on, configure.ac):
5169         Likewise.
5170         * modules/unictype/property-ids-binary-operator (Depends-on,
5171         configure.ac): Likewise.
5172         * modules/unictype/property-ids-trinary-operator (Depends-on,
5173         configure.ac): Likewise.
5174         * modules/unictype/property-ignorable-control (Depends-on,
5175         configure.ac): Likewise.
5176         * modules/unictype/property-iso-control (Depends-on, configure.ac):
5177         Likewise.
5178         * modules/unictype/property-join-control (Depends-on, configure.ac):
5179         Likewise.
5180         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
5181         Likewise.
5182         * modules/unictype/property-line-separator (Depends-on, configure.ac):
5183         Likewise.
5184         * modules/unictype/property-logical-order-exception (Depends-on,
5185         configure.ac): Likewise.
5186         * modules/unictype/property-lowercase (Depends-on, configure.ac):
5187         Likewise.
5188         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
5189         * modules/unictype/property-non-break (Depends-on, configure.ac):
5190         Likewise.
5191         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
5192         Likewise.
5193         * modules/unictype/property-numeric (Depends-on, configure.ac):
5194         Likewise.
5195         * modules/unictype/property-other-alphabetic (Depends-on,
5196         configure.ac): Likewise.
5197         * modules/unictype/property-other-default-ignorable-code-point
5198         (Depends-on, configure.ac): Likewise.
5199         * modules/unictype/property-other-grapheme-extend (Depends-on,
5200         configure.ac): Likewise.
5201         * modules/unictype/property-other-id-continue (Depends-on,
5202         configure.ac): Likewise.
5203         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
5204         Likewise.
5205         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
5206         Likewise.
5207         * modules/unictype/property-other-math (Depends-on, configure.ac):
5208         Likewise.
5209         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
5210         Likewise.
5211         * modules/unictype/property-paired-punctuation (Depends-on,
5212         configure.ac): Likewise.
5213         * modules/unictype/property-paragraph-separator (Depends-on,
5214         configure.ac): Likewise.
5215         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
5216         Likewise.
5217         * modules/unictype/property-pattern-white-space (Depends-on,
5218         configure.ac): Likewise.
5219         * modules/unictype/property-private-use (Depends-on, configure.ac):
5220         Likewise.
5221         * modules/unictype/property-punctuation (Depends-on, configure.ac):
5222         Likewise.
5223         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
5224         Likewise.
5225         * modules/unictype/property-radical (Depends-on, configure.ac):
5226         Likewise.
5227         * modules/unictype/property-sentence-terminal (Depends-on,
5228         configure.ac): Likewise.
5229         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
5230         Likewise.
5231         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
5232         * modules/unictype/property-terminal-punctuation (Depends-on,
5233         configure.ac): Likewise.
5234         * modules/unictype/property-titlecase (Depends-on, configure.ac):
5235         Likewise.
5236         * modules/unictype/property-unassigned-code-value (Depends-on,
5237         configure.ac): Likewise.
5238         * modules/unictype/property-unified-ideograph (Depends-on,
5239         configure.ac): Likewise.
5240         * modules/unictype/property-uppercase (Depends-on, configure.ac):
5241         Likewise.
5242         * modules/unictype/property-variation-selector (Depends-on,
5243         configure.ac): Likewise.
5244         * modules/unictype/property-white-space (Depends-on, configure.ac):
5245         Likewise.
5246         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
5247         Likewise.
5248         * modules/unictype/property-xid-start (Depends-on, configure.ac):
5249         Likewise.
5250         * modules/unictype/property-zero-width (Depends-on, configure.ac):
5251         Likewise.
5252         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
5253         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
5254         Likewise.
5255
5256 2009-12-31  Bruno Haible  <bruno@clisp.org>
5257
5258         Remove unnecessary AC_C_INLINE invocation.
5259         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
5260         since 2009-08-21.
5261
5262 2009-12-31  Jim Meyering  <meyering@redhat.com>
5263
5264         maint.mk: don't require explicit gpg_key_ID in cfg.mk
5265         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
5266         With this change, we can all remove the gpg_key_ID = ... definition
5267         from our respective cfg.mk files.
5268
5269         maint.mk: create announcement template in ~/, not in /tmp
5270         * top/maint.mk (emit_upload_commands): Adjust.
5271         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
5272         Remove temporary file, .ci-msg.
5273
5274 2009-12-31  Eric Blake  <ebb9@byu.net>
5275
5276         link-warning: always build headers with link warnings
5277         * modules/arpa_inet (Makefile.am): Always build replacement
5278         header.
5279         * modules/ctype (Makefile.am): Likewise.
5280         * modules/dirent (Makefile.am): Likewise.
5281         * modules/inttypes (Makefile.am): Likewise.
5282         * modules/langinfo (Makefile.am): Likewise.
5283         * modules/locale (Makefile.am): Likewise.
5284         * modules/spawn (Makefile.am): Likewise.
5285         * modules/sys_file (Makefile.am): Likewise.
5286         * modules/sys_ioctl (Makefile.am): Likewise.
5287         * modules/sys_select (Makefile.am): Likewise.
5288         * modules/sys_socket (Makefile.am): Likewise.
5289         * modules/sys_times (Makefile.am): Likewise.
5290         * modules/sys_utsname (Makefile.am): Likewise.
5291         * modules/sys_wait (Makefile.am): Likewise.
5292         * modules/wchar (Makefile.am): Likewise.
5293         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
5294         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
5295         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
5296         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
5297         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
5298         Likewise.
5299         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5300         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5301         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
5302         Likewise.
5303         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
5304         Likewise.
5305         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5306         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
5307         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
5308         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5309         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5310         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5311         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5312         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
5313         (gl_WCHAR_H_DEFAULTS): Likewise.
5314
5315 2009-12-31  Eric Blake  <ebb9@byu.net>
5316
5317         signal, spawn: use link warnings
5318         * lib/signal.in.h (sigset_t): Make unconditional.
5319         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
5320         (sigpending, sigprocmask, sigaction): Add link warnings.
5321         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
5322         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
5323         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
5324         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
5325         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
5326         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
5327         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
5328         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
5329         (posix_spawn_file_actions_destroy)
5330         (posix_spawn_file_actions_addopen)
5331         (posix_spawn_file_actions_addclose)
5332         (posix_spawn_file_actions_adddup2): Likewise.
5333         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
5334         * tests/test-signal.c (main): Enhance test.
5335
5336         spawn: improve wrapper support
5337         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
5338         (gl_SPAWN_H_DEFAULTS): New defaults.
5339         * modules/spawn (Makefile.am): Substitute them.
5340         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
5341         Only declare if missing or broken.
5342
5343         sys_times, sys_utsname: use include_next
5344         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
5345         header.
5346         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
5347         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5348         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5349         * modules/sys_times (Depends-on): Add include_next.
5350         (Makefile.am): Substitute additional values.
5351         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5352         * lib/sys_times.in.h (includes): Include native header, if
5353         available.
5354         * lib/sys_utsname.in.h (includes): Likewise.
5355         * tests/test-sys_times.c (main): Enhance test.
5356
5357         fdutimensat: revert prior patch
5358         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
5359         utimens.h.
5360         Reported by Bruno Haible.
5361
5362 2009-12-30  Eric Blake  <ebb9@byu.net>
5363
5364         sys_wait: drop link-warning dependency
5365         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
5366         link-warning efforts.
5367         * lib/sys_wait.in.h: Likewise.
5368
5369         fdutimensat: remove bogus dependency
5370         * modules/fdutimensat (Depends-on): Drop inline.
5371
5372         unistd: fix typo
5373         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
5374
5375 2009-12-30  Bruno Haible  <bruno@clisp.org>
5376
5377         Fix compilation error with Solaris cc.
5378         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
5379         * lib/unicase/u16-is-invariant.c: Likewise.
5380         * lib/unicase/u32-is-invariant.c: Likewise.
5381         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
5382
5383 2009-12-30  Bruno Haible  <bruno@clisp.org>
5384
5385         Fix test crash.
5386         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
5387         locales.
5388         Reported by Simon Josefsson <simon@josefsson.org>.
5389
5390 2009-12-30  Bruno Haible  <bruno@clisp.org>
5391
5392         Fix compilation error on most platforms.
5393         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5394         Reported by Simon Josefsson <simon@josefsson.org>
5395         and Nelson H. F. Beebe <beebe@math.utah.edu>.
5396
5397 2009-12-30  Eric Blake  <ebb9@byu.net>
5398
5399         futimens, utimensat: work around ntfs-3g bug
5400         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
5401         a ctime bug is present, and expand workaround to cover ntfs-3g.
5402         * lib/utimens.c (fdutimens, lutimens): Likewise.
5403         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
5404         (validate_timespec): Adjust return value.
5405         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
5406         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5407         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
5408
5409 2009-12-29  Eric Blake  <ebb9@byu.net>
5410
5411         link-warning: make usage consistent
5412         * modules/ctype (Depends-on): Add link-warning.
5413         (Makefile.am): Update rules accordingly.
5414         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5415         * modules/locale (Depends-on, Makefile.am): Likewise.
5416         * modules/sys_file (Makefile.am): Likewise.
5417         * modules/getopt-posix (Makefile.am): Delete unused link warning
5418         efforts.
5419         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
5420         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
5421         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
5422         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
5423
5424         stdio: remove unused variables
5425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
5426         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5427         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5428
5429         tests: test more substitute headers
5430         * modules/ctype-tests: New file.
5431         * modules/dirent-tests: Likewise.
5432         * modules/spawn-tests: Likewise.
5433         * modules/sys_file-tests: Likewise.
5434         * modules/sys_ioctl-tests: Likewise.
5435         * modules/sys_wait-tests: Likewise.
5436         * tests/test-ctype.c: Likewise.
5437         * tests/test-dirent.c: Likewise.
5438         * tests/test-spawn.c: Likewise.
5439         * tests/test-sys_file.c: Likewise.
5440         * tests/test-sys_ioctl.c: Likewise.
5441         * tests/test-sys_wait.c: Likewise.
5442         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
5443         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
5444         whether or not flock is in use.
5445
5446         tests: remove License section from module
5447         * modules/arpa_inet-tests: Remove unneeded section.
5448         * modules/byteswap-tests: Likewise.
5449         * modules/ceilf-tests: Likewise.
5450         * modules/ceill-tests: Likewise.
5451         * modules/crypto/des-tests: Likewise.
5452         * modules/crypto/gc-arcfour-tests: Likewise.
5453         * modules/crypto/gc-arctwo-tests: Likewise.
5454         * modules/crypto/gc-des-tests: Likewise.
5455         * modules/crypto/gc-hmac-md5-tests: Likewise.
5456         * modules/crypto/gc-hmac-sha1-tests: Likewise.
5457         * modules/crypto/gc-md2-tests: Likewise.
5458         * modules/crypto/gc-md4-tests: Likewise.
5459         * modules/crypto/gc-md5-tests: Likewise.
5460         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
5461         * modules/crypto/gc-rijndael-tests: Likewise.
5462         * modules/crypto/gc-sha1-tests: Likewise.
5463         * modules/crypto/gc-tests: Likewise.
5464         * modules/crypto/md2-tests: Likewise.
5465         * modules/crypto/md4-tests: Likewise.
5466         * modules/fcntl-h-tests: Likewise.
5467         * modules/floorf-tests: Likewise.
5468         * modules/floorl-tests: Likewise.
5469         * modules/frexp-nolibm-tests: Likewise.
5470         * modules/frexp-tests: Likewise.
5471         * modules/frexpl-nolibm-tests: Likewise.
5472         * modules/frexpl-tests: Likewise.
5473         * modules/getaddrinfo-tests: Likewise.
5474         * modules/inttypes-tests: Likewise.
5475         * modules/isfinite-tests: Likewise.
5476         * modules/isinf-tests: Likewise.
5477         * modules/ldexpl-tests: Likewise.
5478         * modules/locale-tests: Likewise.
5479         * modules/math-tests: Likewise.
5480         * modules/netdb-tests: Likewise.
5481         * modules/netinet_in-tests: Likewise.
5482         * modules/printf-frexp-tests: Likewise.
5483         * modules/printf-frexpl-tests: Likewise.
5484         * modules/priv-set-tests: Likewise.
5485         * modules/random_r-tests: Likewise.
5486         * modules/round-tests: Likewise.
5487         * modules/roundf-tests: Likewise.
5488         * modules/roundl-tests: Likewise.
5489         * modules/search-tests: Likewise.
5490         * modules/select-tests: Likewise.
5491         * modules/signal-tests: Likewise.
5492         * modules/stdbool-tests: Likewise.
5493         * modules/stddef-tests: Likewise.
5494         * modules/stdint-tests: Likewise.
5495         * modules/stdio-tests: Likewise.
5496         * modules/stdlib-tests: Likewise.
5497         * modules/string-tests: Likewise.
5498         * modules/strings-tests: Likewise.
5499         * modules/sys_select-tests: Likewise.
5500         * modules/sys_socket-tests: Likewise.
5501         * modules/sys_stat-tests: Likewise.
5502         * modules/sys_time-tests: Likewise.
5503         * modules/sys_utsname-tests: Likewise.
5504         * modules/sysexits-tests: Likewise.
5505         * modules/time-tests: Likewise.
5506         * modules/trunc-tests: Likewise.
5507         * modules/truncf-tests: Likewise.
5508         * modules/truncl-tests: Likewise.
5509         * modules/tsearch-tests: Likewise.
5510         * modules/unistd-tests: Likewise.
5511         * modules/wchar-tests: Likewise.
5512         * modules/wctype-tests: Likewise.
5513
5514         tests: fix license on several tests
5515         * tests/test-des.c: Update to GPLv3+.
5516         * tests/test-flock.c: Likewise.
5517         * tests/test-fsync.c: Likewise.
5518         * tests/test-futimens.h: Likewise.
5519         * tests/test-gc-arcfour.c: Likewise.
5520         * tests/test-gc-arctwo.c: Likewise.
5521         * tests/test-gc-des.c: Likewise.
5522         * tests/test-gc-hmac-md5.c: Likewise.
5523         * tests/test-gc-hmac-sha1.c: Likewise.
5524         * tests/test-gc-md2.c: Likewise.
5525         * tests/test-gc-md4.c: Likewise.
5526         * tests/test-gc-md5.c: Likewise.
5527         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5528         * tests/test-gc-rijndael.c: Likewise.
5529         * tests/test-gc-sha1.c: Likewise.
5530         * tests/test-gc.c: Likewise.
5531         * tests/test-getcwd.c: Likewise.
5532         * tests/test-link.c: Likewise.
5533         * tests/test-link.h: Likewise.
5534         * tests/test-lutimens.h: Likewise.
5535         * tests/test-md2.c: Likewise.
5536         * tests/test-md4.c: Likewise.
5537         * tests/test-mkdir.h: Likewise.
5538         * tests/test-rename.c: Likewise.
5539         * tests/test-rename.h: Likewise.
5540         * tests/test-safe-alloc.c: Likewise.
5541         * tests/test-utimens-common.h: Likewise.
5542         * tests/test-utimens.h: Likewise.
5543
5544         maint: sync license texts
5545         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
5546         * doc/gpl-3.0.texi: Revert copyright year update.
5547         * doc/lgpl-3.0.texi: Likewise.
5548
5549 2009-12-29  Jim Meyering  <meyering@redhat.com>
5550
5551         update nearly all FSF copyright year lists to include 2009
5552         The files named by the following are exempted:
5553             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
5554               test -f "$dst" && { echo "$dst"; continue; }
5555               test -d "$dst" || continue
5556               echo "$dst"/$(basename "$src")
5557             done > exempt
5558             git ls-files tests/unictype >> exempt
5559         In the remaining files, convert to all-interval notation if
5560         - there is already at least one year interval like 2000-2003
5561         - the file is maintained by me
5562         - the file is in lib/uni*/, where that style already prevails
5563         Otherwise, use update-copyright's default.
5564
5565 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5566         and Eric Blake  <ebb9@byu.net>
5567
5568         tests: don't require debug system() to pass
5569         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
5570         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5571         * tests/test-unlink.h (test_unlink_func): Likewise.
5572         * tests/test-fstatat.c (main): ...into callers.
5573         * tests/test-lstat.c (main): Likewise.
5574         * tests/test-rmdir.c (main): Likewise.
5575         * tests/test-unlink.c (main): Likewise.
5576         * tests/test-unlinkat.c (main): Likewise.
5577         * tests/test-areadlink-with-size.c (main): Don't require a
5578         debug-only system call to pass, aiding cross-testing to mingw.
5579         * tests/test-areadlink.c (main): Likewise.
5580         * tests/test-areadlinkat-with-size.c (main): Likewise.
5581         * tests/test-areadlinkat.c (main): Likewise.
5582         * tests/test-canonicalize-lgpl.c (main): Likewise.
5583         * tests/test-canonicalize.c (main): Likewise.
5584         * tests/test-chown.c (main): Likewise.
5585         * tests/test-fchownat.c (main): Likewise.
5586         * tests/test-lchown.c (main): Likewise.
5587         * tests/test-fdutimensat.c (main): Likewise.
5588         * tests/test-futimens.c (main): Likewise.
5589         * tests/test-link.c (main): Likewise.
5590         * tests/test-linkat.c (main): Likewise.
5591         * tests/test-mkdir.c (main): Likewise.
5592         * tests/test-mkdirat.c (main): Likewise.
5593         * tests/test-mkfifo.c (main): Likewise.
5594         * tests/test-mkfifoat.c (main): Likewise.
5595         * tests/test-mknod.c (main): Likewise.
5596         * tests/test-readlink.c (main): Likewise.
5597         * tests/test-remove.c (main): Likewise.
5598         * tests/test-rename.c (main): Likewise.
5599         * tests/test-renameat.c (main): Likewise.
5600         * tests/test-symlink.c (main): Likewise.
5601         * tests/test-symlinkat.c (main): Likewise.
5602         * tests/test-utimens.c (main): Likewise.
5603         * tests/test-utimensat.c (main): Likewise.
5604
5605 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5606
5607         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
5608         on $(UNUSED_PARAMETER_H) to avoid build failure.
5609
5610 2009-12-28  Jim Meyering  <meyering@redhat.com>
5611
5612         update-copyright: you may specify a max. line length other than 72
5613         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5614
5615         maint: use consistent FSF copyright line syntax
5616         * lib/posixtm.c: Add missing comma in FSF copyright line.
5617         * lib/posixtm.h: Likewise.
5618         * lib/getugroups.c: Add missing ", Inc.".
5619
5620         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
5621         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
5622         FSF copyright line.  Remove trailing blanks.
5623
5624 2009-12-28  Eric Blake  <ebb9@byu.net>
5625
5626         test-dup2: reduce dependencies
5627         * modules/cloexec (Configure.ac): Set witness.
5628         * modules/dup2-tests (Depends-on): Drop cloexec.
5629         * tests/test-dup2.c (main): Skip portion of test if cloexec module
5630         not present.
5631         Suggested by Bruno Haible.
5632
5633 2009-12-26  Bruno Haible  <bruno@clisp.org>
5634
5635         Remove an unneeded dependency.
5636         * modules/fseterr (Depends-on): Remove dup2.
5637
5638 2009-12-26  Eric Blake  <ebb9@byu.net>
5639
5640         tests: use macros.h in more places
5641         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
5642         (ASSERT_STREAM): Provide default of stderr.
5643         * tests/test-dirent-safer.c: Include macros.h, using alternate
5644         stream for assertions.
5645         * tests/test-dup-safer.c: Likewise.
5646         * tests/test-freopen-safer.c: Likewise.
5647         * tests/test-getopt.c: Likewise.
5648         * tests/test-openat-safer.c: Likewise.
5649         * tests/test-pipe.c: Likewise.
5650         * tests/test-popen-safer.c: Likewise.
5651         * modules/dirent-safer-tests (Files): Include macros.h.
5652         * modules/unistd-safer-tests (Files): Likewise.
5653         * modules/freopen-safer-tests (Files): Likewise.
5654         * modules/getopt-posix-tests (Files): Likewise.
5655         * modules/openat-safer-tests (Files): Likewise.
5656         * modules/pipe-tests (Files): Likewise.
5657
5658 2009-12-26  Bruno Haible  <bruno@clisp.org>
5659
5660         javacomp: Portability fix.
5661         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5662         that it also works on Solaris.
5663
5664 2009-12-26  Bruno Haible  <bruno@clisp.org>
5665
5666         localename: Fix storage allocation of gl_locale_name_thread's result.
5667         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
5668         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
5669         all platforms that have 'uselocale'.
5670         (gl_locale_name_thread_unsafe): New function, extracted from
5671         gl_locale_name_thread.
5672         (gl_locale_name_thread): Call struniq on all platforms that have
5673         'uselocale'.
5674         * tests/test-localename.c (test_locale_name_thread): Check that the
5675         resulting strings are permanently allocated.
5676         * modules/localename-tests (Depends-on): Add strdup.
5677
5678 2009-12-26  Bruno Haible  <bruno@clisp.org>
5679
5680         * tests/test-localename.c (categories): Fill in the strings.
5681
5682 2009-12-26  Jim Meyering  <meyering@redhat.com>
5683
5684         isdir: complete the removal of m4/isdir.m4
5685         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
5686
5687         isdir: clean up, since at least grep still uses it
5688         * lib/isdir.c: Include "isdir.h".
5689         (S_ISDIR): Remove now-unneeded definition.
5690         * modules/isdir (Files): Add lib/isdir.h.
5691         * lib/isdir.h: New file, with declaration.
5692         * m4/isdir.m4: Remove file -- unneeded.
5693
5694 2009-12-25  Bruno Haible  <bruno@clisp.org>
5695
5696         selinux-h: Make generated .h files standalone.
5697         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
5698         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
5699         * lib/se-selinux.in.h: Likewise.
5700         * modules/selinux-h (Depends-on): Add unused-parameter.
5701         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
5702         selinux/selinux.h and selinux/context.h.
5703         Suggested by Eric Blake.
5704
5705 2009-12-25  Bruno Haible  <bruno@clisp.org>
5706
5707         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
5708         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
5709         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
5710         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
5711         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
5712
5713 2009-12-24  Bruno Haible  <bruno@clisp.org>
5714
5715         openat: Fix warning.
5716         * lib/openat-proc.c: Include <unistd.h>.
5717
5718 2009-12-24  Bruno Haible  <bruno@clisp.org>
5719
5720         New module 'unused-parameter'.
5721         * build-aux/unused-parameter.h: New file, extracted from earlier
5722         gnulib-common.m4.
5723         * modules/unused-parameter: New file.
5724         * lib/unistr.h: Include unused-parameter.h.
5725         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
5726         _GL_UNUSED.
5727         * modules/unistr/base (Depends-on): Add unused-parameter.
5728
5729 2009-12-24  Bruno Haible  <bruno@clisp.org>
5730
5731         Add missing dependencies to 'extensions' module.
5732         * m4/extensions.m4: Add comment.
5733         * modules/accept4 (Depends-on): Add extensions.
5734         * modules/dup3 (Depends-on): Likewise.
5735         * modules/fcntl (Depends-on): Likewise.
5736         * modules/futimens (Depends-on): Likewise.
5737         * modules/mknod (Depends-on): Likewise.
5738         * modules/pipe2 (Depends-on): Likewise.
5739         * modules/stat-time (Depends-on): Likewise.
5740         * modules/strcasestr-simple (Depends-on): Likewise.
5741         * modules/strsignal (Depends-on): Likewise.
5742         * modules/utimensat (Depends-on): Likewise.
5743         * modules/localcharset (Depends-on): Likewise. Needed because of
5744         gl_FCNTL_O_FLAGS.
5745         * modules/wcrtomb (Depends-on): Likewise. Needed because of
5746         AC_TYPE_MBSTATE_T.
5747         * modules/wcsnrtombs (Depends-on): Likewise.
5748         * modules/wcsrtombs (Depends-on): Likewise.
5749
5750 2009-12-24  Bruno Haible  <bruno@clisp.org>
5751
5752         binary-io: Avoid gcc warning due to SET_BINARY.
5753         * lib/binary-io.h (SET_BINARY): Cast the result to void.
5754         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
5755
5756 2009-12-24  Bruno Haible  <bruno@clisp.org>
5757
5758         Avoid future namespace pollution on glibc systems.
5759         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
5760         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
5761         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
5762         glibc systems.
5763
5764 2009-12-24  Bruno Haible  <bruno@clisp.org>
5765
5766         Refactor common macros used in tests.
5767         * tests/macros.h: New file.
5768         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
5769         and/or <stdlib.h>, if appropriate.
5770         (ASSERT, SIZEOF): Remove macros.
5771         * tests/test-areadlink-with-size.c: Likewise.
5772         * tests/test-areadlinkat.c: Likewise.
5773         * tests/test-areadlinkat-with-size.c: Likewise.
5774         * tests/test-argmatch.c: Likewise.
5775         * tests/test-argv-iter.c: Likewise.
5776         * tests/test-array-mergesort.c: Likewise.
5777         * tests/test-array_list.c: Likewise.
5778         * tests/test-array_oset.c: Likewise.
5779         * tests/test-avltree_list.c: Likewise.
5780         * tests/test-avltree_oset.c: Likewise.
5781         * tests/test-avltreehash_list.c: Likewise.
5782         * tests/test-base64.c: Likewise.
5783         * tests/test-binary-io.c: Likewise.
5784         * tests/test-bitrotate.c: Likewise.
5785         * tests/test-btowc.c: Likewise.
5786         * tests/test-byteswap.c: Likewise.
5787         * tests/test-c-ctype.c: Likewise.
5788         * tests/test-c-stack.c: Likewise.
5789         * tests/test-c-strcasecmp.c: Likewise.
5790         * tests/test-c-strcasestr.c: Likewise.
5791         * tests/test-c-strncasecmp.c: Likewise.
5792         * tests/test-c-strstr.c: Likewise.
5793         * tests/test-canonicalize-lgpl.c: Likewise.
5794         * tests/test-canonicalize.c: Likewise.
5795         * tests/test-carray_list.c: Likewise.
5796         * tests/test-ceilf1.c: Likewise.
5797         * tests/test-ceilf2.c: Likewise.
5798         * tests/test-ceill.c: Likewise.
5799         * tests/test-chown.c: Likewise.
5800         * tests/test-cloexec.c: Likewise.
5801         * tests/test-copy-acl.c: Likewise.
5802         * tests/test-copy-file.c: Likewise.
5803         * tests/test-count-one-bits.c: Likewise.
5804         * tests/test-dprintf-posix.c: Likewise.
5805         * tests/test-dup2.c: Likewise.
5806         * tests/test-dup3.c: Likewise.
5807         * tests/test-duplocale.c: Likewise.
5808         * tests/test-fbufmode.c: Likewise.
5809         * tests/test-fchdir.c: Likewise.
5810         * tests/test-fchownat.c: Likewise.
5811         * tests/test-fcntl-safer.c: Likewise.
5812         * tests/test-fcntl.c: Likewise.
5813         * tests/test-fdopendir.c: Likewise.
5814         * tests/test-fdutimensat.c: Likewise.
5815         * tests/test-fflush2.c: Likewise.
5816         * tests/test-file-has-acl.c: Likewise.
5817         * tests/test-filevercmp.c: Likewise.
5818         * tests/test-flock.c: Likewise.
5819         * tests/test-floorf1.c: Likewise.
5820         * tests/test-floorf2.c: Likewise.
5821         * tests/test-floorl.c: Likewise.
5822         * tests/test-fnmatch.c: Likewise.
5823         * tests/test-fopen.h: Likewise.
5824         * tests/test-fpending.c: Likewise.
5825         * tests/test-fprintf-posix.c: Likewise.
5826         * tests/test-fpurge.c: Likewise.
5827         * tests/test-freadable.c: Likewise.
5828         * tests/test-freadahead.c: Likewise.
5829         * tests/test-freading.c: Likewise.
5830         * tests/test-freadptr.c: Likewise.
5831         * tests/test-freadptr2.c: Likewise.
5832         * tests/test-freadseek.c: Likewise.
5833         * tests/test-freopen.c: Likewise.
5834         * tests/test-frexp.c: Likewise.
5835         * tests/test-frexpl.c: Likewise.
5836         * tests/test-fseek.c: Likewise.
5837         * tests/test-fseeko.c: Likewise.
5838         * tests/test-fstatat.c: Likewise.
5839         * tests/test-fstrcmp.c: Likewise.
5840         * tests/test-fsync.c: Likewise.
5841         * tests/test-ftell.c: Likewise.
5842         * tests/test-ftello.c: Likewise.
5843         * tests/test-func.c: Likewise.
5844         * tests/test-futimens.c: Likewise.
5845         * tests/test-fwritable.c: Likewise.
5846         * tests/test-fwriting.c: Likewise.
5847         * tests/test-getcwd.c: Likewise.
5848         * tests/test-getdate.c: Likewise.
5849         * tests/test-getdelim.c: Likewise.
5850         * tests/test-getdtablesize.c: Likewise.
5851         * tests/test-getgroups.c: Likewise.
5852         * tests/test-getline.c: Likewise.
5853         * tests/test-getndelim2.c: Likewise.
5854         * tests/test-glob.c: Likewise.
5855         * tests/test-hash.c: Likewise.
5856         * tests/test-i-ring.c: Likewise.
5857         * tests/test-iconv-utf.c: Likewise.
5858         * tests/test-iconv.c: Likewise.
5859         * tests/test-idpriv-drop.c: Likewise.
5860         * tests/test-idpriv-droptemp.c: Likewise.
5861         * tests/test-inet_ntop.c: Likewise.
5862         * tests/test-inet_pton.c: Likewise.
5863         * tests/test-isblank.c: Likewise.
5864         * tests/test-isfinite.c: Likewise.
5865         * tests/test-isinf.c: Likewise.
5866         * tests/test-isnan.c: Likewise.
5867         * tests/test-isnand.h: Likewise.
5868         * tests/test-isnanf.h: Likewise.
5869         * tests/test-isnanl.h: Likewise.
5870         * tests/test-lchown.c: Likewise.
5871         * tests/test-ldexpl.c: Likewise.
5872         * tests/test-link.c: Likewise.
5873         * tests/test-linkat.c: Likewise.
5874         * tests/test-linked_list.c: Likewise.
5875         * tests/test-linkedhash_list.c: Likewise.
5876         * tests/test-localename.c: Likewise.
5877         * tests/test-lseek.c: Likewise.
5878         * tests/test-lstat.c: Likewise.
5879         * tests/test-mbmemcasecmp.c: Likewise.
5880         * tests/test-mbmemcasecoll.c: Likewise.
5881         * tests/test-mbrtowc.c: Likewise.
5882         * tests/test-mbscasecmp.c: Likewise.
5883         * tests/test-mbscasestr1.c: Likewise.
5884         * tests/test-mbscasestr2.c: Likewise.
5885         * tests/test-mbscasestr3.c: Likewise.
5886         * tests/test-mbscasestr4.c: Likewise.
5887         * tests/test-mbschr.c: Likewise.
5888         * tests/test-mbscspn.c: Likewise.
5889         * tests/test-mbsinit.c: Likewise.
5890         * tests/test-mbsncasecmp.c: Likewise.
5891         * tests/test-mbsnrtowcs.c: Likewise.
5892         * tests/test-mbspbrk.c: Likewise.
5893         * tests/test-mbspcasecmp.c: Likewise.
5894         * tests/test-mbsrchr.c: Likewise.
5895         * tests/test-mbsrtowcs.c: Likewise.
5896         * tests/test-mbsspn.c: Likewise.
5897         * tests/test-mbsstr1.c: Likewise.
5898         * tests/test-mbsstr2.c: Likewise.
5899         * tests/test-mbsstr3.c: Likewise.
5900         * tests/test-memchr.c: Likewise.
5901         * tests/test-memchr2.c: Likewise.
5902         * tests/test-memcmp.c: Likewise.
5903         * tests/test-memmem.c: Likewise.
5904         * tests/test-memrchr.c: Likewise.
5905         * tests/test-mkdir.c: Likewise.
5906         * tests/test-mkdirat.c: Likewise.
5907         * tests/test-mkfifo.c: Likewise.
5908         * tests/test-mkfifoat.c: Likewise.
5909         * tests/test-mknod.c: Likewise.
5910         * tests/test-nanosleep.c: Likewise.
5911         * tests/test-nl_langinfo.c: Likewise.
5912         * tests/test-obstack-printf.c: Likewise.
5913         * tests/test-open.c: Likewise.
5914         * tests/test-openat.c: Likewise.
5915         * tests/test-pipe-filter-gi1.c: Likewise.
5916         * tests/test-pipe-filter-gi2-main.c: Likewise.
5917         * tests/test-pipe-filter-ii1.c: Likewise.
5918         * tests/test-pipe-filter-ii2-main.c: Likewise.
5919         * tests/test-pipe2.c: Likewise.
5920         * tests/test-popen.h: Likewise.
5921         * tests/test-posixtm.c: Likewise.
5922         * tests/test-pread.c: Likewise.
5923         * tests/test-printf-frexp.c: Likewise.
5924         * tests/test-printf-frexpl.c: Likewise.
5925         * tests/test-printf-posix.c: Likewise.
5926         * tests/test-priv-set.c: Likewise.
5927         * tests/test-quotearg.c: Likewise.
5928         * tests/test-random_r.c: Likewise.
5929         * tests/test-rawmemchr.c: Likewise.
5930         * tests/test-rbtree_list.c: Likewise.
5931         * tests/test-rbtree_oset.c: Likewise.
5932         * tests/test-rbtreehash_list.c: Likewise.
5933         * tests/test-readlink.c: Likewise.
5934         * tests/test-remove.c: Likewise.
5935         * tests/test-rename.c: Likewise.
5936         * tests/test-renameat.c: Likewise.
5937         * tests/test-rmdir.c: Likewise.
5938         * tests/test-round1.c: Likewise.
5939         * tests/test-roundf1.c: Likewise.
5940         * tests/test-roundl.c: Likewise.
5941         * tests/test-safe-alloc.c: Likewise.
5942         * tests/test-sameacls.c: Likewise.
5943         * tests/test-set-mode-acl.c: Likewise.
5944         * tests/test-setenv.c: Likewise.
5945         * tests/test-sigaction.c: Likewise.
5946         * tests/test-signbit.c: Likewise.
5947         * tests/test-sleep.c: Likewise.
5948         * tests/test-snprintf-posix.c: Likewise.
5949         * tests/test-snprintf.c: Likewise.
5950         * tests/test-sprintf-posix.c: Likewise.
5951         * tests/test-stat-time.c: Likewise.
5952         * tests/test-stat.c: Likewise.
5953         * tests/test-strcasestr.c: Likewise.
5954         * tests/test-strchrnul.c: Likewise.
5955         * tests/test-strerror.c: Likewise.
5956         * tests/test-striconv.c: Likewise.
5957         * tests/test-striconveh.c: Likewise.
5958         * tests/test-striconveha.c: Likewise.
5959         * tests/test-strsignal.c: Likewise.
5960         * tests/test-strstr.c: Likewise.
5961         * tests/test-strtod.c: Likewise.
5962         * tests/test-strverscmp.c: Likewise.
5963         * tests/test-symlink.c: Likewise.
5964         * tests/test-symlinkat.c: Likewise.
5965         * tests/test-trunc1.c: Likewise.
5966         * tests/test-trunc2.c: Likewise.
5967         * tests/test-truncf1.c: Likewise.
5968         * tests/test-truncf2.c: Likewise.
5969         * tests/test-truncl.c: Likewise.
5970         * tests/test-uname.c: Likewise.
5971         * tests/test-unlink.c: Likewise.
5972         * tests/test-unlinkat.c: Likewise.
5973         * tests/test-unsetenv.c: Likewise.
5974         * tests/test-usleep.c: Likewise.
5975         * tests/test-utimens.c: Likewise.
5976         * tests/test-utimensat.c: Likewise.
5977         * tests/test-vasnprintf-posix.c: Likewise.
5978         * tests/test-vasnprintf-posix2.c: Likewise.
5979         * tests/test-vasnprintf.c: Likewise.
5980         * tests/test-vasprintf-posix.c: Likewise.
5981         * tests/test-vasprintf.c: Likewise.
5982         * tests/test-vdprintf-posix.c: Likewise.
5983         * tests/test-vfprintf-posix.c: Likewise.
5984         * tests/test-vprintf-posix.c: Likewise.
5985         * tests/test-vsnprintf-posix.c: Likewise.
5986         * tests/test-vsnprintf.c: Likewise.
5987         * tests/test-vsprintf-posix.c: Likewise.
5988         * tests/test-wcrtomb.c: Likewise.
5989         * tests/test-wcsnrtombs.c: Likewise.
5990         * tests/test-wcsrtombs.c: Likewise.
5991         * tests/test-wctype.c: Likewise.
5992         * tests/test-wcwidth.c: Likewise.
5993         * tests/test-xfprintf-posix.c: Likewise.
5994         * tests/test-xmemdup0.c: Likewise.
5995         * tests/test-xprintf-posix.c: Likewise.
5996         * tests/test-xvasprintf.c: Likewise.
5997         * tests/unicase/test-locale-language.c: Likewise.
5998         * tests/unicase/test-mapping-part1.h: Likewise.
5999         * tests/unicase/test-predicate-part1.h: Likewise.
6000         * tests/unicase/test-u8-casecmp.c: Likewise.
6001         * tests/unicase/test-u8-casecoll.c: Likewise.
6002         * tests/unicase/test-u8-casefold.c: Likewise.
6003         * tests/unicase/test-u8-is-cased.c: Likewise.
6004         * tests/unicase/test-u8-is-casefolded.c: Likewise.
6005         * tests/unicase/test-u8-is-lowercase.c: Likewise.
6006         * tests/unicase/test-u8-is-titlecase.c: Likewise.
6007         * tests/unicase/test-u8-is-uppercase.c: Likewise.
6008         * tests/unicase/test-u8-tolower.c: Likewise.
6009         * tests/unicase/test-u8-totitle.c: Likewise.
6010         * tests/unicase/test-u8-toupper.c: Likewise.
6011         * tests/unicase/test-u16-casecmp.c: Likewise.
6012         * tests/unicase/test-u16-casecoll.c: Likewise.
6013         * tests/unicase/test-u16-casefold.c: Likewise.
6014         * tests/unicase/test-u16-is-cased.c: Likewise.
6015         * tests/unicase/test-u16-is-casefolded.c: Likewise.
6016         * tests/unicase/test-u16-is-lowercase.c: Likewise.
6017         * tests/unicase/test-u16-is-titlecase.c: Likewise.
6018         * tests/unicase/test-u16-is-uppercase.c: Likewise.
6019         * tests/unicase/test-u16-tolower.c: Likewise.
6020         * tests/unicase/test-u16-totitle.c: Likewise.
6021         * tests/unicase/test-u16-toupper.c: Likewise.
6022         * tests/unicase/test-u32-casecmp.c: Likewise.
6023         * tests/unicase/test-u32-casecoll.c: Likewise.
6024         * tests/unicase/test-u32-casefold.c: Likewise.
6025         * tests/unicase/test-u32-is-cased.c: Likewise.
6026         * tests/unicase/test-u32-is-casefolded.c: Likewise.
6027         * tests/unicase/test-u32-is-lowercase.c: Likewise.
6028         * tests/unicase/test-u32-is-titlecase.c: Likewise.
6029         * tests/unicase/test-u32-is-uppercase.c: Likewise.
6030         * tests/unicase/test-u32-tolower.c: Likewise.
6031         * tests/unicase/test-u32-totitle.c: Likewise.
6032         * tests/unicase/test-u32-toupper.c: Likewise.
6033         * tests/unicase/test-ulc-casecmp.c: Likewise.
6034         * tests/unicase/test-ulc-casecoll.c: Likewise.
6035         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6036         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
6037         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6038         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6039         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
6040         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
6041         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6042         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6043         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6044         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
6045         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6046         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6047         * tests/unictype/test-bidi_byname.c: Likewise.
6048         * tests/unictype/test-bidi_name.c: Likewise.
6049         * tests/unictype/test-bidi_of.c: Likewise.
6050         * tests/unictype/test-bidi_test.c: Likewise.
6051         * tests/unictype/test-block_list.c: Likewise.
6052         * tests/unictype/test-block_of.c: Likewise.
6053         * tests/unictype/test-block_test.c: Likewise.
6054         * tests/unictype/test-categ_and.c: Likewise.
6055         * tests/unictype/test-categ_and_not.c: Likewise.
6056         * tests/unictype/test-categ_byname.c: Likewise.
6057         * tests/unictype/test-categ_name.c: Likewise.
6058         * tests/unictype/test-categ_none.c: Likewise.
6059         * tests/unictype/test-categ_of.c: Likewise.
6060         * tests/unictype/test-categ_or.c: Likewise.
6061         * tests/unictype/test-categ_test_withtable.c: Likewise.
6062         * tests/unictype/test-combining.c: Likewise.
6063         * tests/unictype/test-decdigit.c: Likewise.
6064         * tests/unictype/test-digit.c: Likewise.
6065         * tests/unictype/test-mirror.c: Likewise.
6066         * tests/unictype/test-numeric.c: Likewise.
6067         * tests/unictype/test-pr_byname.c: Likewise.
6068         * tests/unictype/test-pr_test.c: Likewise.
6069         * tests/unictype/test-predicate-part1.h: Likewise.
6070         * tests/unictype/test-scripts.c: Likewise.
6071         * tests/unictype/test-sy_c_ident.c: Likewise.
6072         * tests/unictype/test-sy_java_ident.c: Likewise.
6073         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
6074         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
6075         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
6076         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
6077         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
6078         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
6079         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
6080         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
6081         * tests/uninorm/test-canonical-decomposition.c: Likewise.
6082         * tests/uninorm/test-compat-decomposition.c: Likewise.
6083         * tests/uninorm/test-composition.c: Likewise.
6084         * tests/uninorm/test-decomposing-form.c: Likewise.
6085         * tests/uninorm/test-decomposition.c: Likewise.
6086         * tests/uninorm/test-u8-nfc.c: Likewise.
6087         * tests/uninorm/test-u8-nfd.c: Likewise.
6088         * tests/uninorm/test-u8-nfkc.c: Likewise.
6089         * tests/uninorm/test-u8-nfkd.c: Likewise.
6090         * tests/uninorm/test-u8-normcmp.c: Likewise.
6091         * tests/uninorm/test-u8-normcoll.c: Likewise.
6092         * tests/uninorm/test-u16-nfc.c: Likewise.
6093         * tests/uninorm/test-u16-nfd.c: Likewise.
6094         * tests/uninorm/test-u16-nfkc.c: Likewise.
6095         * tests/uninorm/test-u16-nfkd.c: Likewise.
6096         * tests/uninorm/test-u16-normcmp.c: Likewise.
6097         * tests/uninorm/test-u16-normcoll.c: Likewise.
6098         * tests/uninorm/test-u32-nfc.c: Likewise.
6099         * tests/uninorm/test-u32-nfd.c: Likewise.
6100         * tests/uninorm/test-u32-nfkc.c: Likewise.
6101         * tests/uninorm/test-u32-nfkd.c: Likewise.
6102         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6103         * tests/uninorm/test-u32-normcmp.c: Likewise.
6104         * tests/uninorm/test-u32-normcoll.c: Likewise.
6105         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
6106         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
6107         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
6108         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
6109         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
6110         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
6111         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6112         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6113         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
6114         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
6115         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
6116         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
6117         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
6118         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6119         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6120         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
6121         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
6122         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
6123         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
6124         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
6125         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6126         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6127         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
6128         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
6129         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
6130         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
6131         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
6132         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6133         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6134         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
6135         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
6136         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
6137         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
6138         * tests/uniwidth/test-u8-strwidth.c: Likewise.
6139         * tests/uniwidth/test-u8-width.c: Likewise.
6140         * tests/uniwidth/test-u16-strwidth.c: Likewise.
6141         * tests/uniwidth/test-u16-width.c: Likewise.
6142         * tests/uniwidth/test-u32-strwidth.c: Likewise.
6143         * tests/uniwidth/test-u32-width.c: Likewise.
6144         * tests/uniwidth/test-uc_width.c: Likewise.
6145         * tests/uniwidth/test-uc_width2.c: Likewise.
6146         * modules/acl-tests (Files): Add tests/macros.h.
6147         * modules/areadlink-tests (Files): Likewise.
6148         * modules/areadlink-with-size-tests (Files): Likewise.
6149         * modules/areadlinkat-tests (Files): Likewise.
6150         * modules/areadlinkat-with-size-tests (Files): Likewise.
6151         * modules/argmatch-tests (Files): Likewise.
6152         * modules/argv-iter-tests (Files): Likewise.
6153         * modules/array-list-tests (Files): Likewise.
6154         * modules/array-mergesort-tests (Files): Likewise.
6155         * modules/array-oset-tests (Files): Likewise.
6156         * modules/avltree-list-tests (Files): Likewise.
6157         * modules/avltree-oset-tests (Files): Likewise.
6158         * modules/avltreehash-list-tests (Files): Likewise.
6159         * modules/base64-tests (Files): Likewise.
6160         * modules/binary-io-tests (Files): Likewise.
6161         * modules/bitrotate-tests (Files): Likewise.
6162         * modules/btowc-tests (Files): Likewise.
6163         * modules/byteswap-tests (Files): Likewise.
6164         * modules/c-ctype-tests (Files): Likewise.
6165         * modules/c-stack-tests (Files): Likewise.
6166         * modules/c-strcase-tests (Files): Likewise.
6167         * modules/c-strcasestr-tests (Files): Likewise.
6168         * modules/c-strstr-tests (Files): Likewise.
6169         * modules/canonicalize-lgpl-tests (Files): Likewise.
6170         * modules/canonicalize-tests (Files): Likewise.
6171         * modules/carray-list-tests (Files): Likewise.
6172         * modules/ceilf-tests (Files): Likewise.
6173         * modules/ceill-tests (Files): Likewise.
6174         * modules/chown-tests (Files): Likewise.
6175         * modules/cloexec-tests (Files): Likewise.
6176         * modules/copy-file-tests (Files): Likewise.
6177         * modules/count-one-bits-tests (Files): Likewise.
6178         * modules/dprintf-posix-tests (Files): Likewise.
6179         * modules/dup2-tests (Files): Likewise.
6180         * modules/dup3-tests (Files): Likewise.
6181         * modules/duplocale-tests (Files): Likewise.
6182         * modules/fbufmode-tests (Files): Likewise.
6183         * modules/fchdir-tests (Files): Likewise.
6184         * modules/fcntl-safer-tests (Files): Likewise.
6185         * modules/fcntl-tests (Files): Likewise.
6186         * modules/fdopendir-tests (Files): Likewise.
6187         * modules/fdutimensat-tests (Files): Likewise.
6188         * modules/fflush-tests (Files): Likewise.
6189         * modules/filevercmp-tests (Files): Likewise.
6190         * modules/flock-tests (Files): Likewise.
6191         * modules/floorf-tests (Files): Likewise.
6192         * modules/floorl-tests (Files): Likewise.
6193         * modules/fnmatch-tests (Files): Likewise.
6194         * modules/fopen-safer-tests (Files): Likewise.
6195         * modules/fopen-tests (Files): Likewise.
6196         * modules/fpending-tests (Files): Likewise.
6197         * modules/fprintf-posix-tests (Files): Likewise.
6198         * modules/fpurge-tests (Files): Likewise.
6199         * modules/freadable-tests (Files): Likewise.
6200         * modules/freadahead-tests (Files): Likewise.
6201         * modules/freading-tests (Files): Likewise.
6202         * modules/freadptr-tests (Files): Likewise.
6203         * modules/freadseek-tests (Files): Likewise.
6204         * modules/freopen-tests (Files): Likewise.
6205         * modules/frexp-nolibm-tests (Files): Likewise.
6206         * modules/frexp-tests (Files): Likewise.
6207         * modules/frexpl-nolibm-tests (Files): Likewise.
6208         * modules/frexpl-tests (Files): Likewise.
6209         * modules/fseek-tests (Files): Likewise.
6210         * modules/fseeko-tests (Files): Likewise.
6211         * modules/fstrcmp-tests (Files): Likewise.
6212         * modules/fsync-tests (Files): Likewise.
6213         * modules/ftell-tests (Files): Likewise.
6214         * modules/ftello-tests (Files): Likewise.
6215         * modules/func-tests (Files): Likewise.
6216         * modules/futimens-tests (Files): Likewise.
6217         * modules/fwritable-tests (Files): Likewise.
6218         * modules/fwriting-tests (Files): Likewise.
6219         * modules/getcwd-tests (Files): Likewise.
6220         * modules/getdate-tests (Files): Likewise.
6221         * modules/getdelim-tests (Files): Likewise.
6222         * modules/getdtablesize-tests (Files): Likewise.
6223         * modules/getgroups-tests (Files): Likewise.
6224         * modules/getline-tests (Files): Likewise.
6225         * modules/getndelim2-tests (Files): Likewise.
6226         * modules/glob-tests (Files): Likewise.
6227         * modules/hash-tests (Files): Likewise.
6228         * modules/i-ring-tests (Files): Likewise.
6229         * modules/iconv-tests (Files): Likewise.
6230         * modules/iconv_open-utf-tests (Files): Likewise.
6231         * modules/idpriv-drop-tests (Files): Likewise.
6232         * modules/idpriv-droptemp-tests (Files): Likewise.
6233         * modules/inet_ntop-tests (Files): Likewise.
6234         * modules/inet_pton-tests (Files): Likewise.
6235         * modules/isblank-tests (Files): Likewise.
6236         * modules/isfinite-tests (Files): Likewise.
6237         * modules/isinf-tests (Files): Likewise.
6238         * modules/isnan-tests (Files): Likewise.
6239         * modules/isnand-nolibm-tests (Files): Likewise.
6240         * modules/isnand-tests (Files): Likewise.
6241         * modules/isnanf-nolibm-tests (Files): Likewise.
6242         * modules/isnanf-tests (Files): Likewise.
6243         * modules/isnanl-nolibm-tests (Files): Likewise.
6244         * modules/isnanl-tests (Files): Likewise.
6245         * modules/lchown-tests (Files): Likewise.
6246         * modules/ldexpl-tests (Files): Likewise.
6247         * modules/link-tests (Files): Likewise.
6248         * modules/linkat-tests (Files): Likewise.
6249         * modules/linked-list-tests (Files): Likewise.
6250         * modules/linkedhash-list-tests (Files): Likewise.
6251         * modules/localename-tests (Files): Likewise.
6252         * modules/lseek-tests (Files): Likewise.
6253         * modules/lstat-tests (Files): Likewise.
6254         * modules/mbmemcasecmp-tests (Files): Likewise.
6255         * modules/mbmemcasecoll-tests (Files): Likewise.
6256         * modules/mbrtowc-tests (Files): Likewise.
6257         * modules/mbscasecmp-tests (Files): Likewise.
6258         * modules/mbscasestr-tests (Files): Likewise.
6259         * modules/mbschr-tests (Files): Likewise.
6260         * modules/mbscspn-tests (Files): Likewise.
6261         * modules/mbsinit-tests (Files): Likewise.
6262         * modules/mbsncasecmp-tests (Files): Likewise.
6263         * modules/mbsnrtowcs-tests (Files): Likewise.
6264         * modules/mbspbrk-tests (Files): Likewise.
6265         * modules/mbspcasecmp-tests (Files): Likewise.
6266         * modules/mbsrchr-tests (Files): Likewise.
6267         * modules/mbsrtowcs-tests (Files): Likewise.
6268         * modules/mbsspn-tests (Files): Likewise.
6269         * modules/mbsstr-tests (Files): Likewise.
6270         * modules/memchr-tests (Files): Likewise.
6271         * modules/memchr2-tests (Files): Likewise.
6272         * modules/memcmp-tests (Files): Likewise.
6273         * modules/memmem-tests (Files): Likewise.
6274         * modules/memrchr-tests (Files): Likewise.
6275         * modules/mkdir-tests (Files): Likewise.
6276         * modules/mkfifo-tests (Files): Likewise.
6277         * modules/mkfifoat-tests (Files): Likewise.
6278         * modules/mknod-tests (Files): Likewise.
6279         * modules/nanosleep-tests (Files): Likewise.
6280         * modules/nl_langinfo-tests (Files): Likewise.
6281         * modules/obstack-printf-tests (Files): Likewise.
6282         * modules/open-tests (Files): Likewise.
6283         * modules/openat-tests (Files): Likewise.
6284         * modules/pipe-filter-gi-tests (Files): Likewise.
6285         * modules/pipe-filter-ii-tests (Files): Likewise.
6286         * modules/pipe2-tests (Files): Likewise.
6287         * modules/popen-safer-tests (Files): Likewise.
6288         * modules/popen-tests (Files): Likewise.
6289         * modules/posixtm-tests (Files): Likewise.
6290         * modules/pread-tests (Files): Likewise.
6291         * modules/printf-frexp-tests (Files): Likewise.
6292         * modules/printf-frexpl-tests (Files): Likewise.
6293         * modules/printf-posix-tests (Files): Likewise.
6294         * modules/priv-set-tests (Files): Likewise.
6295         * modules/quotearg-tests (Files): Likewise.
6296         * modules/random_r-tests (Files): Likewise.
6297         * modules/rawmemchr-tests (Files): Likewise.
6298         * modules/rbtree-list-tests (Files): Likewise.
6299         * modules/rbtree-oset-tests (Files): Likewise.
6300         * modules/rbtreehash-list-tests (Files): Likewise.
6301         * modules/readlink-tests (Files): Likewise.
6302         * modules/remove-tests (Files): Likewise.
6303         * modules/rename-tests (Files): Likewise.
6304         * modules/renameat-tests (Files): Likewise.
6305         * modules/rmdir-tests (Files): Likewise.
6306         * modules/round-tests (Files): Likewise.
6307         * modules/roundf-tests (Files): Likewise.
6308         * modules/roundl-tests (Files): Likewise.
6309         * modules/safe-alloc-tests (Files): Likewise.
6310         * modules/setenv-tests (Files): Likewise.
6311         * modules/sigaction-tests (Files): Likewise.
6312         * modules/signbit-tests (Files): Likewise.
6313         * modules/sleep-tests (Files): Likewise.
6314         * modules/snprintf-posix-tests (Files): Likewise.
6315         * modules/snprintf-tests (Files): Likewise.
6316         * modules/sprintf-posix-tests (Files): Likewise.
6317         * modules/stat-tests (Files): Likewise.
6318         * modules/stat-time-tests (Files): Likewise.
6319         * modules/strcasestr-tests (Files): Likewise.
6320         * modules/strchrnul-tests (Files): Likewise.
6321         * modules/strerror-tests (Files): Likewise.
6322         * modules/striconv-tests (Files): Likewise.
6323         * modules/striconveh-tests (Files): Likewise.
6324         * modules/striconveha-tests (Files): Likewise.
6325         * modules/strsignal-tests (Files): Likewise.
6326         * modules/strstr-tests (Files): Likewise.
6327         * modules/strtod-tests (Files): Likewise.
6328         * modules/strverscmp-tests (Files): Likewise.
6329         * modules/symlink-tests (Files): Likewise.
6330         * modules/symlinkat-tests (Files): Likewise.
6331         * modules/trunc-tests (Files): Likewise.
6332         * modules/truncf-tests (Files): Likewise.
6333         * modules/truncl-tests (Files): Likewise.
6334         * modules/uname-tests (Files): Likewise.
6335         * modules/unicase/cased-tests (Files): Likewise.
6336         * modules/unicase/ignorable-tests (Files): Likewise.
6337         * modules/unicase/locale-language-tests (Files): Likewise.
6338         * modules/unicase/tolower-tests (Files): Likewise.
6339         * modules/unicase/totitle-tests (Files): Likewise.
6340         * modules/unicase/toupper-tests (Files): Likewise.
6341         * modules/unicase/u8-casecmp-tests (Files): Likewise.
6342         * modules/unicase/u8-casecoll-tests (Files): Likewise.
6343         * modules/unicase/u8-casefold-tests (Files): Likewise.
6344         * modules/unicase/u8-is-cased-tests (Files): Likewise.
6345         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
6346         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
6347         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
6348         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
6349         * modules/unicase/u8-tolower-tests (Files): Likewise.
6350         * modules/unicase/u8-totitle-tests (Files): Likewise.
6351         * modules/unicase/u8-toupper-tests (Files): Likewise.
6352         * modules/unicase/u16-casecmp-tests (Files): Likewise.
6353         * modules/unicase/u16-casecoll-tests (Files): Likewise.
6354         * modules/unicase/u16-casefold-tests (Files): Likewise.
6355         * modules/unicase/u16-is-cased-tests (Files): Likewise.
6356         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
6357         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
6358         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
6359         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
6360         * modules/unicase/u16-tolower-tests (Files): Likewise.
6361         * modules/unicase/u16-totitle-tests (Files): Likewise.
6362         * modules/unicase/u16-toupper-tests (Files): Likewise.
6363         * modules/unicase/u32-casecmp-tests (Files): Likewise.
6364         * modules/unicase/u32-casecoll-tests (Files): Likewise.
6365         * modules/unicase/u32-casefold-tests (Files): Likewise.
6366         * modules/unicase/u32-is-cased-tests (Files): Likewise.
6367         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
6368         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
6369         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
6370         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
6371         * modules/unicase/u32-tolower-tests (Files): Likewise.
6372         * modules/unicase/u32-totitle-tests (Files): Likewise.
6373         * modules/unicase/u32-toupper-tests (Files): Likewise.
6374         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
6375         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
6376         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
6377         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
6378         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
6379         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
6380         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
6381         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
6382         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
6383         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
6384         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
6385         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
6386         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
6387         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
6388         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
6389         * modules/unictype/bidicategory-name-tests (Files): Likewise.
6390         * modules/unictype/bidicategory-of-tests (Files): Likewise.
6391         * modules/unictype/bidicategory-test-tests (Files): Likewise.
6392         * modules/unictype/block-list-tests (Files): Likewise.
6393         * modules/unictype/block-of-tests (Files): Likewise.
6394         * modules/unictype/block-test-tests (Files): Likewise.
6395         * modules/unictype/category-C-tests (Files): Likewise.
6396         * modules/unictype/category-Cc-tests (Files): Likewise.
6397         * modules/unictype/category-Cf-tests (Files): Likewise.
6398         * modules/unictype/category-Cn-tests (Files): Likewise.
6399         * modules/unictype/category-Co-tests (Files): Likewise.
6400         * modules/unictype/category-Cs-tests (Files): Likewise.
6401         * modules/unictype/category-L-tests (Files): Likewise.
6402         * modules/unictype/category-Ll-tests (Files): Likewise.
6403         * modules/unictype/category-Lm-tests (Files): Likewise.
6404         * modules/unictype/category-Lo-tests (Files): Likewise.
6405         * modules/unictype/category-Lt-tests (Files): Likewise.
6406         * modules/unictype/category-Lu-tests (Files): Likewise.
6407         * modules/unictype/category-M-tests (Files): Likewise.
6408         * modules/unictype/category-Mc-tests (Files): Likewise.
6409         * modules/unictype/category-Me-tests (Files): Likewise.
6410         * modules/unictype/category-Mn-tests (Files): Likewise.
6411         * modules/unictype/category-N-tests (Files): Likewise.
6412         * modules/unictype/category-Nd-tests (Files): Likewise.
6413         * modules/unictype/category-Nl-tests (Files): Likewise.
6414         * modules/unictype/category-No-tests (Files): Likewise.
6415         * modules/unictype/category-P-tests (Files): Likewise.
6416         * modules/unictype/category-Pc-tests (Files): Likewise.
6417         * modules/unictype/category-Pd-tests (Files): Likewise.
6418         * modules/unictype/category-Pe-tests (Files): Likewise.
6419         * modules/unictype/category-Pf-tests (Files): Likewise.
6420         * modules/unictype/category-Pi-tests (Files): Likewise.
6421         * modules/unictype/category-Po-tests (Files): Likewise.
6422         * modules/unictype/category-Ps-tests (Files): Likewise.
6423         * modules/unictype/category-S-tests (Files): Likewise.
6424         * modules/unictype/category-Sc-tests (Files): Likewise.
6425         * modules/unictype/category-Sk-tests (Files): Likewise.
6426         * modules/unictype/category-Sm-tests (Files): Likewise.
6427         * modules/unictype/category-So-tests (Files): Likewise.
6428         * modules/unictype/category-Z-tests (Files): Likewise.
6429         * modules/unictype/category-Zl-tests (Files): Likewise.
6430         * modules/unictype/category-Zp-tests (Files): Likewise.
6431         * modules/unictype/category-Zs-tests (Files): Likewise.
6432         * modules/unictype/category-and-not-tests (Files): Likewise.
6433         * modules/unictype/category-and-tests (Files): Likewise.
6434         * modules/unictype/category-byname-tests (Files): Likewise.
6435         * modules/unictype/category-name-tests (Files): Likewise.
6436         * modules/unictype/category-none-tests (Files): Likewise.
6437         * modules/unictype/category-of-tests (Files): Likewise.
6438         * modules/unictype/category-or-tests (Files): Likewise.
6439         * modules/unictype/category-test-withtable-tests (Files): Likewise.
6440         * modules/unictype/combining-class-tests (Files): Likewise.
6441         * modules/unictype/ctype-alnum-tests (Files): Likewise.
6442         * modules/unictype/ctype-alpha-tests (Files): Likewise.
6443         * modules/unictype/ctype-blank-tests (Files): Likewise.
6444         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
6445         * modules/unictype/ctype-digit-tests (Files): Likewise.
6446         * modules/unictype/ctype-graph-tests (Files): Likewise.
6447         * modules/unictype/ctype-lower-tests (Files): Likewise.
6448         * modules/unictype/ctype-print-tests (Files): Likewise.
6449         * modules/unictype/ctype-punct-tests (Files): Likewise.
6450         * modules/unictype/ctype-space-tests (Files): Likewise.
6451         * modules/unictype/ctype-upper-tests (Files): Likewise.
6452         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
6453         * modules/unictype/decimal-digit-tests (Files): Likewise.
6454         * modules/unictype/digit-tests (Files): Likewise.
6455         * modules/unictype/mirror-tests (Files): Likewise.
6456         * modules/unictype/numeric-tests (Files): Likewise.
6457         * modules/unictype/property-alphabetic-tests (Files): Likewise.
6458         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
6459         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
6460         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
6461         Likewise.
6462         * modules/unictype/property-bidi-block-separator-tests (Files):
6463         Likewise.
6464         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
6465         Likewise.
6466         * modules/unictype/property-bidi-common-separator-tests (Files):
6467         Likewise.
6468         * modules/unictype/property-bidi-control-tests (Files): Likewise.
6469         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
6470         Likewise.
6471         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
6472         Likewise.
6473         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
6474         Likewise.
6475         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
6476         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
6477         Likewise.
6478         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
6479         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
6480         Likewise.
6481         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
6482         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
6483         * modules/unictype/property-bidi-segment-separator-tests (Files):
6484         Likewise.
6485         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
6486         * modules/unictype/property-byname-tests (Files): Likewise.
6487         * modules/unictype/property-combining-tests (Files): Likewise.
6488         * modules/unictype/property-composite-tests (Files): Likewise.
6489         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
6490         * modules/unictype/property-dash-tests (Files): Likewise.
6491         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
6492         * modules/unictype/property-default-ignorable-code-point-tests (Files):
6493         Likewise.
6494         * modules/unictype/property-deprecated-tests (Files): Likewise.
6495         * modules/unictype/property-diacritic-tests (Files): Likewise.
6496         * modules/unictype/property-extender-tests (Files): Likewise.
6497         * modules/unictype/property-format-control-tests (Files): Likewise.
6498         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
6499         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
6500         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
6501         * modules/unictype/property-hex-digit-tests (Files): Likewise.
6502         * modules/unictype/property-hyphen-tests (Files): Likewise.
6503         * modules/unictype/property-id-continue-tests (Files): Likewise.
6504         * modules/unictype/property-id-start-tests (Files): Likewise.
6505         * modules/unictype/property-ideographic-tests (Files): Likewise.
6506         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
6507         * modules/unictype/property-ids-trinary-operator-tests (Files):
6508         Likewise.
6509         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
6510         * modules/unictype/property-iso-control-tests (Files): Likewise.
6511         * modules/unictype/property-join-control-tests (Files): Likewise.
6512         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
6513         * modules/unictype/property-line-separator-tests (Files): Likewise.
6514         * modules/unictype/property-logical-order-exception-tests (Files):
6515         Likewise.
6516         * modules/unictype/property-lowercase-tests (Files): Likewise.
6517         * modules/unictype/property-math-tests (Files): Likewise.
6518         * modules/unictype/property-non-break-tests (Files): Likewise.
6519         * modules/unictype/property-not-a-character-tests (Files): Likewise.
6520         * modules/unictype/property-numeric-tests (Files): Likewise.
6521         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
6522         * modules/unictype/property-other-default-ignorable-code-point-tests
6523         (Files): Likewise.
6524         * modules/unictype/property-other-grapheme-extend-tests (Files):
6525         Likewise.
6526         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
6527         * modules/unictype/property-other-id-start-tests (Files): Likewise.
6528         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
6529         * modules/unictype/property-other-math-tests (Files): Likewise.
6530         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
6531         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
6532         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
6533         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
6534         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
6535         * modules/unictype/property-private-use-tests (Files): Likewise.
6536         * modules/unictype/property-punctuation-tests (Files): Likewise.
6537         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
6538         * modules/unictype/property-radical-tests (Files): Likewise.
6539         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
6540         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
6541         * modules/unictype/property-space-tests (Files): Likewise.
6542         * modules/unictype/property-terminal-punctuation-tests (Files):
6543         Likewise.
6544         * modules/unictype/property-test-tests (Files): Likewise.
6545         * modules/unictype/property-titlecase-tests (Files): Likewise.
6546         * modules/unictype/property-unassigned-code-value-tests (Files):
6547         Likewise.
6548         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
6549         * modules/unictype/property-uppercase-tests (Files): Likewise.
6550         * modules/unictype/property-variation-selector-tests (Files): Likewise.
6551         * modules/unictype/property-white-space-tests (Files): Likewise.
6552         * modules/unictype/property-xid-continue-tests (Files): Likewise.
6553         * modules/unictype/property-xid-start-tests (Files): Likewise.
6554         * modules/unictype/property-zero-width-tests (Files): Likewise.
6555         * modules/unictype/scripts-tests (Files): Likewise.
6556         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
6557         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
6558         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
6559         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
6560         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
6561         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
6562         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
6563         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
6564         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
6565         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
6566         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
6567         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
6568         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
6569         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
6570         * modules/uninorm/composition-tests (Files): Likewise.
6571         * modules/uninorm/decomposing-form-tests (Files): Likewise.
6572         * modules/uninorm/decomposition-tests (Files): Likewise.
6573         * modules/uninorm/filter-tests (Files): Likewise.
6574         * modules/uninorm/nfc-tests (Files): Likewise.
6575         * modules/uninorm/nfd-tests (Files): Likewise.
6576         * modules/uninorm/nfkc-tests (Files): Likewise.
6577         * modules/uninorm/nfkd-tests (Files): Likewise.
6578         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
6579         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
6580         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
6581         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
6582         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
6583         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
6584         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
6585         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6586         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
6587         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
6588         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
6589         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
6590         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6591         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
6592         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
6593         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
6594         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
6595         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6596         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
6597         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
6598         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
6599         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
6600         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6601         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
6602         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
6603         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
6604         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
6605         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
6606         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
6607         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
6608         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
6609         * modules/uniwidth/u8-width-tests (Files): Likewise.
6610         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
6611         * modules/uniwidth/u16-width-tests (Files): Likewise.
6612         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
6613         * modules/uniwidth/u32-width-tests (Files): Likewise.
6614         * modules/uniwidth/width-tests (Files): Likewise.
6615         * modules/unlink-tests (Files): Likewise.
6616         * modules/unsetenv-tests (Files): Likewise.
6617         * modules/usleep-tests (Files): Likewise.
6618         * modules/utimens-tests (Files): Likewise.
6619         * modules/utimensat-tests (Files): Likewise.
6620         * modules/vasnprintf-posix-tests (Files): Likewise.
6621         * modules/vasnprintf-tests (Files): Likewise.
6622         * modules/vasprintf-posix-tests (Files): Likewise.
6623         * modules/vasprintf-tests (Files): Likewise.
6624         * modules/vdprintf-posix-tests (Files): Likewise.
6625         * modules/vfprintf-posix-tests (Files): Likewise.
6626         * modules/vprintf-posix-tests (Files): Likewise.
6627         * modules/vsnprintf-posix-tests (Files): Likewise.
6628         * modules/vsnprintf-tests (Files): Likewise.
6629         * modules/vsprintf-posix-tests (Files): Likewise.
6630         * modules/wcrtomb-tests (Files): Likewise.
6631         * modules/wcsnrtombs-tests (Files): Likewise.
6632         * modules/wcsrtombs-tests (Files): Likewise.
6633         * modules/wctype-tests (Files): Likewise.
6634         * modules/wcwidth-tests (Files): Likewise.
6635         * modules/xmemdup0-tests (Files): Likewise.
6636         * modules/xprintf-posix-tests (Files): Likewise.
6637         * modules/xvasprintf-tests (Files): Likewise.
6638
6639 2009-12-24  Eric Blake  <ebb9@byu.net>
6640
6641         test-nanosleep: fix typo
6642         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
6643         patch.
6644         Reported by Bruno Haible.
6645
6646 2009-12-24  Bruno Haible  <bruno@clisp.org>
6647
6648         Reduce namespace pollution on glibc systems.
6649         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
6650         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
6651         systems.
6652         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
6653         <getopt.h> on glibc systems.
6654         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
6655         systems.
6656         * lib/fcntl.c: Include <unistd.h> here instead.
6657
6658 2009-12-24  Bruno Haible  <bruno@clisp.org>
6659
6660         * lib/stdlib.in.h (includes): Fix typo in today's commit.
6661
6662 2009-12-24  Eric Blake  <ebb9@byu.net>
6663
6664         tests: add signature checks
6665         * tests/signature.h (SIGNATURE_CHECK): New file.
6666         * modules/atexit-tests (Files): Use it.
6667         * modules/btowc-tests (Files): Likewise.
6668         * modules/canonicalize-lgpl-tests (Files): Likewise.
6669         * modules/ceilf-tests (Files): Likewise.
6670         * modules/ceill-tests (Files): Likewise.
6671         * modules/chown-tests (Files): Likewise.
6672         * modules/dprintf-posix-tests (Files): Likewise.
6673         * modules/dup2-tests (Files): Likewise.
6674         * modules/dup3-tests (Files): Likewise.
6675         * modules/duplocale-tests (Files): Likewise.
6676         * modules/fchdir-tests (Files): Likewise.
6677         * modules/fcntl-tests (Files): Likewise.
6678         * modules/fdopendir-tests (Files): Likewise.
6679         * modules/fflush-tests (Files): Likewise.
6680         * modules/flock-tests (Files): Likewise.
6681         * modules/floorf-tests (Files): Likewise.
6682         * modules/floorl-tests (Files): Likewise.
6683         * modules/fnmatch-tests (Files): Likewise.
6684         * modules/fopen-tests (Files): Likewise.
6685         * modules/fprintf-posix-tests (Files): Likewise.
6686         * modules/freopen-tests (Files): Likewise.
6687         * modules/frexp-nolibm-tests (Files): Likewise.
6688         * modules/frexp-tests (Files): Likewise.
6689         * modules/frexpl-nolibm-tests (Files): Likewise.
6690         * modules/frexpl-tests (Files): Likewise.
6691         * modules/fseek-tests (Files): Likewise.
6692         * modules/fseeko-tests (Files): Likewise.
6693         * modules/fsync-tests (Files): Likewise.
6694         * modules/ftell-tests (Files): Likewise.
6695         * modules/ftello-tests (Files): Likewise.
6696         * modules/futimens-tests (Files): Likewise.
6697         * modules/getaddrinfo-tests (Files): Likewise.
6698         * modules/getcwd-tests (Files): Likewise.
6699         * modules/getdelim-tests (Files): Likewise.
6700         * modules/getdtablesize-tests (Files): Likewise.
6701         * modules/getgroups-tests (Files): Likewise.
6702         * modules/gethostname-tests (Files): Likewise.
6703         * modules/getline-tests (Files): Likewise.
6704         * modules/getopt-posix-tests (Files): Likewise.
6705         * modules/gettimeofday-tests (Files): Likewise.
6706         * modules/glob-tests (Files): Likewise.
6707         * modules/iconv-tests (Files): Likewise.
6708         * modules/inet_ntop-tests (Files): Likewise.
6709         * modules/inet_pton-tests (Files): Likewise.
6710         * modules/isblank-tests (Files): Likewise.
6711         * modules/lchown-tests (Files): Likewise.
6712         * modules/ldexpl-tests (Files): Likewise.
6713         * modules/link-tests (Files): Likewise.
6714         * modules/linkat-tests (Files): Likewise.
6715         * modules/lseek-tests (Files): Likewise.
6716         * modules/lstat-tests (Files): Likewise.
6717         * modules/mbrtowc-tests (Files): Likewise.
6718         * modules/mbsinit-tests (Files): Likewise.
6719         * modules/mbsnrtowcs-tests (Files): Likewise.
6720         * modules/mbsrtowcs-tests (Files): Likewise.
6721         * modules/memchr-tests (Files): Likewise.
6722         * modules/memcmp-tests (Files): Likewise.
6723         * modules/memmem-tests (Files): Likewise.
6724         * modules/memrchr-tests (Files): Likewise.
6725         * modules/mkdir-tests (Files): Likewise.
6726         * modules/mkfifo-tests (Files): Likewise.
6727         * modules/mkfifoat-tests (Files): Likewise.
6728         * modules/mknod-tests (Files): Likewise.
6729         * modules/nanosleep-tests (Files): Likewise.
6730         * modules/nl_langinfo-tests (Files): Likewise.
6731         * modules/obstack-printf-tests (Files): Likewise.
6732         * modules/open-tests (Files): Likewise.
6733         * modules/openat-tests (Files): Likewise.
6734         * modules/perror-tests (Files): Likewise.
6735         * modules/pipe2-tests (Files): Likewise.
6736         * modules/poll-tests (Files): Likewise.
6737         * modules/popen-tests (Files): Likewise.
6738         * modules/posix_spawn-tests (Files): Likewise.
6739         * modules/posix_spawnp-tests (Files): Likewise.
6740         * modules/pread-tests (Files): Likewise.
6741         * modules/printf-posix-tests (Files): Likewise.
6742         * modules/pty-tests (Files): Likewise.
6743         * modules/random_r-tests (Files): Likewise.
6744         * modules/rawmemchr-tests (Files): Likewise.
6745         * modules/readlink-tests (Files): Likewise.
6746         * modules/remove-tests (Files): Likewise.
6747         * modules/rename-tests (Files): Likewise.
6748         * modules/renameat-tests (Files): Likewise.
6749         * modules/rmdir-tests (Files): Likewise.
6750         * modules/round-tests (Files): Likewise.
6751         * modules/roundf-tests (Files): Likewise.
6752         * modules/roundl-tests (Files): Likewise.
6753         * modules/select-tests (Files): Likewise.
6754         * modules/setenv-tests (Files): Likewise.
6755         * modules/sigaction-tests (Files): Likewise.
6756         * modules/sleep-tests (Files): Likewise.
6757         * modules/snprintf-posix-tests (Files): Likewise.
6758         * modules/snprintf-tests (Files): Likewise.
6759         * modules/sprintf-posix-tests (Files): Likewise.
6760         * modules/stat-tests (Files): Likewise.
6761         * modules/strcasestr-tests (Files): Likewise.
6762         * modules/strchrnul-tests (Files): Likewise.
6763         * modules/strerror-tests (Files): Likewise.
6764         * modules/strsignal-tests (Files): Likewise.
6765         * modules/strstr-tests (Files): Likewise.
6766         * modules/strtod-tests (Files): Likewise.
6767         * modules/strverscmp-tests (Files): Likewise.
6768         * modules/symlink-tests (Files): Likewise.
6769         * modules/symlinkat-tests (Files): Likewise.
6770         * modules/times-tests (Files): Likewise.
6771         * modules/trunc-tests (Files): Likewise.
6772         * modules/truncf-tests (Files): Likewise.
6773         * modules/truncl-tests (Files): Likewise.
6774         * modules/tsearch-tests (Files): Likewise.
6775         * modules/uname-tests (Files): Likewise.
6776         * modules/unlink-tests (Files): Likewise.
6777         * modules/unsetenv-tests (Files): Likewise.
6778         * modules/usleep-tests (Files): Likewise.
6779         * modules/utimensat-tests (Files): Likewise.
6780         * modules/vasprintf-tests (Files): Likewise.
6781         * modules/vdprintf-posix-tests (Files): Likewise.
6782         * modules/vfprintf-posix-tests (Files): Likewise.
6783         * modules/vprintf-posix-tests (Files): Likewise.
6784         * modules/vsnprintf-posix-tests (Files): Likewise.
6785         * modules/vsnprintf-tests (Files): Likewise.
6786         * modules/vsprintf-posix-tests (Files): Likewise.
6787         * modules/wcrtomb-tests (Files): Likewise.
6788         * modules/wcsnrtombs-tests (Files): Likewise.
6789         * modules/wcsrtombs-tests (Files): Likewise.
6790         * modules/wcwidth-tests (Files): Likewise.
6791         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
6792         * tests/test-isinf.c (isinf): Likewise.
6793         * tests/test-isnan.c (isnan): Likewise.
6794         * tests/test-signbit.c (signbit): Likewise.
6795         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
6796         declaration, either as macro or with correct signature.
6797         (select): Ensure function under test is declared with correct
6798         signature in correct header.
6799         * tests/test-atexit.c (atexit): Likewise.
6800         * tests/test-btowc.c (btowc): Likewise.
6801         * tests/test-canonicalize-lgpl.c (realpath)
6802         (canonicalize_file_name): Likewise.
6803         * tests/test-ceilf1.c (ceilf): Likewise.
6804         * tests/test-ceill.c (ceill): Likewise.
6805         * tests/test-chown.c (chown): Likewise.
6806         * tests/test-dprintf-posix.c (dprintf): Likewise.
6807         * tests/test-dup2.c (dup2): Likewise.
6808         * tests/test-dup3.c (dup3): Likewise.
6809         * tests/test-duplocale.c (duplocale): Likewise.
6810         * tests/test-fchdir.c (fchdir): Likewise.
6811         * tests/test-fchownat.c (fchownat): Likewise.
6812         * tests/test-fcntl.c (fcntl): Likewise.
6813         * tests/test-fdopendir.c (fdopendir): Likewise.
6814         * tests/test-fflush.c (fflush): Likewise.
6815         * tests/test-flock.c (flock): Likewise.
6816         * tests/test-floorf1.c (floorf): Likewise.
6817         * tests/test-floorl.c (floorl): Likewise.
6818         * tests/test-fnmatch.c (fnmatch): Likewise.
6819         * tests/test-fopen.c (fopen): Likewise.
6820         * tests/test-fprintf-posix.c (fprintf): Likewise.
6821         * tests/test-freopen.c (freopen): Likewise.
6822         * tests/test-frexp.c (frexp): Likewise.
6823         * tests/test-frexpl.c (frexpl): Likewise.
6824         * tests/test-fseek.c (fseek): Likewise.
6825         * tests/test-fseeko.c (fseeko): Likewise.
6826         * tests/test-fstatat.c (fstatat): Likewise.
6827         * tests/test-fsync.c (fsync): Likewise.
6828         * tests/test-ftell.c (ftell): Likewise.
6829         * tests/test-ftello.c (ftello): Likewise.
6830         * tests/test-futimens.c (futimens): Likewise.
6831         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
6832         (gai_strerror): Likewise.
6833         * tests/test-getcwd.c (getcwd): Likewise.
6834         * tests/test-getdelim.c (getdelim): Likewise.
6835         * tests/test-getdtablesize.c (getdtablesize): Likewise.
6836         * tests/test-getgroups.c (getgroups): Likewise.
6837         * tests/test-gethostname.c (gethostname): Likewise.
6838         * tests/test-getline.c (getline): Likewise.
6839         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
6840         Likewise.
6841         * tests/test-gettimeofday.c (gettimeofday): Likewise.
6842         * tests/test-glob.c (glob, globfree): Likewise.
6843         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
6844         * tests/test-inet_ntop.c (inet_ntop): Likewise.
6845         * tests/test-inet_pton.c (inet_pton): Likewise.
6846         * tests/test-isblank.c (isblank): Likewise.
6847         * tests/test-lchown.c (lchown): Likewise.
6848         * tests/test-ldexpl.c (ldexpl): Likewise.
6849         * tests/test-link.c (link): Likewise.
6850         * tests/test-linkat.c (linkat): Likewise.
6851         * tests/test-lseek.c (lseek): Likewise.
6852         * tests/test-lstat.c (lstat): Likewise.
6853         * tests/test-mbrtowc.c (mbrtowc): Likewise.
6854         * tests/test-mbsinit.c (mbsinit): Likewise.
6855         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
6856         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
6857         * tests/test-memchr.c (memchr): Likewise.
6858         * tests/test-memcmp.c (memcmp): Likewise.
6859         * tests/test-memmem.c (memmem): Likewise.
6860         * tests/test-memrchr.c (memrchr): Likewise.
6861         * tests/test-mkdir.c (mkdir): Likewise.
6862         * tests/test-mkdirat.c (mkdirat): Likewise.
6863         * tests/test-mkfifo.c (mkfifo): Likewise.
6864         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
6865         * tests/test-mknod.c (mknod): Likewise.
6866         * tests/test-nanosleep.c (nanosleep): Likewise.
6867         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
6868         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
6869         Likewise.
6870         * tests/test-open.c (open): Likewise.
6871         * tests/test-openat.c (openat): Likewise.
6872         * tests/test-perror.c (perror): Likewise.
6873         * tests/test-pipe2.c (pipe2): Likewise.
6874         * tests/test-poll.c (poll): Likewise.
6875         * tests/test-popen.c (popen, pclose): Likewise.
6876         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
6877         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
6878         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
6879         (posix_spawn_file_actions_destroy)
6880         (posix_spawn_file_actions_addclose)
6881         (posix_spawn_file_actions_addopen)
6882         (posix_spawn_file_actions_adddup2): Likewise.
6883         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
6884         * tests/test-pread.c (pread): Likewise.
6885         * tests/test-printf-posix.c (printf): Likewise.
6886         * tests/test-pty.c (openpty, forkpty): Likewise.
6887         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
6888         (random_r): Likewise.
6889         * tests/test-rawmemchr.c (rawmemchr): Likewise.
6890         * tests/test-readlink.c (readlink): Likewise.
6891         * tests/test-remove.c (remove): Likewise.
6892         * tests/test-rename.c (rename): Likewise.
6893         * tests/test-renameat.c (renameat): Likewise.
6894         * tests/test-rmdir.c (rmdir): Likewise.
6895         * tests/test-round1.c (round): Likewise.
6896         * tests/test-roundf1.c (roundf): Likewise.
6897         * tests/test-roundl.c (roundl): Likewise.
6898         * tests/test-setenv.c (setenv): Likewise.
6899         * tests/test-sigaction.c (sigaction): Likewise.
6900         * tests/test-sleep.c (sleep): Likewise.
6901         * tests/test-snprintf.c (snprintf): Likewise.
6902         * tests/test-sprintf-posix.c (sprintf): Likewise.
6903         * tests/test-stat.c (stat): Likewise.
6904         * tests/test-stpncpy.c (stpncpy): Likewise.
6905         * tests/test-strcasestr.c (strcasestr): Likewise.
6906         * tests/test-strchrnul.c (strchrnul): Likewise.
6907         * tests/test-strerror.c (strerror): Likewise.
6908         * tests/test-strsignal.c (strsignal): Likewise.
6909         * tests/test-strstr.c (strstr): Likewise.
6910         * tests/test-strtod.c (strtod): Likewise.
6911         * tests/test-strverscmp.c (strverscmp): Likewise.
6912         * tests/test-symlink.c (symlink): Likewise.
6913         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
6914         * tests/test-times.c (times): Likewise.
6915         * tests/test-trunc1.c (trunc): Likewise.
6916         * tests/test-truncf1.c (truncf): Likewise.
6917         * tests/test-truncl.c (truncl): Likewise.
6918         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
6919         Likewise.
6920         * tests/test-uname.c (uname): Likewise.
6921         * tests/test-unlink.c (unlink): Likewise.
6922         * tests/test-unlinkat.c (unlinkat): Likewise.
6923         * tests/test-unsetenv.c (unsetenv): Likewise.
6924         * tests/test-usleep.c (usleep): Likewise.
6925         * tests/test-utimensat.c (utimensat): Likewise.
6926         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
6927         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
6928         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
6929         * tests/test-vprintf-posix.c (vprintf): Likewise.
6930         * tests/test-vsnprintf.c (vsnprintf): Likewise.
6931         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
6932         * tests/test-wcrtomb.c (wcrtomb): Likewise.
6933         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
6934         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
6935         * tests/test-wcwidth.c (wcwidth): Likewise.
6936
6937         build: pull in conditional headers during GNULIB_POSIXCHECK
6938         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
6939         definitions from any conditionally-included headers.
6940         * lib/stdlib.in.h (includes): Likewise.
6941         * lib/unistd.in.h (includes): Likewise.
6942
6943 2009-12-24  Bruno Haible  <bruno@clisp.org>
6944
6945         * tests/test-argv-iter.c: Include header file being tested immediately
6946         after config.h.
6947         * tests/test-base64.c: Likewise.
6948         * tests/test-flock.c: Likewise.
6949         * tests/test-fsync.c: Likewise.
6950         * tests/test-getdate.c: Likewise.
6951         * tests/test-getndelim2.c: Likewise.
6952         * tests/test-isfinite.c: Likewise.
6953         * tests/test-isinf.c: Likewise.
6954         * tests/test-strerror.c: Likewise.
6955         * tests/test-strsignal.c: Likewise.
6956
6957 2009-12-23  Eric Blake  <ebb9@byu.net>
6958
6959         unistd: work around cygwin bug
6960         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
6961         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
6962         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
6963
6964 2009-12-23  Bruno Haible  <bruno@clisp.org>
6965
6966         localename: More tests.
6967         * tests/test-localename.c (SIZEOF): New macro.
6968         (categories): New variable.
6969         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
6970         test_locale_name_default): Add test w.r.t. thread locale.
6971         (test_locale_name_thread): New function.
6972         (main): Invoke it.
6973
6974         localename: Make aware of thread locale.
6975         * lib/localename.h (gl_locale_name_thread): New declaration.
6976         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
6977         behaviour with respect to thread locale.
6978         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
6979         <langinfo.h>, glthread/lock.h.
6980         (SIZE_BITS): New macro.
6981         (string_hash): New function.
6982         (struct hash_node): New type.
6983         (HASH_TABLE_SIZE): New macro.
6984         (struniq_hash_table, struniq_lock): New variables.
6985         (struniq): New function.
6986         (gl_locale_name_thread): New function.
6987         (gl_locale_name): Invoke it.
6988         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
6989         * modules/localename (Depends-on): Add lock.
6990         Reported by Mike Gran <spk121@yahoo.com>.
6991
6992 2009-12-23  Eric Blake  <ebb9@byu.net>
6993
6994         va-args: new module
6995         * modules/va-args: New file.
6996         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
6997         * MODULES.html.sh (Core language properties): Mention it.
6998
6999         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
7000         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
7001         named alias for __attribute__((__unused__)).
7002         * lib/chown.c: Update client.
7003         * lib/fchmodat.c: Likewise.
7004         * lib/fts.c: Likewise.
7005         * lib/getdate.y: Likewise.
7006         * lib/getgroups.c: Likewise.
7007         * lib/getopt.c: Likewise.
7008         * lib/getugroups.c: Likewise.
7009         * lib/mkdir.c: Likewise.
7010         * lib/mkfifo.c: Likewise.
7011         * lib/mkfifoat.c: Likewise.
7012         * lib/mknod.c: Likewise.
7013         * lib/mknodat.c: Likewise.
7014         * lib/readlink.c: Likewise.
7015         * lib/se-context.in.h: Likewise.
7016         * lib/se-selinux.in.h: Likewise.
7017         * lib/sockets.c: Likewise.
7018         * lib/symlink.c: Likewise.
7019         * lib/symlinkat.c: Likewise.
7020         * lib/unicodeio.c: Likewise.
7021         * lib/unistr.h: Likewise.
7022         * tests/test-areadlink.c: Likewise.
7023         * tests/test-areadlinkat.c: Likewise.
7024         * tests/test-filenamecat.c: Likewise.
7025         * tests/test-fseeko.c: Likewise.
7026         * tests/test-ftello.c: Likewise.
7027         * tests/test-getdate.c: Likewise.
7028         * tests/test-getgroups.c: Likewise.
7029         * tests/test-gethostname.c: Likewise.
7030         * tests/test-quotearg.c: Likewise.
7031         * tests/test-version-etc.c: Likewise.
7032         * tests/test-xalloc-die.c: Likewise.
7033         * tests/test-xfprintf-posix.c: Likewise.
7034         * tests/test-xprintf-posix.c: Likewise.
7035         * tests/test-xvasprintf.c: Likewise.
7036
7037         tests: avoid compiler warnings
7038         * tests/test-fcntl.c (main): Delete unused parameters.
7039         * tests/test-freopen-safer.c (main): Likewise.
7040         * tests/test-xalloc-die.c (main): Mark unused parameters.
7041         * tests/test-fseeko.c (main): Likewise.
7042         * tests/test-ftello.c (main): Likewise.
7043         * tests/test-nanosleep.c (main): Avoid declaration warning.
7044         * tests/test-sleep.c (main): Likewise.
7045         * tests/test-unsetenv.c (main): Silence warning about string
7046         literal.
7047         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
7048
7049 2009-12-23  Bruno Haible  <bruno@clisp.org>
7050
7051         * tests/test-localename.c (test_locale_name): New function, extracted
7052         from main. Also test mixed situations.
7053         (test_locale_name_posix, test_locale_name_environ,
7054         test_locale_name_default): New functions.
7055         (main): Invoke them all.
7056         * modules/localename-tests (configure.ac): Test for newlocale.
7057
7058 2009-12-23  Bruno Haible  <bruno@clisp.org>
7059
7060         unistd: Ensure getcwd gets declared before being overridden.
7061         * lib/unistd.in.h: Conditionally include <io.h>.
7062
7063 2009-12-22  Bruno Haible  <bruno@clisp.org>
7064
7065         wchar: Diagnose broken combination of glibc and gcc versions and flags.
7066         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
7067         (gl_WCHAR_H): Invoke it.
7068         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
7069         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
7070         Reported by Karl Berry <karl@freefriends.org>.
7071
7072 2009-12-22  Eric Blake  <ebb9@byu.net>
7073
7074         math, unistd: avoid redundant includes
7075         * lib/math.in.h (isnan): No need to re-include <math.h>.
7076         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
7077
7078         getsubopt: work around cygwin bug
7079         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
7080         avoid conflicting with system getsubopt.
7081         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
7082         bug.
7083
7084         getopt: synchronize from glibc
7085         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
7086         parameter order.  Adjust all callers.
7087         (_getopt_internal_r, main): Adjust quoting in error messages.
7088         Drop considerations for outdated POSIX 1003.2 error message.
7089         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
7090         callers.
7091         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
7092
7093         test-getopt: test stderr behavior
7094         * modules/getopt-posix-tests (Depends-on): Add dup2.
7095         * tests/test-getopt.c (ASSERT): Avoid stderr.
7096         (main): Move stderr to a temporary file.
7097         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
7098         Instead, add parameter to inform caller if output occurred.
7099         (test_getopt): Adjust all existing tests to expect silence, and
7100         add new tests of leading ":".
7101         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7102         glibc shortcomings with leading "-:" or "+:" in optstring.
7103         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7104         Likewise.
7105         * doc/posix-functions/getopt.texi (getopt): Likewise.
7106
7107         test-getopt: enhance test
7108         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
7109         supports optind=0.
7110         * tests/test-getopt.c (OPTIND_MIN): Move...
7111         * tests/test-getopt.h (OPTIND_MIN): ...here.
7112         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
7113         Require that optind=0 works, since modern BSD supports it in
7114         addition to optreset, and since coreutils expects it.
7115         (test_getopt_long_only): New test.
7116         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
7117         glibc shortcomings with 'W;', and enforcement of optind=0.
7118         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7119         Likewise.
7120
7121 2009-12-21  Bruno Haible  <bruno@clisp.org>
7122
7123         localename: Improvements for MacOS X and Cygwin.
7124         * lib/localename.h (gl_locale_name_environ): New declaration.
7125         * lib/localename.c (gl_locale_name_environ): New function, extracted from
7126         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
7127         (gl_locale_name_posix): Invoke it.
7128         (gl_locale_name_default): Add comments. Use Windows native API also on
7129         Cygwin.
7130
7131 2009-12-21  Bruno Haible  <bruno@clisp.org>
7132
7133         Update list of Win32 locale ids.
7134         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
7135         (LANG_SAMI): Renamed from LANG_SAAMI.
7136         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
7137         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
7138         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
7139         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
7140         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
7141         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
7142         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
7143         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
7144         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
7145         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
7146         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
7147         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
7148         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
7149         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
7150         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
7151         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
7152         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
7153         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
7154         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
7155         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
7156         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
7157         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
7158         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
7159         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
7160         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
7161         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
7162         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
7163         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
7164         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
7165         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
7166         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
7167         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
7168         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
7169         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
7170         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
7171         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
7172         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
7173         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
7174         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
7175         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
7176         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
7177         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
7178         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
7179         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
7180         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
7181         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
7182         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
7183         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
7184         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
7185         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
7186         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
7187         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
7188         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
7189         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
7190         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
7191         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
7192         Add more languages and countries for Sami, Sorbian. Add more countries
7193         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
7194         for Pashto. Change country for Syriac, Tswana.
7195
7196 2009-12-21  Eric Blake  <ebb9@byu.net>
7197
7198         test-utimens: avoid spurious failure
7199         * tests/test-chown.h (nap): Factor...
7200         * tests/nap.h: ...into new file.
7201         * tests/test-lchown.h (nap): Avoid duplication.
7202         * tests/test-utimens-common.h (nap): Use shared implementation,
7203         necessary on file systems with 1-second resolution.
7204         * modules/chown-tests (Files): Include new file.
7205         * modules/fdutimensat-tests (Files): Likewise.
7206         * modules/futimens-tests (Files): Likewise.
7207         * modules/lchown-tests (Files): Likewise.
7208         * modules/openat-tests (Files): Likewise.
7209         * modules/utimens-tests (Files): Likewise.
7210         * modules/utimensat-tests (Files): Likewise.
7211
7212 2009-12-19  Eric Blake  <ebb9@byu.net>
7213
7214         futimens, utimensat: work around Linux bug
7215         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
7216         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7217         * lib/utimensat.c (rpl_utimensat): Work around it.
7218         * lib/futimens.c (rpl_futimens): Adjust comment.
7219
7220         utimens: work around Linux ctime bug
7221         * lib/utimens.c (detect_ctime_bug): New helper function.
7222         (update_timespec): Differentiate between workaround needed for
7223         this bug vs. what is needed for systems that lack utimensat.
7224         (fdutimens, lutimens): Work around bug.
7225
7226         utimens: check for ctime update
7227         * tests/test-utimens-common.h (check_ctime): Define.
7228         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
7229         * tests/test-futimens.h (test_futimens): Likewise.
7230         * tests/test-lutimens.h (test_lutimens): Likewise.
7231         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7232         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
7233
7234 2009-12-19  Bruno Haible  <bruno@clisp.org>
7235
7236         dprintf-posix: Check against memory leak fixed on 2009-12-15.
7237         * tests/test-dprintf-posix2.sh: New file.
7238         * tests/test-dprintf-posix2.c: New file.
7239         * modules/dprintf-posix-tests (Files): Add them.
7240         (configure.ac): Check for getrlimit and setrlimit.
7241         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7242
7243 2009-12-19  Bruno Haible  <bruno@clisp.org>
7244
7245         fprintf-posix: Check against memory leak fixed on 2009-12-15.
7246         * tests/test-fprintf-posix3.sh: New file.
7247         * tests/test-fprintf-posix3.c: New file.
7248         * modules/fprintf-posix-tests (Files): Add them.
7249         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7250
7251 2009-12-19  Eric Blake  <ebb9@byu.net>
7252
7253         dirfd: fix prototype
7254         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
7255         * lib/dirfd.c (dirfd): Likewise.
7256
7257         canonicalize: reduce memory usage
7258         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
7259         allocation to size.
7260         Reported by Solar Designer <solar@openwall.com>.
7261
7262 2009-12-19  Bruno Haible  <bruno@clisp.org>
7263
7264         New module attribute 'Applicability'.
7265         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
7266         * gnulib-tool: New option --extract-applicability.
7267         (func_usage): Document it.
7268         (sed_extract_prog): Recognize it.
7269         (func_get_applicability): New function.
7270         (func_import): Generalize handling of 'link-warning' module.
7271         * modules/link-warning (Applicability): New section.
7272         * modules/arg-nonnull (Applicability): New section.
7273         Repoted by Simon Josefsson <simon@josefsson.org>.
7274
7275 2009-12-19  Bruno Haible  <bruno@clisp.org>
7276
7277         fflush: tweak
7278         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
7279         * lib/fseeko.c (rpl_fseeko): Likewise.
7280
7281 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
7282
7283         * lib/gl_list.h: Fix typo in comment.
7284
7285 2009-12-16  Eric Blake  <ebb9@byu.net>
7286
7287         fcntl: use to simplify other modules
7288         * modules/cloexec (Depends-on): Add fcntl.
7289         * modules/fchdir (Depends-on): Likewise.
7290         * modules/fd-safer-flag (Depends-on): Likewise.
7291         * modules/unistd-safer (Depends-on): Likewise.
7292         * modules/dup3 (configure.ac): Set module indicator.
7293         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
7294         missing.
7295         * lib/fchdir.c (_gl_register_dup): Fix comment.
7296         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
7297         * lib/dup-safer.c (dup_safer): Likewise.
7298         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
7299         * lib/dup3.c (dup3): Likewise.
7300         * tests/test-fchdir.c (main): Enhance test.
7301         Fixes a dup_cloexec bug reported by Ondřej Vašík.
7302
7303         fcntl: port portions of fcntl to mingw
7304         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
7305         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
7306         replacement for mingw.
7307         * modules/fcntl (Description): Update.
7308         (Depends-on): Add dup2.
7309         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
7310         * modules/fcntl-h (Makefile.am): Substitute it.
7311         * lib/fcntl.in.h (fcntl): Update declaration.
7312         (F_DUPFD, F_GETFD): New macros, when needed.
7313         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7314         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
7315         * tests/test-fcntl.c (check_flags, main): Enhance test for items
7316         we now guarantee.
7317
7318         fcntl: work around cygwin bug in F_DUPFD
7319         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
7320         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
7321         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
7322         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
7323         * doc/posix-functions/fcntl.texi (fcntl): Document it.
7324
7325         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
7326         * modules/fcntl (Files): List new files.
7327         (configure.ac): Run a test.
7328         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
7329         * lib/fcntl.c (rpl_fcntl): Likewise.
7330         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
7331         (gl_FCNTL_H): Always replace fcntl.h.
7332         * modules/fcntl-h (Makefile.am): Substitute witnesses.
7333         * lib/fcntl.in.h (fcntl): Declare replacement.
7334         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
7335         needed, plus a witness.
7336         * doc/posix-functions/fcntl.texi (fcntl): Document this.
7337         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7338         * tests/test-fcntl.c: New file.
7339         * modules/fcntl-tests: Likewise.
7340
7341         binary-io: avoid potential compilation warning
7342         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
7343         directives.
7344
7345         fflush: avoid compilation error on NetBSD
7346         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
7347         between off_t and fpos_t, since the latter is sometimes a struct.
7348         * lib/fseeko.c (rpl_fseeko): Likewise.
7349         Reported by Alexander Nasonov <alnsn@yandex.ru>.
7350
7351 2009-12-15  Eric Blake  <ebb9@byu.net>
7352
7353         fcntl-h, stdio, sys_ioctl: fix declarations
7354         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
7355         function must not take arguments.
7356         * lib/sys_ioctl.in.h (ioctl): Likewise.
7357         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
7358         (open): Add a link warning.
7359
7360 2009-12-15  Jim Meyering  <meyering@redhat.com>
7361
7362         areadlink, areadlink-with-size: relax license to LGPLv2+
7363         * modules/areadlink (License): Relax to LGPLv2+.
7364         * modules/areadlink-with-size (License): Likewise.
7365
7366 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
7367             Bruno Haible  <bruno@clisp.org>
7368
7369         *printf: Fix memory leak.
7370         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
7371         * lib/vfprintf.c (vfprintf): Likewise.
7372         * lib/dprintf.c (dprintf): Likewise.
7373         * lib/vdprintf.c (vdprintf): Likewise.
7374
7375 2009-12-14  Eric Blake  <ebb9@byu.net>
7376
7377         accept4: adjust module dependencies
7378         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
7379
7380         utimens: one more try at avoiding compiler warning
7381         * lib/utimens.c (lutimens): Lower scope of result.
7382
7383 2009-12-13  Bruno Haible  <bruno@clisp.org>
7384
7385         Move the malloc checking from module 'list' to new module 'xlist'.
7386         * modules/xlist: New file.
7387         * lib/gl_xlist.h: New file.
7388         * lib/gl_xlist.c: New file.
7389         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
7390         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
7391         gl_list_add_last, gl_list_add_before, gl_list_add_after,
7392         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
7393         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
7394         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
7395         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
7396         gl_sortedlist_nx_add): New declarations.
7397         (struct gl_list_implementation): Rename and change methods accordingly.
7398         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
7399         (gl_list_nx_create): Renamed from gl_list_create.
7400         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7401         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7402         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7403         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7404         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7405         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7406         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7407         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7408         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
7409         gl_list_create_empty.
7410         (gl_list_nx_create): Renamed from gl_list_create.
7411         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7412         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7413         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7414         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7415         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7416         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7417         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7418         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7419         * lib/gl_array_list.c: Don't include xalloc.h.
7420         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
7421         NULL upon out-of-memory.
7422         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
7423         out-of-memory.
7424         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
7425         Change return type to 'int'.
7426         (gl_array_nx_set_at): Renamed from gl_array_set_at.
7427         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7428         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
7429         upon out-of-memory.
7430         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
7431         upon out-of-memory.
7432         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
7433         upon out-of-memory.
7434         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
7435         upon out-of-memory.
7436         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
7437         out-of-memory.
7438         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
7439         Update.
7440         (gl_array_list_implementation): Update.
7441         * lib/gl_carray_list.c: Don't include xalloc.h.
7442         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
7443         Return NULL upon out-of-memory.
7444         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
7445         out-of-memory.
7446         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
7447         Change return type to 'int'.
7448         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
7449         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7450         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
7451         upon out-of-memory.
7452         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
7453         upon out-of-memory.
7454         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
7455         out-of-memory.
7456         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
7457         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
7458         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
7459         Update.
7460         (gl_carray_list_implementation): Update.
7461         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
7462         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
7463         gl_linked_create_empty. Return NULL upon out-of-memory.
7464         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
7465         out-of-memory.
7466         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
7467         Change return type to 'int'. Return -1 upon out-of-memory.
7468         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
7469         out-of-memory.
7470         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
7471         upon out-of-memory.
7472         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
7473         upon out-of-memory.
7474         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
7475         NULL upon out-of-memory.
7476         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
7477         upon out-of-memory.
7478         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
7479         out-of-memory.
7480         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
7481         Update.
7482         * lib/gl_linked_list.c: Don't include xalloc.h.
7483         (gl_linked_list_implementation): Update.
7484         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
7485         (add_to_bucket): Change return type to 'int'.
7486         (gl_linkedhash_list_implementation): Update.
7487         * lib/gl_anytree_list1.h (free_subtree): New function.
7488         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
7489         gl_tree_create_empty. Return NULL upon out-of-memory.
7490         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
7491         Change return type to 'int'. Return -1 upon out-of-memory.
7492         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
7493         out-of-memory.
7494         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
7495         (gl_tree_remove_node): New function, moved here from
7496         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
7497         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
7498         Update.
7499         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
7500         malloc, not xmalloc. Return NULL upon out-of-memory.
7501         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7502         out-of-memory.
7503         (gl_tree_remove_node_from_tree): New function, extracted from
7504         gl_tree_remove_node.
7505         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7506         upon out-of-memory.
7507         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7508         out-of-memory.
7509         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7510         upon out-of-memory.
7511         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7512         upon out-of-memory.
7513         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7514         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
7515         not xmalloc. Return NULL upon out-of-memory.
7516         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7517         out-of-memory.
7518         (gl_tree_remove_node_from_tree): New function, extracted from
7519         gl_tree_remove_node.
7520         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7521         upon out-of-memory.
7522         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7523         out-of-memory.
7524         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7525         upon out-of-memory.
7526         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7527         upon out-of-memory.
7528         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7529         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
7530         gl_anytree_list1.h before gl_anyavltree_list2.h.
7531         (gl_avltree_list_implementation): Update.
7532         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
7533         gl_anytree_list1.h before gl_anyavltree_list2.h.
7534         (gl_rbtree_list_implementation): Update.
7535         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
7536         Change return type to 'int'. Return -1 upon out-of-memory. Use
7537         __builtin_expect.
7538         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
7539         (gl_avltreehash_list_implementation): Update.
7540         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
7541         (gl_rbtreehash_list_implementation): Update.
7542         * modules/array-list (Depends-on): Remove xalloc.
7543         * modules/carray-list (Depends-on): Likewise.
7544         * modules/linked-list (Depends-on): Likewise.
7545         * modules/linkedhash-list (Depends-on): Likewise.
7546         * modules/avltree-list (Depends-on): Likewise.
7547         * modules/rbtree-list (Depends-on): Likewise.
7548         * modules/avltreehash-list (Depends-on): Likewise.
7549         * modules/rbtreehash-list (Depends-on): Likewise.
7550
7551         * modules/xsublist: New file.
7552         * lib/gl_xsublist.h: New file.
7553         * lib/gl_xsublist.c: New file.
7554         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
7555         (gl_sublist_nx_create): New declaration.
7556         * lib/gl_sublist.c: Don't include xalloc.h.
7557         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
7558         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
7559         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
7560         Change return type to 'int'. Return -1 upon out-of-memory.
7561         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
7562         upon out-of-memory.
7563         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
7564         NULL upon out-of-memory.
7565         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
7566         upon out-of-memory.
7567         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
7568         NULL upon out-of-memory.
7569         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
7570         NULL upon out-of-memory.
7571         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
7572         upon out-of-memory.
7573         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
7574         (gl_sublist_list_implementation): Update.
7575         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
7576         upon out-of-memory.
7577         * modules/sublist (Depends-on): Remove xalloc.
7578
7579         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
7580         * tests/test-carray_list.c: Likewise.
7581         * tests/test-linked_list.c: Likewise.
7582         * tests/test-linkedhash_list.c: Likewise.
7583         * tests/test-avltree_list.c: Likewise.
7584         * tests/test-rbtree_list.c: Likewise.
7585         * tests/test-avltreehash_list.c: Likewise.
7586         * tests/test-rbtreehash_list.c: Likewise.
7587         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
7588         * modules/carray-list-tests (Makefile.am): Likewise.
7589         * modules/linked-list-tests (Makefile.am): Likewise.
7590         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7591         * modules/avltree-list-tests (Makefile.am): Likewise.
7592         * modules/rbtree-list-tests (Makefile.am): Likewise.
7593         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7594         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7595
7596         * NEWS: Mention the changes.
7597
7598         * lib/clean-temp.c: Include gl_xlist.h.
7599         * modules/clean-temp (Depends-on): Add xlist.
7600
7601         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
7602         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
7603
7604         * tests/test-array_oset.c: Include gl_xlist.h.
7605         * modules/array-oset-tests (Depends-on): Add xlist.
7606
7607         Reported by José E. Marchesi <jemarch@gnu.org>.
7608
7609 2009-12-13  Bruno Haible  <bruno@clisp.org>
7610
7611         Move the malloc checking from module 'oset' to new module 'xoset'.
7612         * modules/xoset: New file.
7613         * lib/gl_xoset.h: New file.
7614         * lib/gl_xoset.c: New file.
7615         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
7616         declarations.
7617         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
7618         (struct gl_oset_implementation): Rename and change methods accordingly.
7619         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
7620         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7621         'int'. Mark as __warn_unused_result__.
7622         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
7623         gl_oset_create_empty.
7624         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7625         'int'.
7626         * lib/gl_array_oset.c: Don't include xalloc.h.
7627         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
7628         malloc, not xmalloc.
7629         (grow): Change return type to 'int'. Don't call xalloc_die.
7630         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
7631         to 'int'.
7632         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
7633         'int'.
7634         (gl_array_oset_implementation): Update.
7635         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
7636         gl_tree_create_empty.
7637         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
7638         'int'.
7639         * lib/gl_avltree_oset.c: Don't include xalloc.h.
7640         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7641         xmalloc.
7642         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7643         not xmalloc.
7644         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7645         xmalloc.
7646         (gl_avltree_oset_implementation): Update.
7647         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
7648         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7649         xmalloc.
7650         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7651         not xmalloc.
7652         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7653         xmalloc.
7654         (gl_rbtree_oset_implementation): Update.
7655         * modules/array-oset (Depends-on): Remove xalloc.
7656         * modules/avltree-oset (Depends-on): Likewise.
7657         * modules/rbtree-oset (Depends-on): Likewise.
7658         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
7659         * tests/test-avltree_oset.c: Likewise.
7660         * tests/test-rbtree_oset.c: Likewise.
7661         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
7662         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
7663         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7664         * NEWS: Mention the change.
7665
7666 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
7667
7668         maint.mk: allow a project to override release-prep commands
7669         * top/maint.mk (alpha, beta, stable): Move release-preparatory
7670         commands into a new rule.
7671         (release-prep): New rule.
7672         (release-prep-hook): New overridable variable.
7673
7674 2009-12-13  Bruno Haible  <bruno@clisp.org>
7675
7676         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
7677
7678 2009-12-13  Jim Meyering  <meyering@redhat.com>
7679
7680         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
7681         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
7682
7683 2009-12-12  Bruno Haible  <bruno@clisp.org>
7684
7685         duplocale: Tweak.
7686         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
7687
7688 2009-12-12  Karl Berry  <karl@gnu.org>
7689
7690         * config/srclist.txt (strtoll.c): tab changes, no more sync.
7691
7692 2009-12-12  Bruno Haible  <bruno@clisp.org>
7693
7694         * m4/po.m4: Undo incorrect untabification.
7695
7696 2009-12-12  Bruno Haible  <bruno@clisp.org>
7697
7698         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
7699         * modules/c-strtod (Depends-on): Add locale.
7700         * modules/c-strtold (Depends-on): Likewise.
7701
7702 2009-12-12  Bruno Haible  <bruno@clisp.org>
7703
7704         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
7705
7706 2009-12-11  Eric Blake  <ebb9@byu.net>
7707
7708         setenv: relax requirement in light of POSIX ruling
7709         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
7710         not NULL.
7711         * tests/test-setenv.c (main): Relax test.
7712         * tests/test-unsetenv.c (main): Likewise.
7713         * doc/posix-functions/setenv.texi (setenv): Document this.
7714         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
7715
7716 2009-12-11  Bruno Haible  <bruno@clisp.org>
7717
7718         New module 'fd-safer-flag'.
7719         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
7720         * lib/dup-safer.c (dup_safer_flag): Remove function.
7721         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
7722         * lib/fd-safer.c (fd_safer_flag): Remove function.
7723         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
7724         * modules/cloexec (configure.ac): Drop indicator macro.
7725         * modules/fd-safer-flag: New file.
7726         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
7727         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
7728         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
7729
7730 2009-12-11  Bruno Haible  <bruno@clisp.org>
7731
7732         Tests for module 'nl_langinfo'.
7733         * modules/nl_langinfo-tests: New file.
7734         * tests/test-nl_langinfo.sh: New file.
7735         * tests/test-nl_langinfo.c: New file.
7736
7737         New module 'nl_langinfo'.
7738         * lib/nl_langinfo.c: New file.
7739         * m4/nl_langinfo.m4: New file.
7740         * modules/nl_langinfo: New file.
7741         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
7742
7743 2009-12-11  Bruno Haible  <bruno@clisp.org>
7744
7745         Tests for module 'langinfo'.
7746         * modules/langinfo-tests: New file.
7747         * tests/test-langinfo.c: New file.
7748
7749         New module 'langinfo'.
7750         * lib/langinfo.in.h: New file.
7751         * m4/langinfo_h.m4: New file.
7752         * modules/langinfo: New file.
7753         * doc/posix-headers/langinfo.texi: Mention the new module.
7754
7755 2009-12-11  Bruno Haible  <bruno@clisp.org>
7756
7757         * lib/config.charset: Untabify.
7758
7759 2009-12-11  Bruno Haible  <bruno@clisp.org>
7760
7761         * modules/unistd-safer (configure.ac): Drop indicator macro.
7762
7763 2009-12-11  Bruno Haible  <bruno@clisp.org>
7764
7765         Move pipe2-safer code to its own file.
7766         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
7767         * lib/pipe-safer.c (pipe2_safer): Remove function.
7768         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
7769         (Makefile.am): Add it to lib_SOURCES.
7770
7771 2009-12-10  Bruno Haible  <bruno@clisp.org>
7772
7773         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
7774
7775 2009-12-10  Bruno Haible  <bruno@clisp.org>
7776
7777         Declare which arguments expect non-NULL values, for GCC and clang.
7778         * build-aux/arg-nonnull.h: New file.
7779         * modules/arg-nonnull: New file.
7780         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
7781         (inet_ntop, inet_pton): Use it.
7782         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
7783         (closedir, dirfd, opendir, scandir, alphasort): Use it.
7784         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
7785         (open, openat): Use it.
7786         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
7787         (fnmatch): Use it.
7788         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
7789         (getopt, getopt_long, getopt_long_only): Use it.
7790         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
7791         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
7792         Use it.
7793         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
7794         (iconv_open): Use it.
7795         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
7796         (strtoimax, strtoumax): Use it.
7797         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
7798         (duplocale): Use it.
7799         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
7800         (frexp, frexpl): Use it.
7801         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
7802         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
7803         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
7804         (tsearch, tfind, tdelete, twalk): Use it.
7805         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
7806         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7807         sigpending): Use it.
7808         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
7809         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7810         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7811         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7812         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7813         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7814         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7815         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7816         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7817         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7818         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7819         Use it.
7820         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
7821         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
7822         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
7823         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
7824         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
7825         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
7826         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
7827         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
7828         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
7829         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
7830         strtoull, unsetenv): Use it.
7831         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
7832         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
7833         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
7834         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
7835         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
7836         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
7837         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
7838         (strcasecmp, strncasecmp): Use it.
7839         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
7840         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
7841         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
7842         rpl_setsockopt): Use it.
7843         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
7844         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
7845         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
7846         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
7847         (gettimeofday): Use it.
7848         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
7849         (times): Use it.
7850         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
7851         (uname): Use it.
7852         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
7853         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
7854         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
7855         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
7856         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
7857         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
7858         unlinkat, write): Use it.
7859         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
7860         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
7861         * lib/argv-iter.h: Include arg-nonnull.h.
7862         (_ATTRIBUTE_NONNULL_): Remove macro.
7863         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
7864         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
7865         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
7866         optimization.
7867         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
7868         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
7869         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
7870         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
7871         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
7872         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
7873         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
7874         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
7875         * modules/arpa_inet (Depends-on): Add arg-nonnull.
7876         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
7877         * modules/dirent (Depends-on): Add arg-nonnull.
7878         (Makefile.am): Insert arg-nonnull.h into dirent.h.
7879         * modules/fcntl-h (Depends-on): Add arg-nonnull.
7880         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
7881         * modules/fnmatch (Depends-on): Add arg-nonnull.
7882         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
7883         * modules/getopt-posix (Depends-on): Add arg-nonnull.
7884         (Makefile.am): Insert arg-nonnull.h into getopt.h.
7885         * modules/glob (Depends-on): Add arg-nonnull.
7886         (Makefile.am): Insert arg-nonnull.h into glob.h.
7887         * modules/iconv_open (Depends-on): Add arg-nonnull.
7888         (Makefile.am): Insert arg-nonnull.h into iconv.h.
7889         * modules/inttypes (Depends-on): Add arg-nonnull.
7890         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
7891         * modules/locale (Depends-on): Add arg-nonnull.
7892         (Makefile.am): Insert arg-nonnull.h into locale.h.
7893         * modules/math (Depends-on): Add arg-nonnull.
7894         (Makefile.am): Insert arg-nonnull.h into math.h.
7895         * modules/netdb (Depends-on): Add arg-nonnull.
7896         (Makefile.am): Insert arg-nonnull.h into netdb.h.
7897         * modules/search (Depends-on): Add arg-nonnull.
7898         (Makefile.am): Insert arg-nonnull.h into search.h.
7899         * modules/signal (Depends-on): Add arg-nonnull.
7900         (Makefile.am): Insert arg-nonnull.h into signal.h.
7901         * modules/spawn (Depends-on): Add arg-nonnull.
7902         (Makefile.am): Insert arg-nonnull.h into spawn.h.
7903         * modules/stdio (Depends-on): Add arg-nonnull.
7904         (Makefile.am): Insert arg-nonnull.h into stdio.h.
7905         * modules/stdlib (Depends-on): Add arg-nonnull.
7906         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
7907         * modules/string (Depends-on): Add arg-nonnull.
7908         (Makefile.am): Insert arg-nonnull.h into string.h.
7909         * modules/strings (Depends-on): Add arg-nonnull.
7910         (Makefile.am): Insert arg-nonnull.h into strings.h.
7911         * modules/sys_socket (Depends-on): Add arg-nonnull.
7912         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
7913         * modules/sys_stat (Depends-on): Add arg-nonnull.
7914         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
7915         * modules/sys_time (Depends-on): Add arg-nonnull.
7916         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
7917         * modules/sys_times (Depends-on): Add arg-nonnull.
7918         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
7919         * modules/sys_utsname (Depends-on): Add arg-nonnull.
7920         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
7921         * modules/time (Depends-on): Add arg-nonnull.
7922         (Makefile.am): Insert arg-nonnull.h into time.h.
7923         * modules/unistd (Depends-on): Add arg-nonnull.
7924         (Makefile.am): Insert arg-nonnull.h into unistd.h.
7925         * modules/wchar (Depends-on): Add arg-nonnull.
7926         (Makefile.am): Insert arg-nonnull.h into wchar.h.
7927         * modules/argv-iter (Depends-on): Add arg-nonnull.
7928         * tests/test-canonicalize.c (null_ptr): New function.
7929         (main): Use it.
7930         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
7931         (main): Use it.
7932         * tests/test-memmem.c (null_ptr): New function.
7933         (main): Use it.
7934         Reported by Jim Meyering.
7935
7936 2009-12-10  Bruno Haible  <bruno@clisp.org>
7937
7938         Use spaces for indentation, not tabs.
7939         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
7940         * m4/*.m4: Untabify.
7941         * build-aux/*.h: Untabify.
7942         * tests/**/*.[hc]: Untabify.
7943         * README: New section "Indent with spaces, not TABs", based on
7944         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
7945         * NEWS: Mention the change.
7946
7947 2009-12-10  Bruno Haible  <bruno@clisp.org>
7948
7949         pty test: Fix link error.
7950         * modules/pty-tests (Makefile.am): Add the default LDADD value to
7951         test_pty_LDADD.
7952
7953 2009-12-07  Simon Josefsson  <simon@josefsson.org>
7954
7955         * modules/pty: New file.
7956         * modules/pty-tests: New file.
7957         * m4/pty.m4: New file.
7958         * tests/test-pty.c: New file.
7959         * doc/glibc-headers/pty.texi: Modified.
7960         * doc/glibc-functions/forkpty.texi: Modified.
7961         * doc/glibc-functions/openpty.texi: Modified.
7962
7963 2009-12-10  Bruno Haible  <bruno@clisp.org>
7964
7965         Avoid syntax error in C++ mode.
7966         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
7967
7968 2009-12-10  Bruno Haible  <bruno@clisp.org>
7969
7970         Use sed with option -e.
7971         * gnulib-tool (func_version, func_emit_copyright_notice,
7972         func_emit_initmacro_end, func_import, func_create_testdir): Pass
7973         option -e to sed.
7974         * modules/link-warning (Makefile.am): Likewise.
7975
7976 2009-12-10  Jim Meyering  <meyering@redhat.com>
7977
7978         mgetgroups: do not write bytes beyond end of malloc'd buffer
7979         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
7980         username, we call getgroups with a one-element-shorter buffer,
7981         but still told it the length was original, max_n_groups.
7982
7983 2009-12-09  Eric Blake  <ebb9@byu.net>
7984
7985         cloexec: relax license
7986         * modules/cloexec (Maintainer): Add myself.
7987         (License): Use LGPL, not GPL.
7988
7989         link-warning: optimize generation
7990         * modules/link-warning (Makefile.am): Reduce process usage.
7991
7992 2009-12-09  Bruno Haible  <bruno@clisp.org>
7993
7994         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
7995         workaround was added on 2009-11-17.
7996
7997 2009-12-09  Jim Meyering  <meyering@redhat.com>
7998             Bruno Haible  <bruno@clisp.org>
7999
8000         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
8001         * modules/link-warning (Makefile.am): Make the comment-removing sed
8002         command more robust in the face of bootstrap-prepended comment lines.
8003
8004 2009-12-09  Bruno Haible  <bruno@clisp.org>
8005
8006         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
8007         most one group.
8008
8009 2009-12-09  Simon Josefsson <simon@josefsson.org>
8010             Bruno Haible  <bruno@clisp.org>
8011
8012         * build-aux/link-warning.h: Add copyright notice.
8013         * modules/link-warning (Makefile.am): Generate link-warning.h from
8014         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
8015         * NEWS: Mention change in link-warning module.
8016         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
8017         * modules/dirent (Makefile.am): Add dependency to dirent.h.
8018         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
8019         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
8020         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
8021         * modules/math (Makefile.am): Add dependency to math.h.
8022         * modules/search (Makefile.am): Add dependency to search.h.
8023         * modules/signal (Makefile.am): Add dependency to signal.h.
8024         * modules/spawn (Makefile.am): Add dependency to spawn.h.
8025         * modules/stdio (Makefile.am): Add dependency to stdio.h.
8026         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
8027         * modules/string (Makefile.am): Add dependency to string.h.
8028         * modules/strings (Makefile.am): Add dependency to strings.h.
8029         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
8030         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
8031         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
8032         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
8033         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
8034         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
8035         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
8036         * modules/unistd (Makefile.am): Add dependency to unistd.h.
8037         * modules/wchar (Makefile.am): Add dependency to wchar.h.
8038
8039 2009-12-09  Bruno Haible  <bruno@clisp.org>
8040
8041         fchdir: Optimize away rpl_fstat when possible.
8042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
8043         REPLACE_OPEN_DIRECTORY.
8044         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
8045
8046 2009-12-09  Bruno Haible  <bruno@clisp.org>
8047
8048         * lib/fchdir.c: Update comment.
8049
8050 2009-12-09  Bruno Haible  <bruno@clisp.org>
8051
8052         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
8053
8054 2009-12-08  Eric Blake  <ebb9@byu.net>
8055
8056         fchdir: avoid memory leak on re-registration.
8057         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
8058
8059 2009-12-08  Jim Meyering  <meyering@redhat.com>
8060
8061         init.sh: avoid Solaris 10 /bin/sh portability problem
8062         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
8063         sourced script:
8064           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
8065           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
8066           bar
8067         tests/init.sh relied on that, accepting a --set-path=DIR argument,
8068         and two tests used that idiom.
8069         * tests/init.sh: Update suggested usage comments.
8070         (path_prepend_): New function, to be used in place
8071         of the --src-path=DIR option.
8072         (setup_): Move PATH-prepending code into path_prepend_.
8073         * tests/test-pread.sh: Adapt to new usage.
8074         * tests/test-xalloc-die.sh: Likewise.
8075
8076 2009-12-08  Simon Josefsson  <simon@josefsson.org>
8077
8078         * doc/gnulib.texi (Glibc pty.h): Add.
8079         * doc/glibc-functions/forkpty.texi: Add.
8080         * doc/glibc-functions/openpty.texi: Add.
8081         Suggested by Bruno Haible.
8082
8083 2009-12-08  Eric Blake  <ebb9@byu.net>
8084
8085         fchdir: fix logic bugs
8086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
8087         * tests/test-fchdir.c (main): Enhance test.
8088         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
8089         is in use.
8090
8091         dup2: fix logic bugs
8092         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
8093         REPLACE_DUP2 to decide when rpl_dup2 is needed.
8094         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
8095         exists.
8096         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
8097
8098 2009-12-07  Eric Blake  <ebb9@byu.net>
8099
8100         unlink: fix m4 detection
8101         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
8102
8103         unistd-safer: add unit test
8104         * modules/unistd-safer-tests: New file.
8105         * tests/test-dup-safer.c: Likewise.
8106         * tests/test-cloexec.c (setmode): Avoid compiler warning.
8107         * tests/test-dup2.c (setmode): Likewise.
8108         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
8109
8110         cloexec: preserve text vs. binary across dup_cloexec
8111         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
8112         mode.
8113         * modules/dup2-tests (Depends-on): Add binary-io.
8114         * modules/cloexec-tests (Depends-on): Likewise.
8115         * tests/test-dup2.c (setmode, is_mode): New helpers.
8116         (main): Add tests that translation mode is preserved.
8117         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
8118         Reported by Bruno Haible.
8119
8120         mgetgroups: reduce duplicate listings
8121         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
8122         resulting array.
8123         * tests/test-chown.h (test_chown): Simplify client.
8124         * tests/test-lchown.h (test_lchown): Likewise.
8125
8126 2009-12-06  Bruno Haible  <bruno@clisp.org>
8127
8128         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
8129         value.
8130
8131 2009-12-06  Bruno Haible  <bruno@clisp.org>
8132
8133         * lib/progname.c: Include stdio.h, stdlib.h.
8134         (set_program_name): Reject a NULL argument.
8135
8136 2009-12-05  Eric Blake  <ebb9@byu.net>
8137
8138         pipe2-safer: new module
8139         * modules/pipe2-safer: New file.
8140         * lib/unistd-safer.h (pipe2_safer): New prototype.
8141         * lib/unistd--.h (pipe2): New wrapper.
8142         * lib/pipe-safer.c (pipe2_safer): New function.
8143         * modules/pipe (Depends-on): Add pipe2-safer.
8144         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
8145
8146         stdlib-safer: preserve cloexec flag for mkostemp[s]
8147         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
8148         fd_safer_flag.
8149
8150         unistd-safer: allow preservation of cloexec status via flag
8151         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
8152         prototypes.
8153         * lib/dup-safer.c (dup_safer_flag): New function.
8154         * lib/fd-safer.c (fd_safer_flag): Likewise.
8155         * modules/cloexec (configure.ac): Set witness.
8156
8157         test-dup2: enhance test
8158         * modules/dup2-tests (Depends-on): Add cloexec.
8159         * tests/test-dup2.c (main): Enhance test.
8160
8161         cloexec: add dup_cloexec
8162         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
8163         header and comments.
8164         * lib/cloexec.c (set_cloexec_flag): Add comments.
8165         (dup_cloexec): New function, with mingw implementation borrowed
8166         from...
8167         * lib/w32spawn.h (dup_noinherit): ...here.
8168         * modules/execute (Depends-on): Add cloexec.
8169         * modules/pipe (Depends-on): Likewise.
8170         * modules/cloexec (Depends-on): Add dup2.
8171         * modules/cloexec-tests (Files): New file.
8172         * tests/test-cloexec.c: Likewise.
8173
8174         test-xalloc-die: fix test for mingw
8175         * modules/xalloc-die-tests (Files): Add tests/init.sh.
8176         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
8177         directory and .exe suffix off argv[0] output.
8178
8179         test-fseeko: fix test for mingw
8180         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
8181         than undefining fseek, so test will pass on mingw.
8182
8183 2009-12-05  Bruno Haible  <bruno@clisp.org>
8184
8185         * lib/progname.h (set_program_name): Clarify specification.
8186         * lib/progname.c (set_program_name): Likewise.
8187         Reported by Jim Meyering.
8188
8189 2009-12-05  Jim Meyering  <meyering@redhat.com>
8190
8191         maint.mk: backslash-escape parens in default regexp
8192         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
8193         backslash-escape the literal parentheses.
8194
8195         maint.mk: news-date-check: use grep -E
8196         * top/maint.mk (today): Define a Make variable, not a...
8197         (news-date-check): ...shell variable.
8198         (news-date-regexp): Use the Make variable.
8199         Use grep's -E option.  Change the failing diagnostic to mention
8200         the variable, $(news-date-regexp).
8201
8202 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
8203
8204         maintainer-makefile: allow customization of NEWS entry format
8205         * top/maint.mk (news-date-regexp): New overridable variable.
8206         (news-date-check): Use it.
8207
8208 2009-12-04  Eric Blake  <ebb9@byu.net>
8209
8210         mgetgroups: add xgetgroups, and avoid ENOSYS failures
8211         * lib/mgetgroups.h (xgetgroups): New prototype.
8212         * lib/mgetgroups.c (xgetgroups): New wrapper.
8213         (mgetgroups): Handle ENOSYS.
8214         * modules/mgetgroups (Depends-on): Add realloc.
8215         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
8216
8217         mgetgroups: avoid argument promotion issues with -1
8218         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
8219         for invalid gid_t.
8220         * tests/test-chown.h (getegid, test_chown): Likewise.
8221         * tests/test-lchown.h (getegid, test_lchown): Likewise.
8222
8223 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
8224
8225         exclude: Fix header file problems.
8226         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
8227
8228 2009-12-01  Jim Meyering  <meyering@redhat.com>
8229
8230         fts: fts_open: do not let an empty string cause immediate failure
8231         This is required in support of GNU rm, for which the command
8232         "rm A '' B" must process and remove both A and B, in spite of
8233         the empty string argument.
8234         * lib/fts.c (fts_open): Do not let the presence of an empty string
8235         cause fts_open to fail immediately.  Most fts-using tools must be
8236         able to process all arguments, in order, and can be expected to
8237         diagnose such arguments themselves.
8238
8239 2009-11-30  Eric Blake  <ebb9@byu.net>
8240
8241         utimens: fix compilation error
8242         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
8243         Declare variable at right scope.
8244
8245 2009-11-29  Jim Meyering  <meyering@redhat.com>
8246
8247         bootstrap: handle perl-5.11's changed --version output
8248         * build-aux/bootstrap (get_version): Handle perl separately,
8249         since perl-5.11's --version output is different.
8250
8251 2009-11-28  Jim Meyering  <meyering@redhat.com>
8252
8253         userspec: depend on the inttostr module, too
8254         * modules/userspec (Depends-on): Add inttostr.
8255
8256         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
8257         * lib/userspec.c (parse_with_separator): Do not accept a user ID
8258         number of MAXUID when it evaluates to (uid_t) -1.
8259         Likewise for group ID.  Reported by Matt McCutchen in
8260         <http://savannah.gnu.org/bugs/?28113>
8261
8262         userspec: reformat to use spaces, not TABs
8263         * lib/userspec.c: Expand TABs to spaces.
8264         Add Emacs' "indent-tabs-mode: nil" hint.
8265
8266 2009-11-27  Eric Blake  <ebb9@byu.net>
8267
8268         getopt-gnu: flush out another BSD bug
8269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
8270         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
8271         flush out BSD bug.
8272         * tests/test-getopt.h (test_getopt): End lists with NULL.
8273         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8274         (test_getopt_long_posix): Enhance test.
8275         * modules/getopt-posix-tests (Depends-on): Add stdbool.
8276         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
8277         getopt-gnu.
8278         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8279         Likewise.
8280
8281 2009-11-27  Simon Josefsson  <simon@josefsson.org>
8282
8283         * modules/idpriv-droptemp-tests (Notice): Fix text.
8284
8285 2009-11-27  Jim Meyering  <meyering@redhat.com>
8286
8287         test-xalloc-die: avoid spurious failure due to libtool argv difference
8288         In a libtool-enabled project, this test would fail due to a difference
8289         in the emitted program name, e.g.,
8290         -test-xalloc-die: memory exhausted
8291         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8292         Use program to avoid that.
8293         * modules/xalloc-die-tests (Depends-on): Add progname.
8294         * tests/test-xalloc-die.c: Include progname.h".
8295         (program_name): Remove decl.
8296         (main): Call set_program_name.
8297         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
8298
8299 2009-11-26  Richard Jones  <rjones@redhat.com>
8300
8301         w32sock: leave win32 error in place.
8302         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
8303
8304 2009-11-26  Eric Blake  <ebb9@byu.net>
8305
8306         init.sh: suggest to use skip_ and fail_ functions in comments
8307         * tests/init.sh: Add a sentence.
8308
8309 2009-11-25  Bruno Haible  <bruno@clisp.org>
8310
8311         init.sh: add documentation in comments
8312         * tests/init.sh: Add some developer and user documentation.
8313
8314 2009-11-26  Jim Meyering  <meyering@redhat.com>
8315
8316         init.sh: accommodate even those who specify bogus srcdir manually
8317         * tests/init.sh: Normally, srcdir is guaranteed by automake and
8318         configure-time tests to be sanitized, so that there is no need to
8319         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
8320         (with no double quotes) suffices.  However, since tests may be
8321         invoked manually, and since you may explicitly set srcdir to the
8322         name of a directory containing spaces, do quote its uses here.
8323         * tests/test-pread.sh: Likewise.
8324         Suggested by Bruno Haible.
8325
8326         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
8327         * tests/test-pread.sh: Write no data into the pipe, because
8328         test-pread actually reads none.  This avoids a diagnostic,
8329         "bash: echo: write error: Broken pipe", that arises in the unusual
8330         event something is ignoring SIGPIPE, and might be interpreted
8331         as some sort of failure.  Reported by Bruno Haible.
8332
8333 2009-11-25  Jim Meyering  <meyering@redhat.com>
8334
8335         test-pread: cover failure with ESPIPE and EINVAL
8336         * tests/test-pread.c (main): Test for failure, too.
8337         * tests/test-pread.sh: Invoke with stdin on a pipe.
8338         Suggested by Eric Blake.
8339
8340         pread: improvement and fix
8341         * modules/pread (Depends-on): Depend on lseek, for portability to
8342         e.g., mingw.  Suggested by Eric Blake.
8343         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
8344
8345         unistd.in.h: correct declaration of pread
8346         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
8347         Reported by Richard W.M. Jones.
8348
8349         test-pread.sh: distribute the test script
8350         * modules/pread-tests (Files): Include test-pread.sh.
8351
8352         test-pread.sh: clean up
8353         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
8354         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
8355         That is unnecessary, since it's always ".".
8356         Suggestion from Eric Blake.
8357
8358         test-pread.sh: make executable
8359         * tests/test-pread.sh: Set executable bit.
8360         Reported by Eric Blake.
8361
8362         correct typo in test-pread.sh
8363         * tests/test-pread.sh: Add #! line.
8364
8365         test pread
8366         * tests/test-pread.c: New file.
8367         * tests/test-pread.sh: Likewise.
8368         * modules/pread-tests: Likewise.
8369
8370         pread: new module
8371         * modules/pread: New file.
8372         * lib/unistd.in.h (pread): Define/declare.
8373         * lib/pread.c (pread): New file.
8374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
8375         * modules/unistd (Makefile.am): Substitute witnesses.
8376         * doc/posix-functions/pread.texi (pread): Update.
8377         * MODULES.html.sh: Add pread.
8378
8379 2009-11-25  Jim Meyering  <meyering@redhat.com>
8380
8381         tests/init.sh: new file to be used via most *.sh tests
8382         * tests/init.sh: New file.
8383
8384 2009-11-25  Eric Blake  <ebb9@byu.net>
8385
8386         utimens: work around older Linux failure with symlinks
8387         * lib/utimens.c (lutimensat_works_really): New variable.
8388         (fdutimens, lutimens): Use it to manage kernels that support
8389         nanosecond times on files, but not on symlinks.
8390         Reported by Ondřej Vašík.
8391
8392         utimes: fix configure grammar
8393         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
8394
8395 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
8396
8397         regex: Fix fastmap for multibyte character ranges.
8398         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
8399         characters when a multibyte character range is included.
8400
8401 2009-11-22  Andy Wingo  <wingo@pobox.com>
8402
8403         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
8404         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
8405
8406 2009-11-24  Bruno Haible  <bruno@clisp.org>
8407
8408         doc: Most *_l functions exist in MacOS X 10.5.
8409         * doc/posix-functions/duplocale.texi: Update platforms list.
8410         * doc/posix-functions/freelocale.texi: Likewise.
8411         * doc/posix-functions/newlocale.texi: Likewise.
8412         * doc/posix-functions/uselocale.texi: Likewise.
8413         * doc/posix-functions/isalnum_l.texi: Likewise.
8414         * doc/posix-functions/isalpha_l.texi: Likewise.
8415         * doc/posix-functions/isblank_l.texi: Likewise.
8416         * doc/posix-functions/iscntrl_l.texi: Likewise.
8417         * doc/posix-functions/isdigit_l.texi: Likewise.
8418         * doc/posix-functions/isgraph_l.texi: Likewise.
8419         * doc/posix-functions/islower_l.texi: Likewise.
8420         * doc/posix-functions/isprint_l.texi: Likewise.
8421         * doc/posix-functions/ispunct_l.texi: Likewise.
8422         * doc/posix-functions/isspace_l.texi: Likewise.
8423         * doc/posix-functions/isupper_l.texi: Likewise.
8424         * doc/posix-functions/iswalnum_l.texi: Likewise.
8425         * doc/posix-functions/iswalpha_l.texi: Likewise.
8426         * doc/posix-functions/iswblank_l.texi: Likewise.
8427         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8428         * doc/posix-functions/iswctype_l.texi: Likewise.
8429         * doc/posix-functions/iswdigit_l.texi: Likewise.
8430         * doc/posix-functions/iswgraph_l.texi: Likewise.
8431         * doc/posix-functions/iswlower_l.texi: Likewise.
8432         * doc/posix-functions/iswprint_l.texi: Likewise.
8433         * doc/posix-functions/iswpunct_l.texi: Likewise.
8434         * doc/posix-functions/iswspace_l.texi: Likewise.
8435         * doc/posix-functions/iswupper_l.texi: Likewise.
8436         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8437         * doc/posix-functions/isxdigit_l.texi: Likewise.
8438         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
8439         * doc/posix-functions/strcasecmp_l.texi: Likewise.
8440         * doc/posix-functions/strcoll_l.texi: Likewise.
8441         * doc/posix-functions/strfmon_l.texi: Likewise.
8442         * doc/posix-functions/strftime_l.texi: Likewise.
8443         * doc/posix-functions/strncasecmp_l.texi: Likewise.
8444         * doc/posix-functions/strxfrm_l.texi: Likewise.
8445         * doc/posix-functions/tolower_l.texi: Likewise.
8446         * doc/posix-functions/toupper_l.texi: Likewise.
8447         * doc/posix-functions/towctrans_l.texi: Likewise.
8448         * doc/posix-functions/towlower_l.texi: Likewise.
8449         * doc/posix-functions/towupper_l.texi: Likewise.
8450         * doc/posix-functions/wcscoll_l.texi: Likewise.
8451         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8452         * doc/posix-functions/wctrans_l.texi: Likewise.
8453         * doc/posix-functions/wctype_l.texi: Likewise.
8454         * doc/glibc-functions/strptime_l.texi: Likewise.
8455         * doc/glibc-functions/strtod_l.texi: Likewise.
8456         * doc/glibc-functions/strtof_l.texi: Likewise.
8457         * doc/glibc-functions/strtol_l.texi: Likewise.
8458         * doc/glibc-functions/strtold_l.texi: Likewise.
8459         * doc/glibc-functions/strtoll_l.texi: Likewise.
8460         * doc/glibc-functions/strtoul_l.texi: Likewise.
8461         * doc/glibc-functions/strtoull_l.texi: Likewise.
8462         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8463         * doc/glibc-functions/wcstod_l.texi: Likewise.
8464         * doc/glibc-functions/wcstof_l.texi: Likewise.
8465         * doc/glibc-functions/wcstol_l.texi: Likewise.
8466         * doc/glibc-functions/wcstold_l.texi: Likewise.
8467         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8468         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8469         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8470
8471 2009-11-24  Bruno Haible  <bruno@clisp.org>
8472
8473         duplocale: Fix logic bug.
8474         * lib/duplocale.c: Don't include <langinfo.h>.
8475         (_NL_LOCALE_NAME): Remove macro.
8476         (rpl_duplocale): Use setlocale instead of nl_langinfo.
8477         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
8478
8479 2009-11-23  Jim Meyering  <meyering@redhat.com>
8480
8481         test-update-copyright: don't hard-code /usr/bin/perl
8482         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
8483         perl to print the current year.  Gilles Espinasse reported that
8484         the replaced use of perl was hard-coded as /usr/bin/perl.
8485
8486 2009-11-23  Bruno Haible  <bruno@clisp.org>
8487
8488         duplocale: Add support for glibc 2.3.x.
8489         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
8490
8491 2009-11-22  Bruno Haible  <bruno@clisp.org>
8492
8493         vasnprintf: Tiny optimization.
8494         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
8495         MacOS X.
8496
8497 2009-11-22  Bruno Haible  <bruno@clisp.org>
8498
8499         Tests for module 'duplocale'.
8500         * modules/duplocale-tests: New file.
8501         * tests/test-duplocale.c: New file.
8502
8503         New module 'duplocale'.
8504         * m4/duplocale.m4: New file.
8505         * lib/locale.in.h (duplocale): New declaration.
8506         * lib/duplocale.c: New file.
8507         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
8508         gl_LOCALE_H_DEFAULTS): New macros.
8509         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
8510         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
8511         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
8512         REPLACE_DUPLOCALE.
8513         * modules/duplocale: New file.
8514         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
8515
8516 2009-11-22  Bruno Haible  <bruno@clisp.org>
8517
8518         * modules/locale-tests (configure.ac): Test for newlocale function.
8519         * tests/test-locale.c: When the system has extended locale functions,
8520         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
8521
8522         locale: Make locale_t available when possible.
8523         * lib/locale.in.h: Include <xlocale.h> when it exists.
8524         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
8525         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
8526         * modules/locale (Depends-on): Add extensions.
8527         (Makefile.am): Also substitute HAVE_XLOCALE_H.
8528         * doc/posix-headers/locale.texi: Document the problem with locale_t.
8529
8530 2009-11-22  Bruno Haible  <bruno@clisp.org>
8531
8532         Add comments.
8533         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
8534         invocation.
8535         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8536         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8537         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8538
8539 2009-11-22  Bruno Haible  <bruno@clisp.org>
8540
8541         error: account for the possibility of freopen (stdout).
8542         * lib/error.c: Include <unistd.h>.
8543         (flush_stdout): New function, extracted from error and error_at_line.
8544         Determine stdout's fd dynamically.
8545         (error, error_at_line): Invoke flush_stdout.
8546         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
8547         * modules/error (Depends-on): Add unistd.
8548
8549 2009-11-22  Bruno Haible  <bruno@clisp.org>
8550
8551         diffseq: Add comment.
8552         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
8553
8554 2009-11-22  Jim Meyering  <meyering@redhat.com>
8555
8556         c-stack: avoid defining an unused static function
8557         * lib/c-stack.c (find_stack_direction): Do not define this function
8558         when it will not be used.
8559
8560         diffseq: avoid spurious gcc warnings
8561         * lib/diffseq.h (IF_LINT2): Define.
8562         (compareseq): Use it to initialize two members of "part".
8563         This avoids two used-uninitialized warnings.
8564
8565 2009-11-21  Jim Meyering  <meyering@redhat.com>
8566
8567         c-stack: avoid "ignoring return value of `write'" warning
8568         * lib/c-stack.c: Include "ignore-value.h".
8569         (die): Explicitly ignore each write return value.
8570         * modules/c-stack (Depends-on): Add ignore-value.
8571
8572 2009-11-21  Bruno Haible  <bruno@clisp.org>
8573
8574         diffseq: reduce scope of variable 'best'.
8575         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
8576         variable, earlier used for two different purposes.
8577
8578 2009-11-21  Jim Meyering  <meyering@redhat.com>
8579
8580         diffseq: remove useless assignment to "best"
8581         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
8582         assignment.  At that point "best" is already guaranteed to be zero.
8583
8584 2009-11-20  Eric Blake  <ebb9@byu.net>
8585
8586         build: mention ftp redirector in release announcements
8587         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
8588         values that used to come from cfg.mk; mention FTP redirect URL.
8589         * build-aux/announce-gen: Mention the mirror list.
8590         Suggested by Karl Berry.
8591
8592         nanosleep: improve port to mingw
8593         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
8594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
8595         LIB_NANOSLEEP, but only when needed.
8596         * modules/select (Link): Document LIBSOCKET.
8597         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
8598         enough.
8599
8600         nanosleep: work around cygwin bug
8601         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
8602         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
8603         bug.
8604         (getnow): Delete, not needed.
8605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
8606         LIB_CLOCK_GETTIME.
8607         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
8608         clock-time, gettime.
8609         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
8610         bug.
8611         * modules/nanosleep-tests: New test.
8612         * tests/test-nanosleep.c: New file.
8613
8614         sleep: work around cygwin bug
8615         * lib/sleep.c (rpl_sleep): Work around the bug.
8616         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
8617         (gl_PREREQ_SLEEP): Delete unused macro.
8618         * modules/sleep (Depends-on): Add verify.
8619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8620         * modules/unistd (Makefile.am): Substitute witness.
8621         * lib/unistd.in.h (sleep): Update prototype.
8622         * doc/posix-functions/sleep.texi (sleep): Document the bug.
8623         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
8624         * modules/sleep-tests (Depends-on): Check for alarm.
8625
8626 2009-11-20  Jim Meyering  <meyering@redhat.com>
8627
8628         maint.mk: improve sc_prohibit_magic_number_exit
8629         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
8630         so it does not match uses like System.exit(1).
8631         Add comments showing how to correct all offenders.
8632
8633 2009-11-19  Eric Blake  <ebb9@byu.net>
8634
8635         xalloc-die-tests: add missing library
8636         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
8637
8638         test-xvasprintf: silence compiler warnings
8639         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
8640         empty string from gcc.
8641
8642 2009-11-19  Jim Meyering  <meyering@redhat.com>
8643
8644         xfreopen: new module, from coreutils
8645         * modules/xfreopen: New module.
8646         * lib/xfreopen.c: New file.
8647         * lib/xfreopen.h: New file.
8648         * MODULES.html.sh (File stream based Input/Output"): Add it.
8649
8650 2009-11-19  Eric Blake  <ebb9@byu.net>
8651
8652         manywarnings: depend on warnings
8653         * modules/manywarnings (Depends-on): Add warnings.
8654
8655         build: avoid compiler warnings
8656         * lib/select.c (rpl_select): Delete unused variable.
8657         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
8658
8659 2009-11-18  Eric Blake  <ebb9@byu.net>
8660
8661         tests: avoid false negative with --with-packager
8662         * tests/test-version-etc.sh: Discard packager information.
8663         * tests/test-argp-version-etc-1.sh: Likewise.
8664         Reported by Mike Frysinger.
8665
8666         utimens: fix regression on Solaris
8667         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
8668         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
8669         can only change fd timestamps via futimesat.  Instead, use an
8670         additional witness macro to avoid BSD bug.
8671         Reported by Jim Meyering.
8672
8673 2009-11-17  Eric Blake  <ebb9@byu.net>
8674
8675         usleep: use it to simplify tests
8676         * modules/stat-time-tests (Depends-on): Add usleep.
8677         (configure.ac): Drop usleep check.
8678         * modules/chown-tests (Depends-on, configure.ac): Likewise.
8679         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
8680         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
8681         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
8682         * modules/openat-tests (Depends-on, configure.ac): Likewise.
8683         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
8684         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
8685         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
8686         Likewise.
8687         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
8688         * tests/test-lchown.h (nap): Likewise.
8689         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
8690         * tests/test-stat-time.c (nap): Likewise.
8691         * tests/test-utimens-common.h (nap): Update comments.
8692
8693         usleep: new module
8694         * modules/usleep: New file.
8695         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
8696         * lib/usleep.c (usleep): Likewise.
8697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8698         * modules/unistd (Makefile.am): Substitute witnesses.
8699         * lib/unistd.in.h (usleep): Add declaration.
8700         * doc/pastposix-functions/usleep.texi (usleep): Document this.
8701         * MODULES.html.sh (Date and time): Likewise.
8702         * modules/usleep-tests (Depends-on): New test.
8703         * tests/test-usleep.c: New file.
8704
8705         chown: work around OpenBSD bug
8706         * lib/chown.c (rpl_chown): Work around the bug.
8707         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
8708         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
8709         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
8710         * modules/chown (Depends-on): Add stdbool.
8711         * modules/lchown (Depends-on): Likewise.
8712         * doc/posix-functions/chown.texi (chown): Document the bug.
8713         * doc/posix-functions/lchown.texi (lchown): Likewise.
8714         * tests/test-lchown.h (test_chown): Relax test.
8715
8716         mkstemp: avoid conflict with C++ keyword template
8717         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
8718         * lib/mkostemp.c (mkostemp): Likewise.
8719         * lib/mkostemps.c (mkostemps): Likewise.
8720         * lib/mkstemp.c (mkstemp): Likewise.
8721         * lib/mkstemps.c (mkstemps): Likewise.
8722
8723         xalloc-die-tests: optimize
8724         * tests/test-xalloc-die.sh: Reduce number of processes.
8725
8726 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8727
8728         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
8729         patch from ludo@gnu.org (Ludovic Courtès).
8730
8731 2009-11-17  Jim Meyering  <meyering@redhat.com>
8732
8733         version-etc: use proper license string
8734         * modules/version-etc (License): Use LGPL, not LGPLv3+.
8735         * modules/version-etc-fsf: Likewise.
8736
8737 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8738
8739         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
8740         printed to stdout.  Deal with EOL differences.
8741
8742 2009-11-17  Eric Blake  <ebb9@byu.net>
8743
8744         unsetenv: work around Solaris bug
8745         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
8746         * lib/unsetenv.c (rpl_unsetenv): Work around it.
8747         Reported by Jim Meyering.
8748
8749         vasnprintf: avoid compiler warnings
8750         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
8751         variables.
8752         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
8753
8754 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8755
8756         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
8757         settings since xalloc-die is no longer the self test,
8758         xalloc-die.sh is.
8759
8760 2009-11-17  Jim Meyering  <meyering@redhat.com>
8761
8762         test-xalloc-die.sh: make the code agree with the commit log
8763         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
8764         at the end, just in case you happen to have a test-xalloc-die
8765         program in some other PATH directory.
8766
8767         test-xalloc-die.sh: fix a portability bug
8768         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
8769         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
8770         Otherwise, argv[0] (as often seen in diagnostics) would be too
8771         system-dependent, sometimes with, and sometimes without the leading "./".
8772
8773         version-etc-fsf: relax license to LGPLv3+
8774         * modules/version-etc-fsf (License): Relax license.
8775
8776 2009-11-16  Eric Blake  <ebb9@byu.net>
8777
8778         xalloc-die-tests: avoid printing null pointer
8779         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
8780         shell script.
8781         * tests/test-xalloc-die.c (program_name): Declare.
8782         * tests/test-xalloc-die.sh (tmpfiles): New file.
8783
8784         setenv, unsetenv: work around various bugs
8785         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
8786         (setenv) [HAVE_SETENV]: Work around bugs.
8787         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
8788         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
8789         for bugs.
8790         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
8791         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
8792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
8793         * modules/stdlib (Makefile.am): Update substitutions.
8794         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
8795         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
8796         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8797         * modules/setenv-tests: New test.
8798         * modules/unsetenv-tests: Likewise.
8799         * tests/test-setenv.c: New file.
8800         * tests/test-unsetenv.c: Likewise.
8801
8802 2009-11-16  Jim Meyering  <meyering@redhat.com>
8803
8804         version-etc: relax license to LGPLv3+
8805         * modules/version-etc (License): Relax license.
8806
8807         better AC_REQUIRE expanded-before-required-warning avoidance
8808         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
8809         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
8810         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
8811         which is no longer needed.
8812
8813 2009-11-16  Eric Blake  <ebb9@byu.net>
8814
8815         test-freading: clean up temporary file
8816         * tests/test-freading.c (main): Remove file on success, and use
8817         ASSERT more liberally.
8818         Reported by Jim Meyering.
8819
8820 2009-11-16  Jim Meyering  <meyering@redhat.com>
8821
8822         avoid new AC_REQUIRE expanded-before-required warnings
8823         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
8824         merely using it.
8825         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
8826         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
8827
8828 2009-11-15  Simon Josefsson  <simon@josefsson.org>
8829
8830         * tests/test-xalloc-die.c: New file.
8831         * modules/xalloc-die-tests: New file.
8832         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
8833         XFAIL_TESTS so it can be appended by modules.
8834
8835 2009-11-15  Simon Josefsson  <simon@josefsson.org>
8836
8837         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
8838         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
8839
8840 2009-11-14  Eric Blake  <ebb9@byu.net>
8841
8842         fnmatch: avoid compiler warning
8843         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
8844         to silence compiler warning about mismatch signedness in ?:.
8845         Reported by Robert Millan.
8846
8847         intprops: add double-inclusion guard
8848         * lib/intprops.h: Allow idempotent includes.
8849         Suggested by Bruce Korb.
8850
8851         openat: detect Solaris fchownat bug
8852         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
8853         penalizing glibc chownat when only lchownat is broken.
8854         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
8855         trailing slash bugs.
8856         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
8857         * modules/openat-tests (Files): Include more files.
8858         (Depends-on): Add mgetgroups, sleep, stat-time.
8859         (configure.ac): Add additional checks.
8860         (Makefile.am): Build new test.
8861         * tests/test-fchownat.c: New file.
8862
8863         lchown: detect Solaris and FreeBSD bug
8864         * lib/lchown.c (rpl_lchown): Work around bug.
8865         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
8866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8867         * modules/unistd (Makefile.am): Populate it.
8868         * lib/unistd.in.h (lchown): Update declaration.
8869         * doc/posix-functions/lchown.texi (lchown): Document the bug.
8870         * modules/lchown-tests: New file.
8871         * tests/test-lchown.h (test_lchown): Likewise.
8872         * tests/test-lchown.c (main): Likewise.
8873
8874         chown: detect Solaris and FreeBSD bug
8875         * lib/chown.c (rpl_chown): Work around bug.
8876         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
8877         (gl_PREREQ_CHOWN): Delete.
8878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8879         * modules/unistd (Makefile.am): Populate it.
8880         * lib/unistd.in.h (chown): Update declaration.
8881         * lib/lchown.c (chown): Update client.
8882         * modules/lchown (Depends-on): Add lstat.
8883         * doc/posix-functions/chown.texi (chown): Document the bug.
8884         * doc/posix-functions/getgroups.texi (getgroups): Document
8885         getgroups pitfall.
8886         * modules/chown-tests: New file.
8887         * tests/test-chown.h (test_chown): Likewise.
8888         * tests/test-chown.c (main): Likewise.
8889
8890 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
8891
8892         gnulib-tool: correctly detect absence of m4 directories
8893         * gnulib-tool: Avoid extra newline on data passed to wc -l.
8894
8895 2009-11-14  Jim Meyering  <meyering@redhat.com>
8896
8897         maint.mk: Prohibit inclusion of "xalloc.h" without use.
8898         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
8899
8900 2009-11-14  John W. Eaton  <jwe@gnu.org>
8901
8902         strftime.h: wrap funtion declaration in extern "C" block
8903         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
8904
8905 2009-11-13  Eric Blake  <ebb9@byu.net>
8906
8907         getgroups: avoid compiler warning
8908         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
8909
8910         getgroups: work around FreeBSD bug
8911         * lib/getgroups.c (rpl_getgroups): Work around the bug.
8912         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
8913         * doc/posix-functions/getgroups.texi (getgroups): Document it.
8914         * tests/test-getgroups.c (main): Fix buffer overrun.
8915
8916         getgroups: avoid compilation failure
8917         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
8918         * modules/getgroups (Depends-on): Add stdint.
8919
8920 2009-11-13  Jim Meyering  <meyering@redhat.com>
8921
8922         test-getgroups: avoid compilation failure
8923         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
8924
8925 2009-11-13  Eric Blake  <ebb9@byu.net>
8926
8927         mgetgroups: new module, taken from coreutils
8928         * modules/mgetgroups: New file.
8929         * lib/mgetgroups.h: Likewise.
8930         * lib/mgetgroups.c (mgetgroups): Likewise.
8931         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
8932         * MODULES.html.sh (Users and groups): Mention it.
8933
8934         getgroups: don't expose GETGROUPS_T to user
8935         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
8936         an element at a time if GETGROUPS_T is wrong size.
8937         * lib/getugroups.h (getugroups): Change signature.
8938         * lib/unistd.in.h (getgroups): Likewise.
8939         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
8940         signature needs fixing.
8941         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
8942         AC_TYPE_GETGROUPS.
8943         * modules/group-member (Depends-on): Add getgroups.
8944         * lib/group-member.c (group_info, get_group_info): Use gid_t.
8945         (group_member): Rely on getgroups replacement.
8946         * lib/getugroups.c (getugroups): Use gid_t.
8947         * tests/test-getgroups.c (main): Likewise.
8948         * NEWS: Mention the signature change.
8949         * doc/posix-functions/getgroups.texi (getgroups): Mention the
8950         problem with signature.
8951         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
8952         GETGROUPS_T is still useful for setgroups.
8953
8954         getgroups, getugroups: provide stubs for mingw
8955         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
8956         * lib/getugroups.c (getugroups): Likewise.
8957         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
8958         function.  Modernize replacement scheme.
8959         (gl_PREREQ_GETGROUPS): Delete.
8960         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
8961         * modules/getgroups (configure.ac): Declare witness.
8962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8963         * modules/unistd (Depends-on): Substitute witness.
8964         * lib/unistd.in.h (getgroups): Declare replacement.
8965
8966         getgroups: avoid calling exit
8967         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
8968         drop xalloc.
8969         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
8970         dependencies.
8971         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
8972         exiting, in the rare case of malloc failure.
8973
8974         getgroups: fix logic error
8975         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
8976         has more than 20 groups.
8977         * modules/getgroups-tests: New test.
8978         * tests/test-getgroups.c: New file.
8979
8980 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8981
8982         * tests/test-base64.c: Improve.
8983
8984 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8985
8986         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
8987         Blake <ebb9@byu.net>.
8988
8989 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8990
8991         * tests/test-xvasprintf.c: Add %s%s related checks.
8992
8993 2009-11-12  Eric Blake  <ebb9@byu.net>
8994
8995         version-etc: match standards.texi style
8996         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
8997         and use <> only for URLs.
8998
8999 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
9000
9001         fts: do not fail on a submount during traversal
9002         * lib/fts.c (fts_build): Read the stat info again after opening
9003         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
9004         Original report at http://bugzilla.redhat.com/501848.
9005
9006 2009-11-12  Jim Meyering  <meyering@redhat.com>
9007
9008         bootstrap: sync from coreutils
9009         * build-aux/bootstrap (bootstrap_epilogue): New function.
9010         Use git_modules_config in one more place.  This make bootstrap's
9011         --gnulib-srcdir option more useful for testing.
9012
9013         bootstrap: generalize autoheader check
9014         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
9015         AC_CONFIG_HEADERS.
9016
9017 2009-11-11  Eric Blake  <ebb9@byu.net>
9018
9019         mkfifoat: use new modules for Solaris and BSD bugs
9020         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
9021         * lib/mkfifoat.c (mknodat): Split...
9022         * lib/mknodat.c (mknodat): ...into new file.
9023         * modules/mkfifoat (Files): Ship new file.
9024         (Depends-on): Add mkfifo, mknod.
9025         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
9026         (Depends-on): Add symlink.
9027         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
9028         redundant with test_mkfifo.h.
9029         (do_mkfifoat, do_mknodat): New helpers.
9030
9031         mknod: new module
9032         * modules/mknod: New file.
9033         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
9034         * lib/mknod.c (mknod): Likewise.
9035         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9036         defaults.
9037         * modules/sys_stat (Makefile.am): Substitute them.
9038         * lib/sys_stat.in.h (mknod): Declare replacement.
9039         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9040         Document it.
9041         * doc/posix-functions/mknod.texi (mknod): Likewise.
9042         * modules/mknod-tests: New test.
9043         * tests/test-mknod.c: Likewise.
9044
9045         mkfifo: new module
9046         * modules/mkfifo: New file.
9047         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
9048         * lib/mkfifo.c (mkfifo): Likewise.
9049         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
9050         defaults.
9051         * modules/sys_stat (Makefile.am): Substitute them.
9052         * lib/sys_stat.in.h (mkfifo): Declare replacement.
9053         * MODULES.html.sh (Support for systems lacking POSIX:2008):
9054         Document it.
9055         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
9056         * modules/mkfifo-tests: New test.
9057         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
9058         from test-mkfifoat.c.
9059         * tests/test-mkfifo.c: New file.
9060
9061         readlink: detect FreeBSD bug
9062         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
9063         slash on symlink.
9064         * doc/posix-functions/readlink.texi (readlink): Document the bug.
9065         * tests/test-readlink.h (test_readlink): Enhance test.
9066
9067         symlink: detect FreeBSD bug
9068         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
9069         slash on symlink.
9070         * doc/posix-functions/symlink.texi (symlink): Document the bug.
9071         * tests/test-symlink.h (test_symlink): Enhance test.
9072
9073 2009-11-10  Eric Blake  <ebb9@byu.net>
9074
9075         link: detect FreeBSD bug
9076         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
9077         symlink.
9078         * doc/posix-functions/link.texi (link): Document the bug.
9079         * tests/test-link.h (test_link): Enhance test.
9080         * tests/test-linkat.c (main): Update caller.
9081
9082         unlink, remove: detect FreeBSD bug
9083         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
9084         slash on symlink.
9085         * doc/posix-functions/unlink.texi (unlink): Document the bug.
9086         * doc/posix-functions/remove.texi (remove): Likewise.
9087         * tests/test-unlink.h (test_unlink): Enhance test.
9088         * tests/test-remove.c (main): Likewise.
9089
9090 2009-11-09  Eric Blake  <ebb9@byu.net>
9091
9092         rename: detect FreeBSD bug
9093         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
9094         slash on symlink.
9095         * modules/renameat-tests (Depends-on): Add filenamecat.
9096         * tests/test-rename.h (test_rename): Allow one more errno.
9097         * tests/test-renameat.c (main): Likewise.
9098         * doc/posix-functions/rename.texi (rename): Document the bug.
9099
9100         open: detect FreeBSD bug
9101         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
9102         symlink.
9103         * doc/posix-functions/open.texi (open): Document the bug.
9104         * doc/posix-functions/utimes.texi (utimes): Likewise.
9105         * tests/test-open.h (test_open): Add parameters, and test symlink
9106         handling.
9107         * tests/test-open.c (main): Adjust caller.
9108         * tests/test-fcntl-safer.c (main): Likewise.
9109         * modules/open-tests (Depends-on): Add stdbool, symlink.
9110         * modules/fcntl-safer-tests (Depends-on): Likewise.
9111         * tests/test-openat.c (main): Add test-open tests.
9112
9113         stat: detect FreeBSD bug
9114         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
9115         symlink.
9116         * doc/posix-functions/stat.texi (stat): Document the bug.
9117         * tests/test-stat.h (test_stat_func): Add argument.
9118         * tests/test-stat.c (main): Adjust caller.
9119         * tests/test-fstatat.c (main): Likewise.
9120         * modules/stat-tests (Depends-on): Add stdbool, symlink.
9121         Reported by Jim Meyering.
9122
9123 2009-11-09  James Youngman  <jay@gnu.org>
9124
9125         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
9126         * lib/strftime.c: Correct placement of #include "ignore-value.h".
9127
9128 2009-11-08  Jim Meyering  <meyering@redhat.com>
9129
9130         utimens: remove invalid futimesat call
9131         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
9132         It used the file descriptor of the target file as the DIR_FD
9133         parameter and NULL as the file name.  That caused failure with
9134         errno == EFAULT on FreeBSD-8.0-rc2
9135
9136 2009-11-07  Eric Blake  <ebb9@byu.net>
9137
9138         fflush, freadseek: use fseeko, not fseek
9139         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
9140         (clear_ungetc_buffer): Avoid potential problems on large files.
9141         * lib/freadseek.c (freadseek): Likewise.
9142         * modules/freadseek (Depends-on): Add fseeko.
9143         * modules/fseek (configure.ac): Set a witness.
9144         * tests/test-fflush.c (main): Use fseeko.
9145         * tests/test-fpurge.c (fseek): Disable link warning.
9146         * tests/test-freadable.c (fseek): Likewise.
9147         * tests/test-freading.c (fseek): Likewise.
9148         * tests/test-fseeko.c (fseek): Likewise.
9149         * tests/test-ftell.c (fseek): Likewise.
9150         * tests/test-ftello.c (fseek): Likewise.
9151         * tests/test-fwritable.c (fseek): Likewise.
9152         * tests/test-fwriting.c (fseek): Likewise.
9153
9154 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9155
9156         * modules/memchr (Depends-on): Drop getpagesize dependency.
9157
9158 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9159
9160         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
9161         Reported by Ludovic Courtès.
9162         * build-aux/pmccabe2html: Improve example usage.
9163         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
9164
9165 2009-11-06  Jim Meyering  <meyering@redhat.com>
9166
9167         do-release-commit-and-tag: New module.
9168         Automate the release-commit and tag process.
9169         * build-aux/do-release-commit-and-tag: New script, from coreutils.
9170         * modules/do-release-commit-and-tag: New file.
9171         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9172
9173 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9174
9175         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
9176         because test-select.c uses inet_pton.
9177
9178 2009-11-06  Simon Josefsson  <simon@josefsson.org>
9179
9180         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
9181         GETADDRINFO_LIB.  Bump serial number.
9182         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
9183         Suggested by Eric Blake <ebb9@byu.net>.
9184
9185 2009-11-05  Eric Blake  <ebb9@byu.net>
9186
9187         strtod: detect darwin bug
9188         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
9189         Reported by Leo Davis.
9190
9191         freopen-safer: new module
9192         * modules/freopen-safer: New module.
9193         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
9194         * lib/freopen-safer.c (freopen_safer): New file.
9195         * lib/stdio-safer.h (freopen_safer): New declaration.
9196         * lib/stdio--.h (freopen): New override.
9197         * MODULES.html.sh (File stream based Input/Output): Mention it.
9198         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
9199         freopen-safer module.
9200         * doc/posix-functions/stderr.texi (stderr): Likewise.
9201         * doc/posix-functions/stdin.texi (stdin): Likewise.
9202         * doc/posix-functions/stdout.texi (stdout): Likewise.
9203         * modules/freopen-safer-tests: New test.
9204         * tests/test-reopen-safer.c: New file.
9205
9206 2009-11-05  Jim Meyering  <meyering@redhat.com>
9207
9208         maint.mk: Prohibit inclusion of "close-stream.h" without use.
9209         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
9210
9211 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9212
9213         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
9214
9215 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9216
9217         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
9218
9219 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9220
9221         Fix link error.
9222         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9223         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9224
9225 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9226
9227         * tests/test-func.c: Also test value of __func__.
9228
9229 2009-11-05  Simon Josefsson  <simon@josefsson.org>
9230
9231         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
9232         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
9233
9234 2009-11-05  Bruno Haible  <bruno@clisp.org>
9235
9236         Fix link error.
9237         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
9238         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9239         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
9240
9241 2009-11-05  Bruno Haible  <bruno@clisp.org>
9242
9243         Tests for module 'inet_pton'.
9244         * modules/inet_pton-tests: New file.
9245         * tests/test-inet_pton.c: New file.
9246
9247 2009-11-05  Bruno Haible  <bruno@clisp.org>
9248
9249         Tests for module 'inet_ntop'.
9250         * modules/inet_ntop-tests: New file.
9251         * tests/test-inet_ntop.c: New file.
9252
9253 2009-11-04  Eric Blake  <ebb9@byu.net>
9254
9255         stdlib-safer: wrap all mkstemp variants
9256         * modules/mkostemp (configure.ac): Set witness.
9257         * modules/mkostemps (configure.ac): Likewise.
9258         * modules/mkstemps (configure.ac): Likewise.
9259         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
9260         (mkstemps_safer): Wrap more functions.
9261         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
9262         wrapping.
9263         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
9264         (mkstemps_safer): Implement the wrappers.
9265
9266         mkstemps, mkostemps: new modules
9267         * modules/mkostemps: New module.
9268         * modules/mkstemps: Likewise.
9269         * lib/mkostemps.c (mkostemps): New file.
9270         * lib/mkstemps.c (mkstemps): Likewise.
9271         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
9272         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
9273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
9274         * modules/stdlib (Makefile.am): Substitute them.
9275         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
9276         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
9277         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9278         * doc/gnulib.texi (Glibc stdlib.h): Include them.
9279         * MODULES.html.sh (File system functions): Mention them.
9280
9281         tempname: resync from glibc
9282         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
9283         same values for __GT_FILE as glibc.  Abort even when assertions
9284         are disabled.
9285         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
9286         match its value otherwise.  Allow idempotent inclusion.
9287         * lib/mkdtemp.c (mkdtemp): Adjust caller.
9288         * lib/mkostemp.c (mkostemp): Likewise.
9289         * lib/mkstemp.c (mkstemp): Likewise.
9290         * lib/tmpfile.c (tmpfile): Likewise.
9291         * NEWS: Document this.
9292
9293         utimens: fix use of futimens on older Linux
9294         * lib/utimens.c (fdutimens): Use updated, rather than original,
9295         timespec to avoid bug in older Linux kernel.
9296         Reported by Simon Josefsson.
9297
9298 2009-11-04  Bruno Haible  <bruno@clisp.org>
9299
9300         Make num_processors more flexible and consistent.
9301         * lib/nproc.h (enum nproc_query): New type.
9302         (num_processors): Add a 'query' argument.
9303         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
9304         (num_processors): Add a 'query' argument. Test the value of the
9305         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
9306         mingw, count the number of CPUs available for the current process.
9307         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
9308         Check for sched_getaffinity and sched_getaffinity_np.
9309         * modules/nproc (Depends-on): Add c-ctype, extensions.
9310         * NEWS: Mention the change.
9311
9312 2009-11-03  Bruno Haible  <bruno@clisp.org>
9313
9314         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
9315
9316 2009-11-03  Jim Meyering  <meyering@redhat.com>
9317
9318         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
9319         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
9320         if it is defined.
9321
9322 2009-11-02  Eric Blake  <ebb9@byu.net>
9323
9324         mktime, timegm: share common declaration
9325         * lib/mktime-internal.h: New file.
9326         * lib/mktime.c: Use it rather than open-coding a declaration.
9327         * lib/timegm.c: Likewise.
9328         * modules/mktime (Files): Ship it.
9329         * modules/timegm (Files): Likewise.
9330         Suggested by Bruno Haible.
9331
9332         test-update-copyright: update test to match script changes
9333         * tests/test-update-copyright.sh: Avoid hard-coding perl
9334         location.  Don't update *.bak created by earlier runs.
9335
9336 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
9337             Simon Josefsson  <simon@josefsson.org>
9338             Bruno Haible  <bruno@clisp.org>
9339
9340         Fix link error on Solaris 8.
9341         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
9342         also in libnsl. Define also INET_PTON_LIB.
9343         * modules/inet_pton (Link): New section.
9344
9345 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9346             Bruno Haible  <bruno@clisp.org>
9347
9348         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
9349         * modules/inet_ntop (Link): New section.
9350         Reported by Boyan Kasarov <bkasarov@gmail.com>.
9351
9352 2009-11-02  Eric Blake  <ebb9@byu.net>
9353
9354         maint: avoid compiler warnings in m4 macros
9355         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
9356         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
9357
9358 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9359
9360         * m4/pmccabe2html.m4: Remove file.
9361         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
9362         function.  Change maintainer.
9363         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
9364         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
9365         Courtès).
9366
9367 2009-10-31  Eric Blake  <ebb9@byu.net>
9368
9369         fseeko: fix m4 regression
9370         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
9371         regression from 2009-10-27.
9372         Reported by Ralf Wildenhues.
9373
9374 2009-10-31  Jim Meyering  <meyering@redhat.com>
9375
9376         inttostr: aesthetics and improved (compile-time) safety
9377         Define inttype_is_signed rather than inttype_is_unsigned,
9378         since the sole use is via "#if inttype_is_signed".
9379         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
9380         inttype_is_unsigned.
9381         * lib/offtostr.c (inttype_is_signed): Likewise.
9382         * lib/uinttostr.c (inttype_is_signed): Likewise.
9383         * lib/umaxtostr.c (inttype_is_signed): Likewise.
9384         * lib/inttostr.c (inttostr): Use verify to cross-check the
9385         inttype_is_signed value and the signedness of the actual type.
9386         * modules/inttostr (Depends-on): Add verify.
9387
9388 2009-10-30  Eric Blake  <ebb9@byu.net>
9389
9390         build: avoid compiler warnings
9391         * lib/fchmodat.c (lchmod): Mark unused variables.
9392         * lib/getopt.c (_getopt_initialize): Likewise.
9393         * lib/mktime.c (__mktime_internal): Provide prototype.
9394         * lib/inttostr.c (inttostr): Avoid compiler warning even with
9395         older gcc that do not understand #pragma GCC diagnostic.
9396         * lib/uinttostr.c (inttype_is_unsigned): Define.
9397         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
9398
9399 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
9400
9401         stat: fix compilation on AIX
9402         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
9403         only see struct stat64.
9404
9405 2009-10-30  Eric Blake  <ebb9@byu.net>
9406
9407         exclude: make more robust
9408         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
9409         rather than masking a coding bug.
9410         Suggested by Bruno Haible.
9411
9412 2009-10-30  Jim Meyering  <meyering@redhat.com>
9413
9414         perl scripts: remove #!/usr/bin/perl in favor of more portable...
9415         Rather than putting #!/usr/bin/perl on the first line,
9416         start with a variant of what's recommended by "man perlrun" that
9417         invokes the first "perl" program from your shell's search path.
9418         * build-aux/gitlog-to-changelog: Replace #!... as above.
9419         Add a "Local Variables" perl mode setting.
9420         Prompted by a patch from Ludovic Courtès.
9421         Improved by Eric Blake.
9422         * build-aux/useless-if-before-free: Likewise.
9423         * build-aux/announce-gen: Likewise.
9424         * build-aux/update-copyright: Likewise.
9425
9426 2009-10-29  Eric Blake  <ebb9@byu.net>
9427
9428         filenamecat-lgpl: adjust clients
9429         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
9430         filenamecat.
9431         * modules/renameat (Depends-on): Likewise.
9432
9433         filenamecat: split into filenamecat-lgpl
9434         * modules/filenamecat-lgpl: New module.
9435         * modules/filenamecat (Files): Move library-safe files into
9436         filenamecat-lgpl.
9437         (Depends-on): Add filenamecat-lgpl.
9438         (configure.ac): Declare witness.
9439         * lib/filenamecat.h (file_name_concat): Only declare when using
9440         GPL module.
9441         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
9442         Move...
9443         * lib/filenamecat-lgpl.c: ...into new file.
9444         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
9445         (gl_FILE_NAME_CONCAT): Use it.
9446         * MODULES.html.sh (File system functions): Mention new module.
9447
9448         argp: avoid memory leak
9449         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
9450         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
9451         base_name, since the latter malloc()s and can call exit().
9452         Leak introduced 2006-07-03.
9453
9454         dirname-lgpl: adjust clients that don't need full dirname
9455         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
9456         * modules/filenamecat (Depends-on): Likewise.
9457         * modules/linkat (Depends-on): Likewise.
9458         * modules/mkancesdirs (Depends-on): Likewise.
9459         * modules/mkdir (Depends-on): Likewise.
9460         * modules/openat (Depends-on): Likewise.
9461         * modules/savewd (Depends-on): Likewise.
9462         * modules/rename (Depends-on): Likewise.
9463         (License): Relax license.
9464         * modules/mkdir-tests (Depends-on): Drop progname.
9465         (Makefile.am): Delete unneeded LDADD.
9466         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
9467
9468         dirname: split into dirname-lgpl
9469         * modules/dirname-lgpl: New module.
9470         * modules/dirname (Files): Move library-safe files into
9471         dirname-lgpl.
9472         (Depends-on): Add dirname-lgpl.
9473         (configure.ac): Declare witness.
9474         * modules/double-slash-root (License): Relax license.
9475         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
9476         module.
9477         * lib/dirname.c (dir_len, mdir_name): Move...
9478         * lib/dirname-lgpl.c: ...into new file.
9479         * lib/basename.c (last_component, base_len): Move...
9480         * lib/basename-lgpl.c: ...into new file.
9481         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
9482         (gl_DIRNAME): Use it.
9483         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
9484         Mention new module.
9485         * modules/dirname-tests (Depends-on): Add progname.
9486         * tests/test-dirname.c (program_name): Delete.
9487
9488         mkdir: make safe for libraries
9489         * modules/mkdir (Depends-on): Drop xalloc.
9490         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
9491         exit.
9492
9493         tests: avoid some compiler warnings
9494         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
9495         literals.
9496         * tests/test-memchr.c (main): Avoid type mismatch.
9497         * tests/test-arpa_inet.c (main): Avoid unused parameters.
9498         * tests/test-base64.c (main): Likewise.
9499         * tests/test-getdelim.c (main): Likewise.
9500         * tests/test-gethostname.c (main): Likewise.
9501         * tests/test-getline.c (main): Likewise.
9502         * tests/test-netinet_in.c (main): Likewise.
9503         * tests/test-select.c (open_server_socket, main): Likewise.
9504         * tests/test-select-stdin.c (main): Likewise.
9505         * tests/test-sockets.c (main): Likewise.
9506         * tests/test-strsignal.c (main): Likewise.
9507         * tests/test-sys_select.c (main): Likewise.
9508         * tests/test-sys_socket.c (main): Likewise.
9509         * tests/test-u64.c (main): Likewise.
9510         * tests/test-xfprintf-posix.c (main): Likewise.
9511         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
9512
9513         sockets: avoid compiler warning
9514         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
9515
9516         maint: detect usage(1) and other suspicious exits
9517         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
9518
9519 2009-10-29  Jim Meyering  <meyering@redhat.com>
9520
9521         timespec: long-to-int truncation could make timespec_cmp malfunction
9522         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
9523         a multiple of 2^32 nanoseconds as no difference.
9524
9525 2009-10-28  Jim Meyering  <meyering@redhat.com>
9526
9527         fprintftime: wrap macro code argument in "do {...} while(0)"
9528         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
9529         cpy macro must be a statement that can be followed by a semicolon.
9530         Now that the else clause contains a comment and is hence longer
9531         than one line, I require curly braces.  That in turn requires
9532         that we wrap this code block in the standard do...while(0).
9533
9534         fprintftime: remove stray semicolon from previous change
9535         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
9536
9537         fprintftime: avoid a warning about ignored fwrite return value
9538         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
9539         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
9540         that is unsafe.
9541         * modules/fprintftime (Depends-on): Add ignore-value.
9542
9543         exclude: avoid an unwarranted warning
9544         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
9545
9546 2009-10-27  Eric Blake  <ebb9@byu.net>
9547
9548         fseek: avoid compilation failure when fflush is replaced
9549         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
9550         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
9551         module is in use.
9552         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
9553         module is not in use; since REPLACE_FSEEK worked otherwise.
9554         (GNULIB_FTELLO): Likewise for ftell.
9555         Reported by Ian Beckwith and others.
9556
9557 2009-10-27  Bruno Haible  <bruno@clisp.org>
9558
9559         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
9560         Reported by Jim Meyering.
9561
9562 2009-10-27  Jim Meyering  <jim@meyering.net>
9563             Bruno Haible  <bruno@clisp.org>
9564
9565         Avoid warning despite dropping the return value of fwrite.
9566         * lib/unicodeio.c: Include ignore-value.h.
9567         (fwrite_success_callback): Explicitly ignore fwrite's return value.
9568         * modules/unicodeio (Depends-on): Add ignore-value.
9569
9570 2009-10-26  Eric Blake  <ebb9@byu.net>
9571
9572         areadlinkat: fix fallback path
9573         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
9574         pointer and zero.
9575
9576 2009-10-22  Pádraig Brady  <P@draigBrady.com>
9577
9578         Use a better IO block size for modern systems
9579         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
9580         * lib/md2.c: Likewise.
9581         * lib/md4.c: Likewise.
9582         * lib/md5.c: Likewise.
9583         * lib/sha1.c: Likewise.
9584         * lib/sha256.c: Likewise.
9585         * lib/sha512.c: Likewise.
9586
9587 2009-10-22  Eric Blake  <ebb9@byu.net>
9588
9589         tests: avoid several compiler warnings
9590         * tests/test-getcwd.c (main): Avoid buffer underflow.
9591         * tests/test-getdate.c (main): String literals are not safe with
9592         putenv, so use setenv.  Declare unused argument.
9593         * modules/getdate-tests (Depends-on): Add setenv.
9594         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
9595         problems with string literals in char *.
9596         * tests/test-hash.c (main): Avoid shadowing declaration.
9597         (insert_new): Treat string literals as char const *.
9598         * tests/test-getopt.h (test_getopt): Likewise.
9599         (getopt_loop): Alter types to minimize casting elsewhere.
9600         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
9601         (test_getopt_long_posix): Likewise.
9602         (do_getopt_long): Add wrapper to minimize casting.
9603         * tests/test-atexit.c (clear_temp_file): Use void.
9604         * tests/test-areadlink-with-size.c (main): Declare unused
9605         arguments.
9606         * tests/test-areadlink.c (main): Likewise.
9607         * tests/test-areadlinkat-with-size.c (main): Likewise.
9608         * tests/test-areadlinkat.c (main): Likewise.
9609         * tests/test-canonicalize-lgpl.c (main): Likewise.
9610         * tests/test-canonicalize.c (main): Likewise.
9611         * tests/test-dirent-safer.c (main): Likewise.
9612         * tests/test-dirname.c (main): Likewise.
9613         * tests/test-dup2.c (main): Likewise.
9614         * tests/test-fchdir.c (main): Likewise.
9615         * tests/test-fcntl-h.c (main): Likewise.
9616         * tests/test-fcntl-safer.c (main): Likewise.
9617         * tests/test-fdopendir.c (main): Likewise.
9618         * tests/test-fdutimensat.c (main): Likewise.
9619         * tests/test-fflush.c (main): Likewise.
9620         * tests/test-filenamecat.c (main): Likewise.
9621         * tests/test-filevercmp.c (main): Likewise.
9622         * tests/test-fopen-safer.c (main): Likewise.
9623         * tests/test-fopen.c (main): Likewise.
9624         * tests/test-fpending.c (main): Likewise.
9625         * tests/test-fpurge.c (main): Likewise.
9626         * tests/test-freading.c (main): Likewise.
9627         * tests/test-fstatat.c (main): Likewise.
9628         * tests/test-fsync.c (main): Likewise.
9629         * tests/test-futimens.c (main): Likewise.
9630         * tests/test-getndelim2.c (main): Likewise.
9631         * tests/test-gettimeofday.c (main): Likewise.
9632         * tests/test-getopt.c (main): Likewise.
9633         * tests/test-i-ring.c (main): Likewise.
9634         * tests/test-inttypes.c (main): Likewise.
9635         * tests/test-link.c (main): Likewise.
9636         * tests/test-lstat.c (main): Likewise.
9637         * tests/test-math.c (main): Likewise.
9638         * tests/test-md5.c (main): Likewise.
9639         * tests/test-memchr2.c (main): Likewise.
9640         * tests/test-memrchr.c (main): Likewise.
9641         * tests/test-mkdir.c (main): Likewise.
9642         * tests/test-mkdirat.c (main): Likewise.
9643         * tests/test-mkfifoat.c (main): Likewise.
9644         * tests/test-open.c (main): Likewise.
9645         * tests/test-openat-safer.c (main): Likewise.
9646         * tests/test-openat.c (main): Likewise.
9647         * tests/test-quotearg.c (main): Likewise.
9648         * tests/test-rawmemchr.c (main): Likewise.
9649         * tests/test-readlink.c (main): Likewise.
9650         * tests/test-remove.c (main): Likewise.
9651         * tests/test-rename.c (main): Likewise.
9652         * tests/test-renameat.c (main): Likewise.
9653         * tests/test-rmdir.c (main): Likewise.
9654         * tests/test-sha1.c (main): Likewise.
9655         * tests/test-signal.c (main): Likewise.
9656         * tests/test-sigaction.c (main): Likewise.
9657         * tests/test-stat.c (main): Likewise.
9658         * tests/test-stat-time.c (main): Likewise.
9659         * tests/test-stddef.c (main): Likewise.
9660         * tests/test-stdint.c (main): Likewise.
9661         * tests/test-stdio.c (main): Likewise.
9662         * tests/test-stdlib.c (main): Likewise.
9663         * tests/test-strchrnul.c (main): Likewise.
9664         * tests/test-strerror.c (main): Likewise.
9665         * tests/test-string.c (main): Likewise.
9666         * tests/test-strtod.c (main): Likewise.
9667         * tests/test-strverscmp.c (main): Likewise.
9668         * tests/test-symlink.c (main): Likewise.
9669         * tests/test-symlinkat.c (main): Likewise.
9670         * tests/test-sys_stat.c (main): Likewise.
9671         * tests/test-sys_time.c (main): Likewise.
9672         * tests/test-time.c (main): Likewise.
9673         * tests/test-unistd.c (main): Likewise.
9674         * tests/test-unlink.c (main): Likewise.
9675         * tests/test-unlinkat.c (main): Likewise.
9676         * tests/test-utimens.c (main): Likewise.
9677         * tests/test-utimensat.c (main): Likewise.
9678         * tests/test-version-etc.c (main): Likewise.
9679         * tests/test-wchar.c (main): Likewise.
9680         * tests/test-wctype.c (main): Likewise.
9681         * tests/test-xprintf-posix.c (main): Likewise.
9682         * tests/test-posixtm.c (main): Likewise.
9683         (STREQ): Delete unused macro.
9684         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
9685         shadowed variables.
9686         * tests/test-memchr.c (main): Likewise.
9687
9688 2009-10-21  Eric Blake  <ebb9@byu.net>
9689
9690         areadlinkat: avoid failure on older glibc
9691         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
9692         rather than mis-comparing 0 against FUNC_RESULT of char*.
9693
9694 2009-10-21  Bruno Haible  <bruno@clisp.org>
9695
9696         * modules/stpncpy (License): Relicense under LGPLv2+.
9697         Reported by David Lutterkort <lutter@redhat.com>.
9698
9699 2009-10-20  Eric Blake  <ebb9@byu.net>
9700
9701         utimensat: work around Solaris 9 bug
9702         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
9703         has trailing slash bugs.
9704         * tests/test-lutimens.h (test_lutimens): Enhance test.
9705         * tests/test-utimens.h (test_utimens): Likewise.
9706         * doc/posix-functions/utime.texi (utime): Enhance documentation.
9707         * doc/posix-functions/utimes.texi (utimes): Likewise.
9708         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9709         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
9710         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
9711         * doc/posix-functions/futimens.texi (futimens): Likewise.
9712
9713         fdutimensat: new module
9714         * modules/fdutimensat: New file.
9715         * lib/fdutimensat.c (fdutimensat): Likewise.
9716         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
9717         * MODULES.html.sh (File system functions): Mention module.
9718         * modules/fdutimensat-tests: New test.
9719         * tests/test-fdutimensat.c: Likewise.
9720
9721         doc: regenerate INSTALL
9722         * doc/INSTALL: Reflect recent autoconf update.
9723         * doc/INSTALL.ISO: Likewise.
9724         * doc/INSTALL.UTF-8: Likewise.
9725
9726 2009-10-20  Pádraig Brady  <P@draigBrady.com>
9727
9728         acl: warn if ACL support is not detected
9729         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
9730
9731 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
9732
9733         * lib/nproc.h: Add extern "C" block for C++.
9734
9735 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
9736             Bruno Haible  <bruno@clisp.org>
9737
9738         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
9739         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
9740         * doc/posix-functions/isalpha.texi: Likewise.
9741         * doc/posix-functions/isblank.texi: Likewise.
9742         * doc/posix-functions/iscntrl.texi: Likewise.
9743         * doc/posix-functions/isdigit.texi: Likewise.
9744         * doc/posix-functions/isgraph.texi: Likewise.
9745         * doc/posix-functions/islower.texi: Likewise.
9746         * doc/posix-functions/isprint.texi: Likewise.
9747         * doc/posix-functions/ispunct.texi: Likewise.
9748         * doc/posix-functions/isspace.texi: Likewise.
9749         * doc/posix-functions/isupper.texi: Likewise.
9750         * doc/posix-functions/isxdigit.texi: Likewise.
9751
9752 2009-10-18  Bruno Haible  <bruno@clisp.org>
9753
9754         Tests for module 'isblank'.
9755         * modules/isblank-tests: New file.
9756         * tests/test-isblank.c: New file.
9757
9758         New module 'isblank'.
9759         * lib/isblank.c: New file.
9760         * m4/isblank.m4: New file.
9761         * modules/isblank: New file.
9762         * doc/posix-functions/isblank.texi: Mention the new module.
9763
9764 2009-10-18  Bruno Haible  <bruno@clisp.org>
9765
9766         New module 'ctype'.
9767         * lib/ctype.in.h: New file.
9768         * m4/ctype.m4: New file.
9769         * modules/ctype: New file.
9770         * doc/posix-headers/ctype.texi: Mention the new module.
9771
9772 2009-10-18  Jim Meyering  <meyering@redhat.com>
9773
9774         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
9775         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
9776         right after its initialization, rather than farther down.
9777         Keeping these in close proximity makes it easier to ensure
9778         that each such variable is initialized.  E.g.,
9779
9780             LIB_CLOCK_GETTIME=
9781             AC_SUBST([LIB_CLOCK_GETTIME])
9782
9783         This change also increments these serial numbers.
9784         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
9785         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9786         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9787
9788 2009-10-18  Bruno Haible  <bruno@clisp.org>
9789
9790         Don't let environment variables perturb build.
9791         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
9792         (gl_PREREQ_GETHRXTIME): ... not here.
9793
9794 2009-10-18  Bruno Haible  <bruno@clisp.org>
9795
9796         Avoid symlink attack in localcharset module.
9797         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
9798         (O_NOFOLLOW): Define fallback.
9799         (get_charset_aliases): Don't open the file if it is a symbolic link.
9800         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
9801         gl_FCNTL_H.
9802         (gl_FCNTL_H): Require it.
9803         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
9804         * modules/localcharset (Files): Add m4/fcntl_h.m4.
9805         Reported by Fergal Glynn <fglynn@veracode.com>.
9806
9807 2009-10-18  Bruno Haible  <bruno@clisp.org>
9808
9809         Implement nproc for mingw.
9810         * lib/nproc.c: Include <windows.h>
9811         (num_processors): On native Windows platforms, try GetSystemInfo.
9812
9813 2009-10-18  Bruno Haible  <bruno@clisp.org>
9814
9815         Implement nproc for IRIX.
9816         * lib/nproc.c: Include <sys/sysmp.h>.
9817         (num_processors): On IRIX systems, try sysmp.
9818         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
9819
9820 2009-10-18  Bruno Haible  <bruno@clisp.org>
9821
9822         Implement nproc for HP-UX.
9823         * lib/nproc.c: Include <sys/pstat.h>
9824         (num_processors): On HP-UX systems, try pstat_getdynamic.
9825         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
9826         pstat_getdynamic.
9827
9828 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
9829             Bruno Haible  <bruno@clisp.org>
9830
9831         Implement nproc for NetBSD, OpenBSD.
9832         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
9833         (ARRAY_SIZE): New macro.
9834         (num_processors): On BSD systems, try sysctl of HW_NCPU.
9835         * m4/nproc.m4: New file.
9836         * modules/nproc (Files): Add m4/nproc.m4.
9837         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
9838         (Makefile.am): Instead, augment lib_SOURCES.
9839
9840 2009-10-18  Bruno Haible  <bruno@clisp.org>
9841
9842         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
9843         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
9844         sys/param.h.
9845
9846 2009-10-16  Eric Blake  <ebb9@byu.net>
9847
9848         utimensat: new module
9849         * modules/utimensat: New file.
9850         * lib/utimensat.c (utimensat): Likewise.
9851         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9852         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
9853         so we can work around Linux bugs.
9854         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9855         * modules/sys_stat (Makefile.am): Substitute them.
9856         * lib/sys_stat.in.h (utimensat): Declare it.
9857         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
9858         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9859         * modules/utimensat-tests: New test.
9860         * tests/test-utimensat.c: Likewise.
9861
9862         utimens: let lutimens work on non-symlinks
9863         * lib/utimens.c (lutimens): Fall back to utimens rather than
9864         failing with ENOSYS, when file is not a symlink.
9865         (utimens): Reduce redirection.
9866         * tests/test-lutimens.h (test_lutimens): Update test to cover
9867         non-symlinks.
9868         * tests/test-utimens.h (test_utimens): Update test to cover
9869         symlinks.
9870         * tests/test-utimens.c (main): Update caller.
9871
9872         utimens: cache whether utimensat syscall works
9873         * lib/utimens.c (utimensat_works_really): New cache variable.
9874         (fdutimens, lutimens): Use it to avoid failing syscall.
9875
9876         test-stat-time, test-utimens: improve portability
9877         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
9878         ext4 on alpha, and for cygwin.
9879         * tests/test-utimens-common.h: New file.
9880         (nap): Factor delays into single function.
9881         * tests/test-lutimens.h (test_lutimens): Use new header.
9882         * tests/test-futimens.h (test_futimens): Likewise.
9883         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
9884         timestamps to occur from same machine, as was done previously for
9885         test_utimens.
9886         * modules/utimens-tests (Files): Ship new file.
9887         * modules/futimens-tests (Files): Likewise.
9888         Reported in part by Jim Meyering.
9889
9890         sys_stat: sort replacement declarations
9891         * lib/sys_stat.in.h: Sort declarations.
9892         * lib/futimens.c (futimens): Fix typo.
9893
9894 2009-10-15  Jim Meyering  <meyering@redhat.com>
9895
9896         don't let environment settings perturb build
9897         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
9898         could cause a configure-time and/or build-time malfunction.
9899         Typically, a configure-time function-in-library test is performed
9900         via code like this:
9901
9902           LIB_VAR=
9903           AC_SUBST([LIB_VAR])
9904           prefix_saved_LIBS=$LIBS
9905             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
9906                        [test "$ac_cv_search_FUNC" = "none required" ||
9907                         LIB_VAR=$ac_cv_search_FUNC])
9908           LIBS=$prefix_saved_LIBS
9909
9910         However, in each of the files affected by this change, the LIB_VAR=
9911         initialization was omitted.  Thus, when set in the environment, its
9912         value would propagate into generated Makefiles when FUNC is not found
9913         in LIB_NAME.
9914         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
9915         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9916         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9917
9918 2009-10-14  Eric Blake  <ebb9@byu.net>
9919
9920         fchdir: avoid infinite recursion in mingw
9921         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
9922         recursing.
9923
9924         test-stat-time: port to mingw
9925         * tests/test-stat-time.c (force_unlink): Return a value.
9926         (test_ctime) [W32]: Fix compilation error.
9927         (nap): Don't call usleep with too large an argument.  Use
9928         force_unlink.
9929         * doc/pastposix-functions/usleep.texi (usleep): Document the
9930         portability issue.
9931
9932 2009-10-13  Jim Meyering  <meyering@redhat.com>
9933
9934         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
9935         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
9936         * modules/pipe-filter-ii: Likewise.
9937         * modules/sys_socket-tests: Likewise.
9938         * modules/tsearch-tests: Likewise.
9939         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
9940         (check): Depend on it.
9941
9942 2009-10-12  Eric Blake  <ebb9@byu.net>
9943
9944         utimens-tests: port to NFS file systems
9945         * tests/test-utimens.h (test_utimens): Refactor utimecmp
9946         comparisons to avoid spurious failures from timestamp drift
9947         between NFS machines.
9948
9949 2009-10-12  Eric Blake  <ebb9@byu.net>
9950
9951         stat-time-tests: minor cleanups
9952         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
9953         * tests/test-stat-time.c (nap): Separate assignment from call.
9954         Suggested by Paolo Bonzini and Bruno Haible.
9955
9956         sys_stat: guarantee struct timespec
9957         * lib/sys_stat.in.h (includes): Always include <time.h>
9958         * modules/sys_stat (Depends-on): Add time.
9959         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
9960         mode_t permission values.
9961         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
9962         get at subsecond timestamps.
9963
9964 2009-10-10  Eric Blake  <ebb9@byu.net>
9965
9966         futimens: new module
9967         * modules/futimens: New file.
9968         * lib/futimens.c (futimens): Likewise.
9969         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
9970         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
9971         we can work around Linux bugs.
9972         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9973         * modules/sys_stat (Makefile.am): Substitute them.
9974         * lib/sys_stat.in.h (futimens): Declare it.
9975         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
9976         * doc/posix-functions/futimens.texi (futimens): Likewise.
9977         * modules/futimens-tests: New test.
9978         * tests/test-futimens.c: Likewise.
9979
9980         utimens: introduce fdutimens
9981         * lib/utimens.h (fdutimens): New prototype.
9982         * lib/utimens.c (gl_futimens): Move guts...
9983         (fdutimens): ...to new interface.
9984         * tests/test-utimens.c (do_fdutimens): Use it.
9985
9986         utimens: add UTIME_NOW and UTIME_OMIT support
9987         * lib/utimens.c (validate_timespec, update_timespec): New helper
9988         functions.
9989         (gl_futimens, lutimens): Use them.
9990         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
9991         stdbool, sys_stat.
9992         (Link): Mention resulting library dependency.
9993         * modules/utimecmp (Link): Likewise.
9994         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
9995         (Makefile.am): Pick up library dependency.
9996         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
9997         definition.
9998         * tests/test-sys_stat.c: Test the definitions.
9999         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
10000         * NEWS: Document library dependency.
10001
10002         utimecmp: support symlink timestamps
10003         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
10004         hashing when possible.  Use pathconf when available.
10005         (SYSCALL_RESOLUTION): Recognize tighter resolution.
10006         * modules/utimecmp (Depends-on): Add lstat.
10007
10008         utimens: add lutimens interface
10009         * lib/utimens.c (lutimens): New function.
10010         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
10011         * lib/utimens.h (lutimens): Declare new interface.
10012         * tests/test-utimens.c (main): Enhance test.
10013         * tests/test-lutimens.h (test_lutimens): New file.
10014         * modules/utimens-tests (Files): Distribute it.
10015         (Depends-on): Add symlink.
10016         (configure.ac): Check for usleep.
10017
10018         utimens: validate futimens usage
10019         * lib/utimens.c (gl_futimens): Require valid fd up front, using
10020         fewer syscalls on failure later on.  Avoid compiler warning on
10021         mingw.
10022         * modules/utimens (Depends-on): Add dup2.
10023
10024         utimens: add test
10025         * modules/utimens-tests: New test.
10026         * tests/test-utimens.h: New file.
10027         * tests/test-futimens.h: Likewise.
10028         * tests/test-utimens.c: Likewise.
10029
10030         doc: mention timestamp portability issues
10031         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
10032         instead.
10033         * doc/posix-functions/utime.texi (utime): Likewise.
10034         * doc/posix-functions/utimes.texi (utimes): Likewise.
10035         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
10036         instead.
10037         * doc/posix-functions/futimens.texi (futimens): Mention utimens
10038         module.
10039         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10040         Mention weakness with symlink timestamps.
10041         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
10042         to utimensat/futimens instead.
10043         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
10044
10045         test-dup2: enhance test
10046         * tests/test-dup2.c (main): Also check AT_FDCWD.
10047
10048         test-stat-time: avoid more spurious failures
10049         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
10050         xfs; and avoid race if the two timestamps cross quantization edge.
10051
10052         relocatable: prefer 'file system' over 'filesystem'
10053         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
10054         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
10055         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
10056         * doc/relocatable.texi (Enabling Relocatability): Likewise.
10057         * lib/relocatable.c (compute_curr_prefix): Likewise.
10058
10059 2009-10-10  Jim Meyering  <meyering@redhat.com>
10060
10061         stat-time-tests: check for the usleep function
10062         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
10063
10064 2009-10-10  Bruno Haible  <bruno@clisp.org>
10065
10066         * modules/xnanosleep: Put the Link section after the Include section.
10067
10068 2009-10-09  Eric Blake  <ebb9@byu.net>
10069
10070         dup2: work around FreeBSD 6.1 bug
10071         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
10072         * doc/posix-functions/dup2.texi (dup2): Document it.
10073         Reported by Nelson H. F. Beebe and Jim Meyering.
10074
10075         test-stat-time: port to buggy NFS clients
10076         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
10077         (test_ctime): Also skip test if mtime and ctime are skewed.
10078
10079         maint: prefer 'file system' over 'filesystem'
10080         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10081         * doc/posix-functions/lstat.texi (lstat): Likewise.
10082         * lib/file-has-acl.c (file_has_acl): Likewise.
10083         * lib/fwriteerror.c [TEST]: Likewise.
10084         * tests/test-areadlink.h (test_areadlink): Likewise.
10085         * tests/test-areadlinkat-with-size.c (main): Likewise.
10086         * tests/test-areadlinkat.c (main): Likewise.
10087         * tests/test-canonicalize-lgpl.c (main): Likewise.
10088         * tests/test-canonicalize.c (main): Likewise.
10089         * tests/test-fstatat.c (main): Likewise.
10090         * tests/test-linkat.c (main): Likewise.
10091         * tests/test-lstat.h (test_lstat_func): Likewise.
10092         * tests/test-mkdir.h (test_mkdir): Likewise.
10093         * tests/test-readlink.h (test_readlink): Likewise.
10094         * tests/test-remove.c (main): Likewise.
10095         * tests/test-rename.h (test_rename): Likewise.
10096         * tests/test-renameat.c (main): Likewise.
10097         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10098         * tests/test-symlink.h (test_symlink): Likewise.
10099         * tests/test-symlinkat.c (main): Likewise.
10100         * tests/test-unlink.h (test_unlink_func): Likewise.
10101         * tests/test-unlinkat.c (main): Likewise.
10102
10103         maint: make realtime library usage explicit
10104         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
10105         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
10106         * modules/settime (Link): Likewise.
10107         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
10108
10109         test-stat-time: speed up execution
10110         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
10111         warning on mingw.
10112         (nap): New helper function.
10113         (prepare_test): Use it to reduce sleep time.
10114         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
10115         execution.
10116         * modules/stat-time-tests (configure.ac): Check for usleep.
10117
10118 2009-10-09  Jim Meyering  <meyering@redhat.com>
10119
10120         selinux-h: always use getfilecon wrappers
10121         * lib/getfilecon.c: New file.
10122         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
10123         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
10124         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
10125         (fgetfilecon): Provide a stub.
10126         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
10127         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
10128         file unconditionally.
10129         When <selinux/selinux.h> is found, arrange to use wrappers.
10130         * modules/selinux-h (Files): Add getfilecon.c.
10131         (Makefile.am): Substitute include-next-related bits
10132         into the now-always-generated selinux/selinux.h file.
10133         * doc/glibc-functions/lgetfilecon.texi: New file.
10134         * doc/glibc-functions/fgetfilecon.texi: New file.
10135         * doc/glibc-functions/getfilecon.texi: New file.
10136         * doc/glibc-functions/getfilecon-desc.texi: New file.
10137         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
10138         which to pull in the new files.
10139         * MODULES.html.sh (Misc): Add selinux-h.
10140
10141 2009-10-08  Jim Meyering  <meyering@redhat.com>
10142
10143         unistd: fix comment typo
10144         * lib/unistd.in.h (euidaccess): Fix a comment typo.
10145
10146 2009-10-08  Eric Blake  <ebb9@byu.net>
10147
10148         areadlink: use SIZE_MAX consistently
10149         * modules/areadlink (Depends-on): Add stdint.
10150         * modules/areadlink-with-size (Depends-on): Likewise.
10151         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
10152         gives NULL; drop sys/types, since unistd gives size_t; and add
10153         stdint for SIZE_MAX.
10154         (SIZE_MAX): Rely on headers.
10155         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
10156         and add stdint.
10157         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
10158         (SIZE_MAX): Likewise.
10159         (INITIAL_BUF_SIZE): Turn into enum.
10160         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
10161
10162 2009-10-08  Jim Meyering  <meyering@redhat.com>
10163
10164         areadlinkat: avoid compilation failure
10165         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
10166         Fix typo in comment.
10167
10168 2009-10-07  Eric Blake  <ebb9@byu.net>
10169
10170         areadlinkat-with-size: new module
10171         * modules/areadlinkat-with-size: New module.
10172         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
10173         * lib/areadlink.h (areadlinkat): Declare it.
10174         * MODULES.html.sh (File system functions): Mention it.
10175         * modules/areadlinkat-with-size-tests: New test.
10176         * tests/test-areadlinkat-with-size.c: New file.
10177
10178         xreadlinkat: new module
10179         * modules/xreadlinkat: New module.
10180         * lib/xreadlinkat.c (xreadlinkat): New file.
10181         * lib/xreadlink.h (xreadlinkat): Declare it.
10182         * MODULES.html.sh (File system functions): Mention it.
10183
10184         areadlinkat: new module
10185         * lib/at-func.c (FUNC_FAIL): New define.
10186         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
10187         * modules/areadlinkat: New module.
10188         * lib/linkat.c (areadlinkat): Move...
10189         * lib/areadlinkat.c (areadlinkat): ...to new file.
10190         * lib/areadlink.h (areadlinkat): Declare it.
10191         * modules/linkat (Depends-on): Add areadlinkat.
10192         * MODULES.html.sh (File system functions): Mention it.
10193         * modules/areadlinkat-tests: New test.
10194         * tests/test-areadlinkat.c: New file.
10195
10196         areadlink, areadlink-with-size: add tests
10197         * modules/areadlink-tests: New test.
10198         * modules/areadlink-with-size-tests: Likewise.
10199         * tests/test-areadlink.h: New file.
10200         * tests/test-areadlink.c: Likewise.
10201         * tests/test-areadlink-with-size.c: Likewise.
10202
10203         maint: minor cleanups
10204         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
10205         _UNUSED_PARAMETER_ instead.
10206         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
10207         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
10208         * modules/linkat-tests (Files): Distribute test-link.h.
10209
10210         openat, utimens: whitespace cleanup
10211         * lib/openat.c: Prefer space throughout, rather than mix of 8
10212         spaces vs. tabs.
10213         * lib/at-func.c: Likewise.
10214         * lib/utimens.c: Likewise.
10215
10216         openat: avoid using wrong fd
10217         * lib/openat.c (openat_permissive): Reject user's fd if saving the
10218         working directory chooses same fd.
10219         * lib/at-func.c (AT_FUNC_NAME): Likewise.
10220
10221         mkdir, mkdirat: fix cygwin 1.5.x bug
10222         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
10223         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
10224         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
10225         bug.
10226         (gl_PREREQ_MKDIR): Delete unused macro.
10227         * modules/mkdir (Files): Track file rename.
10228         (configure.ac): Update macro name.
10229         * modules/openat (Depends-on): Add mkdir.
10230         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
10231
10232         mkdir, mkdirat: add tests
10233         * modules/mkdir-tests: New test.
10234         * tests/test-mkdir.h: New file.
10235         * tests/test-mkdir.c: Likewise.
10236         * tests/test-mkdirat.c: Likewise.
10237         * modules/openat-tests (Files): Add new files.
10238         (Makefile.am): Run new test.
10239
10240 2009-10-06  Eric Blake  <ebb9@byu.net>
10241
10242         doc: tweak *at function documentation
10243         * doc/posix-functions/faccessat.texi (faccessat): Mention
10244         known issue with replacement.
10245         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
10246         * doc/posix-functions/linkat.texi (linkat): Likewise.
10247         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
10248         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
10249         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10250         * doc/posix-functions/renameat.texi (renameat): Likewise.
10251         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10252
10253         openat: fix GNU/Hurd bug in unlinkat
10254         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
10255         broken.
10256         * doc/posix-functions/unlink.texi (unlink): Document this.
10257         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
10258
10259         fdopendir: fix GNU/Hurd bug
10260         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
10261         allowing non-directory fds.
10262         * lib/fdopendir.c (rpl_fdopendir): Work around it.
10263         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10264         * modules/dirent (Makefile.am): Substitute it.
10265         * lib/dirent.in.h (fdopendir): Declare replacement.
10266         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
10267         * tests/test-fdopendir.c (main): Test something other than
10268         /dev/null, since on Hurd that behaves like a directory.
10269
10270         test-symlink: port to GNU/Hurd
10271         * tests/test-symlink.h (test_symlink): Relax expected errno.
10272
10273         doc: tweak more cygwin information
10274         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
10275         now compatible with glibc.
10276         * doc/posix-functions/getopt.texi (getopt): Likewise.
10277
10278         getopt-gnu: add another test
10279         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
10280         guarantee behavior relied on by m4.
10281         * tests/test-getopt.c (main): Use it.
10282         * modules/getopt-posix-tests (Depends-on): Add setenv.
10283         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
10284
10285         getopt: fix compilation on darwin
10286         * lib/getopt.in.h (includes): Leave breadcrumbs during system
10287         include.
10288         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
10289         Reported by Ludovic Courtès.
10290
10291 2009-10-06  Bruno Haible  <bruno@clisp.org>
10292
10293         * modules/size_max (Description): Discourage its use.
10294         Reported by Simon Josefsson.
10295
10296 2009-10-06  Jim Meyering  <meyering@redhat.com>
10297
10298         linkat: avoid compilation failure
10299         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
10300
10301 2009-10-05  Eric Blake  <ebb9@byu.net>
10302
10303         linkat: support Linux 2.6.17
10304         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
10305         linkat on Linux, but allow cache variable override.
10306         * lib/linkat.c (rpl_linkat): Define override.
10307         * modules/linkat (Depends-on): Add symlinkat.
10308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
10309         * modules/unistd (Makefile.am): Substitute it.
10310         * lib/unistd.in.h (linkat): Declare replacement.
10311         Reported by Pádraig Brady.
10312
10313         quotearg: port test to systems with C.UTF-8 locale
10314         * tests/test-quotearg.c (struct result_strings): Add another
10315         member, differentiating between C.ASCII and C.UTF-8 handling.
10316         (compare_strings): Add parameter.
10317         (main): Adjust all callers.
10318
10319         getopt: avoid clash with FreeBSD _getopt_internal
10320         * lib/getopt.in.h (_getopt_internal): Override the name.
10321         * lib/getopt_int.h (includes): Pick up any overrides.
10322         Reported by Reuben Thomas.
10323
10324         hash: allow C89 compilation
10325         * lib/hash.c (check_tuning): Move declaration before statement.
10326         Reported by Reuben Thomas.
10327
10328 2009-10-05  Karl Berry  <karl@gnu.org>
10329
10330         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
10331
10332 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
10333             Bruno Haible  <bruno@clisp.org>
10334
10335         * lib/uname.c (uname): Use a table-driven algorithm to compute
10336         Windows NT versions.
10337
10338 2009-10-04  Bruno Haible  <bruno@clisp.org>
10339
10340         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
10341         program_invocation_short_name.
10342         * modules/progname (configure.ac): Test for presence of
10343         program_invocation_short_name.
10344         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10345
10346 2009-10-04  Bruno Haible  <bruno@clisp.org>
10347
10348         * lib/progname.c (set_program_name): Fix comment.
10349         Reported by Jim Meyering.
10350
10351 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10352             Bruno Haible  <bruno@clisp.org>
10353
10354         * lib/uname.c: Include <string.h>.
10355         (uname): Do only one call to GetVersionEx in the common case.
10356
10357 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10358             Bruno Haible  <bruno@clisp.org>
10359
10360         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
10361         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
10362         (uname): Add support for Windows CE and various non-x86 CPU types.
10363
10364 2009-10-03  Bruno Haible  <bruno@clisp.org>
10365
10366         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
10367         invocation to tests/configure.ac.
10368         Reported by Ian Beckwith <ianb@erislabs.net>.
10369
10370 2009-10-02  Eric Blake  <ebb9@byu.net>
10371
10372         fchdir: avoid compiler warning
10373         * lib/fchdir.c (canonicalize_file_name)
10374         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
10375
10376         test-open: support mingw errno values
10377         * tests/test-open.h (test_open): Relax test.
10378         * tests/test-fopen.h (test_fopen): Likewise.
10379         * tests/test-openat-safer.c (main): Likewise.
10380
10381         open: fix opening directory on mingw
10382         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
10383
10384         test-open: on GNU/Hurd, /dev/null is a directory
10385         * tests/test-fopen.h (main): Rename...
10386         (test_fopen): ...to this.  Use a guaranteed non-directory when
10387         confirming open behavior on trailing slash.
10388         * tests/test-openat-safer.c (main): Likewise.
10389         * tests/test-open.h (main): Likewise....
10390         (test_open): ...to this.
10391         * tests/test-fopen.c (main): Adjust caller.
10392         * tests/test-fopen-safer.c (main): Likewise.
10393         * tests/test-open.c (main): Likewise.
10394         * tests/test-fcntl-safer.c (main): Likewise.
10395         Reported by Samuel Thibault.
10396
10397         rename, fchdir: don't ignore chdir failure
10398         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
10399         * lib/rename.c (rpl_rename) [W32]: Likewise.
10400         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
10401         an empty destination directory if source cannot be renamed,
10402         although there is still possibility for failure.
10403         * doc/posix-functions/rename.texi (rename): Document the race.
10404         Reported by Jim Meyering.
10405
10406         maint: cleanup whitespace in recent commits
10407         * lib/rename.c (rpl_rename): Remove tabs.
10408         * tests/test-link.h (test_link): Likewise.
10409         * lib/fchdir.c (get_name): Likewise.
10410         Reported by Jim Meyering.
10411
10412 2009-10-02  Ben Pfaff  <blp@gnu.org>
10413
10414         relocatable-prog-wrapper: Add missing dependency on
10415         double-slash-root.
10416         * modules/relocatable-prog-wrapper: Add dependency.
10417         Reported by Ian Beckwith <ianb@erislabs.net>.
10418
10419 2009-10-02  Eric Blake  <ebb9@byu.net>
10420
10421         renameat: fix Solaris bugs
10422         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
10423         needed fixing.
10424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
10425         * modules/stdio (Makefile.am): Substitute it.
10426         * lib/stdio.in.h (renameat): Declare replacement.
10427         * lib/renameat.c (rpl_renameat): Implement fix.
10428
10429         renameat: new module
10430         * modules/renameat: New file.
10431         * lib/renameat.c (renameat): Likewise.
10432         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
10433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10434         * modules/stdio (Makefile.am): Substitute them.
10435         * lib/stdio.in.h (renameat): Declare it.
10436         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10437         * doc/posix-functions/renameat.texi (renameat): Likewise.
10438         * modules/renameat-tests: New test.
10439         * tests/test-renameat.c: Likewise.
10440
10441         rename: fix mingw bugs
10442         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
10443         directory overwrite bugs.
10444
10445         rename: fix another cygwin 1.5 bug
10446         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
10447         checks.
10448         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
10449         unnecessary cygwin workarounds.  Also work around bug with moving
10450         full directory onto an empty one.
10451         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
10452
10453         rename-dest-slash: merge into rename module
10454         * modules/rename-dest-slash (Status): Mark obsolete.
10455         (Depends-on): Add rename.
10456         (Files): Let rename do it all.
10457         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
10458         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
10459         * m4/rename-dest-slash.m4: ...so this file can be deleted.
10460         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
10461         * lib/rename.c (rpl_rename): Update comments.
10462
10463         rename: fix cygwin 1.5.x bugs
10464         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
10465         * lib/rename.c (rpl_rename): Work around them.
10466         * modules/rename (Depends-on): Add same-inode.
10467
10468         rename: fix Solaris 10 bug
10469         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10470         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
10471         was the only bug.
10472
10473         rename: fix Solaris 9 bug
10474         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
10475         on non-directory.  Avoid calling exit.
10476         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
10477         strdup.
10478         * modules/rename-tests (Depends-on): Drop lstat.
10479         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10480         (gl_PREREQ_RENAME): Delete unused macro.
10481
10482         rename-dest-slash: fix NetBSD bug
10483         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
10484         links.
10485         * modules/rename-dest-slash (Depends-on): Add same-inode.
10486
10487         rename-tests: new test, exposes several platform bugs
10488         * modules/rename-tests: New file.
10489         * tests/test-rename.h: Likewise.
10490         * tests/test-rename.c: Likewise.
10491         * doc/posix-functions/rename.texi (rename): Improve documentation,
10492         including bugs that will eventually be fixed in gnulib.
10493
10494 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
10495
10496         * lib/uname.c: Include <stdlib.h>
10497         (uname): Assume version info is available.
10498
10499 2009-10-02  Jim Meyering  <meyering@redhat.com>
10500
10501         gnu-web-doc-update: correct --help output
10502         * build-aux/gnu-web-doc-update: Make --help output relevant.
10503
10504         gnu-web-doc-update: add standard options
10505         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
10506
10507         gnu-web-doc-update: New module.
10508         Use this script to automatically update the on-line web documentation
10509         for your GNU project at http://www.gnu.org/software/$pkg/manual/
10510         * modules/gnu-web-doc-update: New file, from coreutils.
10511         * build-aux/gnu-web-doc-update: New script.
10512
10513 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
10514
10515         link: LoadLibrary is not needed.
10516         * lib/link.c: Use GetModuleHandle.
10517
10518 2009-10-01  Eric Blake  <ebb9@byu.net>
10519
10520         getopt: bump serial number
10521         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
10522         change.
10523
10524         tests: tighten link, rmdir, and remove tests
10525         * tests/test-link.h (includes): No need to use <config.h> here.
10526         Clean up if directory hard link was created, otherwise test for
10527         trailing '.'.
10528         * tests/test-linkat.c (main): Simplify.
10529         * tests/test-remove.c (main): Enhance test for trailing '.'.
10530         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10531
10532 2009-10-01  Jim Meyering  <meyering@redhat.com>
10533
10534         maint.mk: requiring "make major" was annoying, for a "minor" release.
10535         What is intended is "stable", to contrast with alpha and beta,
10536         so require "make stable", not "make major".
10537         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
10538         (get_tool_versions): Likewise.
10539         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
10540
10541 2009-09-30  Ben Pfaff  <blp@gnu.org>
10542
10543         Fix broken build of replacement for Windows tmpfile().
10544         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
10545         flags argument added along with the 'mkostemp' module.
10546
10547 2009-09-28  Bruno Haible  <bruno@clisp.org>
10548
10549         Avoid identifier clash with POSIX function 'remove' defined as a macro.
10550         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
10551         to 'remove_elt'.
10552         (gl_list_remove): Update.
10553         * lib/gl_list.c (gl_list_remove): Update.
10554         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
10555         to 'remove_elt'.
10556         (gl_oset_remove): Update.
10557         * lib/gl_list.c (gl_oset_remove): Update.
10558         Reported by Eric Blake.
10559
10560 2009-09-28  Eric Blake  <ebb9@byu.net>
10561
10562         doc: mention yet more cygwin 1.7 status
10563         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
10564         cygwin.
10565         * doc/glibc-functions/execvpe.texi (execvpe): New file.
10566         * doc/gnulib.texi (Glibc unistd.h): Mention it.
10567
10568         argp: fix test failure
10569         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
10570         that are not upper-case.  Pass correct range to tolower.
10571
10572 2009-09-27  Jim Meyering  <meyering@redhat.com>
10573
10574         test-yesno: work around sparc-dash here-document infelicity
10575         Without this change, the literal \177 byte in a here document
10576         would make dash 0.5.5.1-3 access uninitialized memory.
10577         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
10578         Instead, use a marker, "@", and filter through tr to create the desired
10579         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
10580
10581 2009-09-27  Bruno Haible  <bruno@clisp.org>
10582
10583         Disable untested support for new flavours of ACLs on AIX.
10584         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
10585         progress.
10586         * lib/set-mode-acl.c (qset_acl): Likewise.
10587
10588 2008-12-07  Bruno Haible  <bruno@clisp.org>
10589
10590         Add support for new flavours of ACLs on AIX. (Untested.)
10591         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
10592         (file_has_acl): Add support for newer AIX.
10593         * lib/set-mode-acl.c (qset_acl): Likewise.
10594         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
10595         Rainer Tammer <tammer@tammer.net>.
10596
10597 2009-09-26  Eric Blake  <ebb9@byu.net>
10598
10599         argp: fix compilation of getopt
10600         * lib/getopt.in.h (includes): Use different guard than glibc.
10601         Reported by Sergey Poznyakoff.
10602
10603         doc: mention more cygwin 1.7 status
10604         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
10605         bug.
10606         * doc/posix-functions/execl.texi (execl): Likewise.
10607         * doc/posix-functions/execle.texi (execle): Likewise.
10608         * doc/posix-functions/execlp.texi (execlp): Likewise.
10609         * doc/posix-functions/execv.texi (execv): Likewise.
10610         * doc/posix-functions/execve.texi (execve): Likewise.
10611         * doc/posix-functions/execvp.texi (execvp): Likewise.
10612         * doc/glibc-functions/canonicalize_file_name.texi
10613         (canonicalize_file_name): Cygwin 1.7 now provides this.
10614         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
10615         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
10616         on AT_SYMLINK_NOFOLLOW.
10617
10618 2009-09-24  Eric Blake  <ebb9@byu.net>
10619
10620         test-linkat: make test more robust
10621         * tests/test-linkat.c (main): Avoid collision with EEXIST.
10622
10623         getopt: fix inclusion guards for cygwin
10624         * modules/getopt-posix (Depends-on): Add include-next.
10625         (Makefile.am): Substitute more items in replacement header.
10626         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
10627         <getopt.h>.
10628         * lib/getopt.in.h (includes): Use split inclusion guard, and
10629         prefer <getopt.h> over include <unistd.h> when one is present.
10630         (option): Also override name of 'struct option'.
10631
10632         same-inode: revert prior change; it is not yet ready
10633         * NEWS: Undo mention of this change.
10634         * lib/same-inode.h (same-inode.h): Undo tri-state change.
10635         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10636         * lib/cycle-check.c (cycle_check): Likewise.
10637         * lib/same.c (same_name): Likewise.
10638         * lib/at-func2.c (at_func2): Likewise.
10639
10640 2009-09-23  Eric Blake  <ebb9@byu.net>
10641
10642         linkat: new module
10643         * modules/linkat: New file.
10644         * lib/at-func2.c (at_func2): Likewise.
10645         * lib/linkat.c (linkat): Likewise.
10646         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10647         * lib/openat-priv.h (at_func2): Add declaration.
10648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10649         * modules/unistd (Makefile.am): Substitute them.
10650         * lib/unistd.in.h (linkat): Declare it.
10651         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10652         * doc/posix-functions/linkat.texi (linkat): Likewise.
10653         * doc/posix-functions/link.texi (link): Tweak wording.
10654         * tests/test-link.c (main): Move guts...
10655         * tests/test-link.h (test_link): ...into new file.
10656         * modules/linkat-tests: New test.
10657         * tests/test-linkat.c: Likewise.
10658         * modules/link-tests (Files): Ship new file.
10659         (Depends-on): Add stdbool.
10660
10661         dirname: add library-safe mdir_name
10662         * lib/dirname.h (mdir_name): New prototype.
10663         * lib/dirname.c (dir_name): Move guts...
10664         (mdir_name): ...to new function that avoids xalloc_die.
10665
10666         fchdir: another mingw fix
10667         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
10668         * lib/fchdir.c (get_name): New helper method; skips canonicalize
10669         on mingw (where it has not yet been ported), and make it optional
10670         elsewhere.
10671         (_gl_register_fd): Use it.
10672
10673         same-inode: make SAME_INODE tri-state, to port to mingw
10674         * NEWS: Mention this change.
10675         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
10676         st_ino always being 0.
10677         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10678         * lib/cycle-check.c (cycle_check): Likewise.
10679         * lib/same.c (same_name): Likewise.
10680
10681         lstat: avoid mingw compilation error
10682         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
10683         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
10684         lstat ourselves.
10685         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
10686         was adequate.
10687         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
10688         the checks for lstat.
10689         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
10690
10691         link: fix test failure on Solaris 9
10692         * lib/link.c (rpl_link): Don't assume link will catch bogus
10693         trailing slash on source.
10694
10695         test-symlinkat: enhance test
10696         * tests/test-readlink.c (main): Move guts...
10697         * tests/test-readlink.h (test_readlink): ...into new file.
10698         * tests/test-symlink.c (main): Move guts...
10699         * tests/test-symlink.h (test_symlink): ...into new file.
10700         * tests/test-symlinkat.c (main): Use new files for further
10701         coverage.
10702         (do_symlink, do_readlink): New helper functions.
10703         * modules/symlink-tests (Files): Ship new file.
10704         (Depends-on): Add stdbool.
10705         * modules/readlink-tests (Files): Ship new file.
10706         (Depends-on): Add stdbool.
10707         * modules/symlinkat-tests (Files): Use new files.
10708
10709 2009-09-23  Eric Blake  <ebb9@byu.net>
10710
10711         readlink: document portability issue with symlink length
10712         * doc/posix-functions/lstat.texi (lstat): Mention that some file
10713         systems have bogus st_size on symlinks, and mention the
10714         areadlink-with-size module.
10715         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10716         * doc/posix-functions/readlink.texi (readlink): Mention the
10717         areadlink module, and ERANGE failure.
10718         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10719         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
10720
10721         readlink: fix Solaris 9 bug with trailing slash
10722         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
10723         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
10724         * doc/posix-functions/readlink.texi (readlink): Document this.
10725         * modules/readlink-tests: New test.
10726         * tests/test-readlink.c: Likewise.
10727
10728         readlink: fix cygwin 1.5.x bug with return type
10729         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
10730         * lib/unistd.in.h (readlink): Use ssize_t.
10731         * lib/readlink.c (readlink): Likewise.
10732         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10733         * modules/unistd (Makefile.am): Substitute it.
10734         * lib/unistd.in.h (readlink): Declare replacement.
10735         * doc/posix-functions/readlink.texi (readlink): Document this.
10736
10737         symlink: use throughout gnulib
10738         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
10739         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
10740         symlink is not used.
10741         * modules/symlinkat (Depends-on): Add symlink.
10742         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10743         * modules/canonicalize-tests (Depends-on): Likewise.
10744         * modules/lstat-tests (Depends-on): Likewise.
10745         * modules/openat-tests (Depends-on): Likewise.
10746         * modules/remove-tests (Depends-on): Likewise.
10747         * modules/rmdir-tests (Depends-on): Likewise.
10748         * modules/unlink-tests (Depends-on): Likewise.
10749         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
10750         * tests/test-canonicalize.c (symlink): Likewise.
10751         * tests/test-fstatat.c (symlink): Likewise.
10752         * tests/test-lstat.c (symlink): Likewise.
10753         * tests/test-remove.c (symlink): Likewise.
10754         * tests/test-rmdir.c (symlink): Likewise.
10755         * tests/test-unlink.c (symlink): Likewise.
10756         * tests/test-unlinkat.c (symlink): Likewise.
10757
10758         symlink: new module, for Solaris 9 bug
10759         * modules/symlink: New file.
10760         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10761         * lib/symlink.c: Likewise.
10762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10763         * modules/unistd (Makefile.am): Substitute them.
10764         * lib/unistd.in.h (symlink): Declare replacement.
10765         * MODULES.html.sh (File system functions): Mention it.
10766         * doc/posix-functions/symlink.texi (symlink): Likewise.
10767         * modules/symlink-tests: New test.
10768         * tests/test-symlink.c: Likewise.
10769
10770 2009-09-23  Bruno Haible  <bruno@clisp.org>
10771
10772         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
10773         when needed.
10774         Test case: gnulib-tool --import --with-tests atexit inttypes.
10775         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
10776
10777 2009-09-23  Bruno Haible  <bruno@clisp.org>
10778
10779         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
10780         subcommand, not in a subshell.
10781
10782 2009-09-22  Eric Blake  <ebb9@byu.net>
10783
10784         unistd: sort replacement declarations
10785         * lib/unistd.in.h: Sort declarations.
10786
10787         open, openat: minor optimization
10788         * lib/open.c (open): If open succeeded, len is non-zero.
10789         * lib/openat.c (rpl_openat): Likewise.
10790
10791         link-follow: ensure correct result
10792         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
10793         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
10794         distinguish between possible failures.
10795
10796 2009-09-21  Eric Blake  <ebb9@byu.net>
10797
10798         fts: avoid compiler warning
10799         * lib/fts.c (dirent_inode_sort_may_be_useful)
10800         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
10801
10802 2009-09-19  Bruno Haible  <bruno@clisp.org>
10803
10804         * lib/progreloc.c (canonicalize_file_name): New declaration.
10805
10806 2009-09-19  Eric Blake  <ebb9@byu.net>
10807
10808         link: fix quoting
10809         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
10810
10811         openat: fix openat bugs on Solaris 9
10812         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
10813         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
10814         * modules/openat (Depends-on): Add open.
10815         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
10816         * modules/fcntl-h (Makefile.am): Substitute it.
10817         * lib/fcntl.in.h (openat): Declare replacement.
10818         * doc/posix-functions/openat.texi (openat): Document this.
10819
10820         openat: move fstatat and unlinkat into correct files
10821         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
10822         compiled.
10823         * lib/openat.c (fstatat, unlinkat): Move...
10824         * lib/fstatat.c (fstatat): ...into correct files.
10825         * lib/unlinkat.c (unlinkat): Likewise.
10826
10827         openat: fix unlinkat bugs on Solaris 9
10828         * lib/unlinkat.c (unlinkat): New file.
10829         * modules/openat (Depends-on): Add unlink.
10830         (Files): Distribute it.
10831         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
10832         trailing slash behavior is broken.
10833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10834         * modules/unistd (Makefile.am): Substitute it.
10835         * lib/unistd.in.h (unlinkat): Declare replacement.
10836         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
10837
10838         openat: fix fstatat bugs on Solaris 9
10839         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
10840         stat.
10841         * doc/posix-functions/fstatat.texi (fstatat): Document this.
10842
10843         test-unlinkat: enhance test, to expose Solaris 9 bug
10844         * tests/test-unlink.c (main): Factor guts...
10845         * tests/test-unlink.h (test_rmdir_func): ...into new file.
10846         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
10847         * tests/test-rmdir.c (main): Adjust caller.
10848         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
10849         (unlinker): New helper function.
10850         (rmdirat): Enhance check.
10851         * modules/rmdir-tests (Depends-on): Add stdbool.
10852         * modules/unlink-tests (Depends-on): Likewise.
10853         (Files): Add test-unlink.h.
10854         * modules/openat-tests (Files): Likewise.
10855         (Depends-on): Add unlinkdir.
10856
10857         test-fstatat: new test, to expose Solaris 9 bugs
10858         * tests/test-stat.c (main): Factor guts...
10859         * tests/test-stat.h (test_stat_func): ...into new file.
10860         * tests/test-lstat.c (main): Factor guts...
10861         * tests/test-lstat.h (test_lstat_func): ...into new file.
10862         * tests/test-fstatat.c: New file.
10863         * modules/stat-tests (Files): Add test-stat.h.
10864         * modules/lstat-tests (Files): Add test-lstat.h.
10865         (Depends-on): Add stdbool.
10866         * modules/openat-tests (Depends-on): Add pathmax.
10867         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
10868         (Makefile.am): Run new test.
10869
10870         remove: new module, for mingw and Solaris 9 bugs
10871         * modules/remove: New file.
10872         * lib/remove.c: Likewise.
10873         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
10874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10875         * modules/stdio (Makefile.am): Use them.
10876         * lib/stdio.in.h (remove): Declare replacement.
10877         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10878         * doc/posix-functions/remove.texi (remove): Likewise.
10879         * modules/remove-tests: New test.
10880         * tests/test-remove.c: Likewise.
10881
10882         unlink: new module, for Solaris 9 bug
10883         * modules/unlink: New file.
10884         * lib/unlink.c: Likewise.
10885         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10887         * modules/unistd (Makefile.am): Use them.
10888         * lib/unistd.in.h (stat): Declare replacement.
10889         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10890         * doc/posix-functions/unlink.texi (unlink): Likewise.
10891         * modules/unlink-tests: New test.
10892         * tests/test-unlink.c: Likewise.
10893
10894         lstat: fix Solaris 9 bug
10895         * lib/lstat.c (lstat): Also check for trailing slash on
10896         non-symlink, non-directories.  Use stat module to simplify logic.
10897         * doc/posix-functions/lstat.texi (lstat): Document it.
10898         * modules/lstat-tests (Depends-on): Add errno, same-inode.
10899         (configure.ac): Check for symlink.
10900         * tests/test-lstat.c (main): Add more tests.
10901
10902         stat: add as dependency to other modules
10903         * modules/chown (Depends-on): Add stat.
10904         * modules/euidaccess (Depends-on): Likewise.
10905         * modules/fchdir (Depends-on): Likewise.
10906         * modules/isdir (Depends-on): Likewise.
10907         * modules/link (Depends-on): Likewise.
10908         * modules/lstat (Depends-on): Likewise.
10909         * modules/mkdir-p (Depends-on): Likewise.
10910         * modules/modechange (Depends-on): Likewise.
10911         * modules/open (Depends-on): Likewise.
10912         * modules/readlink (Depends-on): Likewise.
10913         * modules/same (Depends-on): Likewise.
10914
10915         stat: fix Solaris 9 bug
10916         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
10917         slash.
10918         * lib/stat.c (rpl_stat): Work around it.
10919         * doc/posix-functions/stat.texi (stat): Update documentation.
10920
10921         stat: new module, for mingw bug
10922         * modules/stat: New file.
10923         * lib/stat.c: Likewise.
10924         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10925         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10926         * modules/sys_stat (Makefile.am): Use them.
10927         * lib/sys_stat.in.h (stat): Declare replacement.
10928         * lib/openat.c (fstatat): Deal with lstat and stat being function
10929         macros.
10930         * modules/openat (Depends-on): Add inline.
10931         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10932         * doc/posix-functions/stat.texi (stat): Likewise.
10933         * modules/stat-tests: New test.
10934         * tests/test-stat.c: Likewise.
10935
10936 2009-09-19  Jim Meyering  <meyering@redhat.com>
10937
10938         syntax-check: detect unnecessary inclusion of canonicalize.h
10939         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
10940
10941 2009-09-19  Eric Blake  <ebb9@byu.net>
10942
10943         canonicalize-lgpl: adjust clients to use correct header
10944         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
10945         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
10946         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
10947         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
10948         * lib/progreloc.c (includes): Likewise.
10949
10950 2009-09-19  Jim Meyering  <meyering@redhat.com>
10951
10952         test-posixtm.c: correct a comment
10953         * tests/test-posixtm.c: Correct first-line comment.
10954         Spotted by Eric Blake.
10955
10956 2009-09-16  Jim Meyering  <meyering@redhat.com>
10957
10958         posixtm-tests: make T const-correct; add a test case
10959         * tests/test-posixtm.c (T): Declare const.
10960         Add a test for -(2^31+1).
10961         Remove useless can-succeed-only-in-2002 test.
10962
10963         posixtm-tests: adjust the sole failing test
10964         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
10965         expected output matches what mktime now produces.  Cross-checked via
10966         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
10967
10968         posixtm: move #ifdef'd tests into a new module
10969         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
10970         * tests/test-posixtm.c: ... this new file.
10971         * modules/posixtm-tests: New module.
10972
10973 2009-09-19  Eric Blake  <ebb9@byu.net>
10974
10975         openat: simplify use of at-func.c
10976         * lib/at-func.c (includes): Include prerequisites here, to
10977         simplify requirements on client files.
10978         * lib/openat-priv.h: Add double-inclusion guard.
10979         * lib/faccessat.c (includes): Simplify.
10980         * lib/fchmodat.c (includes): Likewise.
10981         * lib/fchownat.c (includes): Likewise.
10982         * lib/mkdirat.c (includes): Likewise.
10983         * lib/mkfifoat.c (includes): Likewise.
10984         * lib/symlinkat.c (includes): Likewise.
10985
10986         openat: allow return of fd 0
10987         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
10988         * modules/save-cwd (Depends-on): Replace fcntl-safer with
10989         unistd-safer.
10990         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
10991         <fcntl.h>; this module does not leak fds.
10992         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
10993         must be allowed to return 0, leaving openat_safer to add the
10994         safety.
10995         (openat_permissive): Avoid writing to just-opened fd 2 if
10996         restoring the current directory fails.
10997         * lib/openat-die.c (openat_restore_fail): Add comment.
10998         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
10999         (save_cwd): Guarantee safe fd, but without use of open_safer.
11000         * tests/test-openat.c: New test.
11001         * modules/openat-tests (Files, Makefile.am): Distribute and build
11002         new file.
11003
11004         relocatable-prog-wrapper: fix build
11005         * modules/relocatable-prog-wrapper (Files): Update name of
11006         canonicalize m4 file, broken on 2009-09-17.
11007         Reported by emad hajjar <aleppos@hotmail.com>.
11008
11009 2009-09-19  Bruno Haible  <bruno@clisp.org>
11010
11011         * lib/safe-alloc.h: Use the standard header with GPL copyright.
11012         * lib/safe-alloc.c: Likewise.
11013         Reported by Ian Beckwith <ianb@erislabs.net>.
11014
11015 2009-09-18  Bruno Haible  <bruno@clisp.org>
11016
11017         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
11018         Reported by <erobles@sensacd.com.mx>.
11019
11020 2009-09-17  Eric Blake  <ebb9@byu.net>
11021
11022         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
11023         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
11024         slashes when checking if last component is missing.
11025         * tests/test-canonicalize.c (main): Test this.
11026
11027         canonicalize, canonicalize-lgpl: honor // if distinct from /
11028         * modules/canonicalize (Files): Add double-slash-root.m4.
11029         * modules/canonicalize-lgpl (Files): Likewise.
11030         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
11031         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
11032         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
11033         fallback definition.
11034         (canonicalize_filename_mode): Use it to protect //.
11035         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
11036         (__realpath): Likewise.
11037         * tests/test-canonicalize.c (main): Test this.
11038         * tests/test-canonicalize-lgpl.c (main): Likewise.
11039         * modules/canonicalize-tests (Depends-on): Add same-inode.
11040         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
11041
11042         canonicalize-lgpl: fix glibc bug with trailing slash
11043         * m4/canonicalize-lgpl.m4: Move contents...
11044         * m4/canonicalize.m4: ...here.
11045         (gl_CANONICALIZE_LGPL): Factor realpath check...
11046         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
11047         glibc 2.3.5 bug, fixed 2005-04-27.
11048         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
11049         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
11050         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
11051         * modules/canonicalize-lgpl (Files): Manage file rename.
11052         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11053         * modules/stdlib (Makefile.am): Substitute witness.
11054         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
11055         is needed.
11056         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
11057         replacement is required.
11058         * lib/canonicalize.c (canonicalize_file_name): Likewise.
11059         * doc/glibc-functions/canonicalize_file_name.texi
11060         (canonicalize_file_name): Document this.
11061         * doc/posix-functions/realpath.texi (realpath): Likewise.
11062
11063         canonicalize-lgpl: reject non-directory with trailing slash
11064         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
11065         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
11066         catches failures in glibc 2.3.5.
11067         * tests/test-canonicalize.c (main): Likewise.
11068
11069         canonicalize-lgpl: use native realpath if it works
11070         * lib/canonicalize-lgpl.c (realpath): Guard with
11071         FUNC_REALPATH_WORKS.
11072         * lib/stdlib.in.h (realpath): Make declaration optional based on
11073         HAVE_REALPATH.
11074         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
11075         native realpath works.
11076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
11077         * modules/stdlib (Makefile.am): Substitute witness.
11078
11079         canonicalize, canonicalize-lgpl: use <stdlib.h>
11080         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
11081         (Include): Mention <stdlib.h>.
11082         (configure.ac): Mention functions we provide.
11083         * modules/canonicalize (configure.ac): Likewise.
11084         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
11085         realpath if canonicalize_file_name is missing.
11086         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
11087         * modules/stdlib (Makefile.am): Substitute witnesses.
11088         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
11089         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
11090         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
11091         * NEWS: Document this.
11092         * doc/glibc-functions/canonicalize_file_name.texi
11093         (canonicalize_file_name): Likewise.
11094         * doc/posix-functions/realpath.texi (realpath): Likewise.
11095         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
11096
11097         test-canonicalize: consolidate into single C program
11098         * tests/test-canonicalize.sh: Delete; move setup into...
11099         * tests/test-canonicalize.c (main): ...the program, making it
11100         easier to run in debugger.  Add some tests.
11101         * modules/canonicalize-tests (Files): Remove unused file.
11102         (Depends-on): Add progname.
11103         (configure.ac, Makefile.am): Simplify.
11104
11105         test-canonicalize-lgpl: consolidate into single C program
11106         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
11107         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
11108         easier to run in debugger.  Add some tests.
11109         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
11110         (configure.ac, Makefile.am): Simplify.
11111
11112         canonicalize: avoid resolvepath
11113         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
11114         unnecessary checks.
11115         * lib/canonicalize.c (includes): Simplify.
11116         (canonicalize_file_name): Drop resolvepath implementation.
11117         * modules/canonicalize (Depends-on): Drop filenamecat.
11118
11119         canonicalize: don't lose errno
11120         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
11121         over calls to free.
11122
11123         canonicalize: simplify errno handling
11124         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
11125         assignment.
11126
11127         canonicalize, canonicalize-lgpl: update module dependencies
11128         * modules/canonicalize (Depends-on): Add extensions, lstat,
11129         pathmax, stdlib.
11130         (Files): Drop pathmax.h.
11131         (configure.ac): Adjust macro name.
11132         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
11133         lstat, stdlib, sys_stat.
11134         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
11135         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
11136         extensions.
11137         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
11138         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
11139         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
11140         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
11141         declaration, if available.
11142         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
11143         we can rely on the readlink module.
11144         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
11145         (includes): Use <unistd.h> unconditionally.
11146
11147 2009-09-17  Eric Blake  <ebb9@byu.net>
11148
11149         maint: make Include sections of modules consistent
11150         * modules/alloca: Use only header name; no need to list #include.
11151         * modules/alloca-opt: Likewise.
11152         * modules/arpa_inet: Likewise.
11153         * modules/canon-host: Likewise.
11154         * modules/configmake: Likewise.
11155         * modules/dirent: Likewise.
11156         * modules/eealloc: Likewise.
11157         * modules/environ: Likewise.
11158         * modules/fchdir: Likewise.
11159         * modules/fcntl: Likewise.
11160         * modules/fcntl-h: Likewise.
11161         * modules/gethrxtime: Likewise.
11162         * modules/gettime: Likewise.
11163         * modules/ignore-value: Likewise.
11164         * modules/inet_ntop: Likewise.
11165         * modules/inet_pton: Likewise.
11166         * modules/inttypes: Likewise.
11167         * modules/isnand-nolibm: Likewise.
11168         * modules/isnanf-nolibm: Likewise.
11169         * modules/mbchar: Likewise.
11170         * modules/mbfile: Likewise.
11171         * modules/mbiter: Likewise.
11172         * modules/mbuiter: Likewise.
11173         * modules/netdb: Likewise.
11174         * modules/netinet_in: Likewise.
11175         * modules/nproc: Likewise.
11176         * modules/pagealign_alloc: Likewise.
11177         * modules/poll: Likewise.
11178         * modules/printf-frexp: Likewise.
11179         * modules/pthread: Likewise.
11180         * modules/putenv: Likewise.
11181         * modules/random_r: Likewise.
11182         * modules/relocatable-prog: Likewise.
11183         * modules/search: Likewise.
11184         * modules/select: Likewise.
11185         * modules/selinux-h: Likewise.
11186         * modules/settime: Likewise.
11187         * modules/signal: Likewise.
11188         * modules/size_max: Likewise.
11189         * modules/socklen: Likewise.
11190         * modules/ssize_t: Likewise.
11191         * modules/stdarg: Likewise.
11192         * modules/stdbool: Likewise.
11193         * modules/stddef: Likewise.
11194         * modules/stdint: Likewise.
11195         * modules/stdio: Likewise.
11196         * modules/stdlib: Likewise.
11197         * modules/string: Likewise.
11198         * modules/strings: Likewise.
11199         * modules/sys_file: Likewise.
11200         * modules/sys_ioctl: Likewise.
11201         * modules/sys_select: Likewise.
11202         * modules/sys_socket: Likewise.
11203         * modules/sys_stat: Likewise.
11204         * modules/sys_time: Likewise.
11205         * modules/sys_times: Likewise.
11206         * modules/sys_utsname: Likewise.
11207         * modules/sys_wait: Likewise.
11208         * modules/sysexits: Likewise.
11209         * modules/time: Likewise.
11210         * modules/times: Likewise.
11211         * modules/tmpfile: Likewise.
11212         * modules/trim: Likewise.
11213         * modules/unistd: Likewise.
11214         * modules/wchar: Likewise.
11215         * modules/wctype: Likewise.
11216
11217 2009-09-17  Bruno Haible  <bruno@clisp.org>
11218
11219         Make getdate.y compile on QNX and NetBSD 5 / i386.
11220         * m4/getdate.m4 (gl_GETDATE): Conditionally define
11221         TIME_T_FITS_IN_LONG_INT.
11222         * lib/getdate.y (long_time_t): New type.
11223         (relative_time): Change type of 'seconds' field to long_time_t.
11224         (get_date): Update types of local variables. Check against overflow
11225         during conversion from long_time_t to time_t.
11226         Reported by Matt Kraai <kraai@ftbfs.org>
11227         and Hasso Tepper <hasso@netbsd.org>.
11228
11229 2009-09-17  Bruno Haible  <bruno@clisp.org>
11230
11231         * modules/COPYING: Update copyright years.
11232         * modules/README: Likeiwse.
11233         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
11234         Reported by Ian Beckwith <ianb@erislabs.net>.
11235
11236 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11237
11238         * users.txt: Update references for gnuit package.
11239
11240 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11241
11242         * m4/getdelim.m4: Fix typo in copyright line.
11243
11244 2009-09-17  Bruno Haible  <bruno@clisp.org>
11245
11246         * lib/atoll.c: Use the standard header with GPL copyright.
11247         * lib/argz.in.h: Likewise.
11248         * lib/glob.c: Likewise.
11249         * lib/glob-libc.h: Likewise.
11250         * lib/random_r.c: Likewise.
11251         * lib/siglist.h: Likewise.
11252         * lib/strsignal.c: Likewise.
11253         Reported by Ian Beckwith <ianb@erislabs.net>.
11254
11255 2009-09-17  Eric Blake  <ebb9@byu.net>
11256
11257         rmdir: ensure correct dependency order
11258         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
11259
11260 2009-09-17  Bruno Haible  <bruno@clisp.org>
11261
11262         Disable assertion that fails on NetBSD 5 / i386.
11263         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
11264         Reported by Sam Steingold <sds@gnu.org>
11265         and Hasso Tepper <hasso@netbsd.org>.
11266
11267 2009-09-16  Eric Blake  <ebb9@byu.net>
11268
11269         unlinkdir: port to mingw
11270         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
11271         on which no one can unlink a directory.
11272
11273         stdlib: sort witness names
11274         * modules/stdlib (Makefile.am): Sort replacements.
11275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
11276         * lib/stdlib.in.h: Likewise.
11277
11278         parse-duration-tests: avoid link failure
11279         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
11280         LIBINTL.
11281         Reported by Tom G. Christensen.
11282
11283         openat-tests: ensure unlinkat behaves like rmdir
11284         * tests/test-rmdir.c (main): Factor guts...
11285         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
11286         * modules/rmdir-tests (Files): Ship new file.
11287         * modules/openat-tests: New test.
11288         * tests/test-unlinkat.c: Likewise.
11289
11290         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
11291         * modules/rmdir-errno (Status, Notice): Now obsolete.
11292
11293         rmdir: work around cygwin 1.5.x and mingw bugs
11294         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
11295         * lib/rmdir.c (rmdir): Work around it.
11296         * modules/rmdir (Status, Notice): No longer obsolete.
11297         (Files): Add dos.m4.
11298         (Depends-on): Add unistd.
11299         (configure.ac): Set witnesses.
11300         (License): Relax to LGPLv2+.
11301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
11302         * modules/unistd (Makefile.am): Substitute witnesses.
11303         * lib/unistd.in.h (rmdir): Declare replacement.
11304         * doc/posix-functions/rmdir.texi (rmdir): Document this.
11305         * modules/rmdir-tests: New tests.
11306         * tests/test-rmdir.c: Likewise.
11307
11308 2009-09-15  Eric Blake  <ebb9@byu.net>
11309
11310         fchdir: improve use of replacement functions
11311         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
11312         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
11313         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
11314         REPLACE_CLOSEDIR.
11315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
11316         * modules/sys_stat (Makefile.am): Substitute correct witness.
11317         * modules/dirent (Makefile.am): Likewise.
11318         * modules/unistd (Makefile.am): Likewise.
11319         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
11320         * lib/unistd.in.h (dup): Likewise.
11321         * lib/sys_stat.in.h (fstat): Likewise.
11322
11323         maint: ignore gnulib-tool temp files
11324         * .gitignore: Ignore files created during gnulib-tool --test.
11325
11326 2009-09-13  Jim Meyering  <meyering@redhat.com>
11327
11328         posixtm: don't reject a time that specify "60" as the number of seconds
11329         * lib/posixtm.c (posixtime): The code to reject invalid dates
11330         would also reject a time specified with the .60 suffix.
11331         But POSIX allows that, in order to accommodate leap seconds.
11332         So don't reject it.
11333         (main): Adjust tests accordingly.
11334         * modules/posixtm (Depends-on): Add stpcpy.
11335
11336 2009-09-11  Jim Meyering  <meyering@redhat.com>
11337
11338         announce-gen: include [$release_type] in emitted Subject:
11339         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
11340         e.g., [stable] in the emitted Subject: line.
11341
11342 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11343
11344         Remove obsolete macros from several modules.
11345         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
11346         obsolete Autoconf macros with their modern counterparts.
11347         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
11348         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
11349         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11350         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11351         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
11352         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11354         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11355         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11356         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
11357         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11358         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11359         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
11360         * m4/sockets.m4 (gl_SOCKETS): Likewise.
11361         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
11362         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
11363         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
11364         * m4/time_r.m4 (gl_TIME_R): Likewise.
11365         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11366         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
11367         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
11368
11369         Fix copyright header in build-aux scripts.
11370         * build-aux/git-version-gen: Fix copyright header to match GPLv3
11371         recommendation.
11372         * build-aux/ncftpput-ftp: Likewise.
11373         * build-aux/update-copyright: Likewise.
11374
11375 2009-09-09  Eric Blake  <ebb9@byu.net>
11376
11377         test-link: allow Linux choice of errno
11378         * tests/test-link.c (main): Relax test for alternate error.
11379
11380         strndup: fix improper m4 caching
11381         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
11382         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
11383         (gl_PREREQ_STRNDUP): Delete.
11384         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
11385         * modules/string (Makefile.am): Substitute it.
11386         * lib/string.in.h (strndup): Modernize prototype.
11387
11388         getcwd: port to mingw
11389         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
11390         different from the POSIX assumptions made throughout the getcwd
11391         module; fortunately, the mingw getcwd does not need replacement.
11392         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
11393         * modules/getcwd-tests: New test.
11394         * tests/test-getcwd.c: Likewise.
11395
11396         link: fix platform bugs
11397         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
11398         * lib/link.c (link): Work around them.  Fix related mingw bug.
11399         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
11400         * modules/unistd (Makefile.am): Substitute it.
11401         * lib/unistd.in.h (link): Declare replacement.
11402         * doc/posix-functions/link.texi (link): Document this.
11403         * modules/link (Depends-on): Add strdup-posix, sys_stat.
11404
11405         test-link: consolidate into single C program, test more cases
11406         * tests/test-link.sh: Delete.
11407         * tests/test-link.c: Test more error conditions.  Exposes bugs on
11408         at least Cygwin and Solaris.
11409         * modules/link-tests (Files): Remove unused file.
11410         (Depends-on): Add errno, sys_stat.
11411         (Makefile.am): Simplify.
11412
11413 2009-09-08  Bruno Haible  <bruno@clisp.org>
11414
11415         Work around towlower, towupper bug on mingw.
11416         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
11417         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
11418         * doc/posix-functions/towlower.texi: Mention the mingw bug.
11419         * doc/posix-functions/towupper.texi: Likewise.
11420         Reported by Eric Blake.
11421
11422 2009-09-08  Jim Meyering  <meyering@redhat.com>
11423
11424         build: don't try to run autoheader if we don't use it
11425         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
11426         is not used in configure.ac.
11427
11428 2009-09-08  Eric Blake  <ebb9@byu.net>
11429
11430         euidaccess: fix compilation error
11431         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
11432
11433         rawmemchr: relax license
11434         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
11435         okay.
11436         Reported by Jim Meyering.
11437
11438         mkfifoat: new module
11439         * modules/mkfifoat: New file.
11440         * lib/mkfifoat.c: Likewise.
11441         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
11442         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11443         * modules/sys_stat (Makefile.am): Use them.
11444         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
11445         * MODULES.html.sh (File system functions): Mention module.
11446         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11447         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11448         * modules/mkfifoat-tests: New test.
11449         * tests/test-mkfifoat.c: Likewise.
11450
11451         strchrnul: relax license
11452         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
11453         okay.
11454         Reported by Jim Meyering.
11455
11456 2009-09-08  Eric Blake  <ebb9@byu.net>
11457
11458         fstatat: fix compilation on Solaris
11459         * lib/fstatat.c (includes): Add fcntl.h.
11460         Reported by Pádraig Brady.
11461
11462 2009-09-07  Eric Blake  <ebb9@byu.net>
11463
11464         rename: modernize replacement
11465         * modules/rename (Depends-on): Add stdio.
11466         (configure.ac): Declare witness.
11467         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
11468         stdio take care of replacement.
11469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
11470         * modules/stdio (Makefile.am): Substitute them.
11471         * lib/stdio.in.h (rename): Declare replacement.
11472         * lib/rename.c (includes): Allow cross-compilation to non-windows
11473         machines.
11474         * doc/posix-functions/rename.texi (rename): Improve
11475         documentation.
11476
11477         stdio: sort witness names
11478         * modules/stdio (Makefile.am): Sort replacements.
11479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11480         * lib/stdio.in.h: Likewise.
11481
11482         getcwd: minor cleanups
11483         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
11484         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
11485
11486         openat: provide more convenience names
11487         * modules/faccessat (configure.ac): Add C witness.
11488         * lib/unistd.in.h (readlinkat): Fix typo.
11489         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
11490         convenience wrappers.
11491         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
11492         wrappers in syntax checks.
11493
11494 2009-09-06  Eric Blake  <ebb9@byu.net>
11495
11496         doc: fix comments in recent patches
11497         * lib/faccessat.c: Mention correct function.
11498         * lib/fchmodat.c: Likewise.
11499         * lib/fchownat.c: Likewise.
11500         * lib/symlinkat.c: Likewise.
11501         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
11502         constants.
11503
11504         faccessat, symlinkat: continue cleanup of previous patch
11505         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
11506         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11507         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
11508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
11509         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
11510         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
11511         set.
11512
11513 2009-09-06  Bruno Haible  <bruno@clisp.org>
11514
11515         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
11516         (fstatat): Declare if GNULIB_FSTATAT is set.
11517         (mkdirat): Declare if GNULIB_MKDIRAT is set.
11518         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
11519         (unlinkat): Declare if GNULIB_UNLINKAT is set.
11520         * modules/fcntl-h (Files): Remove m4/openat.m4.
11521         * modules/sys_stat (Files): Remove m4/openat.m4.
11522         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
11523         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
11524         * modules/unistd (Files): Remove m4/openat.m4.
11525         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
11526         GNULIB_OPENAT.
11527         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
11528         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
11529         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
11530         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
11531         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
11532         gl_OPENAT_DEFAULTS.
11533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
11534         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
11535         Don't require gl_OPENAT_DEFAULTS.
11536         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
11537         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
11538         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
11539         (gl_OPENAT_DEFAULTS): Remove macro.
11540
11541 2009-09-06  Bruno Haible  <bruno@clisp.org>
11542
11543         * modules/openat (configure.ac): Remove unneeded witness.
11544
11545 2009-09-06  Bruno Haible  <bruno@clisp.org>
11546
11547         Set errno to ENOSYS when a function is entirely unsupported.
11548         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
11549         EOPNOTSUPP.
11550         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11551         * modules/chown (Depends-on): Remove errno.
11552
11553 2009-09-06  Bruno Haible  <bruno@clisp.org>
11554
11555         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
11556
11557 2009-09-06  Bruno Haible  <bruno@clisp.org>
11558
11559         * lib/sys_stat.in.h: Fix preprocessor command indentation.
11560
11561 2009-09-06  Ben Pfaff  <blp@gnu.org>
11562             Bruno Haible  <bruno@clisp.org>
11563
11564         Work around a glibc bug in strtok_r.
11565         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
11566         Undefine if UNDEFINE_STRTOK_R is set.
11567         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
11568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11569         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
11570         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
11571         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
11572         UNDEFINE_STRTOK_R.
11573         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
11574
11575 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11576
11577         exclude: minor fix
11578         * lib/exclude.c: Include wctype.h
11579
11580 2009-09-06  Akim Demaille  <demaille@gostai.com>
11581
11582         bootstrap: improve error message
11583         * build-aux/bootstrap (find_tool): Upon failure, report the list
11584         of candidates.
11585         Honor the initial value of the envvar.
11586
11587 2009-09-05  Eric Blake  <ebb9@byu.net>
11588
11589         symlinkat: new module
11590         * modules/symlinkat: New file.
11591         * lib/symlinkat.c: Likewise.
11592         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
11593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11594         * modules/unistd (Makefile.am): Use them.
11595         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
11596         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
11597         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
11598         * MODULES.html.sh (File system functions): Mention module.
11599         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11600         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11601         * modules/symlinkat-tests: New test.
11602         * tests/test-symlinkat.c: Likewise.
11603
11604         test-openat-safer: add more checks
11605         * tests/test-openat-safer.c (main): Check more code paths.
11606
11607 2009-09-05  Jim Meyering  <meyering@redhat.com>
11608
11609         syntax-check: detect unnecessary inclusion of openat.h
11610         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
11611
11612 2009-09-05  Bruno Haible  <bruno@clisp.org>
11613
11614         Support towlower, towupper.
11615         * doc/posix-functions/towlower.texi: Mention module wctype.
11616         * doc/posix-functions/towupper.texi: Likewise.
11617         * lib/wctype.in.h (towlower, towupper): New functions.
11618         * tests/test-wctype.c: Include stdio.h, stdlib.h.
11619         (ASSERT): New macro.
11620         (e): New variable.
11621         (main): Test also towlower, towupper. Test WEOF argument.
11622         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11623
11624 2009-09-05  Bruno Haible  <bruno@clisp.org>
11625
11626         Fix conversion behaviour when the input is invalid.
11627         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
11628         mark occurring in first pass of indirect conversion.
11629         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
11630         input.
11631         Found by clang's static analyzer.
11632
11633 2009-09-05  Bruno Haible  <bruno@clisp.org>
11634
11635         * tests/test-striconveh.c (main): Test indirect conversion on platforms
11636         where direct conversion is possible.
11637
11638 2009-09-04  Eric Blake  <ebb9@byu.net>
11639
11640         openat: fail with ENOENT on empty name
11641         * lib/openat-proc.c (openat_proc_name): Special-case the empty
11642         buffer.
11643
11644         link-follow: fix logic bug in prior patch
11645         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
11646         reversed sense of yes and no in prior patch.  Avoid confusing
11647         compilation failure with desired semantics.
11648
11649         link-follow: accomodate mingw and cross-compilation
11650         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
11651         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
11652         cross-compilation results to -1, to make linkat easier to
11653         implement when cross-compiling.  Trivially support mingw.
11654         * modules/link-follow (configure.ac): Call new name.
11655         * NEWS: Mention this.
11656
11657 2009-09-03  Eric Blake  <ebb9@byu.net>
11658
11659         faccessat: compile replacement
11660         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
11661         needed.
11662
11663         fts: fix compilation error
11664         * lib/fts.c (includes): Re-add "openat.h", for
11665         openat_needs_fchdir.
11666
11667         faccessat: new module
11668         * modules/faccessat: New file.
11669         * lib/faccessat.c: Likewise.
11670         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11672         * modules/unistd (Makefile.am): Use it.
11673         * lib/unistd.in.h (faccessat): Declare it.
11674         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
11675         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
11676         * MODULES.html.sh (File system functions): Mention it.
11677         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
11678         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11679
11680         euidaccess: prefer POSIX over non-standard implementation
11681         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
11682         * lib/euidaccess.c (euidaccess): Use it if available.
11683
11684         openat: make template easier to use
11685         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
11686         AT_FUNC_F2 to be undefined.
11687         (VALIDATE_FLAG): New macro; use it to reject bad flags.
11688         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
11689         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
11690         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
11691         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
11692         Likewise.
11693         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
11694         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
11695         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
11696         Likewise.
11697
11698         openat: declare in POSIX headers
11699         * NEWS: Mention this.
11700         * modules/openat (configure.ac): Declare witnesses.
11701         (Depends-on): Add fcntl-h, sys_stat, unistd.
11702         (Include): Mention correct headers.
11703         * modules/fcntl-h (Depends-on): Add link-warning.
11704         (Files): Add openat.m4.
11705         (Makefile.am): Substitute witnesses.
11706         * modules/sys_stat (Files, Makefile.am): Likewise.
11707         * modules/unistd (Files, Makefile.am): Likewise.
11708         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
11709         (gl_OPENAT_DEFAULTS): New macro.
11710         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
11711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
11712         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
11713         (SYS_STAT_H): Remove unused variable.
11714         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
11715         * lib/fcntl--.h (includes): Remove unneeded header.
11716         * lib/openat-safer.c (includes): Likewise.
11717         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
11718         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
11719         appropriate headers.
11720         (__OPENAT_PREFIX): Delete.
11721         * lib/fcntl.in.h (openat): Provide declaration.
11722         (AT_FDCWD): Fix Solaris bug.
11723         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
11724         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
11725         * lib/fchmodat.c (includes):  Adjust to find declaration.
11726         * lib/fchownat.c (includes): Likewise.
11727         * lib/mkdirat.c (includes): Likewise.
11728         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
11729         still visible.
11730
11731 2009-09-02  Eric Blake  <ebb9@byu.net>
11732
11733         errno: use consistently
11734         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
11735         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
11736         * lib/canonicalize.c (ELOOP): Likewise.
11737         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
11738         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
11739         * lib/lchown.c (EOPNOTSUPP): Likewise.
11740         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
11741         * lib/savewd.c (ESTALE): Likewise.
11742         * lib/settime.c (ENOSYS): Likewise.
11743         * lib/utimens.c (ENOSYS): Likewise.
11744         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
11745         * lib/chdir-safer.c (ELOOP): Likewise.
11746         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
11747         * modules/c-stack (Depends-on): Add errno.
11748         * modules/canonicalize (Depends-on): Likewise.
11749         * modules/chdir-safer (Depends-on): Likewise.
11750         * modules/fdopendir (Depends-on): Likewise.
11751         * modules/inet_ntop (Depends-on): Likewise.
11752         * modules/inet_pton (Depends-on): Likewise.
11753         * modules/lchown (Depends-on): Likewise.
11754         * modules/openat (Depends-on): Likewise.
11755         * modules/savewd (Depends-on): Likewise.
11756         * modules/settime (Depends-on): Likewise.
11757         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
11758
11759         fts: avoid leaking fds
11760         * modules/fts (Depends-on): Add cloexec.
11761         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
11762         flag.
11763
11764         fts: make directory fds more robust
11765         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
11766         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
11767
11768         backupfile, chdir-long, fts, savedir: make safer
11769         * lib/backupfile.c (includes): Use "dirent--.h", since
11770         numbered_backup can write to stderr during readdir.
11771         * lib/savedir.c (includes): Likewise.
11772         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
11773         emulation can write to stderr on failure.
11774         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
11775         * lib/getcwd.c: Document why opendir_safer is unused.
11776         * lib/glob.c: Likewise.
11777         * lib/scandir.c: Likewise.
11778         * lib/openat-proc.c: Likewise, for open_safer.
11779         * modules/backupfile (Depends-on): Add dirent-safer.
11780         * modules/savedir (Depends-on): Likewise.
11781         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
11782         * modules/chdir-long (Depends-on): Add openat-safer.
11783
11784         openat-safer: new module
11785         * modules/openat-safer: New file.
11786         * lib/openat-safer.c: Likewise.
11787         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
11788         * lib/fcntl-safer.h (openat_safer): Declare.
11789         * lib/fcntl--.h (openat): Override.
11790         * MODULES.html.sh (File descriptor based I/O): Mention it.
11791         * lib/openat.h: Add double-inclusion guards.
11792         * lib/openat.c (includes): Only include "fcntl-safer.h", not
11793         "fcntl--.h", so we can implement openat.
11794         * modules/openat-safer-tests: New test.
11795         * tests/test-openat-safer.c: New file.
11796
11797         dirent-safer: new module
11798         * modules/dirent-safer: New file.
11799         * lib/dirent--.h: Likewise.
11800         * lib/dirent-safer.h: Likewise.
11801         * lib/opendir-safer.c: Likewise.
11802         * m4/dirent-safer.m4: Likewise.
11803         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
11804         * modules/dirent-safer-tests: New test.
11805         * tests/test-dirent-safer.c: New file.
11806         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
11807
11808         fdopendir: optimize on mingw
11809         * lib/unistd.in.h (_gl_directory_name): New prototype.
11810         * lib/fchdir.c (_gl_directory_name): Implement it.
11811         (fchdir): Use it to simplify implementation.
11812         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
11813         fchdir, when available, to avoid calling [f]chdir().
11814
11815         fdopendir: split into its own module
11816         * lib/openat.c (fdopendir): Move...
11817         * lib/fdopendir.c: ...into new file.
11818         * modules/fdopendir: New module.
11819         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
11820         * modules/openat (Depends-on): Add fdopendir.
11821         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
11822         fdopendir here.
11823         * modules/savedir (Depends-on): Only need fdopendir, not full
11824         openat.
11825         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
11826         * lib/openat.h (fdopendir): Drop prototype.
11827         * lib/dirent.in.h (fdopendir): Provide prototype.
11828         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
11829         * modules/dirent (Makefile.am): Substitute them.
11830         * MODULES.html.sh (File system functions): Mention it.
11831         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
11832         * modules/fdopendir-tests: New file.
11833         * tests/test-fdopendir.c: Likewise.
11834
11835         fchdir: use more consistent macro convention
11836         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
11837         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
11838         REPLACE_FCHDIR, rather than relying on config.h macros.
11839         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
11840         inside a single make-time REPLACE_FCHDIR block, rather than using
11841         the config.h FCHDIR_REPLACEMENT.
11842         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
11843         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
11844         Manage fstat replacement.
11845         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
11846         REPLACE_FCHDIR.
11847         * modules/sys_stat (Files): Add m4/unistd_h.m4.
11848         (Makefile.am): Substitute REPLACE_FCHDIR.
11849         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
11850         FCHDIR_REPLACEMENT.
11851         * lib/dup-safer.c (dup_safer): Likewise.
11852         * lib/dup2.c (rpl_dup2): Likewise.
11853         * lib/dup3.c (rpl_dup3): Likewise.
11854         * lib/open.c (rpl_open): Likewise.
11855
11856         fchdir: simplify error handling, and support dup3
11857         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
11858         stdbool, malloc-posix, realloc-posix.
11859         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
11860         (ensure_dirs_slot): Return false on allocation failure.
11861         (rpl_dup2): Delete.
11862         (_gl_register_dup): New function.
11863         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
11864         (_gl_register_fd): Close fd on allocation failure.
11865         * lib/fcntl.in.h (_gl_register_fd): Update signature.
11866         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
11867         prototype.
11868         (rpl_dup2_fchdir): Delete prototype.
11869         * lib/open.c (open): Update caller.
11870         * lib/dup2.c (dup2): Track fchdir metadata.
11871         * lib/dup3.c (dup3): Likewise.
11872         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
11873         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
11874
11875 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11876
11877         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
11878         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
11879         don't pass arguments to AC_OUTPUT.
11880
11881 2009-09-02  Bruno Haible  <bruno@clisp.org>
11882
11883         * modules/mkdtemp (License): Relicense under LGPLv2+.
11884         Reported by Paolo Bonzini.
11885
11886 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11887
11888         Replace uses of obsolete autoconf macros in Jim's modules.
11889         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
11890         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
11891         can evoke a warning from autoconf when run with -Wobsolete
11892         enabled.  They were declared obsolete for good reasons (see
11893         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
11894         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
11895         should not continue using the deprecated macros.
11896         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
11897         obsolete Autoconf macros with modern counterparts.
11898         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11899         * m4/dos.m4 (gl_AC_DOS): Likewise.
11900         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
11901         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11902         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
11903         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
11904         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
11905         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
11906         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
11907         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
11908         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
11909         Likewise.
11910         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
11911         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
11912         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
11913         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
11914         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
11915         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
11916
11917 2009-09-01  Eric Blake  <ebb9@byu.net>
11918
11919         fchdir: fix off-by-one bug in previous patch
11920         * lib/fchdir.c (rpl_fstat): Use correct bounds.
11921         (_gl_unregister_fd): Delete useless if.
11922
11923 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
11924
11925         maint.mk: sort the list of syntax-check rules
11926         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
11927         easier to get a sense of progress when the rules are run sequentially
11928         and take a long time.
11929
11930 2009-09-01  Simon Josefsson  <simon@josefsson.org>
11931
11932         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
11933         * modules/netinet_in: Likewise.
11934         * modules/sys_file: Likewise.
11935         * modules/sys_ioctl: Likewise.
11936         * modules/sys_select: Likewise.
11937         * modules/sys_socket: Likewise.
11938         * modules/sys_stat: Likewise.
11939         * modules/sys_time: Likewise.
11940         * modules/sys_times: Likewise.
11941         * modules/sys_utsname: Likewise.
11942         * modules/sys_wait: Likewise.
11943
11944 2009-09-01  Jim Meyering  <meyering@redhat.com>
11945
11946         fts: help ensure that return values are not ignored
11947         * lib/fts_.h (__GNUC_PREREQ): Define.
11948         (__attribute_warn_unused_result__): Define.
11949         (fts_children, fts_close, fts_open, fts_read): Declare with
11950         __attribute_warn_unused_result__.
11951
11952         fts: fts_close now fails also when closing a dir file descriptor fails
11953         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
11954         and propagate to caller, along with errno.
11955
11956         announce-gen: correct formatting in --help output
11957         * build-aux/announce-gen (usage): Move the one-line description in
11958         --help output "up", to where it belongs, just after Usage:.
11959
11960 2009-08-31  Eric Blake  <ebb9@byu.net>
11961
11962         fchdir: port to mingw
11963         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
11964         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
11965         opened, then use a substitute.
11966         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
11967         replacement.
11968         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
11969         (_gl_register_fd): No need to check stat if open already filters
11970         all directories.
11971         (fchdir): Fix error condition to match POSIX.
11972         * modules/fchdir (Depends-on): Add sys_stat.
11973         * doc/posix-functions/open.texi (open): Document the limitation.
11974         * modules/fchdir-tests: New file.
11975         * tests/test-fchdir.c: Likewise.
11976
11977         canonicalize: allow cross-testing from cygwin to mingw
11978         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
11979         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
11980         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
11981         Likewise.
11982         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
11983         target does not support symlinks.
11984         * tests/test-canonicalize-lgpl.sh: Likewise.
11985
11986         chown: avoid compilation warning on mingw
11987         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
11988         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
11989         mingw.
11990         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11991         * modules/chown (Depends-on): Add errno.
11992
11993 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11994
11995         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
11996         command.
11997
11998 2009-08-31  Jim Meyering  <meyering@redhat.com>
11999
12000         canonicalize: remove useless initialization
12001         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
12002         initialization of local, "end".
12003
12004 2009-08-30  Bruno Haible  <bruno@clisp.org>
12005
12006         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
12007         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
12008         ENOSYS.
12009
12010 2009-08-30  Bruno Haible  <bruno@clisp.org>
12011
12012         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
12013         /usr/xpg4/bin/tr when it exists.
12014         * tests/test-pipe-filter-gi1.sh: Likewise.
12015
12016 2009-08-30  Bruno Haible  <bruno@clisp.org>
12017
12018         Work around deficient /usr/bin/id program on Solaris.
12019         * tests/test-file-has-acl.sh (ID): New variable.
12020         * tests/test-set-mode-acl.sh (ID): Likewise.
12021         * tests/test-copy-acl.sh (ID): Likewise.
12022         * tests/test-copy-file.sh (ID): Likewise.
12023
12024 2009-08-30  Bruno Haible  <bruno@clisp.org>
12025
12026         New module 'xstriconveh'.
12027         * lib/xstriconveh.h: New file.
12028         * lib/xstriconveh.c: New file.
12029         * modules/xstriconveh: New file.
12030
12031 2009-08-30  Bruno Haible  <bruno@clisp.org>
12032
12033         Make it easier to use mem_cd_iconveh.
12034         * lib/striconveh.h (iconveh_t): New type.
12035         (iconveh_open, iconveh_close): New declarations.
12036         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12037         with a single 'const iconveh_t *' argument.
12038         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
12039         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
12040         with a single 'const iconveh_t *' argument.
12041         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
12042         * tests/test-striconveh.c (main): Update.
12043         * NEWS: Mention the change.
12044
12045 2009-08-30  Bruno Haible  <bruno@clisp.org>
12046
12047         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
12048         problem.
12049
12050 2009-08-30  Bruno Haible  <bruno@clisp.org>
12051
12052         Work around iconv_open problem on Solaris.
12053         * lib/iconv_open-solaris.gperf: New file.
12054         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
12055         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
12056         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
12057         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
12058         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
12059         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
12060
12061 2009-08-29  Jim Meyering  <meyering@redhat.com>
12062
12063         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
12064         * top/maint.mk (cvs-check): Remove target; it was just an alias
12065         to the better-named vc-diff-check.
12066         (maintainer-distcheck): Remove rule.  It was used only from
12067         the (alpha/beta/major) target, and all of its commands but one
12068         were coreutils-specific.
12069         (vc-dist): Remove rule.
12070         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
12071         Run vc-diff-check, not vc-dist.
12072         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
12073
12074 2009-08-27  Bruno Haible  <bruno@clisp.org>
12075
12076         * tests/test-bitrotate.c (main): Remove test that uses a shift count
12077         of 0.
12078
12079 2009-08-27  Bruno Haible  <bruno@clisp.org>
12080
12081         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
12082         compilers.
12083         * doc/func.texi: Document the SunPRO C bug.
12084
12085 2009-08-27  Bruno Haible  <bruno@clisp.org>
12086
12087         Fix link error on Solaris.
12088         * tests/test-parse-duration.c (xstrdup): Remove function.
12089
12090 2009-08-26  Pádraig Brady  <P@draigbrady.com>
12091
12092         ignore-value: handle pointer types, too
12093         * lib/ignore-value.h (__attribute__): Remove definition.
12094         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
12095         of a more concise and more-often effective "(void) i" statement.
12096         (ignore_ptr): New function to suppress warnings from functions that
12097         return pointers, and to make it explicit that one function doesn't
12098         handle all cases.
12099
12100 2009-08-25  Bruno Haible  <bruno@clisp.org>
12101
12102         dup2: work around a Linux bug.
12103         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
12104         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
12105         * doc/posix-functions/dup2.texi: Mention the Linux bug.
12106         Reported by Simon Josefsson.
12107
12108 2009-08-25  Jim Meyering  <meyering@redhat.com>
12109
12110         libguestfs uses gnulib
12111         * users.txt: Add libguestfs.
12112
12113 2009-08-24  Eric Blake  <ebb9@byu.net>
12114
12115         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
12116         * lib/pipe2.c (includes): Add binary-io.h.
12117         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
12118
12119 2009-08-24  Bruno Haible  <bruno@clisp.org>
12120
12121         Tolerate declared but missing accept4 syscall.
12122         * lib/accept4.c (accept4): Invoke original accept4 function first, if
12123         available.
12124         * lib/sys_socket.in.h (accept4): If the function is already present,
12125         override it.
12126         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
12127         * modules/accept4 (Makefile.am): Compile accept4.c always.
12128         Reported by Paolo Bonzini and Eric Blake.
12129
12130 2009-08-23  Bruno Haible  <bruno@clisp.org>
12131
12132         New module 'accept4'.
12133         * lib/sys_socket.in.h (accept4): New declaration.
12134         * lib/accept4.c: New file.
12135         * m4/accept4.m4: New file.
12136         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12137         GNULIB_ACCEPT4, HAVE_ACCEPT4.
12138         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
12139         HAVE_ACCEPT4.
12140         * modules/accept4: New file.
12141         * doc/glibc-functions/accept4.texi: Mention the new module.
12142
12143 2009-08-24  Jim Meyering  <meyering@redhat.com>
12144
12145         progname: also set global program_invocation_name, when possible
12146         Before this change, a libtool-enabled program that calls glibc's
12147         error function would report the program name as
12148         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
12149         * modules/progname (configure.ac): Check for a declaration of
12150         program_invocation_name.
12151         * lib/progname.c:  Include <errno.h>.
12152         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
12153         Set program_invocation_name.
12154
12155 2009-08-23  Bruno Haible  <bruno@clisp.org>
12156
12157         * lib/dup3.c: Include <string.h>.
12158
12159 2009-08-23  Bruno Haible  <bruno@clisp.org>
12160
12161         * lib/dup3.c (dup3): Test only once whether the system actually exists.
12162         * lib/pipe2.c (pipe2): Likewise.
12163         Suggested by Eric Blake.
12164
12165 2009-08-23  Bruno Haible  <bruno@clisp.org>
12166
12167         Tolerate declared but missing dup3 syscall.
12168         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
12169         * lib/unistd.in.h (dup3): If the function is already present,
12170         override it.
12171         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
12172         * modules/dup3 (Makefile.am): Compile dup3.c always.
12173         Reported by Paolo Bonzini.
12174
12175 2009-08-23  Bruno Haible  <bruno@clisp.org>
12176
12177         Tolerate declared but missing pipe2 syscall.
12178         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
12179         available.
12180         * lib/unistd.in.h (pipe2): If the function is already present,
12181         override it.
12182         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
12183         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
12184         Reported by Paolo Bonzini.
12185
12186 2009-08-23  Bruno Haible  <bruno@clisp.org>
12187
12188         * lib/pipe2.c (pipe2): Move #ifs inside function.
12189
12190 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12191
12192         quotearg: document limitations of quote_these_too
12193         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
12194         those limitations are created.
12195         * lib/quotearg.h (set_char_quoting): Document that digits and
12196         letters that are special after backslash are not permitted.
12197         (quotearg_char): Cross-reference set_char_quoting documentation.
12198
12199 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
12200
12201         quotearg: implement custom_quoting_style
12202         * lib/quotearg.c: (struct quoting_options): Add left_quote and
12203         right_quote fields.
12204         (set_custom_quoting): New public function.
12205         (quotearg_buffer_restyled): Add left_quote and right_quote
12206         arguments, handle them very much like locale quoting, and update
12207         all uses.
12208         (quotearg_n_custom): New public function.
12209         (quotearg_n_custom_mem): New public function.
12210         (quotearg_custom): New public function.
12211         (quotearg_custom_mem): New public function.
12212         * lib/quotearg.h: Prototype and document new public functions.
12213         (enum quoting_style): For escape_quoting_style and
12214         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
12215         ignored even though they're otherwise like c_quoting_style.
12216         Add custom_quoting_style member and document with comparison to
12217         clocale_quoting_style.
12218         * tests/test-quotearg.c (custom_quotes): New array.
12219         (custom_results): New array.
12220         (main): Extend to test custom quoting.
12221
12222 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12223
12224         quotearg: fix right quote escaping when it's in quote_these_too
12225         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
12226         quote, be sure to prepend only one backslash.
12227         * tests/test-quotearg.c (use_quote_double_quotes): New function.
12228         (main): Test it.
12229
12230 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
12231
12232         quotearg-tests: test escaping of embedded locale quotes
12233         * tests/test-quotearg.c (struct result_strings): Add member for
12234         new input.
12235         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
12236         (inputs): Add new input.
12237         (results_g): Add expected results.
12238         (flag_results): Likewise.
12239         (locale_results): Likewise.
12240         (compare_strings): Check those.
12241
12242 2009-08-23  Bruno Haible  <bruno@clisp.org>
12243
12244         Tests for module 'dup3'.
12245         * modules/dup3-tests: New file.
12246         * tests/test-dup3.c: New file.
12247
12248         New module 'dup3'.
12249         * lib/unistd.in.h (dup3): New declaration.
12250         * lib/dup3.c: New file.
12251         * m4/dup3.m4: New file.
12252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
12253         HAVE_DUP3.
12254         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
12255         * modules/dup3: New file.
12256         * doc/glibc-functions/dup3.texi: Mention the new module.
12257
12258 2009-08-23  Bruno Haible  <bruno@clisp.org>
12259
12260         Tweak the dup2 test.
12261         * tests/test-dup2.c (main): Create the test file empty. Verify that an
12262         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
12263         the test file is still empty. Fix argument order of lseek.
12264
12265 2009-08-23  Bruno Haible  <bruno@clisp.org>
12266
12267         Avoid test link errors when the modules getopt-gnu, gettext are used.
12268         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
12269         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12270
12271 2009-08-23  Bruno Haible  <bruno@clisp.org>
12272
12273         Fix getdtablesize() on mingw.
12274         * lib/getdtablesize.c (getdtablesize): Implement differently.
12275         * lib/unistd.in.h (getdtablesize): Improve comment.
12276
12277 2009-08-23  Bruno Haible  <bruno@clisp.org>
12278
12279         New module 'mkostemp'.
12280         Based on Ulrich Drepper's 2007-08-10 change in glibc.
12281         * lib/stdlib.in.h (mksotemp): New declaration.
12282         * lib/mkostemp.c: New file, from glibc with modifications.
12283         * lib/tempname.h (GT_FILE): Remove outdated comment.
12284         (gen_tempname): Add flags argument.
12285         * lib/tempname.c (__GT_BIGFILE): Remove macro.
12286         (__GT_FILE): Map to 1.
12287         (small_open, large_open): Remove macros.
12288         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
12289         * lib/mkstemp.c (mkstemp): Update.
12290         * lib/mkdtemp.c (mkdtemp): Likewise.
12291         * m4/mkostemp.m4: New file.
12292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
12293         HAVE_MKOSTEMP.
12294         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
12295         HAVE_MKOSTEMP.
12296         * modules/mkostemp: New file, based on modules/mkstemp.
12297         * doc/glibc-functions/mkostemp.texi: Mention the new module.
12298         * NEWS: Mention the change.
12299
12300 2009-08-23  Bruno Haible  <bruno@clisp.org>
12301
12302         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
12303         Reported by Eric Blake.
12304
12305 2009-08-23  Bruno Haible  <bruno@clisp.org>
12306
12307         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
12308         Reported by Eric Blake.
12309
12310 2009-08-23  Bruno Haible  <bruno@clisp.org>
12311
12312         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
12313         * modules/pipe2 (Depends-on): Likewise.
12314
12315 2009-08-23  Eric Blake  <ebb9@byu.net>
12316
12317         fcntl-h: add O_TTY_INIT support
12318         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
12319         * tests/test-fcntl-h.c (o): Test it.
12320         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12321
12322         fcntl-h: rename from fcntl, in preparation for fcntl(2)
12323         * modules/fcntl: Move <fcntl.h> header replacement...
12324         * modules/fcntl-h: ...to new name, so as not to collide with
12325         like-named function.
12326         * tests/test-fcntl.c: Rename...
12327         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
12328         * modules/fcntl-tests: Rename...
12329         * modules/fcntl-h-tests: ...to this.  Update test file name.
12330         * modules/chdir-long (Depends-on): Update clients.
12331         * modules/chdir-safer (Depends-on): Likewise.
12332         * modules/fcntl-safer (Depends-on): Likewise.
12333         * modules/fts (Depends-on): Likewise.
12334         * modules/mkancesdirs (Depends-on): Likewise.
12335         * modules/mkdir-p (Depends-on): Likewise.
12336         * modules/open (Depends-on): Likewise.
12337         * modules/savewd (Depends-on): Likewise.
12338         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
12339         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12340
12341 2009-08-22  Bruno Haible  <bruno@clisp.org>
12342
12343         * modules/binary-io (License): Relicense under LGPL.
12344         * modules/pipe2 (License): Likewise.
12345
12346 2009-08-22  Bruno Haible  <bruno@clisp.org>
12347
12348         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
12349         return value.
12350         * lib/pipe-filter-gi.c (filter_init): Likewise.
12351         Reported by Eric Blake.
12352
12353 2009-08-22  Bruno Haible  <bruno@clisp.org>
12354
12355         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
12356         * modules/pipe (Depends-on): Add pipe2.
12357
12358 2009-08-22  Bruno Haible  <bruno@clisp.org>
12359
12360         Tests for module 'pipe2'.
12361         * modules/pipe2-tests: New file.
12362         * tests/test-pipe2.c: New file.
12363
12364         New module 'pipe2'.
12365         * lib/unistd.in.h (pipe2): New declaration.
12366         * lib/pipe2.c: New file.
12367         * m4/pipe2.m4: New file.
12368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
12369         HAVE_PIPE2.
12370         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
12371         * modules/pipe2: New file.
12372         * doc/glibc-functions/pipe2.texi: Mention the new module.
12373
12374 2009-08-22  Bruno Haible  <bruno@clisp.org>
12375
12376         Reference some new glibc functions.
12377         * doc/glibc-functions/accept4.texi: New file.
12378         * doc/glibc-functions/dup3.texi: New file.
12379         * doc/glibc-functions/mkostemp.texi: New file.
12380         * doc/glibc-functions/pipe2.texi: New file.
12381         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
12382         (Glibc sys/socket.h): Refer to accept4.
12383         (Glibc unistd.h): Refer to dup3, pipe2.
12384         Reported by Eric Blake.
12385
12386 2009-08-22  Jim Meyering  <meyering@redhat.com>
12387             Bruno Haible  <bruno@clisp.org>
12388
12389         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
12390         This makes it so packages using automake-1.11's silent-rules option
12391         can print e.g., a single "GEN    configmake.h" line, rather than
12392         the 30+ statements that perform the job.  If you want to see the
12393         actual commands, you can still run "make V=1".
12394         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
12395         so that make output is abbreviated when those variables are defined
12396         appropriately.
12397         * modules/argz: Likewise.
12398         * modules/arpa_inet: Likewise.
12399         * modules/byteswap: Likewise.
12400         * modules/configmake: Likewise.
12401         * modules/dirent: Likewise.
12402         * modules/errno: Likewise.
12403         * modules/fcntl: Likewise.
12404         * modules/float: Likewise.
12405         * modules/fnmatch: Likewise.
12406         * modules/getopt-posix: Likewise.
12407         * modules/glob: Likewise.
12408         * modules/iconv_open: Likewise.
12409         * modules/inttypes: Likewise.
12410         * modules/localcharset: Likewise.
12411         * modules/locale: Likewise.
12412         * modules/math: Likewise.
12413         * modules/netdb: Likewise.
12414         * modules/netinet_in: Likewise.
12415         * modules/poll: Likewise.
12416         * modules/posix_spawnp-tests: Likewise.
12417         * modules/sched: Likewise.
12418         * modules/search: Likewise.
12419         * modules/selinux-h: Likewise.
12420         * modules/signal: Likewise.
12421         * modules/spawn: Likewise.
12422         * modules/stdarg: Likewise.
12423         * modules/stdbool: Likewise.
12424         * modules/stddef: Likewise.
12425         * modules/stdint: Likewise.
12426         * modules/stdio: Likewise.
12427         * modules/stdlib: Likewise.
12428         * modules/string: Likewise.
12429         * modules/strings: Likewise.
12430         * modules/sys_file: Likewise.
12431         * modules/sys_ioctl: Likewise.
12432         * modules/sys_select: Likewise.
12433         * modules/sys_socket: Likewise.
12434         * modules/sys_stat: Likewise.
12435         * modules/sys_time: Likewise.
12436         * modules/sys_times: Likewise.
12437         * modules/sys_utsname: Likewise.
12438         * modules/sys_wait: Likewise.
12439         * modules/sysexits: Likewise.
12440         * modules/time: Likewise.
12441         * modules/unistd: Likewise.
12442         * modules/wchar: Likewise.
12443         * modules/wctype: Likewise.
12444
12445 2009-08-22  Jim Meyering  <meyering@redhat.com>
12446
12447         announce-gen: detect write failure
12448         * build-aux/announce-gen: Add Coda at end.
12449         Remove equivalent-but-more-verbose block at top.
12450
12451 2009-08-19  Akim Demaille  <demaille@gostai.com>
12452
12453         bootstrap: --help to stdout.
12454         * bootstrap (usage): Don't send --help to stderr.
12455         Use a here doc instead of a long string.
12456
12457 2009-08-21  Eric Blake  <ebb9@byu.net>
12458
12459         test-popen-safer: split from test-popen
12460         * tests/test-popen.c (main): Move...
12461         * tests/test-popen.h: ...into new file.
12462         * tests/test-popen-safer2.c: New file.
12463         * modules/popen-tests (Files): Add test-popen.h.
12464         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
12465         Suggested by Bruno Haible.
12466
12467         test-fcntl-safer: split from test-open
12468         * tests/test-open.c (main): Move...
12469         * tests/test-open.h: ...into new file.
12470         * tests/test-fcntl-safer.c: New file.
12471         * modules/open-tests (Files): Add test-open.h.
12472         * modules/fcntl-safer-tests: New file.
12473         Suggested by Bruno Haible.
12474
12475         test-fopen-safer: split from test-fopen
12476         * tests/test-fopen.c (main): Move...
12477         * tests/test-fopen.h: ...into new file.
12478         * tests/test-fopen-safer.c: New file.
12479         * modules/fopen-tests (Files): Add test-fopen.h.
12480         * modules/fopen-safer-tests: New file.
12481         Suggested by Bruno Haible.
12482
12483 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12484
12485         popen-safer: test O_CLOEXEC at run-time.
12486         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
12487
12488 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12489
12490         fcntl: move more flags to the header
12491         * lib/cloexec.c: Do not define FD_CLOEXEC here.
12492         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
12493         * lib/fcntl.in.h: Do both things here.
12494
12495 2009-08-21  Jim Meyering  <meyering@redhat.com>
12496
12497         consistently remove $@-t before redirecting to it
12498         * modules/argz: Remove $@-t and $@ before redirecting to the former.
12499         * modules/alloca-opt: Likewise.
12500         * modules/byteswap: Likewise.
12501         * modules/fnmatch: Likewise.
12502         * modules/getopt-posix: Likewise.
12503         * modules/glob: Likewise.
12504         * modules/poll: Likewise.
12505         * modules/posix_spawnp-tests: Likewise.
12506         * modules/sys_socket: Likewise.
12507         * modules/sysexits: Likewise.
12508
12509 2009-08-21  Eric Blake  <ebb9@byu.net>
12510
12511         popen: simplify access to original popen
12512         * lib/popen.c (rpl_popen): No need to worry about popen being a
12513         macro.
12514         Reported by Bruno Haible.
12515
12516 2009-08-20  Eric Blake  <ebb9@byu.net>
12517
12518         build: avoid some compiler warnings
12519         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
12520         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
12521         type.
12522         (new_exclude_segment, excluded_file_pattern_p)
12523         (excluded_file_name_p): Reduce scope.
12524         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
12525         old-style declaration.
12526
12527 2009-08-20  Simon Josefsson  <simon@josefsson.org>
12528
12529         * tests/test-exclude1.sh: Handle Windows EOL.
12530         * tests/test-exclude2.sh: Likewise.
12531         * tests/test-exclude3.sh: Likewise.
12532         * tests/test-exclude4.sh: Likewise.
12533         * tests/test-exclude5.sh: Likewise.
12534         * tests/test-exclude6.sh: Likewise.
12535         * tests/test-exclude7.sh: Likewise.
12536
12537 2009-08-19  Akim Demaille  <demaille@gostai.com>
12538
12539         bootstrap: find sha1sum when named gsha1sum.
12540         * bootstrap (find_tool): New.
12541         ($SHA1SUM): New.
12542         Use it.
12543
12544 2009-08-20  Jim Meyering  <meyering@redhat.com>
12545
12546         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
12547         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
12548         expression that converts "." in a file name to "\." in the resulting
12549         regexp.  Start with a dummy statement, so that prior shell variable
12550         definitions are expanded portably.  Reported by Simon Josefsson.
12551
12552 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
12553
12554         Fix polling for writeability of a screen buffer.
12555         * lib/poll.c: Distinguish input and screen buffers for the
12556         Win32 implementation.
12557         * lib/select.c: Likewise.
12558
12559 2009-08-19  Eric Blake  <ebb9@byu.net>
12560
12561         popen-safer: prevent popen from clobbering std descriptors
12562         * modules/popen-safer: New file.
12563         * lib/popen-safer.c: Likewise.
12564         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
12565         * lib/stdio--.h (popen): Provide override.
12566         * lib/stdio-safer.h (popen_safer): Provide declaration.
12567         * tests/test-popen.c (includes): Partially test this.
12568         * modules/popen-safer-tests: New file, for more tests.
12569         * tests/test-popen-safer.c: Likewise.
12570         * MODULES.html.sh (file stream based Input/Output): Mention it.
12571
12572         tests: test some of the *-safer modules
12573         * modules/fopen-safer (Depends-on): Add fopen.
12574         * modules/fcntl-safer (Depends-on): Add fcntl.
12575         * modules/stdlib-safer (Depends-on): Add stdlib.
12576         (configure.ac): Set indicator.
12577         * modules/unistd-safer (configure.ac): Likewise.
12578         * modules/tmpfile-safer (configure.ac): Likewise.
12579         (Depends-on): Add tmpfile.
12580         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
12581         active.
12582         * tests/test-fopen.c (includes): Test safer versions when they are
12583         in use.
12584         * tests/test-open.c (includes): Likewise.
12585
12586         popen: fix cygwin 1.5 bug when stdin closed
12587         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
12588         * modules/popen: New file.
12589         * modules/popen-tests: Likewise.
12590         * tests/test-popen.c: Likewise.
12591         * m4/popen.m4: Likewise.
12592         * lib/popen.c: Likewise.
12593         * lib/stdio.in.h (popen): New declaration.
12594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
12595         * modules/stdio (Makefile.am): Likewise.
12596         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
12597
12598 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
12599
12600         maint.mk: give full control over update-copyright exclusions
12601         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
12602         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
12603         (update-copyright): Don't force inclusion of top-level
12604         ChangeLog.  Don't force exclusion of all COPYING files, but make
12605         them the default exclusion instead.
12606
12607 2009-08-16  Bruno Haible  <bruno@clisp.org>
12608
12609         Fix test failures on Solaris 10.
12610         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
12611         tests when Solaris iconv() is used.
12612         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
12613         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
12614         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
12615         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
12616         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
12617
12618 2009-08-16  Bruno Haible  <bruno@clisp.org>
12619
12620         Fix test failures on Solaris 10.
12621         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
12622         'tr' program and pass it as first argument.
12623         * tests/test-pipe-filter-gi1.sh: Likewise.
12624         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
12625         program as first argument.
12626         * tests/test-pipe-filter-gi1.c (main): Likewise.
12627
12628 2009-08-16  Eric Blake  <ebb9@byu.net>
12629
12630         fpurge: fix previous commits
12631         * modules/fpurge (Makefile.am): Make replacement conditional,
12632         partially reverting 2007-04-29 change; missed in previous
12633         attempt.
12634         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
12635         is missing.
12636
12637 2009-08-16  Bruno Haible  <bruno@clisp.org>
12638
12639         Clarify fpurge's effect on the file position.
12640         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
12641         * tests/test-fpurge.c (main): Make a second pass for checking the file
12642         position.
12643
12644 2009-08-16  Bruno Haible  <bruno@clisp.org>
12645
12646         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
12647         declaration of fpurge is missing.
12648         * tests/test-fpurge.c (main): Check that the file has not more contents
12649         than expected. Close the file before removing it.
12650
12651 2009-08-15  Eric Blake  <ebb9@byu.net>
12652
12653         fpurge: don't wrap working cygwin implementation
12654         * lib/fpurge.c (fpurge): Fix comment typo.
12655         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
12656         1.7 to avoid replacement.
12657         * tests/test-fpurge.c (main): Enhance test.
12658
12659 2009-08-15  Eric Blake  <ebb9@byu.net>
12660         and Jim Meyering  <meyering@redhat.com>
12661
12662         test-update-copyright: skip if perl is insufficient
12663         * tests/test-update-copyright.sh: Failure to run maintainer tool
12664         should not cause testsuite failure on cygwin 1.5.
12665
12666 2009-08-14  Eric Blake  <ebb9@byu.net>
12667
12668         doc: mention more functions added in cygwin 1.7.0
12669         * doc/posix-headers/limits.texi (limits.h): Update for recent
12670         cygwin additions.
12671         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
12672         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12673         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
12674         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
12675         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
12676
12677 2009-08-14  Eric Blake  <ebb9@byu.net>
12678
12679         maint.mk: simplify update-copyright rule
12680         * top/maint.mk (update-copyright-local): Delete, and document how
12681         to do it in cfg.mk instead.
12682         (update-copyright-exclude-regexp): Delete, and document how to do
12683         it in .x-update-copyright instead.
12684         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
12685         exclude ChangeLog.
12686
12687 2009-08-14  Bruno Haible  <bruno@clisp.org>
12688
12689         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
12690
12691 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12692
12693         maint.mk: support update-copyright-env
12694         * top/maint.mk (update-copyright-env): Define place-holder.
12695         (update-copyright): Expand $(update-copyright-env) before
12696         invoking update-copyright.
12697
12698 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12699
12700         update-copyright: implement forced reformatting
12701         * build-aux/update-copyright: Implement and document
12702         UPDATE_COPYRIGHT_FORCE.
12703         * tests/test-update-copyright.sh: Test it.
12704
12705 2009-08-14  Eric Blake  <ebb9@byu.net>
12706         and Bruno Haible  <bruno@clisp.org>
12707
12708         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
12709         * tests/test-locale.c: Revert previous patch related to NULL.
12710         * tests/test-stdio.c: Likewise.
12711         * tests/test-stdlib.c: Likewise.
12712         * tests/test-string.c: Likewise.
12713         * tests/test-unistd.c: Likewise.
12714         * modules/time-tests (Depends-on): Add verify.
12715         * modules/wchar-tests (Depends-on): Likewise.
12716         * tests/test-time.c: Test for NULL compliance.
12717         * tests/test-wchar.c: Likewise.
12718         * modules/locale (Depends-on): Add stddef.
12719         * modules/stdio (Depends-on): Likewise.
12720         * modules/stdlib (Depends-on): Likewise.
12721         * modules/string (Depends-on): Likewise.
12722         * modules/time (Depends-on): Likewise.
12723         * modules/unistd (Depends-on): Likewise.
12724         * modules/wchar (Depends-on): Likewise.
12725         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
12726         * lib/stdlib.in.h (includes): Likewise.
12727         * lib/string.in.h (includes): Likewise.
12728         * lib/time.in.h (includes): Likewise.
12729         * lib/unistd.in.h (includes): Likewise.
12730         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
12731         replaced.
12732         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12733         * m4/stddef_h.m4: New file.
12734         * modules/stddef: Likewise.
12735         * lib/stddef.in.h: Likewise.
12736         * modules/stddef-tests: Likewise.
12737         * tests/test-stddef.c: Likewise.
12738         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
12739         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
12740         * doc/posix-headers/locale.texi (locale.h): Likewise.
12741         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
12742         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12743         * doc/posix-headers/string.texi (string.h): Likewise.
12744         * doc/posix-headers/time.texi (time.h): Likewise.
12745         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
12746         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
12747
12748 2009-08-14  Eric Blake  <ebb9@byu.net>
12749
12750         doc: improve git diff of texinfo files
12751         * .gitattributes: Add rule for *.texi files, with hint on how to
12752         use it.
12753         Copied from m4, and based on a report by Bruno Haible.
12754
12755 2009-08-14  Bruno Haible  <bruno@clisp.org>
12756
12757         Disable multithread support by default on Cygwin 1.5.x for real.
12758         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
12759
12760 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12761
12762         update-copyright: much ado about intervals
12763         * build-aux/update-copyright: Implement and document
12764         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
12765         of copyright year intervals.
12766         Also, document UPDATE_COPYRIGHT_YEAR.
12767         * tests/test-update-copyright.sh: Test it.
12768
12769         update-copyright: convert 2-digit to 4-digit years
12770         * build-aux/update-copyright: Implement and document.
12771         * tests/test-update-copyright.sh: Update.
12772
12773 2009-08-14  Jim Meyering  <meyering@redhat.com>
12774
12775         test-exclude: avoid coreutils "make check" failure
12776         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
12777         just as in test-argmatch.c.
12778
12779 2009-08-13  Eric Blake  <ebb9@byu.net>
12780
12781         test-dup2: fix bad assumption
12782         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
12783         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
12784
12785         test-version-etc: fix CRLF portability issue
12786         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
12787         recognize \r.
12788         * tests/test-argp-version-etc-1.sh: Likewise.
12789
12790         getopt: update client modules
12791         * modules/argp (Depends-on): Use getopt-gnu.
12792         * modules/git-merge-changelog (Depends-on): Likewise.
12793         * modules/long-options (Depends-on): Likewise.
12794         * modules/xstrtol (Depends-on): Likewise.
12795
12796 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12797
12798         * tests/test-version-etc.sh: Don't fail on different
12799         project/version.  Don't fail on CRLF differences.  Rewrite to use
12800         multiple -e instead of multiple sed forks, suggested by Eric Blake
12801         <ebb9@byu.net>.
12802         * tests/test-argp-version-etc-1.sh: Likewise.
12803
12804 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12805
12806         * tests/test-version-etc.sh: Don't fail on different
12807         project/version.
12808
12809 2009-08-12  Bruno Haible  <bruno@clisp.org>
12810
12811         Tests for modules 'getopt-posix', 'getopt-gnu'.
12812         * modules/getopt-posix-tests: New file.
12813         * tests/test-getopt.c: New file.
12814         * tests/test-getopt.h: New file.
12815         * tests/test-getopt_long.h: New file.
12816
12817         New modules 'getopt-posix', 'getopt-gnu'.
12818         * modules/getopt-gnu: New file, renamed from modules/getopt.
12819         * modules/getopt-posix: New file.
12820         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
12821         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
12822         (gl_GETOPT): Remove macro.
12823         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
12824         Disable the test against BSD systems that declare optreset. Test
12825         against mingw bug. Test against lack of support of optional arguments
12826         on many platforms.
12827         * doc/glibc-headers/getopt.texi: Update module name and list of
12828         relevant platforms.
12829         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
12830         'getopt-gnu' and more portability problems.
12831         * NEWS: Mention the changes.
12832
12833 2009-08-12  Bruno Haible  <bruno@clisp.org>
12834
12835         Ensure that optarg etc. get declared by <unistd.h>.
12836         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
12837         AC_USE_SYSTEM_EXTENSIONS.
12838         * modules/getopt (Depends-on): Add 'extensions'.
12839
12840 2009-08-12  Bruno Haible  <bruno@clisp.org>
12841
12842         Avoid test link errors.
12843         * modules/pipe-filter-ii-tests (Makefile.am): Define
12844         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
12845         * modules/pipe-filter-gi-tests (Makefile.am): Define
12846         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
12847         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12848
12849 2009-08-12  Bruno Haible  <bruno@clisp.org>
12850
12851         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
12852         gl_GETOPT_SUBSTITUTE before.
12853         (gl_GETOPT): Use it.
12854         * m4/argp.m4 (gl_ARGP): Update.
12855         Reported by Sergey Poznyakoff.
12856
12857         * m4/getopt.m4: Reorder macros.
12858         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
12859         (gl_GETOPT_SUBSTITUTE): Remove macro.
12860
12861 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12862
12863         Minor improvement in gitlog-to-changelog
12864
12865         * build-aux/gitlog-to-changelog: New option `--format' makes
12866         output format string configurable.
12867
12868 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12869
12870         Optimize exclude: use hash tables for non-wildcard patterns.
12871
12872         * lib/exclude.c: Include hash.h and mbuiter.h
12873         (struct exclude_pattern, exclude_segment): New data types.
12874         (struct exclude): Rewrite.
12875         (fnmatch_pattern_has_wildcards): New function.
12876         (new_exclude_segment, free_exclude_segment): New functions.
12877         (excluded_file_pattern_p, excluded_file_name_p): New functions.
12878         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
12879         * lib/exclude.h (is_fnmatch_pattern): New prototype.
12880         * modules/exclude: Depend on hash and mbuiter.
12881
12882         * modules/exclude-tests: New file.
12883         * tests/test-exclude.c: New file.
12884         * tests/test-exclude1.sh: New file.
12885         * tests/test-exclude2.sh: New file.
12886         * tests/test-exclude3.sh: New file.
12887         * tests/test-exclude4.sh: New file.
12888         * tests/test-exclude5.sh: New file.
12889         * tests/test-exclude6.sh: New file.
12890         * tests/test-exclude7.sh: New file.
12891
12892 2009-08-12  Bruno Haible  <bruno@clisp.org>
12893
12894         Ensure that getopt() gets declared by <unistd.h>.
12895         * lib/unistd.in.h: Conditionally include getopt.h.
12896         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
12897         Set GNULIB_UNISTD_H_GETOPT.
12898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12899         GNULIB_UNISTD_H_GETOPT.
12900         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
12901
12902 2009-08-12  Bruno Haible  <bruno@clisp.org>
12903
12904         Clarify logic.
12905         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
12906         gl_replace_getopt instead of GETOPT_H.
12907
12908 2009-08-12  Bruno Haible  <bruno@clisp.org>
12909
12910         * m4/getopt.m4: Add comments.
12911
12912 2009-08-12  Bruno Haible  <bruno@clisp.org>
12913
12914         Disable multithread support by default on Cygwin 1.5.x.
12915         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
12916         set gl_use_threads=no if not specified otherwise.
12917
12918 2009-08-11  Bruno Haible  <bruno@clisp.org>
12919
12920         Avoid compilation error on NetBSD 5.0.
12921         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
12922         * tests/test-stdio.c: Likewise.
12923         * tests/test-stdlib.c: Likewise.
12924         * tests/test-string.c: Likewise.
12925         * tests/test-unistd.c: Likewise.
12926         Reported by Greg Troxel <gdt@ir.bbn.com>
12927         at <https://savannah.gnu.org/support/?106973>.
12928
12929 2009-08-11  Bruno Haible  <bruno@clisp.org>
12930
12931         * modules/dup2-tests (Depends-on): Remove close.
12932
12933         Undo 2009-07-19 commit.
12934         * modules/acl-tests (Depends-on): Remove close.
12935         * modules/binary-io-tests (Depends-on): Likewise.
12936         * modules/closein-tests (Depends-on): Likewise.
12937         * modules/flock-tests (Depends-on): Likewise.
12938         * modules/fsync-tests (Depends-on): Likewise.
12939         * modules/lseek-tests (Depends-on): Likewise.
12940         * modules/pipe-tests (Depends-on): Likewise.
12941         * modules/posix_spawn-tests (Depends-on): Likewise.
12942         * modules/posix_spawnp-tests (Depends-on): Likewise.
12943         * modules/stat-time-tests (Depends-on): Likewise.
12944         * modules/yesno-tests (Depends-on): Likewise.
12945
12946 2009-08-10  Bruno Haible  <bruno@clisp.org>
12947
12948         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
12949
12950 2009-08-10  Bruno Haible  <bruno@clisp.org>
12951
12952         Fix a gcc warning.
12953         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
12954
12955 2009-08-10  Bruno Haible  <bruno@clisp.org>
12956
12957         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
12958         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
12959         not only the first time.
12960         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
12961         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
12962         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
12963         is 1, not only the the first time.
12964
12965 2009-08-10  Bruno Haible  <bruno@clisp.org>
12966
12967         Make it possible to use module 'gethostname' without module 'close'.
12968         * lib/unistd.in.h (close): Evoke a link error only if
12969         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
12970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12971         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12972         * modules/unistd (Makefile.am): Substitute
12973         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12974         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
12975         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
12976         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
12977         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12978         * modules/sys_ioctl (Makefile.am): Substitute
12979         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12980         * modules/socket (configure.ac): On native Windows, set
12981         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
12982         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12983         Reported by Sam Steingold <sds@gnu.org>.
12984
12985 2009-08-10  Bruno Haible  <bruno@clisp.org>
12986
12987         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
12988         * modules/ioctl (configure.ac): Likewise.
12989
12990 2009-08-10  Bruno Haible  <bruno@clisp.org>
12991
12992         Avoid collision between gnulib wrapper and libintl wrapper.
12993         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
12994         already defined in intl/printf.c.
12995         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
12996         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
12997
12998 2009-08-09  Bruno Haible  <bruno@clisp.org>
12999
13000         Make <sys/select.h> really self-contained, also on Solaris 10.
13001         * lib/sys_select.in.h: Include <string.h>.
13002         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
13003         Solaris 10 problem.
13004         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
13005         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
13006         Reported by Jim Meyering.
13007
13008 2009-08-09  Bruno Haible  <bruno@clisp.org>
13009
13010         Avoid warnings from 'aclocal' that are due to a use of macro name
13011         AM_XGETTEXT_OPTION that is not defined in automake.
13012         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
13013         automake.
13014         * modules/error (configure.ac): Likewise.
13015         * modules/propername (configure.ac): Likewise.
13016         * modules/vasprintf (configure.ac): Likewise.
13017         * modules/verror (configure.ac): Likewise.
13018         * modules/xprintf (configure.ac): Likewise.
13019         * modules/xvasprintf (configure.ac): Likewise.
13020
13021 2009-08-08  Bruno Haible  <bruno@clisp.org>
13022
13023         Avoid compilation error in C++ mode.
13024         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
13025         Reported by Sam Steingold <sds@gnu.org>.
13026
13027 2009-08-08  Bruno Haible  <bruno@clisp.org>
13028
13029         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
13030         for the various Unix platforms.
13031         * doc/posix-headers/limits.texi: Update platforms list regarding
13032         HOST_NAME_MAX.
13033         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13034
13035 2009-08-07  Jim Meyering  <meyering@redhat.com>
13036
13037         selinux-at: fix typo in a comment
13038         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
13039         Spotted by Paolo Bonzini.
13040
13041         selinux-at: remove redundant m4 code, add documentation
13042         * modules/selinux-at (configure.ac): Remove redundant code.
13043         LIB_SELINUX is already set via the dependent module, selinux-h.
13044         (Include): Add quotes around selinux-at.h.
13045         * lib/selinux-at.h: Add documentation.
13046         Reported by Bruno Haible in
13047         http://marc.info/?l=gnulib-bug&m=124958988300749
13048
13049 2009-08-07  Bruno Haible  <bruno@clisp.org>
13050
13051         Avoid link error on MacOS X 10.3 and 10.4.
13052         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
13053         on non-ELF systems.
13054         * lib/argp-pv.c (argp_program_version): Likewise.
13055         Reported by Simon Josefsson.
13056
13057 2009-08-07  Simon Josefsson  <simon@josefsson.org>
13058
13059         * tests/test-version-etc.sh: Use $EXEEXT.
13060
13061 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
13062
13063         update-copyright: update documentation to point to maint.mk
13064         * build-aux/update-copyright: Here.
13065
13066 2009-08-06  Jim Meyering  <meyering@redhat.com>
13067
13068         maint.mk: support update-copyright-local
13069         * top/maint.mk (update-copyright-local): Define place-holder.
13070         (update-copyright): Depend on $(update-copyright-local).
13071
13072 2009-08-06  Jim Meyering  <meyering@redhat.com>
13073
13074         selinux-at: new module
13075         Initially written for coreutils, this module will soon be
13076         used by findutils, too.
13077         * MODULES.html.sh [Misc]: Add selinux-at.
13078         * lib/selinux-at.h: New file, from coreutils.
13079         * lib/selinux-at.c: Likewise.
13080         * modules/selinux-at: Likewise.
13081         (License): Change from LGPL to GPL, since it depends
13082         on the GPL'd openat module.
13083
13084         doc: update README
13085         * README: Remove references to cogito.
13086         Remove cvs-repo-updating instructions from 2007.
13087         Don't imply that CVS is better if you have limited disk space.
13088
13089 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13090
13091         update-copyright: support C-style comments
13092         * build-aux/update-copyright: Implement and document.
13093         * tests/test-update-copyright.sh: Test.
13094
13095 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13096
13097         update-copyright: support omitted "(C)"
13098         * build-aux/update-copyright: Implement and document.  Also,
13099         allow variable whitespace before "(C)".
13100         * tests/test-update-copyright.sh: Test.
13101
13102 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13103
13104         update-copyright: don't trip on non-FSF copyright statements
13105         * build-aux/update-copyright: Fix so that the first correctly
13106         formatted FSF copyright statement is recognized no matter what
13107         appears before it.  Update documentation.
13108         * tests/test-update-copyright.sh: Test that.
13109
13110 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13111
13112         update-copyright: clean up code a little
13113         * build-aux/update-copyright: Append "_re" to the name of any
13114         variable holding a regular expression.
13115         Replace "old" and "new" with "stmt" in variable names.
13116         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
13117         handled correctly.
13118         Format code more consistently.
13119
13120 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
13121
13122         update-copyright-tests: improve portability
13123         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
13124         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
13125
13126 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13127
13128         update-copyright: support @copyright{} and &copy;
13129         * build-aux/update-copyright: Implement and document.
13130         * tests/test-update-copyright.sh: Test.
13131
13132 2009-08-04  Jim Meyering  <meyering@redhat.com>
13133
13134         update-copyright-tests: correctly test EOL=\r\n handling
13135         * tests/test-update-copyright.sh: Put \r at the end of some lines
13136         for the dos-eol tests.  Based on a patch by Joel E. Denny.
13137
13138         maint.mk: make update-copyright exclusion list more configurable
13139         * top/maint.mk (update-copyright): Default to excluding COPYING,
13140         but allow an override, in case someone does want to update that file.
13141
13142         maint.mk: don't update copyright date in COPYING
13143         * top/maint.mk (update-copyright): Exclude COPYING.
13144
13145         maint.mk: add a copyright-updating rule
13146         * top/maint.mk (update-copyright): New rule.
13147         Derived from coreutils/Makefile.am.
13148
13149         update-copyright: rename some variables
13150         * build-aux/update-copyright: Rename a few variables for clarity.
13151         Tweak syntax.  List Joel E. Denny as coauthor.
13152
13153 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
13154
13155         update-copyright: fix bug for 2-digit last year and add tests
13156         * build-aux/update-copyright: Fix bug.
13157         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
13158         specified.
13159         * modules/update-copyright-tests: New
13160         * tests/test-update-copyright.sh: New.
13161
13162 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13163
13164         update-copyright: handle leading tabs in line prefix
13165         * build-aux/update-copyright: Count leading tabs as 8 spaces
13166         when computing margin.  This helps with the formatting of
13167         ChangeLogs, for example.
13168         Fix documentation a little.
13169
13170 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13171
13172         update-copyright: support EOL=\r\n
13173         * build-aux/update-copyright: Implement that.
13174
13175 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
13176
13177         update-copyright: automatically format copyright statements
13178         * build-aux/update-copyright: Implement that.
13179         Also, be a little more predictable and safer by always failing
13180         when the full copyright format is not perfectly recognized as an
13181         unbroken whole.  Discussed at
13182         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
13183         Rewrite documentation.
13184
13185 2009-08-03  Bruno Haible  <bruno@clisp.org>
13186
13187         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
13188
13189 2009-08-02  Bruno Haible  <bruno@clisp.org>
13190
13191         Tests for module 'uname'.
13192         * modules/uname-tests: New file.
13193         * tests/test-uname.c: New file.
13194
13195         New module 'uname'.
13196         * lib/uname.c: New file.
13197         * m4/uname.m4: New file.
13198         * modules/uname: New file.
13199         * doc/posix-functions/uname.texi: Mention the new module.
13200
13201 2009-08-02  Bruno Haible  <bruno@clisp.org>
13202
13203         Tests for module 'sys_utsname'.
13204         * modules/sys_utsname-tests: New file.
13205         * tests/test-sys_utsname.c: New file.
13206
13207         New module 'sys_utsname'.
13208         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
13209         * m4/sys_utsname_h.m4: New file.
13210         * modules/sys_utsname: New file.
13211         * doc/posix-headers/sys_utsname.texi: Mention the new module.
13212
13213 2009-08-02  Bruno Haible  <bruno@clisp.org>
13214
13215         Implicitly initialize the sockets library.
13216         * lib/gethostname.c: Include sockets.h.
13217         (rpl_gethostname): Invoke gl_sockets_startup.
13218         * lib/socket.c: Include sockets.h.
13219         (rpl_socket): Invoke gl_sockets_startup.
13220         * modules/gethostname (Depends-on): Add sockets.
13221         * modules/socket (Depends-on): Likewise.
13222         * tests/test-poll.c: Don't include sockets.h.
13223         (main): Don't invoke gl_sockets_startup.
13224         * tests/test-select.c: Don't include sockets.h.
13225         (main): Don't invoke gl_sockets_startup.
13226
13227 2009-08-02  Bruno Haible  <bruno@clisp.org>
13228
13229         Allow multiple calls to gl_sockets_startup.
13230         * lib/sockets.c (initialized_sockets_version): New variable.
13231         (gl_sockets_startup): Do nothing if already called for this or a higher
13232         version.
13233         (gl_sockets_cleanup): Reset initialized_sockets_version.
13234
13235 2009-08-03  Simon Josefsson  <simon@josefsson.org>
13236
13237         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
13238         different project/version.
13239
13240 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
13241             Bruno Haible  <bruno@clisp.org>
13242
13243         Tests for module 'pipe-filter-gi'.
13244         * modules/pipe-filter-gi-tests: New file.
13245         * tests/test-pipe-filter-gi1.sh: New file.
13246         * tests/test-pipe-filter-gi1.c: New file.
13247         * tests/test-pipe-filter-gi2.sh: New file.
13248         * tests/test-pipe-filter-gi2-main.c: New file.
13249         * tests/test-pipe-filter-gi2-child.c: New file.
13250
13251         New module 'pipe-filter-gi'.
13252         * lib/pipe-filter-gi.c: New file.
13253         * modules/pipe-filter-gi: New file.
13254
13255 2009-08-02  Bruno Haible  <bruno@clisp.org>
13256             Paolo Bonzini  <bonzini@gnu.org>
13257
13258         Tests for module 'pipe-filter-ii'.
13259         * modules/pipe-filter-ii-tests: New file.
13260         * tests/test-pipe-filter-ii1.sh: New file.
13261         * tests/test-pipe-filter-ii1.c: New file.
13262         * tests/test-pipe-filter-ii2.sh: New file.
13263         * tests/test-pipe-filter-ii2-main.c: New file.
13264         * tests/test-pipe-filter-ii2-child.c: New file.
13265
13266         New module 'pipe-filter-ii'.
13267         * lib/pipe-filter.h: New file.
13268         * lib/pipe-filter-ii.c: New file.
13269         * lib/pipe-filter-aux.h: New file.
13270         * modules/pipe-filter-ii: New file.
13271
13272 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13273
13274         * lib/gc-libgcrypt.c: Change copyright to FSF.
13275         * lib/gc-gnulib.c: Likewise.
13276
13277 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
13278
13279         * lib/gethostname.c: Include limits.h.
13280
13281 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13282             Bruno Haible  <bruno@clisp.org>
13283
13284         Ensure HOST_NAME_MAX as part of the gethostname module.
13285         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
13286         define also HOST_NAME_MAX.
13287         * tests/test-gethostname.c: Include <limits.h>.
13288         (main): Check also HOST_NAME_MAX.
13289         * doc/posix-headers/limits.texi: Document the mingw problem.
13290
13291 2009-08-02  Bruno Haible  <bruno@clisp.org>
13292
13293         * lib/gethostname.c (gethostname): Fix handling of large len argument.
13294         Add comments.
13295
13296 2009-03-31  Simon Josefsson  <simon@josefsson.org>
13297
13298         * lib/gethostname.c: Add Windows wrapper.
13299         * m4/gethostname.m4: Look for gethostname in -lws2_32.
13300         * modules/gethostname: Depend on sys_socket & errno, for also
13301         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
13302         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
13303
13304 2009-07-31  Jim Meyering  <meyering@redhat.com>
13305
13306         getloadavg: fix symbol name in comment
13307         * lib/getloadavg.c: Correct a typo I introduced when adding
13308         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
13309         Matt Kraai spotted the problem.
13310
13311 2009-07-29  Matt Kraai  <mkraai@beckman.com>
13312
13313         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
13314         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
13315         code also if ! defined N_NAME_POINTER.
13316         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
13317         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
13318         but the n_name member is a 12-byte array.
13319
13320 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
13321
13322         update-copyright: generalize comment handling
13323         * build-aux/update-copyright: Handle copyright statements
13324         within more comment styles.
13325         Document usage.
13326         Report any file with an external copyright holder or parse failure.
13327
13328 2009-07-29  Jim Meyering  <meyering@redhat.com>
13329
13330         mktime: correct setting of REPLACE_MKTIME
13331         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
13332
13333         update-copyright: new module
13334         * modules/update-copyright: New file.
13335         * build-aux/update-copyright: New file.
13336         * MODULES.html.sh (maint+release support): Add update-copyright.
13337
13338 2009-07-27  Bruno Haible  <bruno@clisp.org>
13339
13340         Fix compilation error when <ctime> is used and mktime is replaced.
13341         * lib/time.in.h (mktime): New declaration.
13342         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
13343         REPLACE_MKTIME instead of defining mktime in config.h.
13344         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
13345         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
13346         Reported by Ross McFarland <rwmcfa1@neces.com>.
13347
13348 2009-07-27  Bruno Haible  <bruno@clisp.org>
13349
13350         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
13351         Reported by Matt Kraai <mkraai@beckman.com>.
13352
13353 2009-07-25  Jim Meyering  <meyering@redhat.com>
13354
13355         maint.mk: avoid warnings about missing files
13356         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
13357         diagnostic when .prev-version does not exist.
13358         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
13359         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
13360         nonexistent cfg.mk.
13361         Suggestions from Simon Josefsson.
13362
13363 2009-07-25  Bruno Haible  <bruno@clisp.org>
13364
13365         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
13366         defined as macros. Needed on QNX 6.4.1.
13367         Reported by Matt Kraai <mkraai@beckman.com>.
13368
13369 2009-07-23  Jim Meyering  <meyering@redhat.com>
13370
13371         maint.mk: invoke "make dist" with a working value of XZ_OPT
13372         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
13373
13374 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
13375
13376         Make fseeko.c compile on QNX.
13377         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
13378
13379 2009-07-22  Peter Simons  <simons@cryp.to>
13380
13381         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
13382         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
13383         * lib/md4.h: Likewise.
13384         * lib/md5.h: Likewise.
13385         * lib/sha1.h: Likewise.
13386         * lib/sha256.h: Likewise.
13387         * lib/sha512.h: Likewise.
13388
13389         tests-sha1: don't assign literal string to 'char *' variable
13390         * tests/test-sha1.c (main): Declare locals with "const" to match
13391         attributes of the right hand side.
13392
13393 2009-07-21  Eric Blake  <ebb9@byu.net>
13394
13395         dup2: fix more mingw problems
13396         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
13397         fd to itself.
13398         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13399         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
13400         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
13401         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
13402         care of mingw bugs.
13403
13404 2009-07-21  Jim Meyering  <meyering@redhat.com>
13405
13406         vc-list-files: avoid failure when /bin/sh is dash
13407         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
13408         On some Debian based systems, /bin/sh is a symlink to dash, and running
13409         this command would omit the "/" following each 'tests' prefix:
13410           dash -x build-aux/vc-list-files -C . tests
13411         That is because bash and dash work differently:
13412           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
13413           bash ok
13414           dash odd
13415
13416 2009-07-21  Eric Blake  <ebb9@byu.net>
13417
13418         dup2-tests: test previous patch
13419         * modules/dup2-tests: New file.
13420         * tests/test-dup2.c: Likewise.
13421         * tests/test-open.c (main): Avoid unspecified behavior.
13422         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
13423         test.
13424
13425         dup2: work around mingw and cygwin 1.5 bug
13426         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
13427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13428         * modules/unistd (Makefile.am): Substitute it.
13429         * lib/unistd.in.h (dup2): Declare the replacement.
13430         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
13431         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
13432         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
13433         * modules/execute (Depends-on): Add dup2.
13434         * modules/fseterr (Depends-on): Likewise.
13435         * modules/pipe (Depends-on): Likewise.
13436         * modules/posix_spawn-internal (Depends-on): Likewise.
13437
13438 2009-07-21  Bruno Haible  <bruno@clisp.org>
13439
13440         * modules/.gitattributes: New file.
13441
13442 2009-07-20  Bruno Haible  <bruno@clisp.org>
13443
13444         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
13445         (main): Use it.
13446
13447 2009-07-20  Eric Blake  <ebb9@byu.net>
13448
13449         test-pipe: make a bit more robust.
13450         * tests/test-pipe.c (myerr): Allow error messages regardless of
13451         what we do to stderr.
13452         (test_pipe): Rearrange to avoid deadlock.
13453         (child_main): Try a larger read, to ensure we avoided deadlock.
13454         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
13455         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
13456         if misused.
13457
13458 2009-07-19  Jim Meyering  <meyering@redhat.com>
13459
13460         fts: avoid false-positive cycle-detection
13461         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
13462         for each new command line argument.
13463
13464 2009-07-19  Bruno Haible  <bruno@clisp.org>
13465
13466         Fix build error on mingw with the modules sys_select and unistd.
13467         * modules/acl-tests (Depends-on): Add close.
13468         * modules/binary-io-tests (Depends-on): Likewise.
13469         * modules/closein-tests (Depends-on): Likewise.
13470         * modules/flock-tests (Depends-on): Likewise.
13471         * modules/fsync-tests (Depends-on): Likewise.
13472         * modules/lseek-tests (Depends-on): Likewise.
13473         * modules/pipe-tests (Depends-on): Likewise.
13474         * modules/posix_spawn-tests (Depends-on): Likewise.
13475         * modules/posix_spawnp-tests (Depends-on): Likewise.
13476         * modules/stat-time-tests (Depends-on): Likewise.
13477         * modules/yesno-tests (Depends-on): Likewise.
13478
13479 2009-07-19  Bruno Haible  <bruno@clisp.org>
13480
13481         Unify conditionals.
13482         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
13483         macros, not at the compiler macros.
13484         * lib/pipe.c: Likewise.
13485         * lib/execute.c: Likewise.
13486         * lib/spawni.c: Likewise.
13487
13488 2009-07-19  Bruno Haible  <bruno@clisp.org>
13489
13490         Fix handling of closed stdin/stdout/stderr on mingw.
13491         * lib/w32spawn.h: Include unistd.h.
13492         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
13493         file descriptor with O_NOINHERIT flag.
13494         (fd_safer_noinherit): New function, based on fd-safer.c.
13495         (dup_safer_noinherit): New function, based on dup-safer.c.
13496         (undup_safer_noinherit): New function.
13497         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
13498         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
13499         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
13500         instead of fd_safer.
13501         * tests/test-pipe.c: Include <windows.h>.
13502         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
13503
13504         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
13505         from main.
13506         (test_pipe): Pass an extra argument for disambiguation.
13507         (main): Invoke parent_main or child_main.
13508
13509         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
13510         consistently.
13511
13512 2009-07-18  Eric Blake  <ebb9@byu.net>
13513
13514         test-pipe: fix mingw build
13515         * tests/test-pipe.c (main): Avoid fcntl on mingw.
13516
13517 2009-07-18  Bruno Haible  <bruno@clisp.org>
13518
13519         * modules/pipe-tests (Makefile.am): Fix typo.
13520
13521 2009-07-18  Eric Blake  <ebb9@byu.net>
13522
13523         error: fix mingw build
13524         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
13525         Reported by Bruno Haible.
13526
13527         error: avoid undefined use of stdout
13528         * lib/error.c (error, error_at_line): Check that fd 1 is open
13529         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
13530         is handling faults and the close_stdout module wants to report the
13531         detection of closed stdout as an error.
13532
13533 2009-07-17  Eric Blake  <ebb9@byu.net>
13534
13535         pipe: be robust in face of closed fds
13536         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
13537         should cause child to misbehave.
13538         * modules/pipe-tests: New module.
13539         * tests/test-pipe.c: New file.
13540         * tests/test-pipe.sh: New file.
13541         Reported by Akim Demaille.
13542
13543 2009-07-14  Bruno Haible  <bruno@clisp.org>
13544
13545         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
13546         Reported by anonymous kc.
13547
13548 2009-07-07  Jim Meyering  <meyering@redhat.com>
13549
13550         maint.mk: don't look for translatable strings in *.m4 or *.mk
13551         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
13552         when searching for translatable strings.
13553
13554 2009-07-05  Jim Meyering  <meyering@redhat.com>
13555
13556         remove superfluous parentheses in STREQ definition
13557         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
13558         * lib/getugroups.c (STREQ): Likewise.
13559         * lib/fnmatch.c (STREQ): Likewise.
13560         Spotted by Bruno Haible.
13561
13562 2009-07-04  Jim Meyering  <meyering@redhat.com>
13563
13564         argv-iter: new module
13565         * MODULES.html.sh: Add argv-iter.
13566         * lib/argv-iter.c, lib/argv-iter.h: New files.
13567         * modules/argv-iter: New file.
13568         * modules/argv-iter-tests: New file.
13569         * tests/test-argv-iter.c: Test it.
13570
13571 2009-07-04  Bruno Haible  <bruno@clisp.org>
13572
13573         Fix assertion.
13574         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
13575         contains more exact copies of a given entry than file2, leave the extra
13576         copies unpaired rather than aborting.
13577         Reported by Eric Blake.
13578
13579 2009-07-02  Bruno Haible  <bruno@clisp.org>
13580
13581         Speedup git-merge-changelog for git cherry-pick.
13582         * lib/git-merge-changelog.c (struct entries_mapping): New type.
13583         (entries_mapping_get): New function, extracted from compute_mapping.
13584         (entries_mapping_reverse_get): New function.
13585         (compute_mapping): Add a 'full' argument. Return the result in a
13586         'struct entries_mapping'.
13587         (main): Update. Access the mappings through entries_mapping_get.
13588         Reported by Eric Blake.
13589
13590 2009-07-02  Bruno Haible  <bruno@clisp.org>
13591
13592         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
13593         best_i.
13594
13595 2009-07-02  Bruno Haible  <bruno@clisp.org>
13596
13597         Speed up approximate search for matching ChangeLog entries.
13598         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
13599         argument. Call fstrcmp_bounded instead of fstrcmp.
13600         (compute_mapping, try_split_merged_entry, main): Update callers.
13601
13602 2009-07-02  Bruno Haible  <bruno@clisp.org>
13603
13604         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
13605
13606 2009-06-30  Bruno Haible  <bruno@clisp.org>
13607
13608         Reduce the number of uc_is_cased calls.
13609         * lib/unicase.h (casing_suffix_context_t): Add
13610         'first_char_except_ignorable' field.
13611         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
13612         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
13613         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
13614         Update initializer.
13615         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
13616         case-ignorable characters.
13617         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
13618         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
13619         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
13620         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
13621         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
13622
13623 2009-06-30  Bruno Haible  <bruno@clisp.org>
13624
13625         Tests for module 'unicase/ignorable'.
13626         * modules/unicase/ignorable-tests: New file.
13627         * tests/unicase/test-ignorable.c: New file, generated by
13628         gen-uni-tables.
13629
13630         Tests for module 'unicase/cased'.
13631         * modules/unicase/cased-tests: New file.
13632         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
13633         * tests/unicase/test-predicate-part1.h: New file, derived from
13634         tests/unictype/test-predicate-part1.h.
13635         * tests/unicase/test-predicate-part2.h: New file, same as
13636         tests/unictype/test-predicate-part2.h.
13637
13638         Fix evaluation of "Before C" condition of FINAL_SIGMA.
13639         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
13640         (output_casing_properties): New function.
13641         (main): Call it.
13642         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
13643         * lib/unicase/cased.c: Include unictype/bitmap.h.
13644         (uc_is_cased): Define through a bitmap lookup.
13645         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
13646         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
13647         (uc_is_case_ignorable): Define through a bitmap lookup.
13648         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
13649         lib/unictype/bitmap.h.
13650         (Depends-on): Add inline. Clean up.
13651         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
13652         lib/unictype/bitmap.h.
13653         (Depends-on): Add inline. Clean up.
13654         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
13655         recognition.
13656         * tests/unicase/test-u16-tolower.c (main): Likewise.
13657         * tests/unicase/test-u32-tolower.c (main): Likewise.
13658
13659 2009-06-30  Bruno Haible  <bruno@clisp.org>
13660
13661         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
13662         * lib/unicase/u16-casemap.c: Likewise.
13663         * lib/unicase/u32-casemap.c: Likewise.
13664
13665 2009-06-29  Bruno Haible  <bruno@clisp.org>
13666
13667         Define u32_casefold as a wrapper around u32_ct_casefold.
13668         * lib/unicase/u32-casefold.c: Update.
13669         * modules/unicase/u32-casefold (Depends-on): Add
13670         unicase/u32-ct-casefold, unicase/empty-prefix-context,
13671         unicase/empty-suffix-context. Clean up.
13672
13673         Define u16_casefold as a wrapper around u16_ct_casefold.
13674         * lib/unicase/u16-casefold.c: Update.
13675         * modules/unicase/u16-casefold (Depends-on): Add
13676         unicase/u16-ct-casefold, unicase/empty-prefix-context,
13677         unicase/empty-suffix-context. Clean up.
13678
13679         Define u8_casefold as a wrapper around u8_ct_casefold.
13680         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
13681         * lib/unicase/u8-casefold.c: Update.
13682         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
13683         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13684
13685         Define u32_totitle as a wrapper around u32_ct_totitle.
13686         * lib/unicase/u32-totitle.c: Update.
13687         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
13688         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13689
13690         Define u16_totitle as a wrapper around u16_ct_totitle.
13691         * lib/unicase/u16-totitle.c: Update.
13692         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
13693         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13694
13695         Define u8_totitle as a wrapper around u8_ct_totitle.
13696         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
13697         functions.
13698         (FUNC): Delegate to U_CT_TOTITLE.
13699         * lib/unicase/u8-totitle.c: Update.
13700         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
13701         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13702
13703         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
13704         invocation.
13705         * modules/unicase/u32-tolower (Depends-on): Add
13706         unicase/empty-prefix-context, unicase/empty-suffix-context.
13707
13708         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
13709         invocation.
13710         * modules/unicase/u16-tolower (Depends-on): Add
13711         unicase/empty-prefix-context, unicase/empty-suffix-context.
13712
13713         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
13714         * modules/unicase/u8-tolower (Depends-on): Add
13715         unicase/empty-prefix-context, unicase/empty-suffix-context.
13716
13717         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
13718         invocation.
13719         * modules/unicase/u32-toupper (Depends-on): Add
13720         unicase/empty-prefix-context, unicase/empty-suffix-context.
13721
13722         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
13723         invocation.
13724         * modules/unicase/u16-toupper (Depends-on): Add
13725         unicase/empty-prefix-context, unicase/empty-suffix-context.
13726
13727         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
13728         * modules/unicase/u8-toupper (Depends-on): Add
13729         unicase/empty-prefix-context, unicase/empty-suffix-context.
13730
13731         New module 'unicase/u32-ct-casefold'.
13732         * lib/unicase/u32-ct-casefold.c: New file.
13733         * modules/unicase/u32-ct-casefold: New file.
13734
13735         New module 'unicase/u16-ct-casefold'.
13736         * lib/unicase/u16-ct-casefold.c: New file.
13737         * modules/unicase/u16-ct-casefold: New file.
13738
13739         New module 'unicase/u8-ct-casefold'.
13740         * lib/unicase/u8-ct-casefold.c: New file.
13741         * lib/unicase/u-ct-casefold.h: New file, derived from
13742         lib/unicase/u-casefold.h.
13743         * modules/unicase/u8-ct-casefold: New file.
13744
13745         New module 'unicase/u32-ct-totitle'.
13746         * lib/unicase/u32-ct-totitle.c: New file.
13747         * modules/unicase/u32-ct-totitle: New file.
13748
13749         New module 'unicase/u16-ct-totitle'.
13750         * lib/unicase/u16-ct-totitle.c: New file.
13751         * modules/unicase/u16-ct-totitle: New file.
13752
13753         New module 'unicase/u8-ct-totitle'.
13754         * lib/unicase/u8-ct-totitle.c: New file.
13755         * lib/unicase/u-ct-totitle.h: New file, derived from
13756         lib/unicase/u-totitle.h.
13757         * modules/unicase/u8-ct-totitle: New file.
13758
13759         New module 'unicase/u32-ct-tolower'.
13760         * lib/unicase/u32-ct-tolower.c: New file.
13761         * modules/unicase/u32-ct-tolower: New file.
13762
13763         New module 'unicase/u16-ct-tolower'.
13764         * lib/unicase/u16-ct-tolower.c: New file.
13765         * modules/unicase/u16-ct-tolower: New file.
13766
13767         New module 'unicase/u8-ct-tolower'.
13768         * lib/unicase/u8-ct-tolower.c: New file.
13769         * modules/unicase/u8-ct-tolower: New file.
13770
13771         New module 'unicase/u32-ct-toupper'.
13772         * lib/unicase/u32-ct-toupper.c: New file.
13773         * modules/unicase/u32-ct-toupper: New file.
13774
13775         New module 'unicase/u16-ct-toupper'.
13776         * lib/unicase/u16-ct-toupper.c: New file.
13777         * modules/unicase/u16-ct-toupper: New file.
13778
13779         New module 'unicase/u8-ct-toupper'.
13780         * lib/unicase/u8-ct-toupper.c: New file.
13781         * modules/unicase/u8-ct-toupper: New file.
13782
13783         Add context arguments to u*_casemap functions.
13784         * lib/unicase/unicasemap.h: Include unicase.h.
13785         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
13786         suffix_context arguments.
13787         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
13788         functions.
13789         (FUNC): Add prefix_context and suffix_context arguments. Use
13790         uc_is_cased and uc_is_case_ignorable.
13791         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
13792         * lib/unicase/u16-casemap.c: Likewise.
13793         * lib/unicase/u32-casemap.c: Likewise.
13794         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
13795         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13796         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
13797         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13798         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
13799         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13800
13801         New module 'unicase/u32-suffix-context'.
13802         * lib/unicase/u32-suffix-context.c: New file.
13803         * modules/unicase/u32-suffix-context: New file.
13804
13805         New module 'unicase/u16-suffix-context'.
13806         * lib/unicase/u16-suffix-context.c: New file.
13807         * modules/unicase/u16-suffix-context: New file.
13808
13809         New module 'unicase/u8-suffix-context'.
13810         * lib/unicase/u8-suffix-context.c: New file.
13811         * lib/unicase/u-suffix-context.h: New file.
13812         * modules/unicase/u8-suffix-context: New file.
13813
13814         New module 'unicase/empty-suffix-context'.
13815         * lib/unicase/empty-suffix-context.c: New file.
13816         * modules/unicase/empty-suffix-context: New file.
13817
13818         New module 'unicase/u32-prefix-context'.
13819         * lib/unicase/u32-prefix-context.c: New file.
13820         * modules/unicase/u32-prefix-context: New file.
13821
13822         New module 'unicase/u16-prefix-context'.
13823         * lib/unicase/u16-prefix-context.c: New file.
13824         * modules/unicase/u16-prefix-context: New file.
13825
13826         New module 'unicase/u8-prefix-context'.
13827         * lib/unicase/u8-prefix-context.c: New file.
13828         * lib/unicase/u-prefix-context.h: New file.
13829         * lib/unicase/context.h: New file.
13830         * modules/unicase/u8-prefix-context: New file.
13831
13832         New module 'unicase/empty-prefix-context'.
13833         * lib/unicase/empty-prefix-context.c: New file.
13834         * modules/unicase/empty-prefix-context: New file.
13835
13836         New module 'unicase/ignorable'.
13837         * lib/unicase/ignorable.c: New file.
13838         * modules/unicase/ignorable: New file.
13839
13840         New module 'unicase/cased'.
13841         * lib/unicase/caseprop.h: New file.
13842         * lib/unicase/cased.c: New file.
13843         * modules/unicase/cased: New file.
13844
13845         New functions for case mapping of substrings.
13846         * lib/unicase.h (casing_prefix_context_t): New type.
13847         (unicase_empty_prefix_context): New variable.
13848         (u8_casing_prefix_context, u16_casing_prefix_context,
13849         u32_casing_prefix_context, u8_casing_prefixes_context,
13850         u16_casing_prefixes_context, u32_casing_prefixes_context): New
13851         declarations.
13852         (casing_suffix_context_t): New type.
13853         (unicase_empty_suffix_context): New variable.
13854         (u8_casing_suffix_context, u16_casing_suffix_context,
13855         u32_casing_suffix_context, u8_casing_suffixes_context,
13856         u16_casing_suffixes_context, u32_casing_suffixes_context,
13857         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
13858         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
13859         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
13860         declarations.
13861
13862 2009-06-28  Jim Meyering  <meyering@redhat.com>
13863
13864         boostrap: indent only with spaces
13865         * build-aux/bootstrap: Indent only with spaces, never TABs.
13866
13867         bootstrap: split long lines
13868         * build-aux/bootstrap: Keep line length < 80.
13869
13870         bootstrap: sync from coreutils
13871         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
13872         just as autoreconf does.  Verify a list of prerequisite
13873         package-name,version-number pairs if defined in bootstrap.conf.
13874         Refer to README-prereq, if prerequisites are not satisfied.
13875
13876 2009-06-27  Eric Blake  <ebb9@byu.net>
13877
13878         tests: add test for bogus NULL definition
13879         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
13880         * tests/test-stdlib.c: Likewise.
13881         * tests/test-string.c: Likewise.
13882         * tests/test-locale.c: Likewise.
13883         * tests/test-unistd.c: Likewise.
13884         * modules/stdio-tests (Depends-on): Add verify.
13885         * modules/stdlib-tests (Depends-on): Likewise.
13886         * modules/string-tests (Depends-on): Likewise.
13887         * modules/locale-tests (Depends-on): Likewise.
13888         * modules/unistd-tests (Depends-on): Likewise.
13889
13890 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
13891
13892         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
13893         self-explaining comment.
13894         * m4/selinux-selinux-h: Update serial.
13895         (gl_LIBSELINUX): New macro, adding a warning for missing development
13896         packages to code extracted from...
13897         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
13898         Add warning for missing development packages here, too.
13899
13900 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
13901
13902         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
13903
13904 2009-06-25  Eric Blake  <ebb9@byu.net>
13905
13906         version-etc: fix regression
13907         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
13908         gcc.
13909         (version_etc): Use it, to catch bugs with trailing NULL.
13910         * lib/version-etc.c (version_etc_arn): Delete unused argument.
13911         (version_etc_va): Fix logic bug.
13912         * modules/version-etc-tests: Add test.
13913         * tests/test-version-etc.c: New file.
13914         * tests/test-version-etc.sh: Likewise.
13915
13916 2009-06-25  Sam Steingold  <sds@gnu.org>
13917
13918         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
13919         mbtowc declaration.
13920
13921 2009-06-25  Eric Blake  <ebb9@byu.net>
13922
13923         fpurge: migrate into <stdio.h>
13924         * lib/fpurge.h: Delete...
13925         * lib/stdio.in.h (fpurge): ...and declare here, instead.
13926         * lib/fpurge.c (fpurge): Change declaring header.
13927         * modules/fpurge (Files): Drop deleted file.
13928         (Depends-on): Add stdio.
13929         (configure.ac): Set witness.
13930         * modules/stdio (Makefile.am): Support fpurge macros.
13931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
13932         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
13933         * lib/fflush.c: Update client.
13934         * tests/test-fpurge.c: Likewise.
13935         * NEWS: Mention the change.
13936
13937 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13938
13939         * lib/argp-version-etc.c (program_authors): Add const
13940         qualifier.
13941         * lib/version-etc.c: Fix typos in the comments.
13942         * modules/argp-version-etc: Depends on version-etc.
13943
13944 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13945
13946         argp-version-etc: new module.
13947
13948         * lib/argp-version-etc.c: New file.
13949         * lib/argp-version-etc.h: New file.
13950         * modules/argp-version-etc: New file.
13951         * modules/argp-version-etc-tests: New file.
13952         * tests/test-argp-version-etc.c: New test.
13953         * tests/test-argp-version-etc-1.sh: New test.
13954
13955 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13956
13957         Provide additional interfaces and documentation for version-etc
13958         module.
13959
13960         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
13961         interfaces.
13962         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
13963         prototypes.
13964
13965 2009-06-24  Bruno Haible  <bruno@clisp.org>
13966
13967         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
13968         HAVE_LIB${NAME} macro.
13969         Reported by Sam Steingold <sds@gnu.org>.
13970
13971 2009-06-23  Simon Josefsson  <simon@josefsson.org>
13972
13973         * modules/hash-tests (test_hash_LDADD): Link to libintl when
13974         needed.
13975
13976 2009-06-21  Bruno Haible  <bruno@clisp.org>
13977
13978         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
13979         work.
13980         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
13981         together with LIB${NAME}, LTLIB${NAME}.
13982         Reported by Sam Steingold <sds@gnu.org>.
13983
13984 2009-06-20  Jim Meyering  <meyering@redhat.com>
13985
13986         tests: make sc_require_test_exit_idiom more generic
13987         * top/maint.mk (Exit_witness_file): New overridable variable.
13988         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
13989         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
13990
13991 2009-06-19  Jim Meyering  <meyering@redhat.com>
13992
13993         hash: reverse order of src/dst parameters in an internal interface
13994         * lib/hash.c (transfer_entries): Reverse order of parameters to
13995         put DST before SRC.  Adjust callers.
13996
13997         tests: test-hash: avoid wholesale duplication
13998         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
13999         Instead, use a loop and add a single conditional.
14000
14001         tests: test-hash: allow seed selection via a command line argument
14002         * tests/test-hash.c (get_seed): New function.
14003         (main): Use it.
14004
14005 2009-06-19  Eric Blake  <ebb9@byu.net>
14006
14007         hash: avoid memory leak on allocation failure
14008         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
14009         failure.  Factor repeated algorithm...
14010         (transfer_entries): ...into new helper routine.
14011         (hash_delete): React to hash_rehash return value.
14012
14013         hash: reduce memory pressure in hash_rehash no-op case
14014         * lib/hash.c (next_prime): Avoid overflow.
14015         (hash_initialize): Factor bucket size computation...
14016         (compute_bucket_size): ...into new helper function.
14017         (hash_rehash): Use new function and open coding to reduce memory
14018         pressure, and avoid a memory leak in USE_OBSTACK code.
14019         Reported by Jim Meyering.
14020
14021 2009-06-18  Eric Blake  <ebb9@byu.net>
14022
14023         hash: make rotation more obvious
14024         * modules/hash (Depends-on): Add bitrotate and stdint.
14025         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
14026         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
14027         (SIZE_MAX): Rely on headers for definition.
14028         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
14029         (raw_hasher): Use rotr_sz.
14030         Suggested by Jim Meyering.
14031
14032         hash: fix memory leak in last patch
14033         * lib/hash.c (hash_rehash): Avoid memory leak.
14034
14035         hash: avoid no-op rehashing
14036         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
14037
14038         hash: provide default callback functions
14039         * lib/hash.c (raw_hasher, raw_comparator): New functions.
14040         (hash_initialize): Use them as defaults.
14041         * tests/test-hash.c (main): Test this.
14042
14043         hash: minor optimization
14044         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
14045         when possible.
14046         (hash_initialize): Document this promise.
14047         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
14048         * tests/test-hash.c (hash_compare_strings): Test this.
14049
14050 2009-06-18  Bruno Haible  <bruno@clisp.org>
14051
14052         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
14053         going to be replaced anyway.
14054
14055 2009-06-18  Bruno Haible  <bruno@clisp.org>
14056
14057         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
14058         in one place.
14059         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
14060         be replaced anyway.
14061
14062 2009-06-18  Eric Blake  <ebb9@byu.net>
14063
14064         hash: check for resize before insertion
14065         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
14066         threshold before insertion, so that a pathological hash_rehash
14067         that fills every bucket can still trigger another rehash.
14068
14069 2009-06-18  Jim Meyering  <meyering@redhat.com>
14070
14071         hash-tests: add a loop around the small tests
14072         * tests/test-hash.c (main): Repeat small tests with selected
14073         small initial table sizes.
14074
14075 2009-06-17  Eric Blake  <ebb9@byu.net>
14076
14077         hash: minor cleanups
14078         * lib/hash.h (hash_entry): Make opaque, by moving...
14079         * lib/hash.c (hash_entry): ...here.
14080         (hash_insert): Clarify restrictions on what can be inserted.
14081         (hash_get_next): Clarify when it is safe to remove an element
14082         during traversal.
14083         (check_tuning): Skip verification when tuning is known safe.
14084         (hash_initialize): Clarify restrictions on tuning.
14085
14086 2009-06-17  Jim Meyering  <jim@meyering.net>
14087         and Eric Blake  <ebb9@byu.net>
14088
14089         hash-tests: new module
14090         * modules/hash-tests: New file.
14091         * tests/test-hash.c: New file.
14092
14093 2009-06-17  Eric Blake  <ebb9@byu.net>
14094
14095         strstr-simple: document new module
14096         * MODULES.html.sh: Document new module.
14097
14098         strstr, strcasestr: replace on platforms with broken memchr
14099         * modules/strstr: Split into...
14100         * modules/strstr-simple: ...new module that does not care about
14101         performance, but does care about glibc bug.
14102         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
14103         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
14104         if platform memchr is broken, per Debian bug 521737.
14105         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
14106         memchr.
14107         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
14108         * doc/posix-functions/strstr.texi (strstr): Document the fix.
14109         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14110         * modules/mountlist (Depends-on): Add strstr-simple.
14111         * modules/gen-uni-tables (Depends-on): Likewise.
14112         * modules/argz (Depends-on): Add strstr.
14113
14114 2009-06-17  Bruno Haible  <bruno@clisp.org>
14115
14116         * modules/posix_spawn-internal (Depends-on): Add errno.
14117
14118 2009-06-17  Bruno Haible  <bruno@clisp.org>
14119
14120         Define missing ESTALE on Interix 3.5.
14121         * lib/errno.in.h (ESTALE): Assign a value if missing.
14122         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
14123         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
14124         missing.
14125         * doc/posix-headers/errno.texi: Mention the Interix bug.
14126         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
14127
14128 2009-06-15  Eric Blake  <ebb9@byu.net>
14129
14130         memchr, memchr2: add valgrind exception
14131         * lib/memchr.valgrind: New file.
14132         * lib/memchr2.valgrind: New file.
14133         * modules/memchr (Files): Distribute valgrind file.
14134         * modules/memchr2 (Files): Likewise.
14135
14136         docs: memchr is no longer obsolete
14137         * MODULES.html.sh: Move memchr from obsolete to string.h section.
14138         * lib/string.in.h (memchr): Simplify logic.
14139
14140 2009-06-14  Jim Meyering  <meyering@redhat.com>
14141
14142         link-follow: fix the "checking..." message to not mention trailing slash
14143         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
14144         never considered trailing slashes.
14145
14146 2009-06-14  Bruno Haible  <bruno@clisp.org>
14147
14148         * m4/memchr.m4: Mention also the bug on IA-64.
14149         * doc/posix-functions/memchr.texi: Likewise.
14150
14151 2009-06-12  Eric Blake  <ebb9@byu.net>
14152
14153         memchr: detect broken x86_64 and alpha implementations
14154         * modules/memchr-tests (Depends-on): Move mmap detection...
14155         * modules/memchr (Depends-on): ...here.
14156         (configure.ac): Set indicator.
14157         * lib/string.in.h (memchr): Declare replacement.
14158         * modules/string (Makefile.am): Trigger replacement.
14159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
14160         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
14161         bugs.
14162         * doc/posix-functions/memchr.texi (memchr): Document the bug.
14163         * modules/getpagesize (License): Relax license.
14164
14165 2009-06-11  Bruno Haible  <bruno@clisp.org>
14166
14167         * lib/idpriv.h: Add more references.
14168
14169 2009-06-08  Bruno Haible  <bruno@clisp.org>
14170
14171         Tests for module 'idpriv-droptemp'.
14172         * modules/idpriv-droptemp-tests: New file.
14173         * tests/test-idpriv-droptemp.sh: New file.
14174         * tests/test-idpriv-droptemp.su.sh: New file.
14175         * tests/test-idpriv-droptemp.c: New file.
14176
14177         New module 'idpriv-droptemp'.
14178         * lib/idpriv-droptemp.c: New file.
14179         * modules/idpriv-droptemp: New file.
14180
14181 2009-06-08  Bruno Haible  <bruno@clisp.org>
14182
14183         Tests for module 'idpriv-drop'.
14184         * modules/idpriv-drop-tests: New file.
14185         * tests/test-idpriv-drop.sh: New file.
14186         * tests/test-idpriv-drop.su.sh: New file.
14187         * tests/test-idpriv-drop.c: New file.
14188
14189         New module 'idpriv-drop'.
14190         * lib/idpriv.h: New file.
14191         * lib-idpriv-drop.c: New file.
14192         * m4/idpriv.m4: New file.
14193         * modules/idpriv-drop: New file.
14194
14195 2009-06-08  Bruno Haible  <bruno@clisp.org>
14196
14197         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
14198         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14199         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14200         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14201         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14202         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14203         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14204
14205 2009-06-08  Eric Blake  <ebb9@byu.net>
14206
14207         test-strstr: use memory fence, when possible
14208         * tests/test-strstr.c (main): Use memory fence, in order to be
14209         more likely to trigger Debian bug 521737.
14210         * modules/strstr-tests (Files): Pull in additional files.
14211
14212         memchr: no longer obsolete, for wider field testing
14213         * modules/memchr (Status, Notice): Delete, this module is no
14214         longer obsolete.
14215         * modules/vasnprintf (Depends-on): Add memchr.
14216
14217 2009-06-07  Jim Meyering  <meyering@redhat.com>
14218
14219         hash: declare some functions with the warn_unused_result attribute
14220         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
14221
14222 2009-06-07  Bruno Haible  <bruno@clisp.org>
14223
14224         * tests/test-alignof.c: Don't test int64_t if it does not exist.
14225         Reported by Eric Blake.
14226
14227 2009-06-06  Eric Blake  <ebb9@byu.net>
14228
14229         test-alignof: fix typo with long double
14230         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
14231         compiler error.
14232
14233 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
14234
14235         Escape non-texinfo { and }s.
14236         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
14237         markup error.
14238
14239 2009-06-04  Jim Meyering  <meyering@redhat.com>
14240
14241         gitlog-to-changelog: don't infloop on an empty commit log
14242         * build-aux/gitlog-to-changelog: Warn about an empty log message.
14243         Reported by Boris Petersen <transacid@centerim.org>.
14244
14245 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
14246
14247         version-etc: extend for packagers
14248         Add three new configure options, intended for packagers:
14249           --with-packager="packager name"
14250           --with-packager-version="packager-specific version"
14251           --with-packager-bug-reports="packager bug reporting"
14252         An example with coreutils:
14253           $ ./configure \
14254             --with-packager=Gentoo \
14255             --with-packager-bug-report=http://bugs.gentoo.org/ \
14256             --with-packager-version="patchset 1.6"
14257           $ ./src/ls --version | head -n2
14258           ls (GNU coreutils) 7.1-dirty
14259           Packaged by Gentoo (patchset 1.6)
14260         Note that the bug reporting info via --help doesn't show up because
14261         coreutils uses its own custom emit_bug_reporting_address() implementation
14262         in src/system.h.  If it didn't, it'd look like:
14263           $ ./src/ls --help | tail -n4
14264           Report bugs to <bug-coreutils@gnu.org>.
14265           Report Gentoo bugs to <http://bugs.gentoo.org/>.
14266           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
14267           General help using GNU software: <http://www.gnu.org/gethelp/>.
14268         * lib/version-etc.c: Print new information, if provided.
14269         * m4/version-etc.m4: New file.
14270         * modules/version-etc (Files): Add m4/version-etc.m4.
14271         (configure.ac): Add gl_VERSION_ETC.
14272
14273 2009-05-31  Bruno Haible  <bruno@clisp.org>
14274
14275         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
14276         and 'int64_t'.
14277         * modules/alignof-tests (Dependencies): Add stdint.
14278         Reported by Eric Blake.
14279
14280 2009-05-31  Bruno Haible  <bruno@clisp.org>
14281
14282         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
14283         restriction due to compiler bugs.
14284         Reported by Eric Blake.
14285
14286 2009-05-31  Simon Josefsson  <simon@josefsson.org>
14287             Bruno Haible  <bruno@clisp.org>
14288
14289         Fix test-alignof failure.
14290         * lib/alignof.h (alignof_slot): New macro.
14291         (alignof_type): New macro, with the same semantics as the previous
14292         'alignof'.
14293         (alignof): Alias to alignof_slot.
14294         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
14295         check that the results are usable as constant expressions.
14296
14297 2009-05-31  Bruno Haible  <bruno@clisp.org>
14298
14299         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
14300         * tests/test-memchr.c (main): Check that memchr does not read past the
14301         first occurrence of the byte.
14302         * tests/test-strstr.c (main): Update comment.
14303         Suggested by Eric Blake.
14304
14305 2009-05-30  Bruno Haible  <bruno@clisp.org>
14306
14307         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
14308         detail how to use dumpbin.
14309         Reported by David Byron <dbyron@dbyron.com>.
14310
14311 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14312
14313         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
14314
14315 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14316
14317         * m4/manywarnings.m4: Add GCC 4.4 warnings.
14318
14319 2009-05-28  Bruno Haible  <bruno@clisp.org>
14320
14321         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
14322         build-aux/ files.
14323
14324 2009-05-28  Simon Josefsson  <simon@josefsson.org>
14325
14326         * gnulib-tool (func_import): Transform license on build-aux/ files too.
14327
14328 2009-05-27  Simon Josefsson  <simon@josefsson.org>
14329
14330         * gnulib-tool (sed_transform_main_lib_file)
14331         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
14332         regexps.
14333
14334 2009-05-26  Simon Josefsson  <simon@josefsson.org>
14335
14336         * tests/test-strstr.c: Add another self-test.
14337         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
14338         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
14339
14340 2009-05-23  Bruno Haible  <bruno@clisp.org>
14341
14342         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
14343         change.
14344
14345 2009-05-21  Bruno Haible  <bruno@clisp.org>
14346
14347         Simplify use of mode_t varargs.
14348         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
14349         uses 'mode_t' or 'int'.
14350         * lib/openat.c (openat): Likewise.
14351         * lib/open-safer.c (open_safer): Likewise.
14352         * m4/mode_t.m4: New file.
14353         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
14354         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
14355         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
14356         * modules/open (Files): Add m4/mode_t.m4.
14357         * modules/openat (Files): Likewise.
14358         * modules/fcntl-safer (Files): Likewise.
14359         Suggested by Eric Blake.
14360
14361 2009-05-21  Pádraig Brady  <P@draigbrady.com>
14362
14363         * doc/glibc-functions/fallocate.texi: New file.
14364         * doc/gnulib.texi: Include it.
14365
14366 2009-05-21  Eric Blake  <ebb9@byu.net>
14367             Bruno Haible  <bruno@clisp.org>
14368
14369         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
14370         invocations.
14371         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14372
14373 2009-05-21  Eric Blake  <ebb9@byu.net>
14374             Bruno Haible  <bruno@clisp.org>
14375
14376         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
14377         include_next. Fix of 2008-11-20 commit.
14378         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
14379         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
14380         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
14381         NEXT_MATH_H.
14382         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
14383         instead of NEXT_MATH_H.
14384
14385 2009-05-21  Bruno Haible  <bruno@clisp.org>
14386
14387         Avoid redefinition warnings for SIZE_MAX.
14388         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
14389         Reported by Simon Josefsson.
14390
14391 2009-05-21  Bruno Haible  <bruno@clisp.org>
14392
14393         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
14394         AC_CACHE_VAL.
14395
14396 2009-05-20  Bruno Haible  <bruno@clisp.org>
14397
14398         Make zeroptr.h work on mingw.
14399         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
14400         mprotect.
14401         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
14402         * modules/memchr2-tests (configure.ac): Likewise.
14403         * modules/memcmp-tests (configure.ac): Likewise.
14404         * modules/memmem-tests (configure.ac): Likewise.
14405         * modules/memrchr-tests (configure.ac): Likewise.
14406         Reported by Simon Josefsson.
14407
14408 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14409
14410         * tests/test-glob.c: Include string.h for strcmp prototype.
14411
14412 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14413
14414         * modules/getdelim (Depends-on): Add explicit stdint, although it
14415         was implicitly already pulled in via realloc-posix.
14416         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
14417
14418 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14419
14420         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
14421         G. Christensen" <tgc@jupiterrise.com>.
14422         * m4/sys_socket_h.m4: Check for sa_family_t.
14423         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
14424         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
14425         * tests/test-sys_socket.c: Check that sa_family_t works.
14426
14427 2009-05-18  Eric Blake  <ebb9@byu.net>
14428
14429         maint.mk: allow gnulib_dir in VPATH build
14430         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
14431
14432 2009-05-15  Jim Meyering  <meyering@redhat.com>
14433
14434         maint.mk: Give gnulib_dir a default definition.
14435         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
14436         Thus, most packages no longer need to specify this variable in cfg.mk
14437
14438 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
14439
14440         rename.m4: fix typos that would make non-mingw cross-configure fail
14441         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
14442
14443 2009-05-13  Eric Blake  <ebb9@byu.net>
14444
14445         mmap-anon: avoid out-of-order autoconf expansion
14446         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
14447         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
14448         * modules/memchr-tests (Depends-on): Add extensions.
14449         * modules/memchr2-tests (Depends-on): Add extensions.
14450         * modules/memcmp-tests (Depends-on): Add extensions.
14451         * modules/memmem-tests (Depends-on): Add extensions.
14452         * modules/memrchr-tests (Depends-on): Add extensions.
14453
14454 2009-05-13  Bruno Haible  <bruno@clisp.org>
14455
14456         Make some tests ISO C 99 compliant.
14457         * tests/zerosize-ptr.h: New file.
14458         * tests/test-memchr.c: Include zerosize-ptr.h.
14459         (main): Use a zero-size object pointer instead of NULL.
14460         * tests/test-memchr2.c: Include zerosize-ptr.h.
14461         (main): Use a zero-size object pointer instead of NULL.
14462         * tests/test-memcmp.c: Include zerosize-ptr.h.
14463         (main): Use a zero-size object pointer instead of NULL.
14464         * tests/test-memmem.c: Include zerosize-ptr.h.
14465         (main): Use a zero-size object pointer instead of NULL.
14466         * tests/test-memrchr.c: Include zerosize-ptr.h.
14467         (main): Use a zero-size object pointer instead of NULL.
14468         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
14469         m4/mmap-anon.m4.
14470         (Depends-on): Add getpagesize.
14471         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14472         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
14473         m4/mmap-anon.m4.
14474         (Depends-on): Add getpagesize.
14475         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14476         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
14477         m4/mmap-anon.m4.
14478         (Depends-on): Add getpagesize.
14479         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14480         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
14481         m4/mmap-anon.m4.
14482         (Depends-on): Add getpagesize.
14483         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14484         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
14485         m4/mmap-anon.m4.
14486         (Depends-on): Add getpagesize.
14487         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14488
14489 2009-05-12  Bruno Haible  <bruno@clisp.org>
14490
14491         Tests for module 'alignof'.
14492         * modules/alignof-tests: New file.
14493         * tests/test-alignof.c: New file.
14494
14495 2009-05-12  Bruno Haible  <bruno@clisp.org>
14496
14497         Fix alignof macro.
14498         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
14499         vendor compilers that are always correct.
14500
14501 2009-05-12  Bruno Haible  <bruno@clisp.org>
14502
14503         Make the MAP_ANONYMOUS detection work on HP-UX 11.
14504         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
14505         not whether its fully works.
14506
14507 2009-05-12  Bruno Haible  <bruno@clisp.org>
14508
14509         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
14510
14511 2009-05-12  Jim Meyering  <meyering@redhat.com>
14512
14513         * top/maint.mk: Adjust backslash alignment.
14514
14515 2009-05-11  Simon Josefsson  <simon@josefsson.org>
14516
14517         * top/maint.mk: Make $(srcdir)/build-aux configurable.
14518
14519 2009-05-11  Eric Blake  <ebb9@byu.net>
14520
14521         argp: avoid undefined behavior
14522         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
14523         macros.
14524
14525 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14526
14527         * tests/test-vc-list-files-git.sh: Do git config of user.email and
14528         user.name to prevent git commit from complaining.
14529
14530 2009-05-10  Bruno Haible  <bruno@clisp.org>
14531
14532         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
14533         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
14534         it rewrites every file name only once.
14535         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
14536
14537 2009-05-08  Bruno Haible  <bruno@clisp.org>
14538
14539         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
14540         instead of 'max'.
14541
14542 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14543
14544         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
14545         sockaddr_storage test.
14546
14547 2009-05-07  Simon Josefsson  <simon@josefsson.org>
14548
14549         * modules/sys_socket (Makefile.am): Substitute
14550         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
14551         * m4/sys_socket_h.m4: Check for sockaddr_storage.
14552         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
14553         * tests/test-sys_socket.c: Check sockaddr_storage.
14554
14555 2009-05-08  Bruno Haible  <bruno@clisp.org>
14556
14557         New module 'alignof'.
14558         * lib/alignof.h: New file.
14559         * modules/alignof: New file.
14560
14561 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14562             Bruno Haible  <bruno@clisp.org>
14563
14564         Fix test-file-has-acl on FreeBSD.
14565         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
14566         mask is implicitly added.
14567         * tests/test-file-has-acl.c: Include <signal.h>.
14568         (main): Terminate the test after 5 seconds.
14569         * modules/acl-tests (configure.ac): Check for alarm function.
14570
14571 2009-05-04  Bruno Haible  <bruno@clisp.org>
14572
14573         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
14574         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
14575         * modules/errno (configure.ac): Drop AC_REQUIRE.
14576         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
14577         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
14578
14579 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14580
14581         * modules/glob-tests: New module.
14582         * tests/test-glob.c: Add.
14583
14584 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14585
14586         * modules/fnmatch-tests: New module.
14587         * tests/test-fnmatch.c: Add.
14588
14589 2009-05-04  Eric Blake  <ebb9@byu.net>
14590
14591         maint: make the new no-submodule-changes rule VPATH-safe
14592         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
14593
14594 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14595             Bruno Haible  <bruno@clisp.org>
14596
14597         acl: Fix infinite loop on FreeBSD.
14598         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
14599         of return value from acl_get_entry.
14600         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
14601         Likewise.
14602
14603 2009-05-03  Bruno Haible  <bruno@clisp.org>
14604
14605         * lib/acl-internal.h (acl_entries): Clarify return value.
14606         * lib/acl_entries.c (acl_entries): Likewise.
14607
14608 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14609
14610         Bug fix in acl module.
14611         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
14612
14613 2009-05-03  Bruno Haible  <bruno@clisp.org>
14614
14615         Create gperf-generated file in the source dir, not in the build dir.
14616         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
14617         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
14618         * modules/unicase/locale-language (unicase/locale-languages.h):
14619         Likewise.
14620         * modules/unicase/special-casing (unicase/special-casing-table.h):
14621         Likewise.
14622         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
14623         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
14624         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
14625         Reported by Ralf Wildenhues.
14626
14627 2009-05-03  Bruno Haible  <bruno@clisp.org>
14628
14629         * modules/fnmatch (Description, configure.ac): Taken from
14630         fnmatch-posix.
14631         * modules/fnmatch-posix: Turn into a symbolic reference to the
14632         'fnmatch' module, and deprecate.
14633         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
14634
14635 2009-05-03  Bruno Haible  <bruno@clisp.org>
14636
14637         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
14638         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
14639         Reported by Ralf Wildenhues.
14640
14641 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14642
14643         * m4/fnmatch.m4: Fix fnmatch re-define.
14644
14645 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14646
14647         priv-set: new module and tests; adapt write-any-file
14648         * lib/priv-set.c: New file.
14649         * lib/priv-set.h: New file.
14650         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
14651         * lib/write-any-file.c: Simplify by using priv-set module.
14652         * m4/priv-set.m4: New file.
14653         * modules/priv-set: New file.
14654         * modules/unlinkdir: Add dependency on priv-set module.
14655         * modules/write-any-file: Likewise.
14656
14657         Tests for module 'priv-set'.
14658         * modules/priv-set-tests: New file.
14659         * tests/test-priv-set.c: New file.
14660
14661 2009-05-03  Jim Meyering  <meyering@redhat.com>
14662             Bruno Haible  <bruno@clisp.org>
14663
14664         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
14665         use the converted UTF-8 variant of the name instead.
14666
14667 2009-05-03  Jim Meyering  <meyering@redhat.com>
14668
14669         tests: tighten some getdate tests
14670         * tests/test-getdate.c (main): Tighten tests: require equality,
14671         not just greater than.  Set TZ envvar to UTC0.
14672
14673 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14674
14675         getdate: correctly interpret "next monday" when run on a Monday
14676         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
14677         that e.g., "next tues" (when run on a tuesday) results in a date
14678         that is one week in the future, and not today's date.
14679         I.e., add a week when the wday is the same as the current one.
14680         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
14681         and earlier by Martin Bernreuther and Jan Minář.
14682         * tests/test-getdate.c (main): Check that "next DAY" is always in
14683         the future and that "last DAY" is always in the past.
14684
14685 2009-05-02  Jim Meyering  <meyering@redhat.com>
14686
14687         build: ensure that a release build fails when a submodule is unclean
14688         * top/maint.mk (no-submodule-changes): New rule.
14689         (alpha beta major): Depend on it.
14690
14691 2009-05-02  Bruno Haible  <bruno@clisp.org>
14692
14693         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
14694         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
14695         shell variable gl_fnmatch_required to detect which variant is
14696         requested.
14697         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
14698         gl_FUNC_FNMATCH_POSIX.
14699         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
14700         exclude fnmatch-posix.
14701
14702 2009-05-02  Bruno Haible  <bruno@clisp.org>
14703
14704         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
14705         * modules/mbsrtowcs (License): Change to LGPLv2+.
14706         * modules/strnlen1 (License): Likewise.
14707         Reported by Simon Josefsson.
14708
14709 2009-05-02  Bruno Haible  <bruno@clisp.org>
14710
14711         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
14712         "cross".
14713         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
14714         gnulib-tool was called with option --source-base=lib.
14715
14716 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14717
14718         Use automake *-local hooks without commands, for extensibility.
14719         * modules/localcharset (Makefile.am): Rename install-exec-local
14720         rule to install-exec-localcharset, and make it a prerequisite of
14721         install-exec-local.  Likewise, rename the uninstall-local rule to
14722         uninstall-localcharset, and make it a prerequisite of the former.
14723
14724 2009-05-01  Bruno Haible  <bruno@clisp.org>
14725
14726         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
14727         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14728         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
14729         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
14730         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
14731         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14732         m4/locale-zh.m4, m4/codeset.m4.
14733
14734         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14735         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
14736         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14737         m4/locale-zh.m4.
14738
14739         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
14740         REPLACE_WCRTOMB if mbstate_t must be replaced.
14741         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
14742         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
14743
14744 2009-05-01  Bruno Haible  <bruno@clisp.org>
14745
14746         Avoid compiler warnings when redefining macros defined by <libintl.h>.
14747         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
14748         dngettext, dcngettext, textdomain, bindtextdomain,
14749         bind_textdomain_codeset): Undefine before redefining.
14750
14751 2009-04-30  Bruno Haible  <bruno@clisp.org>
14752
14753         Fix bug introduced on 2009-04-25.
14754         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
14755         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
14756         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
14757         is defined.
14758         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
14759         is defined.
14760         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
14761         is defined.
14762         Reported by Elbert_Pol <elbert.pol@gmail.com>.
14763
14764 2009-04-28  Bruno Haible  <bruno@clisp.org>
14765
14766         Comment tweaks.
14767         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
14768         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
14769         * lib/unicase.h (u*_casexfrm): Likewise.
14770         Reported by Paolo Bonzini.
14771
14772 2009-04-28  Bruno Haible  <bruno@clisp.org>
14773
14774         Fix a compilation error.
14775         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
14776         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14777         Reported by Jim Meyering.
14778
14779 2009-04-27  Bruno Haible  <bruno@clisp.org>
14780
14781         New module 'libunistring'.
14782         * modules/libunistring: New file.
14783         * m4/libunistring.m4: New file.
14784         * MODULES.html.sh (Unicode string functions): Add it.
14785
14786 2009-04-27  Eric Blake  <ebb9@byu.net>
14787
14788         maint.mk: allow package-specific header to provide <config.h>
14789         * top/maint.mk (sc_require_config_h): New variable.
14790         (sc_require_config_h, sc_require_config_h_first): Use it.
14791
14792 2009-04-27  Simon Josefsson  <simon@josefsson.org>
14793
14794         * top/maint.mk (sc_avoid_if_before_free): Except
14795         useless-if-before-free script.
14796
14797 2009-04-27  Eric Blake  <ebb9@byu.net>
14798
14799         maintainer-makefile: depend on all required helper scripts
14800         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
14801         useless-if-before-free.
14802         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
14803         version, rather than assuming gnulib checkout is available.
14804         Reported by Simen Josefsson.
14805
14806 2009-04-26  Bruno Haible  <bruno@clisp.org>
14807
14808         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
14809         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
14810         "../" or "..".
14811
14812 2009-04-26  Bruno Haible  <bruno@clisp.org>
14813
14814         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
14815         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
14816         AC_LIB_HAVE_LINKFLAGS.
14817
14818 2009-04-26  Bruno Haible  <bruno@clisp.org>
14819
14820         Simplify calling convention of u*_conv_from_encoding.
14821         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
14822         u32_conv_from_encoding): Expect a resultbuf argument and return the
14823         result directly as a pointer.
14824         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14825         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
14826         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
14827         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
14828         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
14829         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
14830         Update.
14831         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
14832         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
14833         * lib/vasnprintf.c (VASNPRINTF): Update.
14834         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
14835         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
14836         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
14837         * NEWS: Mention the change.
14838
14839 2009-04-26  Bruno Haible  <bruno@clisp.org>
14840
14841         Simplify calling convention of u*_conv_to_encoding.
14842         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
14843         u32_conv_to_encoding): Expect a resultbuf argument and return the
14844         result directly as a pointer.
14845         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14846         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
14847         freeing scaled_offsets if mem_iconveha failed.
14848         * lib/unicase/u-casexfrm.h (FUNC): Update.
14849         * lib/uninorm/u-normxfrm.h (FUNC): Update.
14850         * lib/vasnprintf.c (VASNPRINTF): Update.
14851         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
14852         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
14853         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
14854         * NEWS: Mention the change.
14855
14856 2009-04-26  Bruno Haible  <bruno@clisp.org>
14857
14858         Avoid test failures on AIX and OSF/1.
14859         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
14860         malloc(0).
14861         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14862         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
14863         Likewise.
14864         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
14865         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
14866         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
14867         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
14868         * doc/posix-functions/malloc.texi: Document the portability problem
14869         related to malloc(0).
14870
14871 2009-04-26  Bruno Haible  <bruno@clisp.org>
14872
14873         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
14874         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
14875         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
14876
14877 2009-04-25  Bruno Haible  <bruno@clisp.org>
14878
14879         Avoid link error when creating a namespace clean library.
14880         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
14881         as macro with arguments if already defined as an alias.
14882         * lib/signbitf.c (gl_signbitf): Don't undefine.
14883         * lib/signbitd.c (gl_signbitd): Don't undefine.
14884         * lib/signbitl.c (gl_signbitl): Don't undefine.
14885
14886 2009-04-25  Jim Meyering  <meyering@redhat.com>
14887
14888         vc-list-files: fix another quoting bug
14889         * build-aux/vc-list-files: Avoid sed backslash expansion
14890         of pathological directory names.
14891
14892 2009-04-25  Eric Blake  <ebb9@byu.net>
14893
14894         vc-list-files: fix shell quoting error
14895         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
14896         timestamp.
14897
14898 2009-04-25  Jim Meyering  <meyering@redhat.com>
14899
14900         vc-list-files: restore lost functionality with subdir argument
14901         * build-aux/vc-list-files: When given a non-"." sub-directory
14902         argument, substitute the $dir/ prefix back onto each resulting name.
14903         Otherwise, coreutils' root_tests check would fail.
14904
14905 2009-04-24  Eric Blake  <ebb9@byu.net>
14906
14907         vc-list-files: ignore git symlinks
14908         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
14909         than ls-files, to ignore git symlinks.
14910
14911         maint.mk: import improvements from m4
14912         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
14913         (move_if_change): Delete unused macro.
14914         (news-date-check, vc-diff-check): Support VPATH builds.
14915         (announcement): Likewise.  Split --bootstrap-tools list...
14916         (boostrap-tools): ...into separate list, which can be overridden
14917         in cfg.mk.
14918         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
14919         requiring dependency on useless-if-before-free module.
14920         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
14921         Support VPATH builds.
14922
14923 2009-04-24  Jim Meyering  <meyering@redhat.com>
14924
14925         maint.mk: remove coreutils-specific rules and variables
14926         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
14927         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
14928         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
14929
14930         maint.mk: remove obsolete rule
14931         * top/maint.mk (rel-check): Remove rule.
14932         (WGET, WGETFLAGS): Remove now-unused variables.
14933
14934 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14935
14936         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
14937         consistency.
14938
14939         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
14940         '$(PATH_SEPARATOR)' instead of ':'.
14941
14942 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14943
14944         * lib/getopt1.c (main): Use 'const' for static array.
14945
14946 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14947
14948         * top/maint.mk: Sync with coreutils.
14949         * NEWS: Explain incompatibilities.
14950
14951 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14952             Bruno Haible  <bruno@clisp.org>
14953
14954         Fix cross-compilation results.
14955         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
14956         statement, as third argument of AC_TRY_RUN.
14957         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14958         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
14959         Likewise.
14960         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14961         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
14962         Likewise.
14963         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14964         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
14965         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
14966
14967 2009-04-20  Bruno Haible  <bruno@clisp.org>
14968
14969         Avoid test failure on mingw.
14970         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
14971
14972 2009-04-20  Bruno Haible  <bruno@clisp.org>
14973
14974         Avoid compilation error on mingw.
14975         * modules/localename-tests (Depends-on): Add locale.
14976
14977 2009-04-19  Bruno Haible  <bruno@clisp.org>
14978
14979         Support for building a shared library on Windows platforms.
14980         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
14981         (main): Test the presence of UNINORM_NFC here.
14982         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
14983         (main): Test the presence of UNINORM_NFD here.
14984         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
14985         (main): Test the presence of UNINORM_NFKC here.
14986         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
14987         (main): Test the presence of UNINORM_NFKD here.
14988
14989 2009-04-19  Bruno Haible  <bruno@clisp.org>
14990
14991         Avoid a compiler warning.
14992         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
14993         Change type of variable 'sequence'.
14994
14995 2009-04-19  Bruno Haible  <bruno@clisp.org>
14996
14997         * modules/configmake (Makefile.am): When the contents of configmake.h
14998         does not change, arrange to preserve its modification time.
14999
15000 2009-04-17  Simon Josefsson  <simon@josefsson.org>
15001
15002         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
15003         gettext domain.
15004
15005 2009-04-16  Jim Meyering  <meyering@redhat.com>
15006
15007         useless-if-before-free: improve conversion code
15008         * build-aux/useless-if-before-free: Adjust code-in-comment to match
15009         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
15010
15011 2009-04-14  Bruno Haible  <bruno@clisp.org>
15012
15013         * modules/fcntl (Depends-on): Add extensions.
15014         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
15015
15016 2009-04-12  Ben Pfaff  <blp@gnu.org>
15017
15018         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
15019         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
15020
15021 2009-03-20  Ben Pfaff  <blp@gnu.org>
15022
15023         Make rename replace existing destinations on Windows.
15024         * m4/rename.m4: Add test for Mingw.
15025         * lib/rename.c: Add rename replacement that uses MoveFileEx with
15026         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
15027         * doc/posix-functions/rename.texi: Document.
15028
15029 2009-04-10  Bruno Haible  <bruno@clisp.org>
15030
15031         New include file "iconveh.h".
15032         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
15033         * lib/striconveh.h: Include it.
15034         (enum iconv_ilseq_handler): Remove definition.
15035         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
15036         striconveh.h.
15037         * lib/striconveha.c: Include striconveh.h.
15038         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
15039         * modules/striconveh (Files): Add lib/iconveh.h.
15040         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
15041         lib/striconveh.h.
15042
15043 2009-04-10  Bruno Haible  <bruno@clisp.org>
15044
15045         * lib/uniconv.h: Update comment.
15046
15047 2009-04-10  Bruno Haible  <bruno@clisp.org>
15048
15049         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
15050         always.
15051         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
15052         * lib/unistr/u16-mbtouc-aux.c: Likewise.
15053         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
15054         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
15055         "unistring-notinline.h", so that the function gets defined always.
15056         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
15057         * lib/unistr/u8-uctomb.c: Likewise.
15058         * lib/unistr/u16-mbtouc.c: Likewise.
15059         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
15060         * lib/unistr/u16-uctomb.c: Likewise.
15061         * lib/unistr/u32-mbtouc.c: Likewise.
15062         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
15063         * lib/unistr/u32-uctomb.c: Likewise.
15064
15065 2009-04-10  Bruno Haible  <bruno@clisp.org>
15066
15067         Mark 'utime' obsolete.
15068         * modules/utime (Status, Notice): New sections.
15069         Suggested by Jim Meyering.
15070
15071         Fix cross-compile guess for utime test.
15072         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
15073         autoconf.
15074         * doc/posix-functions/utime.texi: Give more precisions.
15075         Reported by Jan <ipif@ymail.com>.
15076
15077 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
15078
15079         filevercmp: correct today's change
15080         * lib/filevercmp.c: Also handle coreutils' test inputs.
15081         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
15082
15083         Fix regression in 'filevercmp' module. Thanks Sven Joachim
15084         for reporting it.
15085         * lib/filevercmp.c: Special handle for "", "." and "..".
15086         * tests/test-filevercmp.c: Enlarge the set suite.
15087
15088 2009-04-07  Jim Meyering  <meyering@redhat.com>
15089
15090         useless-if-before-free: show how to remove braced useless free, too
15091         * build-aux/useless-if-before-free: still only in a comment, though.
15092
15093 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
15094
15095         maint.mk: import changes to syntax-check macros from coreutils
15096         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
15097         Use them in the relevant macros.
15098
15099 2009-04-06  Bruno Haible  <bruno@clisp.org>
15100
15101         Fix unportable use of bit-fields.
15102         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
15103         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
15104         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
15105
15106 2009-04-06  Bruno Haible  <bruno@clisp.org>
15107
15108         Avoid test failures on AIX and OSF/1.
15109         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
15110         that malloc(0) = NULL.
15111         * tests/unicase/test-u8-tolower.c (check): Likewise.
15112         * tests/unicase/test-u8-totitle.c (check): Likewise.
15113         * tests/unicase/test-u8-toupper.c (check): Likewise.
15114         * tests/unicase/test-u16-casefold.c (check): Likewise.
15115         * tests/unicase/test-u16-tolower.c (check): Likewise.
15116         * tests/unicase/test-u16-totitle.c (check): Likewise.
15117         * tests/unicase/test-u16-toupper.c (check): Likewise.
15118         * tests/unicase/test-u32-casefold.c (check): Likewise.
15119         * tests/unicase/test-u32-tolower.c (check): Likewise.
15120         * tests/unicase/test-u32-totitle.c (check): Likewise.
15121         * tests/unicase/test-u32-toupper.c (check): Likewise.
15122         * tests/uninorm/test-u8-nfc.c (check): Likewise.
15123         * tests/uninorm/test-u8-nfd.c (check): Likewise.
15124         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
15125         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
15126         * tests/uninorm/test-u16-nfc.c (check): Likewise.
15127         * tests/uninorm/test-u16-nfd.c (check): Likewise.
15128         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
15129         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
15130         * tests/uninorm/test-u32-nfc.c (check): Likewise.
15131         * tests/uninorm/test-u32-nfd.c (check): Likewise.
15132         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
15133         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
15134
15135 2009-04-05  Bruno Haible  <bruno@clisp.org>
15136
15137         Work around an autoconf limitation.
15138         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
15139         comment line if it would be longer than 3 KB.
15140
15141 2009-04-05  Bruno Haible  <bruno@clisp.org>
15142
15143         Avoid test failure with libiconv-1.13.
15144         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
15145         of the expected test results.
15146
15147 2009-04-05  Bruno Haible  <bruno@clisp.org>
15148
15149         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
15150         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
15151         that it should be installed.
15152
15153 2009-04-05  Bruno Haible  <bruno@clisp.org>
15154
15155         * gnulib-tool: New option --copy-file.
15156         (func_usage): Document it.
15157         (func_dest_tmpfilename): Moved out of func_import.
15158         (func_add_file, func_update_file): New functions, extracted from
15159         func_import.
15160         (func_import): Update.
15161
15162 2009-04-05  Karl Berry  <karl@gnu.org>
15163
15164         * README: prominently mention gnulib-tool.
15165         Rearrange sections so getting the code is near the top.
15166
15167 2009-04-05  Bruno Haible  <bruno@clisp.org>
15168
15169         * lib/unicase.h: Mention u*_cmp2.
15170         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15171         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
15172         * lib/unicase/ulc-casecmp.c: Likewise.
15173         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
15174         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
15175         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
15176         unistr/u8-cmp.
15177         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
15178         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
15179         unistr/u16-cmp.
15180         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
15181         unistr/u32-cmp.
15182
15183         * lib/uninorm.h: Mention u*_cmp2.
15184         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
15185         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
15186         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
15187         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
15188         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
15189         unistr/u8-cmp.
15190         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
15191         unistr/u16-cmp.
15192         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
15193         unistr/u32-cmp.
15194
15195         New module 'unistr/u32-cmp2'.
15196         * lib/unistr/u32-cmp2.c: New file.
15197         * modules/unistr/u32-cmp2: New file.
15198
15199         New module 'unistr/u16-cmp2'.
15200         * lib/unistr/u16-cmp2.c: New file.
15201         * modules/unistr/u16-cmp2: New file.
15202
15203         New module 'unistr/u8-cmp2'.
15204         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
15205         * lib/unistr/u8-cmp2.c: New file.
15206         * lib/unistr/u-cmp2.h: New file.
15207         * modules/unistr/u8-cmp2: New file.
15208
15209 2009-04-05  Bruno Haible  <bruno@clisp.org>
15210
15211         * lib/unictype.h (uc_property_is_valid): New macro.
15212         * tests/unictype/test-pr_byname.c (main): Use it.
15213
15214         * lib/unistr.h: Doc fixes.
15215         * lib/uniconv.h: Doc fixes.
15216         * lib/unictype.h: Doc fixes.
15217
15218 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
15219
15220         Port coreutils 7.2 to Solaris 8.
15221
15222         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
15223         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
15224         for Solaris 8.  This is a bit of a hack, as it means it's the
15225         caller's responsibility to add -lnsl if needed, but most likely it
15226         won't be needed since only getaddrinfo uses this and getaddrinfo
15227         isn't needed on Solaris 8.
15228
15229         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
15230         problem to Solaris 8 encountered with coreutils 7.2, which
15231         resulted in a message "fnmatch.c:292: warning: passing argument 4
15232         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
15233         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
15234
15235 2009-04-03  Simon Josefsson  <simon@josefsson.org>
15236
15237         * m4/ld-version-script.m4: Add FIXME comment.
15238
15239 2009-04-02  Simon Josefsson  <simon@josefsson.org>
15240
15241         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
15242         SOVERSION variable.
15243
15244 2009-04-02  Bruno Haible  <bruno@clisp.org>
15245
15246         * Makefile (info, html, dvi, pdf): Combine the rules.
15247         Suggested by Jim Meyering.
15248
15249 2009-04-01  Bruno Haible  <bruno@clisp.org>
15250
15251         * Makefile (info, html, dvi, pdf): New targets.
15252         Reported by Reuben Thomas <rrt@sc3d.org>.
15253
15254 2009-04-01  Bruno Haible  <bruno@clisp.org>
15255
15256         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
15257         can be put into PATH.
15258         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
15259
15260 2009-04-01  Bruno Haible  <bruno@clisp.org>
15261
15262         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
15263
15264 2009-04-01  Bruno Haible  <bruno@clisp.org>
15265
15266         Rename module 'visibility'.
15267         * modules/lib-symbol-visibility: Renamed from modules/visibility.
15268         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
15269         * doc/gnulib.texi: Update.
15270         * MODULES.html.sh (Misc): Update.
15271         * NEWS: Mention the change.
15272
15273 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15274
15275         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
15276         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
15277         Eric Blake <ebb9@byu.net> for review.
15278         * MODULES.html.sh: Add lib-msvc-compat.
15279         * doc/gnulib.texi: Link to new section.
15280         * m4/ld-output-def.m4: New file.
15281         * doc/ld-output-def.texi: New file.
15282
15283 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15284
15285         Rename ld-version-script to lib-symbol-versions.  Suggested by
15286         Bruno Haible <bruno@clisp.org>.
15287         * modules/ld-version-script: Renamed to lib-symbol-versions.
15288         * doc/ld-version-script.texi: Fix module name.
15289         * MODULES.html.sh: Add lib-symbol-versions.
15290
15291 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15292
15293         * modules/u64-tests: New file.
15294         * tests/test-u64.c: New file.
15295
15296 2009-03-04  Simon Josefsson  <simon@josefsson.org>
15297
15298         * MODULES.html.sh: Mention u64.
15299         * modules/u64: New module.
15300         * modules/crypto/sha512: Depend on u64 module instead of providing
15301         u64.h.
15302
15303 2009-03-27  Eric Blake  <ebb9@byu.net>
15304
15305         test-strerror: make debugging EAI_SYSTEM easier
15306         * modules/getaddrinfo-tests (Depends-on): Add strerror.
15307         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
15308         failure was EAI_SYSTEM.
15309
15310 2009-03-25  Bruno Haible  <bruno@clisp.org>
15311
15312         Fix a problem with --enable-relocatable on Solaris 7.
15313         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
15314         since 2008-02-24.
15315
15316 2009-03-25  Eric Blake  <ebb9@byu.net>
15317
15318         test-sockets: avoid gcc warning
15319         * tests/test-sockets.c (main): Silence compiler warning.
15320
15321 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15322
15323         New modules nproc, pthread, contributed by Glen Lenker.
15324
15325         * MODULES.html.sh: Add pthread, nproc.
15326         * lib/nproc.c: New file.
15327         * lib/nproc.h: New file.
15328         * lib/pthread.in.h: New file.
15329         * m4/pthread.m4: New file.
15330         * modules/nproc: New file.
15331         * modules/pthread: New file.
15332
15333 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15334
15335         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
15336         New variable.
15337
15338 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
15339
15340         filevercmp: handle simple~ and numbered.~3~ backup suffixes
15341         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
15342         * tests/test-filevercmp.c: Add tests for backup suffixes.
15343
15344 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15345
15346         * modules/stdlib (Depends-on): Add stdint, needed when defining
15347         struct random_data on, for example, HP-UX 10.20.  Reported by
15348         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15349
15350 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15351
15352         * lib/readline.c (readline): Call fflush on stdout after printing
15353         prompt.
15354
15355 2009-03-20  Bruno Haible  <bruno@clisp.org>
15356
15357         Remove dependency from 'close' module to -lws2_32 on native Windows.
15358         * lib/close-hook.h: New file.
15359         * lib/close-hook.c: New file.
15360         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
15361         w32sock.h.
15362         (_gl_close_fd_maybe_socket): Remove function.
15363         (rpl_close): Invoke execute_all_close_hooks instead of
15364         _gl_close_fd_maybe_socket.
15365         * lib/sockets.c: Include close-hook.h, w32sock.h.
15366         (close_fd_maybe_socket): New function, essentially from lib/close.c.
15367         (close_sockets_hook): New variable.
15368         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
15369         (gl_sockets_cleanup): Unregister it.
15370         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
15371         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
15372         * modules/close-hook: New file.
15373         * modules/close (Files): Remove lib/w32sock.h.
15374         (Depends-on): Add close-hook.
15375         (Link): Remove section.
15376         * modules/sockets (Files): Add lib/w32sock.h.
15377         (Depends-on): Add close-hook.
15378         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
15379         invocation.
15380         * NEWS: Mention that LIB_CLOSE is gone.
15381
15382 2009-03-23  Eric Blake  <ebb9@byu.net>
15383
15384         signal-tests: test previous patch
15385         * tests/test-signal.c: New file.
15386         * modules/signal-tests: Likewise.
15387
15388         signal.h: always support 'volatile sig_atomic_t'
15389         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
15390         (gl_SIGNAL_H_DEFAULTS): Add a default.
15391         * modules/signal (Makefile.am): Substitute if needed.
15392         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
15393         users can blindly add volatile.
15394         * doc/posix-headers/signal.texi (signal.h): Document it.
15395         Reported by Matthew Woehlke.
15396
15397 2009-03-23  Jim Meyering  <meyering@redhat.com>
15398
15399         pathmax: PATH_MAX: use pathconf only when available
15400         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
15401         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
15402         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
15403         This avoids a link failure in a PSP cross-compilation environment
15404         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
15405
15406         * lib/vasnprintf.c (divide): Fix typo in comment.
15407
15408 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15409
15410         * gnulib-tool (func_filter_filelist): Fix comment.
15411
15412 2009-03-20  Bruno Haible  <bruno@clisp.org>
15413
15414         Make sockets.h self-contained.
15415         * lib/sockets.c: Include sockets.h first.
15416         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
15417
15418 2009-03-19  Eric Blake  <ebb9@byu.net>
15419
15420         doc: mention more functions added in cygwin 1.7.0
15421         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
15422         addition.
15423         * doc/posix-functions/log2f.texi: Likewise.
15424
15425 2009-03-19  Jim Meyering  <meyering@redhat.com>
15426
15427         fsusage: avoid syntax error due to statement-before-declaration
15428         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
15429         after all declarations.  Reported by Matthew Woehlke in
15430         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
15431
15432 2009-03-18  Eric Blake  <ebb9@byu.net>
15433
15434         build-aux/compile: sync from automake
15435         * build-aux/compile: New file, from automake.
15436         * config/srclist.txt: Mention build-aux/compile.
15437
15438 2009-03-17  Bruno Haible  <bruno@clisp.org>
15439
15440         * lib/git-merge-changelog.c: Fix typo in comment.
15441         Reported by Reuben Thomas <rrt@sc3d.org>.
15442
15443 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
15444
15445         * m4/regex.m4: update and improve help for
15446         --without-included-regex.
15447
15448 2009-03-17  Simon Josefsson  <simon@josefsson.org>
15449
15450         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
15451         failure on missing include files.
15452
15453 2009-03-17  Eric Blake  <ebb9@byu.net>
15454
15455         doc: mention more functions added in cygwin 1.7.0
15456         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
15457         addition.
15458         * doc/posix-functions/fwscanf.texi: Likewise.
15459         * doc/posix-functions/swprintf.texi: Likewise.
15460         * doc/posix-functions/swscanf.texi: Likewise.
15461         * doc/posix-functions/vfwprintf.texi: Likewise.
15462         * doc/posix-functions/vfwscanf.texi: Likewise.
15463         * doc/posix-functions/vswprintf.texi: Likewise.
15464         * doc/posix-functions/vswscanf.texi: Likewise.
15465         * doc/posix-functions/vwprintf.texi: Likewise.
15466         * doc/posix-functions/vwscanf.texi: Likewise.
15467         * doc/posix-functions/wcscasecmp.texi: Likewise.
15468         * doc/posix-functions/wcsdup.texi: Likewise.
15469         * doc/posix-functions/wcsftime.texi: Likewise.
15470         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15471         * doc/posix-functions/wprintf.texi: Likewise.
15472         * doc/posix-functions/wscanf.texi: Likewise.
15473         * doc/glibc-functions/gethostbyname2.texi: Likewise.
15474
15475 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15476
15477         maint.mk: really add $(AM_MAKEFLAGS)
15478         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
15479         was inadvertently omitted in the last commit.
15480         Spotted by Bruno Haible.
15481
15482         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
15483         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
15484         $(AM_MAKEFLAGS)' rather than plain `make'.
15485
15486         gnulib-tool: execute $MAKE not make
15487         * gnulib-tool: Default $MAKE to 'make'.
15488         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
15489         than make.  Initialize $MAKE in the do-autobuild script.
15490
15491         gnulib-tool: use $MAKE not make in generated files
15492         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
15493         make, in generated files.  Initialize $MAKE in the do-autobuild
15494         script.
15495
15496         * top/GNUmakefile (_have-git-version-gen): Fix typo.
15497
15498         GNUmakefile: disable parallelism only for multiple, recursive targets
15499         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
15500         additions in the Makefile.
15501         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
15502         by Automake.
15503         (.NOTPARALLEL): Only disable parallel builds if multiple targets
15504         are listed on the command line and at least one of them is
15505         listed in $(ALL_RECURSIVE_TARGETS).
15506
15507 2009-03-14  Bruno Haible  <bruno@clisp.org>
15508
15509         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
15510         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
15511         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
15512         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
15513         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
15514         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
15515         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
15516         unistr/u8-uctomb.
15517         * modules/unistr/u8-strchr (Depends-on): Likewise.
15518         * modules/unistr/u8-strrchr (Depends-on): Likewise.
15519         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
15520         unistr/u16-uctomb.
15521         * modules/unistr/u16-strchr (Depends-on): Likewise.
15522         * modules/unistr/u16-strrchr (Depends-on): Likewise.
15523
15524 2009-03-12  Bruno Haible  <bruno@clisp.org>
15525
15526         Work around select() bug on Interix 3.5.
15527         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
15528         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
15529         * m4/select.m4: New file.
15530         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
15531         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
15532         * modules/select (Files): Add m4/select.m4.
15533         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
15534         * modules/nanosleep (Depends-on): Add select.
15535         * modules/poll (Depends-on): Likewise.
15536         * doc/posix-functions/select.texi: Mention the Interix bug.
15537         Reported by Markus Duft <mduft@gentoo.org>.
15538
15539         * lib/select.c: Renamed from lib/winsock-select.c.
15540         * modules/select (Files): Add lib/select.c, remove
15541         lib/winsock-select.c.
15542         (configure.ac): Update.
15543
15544 2009-03-12  Jim Meyering  <meyering@redhat.com>
15545
15546         avoid gcc warnings about unused macro definitions
15547         * lib/readtokens.c (STREQ): Remove unused definition.
15548         * lib/xmalloc.c (SIZE_MAX): Likewise.
15549         * lib/openat-die.c (N_): Likewise.
15550         * lib/mountlist.c (SIZE_MAX): Remove definition.
15551         Instead, include <stdint.h>.
15552         * lib/readutmp.c: Likewise.
15553         * modules/readutmp (Depends-on): Add stdint.
15554         * modules/mountlist (Depends-on): Add stdint.
15555         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
15556
15557 2009-03-10  Bruno Haible  <bruno@clisp.org>
15558
15559         Tests for module 'mbmemcasecoll'.
15560         * modules/mbmemcasecoll-tests: New file.
15561         * tests/test-mbmemcasecoll1.sh: New file.
15562         * tests/test-mbmemcasecoll2.sh: New file.
15563         * tests/test-mbmemcasecoll3.sh: New file.
15564         * tests/test-mbmemcasecoll.c: New file.
15565
15566         New module 'mbmemcasecoll'.
15567         * lib/mbmemcasecoll.h: New file.
15568         * lib/mbmemcasecoll.c: New file.
15569         * modules/mbmemcasecoll: New file.
15570
15571         * tests/test-mbmemcasecmp.h: New file, extracted from
15572         tests/test-mbmemcasecmp.c.
15573         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
15574         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
15575         (main): Update.
15576         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
15577
15578 2009-03-09  Bruno Haible  <bruno@clisp.org>
15579
15580         Tests for module 'mbmemcasecmp'.
15581         * modules/mbmemcasecmp-tests: New file.
15582         * tests/test-mbmemcasecmp1.sh: New file.
15583         * tests/test-mbmemcasecmp2.sh: New file.
15584         * tests/test-mbmemcasecmp3.sh: New file.
15585         * tests/test-mbmemcasecmp.c: New file.
15586
15587         New module 'mbmemcasecmp'.
15588         * lib/mbmemcasecmp.h: New file.
15589         * lib/mbmemcasecmp.c: New file.
15590         * modules/mbmemcasecmp: New file.
15591
15592 2009-03-09  Bruno Haible  <bruno@clisp.org>
15593
15594         Tests for module 'unicase/ulc-casecoll'.
15595         * modules/unicase/ulc-casecoll-tests: New file.
15596         * tests/unicase/test-ulc-casecoll1.sh: New file.
15597         * tests/unicase/test-ulc-casecoll2.sh: New file.
15598         * tests/unicase/test-ulc-casecoll.c: New file.
15599
15600         New module 'unicase/ulc-casecoll'.
15601         * lib/unicase.h (ulc_casecoll): New declaration.
15602         * lib/unicase/ulc-casecoll.c: New file.
15603         * modules/unicase/ulc-casecoll: New file.
15604
15605         New module 'unicase/ulc-casexfrm'.
15606         * lib/unicase.h (ulc_casexfrm): New declaration.
15607         * lib/unicase/ulc-casexfrm.c: New file.
15608         * modules/unicase/ulc-casexfrm: New file.
15609
15610 2009-03-09  Bruno Haible  <bruno@clisp.org>
15611
15612         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
15613         invocations.
15614
15615         * m4/mbscasecmp.m4: Remove file.
15616         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
15617         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
15618
15619         * m4/mbscasestr.m4: Remove file.
15620         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
15621         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
15622
15623         * m4/mbschr.m4: Remove file.
15624         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
15625         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
15626
15627         * m4/mbscspn.m4: Remove file.
15628         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
15629         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
15630
15631         * m4/mbslen.m4: Remove file.
15632         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
15633         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
15634
15635         * m4/mbsncasecmp.m4: Remove file.
15636         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
15637         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
15638
15639         * m4/mbsnlen.m4: Remove file.
15640         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
15641         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
15642
15643         * m4/mbspbrk.m4: Remove file.
15644         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
15645         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
15646
15647         * m4/mbspcasecmp.m4: Remove file.
15648         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
15649         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
15650
15651         * m4/mbsrchr.m4: Remove file.
15652         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
15653         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
15654
15655         * m4/mbssep.m4: Remove file.
15656         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
15657         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
15658
15659         * m4/mbsspn.m4: Remove file.
15660         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
15661         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
15662
15663         * m4/mbsstr.m4: Remove file.
15664         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
15665         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
15666
15667         * m4/mbstok_r.m4: Remove file.
15668         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
15669         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
15670
15671         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
15672
15673         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
15674         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
15675
15676         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
15677
15678 2009-03-08  Bruno Haible  <bruno@clisp.org>
15679
15680         Tests for module 'unicase/ulc-casecmp'.
15681         * modules/unicase/ulc-casecmp-tests: New file.
15682         * tests/unicase/test-ulc-casecmp1.sh: New file.
15683         * tests/unicase/test-ulc-casecmp2.sh: New file.
15684         * tests/unicase/test-ulc-casecmp.c: New file.
15685
15686         New module 'unicase/ulc-casecmp'.
15687         * lib/unicase.h (ulc_casecmp): New declaration.
15688         * lib/unicase/ulc-casecmp.c: New file.
15689         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
15690         'const SRC_UNIT *'.
15691         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
15692         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
15693         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
15694         * modules/unicase/ulc-casecmp: New file.
15695
15696         Tests for module 'unicase/u32-is-cased'.
15697         * modules/unicase/u32-is-cased-tests: New file.
15698         * tests/unicase/test-u32-is-cased.c: New file.
15699
15700         Tests for module 'unicase/u16-is-cased'.
15701         * modules/unicase/u16-is-cased-tests: New file.
15702         * tests/unicase/test-u16-is-cased.c: New file.
15703
15704         Tests for module 'unicase/u8-is-cased'.
15705         * modules/unicase/u8-is-cased-tests: New file.
15706         * tests/unicase/test-u8-is-cased.c: New file.
15707         * tests/unicase/test-is-cased.h: New file.
15708
15709         New module 'unicase/u32-is-cased'.
15710         * lib/unicase/u32-is-cased.c: New file.
15711         * modules/unicase/u32-is-cased: New file.
15712
15713         New module 'unicase/u16-is-cased'.
15714         * lib/unicase/u16-is-cased.c: New file.
15715         * modules/unicase/u16-is-cased: New file.
15716
15717         New module 'unicase/u8-is-cased'.
15718         * lib/unicase/u8-is-cased.c: New file.
15719         * lib/unicase/u-is-cased.h: New file.
15720         * modules/unicase/u8-is-cased: New file.
15721
15722         Tests for module 'unicase/u32-is-casefolded'.
15723         * modules/unicase/u32-is-casefolded-tests: New file.
15724         * tests/unicase/test-u32-is-casefolded.c: New file.
15725
15726         Tests for module 'unicase/u16-is-casefolded'.
15727         * modules/unicase/u16-is-casefolded-tests: New file.
15728         * tests/unicase/test-u16-is-casefolded.c: New file.
15729
15730         Tests for module 'unicase/u8-is-casefolded'.
15731         * modules/unicase/u8-is-casefolded-tests: New file.
15732         * tests/unicase/test-u8-is-casefolded.c: New file.
15733         * tests/unicase/test-is-casefolded.h: New file.
15734
15735         New module 'unicase/u32-is-casefolded'.
15736         * lib/unicase/u32-is-casefolded.c: New file.
15737         * modules/unicase/u32-is-casefolded: New file.
15738
15739         New module 'unicase/u16-is-casefolded'.
15740         * lib/unicase/u16-is-casefolded.c: New file.
15741         * modules/unicase/u16-is-casefolded: New file.
15742
15743         New module 'unicase/u8-is-casefolded'.
15744         * lib/unicase/u8-is-casefolded.c: New file.
15745         * modules/unicase/u8-is-casefolded: New file.
15746
15747         Tests for module 'unicase/u32-is-titlecase'.
15748         * modules/unicase/u32-is-titlecase-tests: New file.
15749         * tests/unicase/test-u32-is-titlecase.c: New file.
15750
15751         Tests for module 'unicase/u16-is-titlecase'.
15752         * modules/unicase/u16-is-titlecase-tests: New file.
15753         * tests/unicase/test-u16-is-titlecase.c: New file.
15754
15755         Tests for module 'unicase/u8-is-titlecase'.
15756         * modules/unicase/u8-is-titlecase-tests: New file.
15757         * tests/unicase/test-u8-is-titlecase.c: New file.
15758         * tests/unicase/test-is-titlecase.h: New file.
15759
15760         New module 'unicase/u32-is-titlecase'.
15761         * lib/unicase/u32-is-titlecase.c: New file.
15762         * modules/unicase/u32-is-titlecase: New file.
15763
15764         New module 'unicase/u16-is-titlecase'.
15765         * lib/unicase/u16-is-titlecase.c: New file.
15766         * modules/unicase/u16-is-titlecase: New file.
15767
15768         New module 'unicase/u8-is-titlecase'.
15769         * lib/unicase/u8-is-titlecase.c: New file.
15770         * modules/unicase/u8-is-titlecase: New file.
15771
15772         Tests for module 'unicase/u32-is-lowercase'.
15773         * modules/unicase/u32-is-lowercase-tests: New file.
15774         * tests/unicase/test-u32-is-lowercase.c: New file.
15775
15776         Tests for module 'unicase/u16-is-lowercase'.
15777         * modules/unicase/u16-is-lowercase-tests: New file.
15778         * tests/unicase/test-u16-is-lowercase.c: New file.
15779
15780         Tests for module 'unicase/u8-is-lowercase'.
15781         * modules/unicase/u8-is-lowercase-tests: New file.
15782         * tests/unicase/test-u8-is-lowercase.c: New file.
15783         * tests/unicase/test-is-lowercase.h: New file.
15784
15785         New module 'unicase/u32-is-lowercase'.
15786         * lib/unicase/u32-is-lowercase.c: New file.
15787         * modules/unicase/u32-is-lowercase: New file.
15788
15789         New module 'unicase/u16-is-lowercase'.
15790         * lib/unicase/u16-is-lowercase.c: New file.
15791         * modules/unicase/u16-is-lowercase: New file.
15792
15793         New module 'unicase/u8-is-lowercase'.
15794         * lib/unicase/u8-is-lowercase.c: New file.
15795         * modules/unicase/u8-is-lowercase: New file.
15796
15797         Tests for module 'unicase/u32-is-uppercase'.
15798         * modules/unicase/u32-is-uppercase-tests: New file.
15799         * tests/unicase/test-u32-is-uppercase.c: New file.
15800
15801         Tests for module 'unicase/u16-is-uppercase'.
15802         * modules/unicase/u16-is-uppercase-tests: New file.
15803         * tests/unicase/test-u16-is-uppercase.c: New file.
15804
15805         Tests for module 'unicase/u8-is-uppercase'.
15806         * modules/unicase/u8-is-uppercase-tests: New file.
15807         * tests/unicase/test-u8-is-uppercase.c: New file.
15808         * tests/unicase/test-is-uppercase.h: New file.
15809
15810         New module 'unicase/u32-is-uppercase'.
15811         * lib/unicase/u32-is-uppercase.c: New file.
15812         * modules/unicase/u32-is-uppercase: New file.
15813
15814         New module 'unicase/u16-is-uppercase'.
15815         * lib/unicase/u16-is-uppercase.c: New file.
15816         * modules/unicase/u16-is-uppercase: New file.
15817
15818         New module 'unicase/u8-is-uppercase'.
15819         * lib/unicase/u8-is-uppercase.c: New file.
15820         * modules/unicase/u8-is-uppercase: New file.
15821
15822         New module 'unicase/u32-is-invariant'.
15823         * lib/unicase/u32-is-invariant.c: New file.
15824         * modules/unicase/u32-is-invariant: New file.
15825
15826         New module 'unicase/u16-is-invariant'.
15827         * lib/unicase/u16-is-invariant.c: New file.
15828         * modules/unicase/u16-is-invariant: New file.
15829
15830         New module 'unicase/u8-is-invariant'.
15831         * lib/unicase/u8-is-invariant.c: New file.
15832         * lib/unicase/invariant.h: New file.
15833         * lib/unicase/u-is-invariant.h: New file.
15834         * modules/unicase/u8-is-invariant: New file.
15835
15836         Tests for module 'unicase/u32-casecoll'.
15837         * modules/unicase/u32-casecoll-tests: New file.
15838         * tests/unicase/test-u32-casecoll.c: New file.
15839
15840         Tests for module 'unicase/u16-casecoll'.
15841         * modules/unicase/u16-casecoll-tests: New file.
15842         * tests/unicase/test-u16-casecoll.c: New file.
15843
15844         Tests for module 'unicase/u8-casecoll'.
15845         * modules/unicase/u8-casecoll-tests: New file.
15846         * tests/unicase/test-u8-casecoll.c: New file.
15847
15848         New module 'unicase/u32-casecoll'.
15849         * lib/unicase/u32-casecoll.c: New file.
15850         * modules/unicase/u32-casecoll: New file.
15851
15852         New module 'unicase/u16-casecoll'.
15853         * lib/unicase/u16-casecoll.c: New file.
15854         * modules/unicase/u16-casecoll: New file.
15855
15856         New module 'unicase/u8-casecoll'.
15857         * lib/unicase/u8-casecoll.c: New file.
15858         * lib/unicase/u-casecoll.h: New file.
15859         * modules/unicase/u8-casecoll: New file.
15860
15861         New module 'unicase/u32-casexfrm'.
15862         * lib/unicase/u32-casexfrm.c: New file.
15863         * modules/unicase/u32-casexfrm: New file.
15864
15865         New module 'unicase/u16-casexfrm'.
15866         * lib/unicase/u16-casexfrm.c: New file.
15867         * modules/unicase/u16-casexfrm: New file.
15868
15869         New module 'unicase/u8-casexfrm'.
15870         * lib/unicase/u8-casexfrm.c: New file.
15871         * lib/unicase/u-casexfrm.h: New file.
15872         * modules/unicase/u8-casexfrm: New file.
15873
15874         Tests for module 'unicase/u32-casecmp'.
15875         * modules/unicase/u32-casecmp-tests: New file.
15876         * tests/unicase/test-u32-casecmp.c: New file.
15877
15878         Tests for module 'unicase/u16-casecmp'.
15879         * modules/unicase/u16-casecmp-tests: New file.
15880         * tests/unicase/test-u16-casecmp.c: New file.
15881
15882         Tests for module 'unicase/u8-casecmp'.
15883         * modules/unicase/u8-casecmp-tests: New file.
15884         * tests/unicase/test-u8-casecmp.c: New file.
15885         * tests/unicase/test-casecmp.h: New file.
15886
15887         New module 'unicase/u32-casecmp'.
15888         * lib/unicase/u32-casecmp.c: New file.
15889         * modules/unicase/u32-casecmp: New file.
15890
15891         New module 'unicase/u16-casecmp'.
15892         * lib/unicase/u16-casecmp.c: New file.
15893         * modules/unicase/u16-casecmp: New file.
15894
15895         New module 'unicase/u8-casecmp'.
15896         * lib/unicase/u8-casecmp.c: New file.
15897         * lib/unicase/u-casecmp.h: New file.
15898         * modules/unicase/u8-casecmp: New file.
15899
15900         Tests for module 'unicase/u32-casefold'.
15901         * modules/unicase/u32-casefold-tests: New file.
15902         * tests/unicase/test-u32-casefold.c: New file.
15903
15904         Tests for module 'unicase/u16-casefold'.
15905         * modules/unicase/u16-casefold-tests: New file.
15906         * tests/unicase/test-u16-casefold.c: New file.
15907
15908         Tests for module 'unicase/u8-casefold'.
15909         * modules/unicase/u8-casefold-tests: New file.
15910         * tests/unicase/test-u8-casefold.c: New file.
15911
15912         New module 'unicase/u32-casefold'.
15913         * lib/unicase/u32-casefold.c: New file.
15914         * modules/unicase/u32-casefold: New file.
15915
15916         New module 'unicase/u16-casefold'.
15917         * lib/unicase/u16-casefold.c: New file.
15918         * modules/unicase/u16-casefold: New file.
15919
15920         New module 'unicase/u8-casefold'.
15921         * lib/unicase/u8-casefold.c: New file.
15922         * lib/unicase/u-casefold.h: New file.
15923         * modules/unicase/u8-casefold: New file.
15924
15925         New module 'unicase/tocasefold'.
15926         * lib/unicase/casefold.h: New file.
15927         * lib/unicase/tocasefold.c: New file.
15928         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
15929         * modules/unicase/tocasefold: New file.
15930
15931         Tests for module 'unicase/u32-totitle'.
15932         * modules/unicase/u32-totitle-tests: New file.
15933         * tests/unicase/test-u32-totitle.c: New file.
15934
15935         Tests for module 'unicase/u16-totitle'.
15936         * modules/unicase/u16-totitle-tests: New file.
15937         * tests/unicase/test-u16-totitle.c: New file.
15938
15939         Tests for module 'unicase/u8-totitle'.
15940         * modules/unicase/u8-totitle-tests: New file.
15941         * tests/unicase/test-u8-totitle.c: New file.
15942
15943         New module 'unicase/u32-totitle'.
15944         * lib/unicase/u32-totitle.c: New file.
15945         * modules/unicase/u32-totitle: New file.
15946
15947         New module 'unicase/u16-totitle'.
15948         * lib/unicase/u16-totitle.c: New file.
15949         * modules/unicase/u16-totitle: New file.
15950
15951         New module 'unicase/u8-totitle'.
15952         * lib/unicase/u8-totitle.c: New file.
15953         * lib/unicase/u-totitle.h: New file.
15954         * modules/unicase/u8-totitle: New file.
15955
15956         Tests for module 'unicase/u32-tolower'.
15957         * modules/unicase/u32-tolower-tests: New file.
15958         * tests/unicase/test-u32-tolower.c: New file.
15959
15960         Tests for module 'unicase/u16-tolower'.
15961         * modules/unicase/u16-tolower-tests: New file.
15962         * tests/unicase/test-u16-tolower.c: New file.
15963
15964         Tests for module 'unicase/u8-tolower'.
15965         * modules/unicase/u8-tolower-tests: New file.
15966         * tests/unicase/test-u8-tolower.c: New file.
15967
15968         New module 'unicase/u32-tolower'.
15969         * lib/unicase/u32-tolower.c: New file.
15970         * modules/unicase/u32-tolower: New file.
15971
15972         New module 'unicase/u16-tolower'.
15973         * lib/unicase/u16-tolower.c: New file.
15974         * modules/unicase/u16-tolower: New file.
15975
15976         New module 'unicase/u8-tolower'.
15977         * lib/unicase/u8-tolower.c: New file.
15978         * modules/unicase/u8-tolower: New file.
15979
15980         Tests for module 'unicase/u32-toupper'.
15981         * modules/unicase/u32-toupper-tests: New file.
15982         * tests/unicase/test-u32-toupper.c: New file.
15983
15984         Tests for module 'unicase/u16-toupper'.
15985         * modules/unicase/u16-toupper-tests: New file.
15986         * tests/unicase/test-u16-toupper.c: New file.
15987
15988         Tests for module 'unicase/u8-toupper'.
15989         * modules/unicase/u8-toupper-tests: New file.
15990         * tests/unicase/test-u8-toupper.c: New file.
15991
15992         New module 'unicase/u32-toupper'.
15993         * lib/unicase/u32-toupper.c: New file.
15994         * modules/unicase/u32-toupper: New file.
15995
15996         New module 'unicase/u16-toupper'.
15997         * lib/unicase/u16-toupper.c: New file.
15998         * modules/unicase/u16-toupper: New file.
15999
16000         New module 'unicase/u8-toupper'.
16001         * lib/unicase/u8-toupper.c: New file.
16002         * modules/unicase/u8-toupper: New file.
16003
16004         New module 'unicase/u32-casemap'.
16005         * lib/unicase/u32-casemap.c: New file.
16006         * modules/unicase/u32-casemap: New file.
16007
16008         New module 'unicase/u16-casemap'.
16009         * lib/unicase/u16-casemap.c: New file.
16010         * modules/unicase/u16-casemap: New file.
16011
16012         New module 'unicase/u8-casemap'.
16013         * lib/unicase/unicasemap.h: New file.
16014         * lib/unicase/u8-casemap.c: New file.
16015         * lib/unicase/u-casemap.h: New file.
16016         * modules/unicase/u8-casemap: New file.
16017
16018         New module 'unicase/special-casing'.
16019         * lib/unicase/special-casing.h: New file.
16020         * lib/unicase/special-casing.c: New file.
16021         * lib/unicase/special-casing-table.gperf: New file, generated by
16022         gen-uni-tables.c.
16023         * modules/unicase/special-casing: New file.
16024
16025         Tests for module 'unicase/locale-language'.
16026         * modules/unicase/locale-language-tests: New file.
16027         * tests/unicase/test-locale-language.sh: New file.
16028         * tests/unicase/test-locale-language.c: New file.
16029
16030         New module 'unicase/locale-language'.
16031         * lib/unicase/locale-language.c: New file.
16032         * lib/unicase/locale-languages.gperf: New file.
16033         * modules/unicase/locale-language: New file.
16034
16035         Generate more tables for case conversion and case folding.
16036         * lib/gen-uni-tables.c (SCC_*): New enum items.
16037         (struct special_casing_rule): New type.
16038         (casing_rules, num_casing_rules, allocated_casing_rules): New
16039         variables.
16040         (add_casing_rule, fill_casing_rules): New functions.
16041         (struct casefold_rule): New type.
16042         (casefolding_rules, num_casefolding_rules,
16043         allocated_casefolding_rules): New variables.
16044         (fill_casefolding_rules): New function.
16045         (unicode_casefold): New variable.
16046         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
16047         sort_casing_rules, output_casing_rules): New functions.
16048         (main): Accept to more arguments: SpecialCasing.txt and
16049         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
16050         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
16051         Output mapping for casefolding.
16052
16053         * lib/unicase.h: Include stdbool.h, uninorm.h.
16054         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
16055         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
16056         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
16057         arguments.
16058         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
16059         resultp arguments.
16060         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
16061         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
16062         resultp arguments.
16063         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
16064         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
16065         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
16066         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
16067         declarations.
16068         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
16069
16070 2009-03-08  Bruno Haible  <bruno@clisp.org>
16071
16072         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16073         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
16074         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
16075         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16076
16077 2009-03-07  Bruno Haible  <bruno@clisp.org>
16078
16079         Adjust u*_normcmp, u*_normcoll API.
16080         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
16081         u16_normcoll, u32_normcoll): Change failure conventions.
16082         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
16083         errno and return -1.
16084         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
16085
16086 2009-03-07  Bruno Haible  <bruno@clisp.org>
16087
16088         Tests for module 'uninorm/u32-normcoll'.
16089         * modules/uninorm/u32-normcoll-tests: New file.
16090         * tests/uninorm/test-u32-normcoll.c: New file.
16091
16092         Tests for module 'uninorm/u16-normcoll'.
16093         * modules/uninorm/u16-normcoll-tests: New file.
16094         * tests/uninorm/test-u16-normcoll.c: New file.
16095
16096         Tests for module 'uninorm/u8-normcoll'.
16097         * modules/uninorm/u8-normcoll-tests: New file.
16098         * tests/uninorm/test-u8-normcoll.c: New file.
16099
16100 2009-03-07  Bruno Haible  <bruno@clisp.org>
16101
16102         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
16103         tests/uninorm/test-u32-normcmp.c.
16104         * tests/uninorm/test-u32-normcmp.c: Include it.
16105         (test_nonascii): New function, extracted from main. Add some more
16106         tests.
16107         (main): Invoke test_ascii and test_nonascii.
16108         * modules/uninorm/u32-normcmp-tests (Files): Add
16109         tests/uninorm/test-u32-normcmp.h.
16110         (Depends-on): Remove uninorm/u32-normcmp.
16111
16112         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
16113         tests/uninorm/test-u16-normcmp.c.
16114         * tests/uninorm/test-u16-normcmp.c: Include it.
16115         (test_nonascii): New function, extracted from main. Add some more
16116         tests.
16117         (main): Invoke test_ascii and test_nonascii.
16118         * modules/uninorm/u16-normcmp-tests (Files): Add
16119         tests/uninorm/test-u16-normcmp.h.
16120         (Depends-on): Remove uninorm/u16-normcmp.
16121
16122         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
16123         tests/uninorm/test-u8-normcmp.c.
16124         * tests/uninorm/test-u8-normcmp.c: Include it.
16125         (test_nonascii): New function, extracted from main. Add some more
16126         tests.
16127         (main): Invoke test_ascii and test_nonascii.
16128         * modules/uninorm/u8-normcmp-tests (Files): Add
16129         tests/uninorm/test-u8-normcmp.h.
16130         (Depends-on): Remove uninorm/u8-normcmp.
16131
16132 2009-03-07  Bruno Haible  <bruno@clisp.org>
16133
16134         New module 'uninorm/u32-normcoll'.
16135         * lib/uninorm/u32-normcoll.c: New file.
16136         * modules/uninorm/u32-normcoll: New file.
16137
16138         New module 'uninorm/u16-normcoll'.
16139         * lib/uninorm/u16-normcoll.c: New file.
16140         * modules/uninorm/u16-normcoll: New file.
16141
16142         New module 'uninorm/u8-normcoll'.
16143         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
16144         declarations.
16145         * lib/uninorm/u8-normcoll.c: New file.
16146         * lib/uninorm/u-normcoll.h: New file.
16147         * modules/uninorm/u8-normcoll: New file.
16148
16149         New module 'uninorm/u32-normxfrm'.
16150         * lib/uninorm/u32-normxfrm.c: New file.
16151         * modules/uninorm/u32-normxfrm: New file.
16152
16153         New module 'uninorm/u16-normxfrm'.
16154         * lib/uninorm/u16-normxfrm.c: New file.
16155         * modules/uninorm/u16-normxfrm: New file.
16156
16157         New module 'uninorm/u8-normxfrm'.
16158         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
16159         declarations.
16160         * lib/uninorm/u8-normxfrm.c: New file.
16161         * lib/uninorm/u-normxfrm.h: New file.
16162         * modules/uninorm/u8-normxfrm: New file.
16163
16164 2009-03-07  Bruno Haible  <bruno@clisp.org>
16165
16166         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
16167         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
16168         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
16169
16170 2009-03-07  Bruno Haible  <bruno@clisp.org>
16171
16172         New module 'memxfrm'.
16173         * lib/memxfrm.h: New file.
16174         * lib/memxfrm.c: New file.
16175         * modules/memxfrm: New file.
16176
16177 2009-03-07  Bruno Haible  <bruno@clisp.org>
16178
16179         New module 'memcmp2'.
16180         * lib/memcmp2.h: New file.
16181         * lib/memcmp2.c: New file.
16182         * modules/memcmp2: New file.
16183
16184 2009-03-07  Bruno Haible  <bruno@clisp.org>
16185
16186         Tests for module 'uninorm/decomposing-form'.
16187         * modules/uninorm/decomposing-form-tests: New file.
16188         * tests/uninorm/test-decomposing-form.c: New file.
16189
16190         New module 'uninorm/decomposing-form'.
16191         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
16192         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
16193         Add 'decomposing_variant' field.
16194         * lib/uninorm/decomposing-form.c: New file.
16195         * lib/uninorm/nfc.c (uninorm_nfc): Update.
16196         * lib/uninorm/nfd.c (uninorm_nfd): Update.
16197         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
16198         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
16199         * modules/uninorm/decomposing-form: New file.
16200         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
16201         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
16202
16203 2009-03-07  Bruno Haible  <bruno@clisp.org>
16204
16205         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
16206         strings.
16207
16208 2009-03-06  Bruno Haible  <bruno@clisp.org>
16209
16210         Tests for module 'uninorm/u32-normcmp'.
16211         * tests/uninorm/test-u32-normcmp.c: New file.
16212         * modules/uninorm/u32-normcmp-tests: New file.
16213
16214         Tests for module 'uninorm/u16-normcmp'.
16215         * tests/uninorm/test-u16-normcmp.c: New file.
16216         * modules/uninorm/u16-normcmp-tests: New file.
16217
16218         Tests for module 'uninorm/u8-normcmp'.
16219         * tests/uninorm/test-u8-normcmp.c: New file.
16220         * modules/uninorm/u8-normcmp-tests: New file.
16221
16222         New module 'uninorm/u32-normcmp'.
16223         * lib/uninorm/u32-normcmp.c: New file.
16224         * modules/uninorm/u32-normcmp: New file.
16225
16226         New module 'uninorm/u16-normcmp'.
16227         * lib/uninorm/u16-normcmp.c: New file.
16228         * modules/uninorm/u16-normcmp: New file.
16229
16230         New module 'uninorm/u8-normcmp'.
16231         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
16232         declarations.
16233         * lib/uninorm/u8-normcmp.c: New file.
16234         * lib/uninorm/u-normcmp.h: New file.
16235         * modules/uninorm/u8-normcmp: New file.
16236
16237 2009-03-06  Bruno Haible  <bruno@clisp.org>
16238
16239         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
16240         Reported by Eric Blake.
16241
16242 2009-03-06  Eric Blake  <ebb9@byu.net>
16243             Bruno Haible  <bruno@clisp.org>
16244
16245         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
16246         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
16247         condition.
16248         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16249         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
16250         condition.
16251         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16252
16253 2009-03-06  Eric Blake  <ebb9@byu.net>
16254
16255         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
16256         to avoid compiler warnings.
16257         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
16258
16259 2009-03-05  Bruno Haible  <bruno@clisp.org>
16260
16261         * tests/test-ftell.c (main): Disable test beyond end of file on
16262         FreeMiNT.
16263         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16264
16265 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
16266
16267         * lib/filevercmp.c: Move hidden files up in ordering.
16268         * tests/test-filevercmp.c: Add tests for hidden files.
16269
16270 2009-03-04  Bruno Haible  <bruno@clisp.org>
16271
16272         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
16273         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
16274         AM_CFLAGS.
16275         Reported by Simon Josefsson.
16276
16277 2009-03-03  Bruno Haible  <bruno@clisp.org>
16278
16279         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
16280         Reported by Simon Josefsson.
16281
16282         * doc/ld-version-script.texi: Update node reference.
16283
16284 2009-03-03  Bruno Haible  <bruno@clisp.org>
16285
16286         * modules/visibility (License): Change to 'unlimited'.
16287         Suggested by Simon Josefsson.
16288
16289 2009-03-03  Jim Meyering  <meyering@redhat.com>
16290
16291         unlinkdir: cannot_unlink_dir may modify process state
16292         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
16293         it's neither thread-safe nor appropriate for use in a library.
16294
16295 2009-03-03  Eric Blake  <ebb9@byu.net>
16296
16297         test-closein: silence test under Darwin
16298         * tests/test-closein.sh: Ignore stderr from cat, since we don't
16299         care if it dies from EPIPE or EBADF.
16300
16301 2009-03-03  Bruno Haible  <bruno@clisp.org>
16302
16303         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
16304         earlier.
16305         * doc/visibility.texi: Fix @node and @section.
16306
16307 2009-03-03  Simon Josefsson  <simon@josefsson.org>
16308
16309         * doc/gnulib.texi: Link to sections for ld version script and
16310         visibility.
16311         * doc/visibility.texi: Add @node and @section.
16312         * modules/ld-version-script: New module.
16313         * m4/ld-version-script.m4: New file.
16314         * doc/ld-version-script.texi: New file.
16315
16316 2009-03-02  David Lutterkort  <lutter@redhat.com>
16317
16318         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
16319         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16320
16321 2009-03-02  Bruno Haible  <bruno@clisp.org>
16322
16323         * doc/visibility.texi: Mention libtool's -export-symbols option.
16324
16325 2009-03-02  Jim Meyering  <meyering@redhat.com>
16326
16327         announce-gen: new option: --no-print-checksums
16328         * build-aux/announce-gen (usage): Describe it.
16329         (print_checksums): Print a newline here, not in the [*] footnote.
16330         (main): Honor it.
16331
16332 2009-03-01  Bruno Haible  <bruno@clisp.org>
16333
16334         Use socklen_t in the native Windows replacements prototypes.
16335         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
16336         instead of 'int'.
16337         * lib/getsockopt.c (rpl_getsockopt): Likewise.
16338         * lib/setsockopt.c (rpl_setsockopt): Likewise.
16339         * modules/getsockopt (Depends-on): Add socklen.
16340         * modules/setsockopt (Depends-on): Add socklen.
16341
16342 2009-03-01  Bruno Haible  <bruno@clisp.org>
16343
16344         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
16345         least 4.2.
16346
16347 2009-03-01  Eric Blake  <ebb9@byu.net>
16348             Bruno Haible  <bruno@clisp.org>
16349
16350         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
16351         error messages.
16352         * lib/wait-process.c (wait_subprocess): Omit error message about
16353         deadly signal sent to the child of termsigp != NULL.
16354
16355 2009-03-01  Eric Blake  <ebb9@byu.net>
16356
16357         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
16358
16359 2009-03-01  Bruno Haible  <bruno@clisp.org>
16360
16361         Avoid a gcc warning.
16362         * tests/test-sched.c (b): Make global.
16363         Reported by Eric Blake.
16364
16365 2009-01-19  Martin Lambers  <marlam@marlam.de>
16366
16367         Provide POSIX semantics for socket timeout options on W32.
16368         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
16369         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
16370         * modules/setsockopt: Depend on sys_time module for struct timeval.
16371         * modules/getsockopt: Depend on sys_time module for struct timeval.
16372
16373 2009-03-01  Simon Josefsson  <simon@josefsson.org>
16374
16375         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
16376         __USE_GNU, for consistency with netdb.in.h.
16377         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16378
16379 2009-03-01  Bruno Haible  <bruno@clisp.org>
16380
16381         More support for FreeMiNT.
16382         * lib/fseeko.c (rpl_fseeko): Complete last commit.
16383         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16384
16385 2009-03-01  Bruno Haible  <bruno@clisp.org>
16386
16387         More support for FreeMiNT.
16388         * lib/fpurge.c (fpurge): Correct last commit.
16389         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16390
16391 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16392
16393         Fix unportable awk script in vc-list-files.
16394         * build-aux/vc-list-files: In the replacement awk script, use
16395         substr with a second argument of 1, not zero.
16396         Report by Simon Josefsson.
16397
16398 2009-02-28  Bruno Haible  <bruno@clisp.org>
16399
16400         More support for FreeMiNT.
16401         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
16402         to FreeMiNT today.
16403         * lib/fwriting.c (fwriting): Likewise.
16404         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
16405
16406 2009-02-28  Bruno Haible  <bruno@clisp.org>
16407
16408         * tests/test-freadseek.c (main): Disable test beyond end of file on
16409         FreeMiNT.
16410         * tests/test-ftello.c (main): Likewise.
16411         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16412
16413 2009-02-28  Bruno Haible  <bruno@clisp.org>
16414
16415         Add tentative support for FreeMiNT.
16416         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
16417         * lib/fpurge.c (fpurge): Likewise.
16418         * lib/freadable.c (freadable): Likewise.
16419         * lib/freading.c (freading): Likewise.
16420         * lib/freadptr.c (freadptr): Likewise.
16421         * lib/freadseek.c (freadptrinc): Likewise.
16422         * lib/fseeko.c (rpl_fseeko): Likewise.
16423         * lib/fseterr.c (fseterr): Likewise.
16424         * lib/fwritable.c (fwritable): Likewise.
16425         * lib/fwriting.c (fwriting): Likewise.
16426         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
16427         Hourihane.
16428         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16429
16430 2009-02-28  Bruno Haible  <bruno@clisp.org>
16431
16432         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
16433         SIGCHLD.
16434         Reported by Jim Meyering.
16435
16436 2009-02-28  Bruno Haible  <bruno@clisp.org>
16437
16438         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
16439         Mention the results of these tests on various platforms.
16440         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
16441         order.
16442         * doc/posix-functions/printf.texi: Likewise.
16443         * doc/posix-functions/snprintf.texi: Likewise.
16444         * doc/posix-functions/sprintf.texi: Likewise.
16445         * doc/posix-functions/vfprintf.texi: Likewise.
16446         * doc/posix-functions/vprintf.texi: Likewise.
16447         * doc/posix-functions/vsnprintf.texi: Likewise.
16448         * doc/posix-functions/vsprintf.texi: Likewise.
16449         * doc/glibc-functions/obstack_printf.texi: Likewise.
16450         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
16451
16452 2009-02-28  Bruno Haible  <bruno@clisp.org>
16453
16454         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
16455         Reported by Loïc Minier <lool@dooz.org>.
16456
16457 2009-02-27  Bruno Haible  <bruno@clisp.org>
16458
16459         * gnulib-tool (func_import): Make the sed expression used to create the
16460         sed script for updating the .gitignore file POSIX compliant.
16461         Reported by Eric Blake.
16462
16463 2009-02-27  Bruno Haible  <bruno@clisp.org>
16464
16465         * gnulib-tool (sed): Don't alias as "sed --posix".
16466         Reported by Eric Blake.
16467
16468 2009-02-27  Bruno Haible  <bruno@clisp.org>
16469
16470         Avoid test link errors.
16471         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
16472         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
16473         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
16474         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
16475         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16476
16477 2009-02-27  Bruno Haible  <bruno@clisp.org>
16478
16479         Avoid spurious "(cached)" in configure output.
16480         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
16481         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
16482         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16483         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16484         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16485         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16486         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16487         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16488         Reported by Eric Blake.
16489
16490 2009-02-27  Eric Blake  <ebb9@byu.net>
16491
16492         printf: fix regression in previous patch
16493         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
16494
16495 2009-02-27  Bruno Haible  <bruno@clisp.org>
16496
16497         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
16498         value.
16499         * lib/stdint.in.h: Likewise.
16500         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
16501
16502 2009-02-27  Eric Blake  <ebb9@byu.net>
16503
16504         doc: mention more functions added in cygwin 1.7.0
16505         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
16506         addition.
16507         * doc/posix-functions/open_wmemstream.texi: Likewise.
16508         * doc/posix-functions/wcsnlen.texi: Likewise.
16509         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16510         * doc/posix-functions/wcstod.texi: Likewise.
16511         * doc/posix-functions/wcstof.texi: Likewise.
16512         * doc/posix-functions/wcstoimax.texi: Likewise.
16513         * doc/posix-functions/wcstok.texi: Likewise.
16514         * doc/posix-functions/wcstoumax.texi: Likewise.
16515
16516         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
16517         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
16518         * doc/posix-functions/fprintf.texi: Update.
16519         * doc/posix-functions/printf.texi: Update.
16520         * doc/posix-functions/snprintf.texi: Update.
16521         * doc/posix-functions/sprintf.texi: Update.
16522         * doc/posix-functions/vfprintf.texi: Update.
16523         * doc/posix-functions/vprintf.texi: Update.
16524         * doc/posix-functions/vsnprintf.texi: Update.
16525         * doc/posix-functions/vsprintf.texi: Update.
16526         * doc/glibc-functions/obstack_printf.texi: Update.
16527         * doc/glibc-functions/obstack_vprintf.texi: Update.
16528
16529 2009-02-26  Eric Blake  <ebb9@byu.net>
16530
16531         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
16532         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
16533         compilation bug by using runtime conversion.
16534         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16535         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
16536         * modules/ceill-tests (Files): Use nan.h.
16537         * modules/floorl-tests (Files): Likewise.
16538         * modules/frexpl-tests (Files): Likewise.
16539         * modules/isnanl-tests (Files): Likewise.
16540         * modules/ldexpl-tests (Files): Likewise.
16541         * modules/roundl-tests (Files): Likewise.
16542         * modules/truncl-tests (Files): Likewise.
16543         * tests/test-ceill.c (main): Use a working NaN.
16544         * tests/test-floorl.c (main): Likewise.
16545         * tests/test-frexpl.c (main): Likewise.
16546         * tests/test-isnan.c (test_long_double): Likewise.
16547         * tests/test-isnanl.h (main): Likewise.
16548         * tests/test-ldexpl.h (main): Likewise.
16549         * tests/test-roundl.h (main): Likewise.
16550         * tests/test-truncl.h (main): Likewise.
16551         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
16552
16553 2009-02-26  Eric Blake  <ebb9@byu.net>
16554             Bruno Haible  <bruno@clisp.org>
16555
16556         Work around a *printf bug with %ls on Solaris.
16557         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
16558         precision is specified, sprintf stops converting the wide string
16559         argument when the number of bytes that have been produced by this
16560         conversion equals or exceeds the precision.
16561         * doc/posix-functions/fprintf.texi: Update.
16562         * doc/posix-functions/printf.texi: Update.
16563         * doc/posix-functions/snprintf.texi: Update.
16564         * doc/posix-functions/sprintf.texi: Update.
16565         * doc/posix-functions/vfprintf.texi: Update.
16566         * doc/posix-functions/vprintf.texi: Update.
16567         * doc/posix-functions/vsnprintf.texi: Update.
16568         * doc/posix-functions/vsprintf.texi: Update.
16569         * doc/glibc-functions/obstack_printf.texi: Update.
16570         * doc/glibc-functions/obstack_vprintf.texi: Update.
16571
16572 2009-02-26  Eric Blake  <ebb9@byu.net>
16573
16574         stdlib: favor compiler check of random.h
16575         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
16576         to avoid an ObjC random.h installed by Swarm.
16577
16578 2009-02-26  Bruno Haible  <bruno@clisp.org>
16579
16580         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
16581         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
16582         Reported by Gary V. Vaughan <gary@gnu.org>.
16583
16584 2009-02-26  Bruno Haible  <bruno@clisp.org>
16585
16586         Fix *printf behaviour regarding the %ls directive.
16587         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
16588         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
16589         NEED_PRINTF_DIRECTIVE_LS.
16590         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
16591         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16592         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16593         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
16594         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
16595         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
16596         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16597         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16598         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16599         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16600         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16601         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
16602         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16603         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16604         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16605         * doc/posix-functions/fprintf.texi: Update.
16606         * doc/posix-functions/printf.texi: Update.
16607         * doc/posix-functions/snprintf.texi: Update.
16608         * doc/posix-functions/sprintf.texi: Update.
16609         * doc/posix-functions/vfprintf.texi: Update.
16610         * doc/posix-functions/vprintf.texi: Update.
16611         * doc/posix-functions/vsnprintf.texi: Update.
16612         * doc/posix-functions/vsprintf.texi: Update.
16613         * doc/glibc-functions/obstack_printf.texi: Update.
16614         * doc/glibc-functions/obstack_vprintf.texi: Update.
16615         Reported by Eric Blake.
16616
16617 2009-02-25  Bruno Haible  <bruno@clisp.org>
16618
16619         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
16620         with known value.
16621         Reported by Gary V. Vaughan <gary@gnu.org>.
16622
16623 2009-02-25  Bruno Haible  <bruno@clisp.org>
16624
16625         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
16626         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
16627         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
16628         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
16629         Reported by Gary V. Vaughan <gary@gnu.org>.
16630
16631 2009-02-25  Bruno Haible  <bruno@clisp.org>
16632
16633         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
16634         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
16635         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
16636         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
16637         Reported by Gary V. Vaughan <gary@gnu.org>.
16638
16639 2009-02-25  Eric Blake  <ebb9@byu.net>
16640
16641         tests: skip fseek/ftell tests if ungetc is broken
16642         * m4/ungetc.m4: New file.
16643         * modules/fseek-tests: Split test, so ungetc dependency is
16644         separate from rest of test.
16645         * modules/fseeko-tests: Likewise.
16646         * modules/ftell-tests: Likewise.
16647         * modules/ftello-tests: Likewise.
16648         * tests/test-fseek.c (main): Isolate ungetc dependency.
16649         * tests/test-fseeko.c (main): Likewise.
16650         * tests/test-ftell.c (main): Likewise.
16651         * tests/test-ftello.c (main): Likewise.
16652         * tests/test-fseek2.sh: New file.
16653         * tests/test-fseeko2.sh: Likewise.
16654         * tests/test-ftell2.sh: Likewise.
16655         * tests/test-ftello2.sh: Likewise.
16656
16657 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
16658
16659         test-getaddrinfo: fix usage of skip return code 77
16660         * tests/test-gettaddrinfo.c: Return skip code 77 only
16661         for first occurance of skip (4x77 is not 77)
16662
16663 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
16664
16665         strtod: avoid C99 decl-after-statement
16666         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
16667
16668 2009-02-24  Eric Blake  <ebb9@byu.net>
16669
16670         strtod: detect HP-UX 11.31 bug
16671         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
16672         Reported by Gary V. Vaughan.
16673
16674 2009-02-23  Bruno Haible  <bruno@clisp.org>
16675
16676         Fix invalid read past end of memory block.
16677         * lib/vasnprintf.c (DCHAR_SET): Define.
16678         (local_wcslen): Define only when needed.
16679         (local_strnlen, local_wcsnlen): New functions.
16680         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
16681         directives that involve a conversion ourselves.
16682         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
16683         wcsnlen, mbrtowc, wcrtomb.
16684         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
16685         * tests/test-vasprintf-posix.c (test_function): Likewise.
16686         * tests/test-snprintf-posix.h (test_function): Likewise.
16687         * tests/test-sprintf-posix.h (test_function): Likewise.
16688         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16689
16690 2009-02-22  Bruno Haible  <bruno@clisp.org>
16691
16692         Implement new clarified decomposition of Hangul syllables.
16693         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
16694         of type LTV, return only a pairwise decomposition.
16695         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
16696         Likewise.
16697         * tests/uninorm/test-decomposition.c (main): Updated expected result.
16698         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
16699         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
16700
16701 2009-02-22  Bruno Haible  <bruno@clisp.org>
16702
16703         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
16704         zero-length results and shrink excess allocated memory.
16705         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
16706         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
16707         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
16708         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
16709         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
16710         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
16711         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
16712         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
16713         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
16714         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
16715         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
16716         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
16717
16718 2009-02-21  Bruno Haible  <bruno@clisp.org>
16719
16720         * doc/gnulib.texi: Include safe-alloc.texi earlier.
16721         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
16722         spaces after a period. Put a space between a macro name and its
16723         argument list. Trivial rewordings.
16724         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
16725         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
16726         (main): Return 0 explicitly.
16727
16728 2009-02-21  Bruno Haible  <bruno@clisp.org>
16729
16730         Tests for module 'uninorm/filter'.
16731         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
16732         * modules/uninorm/filter-tests: New file.
16733
16734         New module 'uninorm/filter'.
16735         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
16736         uninorm_filter_flush, uninorm_filter_free): New declarations.
16737         * lib/uninorm/uninorm-filter.c: New file.
16738         * modules/uninorm/filter: New file.
16739
16740 2009-02-21  Bruno Haible  <bruno@clisp.org>
16741
16742         Tests for module 'uninorm/nfkc'.
16743         * tests/uninorm/test-nfkc.c: New file.
16744         * tests/uninorm/test-u8-nfkc.c: New file.
16745         * tests/uninorm/test-u16-nfkc.c: New file.
16746         * tests/uninorm/test-u32-nfkc.c: New file.
16747         * tests/uninorm/test-u32-nfkc-big.sh: New file.
16748         * tests/uninorm/test-u32-nfkc-big.c: New file.
16749         * modules/uninorm/nfkc-tests: New file.
16750
16751         New module 'uninorm/nfkc'.
16752         * lib/uninorm/nfkc.c: New file.
16753         * modules/uninorm/nfkc: New file.
16754
16755         Tests for module 'uninorm/nfkd'.
16756         * tests/uninorm/test-nfkd.c: New file.
16757         * tests/uninorm/test-u8-nfkd.c: New file.
16758         * tests/uninorm/test-u16-nfkd.c: New file.
16759         * tests/uninorm/test-u32-nfkd.c: New file.
16760         * tests/uninorm/test-u32-nfkd-big.sh: New file.
16761         * tests/uninorm/test-u32-nfkd-big.c: New file.
16762         * modules/uninorm/nfkd-tests: New file.
16763
16764         New module 'uninorm/nfkd'.
16765         * lib/uninorm/nfkd.c: New file.
16766         * modules/uninorm/nfkd: New file.
16767
16768         Tests for module 'uninorm/nfc'.
16769         * tests/uninorm/test-nfc.c: New file.
16770         * tests/uninorm/test-u8-nfc.c: New file.
16771         * tests/uninorm/test-u16-nfc.c: New file.
16772         * tests/uninorm/test-u32-nfc.c: New file.
16773         * tests/uninorm/test-u32-nfc-big.sh: New file.
16774         * tests/uninorm/test-u32-nfc-big.c: New file.
16775         * modules/uninorm/nfc-tests: New file.
16776
16777         New module 'uninorm/nfc'.
16778         * lib/uninorm/nfc.c: New file.
16779         * modules/uninorm/nfc: New file.
16780
16781         Tests for module 'uninorm/nfd'.
16782         * tests/uninorm/test-nfd.c: New file.
16783         * tests/uninorm/test-u8-nfd.c: New file.
16784         * tests/uninorm/test-u16-nfd.c: New file.
16785         * tests/uninorm/test-u32-nfd.c: New file.
16786         * tests/uninorm/test-u32-nfd-big.sh: New file.
16787         * tests/uninorm/test-u32-nfd-big.c: New file.
16788         * tests/uninorm/test-u32-normalize-big.h: New file.
16789         * tests/uninorm/test-u32-normalize-big.c: New file.
16790         * tests/uninorm/NormalizationTest.txt: New file, created from
16791         Unicode 5.1.0 NormalizationTest.txt.
16792         * modules/uninorm/nfd-tests: New file.
16793
16794         New module 'uninorm/nfd'.
16795         * lib/uninorm/nfd.c: New file.
16796         * modules/uninorm/nfd: New file.
16797
16798         New module 'uninorm/u32-normalize'.
16799         * lib/uninorm/u32-normalize.c: New file.
16800         * modules/uninorm/u32-normalize: New file.
16801
16802         New module 'uninorm/u16-normalize'.
16803         * lib/uninorm/u16-normalize.c: New file.
16804         * modules/uninorm/u16-normalize: New file.
16805
16806         New module 'uninorm/u8-normalize'.
16807         * lib/uninorm/u8-normalize.c: New file.
16808         * lib/uninorm/normalize-internal.h: New file.
16809         * lib/uninorm/u-normalize-internal.h: New file.
16810         * modules/uninorm/u8-normalize: New file.
16811
16812         New module 'uninorm/decompose-internal'.
16813         * lib/uninorm/decompose-internal.c: New file.
16814         * modules/uninorm/decompose-internal: New file.
16815
16816         Tests for module 'uninorm/composition'.
16817         * tests/uninorm/test-composition.c: New file.
16818         * modules/uninorm/composition-tests: New file.
16819
16820         New module 'uninorm/composition'.
16821         * lib/uninorm/composition.c: New file.
16822         * lib/uninorm/composition-table.gperf: New file, generated by
16823         gen-uni-tables.
16824         * modules/uninorm/composition: New file.
16825
16826         Tests for module 'uninorm/compat-decomposition'.
16827         * tests/uninorm/test-compat-decomposition.c: New file.
16828         * modules/uninorm/compat-decomposition-tests: New file.
16829
16830         New module 'uninorm/compat-decomposition'.
16831         * lib/uninorm/decompose-internal.h: New file.
16832         * lib/uninorm/compat-decomposition.c: New file.
16833         * modules/uninorm/compat-decomposition: New file.
16834
16835         Tests for module 'uninorm/canonical-decomposition'.
16836         * tests/uninorm/test-canonical-decomposition.c: New file.
16837         * modules/uninorm/canonical-decomposition-tests: New file.
16838
16839         New module 'uninorm/canonical-decomposition'.
16840         * lib/uninorm/canonical-decomposition.c: New file.
16841         * modules/uninorm/canonical-decomposition: New file.
16842
16843         Tests for module 'uninorm/decomposition'.
16844         * tests/uninorm/test-decomposition.c: New file.
16845         * modules/uninorm/decomposition-tests: New file.
16846
16847         New module 'uninorm/decomposition'.
16848         * lib/uninorm/decomposition.c: New file.
16849         * modules/uninorm/decomposition: New file.
16850
16851         New module 'uninorm/decomposition-table'.
16852         * lib/uninorm/decomposition-table.h: New file.
16853         * lib/uninorm/decomposition-table.c: New file.
16854         * lib/uninorm/decomposition-table1.h: New file, generated by
16855         gen-uni-tables.
16856         * lib/uninorm/decomposition-table2.h: New file, generated by
16857         gen-uni-tables.
16858         * modules/uninorm/decomposition-table: New file.
16859
16860         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
16861         (UC_DECOMP_*): New enumeration items.
16862         (get_decomposition): New function.
16863         (struct decomp_table): New type.
16864         (output_decomposition, output_decomposition_tables): New functions.
16865         (unicode_composition_exclusions): New variable.
16866         (fill_composition_exclusions, debug_output_composition_tables): New
16867         functions.
16868         (main): Accept one more argument. Invoke fill_composition_exclusions.
16869         Output decomposition and composition tables.
16870
16871         New module 'uninorm/base'.
16872         * lib/uninorm.h: New file.
16873         * lib/unictype.h: Update comment.
16874         * modules/uninorm/base: New file.
16875
16876 2009-02-21  David Lutterkort  <lutter@redhat.com>
16877
16878         Tests for module 'safe-alloc'.
16879         * tests/test-safe-alloc.c: New file.
16880         * modules/safe-alloc-tests: New file.
16881
16882         New module 'safe-alloc'.
16883         * lib/safe-alloc.h: New file.
16884         * lib/safe-alloc.c: New file.
16885         * m4/safe-alloc.m4: New file.
16886         * modules/safe-alloc: New file.
16887         * doc/safe-alloc.texi: New file.
16888         * doc/gnulib.texi: Include it.
16889         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
16890         safe-alloc.
16891
16892 2009-02-18  Bruno Haible  <bruno@clisp.org>
16893
16894         Fix link error on non-glibc systems.
16895         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
16896         variable.
16897         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16898
16899 2009-02-18  Jim Meyering  <meyering@redhat.com>
16900
16901         fts: avoid used-uninitialized error due to recent change
16902         * lib/fts.c (fts_read): Guard uses of the new member,
16903         parent->fts_n_dirs_remaining, since it's not relevant for
16904         the parent of a directory specified on the command-line.
16905
16906 2009-02-17  James Youngman  <jay@gnu.org>
16907             Bruno Haible  <bruno@clisp.org>
16908
16909         * m4/include_next.m4: Reformulate comment.
16910
16911 2009-02-16  Jim Meyering  <meyering@redhat.com>
16912
16913         fts: add #if guards so that the fts_lgpl module still builds
16914         * lib/fts.c: Guard just-added hash-table-using parts with
16915         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
16916         Reported by Simon Josefsson.
16917
16918 2009-02-15  Bruno Haible  <bruno@clisp.org>
16919
16920         * modules/array-mergesort-tests: New file.
16921         * tests/test-array-mergesort.c: New file.
16922
16923         New module 'array-mergesort'.
16924         * modules/array-mergesort: New file.
16925         * lib/array-mergesort.h: New file.
16926
16927 2009-02-15  Bruno Haible  <bruno@clisp.org>
16928
16929         Fix 2009-02-07 commit.
16930         * lib/gen-uni-tables.c (output_predicate, output_category,
16931         output_combclass, output_bidi_category, output_decimal_digit,
16932         output_digit, output_numeric, output_mirror, output_scripts,
16933         output_ident_category, output_simple_mapping): Fix format directives.
16934         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
16935
16936 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
16937
16938         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
16939         fixes are available from IBM.
16940
16941 2009-02-13  Jim Meyering  <meyering@redhat.com>
16942
16943         fts: arrange not to stat non-directories in more cases
16944         This makes GNU find (when it doesn't need to stat each file)
16945         *much* more efficient at traversing reiserfs file systems.
16946         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
16947         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
16948         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
16949         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
16950         (leaf_optimization_applies): New function.
16951         (LCO_hash, LCO_compare): New helper functions.
16952         (link_count_optimize_ok): New function.
16953         (fts_stat): Initialize new member (if dir).
16954         (fts_read): Decrement parent's fts_n_dirs_remaining count if
16955         we've just stat'ed a directory.  Skip the stat call when possible.
16956         ---
16957         Note this AFS-related exchange:
16958         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
16959         and note find's pioctl call in find/fstype.c.
16960         But that is necessary only if you want to enable the
16961         optimization for AFS, and for now, I don't.
16962
16963         fts: move a function definition "up" (no semantic change)
16964         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
16965         "up" to precede upcoming use of a related function.
16966
16967 2009-02-11  Jim Meyering  <meyering@redhat.com>
16968
16969         fts: correct internal computation of nlinks (optimization-related)
16970         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
16971         whether the current entry is a directory, so don't test it.
16972
16973 2009-02-10  Bruno Haible  <bruno@clisp.org>
16974
16975         Tests for module 'uniwbrk/ulc-wordbreaks'.
16976         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
16977         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
16978         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
16979
16980         Tests for module 'uniwbrk/u32-wordbreaks'.
16981         * modules/uniwbrk/u32-wordbreaks-tests: New file.
16982         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
16983
16984         Tests for module 'uniwbrk/u16-wordbreaks'.
16985         * modules/uniwbrk/u16-wordbreaks-tests: New file.
16986         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
16987
16988         Tests for module 'uniwbrk/u8-wordbreaks'.
16989         * modules/uniwbrk/u8-wordbreaks-tests: New file.
16990         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
16991
16992 2009-02-10  Bruno Haible  <bruno@clisp.org>
16993
16994         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
16995         property.
16996         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
16997         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
16998         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
16999
17000 2009-02-10  Simon Josefsson  <simon@josefsson.org>
17001
17002         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
17003         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
17004
17005 2009-02-10  Bruno Haible  <bruno@clisp.org>
17006
17007         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
17008         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
17009         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
17010         * lib/unilbrk/u8-possible-linebreaks.c: Update.
17011         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
17012         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
17013
17014 2009-02-09  Simon Josefsson  <simon@josefsson.org>
17015
17016         * lib/sockets.h (gl_fd_to_handle): New function.
17017
17018         * tests/test-sockets.c: Call gl_fd_to_handle.
17019
17020 2009-02-09  Bruno Haible  <bruno@clisp.org>
17021
17022         * doc/havelib.texi: Document the conventions on bi-arch systems.
17023
17024 2009-02-08  Bruno Haible  <bruno@clisp.org>
17025
17026         Document the AC_LIB_LINKFLAGS macro.
17027         * doc/havelib.texi: New file, mostly written on 2005-05-24.
17028         * doc/gnulib.texi: Include it.
17029
17030 2009-02-08  Bruno Haible  <bruno@clisp.org>
17031
17032         Fix wrong order of sections, compared to TOC.
17033         * doc/gnulib.texi: Include relocatable-maint.texi after the
17034         "Regular expressions" node, not before.
17035
17036 2009-02-08  Bruno Haible  <bruno@clisp.org>
17037
17038         Tests for module 'unicase/totitle'.
17039         * modules/unicase/totitle-tests: New file.
17040
17041         Tests for module 'unicase/tolower'.
17042         * modules/unicase/tolower-tests: New file.
17043
17044         Tests for module 'unicase/toupper'.
17045         * modules/unicase/toupper-tests: New file.
17046         * tests/unicase/test-mapping-part1.h: New file.
17047         * tests/unicase/test-mapping-part2.h: New file.
17048
17049         New module 'unicase/totitle'.
17050         * modules/unicase/totitle: New file.
17051         * lib/unicase/totitle.c: New file.
17052
17053         New module 'unicase/tolower'.
17054         * modules/unicase/tolower: New file.
17055         * lib/unicase/tolower.c: New file.
17056
17057         New module 'unicase/toupper'.
17058         * modules/unicase/toupper: New file.
17059         * lib/unicase/toupper.c: New file.
17060         * lib/unicase/simple-mapping.h: New file.
17061
17062         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
17063         (mapping_table): New structure.
17064         (output_simple_mapping): New function.
17065         (main): Invoke output_simple_mapping_test and output_simple_mapping.
17066         * modules/gen-uni-tables (Description): Update.
17067         * lib/unicase/toupper.h: New file, automatically generated by
17068         gen-uni-tables.
17069         * lib/unicase/tolower.h: New file, automatically generated by
17070         gen-uni-tables.
17071         * lib/unicase/totitle.h: New file, automatically generated by
17072         gen-uni-tables.
17073         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
17074         gen-uni-tables.
17075         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
17076         gen-uni-tables.
17077         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
17078         gen-uni-tables.
17079
17080         New module 'unicase/base'.
17081         * modules/unicase/base: New file.
17082         * lib/unicase.h: New file.
17083
17084 2009-02-08  Bruno Haible  <bruno@clisp.org>
17085
17086         New module 'uniwbrk/ulc-wordbreaks'.
17087         * modules/uniwbrk/ulc-wordbreaks: New file.
17088         * lib/uniwbrk/ulc-wordbreaks.c: New file.
17089
17090         New module 'uniwbrk/u32-wordbreaks'.
17091         * modules/uniwbrk/u32-wordbreaks: New file.
17092         * lib/uniwbrk/u32-wordbreaks.c: New file.
17093
17094         New module 'uniwbrk/u16-wordbreaks'.
17095         * modules/uniwbrk/u16-wordbreaks: New file.
17096         * lib/uniwbrk/u16-wordbreaks.c: New file.
17097
17098         New module 'uniwbrk/u8-wordbreaks'.
17099         * modules/uniwbrk/u8-wordbreaks: New file.
17100         * lib/uniwbrk/u8-wordbreaks.c: New file.
17101         * lib/uniwbrk/u-wordbreaks.h: New file.
17102
17103         New module 'uniwbrk/table'.
17104         * modules/uniwbrk/table: New file.
17105         * lib/uniwbrk/wbrktable.h: New file.
17106         * lib/uniwbrk/wbrktable.c: New file.
17107
17108         New module 'uniwbrk/wordbreak-property'.
17109         * modules/uniwbrk/wordbreak-property: New file.
17110         * lib/uniwbrk/wordbreak-property.c: New file.
17111
17112         * lib/gen-uni-tables.c (WBP_*): New enum items.
17113         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
17114         (unicode_org_wbp): New variable.
17115         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
17116         New functions.
17117         (wbp_table): New structure.
17118         (output_wbp, output_wbrk_tables): New functions.
17119         (main): Accept additional argument. Invoke fill_org_wbp,
17120         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
17121         output_wbrk_tables.
17122         * modules/gen-uni-tables (Description): Update.
17123         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
17124         gen-uni-tables.
17125
17126         New module 'uniwbrk/base'.
17127         * modules/uniwbrk/base: New file.
17128         * lib/uniwbrk.h: New file.
17129
17130 2009-02-08  Bruno Haible  <bruno@clisp.org>
17131
17132         Update to Unicode 5.1.0.
17133         * lib/gen-uni-tables.c (is_property_alphabetic): Include
17134         U+2185..U+2188.
17135         (is_property_default_ignorable_code_point): Don't include characters
17136         of category Cc or Cs and not-a-characters.
17137         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
17138         U+0D79, U+109E, U+109F, U+A60C.
17139         * lib/unictype/bidi_of.h: Regenerated.
17140         * lib/unictype/blocks.h: Regenerated.
17141         * lib/unictype/categ_C.h: Regenerated.
17142         * lib/unictype/categ_Cf.h: Regenerated.
17143         * lib/unictype/categ_Cn.h: Regenerated.
17144         * lib/unictype/categ_L.h: Regenerated.
17145         * lib/unictype/categ_Ll.h: Regenerated.
17146         * lib/unictype/categ_Lm.h: Regenerated.
17147         * lib/unictype/categ_Lo.h: Regenerated.
17148         * lib/unictype/categ_Lu.h: Regenerated.
17149         * lib/unictype/categ_M.h: Regenerated.
17150         * lib/unictype/categ_Mc.h: Regenerated.
17151         * lib/unictype/categ_Me.h: Regenerated.
17152         * lib/unictype/categ_Mn.h: Regenerated.
17153         * lib/unictype/categ_N.h: Regenerated.
17154         * lib/unictype/categ_Nd.h: Regenerated.
17155         * lib/unictype/categ_Nl.h: Regenerated.
17156         * lib/unictype/categ_No.h: Regenerated.
17157         * lib/unictype/categ_P.h: Regenerated.
17158         * lib/unictype/categ_Pd.h: Regenerated.
17159         * lib/unictype/categ_Pe.h: Regenerated.
17160         * lib/unictype/categ_Pf.h: Regenerated.
17161         * lib/unictype/categ_Pi.h: Regenerated.
17162         * lib/unictype/categ_Po.h: Regenerated.
17163         * lib/unictype/categ_Ps.h: Regenerated.
17164         * lib/unictype/categ_S.h: Regenerated.
17165         * lib/unictype/categ_Sk.h: Regenerated.
17166         * lib/unictype/categ_Sm.h: Regenerated.
17167         * lib/unictype/categ_So.h: Regenerated.
17168         * lib/unictype/categ_of.h: Regenerated.
17169         * lib/unictype/combining.h: Regenerated.
17170         * lib/unictype/ctype_alnum.h: Regenerated.
17171         * lib/unictype/ctype_alpha.h: Regenerated.
17172         * lib/unictype/ctype_graph.h: Regenerated.
17173         * lib/unictype/ctype_lower.h: Regenerated.
17174         * lib/unictype/ctype_print.h: Regenerated.
17175         * lib/unictype/ctype_punct.h: Regenerated.
17176         * lib/unictype/ctype_upper.h: Regenerated.
17177         * lib/unictype/decdigit.h: Regenerated.
17178         * lib/unictype/digit.h: Regenerated.
17179         * lib/unictype/mirror.h: Regenerated.
17180         * lib/unictype/numeric.h: Regenerated.
17181         * lib/unictype/pr_alphabetic.h: Regenerated.
17182         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
17183         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
17184         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
17185         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
17186         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
17187         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
17188         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
17189         * lib/unictype/pr_combining.h: Regenerated.
17190         * lib/unictype/pr_dash.h: Regenerated.
17191         * lib/unictype/pr_decimal_digit.h: Regenerated.
17192         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
17193         * lib/unictype/pr_deprecated.h: Regenerated.
17194         * lib/unictype/pr_diacritic.h: Regenerated.
17195         * lib/unictype/pr_extender.h: Regenerated.
17196         * lib/unictype/pr_format_control.h: Regenerated.
17197         * lib/unictype/pr_grapheme_base.h: Regenerated.
17198         * lib/unictype/pr_grapheme_extend.h: Regenerated.
17199         * lib/unictype/pr_grapheme_link.h: Regenerated.
17200         * lib/unictype/pr_id_continue.h: Regenerated.
17201         * lib/unictype/pr_id_start.h: Regenerated.
17202         * lib/unictype/pr_ideographic.h: Regenerated.
17203         * lib/unictype/pr_ignorable_control.h: Regenerated.
17204         * lib/unictype/pr_lowercase.h: Regenerated.
17205         * lib/unictype/pr_math.h: Regenerated.
17206         * lib/unictype/pr_numeric.h: Regenerated.
17207         * lib/unictype/pr_other_alphabetic.h: Regenerated.
17208         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
17209         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
17210         * lib/unictype/pr_other_id_continue.h: Regenerated.
17211         * lib/unictype/pr_other_lowercase.h: Regenerated.
17212         * lib/unictype/pr_other_math.h: Regenerated.
17213         * lib/unictype/pr_punctuation.h: Regenerated.
17214         * lib/unictype/pr_sentence_terminal.h: Regenerated.
17215         * lib/unictype/pr_soft_dotted.h: Regenerated.
17216         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
17217         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
17218         * lib/unictype/pr_unified_ideograph.h: Regenerated.
17219         * lib/unictype/pr_uppercase.h: Regenerated.
17220         * lib/unictype/pr_xid_continue.h: Regenerated.
17221         * lib/unictype/pr_xid_start.h: Regenerated.
17222         * lib/unictype/pr_zero_width.h: Regenerated.
17223         * lib/unictype/scripts.h: Regenerated.
17224         * lib/unictype/scripts_byname.gperf: Regenerated.
17225         * lib/unictype/sy_java_ident.h: Regenerated.
17226         * lib/unilbrk/lbrkprop1.h: Regenerated.
17227         * lib/unilbrk/lbrkprop2.h: Regenerated.
17228         * tests/unictype/test-categ_C.c: Regenerated.
17229         * tests/unictype/test-categ_Cf.c: Regenerated.
17230         * tests/unictype/test-categ_Cn.c: Regenerated.
17231         * tests/unictype/test-categ_L.c: Regenerated.
17232         * tests/unictype/test-categ_Ll.c: Regenerated.
17233         * tests/unictype/test-categ_Lm.c: Regenerated.
17234         * tests/unictype/test-categ_Lo.c: Regenerated.
17235         * tests/unictype/test-categ_Lu.c: Regenerated.
17236         * tests/unictype/test-categ_M.c: Regenerated.
17237         * tests/unictype/test-categ_Mc.c: Regenerated.
17238         * tests/unictype/test-categ_Me.c: Regenerated.
17239         * tests/unictype/test-categ_Mn.c: Regenerated.
17240         * tests/unictype/test-categ_N.c: Regenerated.
17241         * tests/unictype/test-categ_Nd.c: Regenerated.
17242         * tests/unictype/test-categ_Nl.c: Regenerated.
17243         * tests/unictype/test-categ_No.c: Regenerated.
17244         * tests/unictype/test-categ_P.c: Regenerated.
17245         * tests/unictype/test-categ_Pd.c: Regenerated.
17246         * tests/unictype/test-categ_Pe.c: Regenerated.
17247         * tests/unictype/test-categ_Pf.c: Regenerated.
17248         * tests/unictype/test-categ_Pi.c: Regenerated.
17249         * tests/unictype/test-categ_Po.c: Regenerated.
17250         * tests/unictype/test-categ_Ps.c: Regenerated.
17251         * tests/unictype/test-categ_S.c: Regenerated.
17252         * tests/unictype/test-categ_Sk.c: Regenerated.
17253         * tests/unictype/test-categ_Sm.c: Regenerated.
17254         * tests/unictype/test-categ_So.c: Regenerated.
17255         * tests/unictype/test-ctype_alnum.c: Regenerated.
17256         * tests/unictype/test-ctype_alpha.c: Regenerated.
17257         * tests/unictype/test-ctype_graph.c: Regenerated.
17258         * tests/unictype/test-ctype_lower.c: Regenerated.
17259         * tests/unictype/test-ctype_print.c: Regenerated.
17260         * tests/unictype/test-ctype_punct.c: Regenerated.
17261         * tests/unictype/test-ctype_upper.c: Regenerated.
17262         * tests/unictype/test-decdigit.h: Regenerated.
17263         * tests/unictype/test-digit.h: Regenerated.
17264         * tests/unictype/test-numeric.h: Regenerated.
17265         * tests/unictype/test-pr_alphabetic.c: Regenerated.
17266         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
17267         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
17268         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
17269         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
17270         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
17271         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
17272         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
17273         * tests/unictype/test-pr_combining.c: Regenerated.
17274         * tests/unictype/test-pr_dash.c: Regenerated.
17275         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
17276         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
17277         * tests/unictype/test-pr_deprecated.c: Regenerated.
17278         * tests/unictype/test-pr_diacritic.c: Regenerated.
17279         * tests/unictype/test-pr_extender.c: Regenerated.
17280         * tests/unictype/test-pr_format_control.c: Regenerated.
17281         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
17282         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
17283         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
17284         * tests/unictype/test-pr_id_continue.c: Regenerated.
17285         * tests/unictype/test-pr_id_start.c: Regenerated.
17286         * tests/unictype/test-pr_ideographic.c: Regenerated.
17287         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
17288         * tests/unictype/test-pr_lowercase.c: Regenerated.
17289         * tests/unictype/test-pr_math.c: Regenerated.
17290         * tests/unictype/test-pr_numeric.c: Regenerated.
17291         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
17292         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
17293         Regenerated.
17294         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
17295         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
17296         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
17297         * tests/unictype/test-pr_other_math.c: Regenerated.
17298         * tests/unictype/test-pr_punctuation.c: Regenerated.
17299         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
17300         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
17301         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
17302         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
17303         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
17304         * tests/unictype/test-pr_uppercase.c: Regenerated.
17305         * tests/unictype/test-pr_xid_continue.c: Regenerated.
17306         * tests/unictype/test-pr_xid_start.c: Regenerated.
17307         * tests/unictype/test-pr_zero_width.c: Regenerated.
17308
17309         Update to Unicode 5.1.0.
17310         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
17311         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
17312         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
17313         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
17314         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
17315         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
17316         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
17317         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
17318         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
17319         (nonspacing_table_ind): Update.
17320         * tests/uniwidth/test-uc_width2.sh: Update expected result.
17321
17322         Update to Unicode 5.1.0.
17323         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
17324         code transform.
17325         * lib/uniname/uniname.c (unicode_character_name,
17326         unicode_name_character): Add the range 0x1Fxxx to the code transform.
17327         * lib/uniname/uninames.h: Regenerated.
17328         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
17329
17330 2009-02-07  Bruno Haible  <bruno@clisp.org>
17331
17332         Merge gen-ctype and gen-lbrk into a single program.
17333         * lib/gen-uni-tables.c: New file, incorporating
17334         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
17335         Add directory prefixes to the names of the generated files.
17336         * lib/unictype/gen-ctype.c: Remove file.
17337         * lib/unilbrk/gen-lbrk.c: Remove file.
17338         * modules/gen-uni-tables: New file.
17339         * modules/unictype/gen-ctype: Remove file.
17340         * modules/unilbrk/gen-lbrk: Remove file.
17341
17342 2009-02-07  Bruno Haible  <bruno@clisp.org>
17343
17344         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
17345
17346         New module 'unistr/u32-strcoll'.
17347         * modules/unistr/u32-strcoll: New file.
17348         * lib/unistr/u32-strcoll.c: New file.
17349
17350         New module 'unistr/u16-strcoll'.
17351         * modules/unistr/u16-strcoll: New file.
17352         * lib/unistr/u16-strcoll.c: New file.
17353
17354         New module 'unistr/u8-strcoll'.
17355         * modules/unistr/u8-strcoll: New file.
17356         * lib/unistr/u8-strcoll.c: New file.
17357         * lib/unistr/u-strcoll.h: New file.
17358
17359 2009-02-07  Bruno Haible  <bruno@clisp.org>
17360
17361         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
17362         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17363         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17364         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
17365         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
17366         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
17367
17368 2009-02-07  Bruno Haible  <bruno@clisp.org>
17369
17370         Make 64-bit clean.
17371         * lib/unictype/gen-ctype.c (output_predicate, output_category,
17372         output_combclass, output_bidi_category, output_decimal_digit,
17373         output_digit, output_numeric, output_mirror, output_scripts,
17374         output_ident_category): Use proper width specifier in format strings.
17375
17376 2009-02-07  Bruno Haible  <bruno@clisp.org>
17377
17378         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
17379         failure behaviour.
17380
17381 2009-02-07  Jim Meyering  <meyering@redhat.com>
17382
17383         regex: avoid compilation failure with upcoming gcc-4.4
17384         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
17385         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
17386         "... error: integer overflow in preprocessor expression".
17387
17388 2009-02-05  Ben Pfaff  <blp@gnu.org>
17389
17390         Fix link errors on Windows when close module is used.
17391         * modules/close: Add $(LIB_CLOSE) to Link section.
17392         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
17393         $(LIB_CLOSE) on Windows.
17394
17395 2009-02-05  Jim Meyering  <meyering@redhat.com>
17396
17397         still avoid unused-parameter warnings, but do it cleanly
17398         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
17399         (get_fs_usage): Cast to void instead.
17400         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
17401         (dev_from_mount_options, read_file_system_list): Cast to void.
17402         Prompted by Bruno Haible.
17403
17404 2009-02-04  Jim Meyering  <meyering@redhat.com>
17405
17406         fsusage.c: correct copyright year
17407         * lib/fsusage.c: Reflect year in which the change is pushed into
17408
17409         avoid misc. warnings
17410         * lib/fsusage.c (UNUSED_PARAM): Define.
17411         (get_fs_usage): Mark parameter "disk" as unused.
17412         * lib/getugroups.c (getgrent): Use "void" in prototype.
17413         * lib/mountlist.c: Mark unused parameters.
17414         (read_file_system_list): Declare a local with "const".
17415         * lib/nanosleep.c (getnow): Declare static.
17416         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
17417
17418         dirfd: set errno upon failure
17419         * lib/dirfd.c: Include <errno.h>.
17420         Set errno to ENOTSUP when returning -1.
17421         * modules/dirfd (Depends-on): Add errno.
17422         Suggested by John Kodis <kodis@comcast.net>.
17423
17424 2009-02-01  Bruno Haible  <bruno@clisp.org>
17425
17426         Don't assume sizeof (long) >= sizeof (void *).
17427         * lib/memcmp.c: Include stdint.h.
17428         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
17429         srcp2 to 'const byte *'.
17430         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
17431         types to uintptr_t.
17432         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
17433         * modules/memcmp (Depends-on): Add stdint.
17434         Reported by Ozkan Sezer <sezeroz@gmail.com>.
17435
17436 2009-01-30  Eric Blake  <ebb9@byu.net>
17437
17438         fix more require-before-expand issues
17439         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
17440         expand, AC_PROG_AWK.
17441         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
17442
17443 2009-01-28  Eric Blake  <ebb9@byu.net>
17444
17445         version-etc: use consistent URL formatting
17446         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
17447         Improve formatting.  Use fputs for string without %.
17448
17449 2009-01-28  Jim Meyering  <meyering@redhat.com>
17450
17451         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
17452         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
17453         "underquoted definition of NAME" from autoconf-2.59.
17454
17455 2009-01-28  Bruno Haible  <bruno@clisp.org>
17456
17457         * doc/gnulib.texi: Add "Obsolete modules" to index.
17458
17459 2009-01-28  Jim Meyering  <meyering@redhat.com>
17460
17461         useless-if-before-free: recognize more variants
17462         * build-aux/useless-if-before-free: Also recognize e.g.,
17463         if (NULL != p) free (p);
17464
17465 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
17466
17467         test-getaddrinfo: skip (don't fail) this test when there's no network
17468         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
17469         on the presumption that it means you lack network access.
17470
17471 2009-01-26  Jim Meyering  <meyering@redhat.com>
17472
17473         fflush: avoid warnings on modern systems
17474         * lib/fflush.c (rpl_fflush): Move declarations of locals,
17475         pos and result, into scopes where they're used.
17476
17477 2009-01-26  Eric Blake  <ebb9@byu.net>
17478
17479         Silence warning reintroduced by recent extensions patch.
17480         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
17481         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
17482         autoconf.
17483
17484         Backport improved autoconf semantics of AC_DEFUN_ONCE.
17485         * m4/00gnulib.m4: New file.
17486         * gnulib-tool (func_get_filelist): Always use it.
17487         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
17488         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
17489
17490 2009-01-25  Bruno Haible  <bruno@clisp.org>
17491
17492         Make test-quotearg work on MacOS X and AIX.
17493         * tests/test-quotearg.sh: New file.
17494         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
17495         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
17496         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
17497         include <libintl.h>.
17498         (fake_locale): Remove variable.
17499         (gettext, dgettext, dcgettext): Remove functions.
17500         (main): Instead of setting a fake locale, set a real locale. Call
17501         textdomain and bindtextdomain.
17502         * modules/quotearg-tests (Files): Add the new files.
17503         (Depends-on): Add gettext, setenv, unsetenv.
17504         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
17505         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
17506         Augment TESTS_ENVIRONMENT.
17507
17508 2009-01-25  Bruno Haible  <bruno@clisp.org>
17509
17510         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
17511         fr_FR.ISO8859-1 locale on MacOS X.
17512         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
17513         ja_JP.eucJP locale on MacOS X.
17514         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
17515         zh_CN.GB18030 locale on MacOS X.
17516
17517 2009-01-25  Bruno Haible  <bruno@clisp.org>
17518
17519         Avoid link errors on MacOS X 10.3.
17520         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
17521         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17522
17523 2009-01-25  Bruno Haible  <bruno@clisp.org>
17524
17525         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17526         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
17527         * modules/pipe (Files): Remove m4/posix_spawn.m4.
17528         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17529         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
17530         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17531         posix_spawnattr_init, posix_spawnattr_setsigmask,
17532         posix_spawnattr_setflags, posix_spawnattr_destroy.
17533
17534         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17535         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
17536         * modules/execute (Files): Remove m4/posix_spawn.m4.
17537         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17538         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17539         posix_spawnattr_init, posix_spawnattr_setsigmask,
17540         posix_spawnattr_setflags, posix_spawnattr_destroy.
17541
17542 2009-01-25  Bruno Haible  <bruno@clisp.org>
17543
17544         * lib/glthread/threadlib.c: Include <stdlib.h>.
17545
17546 2009-01-25  Bruno Haible  <bruno@clisp.org>
17547
17548         * lib/glthread/threadlib.c (dummy): New declaration.
17549
17550 2009-01-25  Bruno Haible  <bruno@clisp.org>
17551
17552         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
17553         multibyte characters also for the GB18030 encoding. Don't crash when
17554         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
17555
17556 2009-01-25  Bruno Haible  <bruno@clisp.org>
17557
17558         Avoid redefining 'struct random_data' on OSF/1 5.1.
17559         * lib/stdlib.in.h: Include <random.h> if it exists.
17560         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
17561         HAVE_RANDOM_H. Include <random.h> when testing whether
17562         'struct random_data' exists.
17563         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
17564
17565 2009-01-25  Bruno Haible  <bruno@clisp.org>
17566
17567         Don't install charset.alias on MacOS X >= 10.3.
17568         * lib/localcharset.c (DARWIN7): New macro.
17569         (get_charset_aliases): Hardcode the result for Darwin7.
17570         * modules/localcharset (install-exec-local): Don't install
17571         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
17572
17573 2009-01-25  Bruno Haible  <bruno@clisp.org>
17574
17575         Don't install charset.alias on mingw and Cygwin.
17576         * modules/localcharset (install-exec-local): Don't install
17577         charset.alias on mingw and Cygwin, if the file does not yet exist.
17578         The result for these platforms is hardcoded in localcharset.c.
17579
17580 2009-01-25  Bruno Haible  <bruno@clisp.org>
17581
17582         Make it possible again to use AC_GNU_SOURCE together with gnulib.
17583         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
17584         before requiring AC_USE_SYSTEM_EXTENSIONS.
17585
17586 2009-01-25  Jim Meyering  <meyering@redhat.com>
17587
17588         c-strtod: avoid warnings
17589         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
17590         "assignment discards qualifiers from pointer target type" warnings.
17591
17592 2009-01-24  Bruno Haible  <bruno@clisp.org>
17593
17594         Add support for non-UTF-8 locales on MacOS X.
17595         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
17596         canonical encodings. For Darwin 7 and newer, don't map traditional
17597         encodings to UTF-8.
17598         Reported by Vincent Lefevre <vincent@vinc17.org>
17599         at <http://savannah.gnu.org/bugs/?25235>.
17600
17601 2009-01-24  Bruno Haible  <bruno@clisp.org>
17602
17603         * doc/gnulib.texi (Obsolete modules): New section.
17604         Reported by Mike Frysinger <vapier@gentoo.org>.
17605
17606 2009-01-24  Bruno Haible  <bruno@clisp.org>
17607
17608         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
17609         (%.dvi): New rule.
17610
17611 2009-01-24  Bruno Haible  <bruno@clisp.org>
17612
17613         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
17614         Reported by Eric Blake.
17615
17616 2009-01-24  Bruno Haible  <bruno@clisp.org>
17617
17618         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
17619         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
17620         Reported by Gary V. Vaughan <gary@gnu.org>.
17621
17622 2009-01-24  Bruno Haible  <bruno@clisp.org>
17623
17624         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
17625
17626 2009-01-23  Bruno Haible  <bruno@clisp.org>
17627
17628         Make c-strtod, c-strtold usable in libraries.
17629         * lib/c-strtod.c: Include string.h instead of xalloc.h.
17630         (C_STRTOD): Call strdup instead of xstrdup.
17631         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
17632         * modules/c-strtold (Depends-on): Likewise.
17633         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
17634         * NEWS: Mention the change.
17635         Reported by Michael Gold <mgold@ncf.ca>.
17636
17637 2009-01-23  Jim Meyering  <meyering@redhat.com>
17638
17639         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
17640         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
17641         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
17642
17643 2009-01-23  Simon Josefsson  <simon@josefsson.org>
17644
17645         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
17646         GNU CoreUtils.
17647         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
17648         * modules/version-etc (Description): Update.
17649
17650 2009-01-22  Bruno Haible  <bruno@clisp.org>
17651
17652         Cache the C locale object.
17653         * lib/c-strtod.c (c_locale_cache): New variable.
17654         (c_locale): New function.
17655         (C_STRTOD): Use it, and don't call freelocale.
17656         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
17657         Suggested by Paolo Bonzini.
17658
17659 2009-01-21  Bruno Haible  <bruno@clisp.org>
17660
17661         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
17662         conditions other than overflow.
17663
17664 2009-01-21  Bruno Haible  <bruno@clisp.org>
17665
17666         * lib/c-strtod.c: Include errno.h.
17667         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
17668         value from STRTOD_L and STRTOD.
17669
17670 2009-01-21  Bruno Haible  <bruno@clisp.org>
17671         and Jim Meyering  <meyering@redhat.com>
17672
17673         nanosleep: skip configure test (fail it) for apple universal builds
17674         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
17675         universal builds, assume that nanosleep does not work.
17676         * modules/nanosleep (Depends-on): Add multiarch.
17677
17678         mktime: skip configure test (fail it) for apple universal builds
17679         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
17680         universal builds, assume that mktime does not work.
17681         * modules/mktime (Depends-on): Add multiarch.
17682
17683 2009-01-21  Eric Blake  <ebb9@byu.net>
17684
17685         multiarch: avoid expand-before-require warning
17686         * modules/multiarch (configure.ac): Require, rather than expand,
17687         gl_MULTIARCH.
17688         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
17689         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
17690         enforce that all clients require it.  Partial reversion of
17691         2008-12-29 patch.
17692
17693         error: avoid expand-before-require warning
17694         * modules/errno (configure.ac): Require, rather than expand,
17695         gl_HEADER_ERRNO_H.
17696         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
17697         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
17698         enforce that all clients require it.
17699
17700         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
17701         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
17702         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
17703         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
17704
17705 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
17706
17707         Revert:
17708         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17709
17710         regex: do not depend on obsolete modules.
17711         * modules/regex: Remove memcmp and memmove.
17712
17713 2009-01-20  Bruno Haible  <bruno@clisp.org>
17714
17715         Make the 'link' module link on Windows NT 4.
17716         * lib/link.c (_WIN32_WINNT): Don't define.
17717         (CreateHardLinkFuncType): New type.
17718         (CreateHardLinkFunc, initialized): New variables.
17719         (initialize): New function.
17720         (link): Invoke CreateHardLink indirectly through the function pointer.
17721
17722 2009-01-20  Bruno Haible  <bruno@clisp.org>
17723
17724         Fix compilation failure on mingw.
17725         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
17726
17727 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
17728
17729         * doc/c-strtod.texi: Mention a couple of restrictions.
17730
17731 2009-01-20  Jim Meyering  <meyering@redhat.com>
17732
17733         gettimeofday: move more declarations out of functions
17734         * lib/gettimeofday.c: Move extern declarations of tzset and
17735         gmtime out of containing functions.  Prompted by Bruno Haible.
17736
17737 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17738
17739         regex: do not depend on obsolete modules.
17740         * modules/regex: Remove memcmp and memmove.
17741
17742 2009-01-19  Bruno Haible  <bruno@clisp.org>
17743
17744         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17745         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
17746         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17747         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
17748         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
17749
17750 2009-01-19  Bruno Haible  <bruno@clisp.org>
17751
17752         * tests/test-link.c: Include <errno.h>.
17753         (main): Exit with code 77 when a hard link cannot be created due to
17754         the file system.
17755         * tests/test-link.sh: Skip test when a hard link cannot be created due
17756         to the file system.
17757         Suggested by Eric Blake.
17758
17759 2009-01-19  Martin Lambers  <marlam@marlam.de>
17760
17761         * modules/link-tests: New file.
17762         * tests/test-link.sh: New file.
17763         * tests/test-link.c: New file.
17764
17765 2009-01-19  Eric Blake  <ebb9@byu.net>
17766
17767         doc: mention another function added in cygwin 1.7.0
17768         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
17769         Another new function in cygwin 1.7.
17770
17771 2009-01-19  Bruno Haible  <bruno@clisp.org>
17772
17773         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17774         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
17775         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
17776         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17777         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17778         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
17779         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17780         * m4/md4.m4 (gl_MD4): Likewise.
17781         * m4/md5.m4 (gl_MD5): Likewise.
17782         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
17783         * m4/sha1.m4 (gl_SHA1): Likewise.
17784         * m4/sha256.m4 (gl_SHA256): Likewise.
17785         * m4/sha512.m4 (gl_SHA512): Likewise.
17786
17787 2009-01-19  Bruno Haible  <bruno@clisp.org>
17788
17789         * modules/uniname/uniname-tests (Depends-on): Add progname.
17790         * tests/uniname/test-uninames.c: Include progname.h.
17791         (main): Call set_program_name.
17792
17793         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
17794         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
17795         (main): Call set_program_name.
17796
17797         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
17798         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
17799         (main): Call set_program_name.
17800
17801         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
17802         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
17803         (main): Call set_program_name.
17804
17805         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
17806         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
17807         (main): Call set_program_name.
17808
17809         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
17810         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
17811         (main): Call set_program_name.
17812
17813         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
17814         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
17815         (main): Call set_program_name.
17816
17817         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
17818         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
17819         (main): Call set_program_name.
17820
17821         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
17822         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
17823         (main): Call set_program_name.
17824
17825 2009-01-19  Eric Blake  <ebb9@byu.net>
17826
17827         test-unistd: test previous patch
17828         * tests/test-unistd.c: Test *_FILENO macros.
17829
17830         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
17831         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17832         Guarantee a definition.
17833         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
17834         * modules/unistd-safer (Depends-on): Add dependency on unistd.
17835         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
17836         * lib/dup-safer.c (STDERR_FILENO): Likewise.
17837         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17838         Likewise.
17839         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
17840         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
17841         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17842         Likewise.
17843         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
17844         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
17845         (STDERR_FILENO): Likewise.
17846         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
17847         (STDERR_FILENO): Likewise.
17848         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
17849         (STDERR_FILENO): Likewise.
17850         Reported by Elbert Pol.
17851
17852 2009-01-19  Eric Blake  <ebb9@byu.net>
17853
17854         doc: mention more functions added in cygwin 1.7.0
17855         * doc/posix-functions/abort.texi (abort): Update wording related
17856         to cygwin.
17857         * doc/posix-functions/daylight.texi (daylight): Likewise.
17858         * doc/posix-functions/optarg.texi (optarg): Likewise.
17859         * doc/posix-functions/optarg.texi (opterr): Likewise.
17860         * doc/posix-functions/optarg.texi (optind): Likewise.
17861         * doc/posix-functions/optarg.texi (optopt): Likewise.
17862         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
17863         worked in 1.5.x, and was withdrawn in 1.7.
17864         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17865         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
17866         cygwin versions.
17867         * doc/posix-functions/perror.texi (perror): Likewise.
17868         * doc/posix-functions/printf.texi (printf): Likewise.
17869         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17870         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17871         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17872         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17873         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17874         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17875         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
17876         Likewise.
17877         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
17878         Likewise.
17879         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
17880         this function.
17881         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
17882         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
17883         Likewise.
17884         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
17885         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
17886         * doc/posix-functions/confstr.texi (confstr): Likewise.
17887         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17888         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
17889         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
17890         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
17891         * doc/posix-functions/fputws.texi (fputws): Likewise.
17892         * doc/posix-functions/fwide.texi (fwide): Likewise.
17893         * doc/posix-functions/getwc.texi (getwc): Likewise.
17894         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
17895         * doc/posix-functions/putwc.texi (putwc): Likewise.
17896         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17897         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
17898         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
17899         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17900         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
17901         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
17902         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
17903         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
17904         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
17905         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
17906         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
17907
17908 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
17909
17910         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
17911         * lib/ioctl.c: Include <sys/ioctl.h>.
17912
17913 2009-01-19  Simon Josefsson  <simon@josefsson.org>
17914
17915         * modules/getdate-tests (Depends-on): Add progname.
17916         * tests/test-getdate.c: Use progname module, to avoid link errors
17917         on non-glibc systems.
17918
17919 2009-01-18  Simon Josefsson  <simon@josefsson.org>
17920
17921         * modules/filenamecat-tests (Depends-on): Add progname.
17922         * modules/fstrcmp-tests (Depends-on): Likewise.
17923
17924         * tests/test-filenamecat.c: Use progname module, to avoid link
17925         errors on non-glibc systems.
17926         * tests/test-fstrcmp.c: Likewise.
17927
17928 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
17929
17930         gettimeofday: avoid warning: nested extern declaration of 'localtime'
17931         * lib/gettimeofday.c: Move extern declaration out of function.
17932
17933 2009-01-18  Bruno Haible  <bruno@clisp.org>
17934
17935         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
17936         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
17937         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
17938
17939 2009-01-18  Bruno Haible  <bruno@clisp.org>
17940
17941         * lib/strftime.c (MEMPCPY): Remove unused macro.
17942         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
17943
17944 2009-01-18  Martin Lambers  <marlam@marlam.de>
17945
17946         New module 'link'.
17947         * lib/unistd.in.h (link): New declaration.
17948         * lib/link.c: New file.
17949         * m4/link.m4: New file.
17950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
17951         HAVE_LINK.
17952         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
17953         * modules/link: New file.
17954         * doc/posix-functions/link.texi: Mention the new module.
17955
17956 2009-01-18  Bruno Haible  <bruno@clisp.org>
17957
17958         * tests/test-avltree_list.c (main): Call set_program_name.
17959         * tests/test-avltree_oset.c (main): Likewise.
17960         * tests/test-obstack-printf.c: Include progname.h.
17961         (main): Call set_program_name.
17962         * tests/test-quotearg.c: Include progname.h.
17963         (main): Call set_program_name.
17964         * tests/test-xmemdup0.c: Include progname.h.
17965         (main): Call set_program_name.
17966
17967 2009-01-18  Bruno Haible  <bruno@clisp.org>
17968
17969         New module 'alphasort'.
17970         * lib/dirent.in.h (alphasort): New declaration.
17971         * lib/alphasort.c: New file, from glibc with modifications.
17972         * m4/alphasort.m4: New file.
17973         * modules/alphasort: New file.
17974         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
17975         HAVE_ALPHASORT.
17976         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
17977         HAVE_ALPHASORT.
17978         * doc/posix-functions/alphasort.texi: Mention the new module and the
17979         portability problems.
17980
17981 2009-01-18  Bruno Haible  <bruno@clisp.org>
17982
17983         New module 'scandir'.
17984         * lib/dirent.in.h (scandir): New declaration.
17985         * lib/scandir.c: New file, from glibc with modifications.
17986         * m4/scandir.m4: New file.
17987         * modules/scandir: New file.
17988         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
17989         HAVE_SCANDIR.
17990         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
17991         HAVE_SCANDIR.
17992         * doc/posix-functions/scandir.texi: Mention the new module and the
17993         portability problems.
17994
17995 2009-01-17  Bruno Haible  <bruno@clisp.org>
17996
17997         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
17998         Update documentation.
17999         (func_remove_suffix): Escape all dots in the suffix. Update
18000         documentation.
18001         (func_filter_filelist): Update documentation.
18002         Reported by Ralf Wildenhues.
18003
18004 2009-01-17  Bruno Haible  <bruno@clisp.org>
18005
18006         * modules/dprintf-posix-tests: New file.
18007         * tests/test-dprintf-posix.sh: New file.
18008         * tests/test-dprintf-posix.c: New file.
18009
18010         New modules 'dprintf', 'dprintf-posix'.
18011         * lib/stdio.in.h (dprintf): New declaration.
18012         * lib/dprintf.c: New file.
18013         * m4/dprintf.m4: New file.
18014         * m4/dprintf-posix.m4: New file.
18015         * modules/dprintf: New file.
18016         * modules/dprintf-posix: New file.
18017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
18018         HAVE_DPRINTF, REPLACE_DPRINTF.
18019         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
18020         HAVE_DPRINTF, REPLACE_DPRINTF.
18021         * doc/posix-functions/dprintf.texi: Mention the new modules.
18022
18023 2009-01-17  Bruno Haible  <bruno@clisp.org>
18024
18025         * modules/vdprintf-posix-tests: New file.
18026         * tests/test-vdprintf-posix.sh: New file.
18027         * tests/test-vdprintf-posix.c: New file.
18028
18029         New modules 'vdprintf', 'vdprintf-posix'.
18030         * lib/stdio.in.h (vdprintf): New declaration.
18031         * lib/vdprintf.c: New file.
18032         * m4/vdprintf.m4: New file.
18033         * m4/vdprintf-posix.m4: New file.
18034         * modules/vdprintf: New file.
18035         * modules/vdprintf-posix: New file.
18036         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
18037         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18038         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
18039         HAVE_VDPRINTF, REPLACE_VDPRINTF.
18040         * doc/posix-functions/vdprintf.texi: Mention the new modules.
18041
18042 2009-01-17  Bruno Haible  <bruno@clisp.org>
18043
18044         Fix replacement of fopen on mingw.
18045         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
18046         mingw.
18047
18048 2009-01-17  Bruno Haible  <bruno@clisp.org>
18049
18050         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
18051         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
18052
18053 2009-01-17  Bruno Haible  <bruno@clisp.org>
18054
18055         Avoid test-fflush2.sh failure on mingw.
18056         * tests/test-fflush2.c: Include binary-io.h.
18057         (main): Put standard input into binary mode.
18058         * modules/fflush-tests (Depends-on): Add binary-io.
18059
18060 2009-01-17  Bruno Haible  <bruno@clisp.org>
18061
18062         * lib/wchar.in.h: In another particular situation, include only the
18063         system's <wchar.h> file.
18064         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
18065         Reported by Albert Chin-A-Young <china@thewrittenword.com>
18066         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
18067
18068 2009-01-17  Bruno Haible  <bruno@clisp.org>
18069
18070         Support for stripping executables in --enable-relocatable.
18071         * build-aux/install-reloc: Expect one more argument, or an environment
18072         variable RELOC_STRIP_PROG. If set, strip the destination program and
18073         its wrapper.
18074         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
18075         RELOC_STRIP_PROG.
18076         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
18077         to set RELOCATABLE_STRIP.
18078         * NEWS: Mention the new Makefile requirement.
18079
18080 2009-01-17  Bruno Haible  <bruno@clisp.org>
18081
18082         * build-aux/install-reloc: Remove debugging information left over by
18083         C compiler on MacOS X.
18084
18085 2009-01-17  Bruno Haible  <bruno@clisp.org>
18086
18087         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
18088         * lib/progreloc.c (find_executable): Fix type of pointer passed to
18089         _NSGetExecutablePath.
18090
18091 2009-01-16  Jim Meyering  <meyering@redhat.com>
18092
18093         strerror: avoid warnings about discarding "const"
18094         * lib/strerror.c (rpl_strerror): Instead of returning a const
18095         string from each and every "case", use a variable, and add a single
18096         cast after the switch.
18097
18098 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
18099
18100         * lib/arpa_inet.in.h: Add extern "C" block for C++.
18101
18102 2009-01-16  Bruno Haible  <bruno@clisp.org>
18103
18104         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
18105         array initializer syntax that also works in C++ mode.
18106         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18107
18108 2009-01-16  Jim Meyering  <meyering@redhat.com>
18109
18110         poll: suppress a warning
18111         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
18112         to ignore "...unsigned expression < 0 is always false" warnings.
18113
18114 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
18115
18116         poll: remove declarations of unused variables
18117         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
18118         sockbuf and optlen.
18119
18120 2009-01-15  Bruno Haible  <bruno@clisp.org>
18121
18122         Make fflush-after-ungetc POSIX compliant on BSD systems.
18123         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
18124         (clear_ungetc_buffer): Implement also for other systems.
18125         (rpl_fflush): On glibc systems, invoke
18126         clear_ungetc_buffer_preserving_position. Otherwise, invoke
18127         clear_ungetc_buffer after fetching the stream's position, not before.
18128
18129 2009-01-15  Bruno Haible  <bruno@clisp.org>
18130
18131         Make fflush-after-ungetc POSIX compliant on glibc systems.
18132         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
18133         after ungetc.
18134         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
18135         (rpl_fflush): On glibc systems, simply call the system's fflush
18136         function after clearing the ungetc buffer.
18137         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
18138         Instead, lseek only to the end of file, then use the system's fseeko
18139         for the rest. On glibc systems, reset the EOF indicator bit.
18140
18141 2009-01-15  Jim Meyering  <meyering@redhat.com>
18142
18143         openmp.m4: revert quote-adding change, for portability to older autoconf
18144         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
18145         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
18146         Simon Josefsson noticed the problem when using autoconf-2.61.
18147
18148 2009-01-15  Bruno Haible  <bruno@clisp.org>
18149
18150         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
18151         * tests/test-fflush2.c (ASSERT): Always fail.
18152         (main): Add two tests for fflush() after ungetc(), taking into account
18153         the Austin Group's clarification.
18154         Suggested by Eric Blake.
18155
18156 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
18157
18158         mktime.m4: remove K&R-style function prototypes
18159         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
18160         for the Sun C++ compiler.
18161
18162 2009-01-14  Bruno Haible  <bruno@clisp.org>
18163
18164         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
18165         while including <wchar.h>.
18166         * lib/wchar.in.h: In two particular situations on HP-UX, include only
18167         the system's <wchar.h> file.
18168         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18169
18170 2009-01-14  Bruno Haible  <bruno@clisp.org>
18171
18172         * m4/csharp.m4: Don't mention gettext on the serial number line.
18173         * m4/csharpexec.m4: Likewise.
18174         * m4/eaccess.m4: Likewise.
18175         * m4/javaexec.m4: Likewise.
18176         * m4/sig_atomic_t.m4: Likewise.
18177         * m4/tmpdir.m4: Likewise.
18178         * m4/intldir.m4: Bump gettext version.
18179         * m4/lib-ld.m4: Likewise.
18180
18181 2009-01-14  Bruno Haible  <bruno@clisp.org>
18182
18183         * lib/progname.c (set_program_name): Add more comments.
18184         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18185
18186 2009-01-14  Simon Josefsson  <simon@josefsson.org>
18187
18188         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
18189         were sys/stat.h does not define it.
18190
18191 2009-01-14  Jim Meyering  <meyering@redhat.com>
18192
18193         many *.m4 files: improve m4 quoting
18194         99% of this change was performed by running the following commands:
18195         git ls-files | grep '\.m4$' | xargs perl -pi \
18196           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
18197           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18198           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
18199           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
18200         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
18201         The remainder were to add Copyright dates, increment serial numbers,
18202         undo some changes in comments, exclude m4/intl.m4, and add quotes
18203         around the "1" in ",1" where the unusual spacing prohibited the
18204         above regexps from doing the job.  For more details, see
18205         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
18206         * m4/acl.m4: Modified.
18207         * m4/afs.m4: Likewise.
18208         * m4/alloca.m4: Likewise.
18209         * m4/argp.m4: Likewise.
18210         * m4/argz.m4: Likewise.
18211         * m4/atexit.m4: Likewise.
18212         * m4/bison-i18n.m4: Likewise.
18213         * m4/bison.m4: Likewise.
18214         * m4/byteswap.m4: Likewise.
18215         * m4/c-stack.m4: Likewise.
18216         * m4/c-strtod.m4: Likewise.
18217         * m4/calloc.m4: Likewise.
18218         * m4/canonicalize-lgpl.m4: Likewise.
18219         * m4/chown.m4: Likewise.
18220         * m4/clock_time.m4: Likewise.
18221         * m4/codeset.m4: Likewise.
18222         * m4/copy-file.m4: Likewise.
18223         * m4/csharp.m4: Likewise.
18224         * m4/csharpcomp.m4: Likewise.
18225         * m4/csharpexec.m4: Likewise.
18226         * m4/d-ino.m4: Likewise.
18227         * m4/d-type.m4: Likewise.
18228         * m4/dirfd.m4: Likewise.
18229         * m4/double-slash-root.m4: Likewise.
18230         * m4/eaccess.m4: Likewise.
18231         * m4/eealloc.m4: Likewise.
18232         * m4/environ.m4: Likewise.
18233         * m4/errno_h.m4: Likewise.
18234         * m4/euidaccess.m4: Likewise.
18235         * m4/execute.m4: Likewise.
18236         * m4/fatal-signal.m4: Likewise.
18237         * m4/fchdir.m4: Likewise.
18238         * m4/fcntl_h.m4: Likewise.
18239         * m4/fileblocks.m4: Likewise.
18240         * m4/filenamecat.m4: Likewise.
18241         * m4/findprog.m4: Likewise.
18242         * m4/flexmember.m4: Likewise.
18243         * m4/fnmatch.m4: Likewise.
18244         * m4/fopen.m4: Likewise.
18245         * m4/fpending.m4: Likewise.
18246         * m4/fprintf-posix.m4: Likewise.
18247         * m4/free.m4: Likewise.
18248         * m4/frexp.m4: Likewise.
18249         * m4/frexpl.m4: Likewise.
18250         * m4/fsusage.m4: Likewise.
18251         * m4/ftruncate.m4: Likewise.
18252         * m4/gc-camellia.m4: Likewise.
18253         * m4/gc-random.m4: Likewise.
18254         * m4/gc.m4: Likewise.
18255         * m4/getaddrinfo.m4: Likewise.
18256         * m4/getcwd-abort-bug.m4: Likewise.
18257         * m4/getcwd-path-max.m4: Likewise.
18258         * m4/getdate.m4: Likewise.
18259         * m4/getdomainname.m4: Likewise.
18260         * m4/getgroups.m4: Likewise.
18261         * m4/gethostname.m4: Likewise.
18262         * m4/gethrxtime.m4: Likewise.
18263         * m4/getline.m4: Likewise.
18264         * m4/getloadavg.m4: Likewise.
18265         * m4/getndelim2.m4: Likewise.
18266         * m4/getpass.m4: Likewise.
18267         * m4/gettext.m4: Likewise.
18268         * m4/gettime.m4: Likewise.
18269         * m4/gettimeofday.m4: Likewise.
18270         * m4/gnulib-common.m4: Likewise.
18271         * m4/group-member.m4: Likewise.
18272         * m4/host-os.m4: Likewise.
18273         * m4/iconv.m4: Likewise.
18274         * m4/iconv_open.m4: Likewise.
18275         * m4/inet_ntop.m4: Likewise.
18276         * m4/inet_pton.m4: Likewise.
18277         * m4/inline.m4: Likewise.
18278         * m4/intldir.m4: Likewise.
18279         * m4/intlmacosx.m4: Likewise.
18280         * m4/intmax.m4: Likewise.
18281         * m4/intmax_t.m4: Likewise.
18282         * m4/inttypes.m4: Likewise.
18283         * m4/inttypes_h.m4: Likewise.
18284         * m4/inttypes-pri.m4: Likewise.
18285         * m4/isapipe.m4: Likewise.
18286         * m4/isnand.m4: Likewise.
18287         * m4/isnanf.m4: Likewise.
18288         * m4/isnanl.m4: Likewise.
18289         * m4/javacomp.m4: Likewise.
18290         * m4/javaexec.m4: Likewise.
18291         * m4/jm-winsz1.m4: Likewise.
18292         * m4/jm-winsz2.m4: Likewise.
18293         * m4/lchown.m4: Likewise.
18294         * m4/lcmessage.m4: Likewise.
18295         * m4/ldexpl.m4: Likewise.
18296         * m4/lib-ld.m4: Likewise.
18297         * m4/lib-link.m4: Likewise.
18298         * m4/libsigsegv.m4: Likewise.
18299         * m4/link-follow.m4: Likewise.
18300         * m4/localcharset.m4: Likewise.
18301         * m4/locale-fr.m4: Likewise.
18302         * m4/locale-ja.m4: Likewise.
18303         * m4/locale-tr.m4: Likewise.
18304         * m4/locale-zh.m4: Likewise.
18305         * m4/lock.m4: Likewise.
18306         * m4/longlong.m4: Likewise.
18307         * m4/ls-mntd-fs.m4: Likewise.
18308         * m4/lstat.m4: Likewise.
18309         * m4/malloc.m4: Likewise.
18310         * m4/mathl.m4: Likewise.
18311         * m4/mbrtowc.m4: Likewise.
18312         * m4/mbstate_t.m4: Likewise.
18313         * m4/mbswidth.m4: Likewise.
18314         * m4/memchr.m4: Likewise.
18315         * m4/memcmp.m4: Likewise.
18316         * m4/memcpy.m4: Likewise.
18317         * m4/memmem.m4: Likewise.
18318         * m4/memmove.m4: Likewise.
18319         * m4/mempcpy.m4: Likewise.
18320         * m4/memrchr.m4: Likewise.
18321         * m4/memset.m4: Likewise.
18322         * m4/minmax.m4: Likewise.
18323         * m4/mkdir-slash.m4: Likewise.
18324         * m4/mkdtemp.m4: Likewise.
18325         * m4/mktime.m4: Likewise.
18326         * m4/mmap-anon.m4: Likewise.
18327         * m4/mountlist.m4: Likewise.
18328         * m4/nanosleep.m4: Likewise.
18329         * m4/nls.m4: Likewise.
18330         * m4/nocrash.m4: Likewise.
18331         * m4/open.m4: Likewise.
18332         * m4/openat.m4: Likewise.
18333         * m4/openmp.m4: Likewise.
18334         * m4/pathmax.m4: Likewise.
18335         * m4/perl.m4: Likewise.
18336         * m4/physmem.m4: Likewise.
18337         * m4/pipe.m4: Likewise.
18338         * m4/po.m4: Likewise.
18339         * m4/poll.m4: Likewise.
18340         * m4/posixtm.m4: Likewise.
18341         * m4/posixver.m4: Likewise.
18342         * m4/printf-frexp.m4: Likewise.
18343         * m4/printf-frexpl.m4: Likewise.
18344         * m4/printf-posix.m4: Likewise.
18345         * m4/printf-posix-rpl.m4: Likewise.
18346         * m4/printf.m4: Likewise.
18347         * m4/progtest.m4: Likewise.
18348         * m4/putenv.m4: Likewise.
18349         * m4/readline.m4: Likewise.
18350         * m4/readlink.m4: Likewise.
18351         * m4/readutmp.m4: Likewise.
18352         * m4/realloc.m4: Likewise.
18353         * m4/regex.m4: Likewise.
18354         * m4/relocatable.m4: Likewise.
18355         * m4/relocatable-lib.m4: Likewise.
18356         * m4/rename-dest-slash.m4: Likewise.
18357         * m4/rename.m4: Likewise.
18358         * m4/rmdir-errno.m4: Likewise.
18359         * m4/rmdir.m4: Likewise.
18360         * m4/roundf.m4: Likewise.
18361         * m4/roundl.m4: Likewise.
18362         * m4/rpmatch.m4: Likewise.
18363         * m4/save-cwd.m4: Likewise.
18364         * m4/selinux-selinux-h.m4: Likewise.
18365         * m4/setenv.m4: Likewise.
18366         * m4/settime.m4: Likewise.
18367         * m4/sig2str.m4: Likewise.
18368         * m4/sig_atomic_t.m4: Likewise.
18369         * m4/signalblocking.m4: Likewise.
18370         * m4/signbit.m4: Likewise.
18371         * m4/sigpipe.m4: Likewise.
18372         * m4/sockets.m4: Likewise.
18373         * m4/sockpfaf.m4: Likewise.
18374         * m4/st_dm_mode.m4: Likewise.
18375         * m4/stat-time.m4: Likewise.
18376         * m4/stdbool.m4: Likewise.
18377         * m4/stdint.m4: Likewise.
18378         * m4/stdint_h.m4: Likewise.
18379         * m4/stpcpy.m4: Likewise.
18380         * m4/stpncpy.m4: Likewise.
18381         * m4/strcase.m4: Likewise.
18382         * m4/strchrnul.m4: Likewise.
18383         * m4/strcspn.m4: Likewise.
18384         * m4/strdup.m4: Likewise.
18385         * m4/strftime.m4: Likewise.
18386         * m4/strndup.m4: Likewise.
18387         * m4/strnlen.m4: Likewise.
18388         * m4/strpbrk.m4: Likewise.
18389         * m4/strptime.m4: Likewise.
18390         * m4/strsep.m4: Likewise.
18391         * m4/strtod.m4: Likewise.
18392         * m4/strtoimax.m4: Likewise.
18393         * m4/strtok_r.m4: Likewise.
18394         * m4/strtol.m4: Likewise.
18395         * m4/strtoll.m4: Likewise.
18396         * m4/strtoul.m4: Likewise.
18397         * m4/strtoull.m4: Likewise.
18398         * m4/strtoumax.m4: Likewise.
18399         * m4/strverscmp.m4: Likewise.
18400         * m4/threadlib.m4: Likewise.
18401         * m4/timegm.m4: Likewise.
18402         * m4/tm_gmtoff.m4: Likewise.
18403         * m4/tmpdir.m4: Likewise.
18404         * m4/tmpfile.m4: Likewise.
18405         * m4/tzset.m4: Likewise.
18406         * m4/uintmax_t.m4: Likewise.
18407         * m4/unlinkdir.m4: Likewise.
18408         * m4/unlocked-io.m4: Likewise.
18409         * m4/uptime.m4: Likewise.
18410         * m4/userspec.m4: Likewise.
18411         * m4/utimbuf.m4: Likewise.
18412         * m4/utime.m4: Likewise.
18413         * m4/utimes-null.m4: Likewise.
18414         * m4/utimes.m4: Likewise.
18415         * m4/vararrays.m4: Likewise.
18416         * m4/vasnprintf.m4: Likewise.
18417         * m4/vfprintf-posix.m4: Likewise.
18418         * m4/vprintf-posix.m4: Likewise.
18419         * m4/wait-process.m4: Likewise.
18420         * m4/wchar_t.m4: Likewise.
18421         * m4/wint_t.m4: Likewise.
18422         * m4/write-any-file.m4: Likewise.
18423         * m4/yield.m4: Likewise.
18424
18425 2009-01-13  Bruno Haible  <bruno@clisp.org>
18426
18427         Avoid test-copy-file.sh failures when ACL support insufficient.
18428         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
18429         TESTS_ENVIRONMENT.
18430         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
18431         Reported by Jim Meyering.
18432
18433 2009-01-13  Bruno Haible  <bruno@clisp.org>
18434
18435         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
18436         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
18437         * modules/unistdio/u8-printf-parse (Files): Likewise.
18438         * modules/unistdio/u32-printf-parse (Files): Likewise.
18439         * modules/unistdio/ulc-printf-parse (Files): Likewise.
18440
18441 2009-01-13  Simon Josefsson  <simon@josefsson.org>
18442
18443         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
18444         and m4/inttypes_h.m4 too.
18445
18446 2009-01-12  Eric Blake  <ebb9@byu.net>
18447
18448         tests: IRIX 6.2 cc can't compile -0.0 into .data
18449         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
18450         rather than at compile-time.
18451         * tests/test-floorl.c (minus_zero): Likewise.
18452         * tests/test-frexpl.c (minus_zero): Likewise.
18453         * tests/test-isnan.c (minus_zerol): Likewise.
18454         * tests/test-isnanl.h (minus_zero): Likewise.
18455         * tests/test-ldexpl.c (minus_zero): Likewise.
18456         * tests/test-roundl.c (minus_zero): Likewise.
18457         * tests/test-signbit.c (minus_zerol): Likewise.
18458         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18459         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18460         * tests/test-truncl.c (minus_zero): Likewise.
18461         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18462         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18463         Reported by Tom G. Christensen and Nelson H. F. Beebe.
18464
18465 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18466
18467         regex: fix glibc bug 9697
18468         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
18469         handling.
18470
18471 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18472
18473         regex: fix glibc bug 697
18474         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
18475         being NULL also if there are no backreferences.
18476
18477 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18478
18479         regex: merge glibc changes
18480         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
18481         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
18482         re_string_skip_chars, re_string_reconstruct): Likewise.
18483         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
18484
18485 2009-01-07  Jim Meyering  <meyering@redhat.com>
18486
18487         poll: filter through cppi
18488         * lib/poll.c: Indent cpp directives to reflect nesting.
18489
18490 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
18491
18492         poll: don't return uninitialized
18493         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
18494
18495 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
18496
18497         avoid compile failure on AIX 6.1
18498         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
18499         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
18500
18501 2009-01-04  Jim Meyering  <meyering@redhat.com>
18502
18503         remove duplicate inclusion of <stdio.h>
18504         * tests/test-fprintf-posix.c: Likewise.
18505         * tests/test-printf-posix.c: Likewise.
18506         * tests/test-snprintf-posix.c: Likewise.
18507         * tests/test-sprintf-posix.c: Likewise.
18508         * tests/test-vasprintf-posix.c: Likewise.
18509         * tests/test-vfprintf-posix.c: Likewise.
18510         * tests/test-vprintf-posix.c: Likewise.
18511         * tests/test-vsnprintf-posix.c: Likewise.
18512         * tests/test-vsprintf-posix.c: Likewise.
18513
18514 2009-01-03  Jim Meyering  <meyering@redhat.com>
18515
18516         gnulib-tool: fix sed-based filtering
18517         * gnulib-tool (func_filter_filelist): Remove extra backslash
18518         in sed_fff_filter definition.
18519
18520 2009-01-02  Jim Meyering  <meyering@redhat.com>
18521
18522         strftime: avoid compilation failure on Solaris 2.6
18523         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
18524         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
18525         Don't #define mbrlen or mbsinit, since now they're guaranteed to
18526         be available.  Reported by Tom G. Christensen.  Details in
18527         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
18528
18529 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18530             Bruno Haible  <bruno@clisp.org>
18531
18532         Speed up gnulib-tool by doing more string processing through shell
18533         built-ins.
18534         * gnulib-tool (fast_func_append): New variable.
18535         (func_remove_prefix, func_remove_suffix): New functions.
18536         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
18537         (func_filter_filelist): New function.
18538         (func_get_dependencies): Use func_remove_suffix instead of sed.
18539         (func_get_automake_snippet): Use func_filter_filelist instead of a
18540         subshell and sed invocation.
18541
18542 2009-01-01  Bruno Haible  <bruno@clisp.org>
18543
18544         Fix a security bug.
18545         * gnulib-tool (func_import, import, update): Don't allow the characters
18546         '"', '$', '`', '\' in macro arguments that become part of commands that
18547         are evaluated.
18548
18549 2009-01-01  Bruno Haible  <bruno@clisp.org>
18550
18551         * gnulib-tool (func_reset_sigpipe): Add more comments.
18552
18553 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18554
18555         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
18556         func_emit_tests_Makefile_am, func_import): Abort loops early if we
18557         already know the answer.
18558
18559 2009-01-01  Jim Meyering  <meyering@redhat.com>
18560
18561         * lib/version-etc.c (version_etc_va): Update copyright year.
18562
18563 2008-12-30  Bruno Haible  <bruno@clisp.org>
18564
18565         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
18566         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
18567         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
18568
18569 2008-12-29  Eric Blake  <ebb9@byu.net>
18570
18571         multiarch: avoid autoconf AC_REQUIRE bug
18572         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
18573         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
18574         2.63 and older.
18575         Reported by Bruno Haible, and analyzed in
18576         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
18577
18578 2008-12-29  Bruno Haible  <bruno@clisp.org>
18579
18580         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
18581         files in subdirectories correctly.
18582         Reported by Ralf Wildenhues.
18583
18584 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18585
18586         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
18587         rather than 'join FILE -', for Solaris join.
18588
18589 2008-12-29  Bruno Haible  <bruno@clisp.org>
18590
18591         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
18592         quoting.
18593         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18594         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18595         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18596         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
18597         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18598         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18599         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18600         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18601         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18602         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18603         * m4/nls.m4 (AM_NLS): Likewise.
18604         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
18605         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18606         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18607         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18608         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18609         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18610         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
18611         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18612         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18613         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18614         * m4/xsize.m4 (gl_XSIZE): Likewise.
18615         Suggested by Jim Meyering.
18616
18617 2008-11-17  Bruce Korb  <bkorb@gnu.org>
18618
18619         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
18620         * lib/parse-duration.c: use a switch instead of cascading if's.
18621
18622 2008-12-29  Eric Blake  <ebb9@byu.net>
18623
18624         wchar.h: supply WEOF on Irix 5.3
18625         * lib/wchar.in.h (wint_t): Also supply WEOF.
18626         * lib/wctype.in.h (wint_t): Likewise.
18627         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
18628         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
18629         Reported by Tom G. Christensen.
18630
18631 2008-12-26  Bruno Haible  <bruno@clisp.org>
18632
18633         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
18634         i486, i586, i686.
18635
18636 2008-12-26  Bruno Haible  <bruno@clisp.org>
18637
18638         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
18639
18640 2008-12-26  Bruno Haible  <bruno@clisp.org>
18641
18642         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
18643         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
18644         not __STDC_CONSTANT_MACROS.
18645         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18646
18647 2008-12-25  Bruno Haible  <bruno@clisp.org>
18648
18649         Add support for universal builds to vasnprintf.
18650         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
18651         universal builds, guess no.
18652         * modules/vasnprintf-posix (Depends-on): Add multiarch.
18653         * modules/vasprintf-posix (Depends-on): Likewise.
18654         * modules/fprintf-posix (Depends-on): Likewise.
18655         * modules/vfprintf-posix (Depends-on): Likewise.
18656         * modules/snprintf-posix (Depends-on): Likewise.
18657         * modules/vsnprintf-posix (Depends-on): Likewise.
18658         * modules/sprintf-posix (Depends-on): Likewise.
18659         * modules/vsprintf-posix (Depends-on): Likewise.
18660         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18661         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18662         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18663         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18664         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18665         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18666         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18667
18668         Add support for universal builds to <inttypes.h>.
18669         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
18670         _SCNu64_PREFIX): In Apple
18671         universal builds, define directly, using _LP64.
18672         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
18673         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
18674         * modules/inttypes (Depends-on): Add multiarch.
18675         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18676
18677         Add support for universal builds to <stdint.h>.
18678         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
18679         universal builds, define directly, using _LP64.
18680         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
18681         Apple universal builds, don't test for the size and suffix of ptrdiff_t
18682         and size_t.
18683         * modules/stdint (Depends-on): Add multiarch.
18684         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18685
18686         New module 'multiarch'.
18687         * modules/multiarch: New file.
18688         * m4/multiarch.m4: New file.
18689
18690 2008-12-25  Bruno Haible  <bruno@clisp.org>
18691
18692         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
18693
18694 2008-12-25  Bruno Haible  <bruno@clisp.org>
18695
18696         * modules/btowc (License): Relicense under LGPLv2+.
18697         * modules/mbsinit (License): Likewise.
18698         * modules/mbrtowc (License): Likewise.
18699         * modules/wcrtomb (License): Likewise.
18700         * modules/streq (License): Likewise.
18701         Reported by David Lutterkort <lutter@redhat.com>.
18702
18703 2008-12-23  Bruno Haible  <bruno@clisp.org>
18704
18705         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
18706
18707 2008-12-23  Bruno Haible  <bruno@clisp.org>
18708
18709         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
18710         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
18711         GETADDRINFO_LIB, not in LIBS.
18712         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
18713         * modules/canon-host (Link): Likewise.
18714         * NEWS: Mention the change.
18715         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
18716         GETADDRINFO_LIB.
18717
18718 2008-12-22  Bruno Haible  <bruno@clisp.org>
18719
18720         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
18721         * doc/posix-functions/iswalpha_l.texi: Likewise.
18722         * doc/posix-functions/iswblank_l.texi: Likewise.
18723         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18724         * doc/posix-functions/iswctype_l.texi: Likewise.
18725         * doc/posix-functions/iswdigit_l.texi: Likewise.
18726         * doc/posix-functions/iswgraph_l.texi: Likewise.
18727         * doc/posix-functions/iswlower_l.texi: Likewise.
18728         * doc/posix-functions/iswprint_l.texi: Likewise.
18729         * doc/posix-functions/iswpunct_l.texi: Likewise.
18730         * doc/posix-functions/iswspace_l.texi: Likewise.
18731         * doc/posix-functions/iswupper_l.texi: Likewise.
18732         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18733         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
18734         * doc/posix-functions/open_wmemstream.texi: Likewise.
18735         * doc/posix-functions/swscanf.texi: Likewise.
18736         * doc/posix-functions/towctrans_l.texi: Likewise.
18737         * doc/posix-functions/towlower.texi: Likewise.
18738         * doc/posix-functions/towlower_l.texi: Likewise.
18739         * doc/posix-functions/towupper.texi: Likewise.
18740         * doc/posix-functions/towupper_l.texi: Likewise.
18741         * doc/posix-functions/vfwprintf.texi: Likewise.
18742         * doc/posix-functions/vfwscanf.texi: Likewise.
18743         * doc/posix-functions/vswscanf.texi: Likewise.
18744         * doc/posix-functions/vwprintf.texi: Likewise.
18745         * doc/posix-functions/vwscanf.texi: Likewise.
18746         * doc/posix-functions/wcpcpy.texi: Likewise.
18747         * doc/posix-functions/wcpncpy.texi: Likewise.
18748         * doc/posix-functions/wcscasecmp.texi: Likewise.
18749         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
18750         * doc/posix-functions/wcscoll_l.texi: Likewise.
18751         * doc/posix-functions/wcsdup.texi: Likewise.
18752         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18753         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
18754         * doc/posix-functions/wcsnlen.texi: Likewise.
18755         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18756         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18757         * doc/posix-functions/wctrans_l.texi: Likewise.
18758         * doc/posix-functions/wctype_l.texi: Likewise.
18759         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
18760         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
18761         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
18762         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
18763         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
18764         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
18765         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
18766         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
18767         * doc/glibc-functions/wcschrnul.texi: Likewise.
18768         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18769         * doc/glibc-functions/wcstod_l.texi: Likewise.
18770         * doc/glibc-functions/wcstof_l.texi: Likewise.
18771         * doc/glibc-functions/wcstol_l.texi: Likewise.
18772         * doc/glibc-functions/wcstold_l.texi: Likewise.
18773         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18774         * doc/glibc-functions/wcstoq.texi: Likewise.
18775         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18776         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18777         * doc/glibc-functions/wcstouq.texi: Likewise.
18778         * doc/glibc-functions/wmempcpy.texi: Likewise.
18779
18780 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
18781             Eric Blake  <ebb9@byu.net>
18782             Paolo Bonzini  <bonzini@gnu.org>
18783             Bruno Haible  <bruno@clisp.org>
18784
18785         Make c-stack work on Haiku.
18786         * lib/c-stack.c (SA_ONSTACK): Define fallback.
18787         (c_stack_action): Use SA_ONSTACK flag.
18788
18789 2008-12-22  Bruno Haible  <bruno@clisp.org>
18790
18791         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
18792
18793 2008-12-22  Bruno Haible  <bruno@clisp.org>
18794
18795         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
18796         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
18797         being overridden.
18798         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
18799         New macros.
18800         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
18801         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
18802         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
18803         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
18804
18805 2008-12-22  Bruno Haible  <bruno@clisp.org>
18806
18807         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
18808         from test code.
18809
18810 2008-12-22  Eric Blake  <ebb9@byu.net>
18811
18812         Avoid gcc warnings on cygwin.
18813         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
18814         Avoid unused variable.
18815         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
18816         Likewise.
18817
18818 2008-12-22  Bruno Haible  <bruno@clisp.org>
18819
18820         Remove HAVE_MBRTOWC conditionals.
18821         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
18822         (mbscasecmp): Assume mbrtowc function.
18823         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
18824         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
18825         * lib/mbschr.c: Include mbuiter.h unconditionally.
18826         (mbschr): Assume mbrtowc function.
18827         * lib/mbscspn.c: Include mbuiter.h unconditionally.
18828         (mbscspn): Assume mbrtowc function.
18829         * lib/mbslen.c: Include mbuiter.h unconditionally.
18830         (mbslen): Assume mbrtowc function.
18831         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
18832         (mbsncasecmp): Assume mbrtowc function.
18833         * lib/mbsnlen.c: Include mbiter.h unconditionally.
18834         (mbsnlen): Assume mbrtowc function.
18835         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
18836         (mbspbrk): Assume mbrtowc function.
18837         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
18838         (mbspcasecmp): Assume mbrtowc function.
18839         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
18840         (mbsrchr): Assume mbrtowc function.
18841         * lib/mbssep.c: Include mbuiter.h unconditionally.
18842         (mbssep): Assume mbrtowc function.
18843         * lib/mbsspn.c: Include mbuiter.h unconditionally.
18844         (mbsspn): Assume mbrtowc function.
18845         * lib/mbsstr.c: Include mbuiter.h unconditionally.
18846         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
18847         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
18848         (mbstok_r): Assume mbrtowc function.
18849         * lib/propername.c: Include mbuiter.h unconditionally.
18850         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
18851         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
18852         (trim2): Assume mbrtowc function.
18853         * lib/mbswidth.c (mbsinit): Remove fallback definition.
18854         (mbsnwidth): Assume mbrtowc function.
18855         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
18856         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
18857         fallback definitions.
18858         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
18859
18860 2008-12-22  Bruno Haible  <bruno@clisp.org>
18861
18862         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
18863
18864 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
18865
18866         * modules/regex: Request emulations for the mb*/wc* functions we need.
18867         * m4/regex.m4: Don't look for those functions here.
18868         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
18869
18870 2008-12-22  Bruno Haible  <bruno@clisp.org>
18871
18872         * modules/fnmatch (Depends-on): Remove duplicated dependency.
18873
18874 2008-12-21  Bruno Haible  <bruno@clisp.org>
18875
18876         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
18877         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
18878         (Include): Remove conditionalization.
18879         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
18880         (Include): Remove conditionalization.
18881         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
18882         (Include): Remove conditionalization.
18883         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
18884         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18885         * NEWS: Mention the change.
18886         Reported by Alan Hourihane <alanh@fairlite.co.uk>
18887         via Sergey Poznyakoff <gray@gnu.org.ua>.
18888
18889 2008-12-21  Bruno Haible  <bruno@clisp.org>
18890
18891         * MODULES.html.sh (Extended multibyte and wide character utilities
18892         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
18893         wcrtomb, wcsrtombs.
18894         (Support for systems lacking POSIX:2008): Add accept, bind, close,
18895         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
18896         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
18897         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
18898
18899 2008-12-21  Bruno Haible  <bruno@clisp.org>
18900
18901         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
18902
18903 2008-12-21  Bruno Haible  <bruno@clisp.org>
18904
18905         * modules/wcsnrtombs-tests: New file.
18906         * tests/test-wcsnrtombs1.sh: New file.
18907         * tests/test-wcsnrtombs2.sh: New file.
18908         * tests/test-wcsnrtombs3.sh: New file.
18909         * tests/test-wcsnrtombs4.sh: New file.
18910         * tests/test-wcsnrtombs.c: New file.
18911
18912         New module 'wcsnrtombs'.
18913         * lib/wchar.in.h (wcsnrtombs): New declaration.
18914         * lib/wcsnrtombs.c: New file.
18915         * lib/wcsrtombs-state.c: New file.
18916         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
18917         (internal_state): Remove variable.
18918         * m4/wcsnrtombs.m4: New file.
18919         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
18920         compilation units.
18921         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
18922         HAVE_WCSNRTOMBS.
18923         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
18924         HAVE_WCSNRTOMBS.
18925         * modules/wcsnrtombs: New file.
18926         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
18927         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
18928
18929 2008-12-21  Bruno Haible  <bruno@clisp.org>
18930
18931         * modules/wcsrtombs-tests: New file.
18932         * tests/test-wcsrtombs1.sh: New file.
18933         * tests/test-wcsrtombs2.sh: New file.
18934         * tests/test-wcsrtombs3.sh: New file.
18935         * tests/test-wcsrtombs4.sh: New file.
18936         * tests/test-wcsrtombs.c: New file.
18937
18938         New module 'wcsrtombs'.
18939         * lib/wchar.in.h (wcsrtombs): New declaration.
18940         * lib/wcsrtombs.c: New file.
18941         * m4/wcsrtombs.m4: New file.
18942         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
18943         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
18944         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
18945         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
18946         * modules/wcsrtombs: New file.
18947         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
18948         bugs.
18949
18950 2008-12-21  Bruno Haible  <bruno@clisp.org>
18951
18952         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
18953         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
18954         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
18955         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
18956         if not correct.
18957         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
18958         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
18959         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
18960         m4/locale-zh.m4, m4/codeset.m4.
18961         * doc/posix-functions/wcrtomb.texi: Document the bug.
18962
18963 2008-12-21  Bruno Haible  <bruno@clisp.org>
18964
18965         Work around a btowc() bug on IRIX 6.5.
18966         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
18967         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
18968         REPLACE_WTOBC if not.
18969         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
18970         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
18971         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
18972
18973 2008-12-21  Bruno Haible  <bruno@clisp.org>
18974
18975         * modules/wcrtomb-tests: New file.
18976         * tests/test-wcrtomb.sh: New file.
18977         * tests/test-wcrtomb.c: New file.
18978
18979         New module 'wcrtomb'.
18980         * lib/wchar.in.h (wcrtomb): New declaration.
18981         * lib/wcrtomb.c: New file.
18982         * m4/wcrtomb.m4: New file.
18983         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
18984         HAVE_WCRTOMB.
18985         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
18986         HAVE_WCRTOMB.
18987         * modules/wcrtomb: New file.
18988         * doc/posix-functions/wcrtomb.texi: Mention the new module.
18989
18990 2008-12-21  Bruno Haible  <bruno@clisp.org>
18991
18992         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
18993         * modules/mbsrtowcs (Files): Likewise.
18994         * modules/wctob (Files): Likewise.
18995         * modules/c-strcase-tests (Files): Likewise.
18996         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18997         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18998         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18999         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19000         * modules/vasnprintf-posix-tests (Files): Likewise.
19001
19002 2008-12-21  William Pursell  <bill.pursell@gmail.com>
19003
19004         gitlog-to-changelog: pass all command-line arguments to git-log
19005         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
19006         it is sometimes convenient to filter the commits in various ways.
19007         gitlog-to-changelog only allows --since to specify a start date,
19008         but git-log itself supports many other filtering mechanisms.
19009         At the moment, I want to filter by branch name.  Rather than
19010         adding a --branch option to gitlog-to-changelog, it seems more
19011         flexible to simply pass all options directly to git-log and let
19012         git do the work.  Notice that this effectively makes --since a
19013         redundant option for gitlog-to-changelog, but removing it would
19014         require current usage to change since calls would then require
19015         an additional '--'.
19016
19017 2008-12-21  Bruno Haible  <bruno@clisp.org>
19018
19019         * modules/mbsnrtowcs-tests: New file.
19020         * tests/test-mbsnrtowcs1.sh: New file.
19021         * tests/test-mbsnrtowcs2.sh: New file.
19022         * tests/test-mbsnrtowcs3.sh: New file.
19023         * tests/test-mbsnrtowcs4.sh: New file.
19024         * tests/test-mbsnrtowcs.c: New file.
19025
19026         New module 'mbsnrtowcs'.
19027         * lib/wchar.in.h (mbsnrtowcs): New declaration.
19028         * lib/mbsnrtowcs.c: New file.
19029         * lib/mbsrtowcs-state.c: New file.
19030         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
19031         (internal_state): Remove variable.
19032         * m4/mbsnrtowcs.m4: New file.
19033         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
19034         compilation units.
19035         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
19036         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19037         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
19038         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
19039         * modules/mbsnrtowcs: New file.
19040         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
19041         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
19042         portability problem.
19043
19044 2008-12-21  Bruno Haible  <bruno@clisp.org>
19045
19046         Work around mbsrtowcs bug.
19047         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
19048         (gl_FUNC_MBSRTOWCS): Invoke it.
19049         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19050         m4/locale-zh.m4.
19051         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
19052
19053 2008-12-21  Bruno Haible  <bruno@clisp.org>
19054
19055         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
19056
19057 2008-12-21  Bruno Haible  <bruno@clisp.org>
19058
19059         Update doc for AIX.
19060         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
19061         16-bit wchar_t type.
19062         * doc/posix-functions/btowc.texi: Likewise.
19063         * doc/posix-functions/fgetwc.texi: Likewise.
19064         * doc/posix-functions/fgetws.texi: Likewise.
19065         * doc/posix-functions/fputwc.texi: Likewise.
19066         * doc/posix-functions/fputws.texi: Likewise.
19067         * doc/posix-functions/fwide.texi: Likewise.
19068         * doc/posix-functions/fwprintf.texi: Likewise.
19069         * doc/posix-functions/fwscanf.texi: Likewise.
19070         * doc/posix-functions/getwchar.texi: Likewise.
19071         * doc/posix-functions/getwc.texi: Likewise.
19072         * doc/posix-functions/iswalnum.texi: Likewise.
19073         * doc/posix-functions/iswalpha.texi: Likewise.
19074         * doc/posix-functions/iswblank.texi: Likewise.
19075         * doc/posix-functions/iswcntrl.texi: Likewise.
19076         * doc/posix-functions/iswctype.texi: Likewise.
19077         * doc/posix-functions/iswdigit.texi: Likewise.
19078         * doc/posix-functions/iswgraph.texi: Likewise.
19079         * doc/posix-functions/iswlower.texi: Likewise.
19080         * doc/posix-functions/iswprint.texi: Likewise.
19081         * doc/posix-functions/iswpunct.texi: Likewise.
19082         * doc/posix-functions/iswspace.texi: Likewise.
19083         * doc/posix-functions/iswupper.texi: Likewise.
19084         * doc/posix-functions/iswxdigit.texi: Likewise.
19085         * doc/posix-functions/mbrtowc.texi: Likewise.
19086         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19087         * doc/posix-functions/mbstowcs.texi: Likewise.
19088         * doc/posix-functions/mbtowc.texi: Likewise.
19089         * doc/posix-functions/putwchar.texi: Likewise.
19090         * doc/posix-functions/putwc.texi: Likewise.
19091         * doc/posix-functions/swprintf.texi: Likewise.
19092         * doc/posix-functions/tolower.texi: Likewise.
19093         * doc/posix-functions/toupper.texi: Likewise.
19094         * doc/posix-functions/towctrans.texi: Likewise.
19095         * doc/posix-functions/ungetwc.texi: Likewise.
19096         * doc/posix-functions/vswprintf.texi: Likewise.
19097         * doc/posix-functions/wcrtomb.texi: Likewise.
19098         * doc/posix-functions/wcscat.texi: Likewise.
19099         * doc/posix-functions/wcschr.texi: Likewise.
19100         * doc/posix-functions/wcscmp.texi: Likewise.
19101         * doc/posix-functions/wcscoll.texi: Likewise.
19102         * doc/posix-functions/wcscpy.texi: Likewise.
19103         * doc/posix-functions/wcscspn.texi: Likewise.
19104         * doc/posix-functions/wcsftime.texi: Likewise.
19105         * doc/posix-functions/wcslen.texi: Likewise.
19106         * doc/posix-functions/wcsncat.texi: Likewise.
19107         * doc/posix-functions/wcsncmp.texi: Likewise.
19108         * doc/posix-functions/wcsncpy.texi: Likewise.
19109         * doc/posix-functions/wcspbrk.texi: Likewise.
19110         * doc/posix-functions/wcsrchr.texi: Likewise.
19111         * doc/posix-functions/wcsrtombs.texi: Likewise.
19112         * doc/posix-functions/wcsspn.texi: Likewise.
19113         * doc/posix-functions/wcsstr.texi: Likewise.
19114         * doc/posix-functions/wcstod.texi: Likewise.
19115         * doc/posix-functions/wcstof.texi: Likewise.
19116         * doc/posix-functions/wcstoimax.texi: Likewise.
19117         * doc/posix-functions/wcstok.texi: Likewise.
19118         * doc/posix-functions/wcstold.texi: Likewise.
19119         * doc/posix-functions/wcstoll.texi: Likewise.
19120         * doc/posix-functions/wcstol.texi: Likewise.
19121         * doc/posix-functions/wcstombs.texi: Likewise.
19122         * doc/posix-functions/wcstoull.texi: Likewise.
19123         * doc/posix-functions/wcstoul.texi: Likewise.
19124         * doc/posix-functions/wcstoumax.texi: Likewise.
19125         * doc/posix-functions/wcswidth.texi: Likewise.
19126         * doc/posix-functions/wcsxfrm.texi: Likewise.
19127         * doc/posix-functions/wctob.texi: Likewise.
19128         * doc/posix-functions/wctomb.texi: Likewise.
19129         * doc/posix-functions/wctrans.texi: Likewise.
19130         * doc/posix-functions/wctype.texi: Likewise.
19131         * doc/posix-functions/wcwidth.texi: Likewise.
19132         * doc/posix-functions/wmemchr.texi: Likewise.
19133         * doc/posix-functions/wmemcmp.texi: Likewise.
19134         * doc/posix-functions/wmemcpy.texi: Likewise.
19135         * doc/posix-functions/wmemmove.texi: Likewise.
19136         * doc/posix-functions/wmemset.texi: Likewise.
19137         * doc/posix-functions/wprintf.texi: Likewise.
19138         * doc/posix-functions/wscanf.texi: Likewise.
19139
19140 2008-12-21  Bruno Haible  <bruno@clisp.org>
19141
19142         Update doc for HP-UX 11.11.
19143         * doc/posix-functions/btowc.texi: Clarify that the function is missing
19144         in HP-UX version 11.00, not in all versions of HP-UX 11.
19145         * doc/posix-functions/fwide.texi: Likewise.
19146         * doc/posix-functions/fwprintf.texi: Likewise.
19147         * doc/posix-functions/fwscanf.texi: Likewise.
19148         * doc/posix-functions/inet_ntop.texi: Likewise.
19149         * doc/posix-functions/inet_pton.texi: Likewise.
19150         * doc/posix-functions/mbrlen.texi: Likewise.
19151         * doc/posix-functions/mbrtowc.texi: Likewise.
19152         * doc/posix-functions/mbsinit.texi: Likewise.
19153         * doc/posix-functions/mbsrtowcs.texi: Likewise.
19154         * doc/posix-functions/swprintf.texi: Likewise.
19155         * doc/posix-functions/swscanf.texi: Likewise.
19156         * doc/posix-functions/towctrans.texi: Likewise.
19157         * doc/posix-functions/vfwprintf.texi: Likewise.
19158         * doc/posix-functions/vswprintf.texi: Likewise.
19159         * doc/posix-functions/vwprintf.texi: Likewise.
19160         * doc/posix-functions/wcrtomb.texi: Likewise.
19161         * doc/posix-functions/wcsrtombs.texi: Likewise.
19162         * doc/posix-functions/wcsstr.texi: Likewise.
19163         * doc/posix-functions/wctob.texi: Likewise.
19164         * doc/posix-functions/wctrans.texi: Likewise.
19165         * doc/posix-functions/wmemchr.texi: Likewise.
19166         * doc/posix-functions/wmemcmp.texi: Likewise.
19167         * doc/posix-functions/wmemcpy.texi: Likewise.
19168         * doc/posix-functions/wmemmove.texi: Likewise.
19169         * doc/posix-functions/wmemset.texi: Likewise.
19170         * doc/posix-functions/wprintf.texi: Likewise.
19171         * doc/posix-functions/wscanf.texi: Likewise.
19172
19173 2008-12-21  Bruno Haible  <bruno@clisp.org>
19174
19175         Work around a portability problem.
19176         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
19177         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
19178
19179 2008-12-20  Bruno Haible  <bruno@clisp.org>
19180
19181         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
19182         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
19183         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
19184         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
19185         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
19186
19187         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
19188         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
19189         set.
19190         (GNULIB_defined_mbstate_t): New macro.
19191         (mbsinit): Redefine if REPLACE_MBSINIT is set.
19192         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
19193         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
19194         reuses the system's mbrtowc function but works around the bugs.
19195         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
19196         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
19197         macros.
19198         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
19199         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
19200         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
19201         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
19202         REPLACE_MBSINIT if mbsinit needs to be overridden.
19203         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
19204         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19205         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
19206         REPLACE_MBSINIT, REPLACE_MBRTOWC.
19207         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
19208         m4/locale-zh.m4.
19209         (Depends): Add mbsinit.
19210         * modules/mbsinit (Depends): Add mbrtowc.
19211         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
19212
19213 2008-12-20  Bruno Haible  <bruno@clisp.org>
19214
19215         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
19216         so that there are no conversion errors on AIX.
19217         * tests/test-mbsrtowcs.c (main): LIkewise.
19218
19219 2008-12-20  Bruno Haible  <bruno@clisp.org>
19220
19221         Work around wctob bug on Solaris <= 9.
19222         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
19223         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
19224         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
19225         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
19226         * modules/wctob (Files): Add m4/locale-fr.m4.
19227         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
19228
19229 2008-12-20  Bruno Haible  <bruno@clisp.org>
19230
19231         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
19232         /dev/null.
19233         * tests/test-select-in.sh: Likewise.
19234         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19235
19236 2008-12-20  Bruno Haible  <bruno@clisp.org>
19237
19238         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
19239         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
19240         Cygwin 1.5.x.
19241
19242 2008-12-20  Bruno Haible  <bruno@clisp.org>
19243
19244         Ensure mbstate_t is defined on HP-UX 11.11.
19245         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
19246         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
19247         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
19248         AC_USE_SYSTEM_EXTENSIONS.
19249         * modules/fnmatch (Depends-on): Add extensions.
19250         * modules/mbrlen (Depends-on): Likewise.
19251         * modules/mbrtowc (Depends-on): Likewise.
19252         * modules/mbsinit (Depends-on): Likewise.
19253         * modules/mbsrtowcs (Depends-on): Likewise.
19254         * modules/mbswidth (Depends-on): Likewise.
19255         * modules/quotearg (Depends-on): Likewise.
19256         * modules/strftime (Depends-on): Likewise.
19257
19258 2008-12-20  Bruno Haible  <bruno@clisp.org>
19259
19260         Ensure wctob is declared on IRIX 6.5.
19261         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
19262         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
19263         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
19264         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
19265         of HAVE_WCTOB.
19266         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
19267         HAVE_WCTOB.
19268         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
19269
19270 2008-12-19  Bruno Haible  <bruno@clisp.org>
19271
19272         * modules/mbsrtowcs-tests: New file.
19273         * tests/test-mbsrtowcs1.sh: New file.
19274         * tests/test-mbsrtowcs2.sh: New file.
19275         * tests/test-mbsrtowcs3.sh: New file.
19276         * tests/test-mbsrtowcs4.sh: New file.
19277         * tests/test-mbsrtowcs.c: New file.
19278
19279         New module 'mbsrtowcs'.
19280         * lib/wchar.in.h (mbsrtowcs): New declaration.
19281         * lib/mbsrtowcs.c: New file.
19282         * m4/mbsrtowcs.m4: New file.
19283         * modules/mbsrtowcs: New file.
19284         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
19285         HAVE_MBSRTOWCS.
19286         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
19287         HAVE_MBSRTOWCS.
19288         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
19289
19290 2008-12-19  Bruno Haible  <bruno@clisp.org>
19291
19292         New module 'mbrlen'.
19293         * lib/wchar.in.h (mbrlen): New declaration.
19294         * lib/mbrlen.c: New file.
19295         * m4/mbrlen.m4: New file.
19296         * modules/mbrlen: New file.
19297         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
19298         HAVE_MBRLEN.
19299         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
19300         HAVE_MBRLEN.
19301         * doc/posix-functions/mbrlen.texi: Document the new module.
19302
19303 2008-12-19  Bruno Haible  <bruno@clisp.org>
19304
19305         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
19306         * modules/mbrtowc (Depends-on): Add verify.
19307         Suggested by Paul Eggert.
19308
19309 2008-12-18  Bruno Haible  <bruno@clisp.org>
19310
19311         * modules/mbsinit-tests: New file.
19312         * tests/test-mbsinit.sh: New file.
19313         * tests/test-mbsinit.c: New file.
19314
19315 2008-12-18  Bruno Haible  <bruno@clisp.org>
19316
19317         * modules/mbrtowc-tests: New file.
19318         * tests/test-mbrtowc1.sh: New file.
19319         * tests/test-mbrtowc2.sh: New file.
19320         * tests/test-mbrtowc3.sh: New file.
19321         * tests/test-mbrtowc4.sh: New file.
19322         * tests/test-mbrtowc.c: New file.
19323
19324         New module 'mbrtowc'.
19325         * lib/wchar.in.h (mbstate_t): Override when the system does not have
19326         mbsinit and mbrtowc.
19327         (mbrtowc): New declaration.
19328         * lib/mbrtowc.c: New file.
19329         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
19330         * modules/mbrtowc: New file.
19331         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
19332         HAVE_MBRTOWC.
19333         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
19334         HAVE_MBRTOWC.
19335         * doc/posix-functions/mbrtowc.texi: Document the new module.
19336
19337 2008-12-18  Bruno Haible  <bruno@clisp.org>
19338
19339         New module 'wctob'.
19340         * lib/wchar.in.h (wctob): New declaration.
19341         * lib/wctob.c: New file.
19342         * m4/wctob.m4: New file.
19343         * modules/wctob: New file.
19344         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
19345         HAVE_WCTOB.
19346         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
19347         * doc/posix-functions/wctob.texi: Document the new module.
19348
19349 2008-12-18  Bruno Haible  <bruno@clisp.org>
19350
19351         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
19352         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
19353
19354 2008-12-18  Simon Josefsson  <simon@josefsson.org>
19355
19356         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
19357         G. Christensen" <tgc@jupiterrise.com>.
19358
19359         * lib/flock.c: Need to include errno.h.  Reported by "Tom
19360         G. Christensen" <tgc@jupiterrise.com>.
19361
19362         * lib/flock.c: Need to include string.h.  Reported by "Tom
19363         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
19364         <ebb9@byu.net>.
19365
19366 2008-12-18  Bruno Haible  <bruno@clisp.org>
19367
19368         * m4/locale-ja.m4: New file, from GNU gettext.
19369
19370 2008-12-17  Bruno Haible  <bruno@clisp.org>
19371
19372         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
19373         Suggested by Eric Blake.
19374
19375 2008-12-17  Bruno Haible  <bruno@clisp.org>
19376
19377         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
19378
19379 2008-12-17  Bruno Haible  <bruno@clisp.org>
19380
19381         * lib/mbsinit.c: Include verify.h. Verify an assumption.
19382         * modules/mbsinit (Depends-on): Add verify.
19383         Suggested by Paul Eggert.
19384
19385 2008-12-17  Bruno Haible  <bruno@clisp.org>
19386
19387         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
19388         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
19389         gl_FUNC_MBRTOWC.
19390         * m4/mbiter.m4 (gl_MBITER): LIkewise.
19391         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
19392         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
19393         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
19394         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
19395         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
19396         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
19397         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
19398         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
19399         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
19400         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
19401         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
19402         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
19403         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
19404         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
19405         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19406         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
19407         * modules/trim (configure.ac): Likewise.
19408
19409 2008-12-17  Bruno Haible  <bruno@clisp.org>
19410
19411         * modules/btowc-tests: New file.
19412         * tests/test-btowc1.sh: New file.
19413         * tests/test-btowc2.sh: New file.
19414         * tests/test-btowc.c: New file.
19415
19416         New module 'btowc'.
19417         * lib/wchar.in.h (btowc): New declaration.
19418         * lib/btowc.c: New file.
19419         * m4/btowc.m4: New file.
19420         * modules/btowc: New file.
19421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
19422         HAVE_BTOWC.
19423         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
19424         * doc/posix-functions/btowc.texi: Document the new module.
19425
19426 2008-12-17  Bruno Haible  <bruno@clisp.org>
19427
19428         New module 'mbsinit'.
19429         * lib/wchar.in.h (mbsinit): New declaration.
19430         * lib/mbsinit.c: New file.
19431         * m4/mbsinit.m4: New file.
19432         * modules/mbsinit: New file.
19433         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
19434         HAVE_MBSINIT.
19435         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
19436         HAVE_MBSINIT.
19437         * doc/posix-functions/mbsinit.texi: Document the new module.
19438
19439 2008-12-16  Bruno Haible  <bruno@clisp.org>
19440
19441         * lib/unistd.in.h: Add comment.
19442         * tests/test-environ.c: Don't include <stdlib.h>.
19443
19444 2008-12-16  Bruno Haible  <bruno@clisp.org>
19445
19446         * lib/parse-duration.h (parse_duration): Document return value
19447         convention.
19448         * lib/parse-duration.c: Include specification header first. Add
19449         comments.
19450         (_): Remove macro.
19451         (parse_year_month_day, parse_hour_minute_second): Move side effects
19452         outside of strchr call.
19453         (parse_non_iso8601): Move side effects outside of isspace call.
19454         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
19455         call.
19456
19457 2008-12-16  Bruno Haible  <bruno@clisp.org>
19458
19459         * tests/test-parse-duration.sh: Produce no output when the test
19460         succeeds.
19461
19462 2008-12-16  Bruno Haible  <bruno@clisp.org>
19463
19464         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
19465         expressions.
19466
19467 2008-12-15  Bruno Haible  <bruno@clisp.org>
19468
19469         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
19470         * doc/glibc-functions/flistxattr.texi: Likewise.
19471         * doc/glibc-functions/fopencookie.texi: Likewise.
19472         * doc/glibc-functions/fremovexattr.texi: Likewise.
19473         * doc/glibc-functions/fsetxattr.texi: Likewise.
19474         * doc/glibc-functions/getxattr.texi: Likewise.
19475         * doc/glibc-functions/lgetxattr.texi: Likewise.
19476         * doc/glibc-functions/listxattr.texi: Likewise.
19477         * doc/glibc-functions/llistxattr.texi: Likewise.
19478         * doc/glibc-functions/lremovexattr.texi: Likewise.
19479         * doc/glibc-functions/lsetxattr.texi: Likewise.
19480         * doc/glibc-functions/removexattr.texi: Likewise.
19481         * doc/glibc-functions/setxattr.texi: Likewise.
19482         * doc/posix-functions/open_memstream.texi: Likewise.
19483
19484 2008-12-15  Eric Blake  <ebb9@byu.net>
19485
19486         Update doc for cygwin 1.7.
19487         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
19488         functions.
19489         * doc/posix-functions/fchmodat.texi: Likewise.
19490         * doc/posix-functions/fchownat.texi: Likewise.
19491         * doc/posix-functions/fdopendir.texi: Likewise.
19492         * doc/posix-functions/fmemopen.texi: Likewise.
19493         * doc/posix-functions/freeaddrinfo.texi: Likewise.
19494         * doc/posix-functions/fstatat.texi: Likewise.
19495         * doc/posix-functions/futimens.texi: Likewise.
19496         * doc/posix-functions/gai_strerror.texi: Likewise.
19497         * doc/posix-functions/getaddrinfo.texi: Likewise.
19498         * doc/posix-functions/getnameinfo.texi: Likewise.
19499         * doc/posix-functions/if_freenameindex.texi: Likewise.
19500         * doc/posix-functions/if_indextoname.texi: Likewise.
19501         * doc/posix-functions/if_nameindex.texi: Likewise.
19502         * doc/posix-functions/if_nametoindex.texi: Likewise.
19503         * doc/posix-functions/insque.texi: Likewise.
19504         * doc/posix-functions/linkat.texi: Likewise.
19505         * doc/posix-functions/llrint.texi: Likewise.
19506         * doc/posix-functions/llrintf.texi: Likewise.
19507         * doc/posix-functions/llrintl.texi: Likewise.
19508         * doc/posix-functions/lockf.texi: Likewise.
19509         * doc/posix-functions/lrintl.texi: Likewise.
19510         * doc/posix-functions/mkdirat.texi: Likewise.
19511         * doc/posix-functions/mkfifoat.texi: Likewise.
19512         * doc/posix-functions/mknodat.texi: Likewise.
19513         * doc/posix-functions/mq_close.texi: Likewise.
19514         * doc/posix-functions/mq_getattr.texi: Likewise.
19515         * doc/posix-functions/mq_notify.texi: Likewise.
19516         * doc/posix-functions/mq_open.texi: Likewise.
19517         * doc/posix-functions/mq_receive.texi: Likewise.
19518         * doc/posix-functions/mq_send.texi: Likewise.
19519         * doc/posix-functions/mq_setattr.texi: Likewise.
19520         * doc/posix-functions/mq_timedreceive.texi: Likewise.
19521         * doc/posix-functions/mq_timedsend.texi: Likewise.
19522         * doc/posix-functions/mq_unlink.texi: Likewise.
19523         * doc/posix-functions/open_memstream.texi: Likewise.
19524         * doc/posix-functions/openat.texi: Likewise.
19525         * doc/posix-functions/posix_fadvise.texi: Likewise.
19526         * doc/posix-functions/posix_fallocate.texi: Likewise.
19527         * doc/posix-functions/posix_madvise.texi: Likewise.
19528         * doc/posix-functions/posix_memalign.texi: Likewise.
19529         * doc/posix-functions/posix_openpt.texi: Likewise.
19530         * doc/posix-functions/readlinkat.texi: Likewise.
19531         * doc/posix-functions/remque.texi: Likewise.
19532         * doc/posix-functions/renameat.texi: Likewise.
19533         * doc/posix-functions/rintl.texi: Likewise.
19534         * doc/posix-functions/sem_unlink.texi: Likewise.
19535         * doc/posix-functions/shm_open.texi: Likewise.
19536         * doc/posix-functions/shm_unlink.texi: Likewise.
19537         * doc/posix-functions/signgam.texi: Likewise.
19538         * doc/posix-functions/sigset.texi: Likewise.
19539         * doc/posix-functions/stpcpy.texi: Likewise.
19540         * doc/posix-functions/stpncpy.texi: Likewise.
19541         * doc/posix-functions/strerror.texi: Likewise.
19542         * doc/posix-functions/strtod.texi: Likewise.
19543         * doc/posix-functions/symlinkat.texi: Likewise.
19544         * doc/posix-functions/unlinkat.texi: Likewise.
19545         * doc/posix-functions/utimensat.texi: Likewise.
19546         * doc/glibc-functions/bindresvport.texi: Likewise.
19547         * doc/glibc-functions/dn_expand.texi: Likewise.
19548         * doc/glibc-functions/exp10.texi: Likewise.
19549         * doc/glibc-functions/exp10f.texi: Likewise.
19550         * doc/glibc-functions/fgetxattr.texi: Likewise.
19551         * doc/glibc-functions/flistxattr.texi: Likewise.
19552         * doc/glibc-functions/fopencookie.texi: Likewise.
19553         * doc/glibc-functions/freeifaddrs.texi: Likewise.
19554         * doc/glibc-functions/fremovexattr.texi: Likewise.
19555         * doc/glibc-functions/fsetxattr.texi: Likewise.
19556         * doc/glibc-functions/getifaddrs.texi: Likewise.
19557         * doc/glibc-functions/getxattr.texi: Likewise.
19558         * doc/glibc-functions/lgetxattr.texi: Likewise.
19559         * doc/glibc-functions/listxattr.texi: Likewise.
19560         * doc/glibc-functions/llistxattr.texi: Likewise.
19561         * doc/glibc-functions/lremovexattr.texi: Likewise.
19562         * doc/glibc-functions/lsetxattr.texi: Likewise.
19563         * doc/glibc-functions/pow10.texi: Likewise.
19564         * doc/glibc-functions/pow10f.texi: Likewise.
19565         * doc/glibc-functions/rcmd_af.texi: Likewise.
19566         * doc/glibc-functions/removexattr.texi: Likewise.
19567         * doc/glibc-functions/res_init.texi: Likewise.
19568         * doc/glibc-functions/res_mkquery.texi: Likewise.
19569         * doc/glibc-functions/res_query.texi: Likewise.
19570         * doc/glibc-functions/res_querydomain.texi: Likewise.
19571         * doc/glibc-functions/res_send.texi: Likewise.
19572         * doc/glibc-functions/rresvport_af.texi: Likewise.
19573         * doc/glibc-functions/setxattr.texi: Likewise.
19574         * doc/glibc-functions/strcasestr.texi: Likewise.
19575
19576 2008-12-15  Bruno Haible  <bruno@clisp.org>
19577
19578         Fix compilation error on OSF/1 4.0.
19579         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
19580         <sys/time.h>, simply delegate to the system header.
19581         Reported by Daniel Richard G. <oss@teragram.com>.
19582
19583 2008-12-15  Bruno Haible  <bruno@clisp.org>
19584
19585         * doc/posix-functions/openat.texi: Mention the 'openat' module.
19586         * doc/posix-functions/fchmodat.texi: Likewise.
19587         * doc/posix-functions/fchownat.texi: Likewise.
19588         * doc/posix-functions/fdopendir.texi: Likewise.
19589         * doc/posix-functions/fstatat.texi: Likewise.
19590         * doc/posix-functions/mkdirat.texi: Likewise.
19591         * doc/posix-functions/unlinkat.texi: Likewise.
19592
19593 2008-12-14  Bruno Haible  <bruno@clisp.org>
19594
19595         Update doc for POSIX:2008.
19596         * doc/posix-functions/faccessat.texi: New file.
19597         * doc/posix-functions/fchmodat.texi: New file.
19598         * doc/posix-functions/fchownat.texi: New file.
19599         * doc/posix-functions/fdopendir.texi: New file.
19600         * doc/posix-functions/fstatat.texi: New file.
19601         * doc/posix-functions/futimens.texi: New file.
19602         * doc/posix-functions/linkat.texi: New file.
19603         * doc/posix-functions/mkdirat.texi: New file.
19604         * doc/posix-functions/mkfifoat.texi: New file.
19605         * doc/posix-functions/mknodat.texi: New file.
19606         * doc/posix-functions/open_wmemstream.texi: New file.
19607         * doc/posix-functions/openat.texi: New file.
19608         * doc/posix-functions/psiginfo.texi: New file.
19609         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
19610         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
19611         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
19612         * doc/posix-functions/readlinkat.texi: New file.
19613         * doc/posix-functions/renameat.texi: New file.
19614         * doc/posix-functions/strerror_l.texi: New file.
19615         * doc/posix-functions/symlinkat.texi: New file.
19616         * doc/posix-functions/unlinkat.texi: New file.
19617         * doc/posix-functions/utimensat.texi: New file.
19618         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19619
19620 2008-12-14  Bruno Haible  <bruno@clisp.org>
19621
19622         Update doc for POSIX:2008.
19623         * doc/posix-functions/alphasort.texi: Renamed from
19624         doc/glibc-functions/alphasort.texi.
19625         * doc/posix-functions/dirfd.texi: Renamed from
19626         doc/glibc-functions/dirfd.texi.
19627         * doc/posix-functions/dprintf.texi: Renamed from
19628         doc/glibc-functions/dprintf.texi.
19629         * doc/posix-functions/duplocale.texi: Renamed from
19630         doc/glibc-functions/duplocale.texi.
19631         * doc/posix-functions/fexecve.texi: Renamed from
19632         doc/glibc-functions/fexecve.texi.
19633         * doc/posix-functions/fmemopen.texi: Renamed from
19634         doc/glibc-functions/fmemopen.texi.
19635         * doc/posix-functions/freelocale.texi: Renamed from
19636         doc/glibc-functions/freelocale.texi.
19637         * doc/posix-functions/getdate_err.texi: Renamed from
19638         doc/glibc-functions/getdate_err.texi.
19639         * doc/posix-functions/isalnum_l.texi: Renamed from
19640         doc/glibc-functions/isalnum_l.texi.
19641         * doc/posix-functions/isalpha_l.texi: Renamed from
19642         doc/glibc-functions/isalpha_l.texi.
19643         * doc/posix-functions/isblank_l.texi: Renamed from
19644         doc/glibc-functions/isblank_l.texi.
19645         * doc/posix-functions/iscntrl_l.texi: Renamed from
19646         doc/glibc-functions/iscntrl_l.texi.
19647         * doc/posix-functions/isdigit_l.texi: Renamed from
19648         doc/glibc-functions/isdigit_l.texi.
19649         * doc/posix-functions/isgraph_l.texi: Renamed from
19650         doc/glibc-functions/isgraph_l.texi.
19651         * doc/posix-functions/islower_l.texi: Renamed from
19652         doc/glibc-functions/islower_l.texi.
19653         * doc/posix-functions/isprint_l.texi: Renamed from
19654         doc/glibc-functions/isprint_l.texi.
19655         * doc/posix-functions/ispunct_l.texi: Renamed from
19656         doc/glibc-functions/ispunct_l.texi.
19657         * doc/posix-functions/isspace_l.texi: Renamed from
19658         doc/glibc-functions/isspace_l.texi.
19659         * doc/posix-functions/isupper_l.texi: Renamed from
19660         doc/glibc-functions/isupper_l.texi.
19661         * doc/posix-functions/iswalnum_l.texi: Renamed from
19662         doc/glibc-functions/iswalnum_l.texi.
19663         * doc/posix-functions/iswalpha_l.texi: Renamed from
19664         doc/glibc-functions/iswalpha_l.texi.
19665         * doc/posix-functions/iswblank_l.texi: Renamed from
19666         doc/glibc-functions/iswblank_l.texi.
19667         * doc/posix-functions/iswcntrl_l.texi: Renamed from
19668         doc/glibc-functions/iswcntrl_l.texi.
19669         * doc/posix-functions/iswctype_l.texi: Renamed from
19670         doc/glibc-functions/iswctype_l.texi.
19671         * doc/posix-functions/iswdigit_l.texi: Renamed from
19672         doc/glibc-functions/iswdigit_l.texi.
19673         * doc/posix-functions/iswgraph_l.texi: Renamed from
19674         doc/glibc-functions/iswgraph_l.texi.
19675         * doc/posix-functions/iswlower_l.texi: Renamed from
19676         doc/glibc-functions/iswlower_l.texi.
19677         * doc/posix-functions/iswprint_l.texi: Renamed from
19678         doc/glibc-functions/iswprint_l.texi.
19679         * doc/posix-functions/iswpunct_l.texi: Renamed from
19680         doc/glibc-functions/iswpunct_l.texi.
19681         * doc/posix-functions/iswspace_l.texi: Renamed from
19682         doc/glibc-functions/iswspace_l.texi.
19683         * doc/posix-functions/iswupper_l.texi: Renamed from
19684         doc/glibc-functions/iswupper_l.texi.
19685         * doc/posix-functions/iswxdigit_l.texi: Renamed from
19686         doc/glibc-functions/iswxdigit_l.texi.
19687         * doc/posix-functions/isxdigit_l.texi: Renamed from
19688         doc/glibc-functions/isxdigit_l.texi.
19689         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
19690         doc/glibc-functions/mbsnrtowcs.texi.
19691         * doc/posix-functions/mkdtemp.texi: Renamed from
19692         doc/glibc-functions/mkdtemp.texi.
19693         * doc/posix-functions/newlocale.texi: Renamed from
19694         doc/glibc-functions/newlocale.texi.
19695         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
19696         doc/glibc-functions/nl_langinfo_l.texi.
19697         * doc/posix-functions/open_memstream.texi: Renamed from
19698         doc/glibc-functions/open_memstream.texi.
19699         * doc/posix-functions/opterr.texi: Renamed from
19700         doc/glibc-functions/opterr.texi.
19701         * doc/posix-functions/optind.texi: Renamed from
19702         doc/glibc-functions/optind.texi.
19703         * doc/posix-functions/optopt.texi: Renamed from
19704         doc/glibc-functions/optopt.texi.
19705         * doc/posix-functions/psignal.texi: Renamed from
19706         doc/glibc-functions/psignal.texi.
19707         * doc/posix-functions/scandir.texi: Renamed from
19708         doc/glibc-functions/scandir.texi.
19709         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
19710         doc/glibc-functions/sched_get_priority_min.texi.
19711         * doc/posix-functions/signgam.texi: Renamed from
19712         doc/glibc-functions/signgam.texi.
19713         * doc/posix-functions/stpcpy.texi: Renamed from
19714         doc/glibc-functions/stpcpy.texi.
19715         * doc/posix-functions/stpncpy.texi: Renamed from
19716         doc/glibc-functions/stpncpy.texi.
19717         * doc/posix-functions/strcasecmp_l.texi: Renamed from
19718         doc/glibc-functions/strcasecmp_l.texi.
19719         * doc/posix-functions/strcoll_l.texi: Renamed from
19720         doc/glibc-functions/strcoll_l.texi.
19721         * doc/posix-functions/strfmon_l.texi: Renamed from
19722         doc/glibc-functions/strfmon_l.texi.
19723         * doc/posix-functions/strftime_l.texi: Renamed from
19724         doc/glibc-functions/strftime_l.texi.
19725         * doc/posix-functions/strncasecmp_l.texi: Renamed from
19726         doc/glibc-functions/strncasecmp_l.texi.
19727         * doc/posix-functions/strndup.texi: Renamed from
19728         doc/glibc-functions/strndup.texi.
19729         * doc/posix-functions/strnlen.texi: Renamed from
19730         doc/glibc-functions/strnlen.texi.
19731         * doc/posix-functions/strsignal.texi: Renamed from
19732         doc/glibc-functions/strsignal.texi.
19733         * doc/posix-functions/strxfrm_l.texi: Renamed from
19734         doc/glibc-functions/strxfrm_l.texi.
19735         * doc/posix-functions/timer_gettime.texi: Renamed from
19736         doc/glibc-functions/timer_gettime.texi.
19737         * doc/posix-functions/tolower_l.texi: Renamed from
19738         doc/glibc-functions/tolower_l.texi.
19739         * doc/posix-functions/toupper_l.texi: Renamed from
19740         doc/glibc-functions/toupper_l.texi.
19741         * doc/posix-functions/towctrans_l.texi: Renamed from
19742         doc/glibc-functions/towctrans_l.texi.
19743         * doc/posix-functions/towlower_l.texi: Renamed from
19744         doc/glibc-functions/towlower_l.texi.
19745         * doc/posix-functions/towupper_l.texi: Renamed from
19746         doc/glibc-functions/towupper_l.texi.
19747         * doc/posix-functions/uselocale.texi: Renamed from
19748         doc/glibc-functions/uselocale.texi.
19749         * doc/posix-functions/vdprintf.texi: Renamed from
19750         doc/glibc-functions/vdprintf.texi.
19751         * doc/posix-functions/wcpcpy.texi:
19752         Renamed from doc/glibc-functions/wcpcpy.texi.
19753         * doc/posix-functions/wcpncpy.texi: Renamed from
19754         doc/glibc-functions/wcpncpy.texi.
19755         * doc/posix-functions/wcscasecmp.texi: Renamed from
19756         doc/glibc-functions/wcscasecmp.texi.
19757         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
19758         doc/glibc-functions/wcscasecmp_l.texi.
19759         * doc/posix-functions/wcscoll_l.texi: Renamed from
19760         doc/glibc-functions/wcscoll_l.texi.
19761         * doc/posix-functions/wcsdup.texi: Renamed from
19762         doc/glibc-functions/wcsdup.texi.
19763         * doc/posix-functions/wcsncasecmp.texi: Renamed from
19764         doc/glibc-functions/wcsncasecmp.texi.
19765         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
19766         doc/glibc-functions/wcsncasecmp_l.texi.
19767         * doc/posix-functions/wcsnlen.texi: Renamed from
19768         doc/glibc-functions/wcsnlen.texi.
19769         * doc/posix-functions/wcsnrtombs.texi: Renamed from
19770         doc/glibc-functions/wcsnrtombs.texi.
19771         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
19772         doc/glibc-functions/wcsxfrm_l.texi.
19773         * doc/posix-functions/wctrans_l.texi: Renamed from
19774         doc/glibc-functions/wctrans_l.texi.
19775         * doc/posix-functions/wctype_l.texi: Renamed from
19776         doc/glibc-functions/wctype_l.texi.
19777         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19778         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
19779         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
19780         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
19781         these subsections.
19782         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
19783         Remove sections.
19784
19785 2008-12-14  Bruno Haible  <bruno@clisp.org>
19786
19787         Update doc for POSIX:2008.
19788         * doc/posix-functions/*.texi: Update URL of POSIX specification.
19789
19790 2008-12-14  Bruno Haible  <bruno@clisp.org>
19791
19792         Update doc for POSIX:2008.
19793         * doc/pastposix-functions/bcmp.texi: Renamed from
19794         doc/posix-functions/bcmp.texi.
19795         * doc/pastposix-functions/bcopy.texi: Renamed from
19796         doc/posix-functions/bcopy.texi.
19797         * doc/pastposix-functions/bsd_signal.texi: Renamed from
19798         doc/posix-functions/bsd_signal.texi.
19799         * doc/pastposix-functions/bzero.texi: Renamed from
19800         doc/posix-functions/bzero.texi.
19801         * doc/pastposix-functions/ecvt.texi: Renamed from
19802         doc/posix-functions/ecvt.texi.
19803         * doc/pastposix-functions/fcvt.texi: Renamed from
19804         doc/posix-functions/fcvt.texi.
19805         * doc/pastposix-functions/ftime.texi: Renamed from
19806         doc/posix-functions/ftime.texi.
19807         * doc/pastposix-functions/gcvt.texi: Renamed from
19808         doc/posix-functions/gcvt.texi.
19809         * doc/pastposix-functions/getcontext.texi: Renamed from
19810         doc/posix-functions/getcontext.texi.
19811         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
19812         doc/posix-functions/gethostbyaddr.texi.
19813         * doc/pastposix-functions/gethostbyname.texi: Renamed from
19814         doc/posix-functions/gethostbyname.texi.
19815         * doc/pastposix-functions/getwd.texi: Renamed from
19816         doc/posix-functions/getwd.texi.
19817         * doc/pastposix-functions/h_errno.texi: Renamed from
19818         doc/posix-functions/h_errno.texi.
19819         * doc/pastposix-functions/index.texi: Renamed from
19820         doc/posix-functions/index.texi.
19821         * doc/pastposix-functions/makecontext.texi: Renamed from
19822         doc/posix-functions/makecontext.texi.
19823         * doc/pastposix-functions/mktemp.texi: Renamed from
19824         doc/posix-functions/mktemp.texi.
19825         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
19826         doc/posix-functions/pthread_attr_getstackaddr.texi.
19827         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
19828         doc/posix-functions/pthread_attr_setstackaddr.texi.
19829         * doc/pastposix-functions/rindex.texi: Renamed from
19830         doc/posix-functions/rindex.texi.
19831         * doc/pastposix-functions/scalb.texi: Renamed from
19832         doc/posix-functions/scalb.texi.
19833         * doc/pastposix-functions/setcontext.texi: Renamed from
19834         doc/posix-functions/setcontext.texi.
19835         * doc/pastposix-functions/swapcontext.texi: Renamed from
19836         doc/posix-functions/swapcontext.texi.
19837         * doc/pastposix-functions/ualarm.texi: Renamed from
19838         doc/posix-functions/ualarm.texi.
19839         * doc/pastposix-functions/usleep.texi: Renamed from
19840         doc/posix-functions/usleep.texi.
19841         * doc/pastposix-functions/vfork.texi: Renamed from
19842         doc/posix-functions/vfork.texi.
19843         * doc/pastposix-functions/wcswcs.texi: Renamed from
19844         doc/posix-functions/wcswcs.texi.
19845         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
19846         (Function Substitutes): Update.
19847
19848 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19849
19850         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
19851         m4/strerror.m4.
19852
19853 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19854             Bruno Haible  <bruno@clisp.org>
19855
19856         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
19857
19858 2008-12-13  Bruno Haible  <bruno@clisp.org>
19859
19860         * modules/strtoull (Depends-on): Remove unistd.
19861
19862 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19863
19864         * modules/strtoull (Depends-on): Add stdlib.
19865
19866 2008-12-11  Simon Josefsson  <simon@josefsson.org>
19867
19868         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
19869
19870 2008-12-10  Jim Meyering  <meyering@redhat.com>
19871
19872         gl_ASSERT: don't say assertions are disabled when they're not
19873         * m4/assert.m4 (gl_ASSERT): Do not make configure report
19874         "checking whether to enable assertions... no", when they are in
19875         fact enabled.  This is solely a bug in the output of configure.
19876         In spite of saying "no", NDEBUG was not defined in that case.
19877         Also, as noted by Eric Blake, leave assertions enabled upon
19878         --enable-assert=INVALID.
19879
19880 2008-12-10  Bruno Haible  <bruno@clisp.org>
19881
19882         Change MODULES.html to refer to POSIX:2008 where possible.
19883         * MODULES.html.sh (POSIX2008_URL): New variable.
19884         (posix_headers): Remove sys/timeb, ucontext.
19885         (posix2001_headers): New variable.
19886         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
19887         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
19888         index, makecontext, mktemp, pthread_attr_getstackaddr,
19889         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
19890         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
19891         (posix2001_functions): New variable.
19892         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
19893         otherwise.
19894
19895 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19896
19897         add missing include to parse-duration.c
19898         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
19899         * modules/parse-duration (Depends-on): Add xalloc.
19900
19901         fix sed script reading maint.mk
19902         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
19903         (syntax-check-rules): Use it.
19904
19905 2008-12-09  Bruno Haible  <bruno@clisp.org>
19906
19907         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
19908         MacOS X 10.4/PowerPC.
19909         Reported by Simon Josefsson.
19910
19911 2008-12-08  Jim Meyering  <meyering@redhat.com>
19912
19913         work around mingw's lack of some S_IF definitions
19914         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
19915         Reported by Simon Josefsson.
19916
19917 2008-12-08  Bruno Haible  <bruno@clisp.org>
19918
19919         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
19920         applied to variables. Needed on MacOS X 10.4/PowerPC.
19921         Reported by Simon Josefsson.
19922
19923 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
19924         and Eric Blake  <ebb9@byu.net>
19925
19926         assert: honor --enable-assert
19927         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
19928         order to honor --enable-assert, rather than treating it as a
19929         synonym for --disable-assert.
19930
19931 2008-12-08  Jim Meyering  <meyering@redhat.com>
19932
19933         * lib/posixtm.c: Remove now-useless declaration of mktime.
19934
19935         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
19936
19937 2008-12-07  Bruno Haible  <bruno@clisp.org>
19938
19939         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
19940         test_once): Mark functions as static.
19941         * tests/test-tls.c (test_tls): Likewise.
19942
19943 2008-12-07  Bruno Haible  <bruno@clisp.org>
19944
19945         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
19946         iconv_register_autodetect.
19947
19948 2008-12-07  Jim Meyering  <meyering@redhat.com>
19949
19950         posixtm.c: avoid a warning
19951         * lib/posixtm.c (posixtime): Don't initialize tm0.
19952         It's no longer needed to placate gcc4's -Wuninitialized,
19953         and the attempt to placate would elicit a new warning.
19954
19955         unicodeio.c: mark unused parameters
19956         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
19957         (fallback_failure_callback): Likewise.
19958
19959 2008-12-07  Bruno Haible  <bruno@clisp.org>
19960
19961         * gnulib-tool (func_create_testdir): When building the tests
19962         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
19963         Reported by Simon Josefsson.
19964
19965 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19966
19967         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
19968
19969 2008-12-06  Bruno Haible  <bruno@clisp.org>
19970
19971         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
19972         Suggested by Eric Blake.
19973
19974 2008-12-06  Bruno Haible  <bruno@clisp.org>
19975
19976         Fix a c-stack test failure on MacOS X.
19977         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
19978         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
19979         handler for SIGBUS as well.
19980         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
19981         install a signal handler for SIGBUS as well.
19982         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
19983
19984 2008-12-06  Bruno Haible  <bruno@clisp.org>
19985
19986         Advocacy documentation.
19987         * doc/gnulib-intro.texi (Benefits): New section.
19988         * doc/gnulib.texi: Update.
19989
19990 2008-12-06  Bruno Haible  <bruno@clisp.org>
19991
19992         Document the 'manywarnings' module.
19993         * doc/manywarnings.texi: New file.
19994         * doc/gnulib.texi: Include it.
19995
19996 2008-12-05  Eric Blake  <ebb9@byu.net>
19997
19998         tests: silence some gcc warnings
19999         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
20000         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
20001         type mismatches.
20002
20003 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20004             Bruno Haible  <bruno@clisp.org>
20005
20006         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
20007
20008 2008-11-29  Jim Meyering  <meyering@redhat.com>
20009
20010         unicodeio.c: mark unused parameters
20011         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
20012         (fallback_failure_callback): Likewise.
20013
20014         fts: fix a thinko
20015         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
20016         (set_stat_type): Return S_IF*-valued "type" directly.
20017         Prompted by James Youngman's spotting a related bug.
20018         Confirmed by further testing through find.
20019
20020         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
20021         * lib/fts.c (D_TYPE): Define.
20022         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
20023         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
20024         (s_ifmt_shift_bits): New function.
20025         (set_stat_type): New function.
20026         (fts_build): When not calling fts_stat, call set_stat_type
20027         to propagate dirent.d_type info to fts_read caller.
20028         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
20029         fts_statp->st_mode type information may be valid.
20030
20031 2008-11-28  Simon Josefsson  <simon@josefsson.org>
20032
20033         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
20034         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
20035         <sds@gnu.org>.
20036
20037 2008-11-20  Bruno Haible  <bruno@clisp.org>
20038
20039         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
20040         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
20041         INCLUDE_NEXT.
20042         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
20043         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
20044         * modules/math (Makefile.am): Substitute
20045         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
20046         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20047
20048 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20049             Bruno Haible  <bruno@clisp.org>
20050
20051         * lib/stdint.in.h: Define all type macros so that their expansion is
20052         a single typedef'ed token. Fixes a compilation failure in Boost which
20053         does "using ::int8_t;".
20054
20055 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20056
20057         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
20058         gl_MANYWARN_ALL_GCC.
20059         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
20060         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
20061         * modules/manywarnings: New file.
20062         * MODULES.html.sh: Mention manywarnings module.
20063
20064 2008-11-18  Bruno Haible  <bruno@clisp.org>
20065
20066         * doc/gnulib-tool.texi (Unit tests): New section.
20067
20068 2008-11-18  Simon Josefsson  <simon@josefsson.org>
20069
20070         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
20071         paths like 'lib/po/foo.po'.
20072
20073 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20074
20075         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
20076         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
20077
20078 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20079
20080         * m4/warnings.m4: Use CPPFLAGS to really check whether the
20081         parameter works.
20082
20083 2008-11-17  Simon Josefsson  <simon@josefsson.org>
20084
20085         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
20086
20087 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20088
20089         * modules/parse-duration-tests: New file.
20090         * tests/test-parse-duration.sh: New file.
20091         * tests/test-parse-duration.c: New file.
20092
20093         New module 'parse-duration'.
20094         * lib/parse-duration.h: New file.
20095         * lib/parse-duration.c: New file.
20096         * modules/parse-duration: New file.
20097
20098 2008-11-17  Bruno Haible  <bruno@clisp.org>
20099
20100         * tests/test-select-out.sh: Comment out the first pipe test.
20101         Reported by Simon Josefsson.
20102
20103 2008-11-17  Bruno Haible  <bruno@clisp.org>
20104
20105         * modules/getaddrinfo (Depends-on): Add servent, hostent.
20106         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
20107         gl_HOSTENT.
20108
20109 2008-11-17  Bruno Haible  <bruno@clisp.org>
20110
20111         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
20112         -lnetwork and -lnet. Needed for Haiku and BeOS.
20113
20114 2008-11-16  Bruno Haible  <bruno@clisp.org>
20115
20116         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
20117
20118 2008-11-16  Bruno Haible  <bruno@clisp.org>
20119
20120         Avoid test failure on Haiku.
20121         * tests/test-fsync.c: Include <errno.h>.
20122         (main): Don't require that fsync (0) fails.
20123
20124 2008-11-15  Bruno Haible  <bruno@clisp.org>
20125
20126         New module 'hostent'.
20127         * modules/hostent: New file.
20128         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
20129
20130 2008-11-15  Bruno Haible  <bruno@clisp.org>
20131
20132         New module 'servent'.
20133         * modules/servent: New file.
20134         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
20135
20136 2008-11-15  Bruno Haible  <bruno@clisp.org>
20137
20138         Avoid generating same test program with two different rules.
20139         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
20140         test-frexp to test-frexp-nolibm.
20141         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
20142         test-frexpl to test-frexpl-nolibm.
20143
20144 2008-11-15  Bruno Haible  <bruno@clisp.org>
20145
20146         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
20147         $(FREXPL_LIBM).
20148
20149 2008-11-15  Bruno Haible  <bruno@clisp.org>
20150
20151         * lib/netdb.in.h: Activate the definitions also when the system's
20152         <netdb.h> has 'struct addrinfo'.
20153         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
20154         EAI_OVERFLOW or AI_NUMERICSERV.
20155         * doc/posix-headers/netdb.texi: Document the problem.
20156
20157 2008-11-15  Bruno Haible  <bruno@clisp.org>
20158
20159         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
20160
20161         Make the 'sched' module work on platforms where <sched.h> exists but
20162         is incomplete (such as Haiku).
20163         * lib/sched.in.h; Include the system's <sched.h> if it exists.
20164         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
20165         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
20166         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
20167         HAVE_STRUCT_SCHED_PARAM.
20168         * modules/sched (Depends-on): Add include_next.
20169         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
20170         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
20171         * doc/posix-headers/sched.texi: Document the issue.
20172
20173 2008-11-13  Jim Meyering  <meyering@redhat.com>
20174
20175         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
20176         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
20177         test would fail due to the difference in the Report bugs to ...
20178         line.  The expected address is empty, "<>", while the actual
20179         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
20180
20181 2008-11-12  Bruno Haible  <bruno@clisp.org>
20182
20183         lstat: don't compile lstat.c on systems lacking lstat
20184         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
20185         which don't have lstat; this is handled by lib/sys_stat.in.h already.
20186         Reported by Daniel P. Berrange via Jim Meyering.
20187
20188 2008-11-12  Jim Meyering  <meyering@redhat.com>
20189
20190         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
20191
20192 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20193
20194         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
20195         instead.
20196
20197 2008-11-12  Bruno Haible  <bruno@clisp.org>
20198
20199         * lib/unicodeio.c: Include unistr.h.
20200         (utf8_wctomb): Remove function.
20201         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
20202
20203 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20204
20205         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
20206         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
20207         <bruno@clisp.org>.
20208         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
20209
20210 2008-11-12  Simon Josefsson  <simon@josefsson.org>
20211
20212         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
20213         * doc/gnulib.texi: Add section for warnings.
20214
20215 2008-11-11  Bruno Haible  <bruno@clisp.org>
20216
20217         * lib/sockets.h: Add a comment.
20218
20219 2008-11-11  Karl Berry  <karl@gnu.org>
20220
20221         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
20222
20223 2008-11-11  Eric Blake  <ebb9@byu.net>
20224
20225         fdl.texi: avoid git symlinks
20226         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
20227
20228 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20229
20230         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
20231
20232 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20233
20234         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
20235         (gl_WARN_ADD): Substitute $2 if literal.
20236
20237 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20238
20239         * m4/warning.m4: Remove.
20240
20241 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20242
20243         * m4/warnings.m4: Almost complete rewrite. :-)
20244
20245 2008-11-10  Simon Josefsson  <simon@josefsson.org>
20246
20247         * modules/warnings: New module.
20248         * m4/warnings.m4: New file.
20249         * MODULES.html.sh: Mention warnings module.
20250         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
20251         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20252
20253 2008-11-10  Eric Blake  <ebb9@byu.net>
20254
20255         fdl.texi: make a symlink to the latest version
20256         * doc/standards.texi: Revert today's earlier change.
20257         * doc/fdl-1.2.texi: Rename from old fdl.texi...
20258         * doc/fdl.texi: ...and replace this with a symlink to the newer
20259         fdl-1.3.texi.
20260
20261 2008-11-10  Bruno Haible  <bruno@clisp.org>
20262
20263         * tests/test-select-fd.c (main): Accept the result file name as fourth
20264         argument.
20265         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
20266         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
20267
20268 2008-11-10  Bruno Haible  <bruno@clisp.org>
20269
20270         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
20271         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
20272         as autoconf-substituted macros.
20273         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
20274         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
20275         gl_NETDB_H_DEFAULTS. Set these variables.
20276         * modules/netdb (Makefile.am): Substitute these variables.
20277
20278 2008-11-10  Eric Blake  <ebb9@byu.net>
20279
20280         standards.texi: include correct file for FDL 1.3
20281         * doc/standards.texi (GNU Free Documentation License): Change
20282         include file to pull in FDL 1.3, not 1.2.
20283
20284         fdl.texi: revert accidental change to license
20285         * doc/fdl.texi: This is FDL 1.2, not 1.3.
20286
20287 2008-11-10  Bruno Haible  <bruno@clisp.org>
20288
20289         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
20290         cross-compiling guesses also when the native compile gives no result.
20291
20292 2008-11-10  Bruno Haible  <bruno@clisp.org>
20293
20294         * lib/spawni.c (__spawni): Force variable into the stack.
20295
20296 2008-11-10  Bruno Haible  <bruno@clisp.org>
20297
20298         Add support for Haiku.
20299         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
20300         glibc and BeOS, but also on Haiku.
20301         * lib/fpurge.c (fpurge): Likewise.
20302         * lib/freadable.c (freadable): Likewise.
20303         * lib/freadahead.c (freadahead): Likewise.
20304         * lib/freading.c (freading): Likewise.
20305         * lib/freadptr.c (freadptr): Likewise.
20306         * lib/freadseek.c (freadptrinc): Likewise.
20307         * lib/fseeko.c (rpl_fseeko): Likewise.
20308         * lib/fseterr.c (fseterr): Likewise.
20309         * lib/fwritable.c (fwritable): Likewise.
20310         * lib/fwriting.c (fwriting): Likewise.
20311         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
20312
20313 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20314
20315         * lib/config.charset: Treat Haiku like BeOS.
20316
20317 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20318
20319         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
20320         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
20321
20322 2008-11-08  Bruno Haible  <bruno@clisp.org>
20323
20324         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
20325         AC_CACHE_CHECK.
20326
20327 2008-11-08  Bruno Haible  <bruno@clisp.org>
20328
20329         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
20330
20331 2008-11-08  Bruno Haible  <bruno@clisp.org>
20332
20333         * tests/test-select-fd.c: New file.
20334         * tests/test-select-in.sh: New file.
20335         * tests/test-select-out.sh: New file.
20336         * tests/test-select-stdin.c: New file.
20337         * modules/select-tests (Files): Add the new files.
20338         (Depends-on): Add gettimeofday.
20339         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
20340         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
20341         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
20342
20343 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
20344             Bruno Haible  <bruno@clisp.org>
20345
20346         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
20347
20348 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
20349
20350         * build-aux/pmccabe2html: Added support for C++ source files.
20351
20352 2008-11-05  Ben Pfaff  <blp@gnu.org>
20353
20354         Fix lib/close.c build on Windows.
20355         * modules/close (Files): Add lib/w32sock.h.
20356
20357 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
20358
20359         Accept Bison's NEWS format.
20360         * build-aux/announce-gen (print_news_deltas): Tweak
20361         $re_prefix.
20362
20363 2008-11-04  Bruno Haible  <bruno@clisp.org>
20364
20365         * modules/random_r (Maintainer): Add glibc.
20366
20367 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20368
20369         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
20370         by karl@freefriends.org (Karl Berry).
20371         * doc/alloca.texi: Likewise.
20372         * doc/c-ctype.texi: Likewise.
20373         * doc/c-strcase.texi: Likewise.
20374         * doc/c-strcaseeq.texi: Likewise.
20375         * doc/c-strcasestr.texi: Likewise.
20376         * doc/c-strstr.texi: Likewise.
20377         * doc/c-strtod.texi: Likewise.
20378         * doc/c-strtold.texi: Likewise.
20379         * doc/ctime.texi: Likewise.
20380         * doc/error.texi: Likewise.
20381         * doc/fdl.texi: Likewise.
20382         * doc/gcd.texi: Likewise.
20383         * doc/getdate.texi: Likewise.
20384         * doc/gnulib-intro.texi: Likewise.
20385         * doc/gnulib-tool.texi: Likewise.
20386         * doc/gnulib.texi: Likewise.
20387         * doc/inet_ntoa.texi: Likewise.
20388         * doc/maintain.texi: Likewise.
20389         * doc/make-stds.texi: Likewise.
20390         * doc/quote.texi: Likewise.
20391         * doc/regexprops-generic.texi: Likewise.
20392         * doc/standards.texi: Likewise.
20393         * doc/verify.texi: Likewise.
20394         * doc/visibility.texi: Likewise.
20395         * doc/gnulib.texi (GNU Free Documentation License): Include
20396         fdl-1.3.texi instead of fdl.texi.
20397
20398 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20399
20400         * doc/fdl-1.3.texi: New file, from
20401         <http://www.gnu.org/licenses/fdl-1.3.texi>.
20402         * modules/fdl-1.3: Add.
20403         * MODULES.html.sh: Add fdl-1.3.
20404
20405 2008-11-03  Bruno Haible  <bruno@clisp.org>
20406
20407         Make determination of absolute name of header file work with AIX xlc.
20408         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
20409         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
20410         preprocessing.
20411         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20412         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20413
20414 2008-11-03  Simon Josefsson  <simon@josefsson.org>
20415
20416         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
20417         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
20418         <ludo@gnu.org>.
20419
20420 2008-11-02  Bruno Haible  <bruno@clisp.org>
20421
20422         Mark 'strpbrk' obsolete.
20423         * modules/strpbrk (Status, Notice): New sections.
20424         * modules/strtok_r (Depends-on): Add strpbrk.
20425
20426 2008-11-02  Bruno Haible  <bruno@clisp.org>
20427
20428         Mark 'strdup' obsolete.
20429         * modules/strdup (Status, Notice): New sections.
20430         * modules/findprog (Depends-on): Add strdup.
20431         * modules/getaddrinfo (Depends-on): Likewise.
20432         * modules/localename (Depends-on): Likewise.
20433         * modules/relocatable-lib (Depends-on): Likewise.
20434         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
20435         * modules/relocatable-prog (Depends-on): Likewise.
20436         * modules/trim (Depends-on): Likewise.
20437         * modules/unictype/gen-ctype (Depends-on): Likewise.
20438         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20439
20440 2008-11-02  Bruno Haible  <bruno@clisp.org>
20441
20442         Mark 'strcspn' obsolete.
20443         * modules/strcspn (Status, Notice): New sections.
20444
20445 2008-11-02  Bruno Haible  <bruno@clisp.org>
20446
20447         Mark 'rmdir' obsolete.
20448         * modules/rmdir (Status, Notice): New sections.
20449         * modules/clean-temp (Depends-on): Add rmdir.
20450         * modules/openat (Depends-on): Likewise.
20451
20452 2008-11-02  Bruno Haible  <bruno@clisp.org>
20453
20454         Mark 'raise' obsolete.
20455         * modules/raise (Status, Notice): New sections.
20456         (Include): Specify <signal.h>.
20457         * modules/stdio (Depends-on): Add raise.
20458         * modules/write (Depends-on): Likewise.
20459
20460 2008-11-02  Bruno Haible  <bruno@clisp.org>
20461
20462         Mark 'memset' obsolete.
20463         * modules/memset (Status, Notice): New sections.
20464
20465 2008-11-02  Bruno Haible  <bruno@clisp.org>
20466
20467         Mark 'memmove' obsolete.
20468         * modules/memmove (Status, Notice): New sections.
20469         * modules/argp (Depends-on): Add memmove.
20470         * modules/argz (Depends-on): Likewise.
20471         * modules/canonicalize (Depends-on): Likewise.
20472         * modules/canonicalize-lgpl (Depends-on): Likewise.
20473         * modules/fts (Depends-on): Likewise.
20474         * modules/getcwd (Depends-on): Likewise.
20475         * modules/human (Depends-on): Likewise.
20476         * modules/regex (Depends-on): Likewise.
20477         * modules/striconveh (Depends-on): Likewise.
20478         * modules/trim (Depends-on): Likewise.
20479         * modules/unistr/u8-move (Depends-on): Likewise.
20480         * modules/unistr/u16-move (Depends-on): Likewise.
20481         * modules/unistr/u32-move (Depends-on): Likewise.
20482
20483 2008-11-02  Bruno Haible  <bruno@clisp.org>
20484
20485         Mark 'memcpy' obsolete.
20486         * modules/memcpy (Status, Notice): New sections.
20487
20488 2008-11-02  Bruno Haible  <bruno@clisp.org>
20489
20490         Mark 'memcmp' obsolete.
20491         * modules/memcmp (Status, Notice): New sections.
20492         * modules/argmatch (Depends-on): Add memchr.
20493         * modules/backupfile (Depends-on): Likewise.
20494         * modules/c-strcasestr (Depends-on): Likewise.
20495         * modules/crypto/des (Depends-on): Likewise.
20496         * modules/csharpcomp (Depends-on): Likewise.
20497         * modules/fnmatch (Depends-on): Likewise.
20498         * modules/git-merge-changelog (Depends-on): Likewise.
20499         * modules/isnand (Depends-on): Likewise.
20500         * modules/isnand-nolibm (Depends-on): Likewise.
20501         * modules/isnanf (Depends-on): Likewise.
20502         * modules/isnanf-nolibm (Depends-on): Likewise.
20503         * modules/isnanl (Depends-on): Likewise.
20504         * modules/isnanl-nolibm (Depends-on): Likewise.
20505         * modules/mbchar (Depends-on): Likewise.
20506         * modules/memcoll (Depends-on): Likewise.
20507         * modules/quotearg (Depends-on): Likewise.
20508         * modules/regex (Depends-on): Likewise.
20509         * modules/relocatable-prog (Depends-on): Likewise.
20510         * modules/same (Depends-on): Likewise.
20511         * modules/signbit (Depends-on): Likewise.
20512         * modules/strcasestr-simple (Depends-on): Likewise.
20513         * modules/unictype/gen-ctype (Depends-on): Likewise.
20514         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20515         * modules/uniname/uniname (Depends-on): Likewise.
20516         * modules/unistr/u8-cmp (Depends-on): Likewise.
20517
20518 2008-11-02  Bruno Haible  <bruno@clisp.org>
20519
20520         Mark 'memchr' obsolete.
20521         * modules/memchr (Status, Notice): New sections.
20522         * modules/argp (Depends-on): Add memchr.
20523         * modules/base64 (Depends-on): Likewise.
20524         * modules/c-strcasestr (Depends-on): Likewise.
20525         * modules/chdir-long (Depends-on): Likewise.
20526         * modules/fnmatch (Depends-on): Likewise.
20527         * modules/getsubopt (Depends-on): Likewise.
20528         * modules/git-merge-changelog (Depends-on): Likewise.
20529         * modules/glob (Depends-on): Likewise.
20530         * modules/strcasestr-simple (Depends-on): Likewise.
20531         * modules/strnlen (Depends-on): Likewise.
20532
20533 2008-11-02  Bruno Haible  <bruno@clisp.org>
20534
20535         Mark 'atexit' obsolete.
20536         * modules/atexit (Status, Notice): New sections.
20537         * modules/chdir-long (Depends-on): Add atexit.
20538         * modules/wait-process (Depends-on): Likewise.
20539
20540 2008-11-02  Bruno Haible  <bruno@clisp.org>
20541
20542         * gnulib-tool: New option --with-obsolete.
20543         (func_usage): Document it.
20544         (func_modules_transitive_closure): Drop obsolete dependencies if
20545         incobsolete is not true.
20546         (func_import): Read and save the incobsolete variable to the cache.
20547
20548 2008-11-02  Bruno Haible  <bruno@clisp.org>
20549
20550         * modules/TEMPLATE-EXTENDED: New field 'Status'.
20551         * gnulib-tool: New option --extract-status.
20552         (func_usage): Document it.
20553         (sed_extract_prog): Recognize it.
20554         (func_get_status): New function.
20555
20556 2008-10-30  Simon Josefsson  <simon@josefsson.org>
20557
20558         * modules/sockets (License): Change from LGPL to LGPLv2+.
20559
20560 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20561
20562         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
20563
20564 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20565
20566         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20567         Mention times and sys_times.
20568         * modules/sys_times, modules/sys_times-tests: New modules.
20569         * modules/times, modules/times-tests: Likewise
20570         * m4/sys_times_h.m4: New file.
20571         * lib/sys_times.in.h: Likewise
20572         * lib/times.c: Likewise.
20573         * tests/test-sys_times.c: Likewise.
20574         * tests/test-times.c: Likewise.
20575         * doc/posix-headers/sys_times.texi: Update.
20576         * doc/posix-functions/times.texi: Update.
20577
20578 2008-10-28  Jim Meyering  <meyering@redhat.com>
20579
20580         * modules/tempname (Depends-on): Add lstat.
20581
20582         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
20583
20584 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20585
20586         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
20587         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
20588         using idiom used elsewhere in gnulib.
20589
20590 2008-10-27  Jim Meyering  <meyering@redhat.com>
20591
20592         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
20593
20594 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20595
20596         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
20597         TESTS_ENVIRONMENT, for shell scripts that needs to call built
20598         programs.
20599         * tests/test-argp-2.sh: Use $EXEEXT when needed.
20600
20601 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20602
20603         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
20604
20605 2008-10-27  Bruno Haible  <bruno@clisp.org>
20606
20607         * tests/test-lstat.c: Include <stdio.h>.
20608
20609 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20610
20611         * modules/lstat-tests: New module.
20612         * tests/test-lstat.c: New file.
20613
20614 2008-10-26  Jim Meyering  <meyering@redhat.com>
20615
20616         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
20617
20618 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20619             Bruno Haible  <bruno@clisp.org>
20620
20621         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
20622         * modules/configmake (Include): Add a note that the include must come
20623         after all system headers.
20624         * lib/javaversion.c: Include configmake.h after all other includes.
20625
20626 2008-10-26  Bruno Haible  <bruno@clisp.org>
20627
20628         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
20629         HAVE_STRUCT_RANDOM_DATA to 1.
20630         (gl_STDLIB_H): Simplify.
20631
20632 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20633
20634         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
20635         substitute HAVE_STRUCT_RANDOM_DATA.
20636         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
20637         random_data.
20638         * modules/stdlib (Makefile.am): Substitute
20639         HAVE_STRUCT_RANDOM_DATA.
20640
20641 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20642
20643         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
20644         * doc/gnulib-intro.texi (Copyright): Likewise.
20645
20646 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20647
20648         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
20649         findings.
20650
20651 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
20652             Bruno Haible  <bruno@clisp.org>
20653
20654         * lib/unistd.in.h: Include <winsock2.h>.
20655         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
20656         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
20657         Provide dummy declarations.
20658         (gethostname): Override.
20659         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
20660         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
20661         gl_PREREQ_SYS_H_WINSOCK2.
20662         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
20663         * doc/posix-functions/gethostname.texi: More details.
20664
20665 2008-10-25  Bruno Haible  <bruno@clisp.org>
20666
20667         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
20668         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
20669         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
20670
20671         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
20672         here ...
20673         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
20674         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
20675         gl_UNISTD_H_DEFAULTS.
20676
20677 2008-10-25  Eric Blake  <ebb9@byu.net>
20678
20679         signbit: avoid spurious compiler failure
20680         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
20681         declarations inside function.
20682
20683 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20684             Bruno Haible  <bruno@clisp.org>
20685
20686         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
20687         * modules/random_r (Depends-on): Add stdint.
20688
20689 2008-10-24  Bruno Haible  <bruno@clisp.org>
20690
20691         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
20692         Eggert.
20693         * modules/strerror (License): Likewise.
20694
20695 2008-10-24  Jim Meyering  <meyering@redhat.com>
20696
20697         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
20698         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
20699
20700 2008-10-24  Eric Blake  <ebb9@byu.net>
20701
20702         getgroups: fix compilation when getgroups is available
20703         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
20704         but with <config.h> override of getgroups disabled.
20705
20706 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20707
20708         * doc/gnulib.texi (Header files): Add note about C++ problems.
20709         Explained by Bruno Haible <bruno@clisp.org>.
20710
20711 2008-10-23  Bruno Haible  <bruno@clisp.org>
20712
20713         Define a dummy SA_NODEFER macro on Interix.
20714         * lib/signal.in.h (SA_NODEFER): Define fallback.
20715         Reported by Aleksey Cheusov <cheusov@tut.by> via
20716         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
20717
20718 2008-10-23  Bruno Haible  <bruno@clisp.org>
20719
20720         * modules/freadahead (License): Change to LGPLv2+.
20721         Suggested by Simon Josefsson.
20722
20723 2008-10-23  Jim Meyering  <meyering@redhat.com>
20724
20725         random_r: new module
20726         * modules/random_r: New file.
20727         * m4/random_r.m4: New file.
20728         * lib/random_r.c: New file, from glibc.
20729         * modules/random_r-tests: New file.
20730         * tests/test-random_r.c: New file.
20731         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
20732          Declare.
20733         (RAND_MAX): Define.
20734         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
20735         * modules/stdlib: Substitute them, too.
20736         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
20737         * doc/glibc-functions/initstate_r.texi: Mention the new module.
20738         * doc/glibc-functions/random_r.texi: Likewise.
20739         * doc/glibc-functions/setstate_r.texi: Likewise.
20740         * doc/glibc-functions/srandom_r.texi: Likewise.
20741         * config/srclist.txt: Mention it.
20742
20743 2008-10-23  David Lutterkort  <lutter@redhat.com>
20744
20745         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
20746         link requirement
20747
20748 2008-10-23  Jim Meyering  <meyering@redhat.com>
20749
20750         selinux-h: mark parameters of stub functions as intentionally unused
20751         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
20752         * lib/se-context.in.h: Likewise.
20753
20754 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20755
20756         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
20757
20758 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20759
20760         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
20761
20762 2008-10-22  Eric Blake  <ebb9@byu.net>
20763
20764         glthread/thread: avoid compiler warning
20765         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
20766         Add unreachable abort to silence compiler.
20767
20768 2008-10-22  Eric Blake  <ebb9@byu.net>
20769
20770         netdb: also supply struct addrinfo for cygwin 1.5.x
20771         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
20772         older cygwin.
20773         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
20774         cygwin.
20775         * doc/posix-headers/netdb.texi (netdb.h): Document this.
20776
20777 2008-10-22  Bruno Haible  <bruno@clisp.org>
20778
20779         * users.txt: Update entry about pspp.
20780
20781 2008-10-21  Bruno Haible  <bruno@clisp.org>
20782
20783         Simplification.
20784         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
20785         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
20786
20787         Simplification.
20788         * lib/ioctl.c (ioctl): Don't undefine.
20789         * lib/socket.c (socket): Don't undefine.
20790
20791         Remove unused module indicator macros.
20792         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
20793         GNULIB_$1 as a C macro.
20794
20795         * doc/posix-functions/close.texi: Undo last change.
20796         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
20797         Windows platforms.
20798
20799 2008-10-21  Bruno Haible  <bruno@clisp.org>
20800
20801         Add gethostname() declaration to <unistd.h>.
20802         * lib/unistd.in.h (gethostname): New declaration.
20803         * lib/gethostname.c: Include <unistd.h>.
20804         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
20805         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
20806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
20807         and HAVE_GETHOSTNAME.
20808         * modules/gethostname (Depends-on): Add unistd.
20809         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20810         (Include): Specify <unistd.h>.
20811         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
20812         HAVE_GETHOSTNAME.
20813         * tests/test-gethostname.c: Include <unistd.h> first.
20814
20815 2008-10-21  Bruno Haible  <bruno@clisp.org>
20816
20817         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
20818         * modules/select-tests (Depends-on): Likewise.
20819         Reported by Simon Josefsson.
20820
20821 2008-10-21  Simon Josefsson  <simon@josefsson.org>
20822
20823         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
20824         * lib/accept.c: New file, based on winsock.c.
20825         * lib/bind.c: New file, based on winsock.c.
20826         * lib/connect.c: New file, based on winsock.c.
20827         * lib/getpeername.c: New file, based on winsock.c.
20828         * lib/getsockname.c: New file, based on winsock.c.
20829         * lib/getsockopt.c: New file, based on winsock.c.
20830         * lib/ioctl.c: New file, based on winsock.c.
20831         * lib/listen.c: New file, based on winsock.c.
20832         * lib/recv.c: New file, based on winsock.c.
20833         * lib/recvfrom.c: New file, based on winsock.c.
20834         * lib/send.c: New file, based on winsock.c.
20835         * lib/sendto.c: New file, based on winsock.c.
20836         * lib/setsockopt.c: New file, based on winsock.c.
20837         * lib/shutdown.c: New file, based on winsock.c.
20838         * lib/socket.c: New file, based on winsock.c.
20839         * lib/w32sock.h: New file, based on winsock.c.
20840         * lib/winsock.c: Remove file.
20841         * modules/accept: Likewise.
20842         * modules/bind: Likewise.
20843         * modules/connect: Likewise.
20844         * modules/getpeername: Likewise.
20845         * modules/getsockname: Likewise.
20846         * modules/getsockopt: Likewise.
20847         * modules/ioctl: Likewise.
20848         * modules/listen: Likewise.
20849         * modules/recv: Likewise.
20850         * modules/recvfrom: Likewise.
20851         * modules/send: Likewise.
20852         * modules/sendto: Likewise.
20853         * modules/setsockopt: Likewise.
20854         * modules/shutdown: Likewise.
20855         * modules/socket: Use socket.c instead of winsock.c.
20856         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
20857         * doc/posix-functions/accept.texi: Doc fix.
20858         * doc/posix-functions/bind.texi: Doc fix.
20859         * doc/posix-functions/close.texi: Doc fix.
20860         * doc/posix-functions/connect.texi: Doc fix.
20861         * doc/posix-functions/getpeername.texi: Doc fix.
20862         * doc/posix-functions/getsockname.texi: Doc fix.
20863         * doc/posix-functions/getsockopt.texi: Doc fix.
20864         * doc/posix-functions/ioctl.texi: Doc fix.
20865         * doc/posix-functions/listen.texi: Doc fix.
20866         * doc/posix-functions/recv.texi: Doc fix.
20867         * doc/posix-functions/recvfrom.texi: Doc fix.
20868         * doc/posix-functions/send.texi: Doc fix.
20869         * doc/posix-functions/sendto.texi: Doc fix.
20870         * doc/posix-functions/setsockopt.texi: Doc fix.
20871         * doc/posix-functions/shutdown.texi: Doc fix.
20872         * doc/posix-functions/socket.texi: Doc fix.
20873
20874 2008-10-20  Bruno Haible  <bruno@clisp.org>
20875
20876         Take into account the role of SIGABRT_COMPAT on Windows 2008.
20877         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
20878         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
20879         as an alias for SIGABRT.
20880         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
20881         (sigaction): Map it to SIGABRT.
20882         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
20883
20884 2008-10-20  Bruno Haible  <bruno@clisp.org>
20885
20886         * lib/fts.c: Don't include lstat.h.
20887         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
20888
20889         Move the lstat() declaration to <sys/stat.h>.
20890         * lib/lstat.h: Remove file.
20891         * lib/sys_stat.in.h: Add special invocation convention.
20892         (lstat): New declaration.
20893         * lib/lstat.c (orig_lstat): New function.
20894         (rpl_lstat): Use orig_lstat instead of lstat.
20895         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
20896         AC_C_INLINE. Set REPLACE_LSTAT.
20897         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
20898         and REPLACE_LSTAT.
20899         * modules/lstat (Files): Remove lib/lstat.h.
20900         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
20901         (Include): Specify <sys/stat.h> instead of lstat.h.
20902         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
20903         REPLACE_LSTAT.
20904         * NEWS: Mention the change.
20905
20906 2008-10-20  Bruno Haible  <bruno@clisp.org>
20907
20908         * modules/posix_spawn-tests: New file.
20909         * tests/test-posix_spawn3.c: New file.
20910
20911 2008-10-20  Bruno Haible  <bruno@clisp.org>
20912
20913         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
20914         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
20915         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
20916         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
20917         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
20918
20919 2008-10-20  Bruno Haible  <bruno@clisp.org>
20920
20921         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
20922         of posix_spawn on AIX 5.3.
20923
20924 2008-10-20  Bruno Haible  <bruno@clisp.org>
20925
20926         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
20927
20928 2008-10-20  Bruno Haible  <bruno@clisp.org>
20929
20930         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
20931         of AC_LANG_PROGRAM.
20932
20933 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20934
20935         * lib/netdb.in.h: Don't define GNU specific constants until they
20936         are supported or needed.  Reported by Bruno Haible
20937         <bruno@clisp.org>.
20938
20939 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20940
20941         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
20942
20943 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20944
20945         * lib/getaddrinfo.h: Remove file.
20946         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
20947         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
20948         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
20949         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
20950         * modules/netdb: Substitute GNULIB_GETADDRINFO.
20951         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
20952         * tests/test-getaddrinfo.c: Likewise.
20953         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
20954         * NEWS: Mention change.
20955
20956 2008-10-19  Bruno Haible  <bruno@clisp.org>
20957
20958         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
20959
20960 2008-10-19  Bruno Haible  <bruno@clisp.org>
20961
20962         * lib/wait-process.c: Include simply <sys/wait.h>.
20963         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
20964         WIFSTOPPED): Remove fallback definitions.
20965         * modules/wait-process (Depends-on): Add sys_wait.
20966
20967         New module 'sys_wait'.
20968         * modules/sys_wait: New file.
20969         * lib/sys_wait.in.h: New file, partially copied from
20970         lib/wait-process.c.
20971         * m4/sys_wait_h.m4: New file.
20972         * doc/posix-headers/sys_wait.texi: Mention the new module.
20973
20974 2008-10-19  Bruno Haible  <bruno@clisp.org>
20975
20976         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
20977
20978 2008-10-19  Bruno Haible  <bruno@clisp.org>
20979
20980         Assume that waitpid() fills an 'int' status, not a 'union wait'.
20981         * lib/wait-process.c (WAIT_T): Remove type.
20982         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
20983         (wait_subprocess): Update.
20984
20985 2008-10-19  Bruno Haible  <bruno@clisp.org>
20986
20987         New module 'atoll'.
20988         * modules/atoll: New file.
20989         * lib/stdlib.in.h (atoll): New declaration.
20990         * lib/atoll.c: New file, from glibc with modifications.
20991         * m4/atoll.m4: New file.
20992         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
20993         HAVE_ATOLL.
20994         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
20995         * doc/posix-functions/atoll.texi: Mention the new module.
20996
20997 2008-10-19  Bruno Haible  <bruno@clisp.org>
20998
20999         Add strtoull() declaration to <stdlib.h>.
21000         * lib/stdlib.in.h (strtoull): New declaration.
21001         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21002         Set HAVE_STRTOULL.
21003         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
21004         HAVE_STRTOULL.
21005         * modules/strtoull (Depends-on): Add stdlib.
21006         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21007         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
21008         HAVE_STRTOULL.
21009
21010 2008-10-19  Bruno Haible  <bruno@clisp.org>
21011
21012         Add strtoll() declaration to <stdlib.h>.
21013         * lib/stdlib.in.h (strtoll): New declaration.
21014         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
21015         Set HAVE_STRTOLL.
21016         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
21017         HAVE_STRTOLL.
21018         * modules/strtoll (Depends-on): Add stdlib.
21019         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21020         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
21021
21022 2008-10-19  Bruno Haible  <bruno@clisp.org>
21023
21024         * modules/bcopy (Depends-on): Add strings.
21025         (Include): Specify <strings.h>.
21026
21027 2008-10-19  Bruno Haible  <bruno@clisp.org>
21028
21029         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
21030
21031 2008-10-19  Bruno Haible  <bruno@clisp.org>
21032
21033         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
21034         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
21035         mingw.
21036
21037 2008-10-19  Bruno Haible  <bruno@clisp.org>
21038
21039         * lib/atanl.c: Don't include isnanl.h.
21040         * lib/cosl.c: Likewise.
21041         * lib/ldexpl.c: Likewise.
21042         * lib/logl.c: Likewise.
21043         * lib/sinl.c: Likewise.
21044         * lib/sqrtl.c: Likewise.
21045         * lib/tanl.c: Likewise.
21046
21047         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
21048         * lib/isnanf.h: Remove file.
21049         * lib/isnand.h: Remove file.
21050         * lib/isnanl.h: Remove file.
21051         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
21052         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
21053         macros.
21054         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
21055         HAVE_ISNANF, don't define it as a C macro.
21056         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
21057         HAVE_ISNAND, don't define it as a C macro.
21058         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
21059         HAVE_ISNANL, don't define it as a C macro.
21060         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
21061         HAVE_ISNAN[FDL].
21062         * modules/isnanf (Files): Remove lib/isnanf.h.
21063         (Depends-on): Add math.
21064         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21065         (Include): Specify <math.h> instead of isnanf.h.
21066         * modules/isnand (Files): Remove lib/isnand.h.
21067         (Depends-on): Add math.
21068         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21069         (Include): Specify <math.h> instead of isnand.h.
21070         * modules/isnanl (Files): Remove lib/isnanl.h.
21071         (Depends-on): Add math.
21072         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21073         (Include): Specify <math.h> instead of isnanl.h.
21074         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
21075         HAVE_ISNAN[FDL].
21076         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
21077         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
21078         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
21079         * NEWS: Mention the change.
21080
21081 2008-10-18  Bruno Haible  <bruno@clisp.org>
21082
21083         Add getusershell(), setusershell(), endusershell() declarations to
21084         <unistd.h>.
21085         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
21086         declarations.
21087         * lib/getusershell.c: Include unistd.h.
21088         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
21089         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21090         HAVE_GETUSERSHELL.
21091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
21092         and HAVE_GETUSERSHELL.
21093         * modules/getusershell (Depends-on): Add unistd, extensions.
21094         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21095         (Include): Specify <unistd.h>.
21096         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
21097         HAVE_GETUSERSHELL.
21098
21099 2008-10-18  Bruno Haible  <bruno@clisp.org>
21100
21101         Add a getloadavg() declaration to <stdlib.h>.
21102         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
21103         getloadavg declaration.
21104         (getloadavg): New declaration.
21105         * lib/getloadavg.c: Include <stdlib.h> first.
21106         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
21107         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
21108         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
21109         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
21110         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21111         * modules/getloadavg (Depends-on): Add stdlib, extensions.
21112         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21113         (Include): Specify <stdlib.h>.
21114         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
21115         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
21116
21117 2008-10-18  Bruno Haible  <bruno@clisp.org>
21118
21119         * lib/dirchownmod.c: Don't include lchmod.h.
21120
21121         Move the lchmod() declaration to <sys/stat.h>.
21122         * lib/lchmod.h: Remove file.
21123         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
21124         (lchmod): New declaration, moved here from lib/lchown.h.
21125         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
21126         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
21127         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
21128         and HAVE_LCHMOD.
21129         * modules/lchmod (Files): Remove lib/lchmod.h.
21130         (Depends-on): Add sys_stat, extensions.
21131         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
21132         (Include): Specify <sys/stat.h> instead of lchmod.h.
21133         * modules/sys_stat (Depends-on): Add link-warning.
21134         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
21135         definition of GL_LINK_WARNING.
21136         * NEWS: Mention the change.
21137
21138 2008-10-18  Bruno Haible  <bruno@clisp.org>
21139
21140         * lib/fchdir.c: Don't include dirfd.h.
21141         * lib/fts.c: Likewise.
21142         * lib/getcwd.c: Likewise.
21143         * lib/glob.c: Likewise.
21144
21145         Move the dirfd() declaration to <dirent.h>.
21146         * lib/dirfd.h: Remove file.
21147         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
21148         (dirfd): New declaration.
21149         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
21150         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
21151         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
21152         HAVE_DECL_DIRFD.
21153         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
21154         HAVE_DECL_DIRFD.
21155         * modules/dirfd (Files): Remove lib/dirfd.h.
21156         (Depends-on): Add dirent, extensions.
21157         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
21158         (Include): Specify <dirent.h> instead of dirfd.h.
21159         * modules/dirent (Depends-on): Add link-warning.
21160         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
21161         definition of GL_LINK_WARNING.
21162         * NEWS: Mention the change.
21163
21164 2008-10-18  Bruno Haible  <bruno@clisp.org>
21165
21166         Move the euidaccess() declaration to <unistd.h>.
21167         * lib/euidaccess.h: Remove file.
21168         * lib/unistd.in.h (euidaccess): New declaration.
21169         * lib/euidaccess.c: Don't include euidaccess.h.
21170         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
21171         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
21172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
21173         and HAVE_EUIDACCESS.
21174         * modules/euidaccess (Files): Remove lib/euidaccess.h.
21175         (Depends-on): Add unistd.
21176         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21177         (Include): Specify <unistd.h> instead of euidaccess.h.
21178         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
21179         HAVE_EUIDACCESS.
21180         * NEWS: Mention the change.
21181
21182 2008-10-18  Bruno Haible  <bruno@clisp.org>
21183
21184         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
21185
21186         Move the getdomainname() declaration to <unistd.h>.
21187         * lib/getdomainname.h: Remove file.
21188         * lib/unistd.in.h (getdomainname): New declaration.
21189         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
21190         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21191         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
21192         HAVE_GETDOMAINNAME.
21193         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21194         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
21195         * modules/getdomainname (Files): Remove lib/getdomainname.h.
21196         (Depends-on): Add unistd, extensions.
21197         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21198         (Includes): Specify <unistd.h> instead of getdomainname.h.
21199         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
21200         HAVE_GETDOMAINNAME.
21201         * NEWS: Mention the change.
21202
21203 2008-10-18  Bruno Haible  <bruno@clisp.org>
21204
21205         * modules/dirent: New file.
21206         * m4/dirent_h.m4: New file.
21207         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
21208         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
21209         * modules/fchdir (Files): Remove lib/dirent.in.h.
21210         (Depends-on): Add dirent.
21211         (Makefile.am): Move rules to modules/dirent.
21212         * doc/posix-headers/dirent.texi: Mention the new module.
21213
21214 2008-10-18  Bruno Haible  <bruno@clisp.org>
21215
21216         Avoid -Wunused-parameter warnings in public gnulib header files.
21217         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
21218         macro.
21219         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
21220
21221 2008-10-18  Bruno Haible  <bruno@clisp.org>
21222
21223         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
21224         * doc/glibc-functions/error.texi: Mention the module 'error'.
21225         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
21226         * doc/glibc-functions/getdomainname.texi: Mention the module
21227         'getdomainname'.
21228         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
21229         * doc/glibc-functions/getpagesize.texi: Mention the module
21230         'getpagesize'.
21231         * doc/glibc-functions/getusershell.texi: Mention the module
21232         'getusershell'.
21233         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
21234         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
21235         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
21236         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
21237         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
21238         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
21239         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
21240         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
21241         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
21242         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
21243         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
21244         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
21245         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
21246         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
21247
21248 2008-10-17  Bruno Haible  <bruno@clisp.org>
21249
21250         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
21251         HP-UX and IRIX, use -0.0L.
21252         * tests/test-ceill.c (minus_zero): Likewise.
21253         * tests/test-floorl.c (minus_zero): Likewise.
21254         * tests/test-frexpl.c (minus_zero): Likewise.
21255         * tests/test-isnan.c (minus_zerol): Likewise.
21256         * tests/test-isnanl.h (minus_zero): Likewise.
21257         * tests/test-ldexpl.c (minus_zero): Likewise.
21258         * tests/test-roundl.c (minus_zero): Likewise.
21259         * tests/test-signbit.c (minus_zerol): Likewise.
21260         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21261         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21262         * tests/test-truncl.c (minus_zero): Likewise.
21263         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21264         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21265         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
21266         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21267
21268 2008-10-17  Bruno Haible  <bruno@clisp.org>
21269
21270         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
21271         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
21272         that it gets activated only for gcc >= 3.0.
21273         * lib/dirent.in.h: Likewise.
21274         * lib/errno.in.h: Likewise.
21275         * lib/fcntl.in.h: Likewise.
21276         * lib/float.in.h: Likewise.
21277         * lib/iconv.in.h: Likewise.
21278         * lib/inttypes.in.h: Likewise.
21279         * lib/locale.in.h: Likewise.
21280         * lib/math.in.h: Likewise.
21281         * lib/netdb.in.h: Likewise.
21282         * lib/netinet_in.in.h: Likewise.
21283         * lib/search.in.h: Likewise.
21284         * lib/signal.in.h: Likewise.
21285         * lib/spawn.in.h: Likewise.
21286         * lib/stdarg.in.h: Likewise.
21287         * lib/stdint.in.h: Likewise.
21288         * lib/stdio.in.h: Likewise.
21289         * lib/stdlib.in.h: Likewise.
21290         * lib/string.in.h: Likewise.
21291         * lib/strings.in.h: Likewise.
21292         * lib/sys_file.in.h: Likewise.
21293         * lib/sys_ioctl.in.h: Likewise.
21294         * lib/sys_select.in.h: Likewise.
21295         * lib/sys_socket.in.h: Likewise.
21296         * lib/sys_stat.in.h: Likewise.
21297         * lib/sys_time.in.h: Likewise.
21298         * lib/sysexits.in.h: Likewise.
21299         * lib/time.in.h: Likewise.
21300         * lib/unistd.in.h: Likewise.
21301         * lib/wchar.in.h: Likewise.
21302         * lib/wctype.in.h: Likewise.
21303         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
21304
21305 2008-10-17  Jim Meyering  <meyering@redhat.com>
21306
21307         ignore-value: don't depend on inline module
21308         * modules/ignore-value (Depends-on): Remove 'inline'.
21309         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
21310         Suggestion from Bruno Haible.
21311
21312 2008-10-17  Bruno Haible  <bruno@clisp.org>
21313
21314         New implementation of condition variables for Win32.
21315         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
21316         (gl_linked_waitqueue_t): New type.
21317         (gl_cond_t): Use it.
21318         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
21319         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
21320         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
21321         (glthread_cond_init_func, glthread_cond_wait_func,
21322         glthread_cond_timedwait_func, glthread_cond_signal_func,
21323         glthread_cond_broadcast_func, glthread_cond_destroy_func):
21324         Reimplemented on the basis of gl_linked_waitqueue_t.
21325         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
21326         gl_waitqueue_t.
21327         (gl_rwlock_t): Update.
21328         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
21329
21330 2008-10-17  Simon Josefsson  <simon@josefsson.org>
21331
21332         * modules/recvfrom (Depends-on): Add dependency on getpeername.
21333         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21334
21335 2008-10-17  Jim Meyering  <meyering@redhat.com>
21336
21337         ignore-value: new module
21338         * modules/ignore-value: New file.
21339         * lib/ignore-value.h: New file.
21340         * MODULES.html.sh (Compiler warning management): New section,
21341         just for this module.  More to come.
21342
21343 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21344
21345         open-safer.c: avoid 'signed and unsigned in conditional...' warning
21346         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
21347         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
21348
21349 2008-10-16  Jim Meyering  <meyering@redhat.com>
21350
21351         openat-die.c: avoid 'no previous prototype' warning
21352         * lib/openat-die.c: Include "openat.h".
21353         Reported by Reuben Thomas <rrt@sc3d.org>.
21354
21355 2008-10-16  Simon Josefsson  <simon@josefsson.org>
21356
21357         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
21358         * lib/netdb.in.h: Fix typo.
21359         Reported by Bruno Haible  <bruno@clisp.org>
21360
21361         * lib/netdb.in.h: Include sys/socket.h for platforms without
21362         netdb.h, to get structures like hostent on MinGW.
21363         * modules/netdb (Depends-on): Add sys_socket.
21364
21365 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21366
21367         * modules/netdb, modules/netdb-tests: New file.
21368         * m4/netdb_h.m4: New file.
21369         * lib/netdb.in.h: Add, currently just an empty file pending
21370         definitions.
21371         * tests/test-netdb.c: New file.
21372         * doc/posix-headers/netdb.texi: Mention that we replace it if
21373         needed.
21374         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21375         netdb.
21376
21377 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21378
21379         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
21380         with code.
21381
21382 2008-10-13  Bruno Haible  <bruno@clisp.org>
21383
21384         * lib/glthread/cond.c (glthread_cond_wait_func,
21385         glthread_cond_timedwait_func): Add a comment.
21386
21387 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21388
21389         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
21390         * tests/test-select.c: Likewise,
21391
21392 2008-10-13  Bruno Haible  <bruno@clisp.org>
21393
21394         * lib/glthread/cond.c (glthread_cond_wait_func,
21395         glthread_cond_timedwait_func): Fix variable name.
21396         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21397
21398 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
21399
21400         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
21401         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
21402         struct sockaddr.sa_len.
21403         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
21404
21405 2008-10-13  Simon Josefsson  <simon@josefsson.org>
21406
21407         * build-aux/pmccabe2html: Add css and css_url parameters.
21408
21409 2008-10-12  Bruno Haible  <bruno@clisp.org>
21410
21411         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
21412         calling aclx_get.
21413         Reported by Rainer Tammer <tammer@tammer.net>.
21414
21415 2008-10-12  Bruno Haible  <bruno@clisp.org>
21416
21417         Use msvcrt aware primitives for creation/termination of Win32 threads.
21418         * lib/glthread/thread.c: Include <process.h>.
21419         (glthread_create_func): Use _beginthreadex instead of CreateThread.
21420         (wrapper_func): Update signature.
21421         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
21422
21423 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21424             Bruno Haible  <bruno@clisp.org>
21425
21426         Provide a Win32 implementation of the 'cond' module.
21427         * lib/glthread/cond.h [USE_WIN32]: New implementation.
21428         * lib/glthread/cond.c (glthread_cond_init_func,
21429         glthread_cond_wait_func, glthread_cond_timedwait_func,
21430         glthread_cond_signal_func, glthread_cond_broadcast_func,
21431         glthread_cond_destroy_func) [USE_WIN32]: New functions.
21432         * modules/cond (Dependencies): Add gettimeofday.
21433
21434 2008-10-11  Bruno Haible  <bruno@clisp.org>
21435
21436         Make sleep work on older versions of mingw.
21437         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
21438         only whether it exists.
21439         * doc/posix-functions/sleep.texi: Mention the problem with older
21440         versions of mingw.
21441
21442 2008-10-11  Bruno Haible  <bruno@clisp.org>
21443
21444         New module 'shutdown'.
21445         * modules/shutdown: New file.
21446         * lib/sys_socket.in.h (shutdown): New declaration.
21447         * lib/winsock.c (shutdown): New function.
21448         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21449         GNULIB_SHUTDOWN.
21450         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
21451         * doc/posix-functions/shutdown.texi: Document the new module.
21452
21453 2008-10-11  Jim Meyering  <meyering@redhat.com>
21454
21455         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
21456
21457 2008-10-11  Bruno Haible  <bruno@clisp.org>
21458
21459         New module 'fclose'.
21460         * modules/fclose: New file.
21461         * lib/stdio.in.h (fclose): New declaration.
21462         * lib/fclose.c: New file.
21463         * m4/fclose.m4: New file.
21464         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
21465         REPLACE_FCLOSE.
21466         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
21467         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
21468         REPLACE_FCLOSE.
21469         * modules/close (Depends-on): fclose.
21470         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
21471
21472 2008-10-11  Bruno Haible  <bruno@clisp.org>
21473
21474         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
21475         set errno and don't call _close.
21476
21477 2008-10-10  Bruno Haible  <bruno@clisp.org>
21478
21479         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
21480         ACL, not afterwards. Fixes test failure on Cygwin.
21481
21482 2008-10-09  Ben Pfaff  <blp@gnu.org>
21483
21484         * build-aux/announce-gen: Fix gnulib version related part of usage
21485         message.  Die with a useful error message if no tarballs are
21486         found.
21487
21488 2008-10-10  Jim Meyering  <meyering@redhat.com>
21489
21490         bootstrap: use git's --depth=N option only if it's supported
21491         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
21492         recognize the --depth option.  Reported by Pádraig Brady.
21493
21494 2008-10-09  Bruno Haible  <bruno@clisp.org>
21495
21496         New module 'ioctl'.
21497         * modules/ioctl: New file.
21498         * lib/sys_socket.in.h (ioctl): Remove declaration.
21499         * lib/winsock.c: Include <sys/ioctl.h>.
21500         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
21501         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21502         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
21503         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
21504         * doc/posix-functions/ioctl.texi: Mention the new module.
21505
21506 2008-10-09  Bruno Haible  <bruno@clisp.org>
21507
21508         New module 'sys_ioctl'.
21509         * lib/sys_ioctl.in.h: New file.
21510         * m4/sys_ioctl_h.m4: New file.
21511         * modules/sys_ioctl: New file.
21512         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
21513
21514 2008-10-09  Bruno Haible  <bruno@clisp.org>
21515
21516         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
21517         * lib/winsock.c: Include <stdarg.h>.
21518         (rpl_ioctl): Change to second argument 'int' and then varargs.
21519
21520 2008-10-09  Bruno Haible  <bruno@clisp.org>
21521
21522         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
21523         when the sys_socket module is present and the system has <winsock2.h>.
21524
21525 2008-10-09  Bruno Haible  <bruno@clisp.org>
21526
21527         * doc/posix-functions/close.texi: Mention module 'close' instead of
21528         module 'sys_socket'.
21529
21530 2008-10-09  Bruno Haible  <bruno@clisp.org>
21531
21532         * doc/glibc-headers/sys_ioctl.texi: New file.
21533         * doc/gnulib.texi: Include it.
21534
21535 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21536             Bruno Haible  <bruno@clisp.org>
21537
21538         Combine the two replacements of 'close'.
21539         * lib/sys_socket.in.h (close): Define to a reminder to include
21540         <unistd.h>.
21541         (_gl_close_fd_maybe_socket): New declaration.
21542         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
21543         * lib/winsock.c (close): Remove undefinition.
21544         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
21545         needed for the gnulib module 'close'.
21546         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
21547         define to an error symbol or to a warning, if suitable.
21548         * lib/close.c: Include <sys/socket.h>.
21549         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
21550         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
21551         UNISTD_H_HAVE_WINSOCK2_H.
21552         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
21553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21554         UNISTD_H_HAVE_WINSOCK2_H.
21555         * modules/sys_socket (Files): Add m4/unistd_h.m4.
21556         (configure.ac): Set a module indicator.
21557         (Makefile.am): Substitute GNULIB_CLOSE.
21558         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
21559         * modules/poll-tests (Depends-on): Add close.
21560         * modules/select-tests (Depends-on): Likewise.
21561
21562 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21563             Bruno Haible  <bruno@clisp.org>
21564
21565         New module 'close'.
21566         * modules/close: New file.
21567         * lib/unistd.in.h (close): Move declaration out of the
21568         FCHDIR_REPLACEMENT scope.
21569         (_gl_unregister_fd): New declaration.
21570         * lib/close.c: New file.
21571         * lib/fchdir.c (rpl_close): Remove function.
21572         * m4/close.m4: New file.
21573         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21574         close.
21575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
21576         REPLACE_CLOSE.
21577         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
21578         REPLACE_CLOSE.
21579         * modules/fchdir (Depends-on): Add close.
21580
21581 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21582             Bruno Haible  <bruno@clisp.org>
21583
21584         * lib/fcntl.in.h (open): Simplify conditionals.
21585         (_gl_register_fd): New declaration.
21586         * lib/fchdir.c (rpl_open): Remove function.
21587         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
21588         also.
21589         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
21590         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21591         open.
21592
21593 2008-10-09  Jim Meyering  <meyering@redhat.com>
21594
21595         GNUmakefile: use the more name-space-friendly "_version"
21596         * top/GNUmakefile (_dummy): Update.
21597         (_version): Rename from "version".
21598
21599 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21600             Bruno Haible  <bruno@clisp.org>
21601
21602         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
21603         rpl_close.
21604         (_gl_register_fd): New function, extracted from rpl_open.
21605         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
21606         (rpl_open, rpl_opendir): Use _gl_register_fd.
21607
21608 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21609
21610         Fix organization of 'open' replacement.
21611         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
21612         (gl_FUNC_OPEN): Use it.
21613         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
21614
21615 2008-10-08  Bruno Haible  <bruno@clisp.org>
21616
21617         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
21618
21619 2008-10-08  Simon Josefsson  <simon@josefsson.org>
21620
21621         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
21622         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
21623         listen).
21624
21625 2008-10-08  Eric Blake  <ebb9@byu.net>
21626
21627         GNUmakefile: add 'make version' target
21628         * top/GNUmakefile (_curr-ver): Split version update rules...
21629         (version): ...into a target.
21630
21631 2008-10-07  Bruno Haible  <bruno@clisp.org>
21632
21633         Use a more portable replacement expression for -0.0L.
21634         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
21635         instead of -0.0L. Fix m4 quotation.
21636
21637         * tests/test-signbit.c: Include <float.h>.
21638         (minus_zero): New variable.
21639         (test_signbitl): Use minus_zero instead of -zero.
21640         * modules/signbit-tests (Depends-on): Add float.
21641
21642         * tests/test-ceill.c: Include <float.h>.
21643         (zero): Remove variable.
21644         (minus_zero): New variable.
21645         (main): Use minus_zero instead of -zero.
21646         * modules/ceill-tests (Depends-on): Add float.
21647
21648         * tests/test-floorl.c: Include <float.h>.
21649         (zero): Remove variable.
21650         (minus_zero): New variable.
21651         (main): Use minus_zero instead of -zero.
21652         * modules/floorl-tests (Depends-on): Add float.
21653
21654         * tests/test-roundl.c: Include <float.h>.
21655         (zero): Remove variable.
21656         (minus_zero): New variable.
21657         (main): Use minus_zero instead of -zero.
21658         * modules/roundl-tests (Depends-on): Add float.
21659
21660         * tests/test-truncl.c: Include <float.h>.
21661         (zero): Remove variable.
21662         (minus_zero): New variable.
21663         (main): Use minus_zero instead of -zero.
21664         * modules/truncl-tests (Depends-on): Add float.
21665
21666         * tests/test-frexpl.c (zero): Remove variable.
21667         (minus_zero): New variable.
21668         (main): Use minus_zero instead of -zero.
21669         * modules/frexpl-tests (Depends-on): Add float.
21670
21671         * tests/test-isnan.c (zerol): Remove variable.
21672         (minus_zerol): New variable.
21673         (test_long_double): Use minus_zerol instead of -zerol.
21674         * modules/isnan-tests (Depends-on): Add float.
21675
21676         * tests/test-isnanl.h (zero): Remove variable.
21677         (minus_zero): New variable.
21678         (main): Use minus_zero instead of -zero.
21679         * modules/isnanl-nolibm-tests (Depends-on): Add float.
21680         * modules/isnanl-tests (Depends-on): Add float.
21681
21682         * tests/test-ldexpl.c (zero): Remove variable.
21683         (minus_zero): New variable.
21684         (main): Use minus_zero instead of -zero.
21685         * modules/ldexpl-tests (Depends-on): Add float.
21686
21687         * tests/test-snprintf-posix.h (zerol): Remove variable.
21688         (minus_zerol): New variable.
21689         (test_function): Use minus_zerol instead of -zerol.
21690         * modules/snprintf-posix-tests (Depends-on): Add float.
21691         * modules/vsnprintf-posix-tests (Depends-on): Add float.
21692
21693         * tests/test-sprintf-posix.h (zerol): Remove variable.
21694         (minus_zerol): New variable.
21695         (test_function): Use minus_zerol instead of -zerol.
21696         * modules/sprintf-posix-tests (Depends-on): Add float.
21697         * modules/vsprintf-posix-tests (Depends-on): Add float.
21698
21699         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
21700         (minus_zerol): New variable.
21701         (test_function): Use minus_zerol instead of -zerol.
21702         * modules/vasnprintf-posix-tests (Depends-on): Add float.
21703
21704         * tests/test-vasprintf-posix.c (zerol): Remove variable.
21705         (minus_zerol): New variable.
21706         (test_function): Use minus_zerol instead of -zerol.
21707         * modules/vasprintf-posix-tests (Depends-on): Add float.
21708
21709 2008-10-07  Simon Josefsson  <simon@josefsson.org>
21710
21711         * MODULES.html.sh (Support for building documentation): Mention
21712         pmccabe2html.  Sort entries.
21713
21714         Add pmccabe2html module, from gnupdf.
21715         * build-aux/pmccabe.css: New file.
21716         * build-aux/pmccabe2html: New file.
21717         * m4/pmccabe2html.m4: New file.
21718         * modules/pmccabe2html: New file.
21719
21720 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
21721
21722         flock: new module
21723         * MODULES.html.sh: Add to list of modules.
21724         * lib/flock.c: flock implementation for Windows and Unix systems
21725         which have fcntl.
21726         * doc/glibc-functions/flock.texi: Update documentation.
21727         * lib/sys_file.in.h: <sys/file.h> header file.
21728         * m4/flock.m4: M4 macros.
21729         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
21730         * modules/flock: flock module.
21731         * modules/flock-tests: flock tests module.
21732         * modules/sys_file: sys/file.h module.
21733         * tests/test-flock.c: test suite for flock.
21734
21735 2008-10-06  Jim Meyering  <meyering@redhat.com>
21736
21737         bootstrap: check for LT_INIT more portably still ;-)
21738         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
21739         Spotted by Bruno Haible.
21740
21741 2008-10-06  Eric Blake  <ebb9@byu.net>
21742
21743         test-signbit: avoid tripping Irix cc bug on -0.0L
21744         * tests/test-signbit.c (minus_zerol): Delete, and replace with
21745         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
21746         entire testsuite consistent and avoids an Irix 6.2 bug.
21747
21748 2008-10-05  Bruno Haible  <bruno@clisp.org>
21749             Jim Meyering  <jim@meyering.net>
21750
21751         Add an option for ignoring EPIPE during close_stdout.
21752         * lib/closeout.h: Include <stdbool.h>.
21753         (close_stdout_set_ignore_EPIPE): New declaration.
21754         * lib/closeout.c: Include <stdbool.h>.
21755         (ignore_EPIPE): New variable.
21756         (close_stdout_set_ignore_EPIPE): New function.
21757         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
21758         * lib/close-stream.c (close_stream): Mention the possible EPIPE
21759         failure.
21760         * modules/closeout (Depends-on): Add stdbool.
21761
21762 2008-10-05  Bruno Haible  <bruno@clisp.org>
21763
21764         * modules/accept: New file.
21765         * modules/bind: New file.
21766         * modules/connect: New file.
21767         * modules/getpeername: New file.
21768         * modules/getsockname: New file.
21769         * modules/getsockopt: New file.
21770         * modules/listen: New file.
21771         * modules/recv: New file.
21772         * modules/recvfrom: New file.
21773         * modules/send: New file.
21774         * modules/sendto: New file.
21775         * modules/setsockopt: New file.
21776         * modules/socket: New file.
21777         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
21778         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21779         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
21780         the particular module is requested. Add a link warning when the
21781         particular module is not requested.
21782         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
21783         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
21784         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
21785         the particular module is requested.
21786         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
21787         gl_SYS_SOCKET_H_DEFAULTS): New macros.
21788         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
21789         * modules/sys_socket (Depends-on): Add link-warning.
21790         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
21791         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
21792         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
21793         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
21794         GL_LINK_WARNING.
21795         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
21796         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
21797         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
21798         * doc/posix-functions/getpeername.texi: Mention the new module
21799         'getpeername'.
21800         * doc/posix-functions/getsockname.texi: Mention the new module
21801         'getsockname'.
21802         * doc/posix-functions/getsockopt.texi: Mention the new module
21803         'getsockopt'.
21804         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
21805         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
21806         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
21807         * doc/posix-functions/send.texi: Mention the new module 'send'.
21808         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
21809         * doc/posix-functions/setsockopt.texi: Mention the new module
21810         'setsockopt'.
21811         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
21812         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
21813         listen, connect, accept.
21814         * modules/select-tests (Depends-on): Likewise.
21815
21816 2008-10-05  Bruno Haible  <bruno@clisp.org>
21817
21818         * lib/winsock.c (strerror): Remove unused #undef.
21819         (rpl_close): Remove unused local variable.
21820
21821         * modules/sys_socket (Depends-on); Add errno.
21822
21823 2008-10-05  Bruno Haible  <bruno@clisp.org>
21824
21825         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
21826         (select): Add a link warning when the 'select' module is not used.
21827         * modules/sys_select (Depends-on): Add link-warning.
21828         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
21829         Suggested by Paolo Bonzini.
21830
21831 2008-10-05  Jim Meyering  <meyering@redhat.com>
21832
21833         bootstrap: check for LT_INIT more portably
21834         * build-aux/bootstrap: Avoid using grep -E, since it's not
21835         portable enough.  Suggestion from Bruno Haible.
21836
21837 2008-10-05  Bruno Haible  <bruno@clisp.org>
21838
21839         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
21840         as being fixed by gnulib.
21841
21842 2008-10-05  Bruno Haible  <bruno@clisp.org>
21843
21844         * modules/select-tests: New file, mostly copied from
21845         modules/sys_select-tests.
21846         * tests/test-select.c: New file, mostly copied from
21847         tests/test-sys_select.c.
21848         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
21849         * modules/sys_select-tests (Depends-on): Remove all dependencies.
21850         (Makefile.am): Remove test_sys_select_LDADD.
21851
21852         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
21853         to an undefined symbol, for an error message.
21854         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
21855         (gl_SYS_SELECT_H_DEFAULTS): New macro.
21856         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
21857         winsock-select.c here.
21858         * modules/sys_select (Files): Remove lib/winsock-select.c.
21859         (Depends-on): Remove alloca.
21860         (Makefile.am): Substitute GNULIB_SELECT.
21861         * modules/select: New file.
21862         * doc/posix-functions/select.texi: Update.
21863
21864 2008-10-05  Bruno Haible  <bruno@clisp.org>
21865
21866         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
21867         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
21868         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
21869         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
21870         getdtablesize.
21871         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21872         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21873
21874 2008-10-05  Bruno Haible  <bruno@clisp.org>
21875
21876         * modules/getdtablesize-tests: New file.
21877         * tests/test-getdtablesize.c: New file.
21878
21879         New module 'getdtablesize'.
21880         * lib/unistd.in.h (getdtablesize): New declaration.
21881         * lib/getdtablesize.c: New file.
21882         * m4/getdtablesize.m4: New file.
21883         * modules/getdtablesize: New file.
21884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21885         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
21886         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
21887         HAVE_GETDTABLESIZE.
21888         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
21889
21890 2008-10-05  Bruno Haible  <bruno@clisp.org>
21891
21892         * modules/sched (Makefile.am): Fix typo.
21893         Reported by Simon Josefsson.
21894
21895 2008-10-05  Jim Meyering  <meyering@redhat.com>
21896
21897         bootstrap: check for LT_INIT, too
21898         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
21899         are deprecated.  Suggestion from Ralf Wildenhues.
21900
21901 2008-10-05  Bruno Haible  <bruno@clisp.org>
21902
21903         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
21904         overriding them by ours.
21905         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
21906
21907 2008-10-05  Jim Meyering  <meyering@redhat.com>
21908
21909         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
21910         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
21911         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
21912
21913 2008-10-04  Bruno Haible  <bruno@clisp.org>
21914
21915         * modules/dup2 (License): Change to LGPLv2+.
21916         * modules/sleep (License): Likewise.
21917         * modules/perror (License): Likewise.
21918         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
21919         Blake.
21920         * modules/signal (License): Likewise.
21921         * modules/sigprocmask (License): Likewise.
21922         * modules/raise (License): Change to LGPLv2+, with approval by Jim
21923         Meyering.
21924
21925 2008-10-04  Bruno Haible  <bruno@clisp.org>
21926
21927         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
21928         Reported by Rainer Tammer <tammer@tammer.net>.
21929
21930 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
21931             Bruno Haible  <bruno@clisp.org>
21932
21933         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
21934         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
21935         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
21936
21937 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
21938
21939         filevercmp: new module
21940         * lib/filevercmp.h: New function filevercmp comparing version strings.
21941         * lib/filevercmp.c: Implementation of filevercmp function.
21942         * modules/filevercmp: Module metadata.
21943         * tests/test-filevercmp.c: Unit test for new module.
21944         * modules/filevercmp-tests: Unit test metadata.
21945         * MODULES.html.sh: Add filevercmp module.
21946
21947 2008-10-03  Bruno Haible  <bruno@clisp.org>
21948
21949         * lib/c-ctype.h: Add comment.
21950         Reported by Jim Meyering.
21951
21952 2008-10-02  Bruno Haible  <bruno@clisp.org>
21953
21954         * modules/posix_spawn-internal (Depends-on): Add 'open'.
21955
21956 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21957
21958         * build-aux/bootstrap: Allow renaming bootstrap, and change the
21959         name of bootstrap.conf accordingly.
21960
21961 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21962
21963         * build-aux/bootstrap: Install git-merge-changelog configuration
21964         items into .gitconfig if needed.
21965
21966 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21967
21968         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
21969         git repository, and initialize/update it accordingly.
21970
21971 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
21972
21973         * modules/fsync-tests: New file.
21974         * tests/test-fsync.c: New file.
21975
21976         New module 'fsync'.
21977         * lib/fsync.c: New file.
21978         * m4/fsync.m4: New file.
21979         * modules/fsync: New file.
21980         * lib/unistd.in.h (fsync): New declaration.
21981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
21982         GNULIB_FSYNC and HAVE_FSYNC.
21983         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
21984         * MODULES.html.sh (posix_functions): Add fsync.
21985         * doc/posix-functions/fsync.texi: Mention the new module.
21986
21987 2008-10-02  Jim Meyering  <meyering@redhat.com>
21988
21989         fts.c: sync with similar code from coreutils' remove.c
21990         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
21991         Guard also with "#if defined __linux__", since for now at least,
21992         this code is Linux-kernel-specific.
21993
21994 2008-10-02  Jim Meyering  <meyering@redhat.com>
21995
21996         fts: bug fixes
21997         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
21998         Include <sys/vfs.h>, not <sys/statfs.h>.
21999
22000         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
22001         Include <sys/vfs.h>, not <sys/statfs.h>.
22002
22003 2008-10-01  Bruno Haible  <bruno@clisp.org>
22004
22005         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
22006         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
22007         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
22008         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
22009         * doc/posix-functions/posix_spawnp.texi: Likewise.
22010         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
22011         whether posix_spawn actually works.
22012         * m4/pipe.m4 (gl_PIPE): Likewise.
22013         * modules/execute (Files): Add m4/posix_spawn.m4.
22014         * modules/pipe (Files): Add m4/posix_spawn.m4.
22015         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
22016
22017 2008-10-01  Jim Meyering  <meyering@redhat.com>
22018
22019         remove trailing spaces
22020         * NEWS: Likewise.
22021         * lib/poll.c (poll): Likewise.
22022         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
22023         * lib/winsock.c (rpl_close): Likewise.
22024         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
22025         * modules/yield: Likewise.
22026         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
22027         * tests/test-sys_select.c (connect_to_socket): Likewise.
22028
22029         fts.c: adjust a new interface to be more generally useful
22030         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
22031         (fts_build): Adjust caller.
22032
22033 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22034
22035         * modules/cond-tests: New file.
22036         * tests/test-cond.c: New file.
22037
22038 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22039             Bruno Haible  <bruno@clisp.org>
22040
22041         * modules/cond (Dependencies): Add errno, time.
22042         * lib/glthread/cond.h: Include <time.h>.
22043         (gl_cond_define, gl_cond_define_initialized): Use the same definition
22044         across platforms.
22045
22046 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22047             Bruno Haible  <bruno@clisp.org>
22048
22049         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
22050
22051 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22052             Bruno Haible  <bruno@clisp.org>
22053
22054         * modules/tls-tests (Depends-on): Add thread, yield.
22055         (configure.ac): Remove all checks.
22056         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
22057         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22058         gl_thread_self): Remove definitions. Include glthread/thread.h and
22059         glthread/yield.h instead.
22060         (test_tls): Pass an additional NULL argument to gl_thread_join.
22061
22062 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22063             Bruno Haible  <bruno@clisp.org>
22064
22065         * modules/lock-tests (Depends-on): Add thread, yield.
22066         (configure.ac): Remove all checks.
22067         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
22068         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
22069         gl_thread_self): Remove definitions. Include glthread/thread.h and
22070         glthread/yield.h instead.
22071         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
22072         additional NULL argument to gl_thread_join.
22073
22074 2008-09-30  Bruno Haible  <bruno@clisp.org>
22075
22076         Fix the Win32 implementation of the 'thread' module.
22077         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
22078         pointer type.
22079         (gl_thread_self): Invoke gl_thread_self_func.
22080         (gl_thread_self_func): New declaration.
22081         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
22082         (do_init_self_key, init_self_key): New functions.
22083         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
22084         Remove some fields.
22085         (running_threads, running_lock): Remove variables.
22086         (get_current_thread_handle): New function.
22087         (gl_thread_self_func, wrapper_func, glthread_create_func,
22088         glthread_join_func, gl_thread_exit_func): Largely rewritten and
22089         simplified.
22090
22091 2008-09-30  Bruno Haible  <bruno@clisp.org>
22092
22093         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
22094         files.
22095
22096 2008-09-30  Jim Meyering  <meyering@redhat.com>
22097
22098         fts.m4: correct the test for statfs.f_type
22099         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
22100         when checking for statfs.f_type.
22101
22102 2008-09-15  Simon Josefsson  <simon@josefsson.org>
22103
22104         tests: avoid some compiler warnings
22105         * tests/test-memchr.c (main): Pass NULL indirectly.
22106         * tests/test-getdate.c (main): Remove unused variable 'ret'.
22107
22108 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
22109
22110         getdate.y: disallow countable dayshifts like "4 yesterday ago"
22111         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
22112         exactly specified dayshifts.
22113         (dayshift): New rule.
22114         (rel): Add dayshift.
22115         (relative_time_table) [tomorrow, yesterday, today, now]:
22116         Use tDAY_SHIFT in place of tDAY_UNIT.
22117         * tests/test-getdate.c: Add tests for now-disallowed countable
22118         dayshifts, e.g., "4 yesterday ago".
22119
22120 2008-09-29  Bruno Haible  <bruno@clisp.org>
22121
22122         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
22123         * tests/test-posix_spawn1.in.sh: Renamed from
22124         tests/test-posix_spawn.in.sh.
22125         * tests/test-posix_spawn2.c: New file.
22126         * tests/test-posix_spawn2.in.sh: New file.
22127         * modules/posix_spawnp-tests (Files): Update.
22128         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
22129
22130 2008-09-29  Bruno Haible  <bruno@clisp.org>
22131
22132         Propagate effects of putenv/setenv/unsetenv to child processes.
22133         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
22134         * lib/pipe.c (create_pipe): Likewise.
22135
22136 2008-09-29  Bruno Haible  <bruno@clisp.org>
22137
22138         Enable use of shell scripts as executables in mingw.
22139         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
22140         run the program as a shell script.
22141         * lib/pipe.c (create_pipe): Likewise.
22142         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
22143         resulting array.
22144
22145 2008-09-29  Eric Blake  <ebb9@byu.net>
22146
22147         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
22148
22149 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
22150
22151         * doc/posix-functions/accept.texi: Update mingw problems.
22152         * doc/posix-functions/bind.texi: Update mingw problems.
22153         * doc/posix-functions/close.texi: Update mingw problems.
22154         * doc/posix-functions/connect.texi: Update mingw problems.
22155         * doc/posix-functions/getpeername.texi: Update mingw problems.
22156         * doc/posix-functions/getsockname.texi: Update mingw problems.
22157         * doc/posix-functions/getsockopt.texi: Update mingw problems.
22158         * doc/posix-functions/ioctl.texi: Update mingw problems.
22159         * doc/posix-functions/listen.texi: Update mingw problems.
22160         * doc/posix-functions/recv.texi: Update mingw problems.
22161         * doc/posix-functions/recvfrom.texi: Update mingw problems.
22162         * doc/posix-functions/select.texi: Update mingw problems.
22163         * doc/posix-functions/send.texi: Update mingw problems.
22164         * doc/posix-functions/sendto.texi: Update mingw problems.
22165         * doc/posix-functions/setsockopt.texi: Update mingw problems.
22166         * doc/posix-functions/socket.texi: Update mingw problems.
22167
22168 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
22169             Bruno Haible  <bruno@clisp.org>
22170
22171         * lib/sys_select.in.h: Include sys/time.h.
22172         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
22173         * modules/sys_select: Depend on sys_time.
22174         * tests/test-sys_select.c: Test that sys/select.h defines struct
22175         timeval fully.
22176
22177 2008-09-29  Bruno Haible  <bruno@clisp.org>
22178
22179         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
22180         * lib/sys_select.in.h: Likewise.
22181
22182 2008-09-29  Bruno Haible  <bruno@clisp.org>
22183
22184         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
22185
22186 2008-09-29  Bruno Haible  <bruno@clisp.org>
22187
22188         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
22189         Set LIBSOCKET instead of augmenting LIBS.
22190         * modules/sockets (Link): New section.
22191         * modules/sockets-tests (test_sockets_LDADD): New variable.
22192         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
22193         * modules/poll-tests (test_poll_LDADD): New variable.
22194         * NEWS: Document the change.
22195
22196 2008-09-29  Bruno Haible  <bruno@clisp.org>
22197
22198         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
22199         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
22200         ARPA_INET_H directly.
22201         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22202
22203 2008-09-28  Bruno Haible  <bruno@clisp.org>
22204
22205         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
22206         from gl_HEADER_SYS_SOCKET.
22207         (gl_HEADER_SYS_SOCKET): Invoke it.
22208         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22209
22210 2008-09-28  Bruno Haible  <bruno@clisp.org>
22211
22212         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
22213         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
22214         Needed on OSF/1 4.0.
22215
22216 2008-09-28  Bruno Haible  <bruno@clisp.org>
22217
22218         Override open more carefully.
22219         * lib/open.c (orig_open): New function.
22220         (rpl_open): Use orig_open instead of open.
22221         * lib/fcntl.in.h: Add special invocation convention.
22222         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
22223         (gl_FUNC_OPEN): Invoke it.
22224
22225         Override freopen more carefully.
22226         * lib/freopen.c (orig_freopen): New function.
22227         (rpl_freopen): Use orig_freopen instead of freopen.
22228         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
22229         (gl_FUNC_FREOPEN): Invoke it.
22230
22231         Override fopen more carefully.
22232         * lib/fopen.c (orig_fopen): New function.
22233         (rpl_fopen): Use orig_fopen instead of fopen.
22234         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
22235         (gl_FUNC_FOPEN): Invoke it.
22236         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
22237
22238 2008-09-28  Bruno Haible  <bruno@clisp.org>
22239
22240         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
22241         SIGPIPE.
22242
22243 2008-09-28  Bruno Haible  <bruno@clisp.org>
22244
22245         * tests/test-sigaction.c (handler, main): Disable the check whether
22246         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
22247         glibc systems with LinuxThreads.
22248
22249 2008-09-28  Bruno Haible  <bruno@clisp.org>
22250
22251         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
22252
22253         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
22254         with AIX xlc.
22255         * lib/fcntl.in.h (open): Likewise.
22256         Reported by Rainer Tammer <tammer@tammer.net>.
22257
22258 2008-09-28  Bruno Haible  <bruno@clisp.org>
22259
22260         * modules/posix_spawnp-tests: New file.
22261         * tests/test-posix_spawn.c: New file.
22262         * tests/test-posix_spawn.in.sh: New file.
22263
22264         New module 'posix_spawnp'.
22265         * modules/posix_spawnp: New file.
22266         * lib/spawnp.c: New file, from GNU libc with modifications.
22267         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
22268
22269         New module 'posix_spawn'.
22270         * modules/posix_spawn: New file.
22271         * lib/spawn.c: New file, from GNU libc with modifications.
22272         * doc/posix-functions/posix_spawn.texi: Mention the new module.
22273
22274         New module 'posix_spawnattr_destroy'.
22275         * modules/posix_spawnattr_destroy: New file.
22276         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
22277         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
22278         module.
22279
22280         New module 'posix_spawnattr_setsigmask'.
22281         * modules/posix_spawnattr_setsigmask: New file.
22282         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
22283         modifications.
22284         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
22285         new module.
22286
22287         New module 'posix_spawnattr_getsigmask'.
22288         * modules/posix_spawnattr_getsigmask: New file.
22289         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
22290         modifications.
22291         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
22292         new module.
22293
22294         New module 'posix_spawnattr_setsigdefault'.
22295         * modules/posix_spawnattr_setsigdefault: New file.
22296         * lib/spawnattr_setdefault.c: New file, from GNU libc with
22297         modifications.
22298         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
22299         new module.
22300
22301         New module 'posix_spawnattr_getsigdefault'.
22302         * modules/posix_spawnattr_getsigdefault: New file.
22303         * lib/spawnattr_getdefault.c: New file, from GNU libc with
22304         modifications.
22305         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
22306         new module.
22307
22308         New module 'posix_spawnattr_setschedpolicy'.
22309         * modules/posix_spawnattr_setschedpolicy: New file.
22310         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
22311         modifications.
22312         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
22313         new module.
22314
22315         New module 'posix_spawnattr_getschedpolicy'.
22316         * modules/posix_spawnattr_getschedpolicy: New file.
22317         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
22318         modifications.
22319         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
22320         new module.
22321
22322         New module 'posix_spawnattr_setschedparam'.
22323         * modules/posix_spawnattr_setschedparam: New file.
22324         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
22325         modifications.
22326         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
22327         new module.
22328
22329         New module 'posix_spawnattr_getschedparam'.
22330         * modules/posix_spawnattr_getschedparam: New file.
22331         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
22332         modifications.
22333         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
22334         new module.
22335
22336         New module 'posix_spawnattr_setpgroup'.
22337         * modules/posix_spawnattr_setpgroup: New file.
22338         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
22339         modifications.
22340         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
22341         module.
22342
22343         New module 'posix_spawnattr_getpgroup'.
22344         * modules/posix_spawnattr_getpgroup: New file.
22345         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
22346         modifications.
22347         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
22348         module.
22349
22350         New module 'posix_spawnattr_setflags'.
22351         * modules/posix_spawnattr_setflags: New file.
22352         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
22353         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
22354         module.
22355
22356         New module 'posix_spawnattr_getflags'.
22357         * modules/posix_spawnattr_getflags: New file.
22358         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
22359         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
22360         module.
22361
22362         New module 'posix_spawnattr_init'.
22363         * modules/posix_spawnattr_init: New file.
22364         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
22365         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
22366         module.
22367
22368         New module 'posix_spawn_file_actions_destroy'.
22369         * modules/posix_spawn_file_actions_destroy: New file.
22370         * lib/spawn_faction_destroy.c: New file, from GNU libc with
22371         modifications.
22372         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
22373         the new module.
22374
22375         New module 'posix_spawn_file_actions_addopen'.
22376         * modules/posix_spawn_file_actions_addopen: New file.
22377         * lib/spawn_faction_addopen.c: New file, from GNU libc with
22378         modifications.
22379         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22380         the new module.
22381
22382         New module 'posix_spawn_file_actions_adddup2'.
22383         * modules/posix_spawn_file_actions_adddup2: New file.
22384         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
22385         modifications.
22386         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22387         the new module.
22388
22389         New module 'posix_spawn_file_actions_addclose'.
22390         * modules/posix_spawn_file_actions_addclose: New file.
22391         * lib/spawn_faction_addclose.c: New file, from GNU libc with
22392         modifications.
22393         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22394         the new module.
22395
22396         New module 'posix_spawn_file_actions_init'.
22397         * modules/posix_spawn_file_actions_init: New file.
22398         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
22399         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
22400         new module.
22401
22402         New module 'posix_spawn-internal'.
22403         * modules/posix_spawn-internal: New file.
22404         * lib/spawn_int.h: New file, from GNU libc with modifications.
22405         * lib/spawni.c: New file, from GNU libc with modifications.
22406         * m4/posix_spawn.m4: New file.
22407
22408         New module 'spawn'.
22409         * modules/spawn: New file.
22410         * lib/spawn.in.h: New file, from GNU libc with modifications.
22411         * m4/spawn_h.m4: New file.
22412         * doc/posix-headers/spawn.texi: Mention the new module.
22413
22414 2008-09-28  Bruno Haible  <bruno@clisp.org>
22415
22416         * modules/sched-tests: New file.
22417         * tests/test-sched.c: New file.
22418
22419         New module 'sched'.
22420         * modules/sched: New file.
22421         * lib/sched.in.h: New file.
22422         * m4/sched_h.m4: New file.
22423         * doc/posix-headers/sched.texi: Mention the new module.
22424
22425 2008-09-27  Eric Blake  <ebb9@byu.net>
22426
22427         Fix previous patch, and tweak references to $0.
22428         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
22429         (func_version, func_gnulib_dir): Don't call this program
22430         gnulib-tool.
22431         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
22432         with using $0 in function.
22433         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
22434         (func_fatal_error): Reuse the name the user invoked us with.
22435
22436 2008-09-27  Bruno Haible  <bruno@clisp.org>
22437
22438         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
22439         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
22440         (gl_ICONV_H): Not here.
22441         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22442         instead of assigning ICONV_H directly.
22443
22444         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
22445         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
22446         WCHAR_H directly.
22447
22448 2008-09-27  Bruno Haible  <bruno@clisp.org>
22449
22450         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
22451         * modules/arpa_inet (Depends-on): Add link-warning.
22452         (Makefile.am): Insert the definition of GL_LINK-WARNING.
22453         * modules/unistd (Makefile.am): Likewise.
22454
22455 2008-09-26  Bruno Haible  <bruno@clisp.org>
22456
22457         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
22458         variables.
22459         (func_version): Essentially copied from gnulib-tool.
22460         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
22461         func_readlink): Copied from gnulib-tool.
22462
22463 2008-09-26  Bruno Haible  <bruno@clisp.org>
22464
22465         * gnulib-tool (func_version): Change directory to $gnulib_dir before
22466         invoking git-version-gen.
22467
22468 2008-09-26  Bruno Haible  <bruno@clisp.org>
22469
22470         * posix-modules: Update to directory names changed on 2008-01-19.
22471         Remove commas in output before splitting into words. No more need to
22472         avoid 'ftruncate' since 2007-02-19.
22473
22474 2008-09-26  Bruno Haible  <bruno@clisp.org>
22475
22476         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
22477
22478 2008-09-26  Bruno Haible  <bruno@clisp.org>
22479
22480         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
22481         * modules/fwriteerror (Depends-on): Add errno.
22482
22483 2008-09-26  Bruno Haible  <bruno@clisp.org>
22484
22485         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
22486         * tests/test-vc-list-files-cvs.sh: Likewise.
22487
22488 2008-09-26  Bruno Haible  <bruno@clisp.org>
22489
22490         * doc/posix-headers/sys_resource.texi: Reorder items.
22491
22492 2008-09-26  Jim Meyering  <meyering@redhat.com>
22493
22494         fts: tweak inode comparison function
22495         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
22496         inode numbers, as documented.
22497
22498         fts: sort dirent entries on inode number before traversing
22499         This avoids a quadratic, seek-related performance penalty when
22500         operating on a directory containing many entries (measurable at 10k;
22501         3.5 hours at 2 million entries with a cold cache) on certain types
22502         of file systems, including ext3 and ext4, but not tmpfs.
22503         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
22504         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
22505         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
22506         (fs_handles_readdir_ordered_dirents_efficiently): New function.
22507         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
22508         (fts_build): Set the stat.st_ino member from D_INO.
22509         If it is likely to be useful, sort dirent entries on inode number.
22510
22511         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
22512         and the struct statfs.f_type member.
22513         * modules/fts (Depends-on): Add d-ino.
22514
22515 2008-09-26  Bruno Haible  <bruno@clisp.org>
22516
22517         * modules/sigpipe-die (Depends-on): Add sigpipe.
22518
22519         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
22520         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
22521         and GNULIB_STDIO_H_SIGPIPE are set.
22522         * lib/stdio-write.c: New file.
22523         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
22524         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22525         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22526         REPLACE_STDIO_WRITE_FUNCS.
22527         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
22528         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22529         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22530         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22531         * modules/stdio (Files): Add lib/stdio-write.c.
22532         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
22533         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22534         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22535         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22536         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
22537         REPLACE_FPRINTF_POSIX.
22538         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
22539         REPLACE_PRINTF_POSIX.
22540         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
22541         REPLACE_VFPRINTF_POSIX.
22542         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
22543         REPLACE_VPRINTF_POSIX.
22544         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
22545         SIGPIPE issue.
22546         * doc/posix-functions/fputc.texi: Likewise.
22547         * doc/posix-functions/fputs.texi: Likewise.
22548         * doc/posix-functions/fwrite.texi: Likewise.
22549         * doc/posix-functions/printf.texi: Likewise.
22550         * doc/posix-functions/putc.texi: Likewise.
22551         * doc/posix-functions/putchar.texi: Likewise.
22552         * doc/posix-functions/puts.texi: Likewise.
22553         * doc/posix-functions/vfprintf.texi: Likewise.
22554         * doc/posix-functions/vprintf.texi: Likewise.
22555
22556         * modules/safe-write (Depends-on): Add write.
22557
22558         * modules/sigpipe-tests: New file.
22559         * tests/test-sigpipe.c: New file.
22560         * tests/test-sigpipe.sh: New file.
22561
22562         * modules/write: New file.
22563         * lib/unistd.in.h: Include <sys/types.h>.
22564         (write): New declaration.
22565         * lib/write.c: New file.
22566         * m4/write.m4: New file.
22567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22568         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
22569         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
22570         GNULIB_WRITE, REPLACE_WRITE.
22571         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
22572         and the SIGPIPE issue.
22573
22574         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
22575         (raise): New declaration.
22576         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
22577         (ext_signal): New function.
22578         (rpl_raise): New function.
22579         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
22580         GNULIB_SIGNAL_H_SIGPIPE.
22581         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
22582         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
22583
22584         * modules/sigpipe: New file.
22585         * m4/sigpipe.m4: New file.
22586
22587 2008-09-25  Derek Price  <derek@ximbiot.com>
22588             Bruno Haible  <bruno@clisp.org>
22589
22590         * gnulib-tool (func_import): Report all license incompatibilities, not
22591         just the first one.
22592
22593 2008-09-25  Bruno Haible  <bruno@clisp.org>
22594
22595         * gnulib-tool (func_import): When computing the edits, consider not
22596         only the Makefile.ams that exist but also those that will be generated.
22597
22598 2008-09-25  Simon Josefsson  <simon@josefsson.org>
22599
22600         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
22601         fixes gnulib-tool --test warning about duplicate dependency.
22602
22603 2008-09-25  Bruno Haible  <bruno@clisp.org>
22604
22605         * gnulib-tool: Don't ask the user to perform edits in the generated
22606         Makefile.ams.
22607         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
22608         apply to the Makefile.am being generated.
22609         (func_emit_tests_Makefile_am): Execute edits that apply to the
22610         Makefile.am being generated.
22611         (func_import): Setup list of Makefile.am edits before emitting the
22612         Makefile.ams, not at the end.
22613         (func_create_testdir): Update.
22614         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22615
22616 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22617
22618         * gnulib-tool (func_import): Store the --tests-base option in the
22619         comment in gnulib-cache.m4.
22620
22621 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
22622
22623         * NEWS: Document increased portability that sys_select now provides.
22624
22625         * lib/sys_select.in.h: Install select wrapper.
22626         * lib/sys_socket.in.h: Use more descriptive name when there is no
22627         select wrapper.
22628         * lib/winsock-select.c: New.
22629         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
22630         Require gl_HEADER_SYS_SOCKET.
22631         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
22632         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
22633         * tests/test-sys_select.c: Add functional tests.
22634
22635 2008-09-24  Eric Blake  <ebb9@byu.net>
22636
22637         open, fopen: close fd leak in last patch
22638         * lib/open.c (rpl_open): Close fd before returning error.
22639         * lib/fopen.c (rpl_fopen): Close fd before returning error.
22640         * doc/posix-functions/open.texi (open): Document that Irix also
22641         has the bug.
22642         * doc/posix-functions/fopen.texi (fopen): Likewise.
22643         Reported by Paolo Bonzini.
22644
22645 2008-09-24  Bruno Haible  <bruno@clisp.org>
22646
22647         Ensure that a filename ending in a slash cannot be used to access a
22648         non-directory.
22649         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
22650         to check whether it's really a directory.
22651         * lib/fopen.c: Include fcntl.h, unistd.h.
22652         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
22653         and fdopen().
22654         * modules/fopen (Depends-on): Add unistd.
22655         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
22656         * tests/test-fopen.c (main): Likewise.
22657         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
22658         * doc/posix-functions/fopen.texi: Likewise.
22659         Reported by Eric Blake.
22660
22661 2008-09-23  Eric Blake  <ebb9@byu.net>
22662
22663         c-stack: avoid compiler optimizations when provoking overflow
22664         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
22665         recursion harder to optimize, to ensure a stack overflow occurs.
22666         * tests/test-c-stack.c (recurse): Likewise.
22667         Borrowed from libsigsegv.
22668
22669         c-stack: work around Irix sigaltstack bug
22670         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
22671         whether sigaltstack uses wrong end of stack_t (copied in part from
22672         libsigsegv).
22673         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
22674         Irix bug, without requiring an over-allocation.
22675         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
22676         bug.
22677
22678         fopen: document mingw bug on directories
22679         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
22680         not allowing a stream visiting a directory, even though reading
22681         from such a stream is not portable.
22682
22683 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22684
22685         * lib/poll.c: Rewrite.
22686         * modules/poll: Depend on alloca.
22687
22688 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22689
22690         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
22691         instead define prototypes for a full set of wrappers.  Ensure
22692         that Cygwin does not use the compatibility code, which is only
22693         for MinGW.
22694         * lib/winsock.c: New.
22695         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
22696         * modules/sys_socket: Add lib/winsock.c.
22697
22698         * modules/poll-tests: Add errno and perror.
22699         * tests/test-poll.c: Use ioctl, not ioctlsocket.
22700
22701 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22702
22703         * tests/test-poll.c: Downgrade minimum needed Winsock version.
22704
22705 2008-09-23  Bruno Haible  <bruno@clisp.org>
22706
22707         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
22708         * doc/glibc-functions/*: Likewise.
22709
22710 2008-09-23  Simon Josefsson  <simon@josefsson.org>
22711
22712         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
22713         success.
22714
22715 2008-09-22  Eric Blake  <ebb9@byu.net>
22716             Bruno Haible  <bruno@clisp.org>
22717
22718         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
22719         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
22720         supply %A but mishandle pseudo-NaN.
22721         Reported by Simon Josefsson.
22722
22723 2008-09-21  Bruno Haible  <bruno@clisp.org>
22724
22725         * tests/test-lock.c (main): Tweak skip message.
22726         * tests/test-tls.c (main): Likewise.
22727
22728 2008-09-21  Bruno Haible  <bruno@clisp.org>
22729
22730         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
22731         whether 'struct sigaction' has sa_sigaction here...
22732         (gl_PREREQ_SIG_HANDLER_H): ... not here.
22733         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
22734
22735 2008-09-21  Bruno Haible  <bruno@clisp.org>
22736
22737         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
22738         section.
22739         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
22740         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
22741         the new section.
22742         (Support for obsolete systems lacking POSIX:2001): New section.
22743         (String handling <string.h>): Move strdup to the new section.
22744         Suggested by Simon Josefsson and Paolo Bonzini.
22745
22746 2008-09-21  Bruno Haible  <bruno@clisp.org>
22747
22748         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
22749         exponents in %e and %g results on 'long double'. Needed for mingw's
22750         improved *printf functions.
22751         * tests/test-vasprintf-posix.c (test_function): Likewise.
22752         * tests/test-snprintf-posix.h (test_function): Likewise.
22753         * tests/test-sprintf-posix.h (test_function): Likewise.
22754         Reported by Eric Blake.
22755
22756 2008-09-21  Bruno Haible  <bruno@clisp.org>
22757
22758         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
22759         * tests/test-sprintf-posix.h (test_function): Likewise.
22760
22761 2008-09-21  Bruno Haible  <bruno@clisp.org>
22762
22763         * modules/getpass (Depends-on): Add strdup-posix.
22764
22765         New module 'strdup-posix'.
22766         * modules/strdup-posix: New file.
22767         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
22768         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
22769         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22770         REPLACE_STRDUP.
22771         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
22772         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
22773         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22774         strdup-posix.
22775
22776         * modules/strdup (Depends-on): Remove malloc-posix.
22777
22778 2008-09-20  Bruno Haible  <bruno@clisp.org>
22779
22780         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
22781         Wildenhues.
22782
22783 2008-09-20  Bruno Haible  <bruno@clisp.org>
22784
22785         Ensure that wint_t gets defined on IRIX 5.3.
22786         * lib/wchar.in.h (wint_t): Define if not defined by the system.
22787         * lib/wctype.in.h (wint_t): Likewise.
22788         (__wctype_wint_t): Remove type.
22789         (isw*): Use wint_t instead of __wctype_wint_t.
22790         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
22791         * modules/wchar (Files): Add m4/wint_t.m4.
22792         (Makefile.am): Substitute HAVE_WINT_T.
22793         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
22794         * tests/test-wctype.c: Check that wint_t is defined.
22795         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
22796         * doc/posix-headers/wctype.texi: Likewise.
22797         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22798
22799 2008-09-18  Bruno Haible  <bruno@clisp.org>
22800
22801         * gnulib-tool (func_exit): Update comment.
22802
22803 2008-09-18  Simon Josefsson  <simon@josefsson.org>
22804
22805         * modules/getaddrinfo (Depends-on): Remove strdup, this module
22806         assumes strdup exists and does not depend on strdup to return
22807         ENOMEM on out of memory conditions.
22808
22809 2008-09-18  Bruno Haible  <bruno@clisp.org>
22810
22811         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
22812         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
22813         digits for the exponent.
22814
22815 2008-09-18  Jim Meyering  <meyering@redhat.com>
22816             Bruno Haible  <bruno@clisp.org>
22817
22818         * lib/vasnprintf.c (decimal_point_char): Define also if
22819         NEED_PRINTF_INFINITE_LONG_DOUBLE.
22820
22821 2008-09-16  Bruno Haible  <bruno@clisp.org>
22822         and Eric Blake  <ebb9@byu.net>
22823
22824         vasnprintf: support Irix 5.3
22825         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
22826         that mishandle long double infinity.
22827         Reported by Tom G. Christensen.
22828
22829 2008-09-16  Bruno Haible  <bruno@clisp.org>
22830
22831         * doc/glibc-functions/scandir.texi: Mention the function is missing on
22832         Solaris 9.
22833         * doc/glibc-functions/alphasort.texi: Likewise.
22834         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
22835
22836 2008-09-16  Jim Meyering  <meyering@redhat.com>
22837
22838         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
22839         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
22840         a umask modification leak out of a subshell.  Otherwise, the
22841         opensolaris /bin/sh would be accepted and thus cause unwarranted
22842         failures in the coreutils test suite.
22843
22844 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
22845
22846         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
22847         to succeed.
22848
22849 2008-09-16  Jim Meyering  <meyering@redhat.com>
22850
22851         avoid spurious test failure when library is built without ACL support
22852         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
22853         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
22854         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
22855         * tests/test-copy-acl.sh: Likewise.
22856
22857 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22858
22859         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
22860         based on character occurrence counts.
22861
22862 2008-09-15  Eric Blake  <ebb9@byu.net>
22863
22864         tests: avoid some compiler warnings
22865         * tests/test-memchr.c (main): Pass NULL indirectly.
22866         * tests/test-closein.c (main): Avoid unused variable.
22867
22868 2008-09-15  Bruno Haible  <bruno@clisp.org>
22869
22870         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
22871         are missing on OpenBSD 4.0 individually.
22872         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22873
22874 2008-09-15  Bruno Haible  <bruno@clisp.org>
22875
22876         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
22877         * doc/posix-functions/strerror.texi: Mention also Cygwin.
22878         * doc/posix-functions/perror.texi: Likewise.
22879         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
22880         is missing.
22881         Reported by Eric Blake.
22882
22883         * lib/errno.in.h: Use replacement values >= 2000.
22884         Reported by Eric Blake.
22885
22886 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22887
22888         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
22889         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
22890         limit.
22891         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
22892         compareseq was aborted.
22893
22894 2008-09-14  Bruno Haible  <bruno@clisp.org>
22895
22896         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
22897         yvec_edit_count.
22898         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
22899         (fstrcmp_bounded): Simplify result computation accordingly.
22900
22901 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22902
22903         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
22904         (fstrcmp): Define in terms of fstrcmp_bounded.
22905         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
22906         lower_bound argument.
22907         Return quickly if the result is certainly < lower_bound.
22908         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
22909
22910 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22911
22912         * lib/diffseq.h (EARLY_ABORT): New macro.
22913         (compareseq): Change return type to bool. Return true when EARLY_ABORT
22914         evaluates to true.
22915
22916 2008-09-14  Bruno Haible  <bruno@clisp.org>
22917
22918         * modules/perror-tests: New file.
22919         * tests/test-perror.sh: New file.
22920         * tests/test-perror.c: New file.
22921
22922         New module 'perror'.
22923         * lib/stdio.in.h (perror): New declaration.
22924         * lib/perror.c: New file.
22925         * m4/perror.m4: New file.
22926         * modules/perror: New file.
22927         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
22928         * doc/posix-functions/perror.texi: Mention the perror module.
22929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
22930         REPLACE_PERROR.
22931         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
22932         REPLACE_PERROR.
22933
22934 2008-09-14  Bruno Haible  <bruno@clisp.org>
22935
22936         * modules/stdio (Makefile.am): Reorder to match the order in
22937         lib/stdio.in.h.
22938         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22939
22940 2008-09-13  Bruno Haible  <bruno@clisp.org>
22941
22942         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
22943
22944 2008-09-13  Bruno Haible  <bruno@clisp.org>
22945
22946         Extend strerror to cover the added errno values.
22947         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
22948         (rpl_strerror): Provide error messages for the added errno values and
22949         for the WSA* values.
22950         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
22951         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
22952         strerror.
22953         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
22954         * modules/strerror (Depends-on): Add errno.
22955         * doc/posix-functions/strerror.texi: Document the change.
22956         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
22957         and EOVERFLOW.
22958
22959 2008-09-13  Bruno Haible  <bruno@clisp.org>
22960
22961         * modules/EOVERFLOW: Remove file.
22962         * m4/eoverflow.m4: Remove file.
22963         * modules/EOVERFLOW-tests: Remove file.
22964         * tests/test-EOVERFLOW.c: Remove file.
22965         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
22966         * modules/ftell (Depends-on): Likewise.
22967         * modules/getdelim (Depends-on): Likewise.
22968         * modules/getugroups (Depends-on): Likewise.
22969         * modules/poll (Depends-on): Likewise.
22970         * modules/snprintf (Depends-on): Likewise.
22971         * modules/sprintf-posix (Depends-on): Likewise.
22972         * modules/vasnprintf (Depends-on): Likewise.
22973         * modules/vasprintf (Depends-on): Likewise.
22974         * modules/vfprintf-posix (Depends-on): Likewise.
22975         * modules/vsnprintf (Depends-on): Likewise.
22976         * modules/vsprintf-posix (Depends-on): Likewise.
22977         * modules/xvasprintf (Depends-on): Likewise.
22978         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22979         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
22980         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
22981         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
22982         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22983         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
22984         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
22985         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
22986         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22987         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
22988         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
22989         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
22990         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22991         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
22992         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
22993         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
22994         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22995         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
22996         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
22997         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
22998         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22999         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
23000         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
23001         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
23002         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
23003         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23004         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
23005         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
23006         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
23007         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
23008         * MODULES.html.sh: Remove EOVERFLOW.
23009         * NEWS: Mention the change.
23010
23011 2008-09-13  Bruno Haible  <bruno@clisp.org>
23012
23013         * modules/errno-tests: New file.
23014         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
23015
23016         * lib/errno.in.h: New file.
23017         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
23018         * modules/errno: New file.
23019         * doc/posix-headers/errno.texi: Update documentation.
23020         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
23021
23022 2008-09-13  Bruno Haible  <bruno@clisp.org>
23023
23024         * tests/test-poll.c: Use #if for native Windows, rather than testing
23025         __MSVCRT__.
23026
23027 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23028             Bruno Haible  <bruno@clisp.org>
23029
23030         * lib/glob.c: Don't include <pwd.h> on native Windows.
23031         (WINDOWS32): New macro.
23032         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
23033
23034 2008-09-13  Bruno Haible  <bruno@clisp.org>
23035
23036         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
23037         (ETIMEDOUT): Remove macro.
23038         (glthread_cond_timedwait_multithreaded): New declaration.
23039         (glthread_cond_timedwait): Use it.
23040         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
23041         (glthread_cond_timedwait_multithreaded): New function.
23042
23043 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23044
23045         * modules/poll-tests: Do not check for io.h.
23046         * tests/test-poll.c: Check for __MSVCRT__ instead.
23047
23048 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23049
23050         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
23051         * modules/poll-tests: Add inet_pton, stdbool, sockets.
23052         * tests/test-poll.c: Use them.  Use _pipe on Windows.
23053
23054 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
23055
23056         * modules/poll-tests: New.
23057         * tests/test-poll.c: New.
23058
23059 2008-09-12  Eric Blake  <ebb9@byu.net>
23060
23061         frexp: test for NetBSD failure on -0.0
23062         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
23063         not all, bugs from NetBSD 3.0 have been fixed.
23064         * doc/posix-functions/frexp.texi (frexp): Document bug.
23065         Reported by Thomas Klausner.
23066
23067         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
23068         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
23069         literal -0.0.
23070         Reported by Jonathan C. Patschke <jp@centtech.com>.
23071
23072 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23073
23074         * lib/glthread/cond.h: Use dummy implementation also if
23075         USE_WIN32_THREADS.
23076
23077 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23078
23079         * modules/fnmatch-posix (License): Change to LGPLv2+.
23080         * modules/fnmatch-gnu (License): Likewise.
23081
23082 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23083
23084         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
23085
23086 2008-09-11  Jim Meyering  <meyering@redhat.com>
23087
23088         * users.txt: Add gtk-vnc.
23089
23090 2008-09-08  Simon Josefsson  <simon@josefsson.org>
23091
23092         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
23093         rotate amounts.
23094
23095         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
23096         required for 16-bit and 8-bit rotates.
23097         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
23098         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
23099         UINT8_MAX instead of hard-coded constants.
23100         Suggested by Paul Eggert.
23101
23102 2008-09-07  Bruno Haible  <bruno@clisp.org>
23103
23104         * tests/test-striconveh.c (main): Check behaviour when converting from
23105         UTF-7.
23106
23107         Make striconveh work better with stateful encodings.
23108         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
23109         that iconv does not increment the inptr when returning -1/EINVAL.
23110
23111 2008-09-07  Bruno Haible  <bruno@clisp.org>
23112
23113         * build-aux/config.rpath: Update according to libtool-2.2.6.
23114         * build-aux/config.libpath: Likewise.
23115
23116 2008-09-06  Bruno Haible  <bruno@clisp.org>
23117
23118         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
23119         * lib/freadptr.c (freadptr): Likewise.
23120         * lib/freadseek.c (freadptrinc): Likewise.
23121         Reported by Simon Josefsson.
23122
23123 2008-09-06  Bruno Haible  <bruno@clisp.org>
23124
23125         * modules/freadptr (License): Change to LGPLv2+.
23126         * modules/freadseek (License): Likewise.
23127         Suggested by Eric Blake.
23128
23129         * modules/memchr2 (License): Change to LGPLv2+.
23130         Approved by Eric Blake.
23131
23132 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23133             Bruno Haible  <bruno@clisp.org>
23134
23135         Make gnulib-tool work with native 'sed' on AIX.
23136         * gnulib-tool (sed_noop): New variable.
23137         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
23138         func_add_or_update, func_create_testdir): Use it to initialize sed
23139         script variables.
23140         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23141
23142 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
23143             Bruno Haible  <bruno@clisp.org>
23144
23145         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
23146         also works after #include directives.
23147
23148 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
23149
23150         getdate.y: reject an out-of-range timezone value
23151         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
23152         the range [-24...+24].  When specified with only one or two digits,
23153         * tests/test-getdate.c: Tests for the fix.
23154         * doc/getdate.texi: Document this change.
23155
23156 2008-09-03  Bruno Haible  <bruno@clisp.org>
23157
23158         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
23159
23160 2008-09-02  Simon Josefsson  <simon@josefsson.org>
23161
23162         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
23163         <bruce.korb@gmail.com> with ideas from Ben Pfaff
23164         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
23165         Blake <ebb9@byu.net>.
23166
23167         * tests/test-bitrotate.c: Add more test vectors.
23168
23169 2008-09-02  Eric Blake  <ebb9@byu.net>
23170
23171         vasnprintf-posix: handle large precision via %.*d
23172         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
23173         when handling it ourselves.
23174         * tests/test-vasnprintf-posix.c (test_function): Add test.
23175         * tests/test-snprintf-posix.h (test_function): Likewise.
23176         * tests/test-sprintf-posix.h (test_function): Likewise.
23177         * tests/test-vasprintf-posix.c (test_function): Likewise.
23178         Reported by Alain Guibert.
23179
23180 2008-09-01  Eric Blake  <ebb9@byu.net>
23181
23182         c-stack: make configure-time check more robust
23183         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
23184         successful sigaction call.
23185         Reported by Tom G. Christensen.
23186
23187 2008-09-01  Bruno Haible  <bruno@clisp.org>
23188
23189         New module 'findprog-lgpl'.
23190         * modules/findprog-lgpl: New file.
23191         * lib/findprog-lgpl.c: New file.
23192         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
23193         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
23194         to decide whether to use strdup or xstrdup, concatenated_filename or
23195         xconcatenated_filename.
23196
23197 2008-09-01  Bruno Haible  <bruno@clisp.org>
23198
23199         Split module 'concat-filename' into 'concat-filename' (LGPL) and
23200         'xconcat-filename' (GPL).
23201         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
23202         (License): Change to LGPLv2+.
23203         * modules/xconcat-filename: New file.
23204         * lib/concat-filename.h (concatenated_filename): Change specification.
23205         (xconcatenated_filename): New declaration.
23206         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
23207         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
23208         memory situations.
23209         * lib/xconcat-filename.c: New file.
23210         * NEWS: Mention the change.
23211         * lib/findprog.c: Include concat-filename.h, not filename.h.
23212         (find_in_path): Use xconcatenated_filename instead of
23213         concatenated_filename.
23214         * lib/javacomp.c: Include concat-filename.h, not filename.h.
23215         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
23216         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
23217         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
23218         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
23219         instead of concatenated_filename.
23220         * lib/javaexec.c: Include concat-filename.h, not filename.h.
23221         (execute_java_class): Use xconcatenated_filename instead of
23222         concatenated_filename.
23223         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
23224         * modules/javacomp (Depends-on): Likewise.
23225         * modules/javaexec (Depends-on): Likewise.
23226
23227 2008-09-01  Bruno Haible  <bruno@clisp.org>
23228
23229         Split module 'filename' into 'filename' and 'concat-filename'.
23230         * modules/filename: Keep only lib/filename.h.
23231         (License): Change to LGPLv2+.
23232         * modules/concat-filename: New file, extracted from modules/filename.
23233         * lib/filename.h (concatenated_filename): Remove declaration.
23234         * lib/concat-filename.h: New file, extracted from lib/filename.h.
23235         * lib/concat-filename.c: Include concat-filename.h.
23236         * NEWS: Mention the change.
23237
23238 2008-09-01  Simon Josefsson  <simon@josefsson.org>
23239
23240         * lib/bitrotate.h (rotl8, rotr8): Add.
23241
23242         * modules/bitrotate (configure.ac): Need
23243         AC_REQUIRE([AC_C_INLINE]).
23244         (Description): Mention stdint.h.  Reported by Bruno Haible
23245         <bruno@clisp.org>.
23246
23247         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
23248         Paolo Bonzini <bonzini@gnu.org>.
23249
23250 2008-08-31  Bruno Haible  <bruno@clisp.org>
23251
23252         Assume Solaris specific bi-arch conventions on Solaris systems.
23253         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
23254         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
23255         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
23256         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
23257         like acl_libdirstem.
23258         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
23259         acl_libdirstem.
23260         * NEWS: Mention the change.
23261         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
23262
23263 2008-08-31  Jim Meyering  <meyering@redhat.com>
23264
23265         * lib/strftime.h: Add comments describing the two added arguments.
23266
23267         remove duplicate #include directives
23268         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
23269         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
23270
23271 2008-08-31  Bruno Haible  <bruno@clisp.org>
23272
23273         New module 'sigpipe-die'.
23274         * modules/sigpipe-die: New file.
23275         * lib/sigpipe-die.h: New file.
23276         * lib/sigpipe-die.c: New file.
23277         * MODULES.html.sh (Signal handling): Add sigpipe-die.
23278
23279 2008-08-31  Bruno Haible  <bruno@clisp.org>
23280
23281         Don't override previously installed signal handlers.
23282         * lib/fatal-signal.c (saved_sigactions): New variable.
23283         (uninstall_handlers): Reset the signal to the saved handler, not
23284         to SIG_DFL (except when ignored).
23285         (install_handlers): Save the previous handlers.
23286
23287 2008-08-30  Bruno Haible  <bruno@clisp.org>
23288
23289         * gnulib-tool (func_reset_sigpipe): New function.
23290         (func_get_automake_snippet, func_modules_transitive_closure,
23291         func_import): Invoke it before a join command that reads from stdin,
23292         to avoid "echo: write error: Broken pipe" error messages on stderr.
23293         Reported by Sam Steingold <sds@gnu.org>.
23294
23295 2008-08-30  Bruno Haible  <bruno@clisp.org>
23296
23297         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
23298         Code copied from m4/open.m4.
23299         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
23300         access and the filename ends in a slash. Code copied from lib/open.c.
23301         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
23302         * tests/test-fopen.c (main): Check against bug with trailing slash.
23303
23304 2008-08-29  Bruno Haible  <bruno@clisp.org>
23305
23306         Avoid some "gcc -pedantic" warnings.
23307         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
23308         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
23309         * lib/dirent.in.h: Likewise.
23310         * lib/fcntl.in.h: Likewise.
23311         * lib/float.in.h: Likewise.
23312         * lib/iconv.in.h: Likewise.
23313         * lib/inttypes.in.h: Likewise.
23314         * lib/locale.in.h: Likewise.
23315         * lib/math.in.h: Likewise.
23316         * lib/netinet_in.in.h: Likewise.
23317         * lib/search.in.h: Likewise.
23318         * lib/signal.in.h: Likewise.
23319         * lib/stdarg.in.h: Likewise.
23320         * lib/stdint.in.h: Likewise.
23321         * lib/stdio.in.h: Likewise.
23322         * lib/stdlib.in.h: Likewise.
23323         * lib/string.in.h: Likewise.
23324         * lib/strings.in.h: Likewise.
23325         * lib/sys_select.in.h: Likewise.
23326         * lib/sys_socket.in.h: Likewise.
23327         * lib/sys_stat.in.h: Likewise.
23328         * lib/sys_time.in.h: Likewise.
23329         * lib/sysexits.in.h: Likewise.
23330         * lib/time.in.h: Likewise.
23331         * lib/unistd.in.h: Likewise.
23332         * lib/wchar.in.h: Likewise.
23333         * lib/wctype.in.h: Likewise.
23334         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
23335         * modules/fchdir (Makefile.am): Likewise.
23336         * modules/fcntl (Makefile.am): Likewise.
23337         * modules/float (Makefile.am): Likewise.
23338         * modules/iconv_open (Makefile.am): Likewise.
23339         * modules/inttypes (Makefile.am): Likewise.
23340         * modules/locale (Makefile.am): Likewise.
23341         * modules/math (Makefile.am): Likewise.
23342         * modules/netinet_in (Makefile.am): Likewise.
23343         * modules/search (Makefile.am): Likewise.
23344         * modules/signal (Makefile.am): Likewise.
23345         * modules/stdarg (Makefile.am): Likewise.
23346         * modules/stdint (Makefile.am): Likewise.
23347         * modules/stdio (Makefile.am): Likewise.
23348         * modules/stdlib (Makefile.am): Likewise.
23349         * modules/string (Makefile.am): Likewise.
23350         * modules/strings (Makefile.am): Likewise.
23351         * modules/sys_select (Makefile.am): Likewise.
23352         * modules/sys_socket (Makefile.am): Likewise.
23353         * modules/sys_stat (Makefile.am): Likewise.
23354         * modules/sys_time (Makefile.am): Likewise.
23355         * modules/sysexits (Makefile.am): Likewise.
23356         * modules/time (Makefile.am): Likewise.
23357         * modules/unistd (Makefile.am): Likewise.
23358         * modules/wchar (Makefile.am): Likewise.
23359         * modules/wctype (Makefile.am): Likewise.
23360         Reported by Reuben Thomas <rrt@sc3d.org>.
23361
23362 2008-08-29  Bruno Haible  <bruno@clisp.org>
23363
23364         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
23365         any more.
23366
23367 2008-08-29  Simon Josefsson  <simon@josefsson.org>
23368
23369         * MODULES.html.sh (Misc): Add bitrotate.
23370
23371         * modules/bitrotate: New file.
23372
23373         * lib/bitrotate.h: New file.
23374
23375         * modules/bitrotate-tests: New file.
23376
23377         * tests/test-bitrotate.c: New file.
23378
23379         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
23380         on the bitrotate module.
23381
23382         * lib/arctwo.c: Use new bitrotate module.
23383
23384 2008-08-29  Jim Meyering  <meyering@redhat.com>
23385
23386         bootstrap: merge changes from coreutils
23387         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
23388         of copied files.  Remove a kludge, now that this is fixed.
23389         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
23390         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
23391         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
23392
23393 2008-08-29  Bruno Haible  <bruno@clisp.org>
23394
23395         * MODULES.html.sh: Remove --cvs-urls option.
23396
23397 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
23398
23399         maint.mk: adjust to file name change
23400         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
23401
23402 2008-08-28  Jim Meyering  <meyering@redhat.com>
23403
23404         * modules/getndelim2 (License): Relicense to LGPLv2+.
23405         Approved by Richard Stallman for the version of 1995, and by
23406         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
23407
23408 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
23409
23410         * lib/getdelim.c (flockfile, funlockfile): Make all of them
23411         dummy if one is not available.  Do not touch them if
23412         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
23413         (getc_maybe_unlocked): New.
23414         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
23415
23416 2008-08-26  Eric Blake  <ebb9@byu.net>
23417
23418         doc/INSTALL: resync from autoconf
23419         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
23420         (INSTALL_PRELUDE): Delete; this is done more efficiently by
23421         moving...
23422         * install.texi [!autoconf]: ...here.  Resync from autoconf.
23423         * INSTALL: Regenerate.
23424         * INSTALL.ISO: New file.
23425         * INSTALL.UTF-8: Likewise.
23426
23427 2008-08-26  Jim Meyering  <meyering@redhat.com>
23428
23429         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
23430         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
23431         these definitions conditional, so that they may be overridden, too.
23432
23433 2008-08-26  Bruno Haible  <bruno@clisp.org>
23434
23435         Generate INSTALL file variants with prettier quotes.
23436         * doc/Makefile (INSTALL_PRELUDE): New macro.
23437         (INSTALL): Use it.
23438         (INSTALL.ISO, INSTALL.UTF-8): New rules.
23439
23440 2008-08-26  Bruno Haible  <bruno@clisp.org>
23441
23442         Run makeinfo in an English locale.
23443         * doc/Makefile (MAKEINFO): New variable.
23444
23445 2008-08-26  Bruno Haible  <bruno@clisp.org>
23446
23447         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
23448         Suggested by Eric Blake.
23449
23450 2008-08-25  Bruno Haible  <bruno@clisp.org>
23451
23452         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
23453
23454 2008-08-25  Eric Blake  <ebb9@byu.net>
23455
23456         c-stack: test that stack overflow can be caught
23457         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
23458         that platform allows handling stack overflow; at least OS/2 EMX
23459         has sigaltstack, but crashes before transferring control to
23460         handler on stack overflow.
23461         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
23462         check for HAVE_STACK_OVERFLOW_HANDLING.
23463         Reported by Elbert Pol.
23464
23465 2008-08-25  Bruno Haible  <bruno@clisp.org>
23466
23467         * doc/posix-functions/strftime.texi: Fix description of strftime
23468         module.
23469
23470 2008-08-24  Bruno Haible  <bruno@clisp.org>
23471
23472         * tests/uniwidth/test-uc_width2.c: New file.
23473         * tests/uniwidth/test-uc_width2.sh: New file.
23474         * modules/uniwidth/width-tests (Files): Add the new files.
23475         (TESTS): Add uniwidth/test-uc_width2.sh.
23476         (TESTS_ENVIRONMENT): New variable.
23477         (check_PROGRAMS): Add test-uc_width2.
23478         (test_uc_width2_SOURCES): New variable.
23479
23480         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
23481         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
23482         not 0x00AB.
23483         Reported by Alexander V. Lukyanov <lav@netis.ru>.
23484
23485 2008-08-22  Eric Blake  <ebb9@byu.net>
23486
23487         test-lock, test-tls: mention why a test is skipped
23488         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
23489         skipped.
23490         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
23491
23492         count-one-bits: relax license
23493         * modules/count-one-bits (License): Relicense to LGPLv2+.
23494         Suggested by Ludovic Courtès, approved by Ben Pfaff.
23495
23496 2008-08-22  Andreas Schwab  <schwab@suse.de>
23497
23498         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23499         Remove spurious space in assignment.
23500
23501 2008-08-21  Simon Josefsson  <simon@josefsson.org>
23502
23503         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
23504         Paul Eggert <eggert@CS.UCLA.EDU>.
23505
23506 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
23507
23508         * modules/gettext: Add m4/threadlib.m4.
23509
23510 2008-08-19  Eric Blake  <ebb9@byu.net>
23511
23512         test-c-stack: fix compilation failure on FreeBSD 5.0
23513         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
23514         headers before <sys/resource.h>.
23515         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
23516         the bug.
23517         Reported by Nelson H. F. Beebe.
23518
23519         strverscmp: migrate from "strverscmp.h" to <string.h>
23520         * modules/string (Makefile.am): Add new hooks.
23521         * modules/strverscmp (Files): Remove strverscmp.h.
23522         (Depends-on): Add string.
23523         (configure.ac): Add indicator.
23524         (Include): Mention new header.
23525         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
23526         defaults.
23527         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
23528         results.
23529         * lib/strverscmp.h: Delete.
23530         * lib/string.in.h (strverscmp): Provide declaration, when needed.
23531         * tests/test-strverscmp.c (includes): Adjust client.
23532         * lib/check-version.c (includes): Likewise.
23533         * NEWS: Document the change.
23534
23535         strverscmp: add unit test
23536         * modules/strverscmp-tests: New file.
23537         * tests/test-strverscmp.c: Likewise.
23538
23539 2008-08-19  Simon Josefsson  <simon@josefsson.org>
23540
23541         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
23542         regarding Windows crypto stuff, from Mono.
23543
23544 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
23545
23546         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
23547         if present, for intel RND.  Return error on failures.
23548
23549 2008-08-18  Ben Pfaff  <blp@gnu.org>
23550
23551         gitlog-to-changelog: give better diagnostic for failed pipe-open
23552         * build-aux/gitlog-to-changelog: Improve error message: suggest
23553         that the version of Git may be too old.
23554
23555 2008-08-18  Simon Josefsson  <simon@josefsson.org>
23556
23557         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
23558         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
23559
23560 2008-08-18  Bruno Haible  <bruno@clisp.org>
23561
23562         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
23563         pthread_in_use().
23564
23565 2008-08-18  Bruno Haible  <bruno@clisp.org>
23566
23567         * lib/glthread/threadlib.c: Include <pthread.h>.
23568
23569 2008-08-18  Bruno Haible  <bruno@clisp.org>
23570
23571         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
23572         glthread_recursive_lock_* macros.
23573         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
23574         Fix syntax error.
23575
23576 2008-08-18  Bruno Haible  <bruno@clisp.org>
23577
23578         * lib/glthread/thread.c: Avoid forcing a context switch right after
23579         thread creation.
23580
23581 2008-08-17  Bruno Haible  <bruno@clisp.org>
23582
23583         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
23584         * lib/glthread/thread.h: Provide Win32 specific implementation.
23585         * modules/thread (Files): Add lib/glthread/thread.c.
23586         (Depends-on): Add lock.
23587         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
23588
23589 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23590
23591         New module 'yield'.
23592         * modules/yield: New file.
23593         * lib/glthread/yield.h: New file.
23594         * m4/yield.m4: New file.
23595         * MODULES.html.sh (Multithreading): Add yield.
23596
23597 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23598
23599         New module 'thread'.
23600         * modules/thread: New file.
23601         * lib/glthread/thread.h: New file.
23602         * m4/thread.m4: New file.
23603         * MODULES.html.sh (Multithreading): Add thread.
23604
23605 2008-08-17  Bruno Haible  <bruno@clisp.org>
23606
23607         * lib/glthread/lock.h: Include <stdlib.h> always.
23608         * lib/glthread/tls.h: Likewise.
23609         * lib/glthread/cond.h: Likewise.
23610
23611 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23612
23613         New module 'cond'.
23614         * modules/cond: New file.
23615         * lib/glthread/cond.h: New file.
23616         * lib/glthread/cond.c: New file.
23617         * m4/cond.m4: New file.
23618         * MODULES.html.sh (Multithreading): Add cond.
23619
23620 2008-08-16  Eric Blake  <ebb9@byu.net>
23621
23622         c-stack: fix regression on Irix 5.3 from 2008-06-21
23623         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
23624         sa_sigaction...
23625         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
23626         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
23627         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
23628         * modules/signal (Makefile.am): Use the value.
23629         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
23630         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
23631         * doc/posix-headers/signal.texi (signal.h): Document this
23632         portability issue.
23633         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
23634         Reported by Tom G. Christensen.
23635
23636 2008-08-17  Bruno Haible  <bruno@clisp.org>
23637
23638         New module 'threadlib'.
23639         * modules/threadlib: New file.
23640         * lib/glthread/threadlib.c: New file, extracted from
23641         lib/glthread/lock.c.
23642         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
23643         functions.
23644         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
23645         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
23646         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
23647         macros.
23648         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
23649         (gl_DISABLE_THREADS): Remove macro.
23650         * modules/lock (Files): Remove build-aux/config.rpath.
23651         (Depends-on): Remove havelib. Add threadlib.
23652         (configure.ac-early): Remove section.
23653         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
23654         * modules/tls (Depends-on): Remove lock. Add threadlib.
23655         (Link): New section, copied from threadlib.
23656         * MODULES.html.sh (Multithreading): Add threadlib.
23657
23658 2008-08-14  Bruno Haible  <bruno@clisp.org>
23659
23660         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
23661         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
23662         glthread_rwlock_unlock, glthread_rwlock_destroy,
23663         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
23664         glthread_recursive_lock_destroy): Define as macros always.
23665         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
23666         glthread_lock_lock.
23667         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
23668         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
23669         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
23670         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
23671         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
23672         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
23673         (glthread_recursive_lock_lock_func): Renamed from
23674         glthread_recursive_lock_lock.
23675         (glthread_recursive_lock_unlock_func): Renamed from
23676         glthread_recursive_lock_unlock.
23677         (glthread_recursive_lock_destroy_func): Renamed from
23678         glthread_recursive_lock_destroy.
23679
23680 2008-08-14  Bruno Haible  <bruno@clisp.org>
23681
23682         * lib/glthread/lock.h: Renamed from lib/lock.h.
23683         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
23684         * lib/glthread/tls.h: Renamed from lib/tls.h.
23685         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
23686         * lib/fstrcmp.c: Update includes.
23687         * lib/strsignal.c: Update includes.
23688         * modules/lock (Files, Makefile.am): Update.
23689         (Include): Change to "glthread/lock.h".
23690         * modules/tls (Files, Makefile.am): Update.
23691         (Include): Change to "glthread/tls.h".
23692         * tests/test-lock.c: Update includes.
23693         * tests/test-tls.c: Update includes.
23694         * NEWS: Mention the renamed header files.
23695
23696 2008-08-11  Jim Meyering  <meyering@redhat.com>
23697
23698         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
23699
23700 2008-08-11  Eric Blake  <ebb9@byu.net>
23701
23702         test-c-stack: avoid C99-ism
23703         * tests/test-c-stack.c (main): Fix whitespace, move declaration
23704         before statement.
23705         Reported by Alain Guibert.
23706
23707 2008-08-10  Jim Meyering  <meyering@redhat.com>
23708
23709         ensure that return value of uinttostr et al are not ignored
23710         * lib/inttostr.h (__GNUC_PREREQ): Define.
23711         (__attribute_warn_unused_result__): Define.
23712         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
23713
23714 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
23715
23716         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
23717         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
23718
23719 2008-08-07  Jim Meyering  <meyering@redhat.com>
23720
23721         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
23722
23723         * modules/mkstemp (License): Relicense under LGPLv2+.
23724         * modules/tempname (License): Likewise.
23725
23726 2008-08-06  Bruno Haible  <bruno@clisp.org>
23727
23728         * lib/poll.c (poll): Further micro-optimization.
23729
23730 2008-08-06  Jim Meyering  <meyering@redhat.com>
23731
23732         inet_pton.c: use locale-independent tolower
23733         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
23734         (inet_pton6): Use c_tolower rather than tolower.
23735         * modules/inet_pton (Depends-on): Add c-ctype.
23736
23737 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
23738
23739         * lib/poll.c (poll): Avoid division when timeout is 0, cache
23740         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
23741
23742 2008-08-06  Jim Meyering  <meyering@redhat.com>
23743
23744         * modules/inet_pton (License): Relicense under LGPLv2+.
23745
23746 2008-08-03  Bruno Haible  <bruno@clisp.org>
23747
23748         Additional non-aborting API for lock and tls.
23749         * lib/lock.h: Include <errno.h>.
23750         (glthread_lock_init): New macro/function.
23751         (gl_lock_init): Define as wrapper around glthread_lock_init.
23752         (glthread_lock_lock): New macro/function.
23753         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
23754         (glthread_lock_unlock): New macro/function.
23755         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
23756         (glthread_lock_destroy): New macro/function.
23757         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
23758         (glthread_rwlock_init): New macro/function.
23759         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
23760         (glthread_rwlock_rdlock): New macro/function.
23761         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
23762         (glthread_rwlock_wrlock): New macro/function.
23763         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
23764         (glthread_rwlock_unlock): New macro/function.
23765         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
23766         (glthread_rwlock_destroy): New macro/function.
23767         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
23768         (glthread_recursive_lock_init): New macro/function.
23769         (gl_recursive_lock_init): Define as wrapper around
23770         glthread_recursive_lock_init.
23771         (glthread_recursive_lock_lock): New macro/function.
23772         (gl_recursive_lock_lock): Define as wrapper around
23773         glthread_recursive_lock_lock.
23774         (glthread_recursive_lock_unlock): New macro/function.
23775         (gl_recursive_lock_unlock): Define as wrapper around
23776         glthread_recursive_lock_unlock.
23777         (glthread_recursive_lock_destroy): New macro/function.
23778         (gl_recursive_lock_destroy): Define as wrapper around
23779         glthread_recursive_lock_destroy.
23780         (glthread_once): New macro/function.
23781         (gl_once): Define as wrapper around glthread_once.
23782         Update function declarations.
23783         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
23784         glthread_rwlock_init. Return error code.
23785         (glthread_rwlock_rdlock_multithreaded): Renamed from
23786         glthread_rwlock_rdlock. Return error code.
23787         (glthread_rwlock_wrlock_multithreaded): Renamed from
23788         glthread_rwlock_wrlock. Return error code.
23789         (glthread_rwlock_unlock_multithreaded): Renamed from
23790         glthread_rwlock_unlock. Return error code.
23791         (glthread_rwlock_destroy_multithreaded): Renamed from
23792         glthread_rwlock_destroy. Return error code.
23793         (glthread_recursive_lock_init_multithreaded): Renamed from
23794         glthread_recursive_lock_init. Return error code.
23795         (glthread_recursive_lock_lock_multithreaded): Renamed from
23796         glthread_recursive_lock_lock. Return error code.
23797         (glthread_recursive_lock_unlock_multithreaded): Renamed from
23798         glthread_recursive_lock_unlock. Return error code.
23799         (glthread_recursive_lock_destroy_multithreaded): Renamed from
23800         glthread_recursive_lock_destroy. Return error code.
23801         (glthread_once_call): Make static.
23802         (glthread_once_multithreaded): Renamed from glthread_once.
23803         * lib/tls.h: Include <errno.h>.
23804         (glthread_tls_key_init): New macro/function.
23805         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
23806         (glthread_tls_set): New macro/function.
23807         (gl_tls_set): Define as wrapper around glthread_tls_set.
23808         (glthread_tls_key_destroy): New macro/function.
23809         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
23810         Update function declarations.
23811         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
23812         glthread_tls_get.
23813         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23814
23815 2008-08-04  Eric Blake  <ebb9@byu.net>
23816
23817         gnumakefile: use space, not TAB, outside of targets
23818         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
23819
23820 2008-08-02  Jim Meyering  <meyering@redhat.com>
23821
23822         getdate.y: avoid locale-dependent date parsing failure
23823         In Turkish locales, getdate would fail to recognize keywords
23824         containing a lowercase "i".  The solution is not to rely on
23825         locale-sensitive case-conversion.
23826         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
23827         (lookup_word): Use c_toupper in place of toupper.
23828         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
23829         Reported by Vefa Bicakci <bicave@superonline.com> in
23830         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
23831         * modules/getdate (Depends-on): Add c-ctype.
23832
23833 2008-08-02  Bruno Haible  <bruno@clisp.org>
23834
23835         * gnulib-tool (func_import): When updating or creating a .gitignore
23836         file, prepend each added line with a slash, and ignore leading slashes
23837         from the existing lines.
23838         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
23839
23840 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23841
23842         Portability fix for GNU make 3.79.1.
23843         * top/GNUmakefile: Avoid 'else COND', which older GNU make
23844         versions do not understand.
23845
23846 2008-08-01  Bruno Haible  <bruno@clisp.org>
23847
23848         Work around bug of HP-UX 10.20 cc with -0.0 literal.
23849         * tests/test-isnanf.h (zero): New variable.
23850         (main): Avoid literal -0.0f.
23851         * tests/test-isnand.h (zero): New variable.
23852         (main): Avoid literal -0.0.
23853         * tests/test-isnanl.h (zero): New variable.
23854         (main): Avoid literal -0.0L.
23855         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
23856         (test_float, test_double, test_long_double): Avoid literals -0.0f,
23857         -0.0, -0.0L.
23858         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
23859         (test_signbitd): Avoid literal -0.0.
23860         (test_signbitl): Avoid literal -0.0L.
23861         * tests/test-ceilf1.c (zero): New variable.
23862         (main): Avoid literal -0.0f.
23863         * tests/test-ceill.c (zero): New variable.
23864         (main): Avoid literal -0.0L.
23865         * tests/test-floorf1.c (zero): New variable.
23866         (main): Avoid literal -0.0f.
23867         * tests/test-floorl.c (zero): New variable.
23868         (main): Avoid literal -0.0L.
23869         * tests/test-roundf1.c (zero): New variable.
23870         (main): Avoid literal -0.0f.
23871         * tests/test-round1.c (zero): New variable.
23872         (main): Avoid literal -0.0.
23873         * tests/test-roundl.c (zero): New variable.
23874         (main): Avoid literal -0.0L.
23875         * tests/test-truncf1.c (zero): New variable.
23876         (main): Avoid literal -0.0f.
23877         * tests/test-trunc1.c (zero): New variable.
23878         (main): Avoid literal -0.0.
23879         * tests/test-truncl.c (zero): New variable.
23880         (main): Avoid literal -0.0L.
23881         * tests/test-frexp.c (zero): New variable.
23882         (main): Avoid literal -0.0.
23883         * tests/test-frexpl.c (zero): New variable.
23884         (main): Avoid literal -0.0L.
23885         * tests/test-ldexpl.c (zero): New variable.
23886         (main): Avoid literal -0.0L.
23887         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
23888         (zerod, zerol): New variables.
23889         (test_function): Avoid literals -0.0, -0.0L.
23890         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
23891         (zerod, zerol): New variables.
23892         (test_function): Avoid literals -0.0, -0.0L.
23893         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
23894         (zerod, zerol): New variables.
23895         (test_function): Avoid literals -0.0, -0.0L.
23896         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
23897         (zerod, zerol): New variables.
23898         (test_function): Avoid literals -0.0, -0.0L.
23899         * tests/test-strtod.c (zero): New variable.
23900         (main): Avoid literal -0.0.
23901         Reported by Jonathan C. Patschke <jp@centtech.com>.
23902
23903 2008-07-31  Jim Meyering  <meyering@redhat.com>
23904
23905         sha256.h: correct definition of SHA224_DIGEST_SIZE
23906         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
23907         Reported by Paulie Pena IV <paulie4@gmail.com>.
23908         Define as 224 / 8, rather than as a literal.
23909         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
23910         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
23911         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
23912
23913 2008-07-31  Bruno Haible  <bruno@clisp.org>
23914
23915         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
23916         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
23917         Reported by Jonathan Patschke <jp@centtech.com>.
23918
23919 2008-07-31  Bruno Haible  <bruno@clisp.org>
23920
23921         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
23922         Reported by Paolo Bonzini <bonzini@gnu.org>.
23923
23924 2008-07-30  Eric Blake  <ebb9@byu.net>
23925
23926         test-strtod: allow compilation without -lm
23927         * tests/test-strtod.c (main): Avoid link dependence on fabs.
23928         Reported by Dennis Clarke <blastwave@gmail.com>.
23929
23930 2008-07-28  Jim Meyering  <meyering@redhat.com>
23931
23932         bootstrap: work also when there are no .po files in po/
23933         * build-aux/bootstrap (update_po_files): Complete the change
23934         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
23935
23936 2008-07-27  Jim Meyering  <meyering@redhat.com>
23937
23938         * users.txt: Add zile.
23939
23940 2008-07-26  Ben Pfaff  <blp@gnu.org>
23941
23942         Add missing dependencies on new m4/exponent[fdl].m4 files.
23943         * modules/isnanf-nolibm: Add m4/exponentf.m4.
23944         * modules/isnand-nolibm: Add m4/exponentd.m4.
23945         * modules/isnanl-nolibm: Add m4/exponentl.m4.
23946         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
23947         m4/isnan[fdl].m4, because the macros actually used moved.
23948         Reported by Jim Meyering.
23949
23950 2008-07-14  Ben Pfaff  <blp@gnu.org>
23951
23952         Add isinf module.
23953         * lib/isinf.c: New file.
23954         * lib/math.in.h: Define isinf macro if we have decided to replace
23955         it.
23956         * m4/isinf.m4: New file.
23957         * m4/math_h.m4: Initialize and substitute variables for isinf
23958         module.
23959         * modules/isinf: New file.
23960         * modules/isinf-tests: New file.
23961         * modules/math: Add substitutions for new module.
23962         * tests/test-isinf.c: New file.
23963         * doc/posix-functions/isinf.texi: Mention new module.
23964         * MODULES.html.sh: Mention new module.
23965
23966 2008-07-14  Ben Pfaff  <blp@gnu.org>
23967
23968         Factor out some macros for use by additional modules.
23969         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
23970         exponentf.m4.
23971         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
23972         exponentd.m4.
23973         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
23974         file exponentl.m4.
23975         * m4/exponentf.m4: New file.
23976         * m4/exponentd.m4: New file.
23977         * m4/exponentl.m4: New file.
23978         * modules/isnanf: Use new file m4/exponentf.m4.
23979         * modules/isnand: Use new file m4/exponentd.m4.
23980         * modules/isnanl: Use new file m4/exponentl.m4.
23981
23982 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
23983
23984         mktime.c: normalize tp->tm_isdst value to -1/0/1.
23985         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
23986         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
23987         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
23988
23989         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
23990         readlink on platforms without PATH_MAX.
23991
23992 2008-07-21  Eric Blake  <ebb9@byu.net>
23993
23994         Warn, not fail, on stale version.
23995         * top/GNUmakefile (_curr-ver): Tone down previous patch.
23996
23997         Don't allow installation with stale devel version number.
23998         * top/GNUmakefile (_is-install-target): New macro.
23999         (_curr-ver): Forbid installation with stale version number.
24000
24001 2008-07-20  Bruno Haible  <bruno@clisp.org>
24002
24003         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
24004         TESTS_ENVIRONMENT.
24005         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
24006
24007 2008-07-20  Bruno Haible  <bruno@clisp.org>
24008
24009         * lib/c-stack.h (c_stack_action): Add documentation.
24010         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
24011
24012 2008-07-20  Bruno Haible  <bruno@clisp.org>
24013
24014         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
24015         * modules/readlink (License): Likewise.
24016
24017 2008-07-17  Eric Blake  <ebb9@byu.net>
24018
24019         * modules/c-stack (Link): Fix typo.
24020
24021         Make c-stack use libsigsegv, when available.
24022         * modules/c-stack (Depends-on): Add libsigsegv.
24023         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
24024         needed.
24025         * lib/c-stack.c (SIGSTKSZ): Define fallback.
24026         (segv_handler, overflow_handler, c_stack_action)
24027         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
24028         implementation when libsigsegv is available, but only when using
24029         the library is necessary.
24030         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
24031         comment, explaining why XSI check fails on Linux.
24032         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
24033         * tests/test-c-stack2.sh: Tweak skip message.
24034         * NEWS: Document new link-time requirements.
24035
24036 2008-07-16  Eric Blake  <ebb9@byu.net>
24037
24038         c-stack: Expose false positives when not using libsigsegv.
24039         * modules/c-stack-tests (Files): Expand test.
24040         * tests/test-c-stack.c (main): Add means to conditionally trigger
24041         non-overflow SIGSEGV.
24042         * tests/test-c-stack2.sh: New file.
24043
24044 2008-07-14  Bruno Haible  <bruno@clisp.org>
24045
24046         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
24047         Reported by Eric Blake.
24048
24049 2008-07-14  Sam Steingold  <sds@gnu.org>
24050             Bruno Haible  <bruno@clisp.org>
24051
24052         New module libsigsegv.
24053         * modules/libsigsegv: New file.
24054         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
24055         modifications.
24056         * MODULES.html.sh (Signal handling): New section.
24057
24058 2008-07-14  Bruno Haible  <bruno@clisp.org>
24059
24060         * modules/unictype/ctype-* (Description): Add the word "function".
24061         Improves the resulting doc in MODULES.html.
24062
24063 2008-07-12  Ben Pfaff  <blp@gnu.org>
24064
24065         Add longlong module.
24066         * modules/longlong: New file.
24067
24068 2008-07-12  Bruno Haible  <bruno@clisp.org>
24069
24070         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
24071         to empty.
24072
24073 2008-07-10  Ben Pfaff  <blp@gnu.org>
24074
24075         Add isnan module.
24076         * doc/posix-functions/isnan.texi: Mention new module.
24077         * lib/math.in.h: Define isnan macro if we have decided to replace
24078         it.
24079         * m4/isnan.m4: New file.
24080         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
24081         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
24082         also.
24083         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
24084         redundancy.
24085         * m4/math_h.m4: Initialize and substitute variables for isnan
24086         module.
24087         * modules/isnan: New file.
24088         * modules/isnan-tests: New file.
24089         * modules/math: Add substitutions for new module.
24090         * tests/test-isnan.c: New file.
24091         * MODULES.html.sh: Mention new module.
24092
24093 2008-07-10  Ben Pfaff  <blp@gnu.org>
24094
24095         Add isnanf module.
24096         * lib/isnanf.m4: New file.
24097         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
24098         (gl_HAVE_ISNANF_IN_LIBM): New macro.
24099         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
24100         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
24101         * modules/isnanf: New file.
24102         * modules/isnanf-tests: New file.
24103         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
24104         files.
24105         * tests/test-isnanf-nolibm.c: factored most of its contents into
24106         new file tests/test-isnanf.h.
24107         * tests/test-isnanf.h: New file.
24108         * tests/test-isnanf.c: New file.
24109         * MODULES.html.sh: Mention new module.
24110         * doc/glibc-functions/isnanf.texi: Mention new module.
24111
24112 2008-07-10  Ben Pfaff  <blp@gnu.org>
24113
24114         Add isnand module.
24115         * lib/isnand.h: New file.
24116         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
24117         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
24118         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
24119         functionality also.
24120         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
24121         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
24122         (gl_HAVE_ISNAND_IN_LIBM): New macro.
24123         * modules/isnand: New file.
24124         * modules/isnand-tests: New file.
24125         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
24126         files.
24127         * tests/test-isnand-nolibm.c: factored most of its contents into
24128         new file tests/test-isnand.h.
24129         * tests/test-isnand.h: New file.
24130         * tests/test-isnand.c: New file.
24131         * MODULES.html.sh: Mention new module.
24132
24133 2008-07-10  Ben Pfaff  <blp@gnu.org>
24134
24135         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
24136         * lib/isnand.h: Rename lib/isnand-nolibm.h.
24137         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
24138         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
24139         * modules/isnanf-nolibm: Update references to renamed files.
24140         * modules/isnand-nolibm: Likewise.
24141         * modules/isnanf-nolibm-tests: Likewise.
24142         * modules/isnand-nolibm-tests: Likewise.
24143         * lib/frexp.c: Likewise.
24144         * lib/isfinite.c: Likewise.
24145         * lib/signbitd.c: Likewise.
24146         * lib/signbitf.c: Likewise.
24147         * lib/vasnprintf.c: Likewise.
24148         * tests/test-ceilf1.c: Likewise.
24149         * tests/test-ceilf2.c: Likewise.
24150         * tests/test-floorf1.c: Likewise.
24151         * tests/test-floorf2.c: Likewise.
24152         * tests/test-frexp.c: Likewise.
24153         * tests/test-round1.c: Likewise.
24154         * tests/test-round2.c: Likewise.
24155         * tests/test-roundf1.c: Likewise.
24156         * tests/test-strtod.c: Likewise.
24157         * tests/test-trunc1.c: Likewise.
24158         * tests/test-trunc2.c: Likewise.
24159         * tests/test-truncf1.c: Likewise.
24160         * tests/test-truncf2.c: Likewise.
24161         * NEWS: Mention the renamed header files.
24162
24163 2008-07-11  Jim Meyering  <meyering@redhat.com>
24164
24165         vc-list-files: make the last-resort awk code more portable
24166         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
24167         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
24168         does not support it.
24169
24170 2008-07-10  Eric Blake  <ebb9@byu.net>
24171
24172         Work with tar's bootstrap.
24173         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
24174         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
24175         an m4 comment.
24176
24177 2008-07-09  Jim Meyering  <meyering@redhat.com>
24178
24179         posix-shell.m4: fix typo that made this test malfunction
24180         * m4/posix-shell.m4: Remove capitalization in variable name.
24181
24182 2008-07-08  Bruno Haible  <bruno@clisp.org>
24183
24184         * m4/onceonly.m4: Update comments.
24185         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24186
24187 2008-07-04  Jim Meyering  <meyering@redhat.com>
24188
24189         * users.txt: Add vc-dwim.
24190         (bison, coreutils): Use the gitweb URL.
24191
24192 2008-07-03  Jim Meyering  <meyering@redhat.com>
24193
24194         * users.txt: Add libffcall.  From Sam Steingold.
24195
24196 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
24197
24198         getdate.y: do not ignore TZ with relative day, month or year offset
24199         * lib/getdate.y (get_date): Move the tz-handling block to follow the
24200         relative-date-handling, since otherwise, the latter would clobber the
24201         sole output (an updated Start value) of the tz-handling block.
24202         * tests/test-getdate.c: Tests for the fix
24203
24204 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24205
24206         Recognize 'foo_LIBRARIES += libgnu.a'.
24207         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
24208         makefile snippet has already specified an installation location,
24209         also using '+='.
24210
24211 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
24212
24213         getdate.y: factor out common actions
24214         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
24215         Use them in place of open-coded actions.
24216
24217 2008-07-01  Simon Josefsson  <simon@josefsson.org>
24218
24219         Add self-test for getdate module.
24220         * modules/getdate-tests: New file.
24221         * tests/test-getdate.c: New file.
24222
24223 2008-06-29  Bruno Haible  <bruno@clisp.org>
24224
24225         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
24226         .gitignore.
24227         Reported by Sylvain Beucler <beuc@beuc.net>.
24228
24229 2008-06-29  Bruno Haible  <bruno@clisp.org>
24230
24231         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
24232         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
24233
24234 2008-06-29  Bruno Haible  <bruno@clisp.org>
24235
24236         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
24237         EXTRA_DIST.
24238         Reported by Sylvain Beucler <beuc@beuc.net>.
24239
24240 2008-06-26  Jim Meyering  <meyering@redhat.com>
24241
24242         make several modules depend on the "open" module
24243         This provides slightly increased consistency when opening-for-write
24244         the name of a non-directory spelled with a trailing slash.
24245         * modules/chdir-safer: Likewise.
24246         * modules/chown: Likewise.
24247         * modules/clean-temp: Likewise.
24248         * modules/copy-file: Likewise.
24249         * modules/fchdir: Likewise.
24250         * modules/fcntl-safer: Likewise.
24251         * modules/pipe: Likewise.
24252         * modules/utime: Likewise.
24253         Prompted by Eric Blake and Bruno Haible.
24254
24255 2008-06-24  Andreas Schwab  <schwab@suse.de>
24256
24257         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
24258         literals can be used as initializers for global variables.
24259
24260 2008-06-23  Eric Blake  <ebb9@byu.net>
24261
24262         Make gnulib-cache.m4 easier to diff.
24263         * gnulib-tool (func_import): Allow newlines when reading cached
24264         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
24265
24266 2008-06-23  Bruno Haible  <bruno@clisp.org>
24267
24268         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
24269         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
24270         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
24271         m4/signalblocking.m4.
24272         (gl_PREREQ_SIGACTION): Don't invoke it.
24273         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
24274         gl_PREREQ_SIG_HANDLER_H.
24275         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24276         Don't check for sigaction here.
24277
24278 2008-06-23  Bruno Haible  <bruno@clisp.org>
24279
24280         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
24281         (install_handlers): Don't set the SA_RESETHAND flag.
24282
24283 2008-06-23  Bruno Haible  <bruno@clisp.org>
24284
24285         * m4/sigaction.m4: Comment fixes.
24286         * lib/signal.in.h: Likewise.
24287
24288 2008-06-23  Eric Blake  <ebb9@byu.net>
24289
24290         Fix typo.
24291         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
24292
24293         Avoid SA_ namespace.
24294         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
24295         Reported by Ralf Wildenhues.
24296
24297         Avoid test failure due to SA_RESTORER.
24298         * tests/test-sigaction.c (SA_MASK): New macro.
24299         (main): Avoid failing due to extension flags being set.
24300         Reported by Jim Meyering.
24301
24302         Revert use of sig-handler.h in sigprocmask.c.
24303         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
24304         it requires the existence of struct sigaction.
24305         * lib/sigprocmask.c (handler_t): Restore typedef.
24306         (rpl_signal, old_handlers): Use local type.
24307
24308 2008-06-22  Bruno Haible  <bruno@clisp.org>
24309
24310         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
24311         conditionally.
24312         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24313
24314 2008-06-22  Bruno Haible  <bruno@clisp.org>
24315
24316         * doc/posix-functions/siginterrupt.texi: Move note.
24317
24318         * lib/signal.in.h (SA_RESTART): New macro.
24319         * lib/sigaction.c: Update comment.
24320
24321         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
24322
24323         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
24324         (gl_PREREQ_SIGPROCMASK): Invoke it.
24325         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
24326
24327         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
24328
24329         * lib/sigprocmask.c: Update a comment.
24330
24331 2008-06-21  Eric Blake  <ebb9@byu.net>
24332
24333         Use sigaction module rather than signal().
24334         * modules/c-stack (Depends-on): Add sigaction.
24335         * modules/fatal-signal (Depends-on): Likewise.
24336         * modules/nanosleep (Depends-on): Likewise.
24337         * modules/sigprocmask (Files): Add sig-handler.h.
24338         * modules/sigaction (Files): Likewise.
24339         * lib/sig-handler.h (get_handler): New file, suggested by Paul
24340         Eggert.
24341         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
24342         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
24343         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24344         (init_fatal_signals): Likewise.
24345         * lib/nanosleep.c (rpl_nanosleep): Likewise.
24346         (siginterrupt): Delete fallback.
24347         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
24348         instead.
24349         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
24350         siginterrupt.
24351
24352         New module sigaction, for mingw.
24353         * modules/sigaction: New module...
24354         * modules/sigaction-tests: ...and its test.
24355         * m4/sigaction.m4: New file.
24356         * lib/sigaction.c: Likewise.
24357         * tests/test-sigaction.c: Likewise.
24358         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
24359         * modules/signal (Makefile.am): Likewise.
24360         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
24361         needed.
24362         * doc/posix-headers/signal.texi (signal.h): Mention provided
24363         types.
24364         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
24365         that sigaction is preferable.
24366         * doc/posix-functions/sigaction.texi (sigaction): Mention new
24367         module.
24368         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24369         sigaction.
24370
24371         Improve robustness of sigprocmask by overriding signal.
24372         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
24373         is in use.
24374         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
24375         (SIGKILL, SIGSTOP): Provide fallbacks.
24376         (rpl_signal): Implement.
24377         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
24378         signal can be called inside handlers.
24379
24380         Fix nanosleep module on mingw.
24381         * modules/nanosleep (Depends-on): Add sys_select.
24382         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
24383
24384         Fix licensing of sigprocmask.
24385         * modules/raise (License): Relicense as LGPL.
24386
24387 2008-06-21  Bruno Haible  <bruno@clisp.org>
24388
24389         * lib/propername.c (proper_name_utf8): Don't use the transliterated
24390         result if it contains question marks.
24391         Reported by Michael Geng <linux@michaelgeng.de>.
24392
24393 2008-06-19  Bruno Haible  <bruno@clisp.org>
24394
24395         Fix CVS-ism.
24396         * doc/gnulib.texi: Include updated-stamp.texi.
24397         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
24398         (updated-stamp.texi): New rule.
24399         (gnulib.info): Depend on it.
24400         * doc/.gitignore: Add updated-stamp.texi.
24401         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
24402
24403 2008-06-19  Bruno Haible  <bruno@clisp.org>
24404
24405         * doc/Makefile (gnulib.info): Update and simplify dependencies.
24406         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24407
24408 2008-06-19  Eric Blake  <ebb9@byu.net>
24409
24410         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
24411         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
24412         Reported by Stepan Kasal.
24413
24414 2008-06-18  Bruno Haible  <bruno@clisp.org>
24415
24416         * lib/fatal-signal.c (init_fatal_signals): Add comment.
24417         Reported by Eric Blake.
24418
24419 2008-06-18  Eric Blake  <ebb9@byu.net>
24420
24421         Work around cygwin 1.5.25 strsignal bug.
24422         * tests/test-strsignal.c: Allow for const char *.
24423         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
24424
24425 2008-06-18  Simon Josefsson  <simon@josefsson.org>
24426
24427         * users.txt: Update URL to article and add author/date
24428         information.
24429
24430 2008-06-17  Bruno Haible  <bruno@clisp.org>
24431
24432         New macro gl_DISABLE_THREADS.
24433         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
24434         if the user did not pass --enable-threads or --disable-threads option.
24435         (gl_DISABLE_THREADS): New macro.
24436         Reported by Eric Blake <ebb9@byu.net>.
24437
24438 2008-06-17  Bruno Haible  <bruno@clisp.org>
24439
24440         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
24441         when the macro ignores it.
24442         Based on a patch by Eric Blake <ebb9@byu.net>.
24443
24444 2008-06-17  Bruno Haible  <bruno@clisp.org>
24445
24446         * modules/tls (License): Change to LGPLv2+.
24447         Reported by Eric Blake.
24448
24449 2008-06-17  Eric Blake  <ebb9@byu.net>
24450
24451         Simplify c-stack prerequisites.
24452         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
24453         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
24454         no longer requires <ucontext.h> to exist.  Optimize setrlimit
24455         check.
24456         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
24457         <sys/resource.h>.
24458
24459         Move c-stack test into testsuite.
24460         * modules/c-stack-tests: New file.
24461         * lib/c-stack.c [DEBUG]: Move test program...
24462         * tests/test-c-stack.c: ...into this new file.  Skip rather than
24463         fail test if sigaltstack is lacking.
24464         * tests/test-c-stack.sh: New driver file.
24465
24466 2008-06-16  Eric Blake  <ebb9@byu.net>
24467
24468         Use raise module consistently.
24469         * modules/fatal-signal (Depends-on): Add raise.
24470         * modules/sigprocmask (Depends-on): Likewise.
24471         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
24472         * lib/sigprocmask.c (sigprocmask): Likewise.
24473         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24474         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
24475
24476         Fix compliance bug in sigpending.
24477         * lib/sigprocmask.c (sigpending): Return pending array via
24478         parameter, not return value.
24479
24480 2008-06-14  Eric Blake  <ebb9@byu.net>
24481
24482         Improve obstack-printf test code.
24483         * tests/test-obstack-printf.c (test_function): Fix comment, and
24484         simplify usage of obstack_* in macros.  Add a test for coverage.
24485         Reported by Bruno Haible.
24486
24487 2008-06-14  Bruno Haible  <bruno@clisp.org>
24488
24489         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
24490         array size as a constant, not as a const variable.
24491         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
24492         AC_USE_SYSTEM_EXTENSIONS.
24493         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24494         Test whether the obstack_printf function actually exists.
24495         * modules/obstack-printf (Depends-on): Add extensions.
24496         (Include): Remove obstack.h.
24497         * modules/obstack-printf-posix (Depends-on): Add extensions.
24498         (Include): Remove obstack.h.
24499
24500 2008-06-13  Eric Blake  <ebb9@byu.net>
24501
24502         Add obstack-printf and obstack-printf-posix modules.
24503         * modules/obstack-printf: New file.
24504         * modules/obstack-printf-posix: Likewise.
24505         * MODULES.html.sh (Misc): Mention them.
24506         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
24507         Likewise.
24508         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
24509         Likewise.
24510         * modules/stdio (Makefile.am): Accomodate new modules.
24511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24512         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
24513         Declare.
24514         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
24515         functions.
24516         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
24517         (gl_REPLACE_OBSTACK_PRINTF): New macros
24518         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
24519         * tests/test-obstack-printf.c: New file.
24520         * modules/obstack-printf-tests: Likewise.
24521         * modules/obstack-printf-posix-tests: Likewise.
24522
24523 2008-06-11  Bruno Haible  <bruno@clisp.org>
24524
24525         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
24526         * lib/open.c: Include errno.h.
24527         (open): Fail when attempting to write to a file that has a trailing
24528         slash.
24529         * tests/test-open.c (main): Test against trailing slash bug.
24530         * doc/posix-functions/open.texi: Mention the trailing slash bug.
24531
24532 2008-06-10  Bruno Haible  <bruno@clisp.org>
24533
24534         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
24535         for $? to work inside the trap command, with various /bin/sh-s.
24536         * tests/test-vc-list-files-cvs.sh: Likewise.
24537
24538 2008-06-10  Bruno Haible  <bruno@clisp.org>
24539
24540         * lib/acl-internal.h: Don't include gettext.h here.
24541         * lib/set-mode-acl.c: Include gettext.h here.
24542         * lib/copy-acl.c: Likewise.
24543
24544 2008-06-10  Bruno Haible  <bruno@clisp.org>
24545
24546         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
24547         * lib/wait-process.c (wait_subprocess): Likewise.
24548         * lib/execute.h (execute): Add termsigp argument.
24549         * lib/execute.c (execute): Likewise.
24550         * lib/csharpcomp.c (compile_csharp_using_pnet,
24551         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
24552         * lib/csharpexec.c (execute_csharp_using_pnet,
24553         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
24554         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
24555         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
24556         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
24557         is_jikes_present): Update.
24558         * lib/javaexec.c (execute_java_class): Update.
24559         * lib/javaversion.c (execute_and_read_line): Update.
24560         * NEWS: Document the changes.
24561         Reported by Eric Blake.
24562
24563 2008-06-10  Eric Blake  <ebb9@byu.net>
24564
24565         Add missing include.
24566         * tests/test-strstr.c (includes): Add <signal.h>.
24567         * tests/test-strcasestr.c (includes): Likewise.
24568         * tests/test-memmem.c (includes): Likewise.
24569
24570 2008-06-10  Bruno Haible  <bruno@clisp.org>
24571
24572         * lib/wait-process.c (wait_subprocess): Add an assertion.
24573
24574 2008-06-10  Bruno Haible  <bruno@clisp.org>
24575
24576         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
24577
24578 2008-06-10  Bruno Haible  <bruno@clisp.org>
24579
24580         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
24581         using alarm().
24582         * tests/test-strcasestr.c (main): Likewise.
24583         * tests/test-strstr.c (main): Likewise.
24584
24585 2008-06-09  Bruno Haible  <bruno@clisp.org>
24586
24587         Work around the Solaris 10 ACE ACLs ABI change.
24588         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
24589         declare if ACL_NO_TRIVIAL is present.
24590         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
24591         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
24592         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
24593         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
24594         define if ACL_NO_TRIVIAL is present.
24595         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
24596         and use the current ABI.
24597         (file_has_acl): Use same #if condition as elsewhere.
24598         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
24599         in use, and use the current ABI.
24600         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
24601         Reported by Jim Meyering.
24602
24603 2008-06-09  Eric Blake  <ebb9@byu.net>
24604
24605         Work around environments that (stupidly) ignore SIGALRM.
24606         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
24607         before using alarm().
24608         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24609         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24610         Reported by Ian Beckwith <ianb@erislabs.net>.
24611
24612         Produce autobuild blurb earlier in log.
24613         * modules/autobuild (configure.ac-early): Move AB_INIT here.
24614
24615 2008-06-09  Jim Meyering  <meyering@redhat.com>
24616         and Ondřej Vašík  <ovasik@redhat.com>
24617
24618         utimens.c: correct kernel bug work-around
24619         Ondřej Vašík found that the invalid return value of 280 indicates
24620         failure, not success, and the kernel bug we're trying to work
24621         around affects not just the utimensat call, but also the fallback
24622         futimens call.
24623         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
24624         not success.
24625         [HAVE_FUTIMENS]: Use the same work-around, here.
24626
24627 2008-06-09  Jim Meyering  <meyering@redhat.com>
24628
24629         add more guards around definition of ACE_-related code
24630         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
24631         ALLOW and ACE_OWNER are also defined.
24632
24633 2008-06-08  Bruno Haible  <bruno@clisp.org>
24634
24635         * lib/acl-internal.h: Add me as co-author.
24636         * lib/file-has-acl.c: Likewise.
24637         * lib/set-mode-acl.c: Likewise.
24638         * lib/copy-acl.c: Likewise.
24639
24640 2008-06-08  Bruno Haible  <bruno@clisp.org>
24641
24642         Add support for AIX ACLs.
24643         * lib/acl-internal.h (acl_nontrivial): New declaration.
24644         * lib/file-has-acl.c (acl_nontrivial): New function.
24645         (file_has_acl): Add implementation using AIX 4 ACL API.
24646         * lib/set-mode-acl.c (qset_acl): Likewise.
24647         * lib/copy-acl.c (qcopy_acl): Likewise.
24648
24649 2008-06-08  Bruno Haible  <bruno@clisp.org>
24650
24651         Add support for HP-UX ACLs.
24652         * lib/acl-internal.h (acl_nontrivial): New declaration.
24653         * lib/file-has-acl.c (acl_nontrivial): New function.
24654         (file_has_acl): Add implementation using HP-UX 11 ACL API.
24655         * lib/set-mode-acl.c (qset_acl): Likewise.
24656         * lib/copy-acl.c (qcopy_acl): Likewise.
24657
24658 2008-06-08  Bruno Haible  <bruno@clisp.org>
24659
24660         Add support for Cygwin ACLs.
24661         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
24662         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
24663         the chmod_or_fchmod call.
24664         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
24665
24666 2008-06-08  Bruno Haible  <bruno@clisp.org>
24667
24668         Fix bug with setuid modes in Solaris 10+ code.
24669         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
24670         succeeded, when the mode contains some special bits.
24671
24672 2008-06-08  Bruno Haible  <bruno@clisp.org>
24673
24674         Add support for Solaris 7..10 ACLs.
24675         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
24676         declarations.
24677         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
24678         functions.
24679         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
24680         * lib/set-mode-acl.c (qset_acl): Likewise.
24681         * lib/copy-acl.c (qcopy_acl): Likewise.
24682
24683 2008-06-08  Bruno Haible  <bruno@clisp.org>
24684
24685         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
24686         declaration.
24687         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
24688         (acl_access_nontrivial): Remove MacOS X case.
24689         (file_has_acl): Use acl_extended_nontrivial.
24690         * lib/copy-acl.c (qcopy_acl): Likewise.
24691
24692 2008-06-08  Bruno Haible  <bruno@clisp.org>
24693
24694         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
24695
24696 2008-06-08  Jim Meyering  <meyering@redhat.com>
24697
24698         * modules/acl (Maintainer): Add Bruno Haible.
24699
24700 2008-06-07  Bruno Haible  <bruno@clisp.org>
24701
24702         Improve support for Tru64 ACLs.
24703         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
24704         ACL on OSF/1.
24705
24706 2008-06-07  Bruno Haible  <bruno@clisp.org>
24707
24708         Add support for MacOS X ACLs.
24709         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
24710         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
24711         * lib/set-mode-acl.c (qset_acl): Likewise.
24712         * lib/copy-acl.c (qcopy_acl): Likewise.
24713
24714 2008-06-07  Bruno Haible  <bruno@clisp.org>
24715
24716         Fix memory leak introduced on 2008-05-22.
24717         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
24718         use.
24719
24720 2008-06-07  Bruno Haible  <bruno@clisp.org>
24721
24722         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
24723         to construct an empty ACL.
24724
24725 2008-06-07  Bruno Haible  <bruno@clisp.org>
24726
24727         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
24728         precisely.
24729         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
24730
24731 2008-06-07  Bruno Haible  <bruno@clisp.org>
24732
24733         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
24734         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
24735
24736 2008-06-07  Bruno Haible  <bruno@clisp.org>
24737
24738         * doc/posix-functions/_setjmp.texi: Explain the use of this function
24739         regardless of POSIX.
24740         * doc/posix-functions/_longjmp.texi: Likewise.
24741         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
24742         SystemV platform in this case.
24743
24744 2008-06-06  Eric Blake  <ebb9@byu.net>
24745
24746         Document abort() bugs.
24747         * doc/posix-functions/abort.texi (abort): Mention anomalies.
24748
24749         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
24750         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
24751         sigsetjmp.
24752         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
24753         siglongjmp, but only as a macro.
24754         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
24755         is obsolete.
24756         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
24757
24758         Tweak documentation to cover cygwin argz bugs.
24759         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
24760         argz bug fix; no code change needed since no cygwin releases
24761         occurred between the last fix and the bug being tested.
24762         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
24763         module and recently fixed cygwin bugs.
24764         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
24765         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
24766         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
24767         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
24768         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
24769         Likewise.
24770         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
24771         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
24772         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
24773         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
24774         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
24775         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
24776         Likewise.
24777
24778         Avoid gcc warning on cygwin.
24779         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
24780         !ACL_NO_TRIVIAL]: Avoid unused variable.
24781
24782 2008-06-05  Eric Blake  <ebb9@byu.net>
24783
24784         Be tolerant of UNKNOWN version in gnulib-tool test dir.
24785         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
24786         git-version-gen fails to come up with a version.
24787         Reported by Simon Josefsson.
24788
24789 2008-06-05  Jim Meyering  <meyering@redhat.com>
24790             Paul Eggert  <eggert@cs.ucla.edu>
24791
24792         utimens.c: work around a probable Linux kernel bug
24793         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
24794         appears to be a kernel bug that causes utimensat to return 280
24795         instead of 0, indicating success.
24796
24797 2008-06-04  Bruno Haible  <bruno@clisp.org>
24798
24799         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
24800         2008-06-01 commit.
24801
24802 2008-06-04  Bruno Haible  <bruno@clisp.org>
24803
24804         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
24805         * lib/file-has-acl.c (acl_access_nontrivial): New function.
24806         (file_has_acl): Use it. Save errno afterwards.
24807         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
24808
24809 2008-06-03  Bruno Haible  <bruno@clisp.org>
24810
24811         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
24812         draft code. Simplify #ifs.
24813         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
24814         Put Solaris code after POSIX-draft code. Fix comments regarding
24815         Solaris 10, HP-UX. Mention Cygwin.
24816         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
24817
24818 2008-06-03  Eric Blake  <ebb9@byu.net>
24819
24820         Provide fallback for older kernels.
24821         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
24822         Provide runtime fallback if kernel lacks support.
24823         Reported by Mike Frysinger.
24824
24825 2008-06-02  Bruno Haible  <bruno@clisp.org>
24826
24827         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
24828         it exists.
24829
24830 2008-06-02  Bruno Haible  <bruno@clisp.org>
24831
24832         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
24833         * lib/copy-acl.c (qcopy_acl): Update comment.
24834
24835 2008-06-02  Bruno Haible  <bruno@clisp.org>
24836
24837         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
24838         like ACL APIs.
24839
24840 2008-06-02  Bruno Haible  <bruno@clisp.org>
24841
24842         * tests/test-file-has-acl.sh: Use different code for Cygwin.
24843         * tests/test-set-mode-acl.sh: Likewise.
24844         * tests/test-copy-acl.sh: Likewise.
24845         * tests/test-copy-file.sh: Likewise.
24846
24847 2008-06-02  Bruno Haible  <bruno@clisp.org>
24848
24849         * tests/test-file-has-acl.sh: Remove unused code.
24850
24851 2008-06-01  Bruno Haible  <bruno@clisp.org>
24852
24853         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
24854         (copy_acl): Just a wrapper around qcopy_acl that emits the error
24855         messages.
24856         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
24857
24858 2008-06-01  Bruno Haible  <bruno@clisp.org>
24859
24860         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
24861         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
24862         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
24863         APIs.
24864         * modules/acl-tests (configure.ac): Remove tests now contained in
24865         m4/acl.m4.
24866
24867 2008-06-02  Jim Meyering  <meyering@redhat.com>
24868
24869         announce-gen: use a better key-server host name
24870         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
24871         it may be more consistently reliable.  Suggested by Werner Koch
24872         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
24873
24874 2008-06-01  Bruno Haible  <bruno@clisp.org>
24875
24876         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
24877         Reported by Voroskoi Andras <voroskoi@gmail.com>.
24878
24879 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
24880
24881         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
24882
24883 2008-06-01  Bruno Haible  <bruno@clisp.org>
24884
24885         New ACL tests.
24886         * tests/test-file-has-acl.sh: New file.
24887         * tests/test-file-has-acl.c: New file.
24888         * tests/test-set-mode-acl.sh: New file.
24889         * tests/test-set-mode-acl.c: New file.
24890         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
24891         * tests/test-copy-acl.c: New file.
24892         * modules/acl-tests: New file, based on modules/copy-file-tests.
24893         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
24894         (Depends-on): Add acl-tests.
24895         (configure.ac): Remove checks.
24896         (Makefile.am): Don't create test-sameacls program here any more.
24897
24898 2008-06-01  Bruno Haible  <bruno@clisp.org>
24899
24900         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
24901         * tests/test-sameacls.c: Include progname.h.
24902         (main): Invoke set_program_name. Portability fixes for MacOS X,
24903         Solaris, HP-UX.
24904
24905 2008-06-01  Bruno Haible  <bruno@clisp.org>
24906
24907         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
24908         function.
24909         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
24910
24911 2008-06-01  Bruno Haible  <bruno@clisp.org>
24912
24913         * modules/rpmatch (Depends-on): Add strdup.
24914
24915 2008-06-01  Bruno Haible  <bruno@clisp.org>
24916
24917         * lib/pipe.c: Include unistd-safer.h.
24918         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
24919         * modules/pipe (Depends-on): Add unistd-safer.
24920
24921 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24922
24923         * modules/autobuild (configure.ac): Call AB_INIT.
24924
24925 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24926
24927         * tests/test-getaddrinfo.c: Don't print debug messages by default.
24928         Suggested by Bruno Haible <bruno@clisp.org>.
24929
24930 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24931
24932         * tests/test-base64.c: Cast size_t to unsigned long when invoking
24933         printf.  Use %lu instead of %d.  Reported by Bruno Haible
24934         <bruno@clisp.org>.
24935
24936 2008-05-29  Eric Blake  <ebb9@byu.net>
24937
24938         Prefer new POSIX 200x interfaces over futimesat.
24939         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
24940         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
24941         when available.
24942         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
24943
24944 2008-05-28  Bruno Haible  <bruno@clisp.org>
24945
24946         * modules/stpcpy (License): Change to LGPLv2+.
24947         Requested by David Lutterkort <dlutter@redhat.com>.
24948
24949 2008-05-27  Bruno Haible  <bruno@clisp.org>
24950
24951         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
24952         current mingw.
24953         Reported by Jose E. Marchesi <jemarch@gnu.org>.
24954
24955 2008-05-27  Bruno Haible  <bruno@clisp.org>
24956
24957         * modules/iconv_open (Link): New section, from module 'iconv'.
24958         * modules/striconv (Link): Likewise.
24959         * modules/striconveh (Link): Likewise.
24960         * modules/xstriconv (Link): Likewise.
24961         * modules/unicodeio (Link): Likewise.
24962         * modules/propername (Link): Likewise.
24963         Reported by Jim Meyering.
24964
24965 2008-05-26  Jim Meyering  <meyering@redhat.com>
24966
24967         sha256: do not artificially restrict buffer length to be < 2^32
24968         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
24969         uint32_t to size_t.
24970         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
24971         to match.
24972
24973         avoid unaligned access errors, e.g., on sparc
24974         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
24975         direct access through a possibly-unaligned uint64* pointer.
24976         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
24977         direct access through a possibly-unaligned uint32* pointer.
24978         Prompted by this patch from Tom "spot" Callaway:
24979         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
24980
24981         sha512.c: fix typo in comment
24982         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
24983
24984 2008-05-25  Bruno Haible  <bruno@clisp.org>
24985
24986         * lib/set-mode-acl.c: Renamed from lib/acl.c.
24987         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
24988         (Makefile.am): Update lib_SOURCES.
24989
24990 2008-05-25  Bruno Haible  <bruno@clisp.org>
24991
24992         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
24993
24994 2008-05-25  Jim Meyering  <meyering@redhat.com>
24995
24996         useless-if-before-free: freed expr may have white-space differences
24997         * build-aux/useless-if-before-free: Recognize cases in which the
24998         freed expression differs from the tested one in embedded white
24999         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
25000         $1 was used, so we can't make any regexp shy.  Improved tests now
25001         detect this.
25002
25003         useless-if-before-free: accept white space in the expression.
25004         * build-aux/useless-if-before-free: For now, any white space
25005         in the expression must be identical in the free argument.
25006
25007         useless-if-before-free: efficiency tweak
25008         * build-aux/useless-if-before-free: Make the expression-matching
25009         regexp "shy".
25010         Make the *outer* regexp shy, not the expr-matching one.
25011
25012         update code-in-comment to accept cast of free arg
25013         * build-aux/useless-if-before-free: Update regexp.
25014
25015 2008-05-25  Bruno Haible  <bruno@clisp.org>
25016
25017         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
25018         * modules/copy-file-tests (Files, Makefile.am): Update.
25019         * tests/test-copy-file.c (func_test_copy): Update.
25020
25021 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
25022
25023         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
25024
25025 2008-05-23  Bruno Haible  <bruno@clisp.org>
25026
25027         Improve support for ACLs on OSF/1.
25028         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
25029         Remove fallback for unknown flavors of ACLs.
25030
25031 2008-05-22  Bruno Haible  <bruno@clisp.org>
25032
25033         Add support for ACLs on OSF/1.
25034         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
25035         replacements.
25036         (acl_free_text): New macro fallback.
25037         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
25038         acl_free.
25039         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
25040         acl_free_text function. Require AC_C_INLINE.
25041
25042 2008-05-22  Bruno Haible  <bruno@clisp.org>
25043
25044         Make copy_acl work on MacOS X 10.5.
25045         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
25046         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
25047         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
25048         If MODE_INSIDE_ACL, don't assume that every system has the same text
25049         representation for ACLs as FreeBSD.
25050         * lib/copy-acl.c (copy_acl): Add support for platforms with
25051         !MODE_INSIDE_ACL.
25052         * lib/file-has-acl.c (file_has_acl): Likewise.
25053         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
25054         FreeBSD, MacOS X, or IRIX, respectively.
25055
25056 2008-05-22  Bruno Haible  <bruno@clisp.org>
25057
25058         * lib/acl.h: Don't include <sys/acl.h>.
25059         (GETACLCNT): Move fallback to lib/acl-internal.h.
25060         * lib/acl-internal.h: Include <sys/acl.h> here.
25061         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
25062
25063 2008-05-22  Bruno Haible  <bruno@clisp.org>
25064
25065         Split off copy_acl function to separate file.
25066         * lib/copy-acl.c: New file, extracted from lib/acl.c.
25067         * lib/acl.c (copy_acl): Moved function to separate file.
25068         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
25069         * modules/acl (Files): Add lib/copy-acl.c.
25070         (Makefiles.am): Augment lib_SOURCES.
25071
25072 2008-05-22  Bruno Haible  <bruno@clisp.org>
25073
25074         * modules/copy-file-tests: New file.
25075         * tests/test-copy-file.sh: New file.
25076         * tests/test-copy-file.c: New file.
25077         * tests/test-copy-file-sameacls.c: New file.
25078
25079 2008-05-22  Eric Blake  <ebb9@byu.net>
25080
25081         Avoid gcc warning.
25082         * tests/test-memcmp.c (main): Pass NULL indirectly.
25083
25084 2008-05-21  Bruno Haible  <bruno@clisp.org>
25085
25086         Add reference doc about ACLs.
25087         * doc/acl-resources.txt: New file.
25088         * doc/acl-cygwin.txt: New file.
25089
25090 2008-05-21  Bruno Haible  <bruno@clisp.org>
25091
25092         Avoid one more warning from gcc.
25093         * lib/vasnprintf.c (IF_LINT): Update comments.
25094         (VASNPRINTF): Use it also for the 'prefix' array initializer.
25095
25096 2008-05-21  Jim Meyering  <meyering@redhat.com>
25097
25098         avoid a warning from gcc
25099         * lib/vasnprintf.c (IF_LINT): Define.
25100         (scale10_round_decimal_long_double):
25101         Use it to avoid a "may be used uninitialized" warning.
25102         (scale10_round_decimal_double): Likewise.
25103
25104 2008-05-21  Simon Josefsson  <simon@josefsson.org>
25105
25106         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
25107         declared.
25108
25109 2008-05-20  Bruno Haible  <bruno@clisp.org>
25110
25111         * tests/test-memcmp.c (main): Test also the sign of the result. Test
25112         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
25113
25114 2008-05-20  Simon Josefsson  <simon@josefsson.org>
25115
25116         * modules/memcmp-tests: New file.
25117         * tests/test-memcmp.c: New file.
25118
25119 2008-05-19  Bruno Haible  <bruno@clisp.org>
25120
25121         * modules/propername (Notice, configure.ac): Put quoted "..." into
25122         --keyword option.
25123         * lib/propername.h: Update comments accordingly.
25124         Reported by Eric Blake.
25125
25126 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
25127
25128         * modules/getpass-gnu (Depends-on): Add fseeko.
25129
25130 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25131
25132         * modules/base64-tests: New file.
25133
25134 2008-05-19  Bo Borgerson <gigabo@gmail.com>
25135
25136         * lib/base64.c (base64_decode_ctx): If a decode context structure
25137         was passed in use it to ignore newlines.  If a context structure
25138         was _not_ passed in, continue to treat newlines as garbage (this
25139         is the historical behavior).  Formerly base64_decode.
25140         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25141         takes a decode context structure.
25142         * lib/base64.h (base64_decode): Macro for four-argument calls.
25143         (base64_decode_alloc): Likewise.
25144         * lib/base64.c (base64_decode_ctx): If a decode context structure
25145         was passed in use it to ignore newlines.  If a context structure
25146         was _not_ passed in, continue to treat newlines as garbage (this
25147         is the historical behavior).  Formerly base64_decode.
25148         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
25149         takes a decode context structure.
25150         * lib/base64.h (base64_decode): Macro for four-argument calls.
25151         (base64_decode_alloc): Likewise.
25152
25153 2008-05-19  Jim Meyering  <meyering@redhat.com>
25154
25155         avoid a warning from gcc
25156         * lib/trim.c (IF_LINT): Define.
25157         (trim2): Use it to avoid a "may be used uninitialized" warning.
25158
25159         Fix doc typo.
25160         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
25161
25162 2008-05-19  Bruno Haible  <bruno@clisp.org>
25163
25164         * doc/glibc-functions/getpass.texi: Document limits of other
25165         implementations.
25166
25167 2008-05-19  Simon Josefsson  <simon@josefsson.org>
25168             Bruno Haible <bruno@clisp.org>
25169
25170         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
25171
25172 2008-05-18  Bruno Haible  <bruno@clisp.org>
25173
25174         * modules/propername: New file, from GNU gettext.
25175         * lib/propername.h: New file, from GNU gettext.
25176         * lib/propername.c: New file, from GNU gettext.
25177         * MODULES.html.sh (Internationalization functions): Add propername.
25178
25179 2008-05-16  Jim Meyering  <meyering@redhat.com>
25180             Bruno Haible  <bruno@clisp.org>
25181
25182         Avoid some warnings from "gcc -Wshadow".
25183         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
25184
25185 2008-05-15  Eric Blake  <ebb9@byu.net>
25186
25187         Extend previous patch to cygwin 1.7.0.
25188         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
25189         fast implementation in cygwin >= 1.7.0.
25190         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25191         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25192
25193 2008-05-15  Bruno Haible  <bruno@clisp.org>
25194
25195         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
25196         implementation in glibc >= 2.9.
25197         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25199
25200 2008-05-15  Bruno Haible  <bruno@clisp.org>
25201
25202         * MODULES.html.sh (Internationalization functions): Remove linebreak.
25203         (Unicode string functions): Add unilbrk/*.
25204         Reported by Karl Berry.
25205
25206 2008-05-15  Eric Blake  <ebb9@byu.net>
25207
25208         Fix violation of <stdbool.h> replacement in regex.
25209         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
25210         * lib/regexec.c (re_search_internal): Likewise.
25211         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
25212
25213 2008-05-15  Jim Meyering  <meyering@redhat.com>
25214
25215         avoid distracting test output when git or cvs is not found
25216         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
25217         * tests/test-vc-list-files-git.sh: Likewise.
25218
25219 2008-05-15  Eric Blake  <ebb9@byu.net>
25220
25221         Glibc finally accepted the memmem speedup code, bugzilla #5514.
25222         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
25223         glibc version.
25224         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25225         * doc/posix-functions/strstr.texi (strstr): Likewise.
25226         * lib/str-two-way.h (MAX): Sychronize with glibc.
25227
25228 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
25229
25230         * lib/regcomp.c (optimize_utf8): Add a note on why we test
25231         opr.ctx_type.
25232         (calc_first): Initialize constraint field.
25233         (duplicate_node_closure): Use it instead of special casing ANCHORS.
25234         Fix grammar.
25235         (duplicate_node): Merge constraint field for all node types.
25236         (calc_eclosure_iter): Look at constraint field for all node types.
25237         * lib/regex_internal.c (create_cd_newstate): Don't look at
25238         opr.ctx_type.
25239
25240 2008-05-14  Bruno Haible  <bruno@clisp.org>
25241
25242         Help GCC to do better code generation.
25243         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
25244         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25245         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
25246         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
25247         Declare with attribute 'malloc' if supported.
25248
25249 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
25250
25251         use "echo STR|wc -c" rather than unportable "expr length STR"
25252         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
25253         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
25254
25255 2008-05-14  Jim Meyering  <meyering@redhat.com>
25256
25257         use dd ibs=$n count=1 ... rather than less-portable head -c$n
25258         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
25259         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
25260         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
25261         via Collin Lasse.
25262
25263 2008-05-14  Eric Blake  <ebb9@byu.net>
25264
25265         Avoid quadratic growth in gl_LIBSOURCES.
25266         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
25267         Suggested by Bruno Haible.
25268
25269         Test xmemdup0.
25270         * modules/xmemdup0-tests: New file.
25271         * tests/test-xmemdup0.c: Likewise.
25272
25273 2008-05-13  Eric Blake  <ebb9@byu.net>
25274
25275         Split xmemdup0 into its own module.
25276         * modules/xmemdup0: New file.
25277         * lib/xmemdup0.h: Likewise.
25278         * lib/xmemdup0.c: Likewise.
25279         * MODULES.html.sh (Memory management functions): Add xmemdup0.
25280         * lib/xalloc.h (xmemdup0): Remove.
25281         * lib/xmalloc.c (xmemdup0): Likewise.
25282
25283 2008-05-13  Eric Blake  <ebb9@byu.net>
25284             Bruno Haible  <bruno@clisp.org>
25285
25286         Reduce number of forks required during autoconf.
25287         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
25288         and gl_LIBSOURCES_DIR.
25289         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
25290         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
25291         m4_syscmd per file.
25292         <m4_foreach_w>: Move...
25293         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
25294
25295 2008-05-13  Eric Blake  <ebb9@byu.net>
25296
25297         * gnulib-tool: Fix various comment typos.
25298
25299 2008-05-12  Bruno Haible  <bruno@clisp.org>
25300
25301         Tailor the linebreaking algorithm.
25302         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
25303
25304 2008-05-12  Bruno Haible  <bruno@clisp.org>
25305
25306         Update to Unicode 5.0.0.
25307         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25308         LBP_JV, LBP_JT. Redistribute values.
25309         (unilbrk_table): Change size.
25310         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
25311         Unicode TR#14 rev. 22.
25312         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25313         LBP_JV, LBP_JT. Redistribute values.
25314         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
25315         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
25316         Update.
25317         * lib/unilbrk/lbrkprop1.h: Regenerated.
25318         * lib/unilbrk/lbrkprop2.h: Regenerated.
25319         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
25320         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
25321         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
25322         Likewise.
25323         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
25324         Likewise.
25325         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
25326         result.
25327         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25328         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25329         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25330         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
25331         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
25332         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
25333
25334 2008-05-11  Bruno Haible  <bruno@clisp.org>
25335
25336         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
25337
25338 2008-05-11  Bruno Haible  <bruno@clisp.org>
25339
25340         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
25341         * modules/unilbrk/gen-lbrk: New file.
25342
25343 2008-05-11  Bruno Haible  <bruno@clisp.org>
25344
25345         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
25346         * m4/sha512.m4 (gl_SHA512): Likewise.
25347
25348 2008-05-11  Jim Meyering  <meyering@redhat.com>
25349
25350         New modules: crypto/sha256, crypto/sha512 (from coreutils)
25351         * modules/crypto/sha256: New file.
25352         * modules/crypto/sha512: Likewise.
25353         * lib/sha256.c: Likewise.
25354         * lib/sha256.h: Likewise.
25355         * lib/sha512.c: Likewise.
25356         * lib/sha512.h: Likewise.
25357         * lib/u64.h: Likewise.
25358         * m4/sha256.m4: Likewise.
25359         * m4/sha512.m4: Likewise.
25360         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
25361
25362 2008-05-10  Bruno Haible  <bruno@clisp.org>
25363
25364         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
25365         (Input/Output <stdio.h>): Add xprintf.
25366         (Signal handling <signal.h>): Add strsignal.
25367         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
25368         (Core language properties): Add func.
25369         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
25370         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
25371         strings.
25372         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
25373         (Input/output): New section.
25374         (File system functions): Add openat-die, stat-macros.
25375         (Networking functions): Add sockets.
25376         (Unicode string functions): Add unictype/*.
25377         (Support for building libraries and executables): Add gperf.
25378         (Support for building documentation): Add agpl-3.0.
25379         (Misc): Add nocrash.
25380
25381 2008-05-10  Bruno Haible  <bruno@clisp.org>
25382
25383         * modules/unictype/gen-ctype: New file.
25384
25385 2008-05-10  Jim Meyering  <meyering@redhat.com>
25386
25387         Make chdir-safer.c more efficient on a system with no symlinks.
25388         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
25389         also if ELOOP is zero.  Suggested by Bruno Haible.
25390
25391         Make chdir-safer.c slightly safer.
25392         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
25393         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
25394
25395         Avoid compile failure on systems without ELOOP (like mingw).
25396         * lib/chdir-safer.c (ELOOP): Define if not already defined.
25397         Reported by Bruno Haible.
25398
25399 2008-05-10  Bruno Haible  <bruno@clisp.org>
25400
25401         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
25402         (is_utf8_encoding): Use a case-insensitive comparison.
25403         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
25404         streq.
25405
25406 2008-05-10  Bruno Haible  <bruno@clisp.org>
25407
25408         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
25409         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
25410         * lib/unilbrk/ulc-common.h (iconv_string_length,
25411         iconv_string_keeping_offsets): Remove declarations.
25412         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
25413         Don't include <iconv.h>, streq.h, xsize.h.
25414         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
25415         conversion.
25416         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
25417         <iconv.h>, streq.h, xsize.h.
25418         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
25419         conversion.
25420         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
25421         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
25422         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
25423         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
25424
25425 2008-05-10  Bruno Haible  <bruno@clisp.org>
25426
25427         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
25428         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
25429
25430         * modules/unilbrk/u32-width-linebreaks-tests: New file.
25431         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
25432
25433         * modules/unilbrk/u16-width-linebreaks-tests: New file.
25434         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
25435
25436         * modules/unilbrk/u8-width-linebreaks-tests: New file.
25437         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
25438
25439         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
25440         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
25441
25442         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
25443         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
25444
25445         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
25446         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
25447
25448         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
25449         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
25450
25451 2008-05-10  Bruno Haible  <bruno@clisp.org>
25452
25453         Split up 'linebreak' module.
25454         * lib/unilbrk.h: New file, based on lib/linebreak.h.
25455         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
25456         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
25457         modifications.
25458         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
25459         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
25460         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
25461         lib/linebreak.c.
25462         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
25463         lib/linebreak.c.
25464         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
25465         lib/linebreak.c.
25466         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
25467         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
25468         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
25469         lib/linebreak.c.
25470         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
25471         lib/linebreak.c.
25472         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
25473         lib/linebreak.c.
25474         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
25475         lib/linebreak.c.
25476         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
25477         lib/linebreak.c.
25478         * modules/unilbrk/base: New file.
25479         * modules/unilbrk/tables: New file.
25480         * modules/unilbrk/u8-possible-linebreaks: New file.
25481         * modules/unilbrk/u16-possible-linebreaks: New file.
25482         * modules/unilbrk/u32-possible-linebreaks: New file.
25483         * modules/unilbrk/ulc-common: New file.
25484         * modules/unilbrk/ulc-possible-linebreaks: New file.
25485         * modules/unilbrk/u8-width-linebreaks: New file.
25486         * modules/unilbrk/u16-width-linebreaks: New file.
25487         * modules/unilbrk/u32-width-linebreaks: New file.
25488         * modules/unilbrk/ulc-width-linebreaks: New file.
25489         * lib/linebreak.h: Remove file.
25490         * lib/linebreak.c: Remove file.
25491         * m4/linebreak.m4: Remove file.
25492         * modules/linebreak: Remove file.
25493         * NEWS: Mention the changes.
25494
25495 2008-05-09  Eric Blake  <ebb9@byu.net>
25496
25497         Add xmemdup0.
25498         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
25499         implementation.
25500         * lib/xmalloc.c (xmemdup0): New C implementation.
25501
25502 2008-05-08  Bruno Haible  <bruno@clisp.org>
25503
25504         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
25505
25506 2008-05-07  Eric Blake  <ebb9@byu.net>
25507
25508         Support cross-compilation of <wctype.h>.
25509         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
25510         AC_CACHE_CHECK.
25511
25512 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
25513
25514         * build-aux/vc-list-files: Add support for bzr.
25515
25516 2008-05-03  Jim Meyering  <meyering@redhat.com>
25517
25518         avoid failed assertion with tight malloc
25519         * tests/test-getndelim2.c: Correct an off-by-one assertion.
25520
25521 2008-05-03  Simon Josefsson  <simon@josefsson.org>
25522
25523         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
25524         are needed from arpa/inet.h.
25525         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
25526         Reported by Bruno Haible.
25527
25528 2008-05-02  Jim Meyering  <meyering@redhat.com>
25529
25530         avoid compilation error on FreeBSD 6
25531         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
25532
25533 2008-05-01  Jim Meyering  <meyering@redhat.com>
25534
25535         useless-if-before-free: correct --help's exit status description
25536         * build-aux/useless-if-before-free (usage): Like grep, exit 0
25537         for one or more matches, etc.  Reported by Bruno Haible.
25538
25539         vc-list-files: make the stand-alone gnulib test work
25540         * modules/vc-list-files-tests (configure.ac):
25541         Define and AC_SUBST abs_aux_dir.
25542         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
25543         $(abs_top_srcdir) to each script and having each of them
25544         duplicate the work of setting PATH, set PATH here, using
25545         the new variable, abs_aux_dir instead.
25546         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
25547         * tests/test-vc-list-files-git.sh: Likewise.
25548         Reported by Bruno Haible.
25549
25550 2008-05-01  Bruno Haible  <bruno@clisp.org>
25551
25552         * lib/getndelim2.c (getndelim2): Fix newsize computation during
25553         reallocation. Rename 'done' to 'found_delimiter'.
25554
25555 2008-05-01  Jim Meyering  <meyering@redhat.com>
25556
25557         vc-list-files: accommodate /bin/sh like the one from Solaris 10
25558         * build-aux/vc-list-files: Use `...`, not $(...).
25559
25560 2008-04-30  Jim Meyering  <meyering@redhat.com>
25561
25562         add tests for vc-list-files
25563         * modules/vc-list-files-tests: New module.
25564         * tests/test-vc-list-files-cvs.sh: New file.
25565         * tests/test-vc-list-files-git.sh: New file.
25566
25567         avoid a warning from gcc
25568         * lib/getndelim2.c (IF_LINT): Define.
25569         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
25570
25571         vc-list-files: work properly with build-aux/cvsu, too
25572         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
25573         to all cvs-based clauses.
25574
25575         vc-list-files: work properly in the CVS+awk case, too
25576         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
25577
25578         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
25579         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
25580         take more than one file argument, so .  Add quotes, just in case $dir
25581         ever contains a shell meta-character.  Prompted by Soren Hansen in
25582         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
25583
25584 2008-04-29  Eric Blake  <ebb9@byu.net>
25585
25586         Optimize getndelim2 to use block operations when possible.
25587         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
25588         freadseek, and memchr2.
25589         * lib/getndelim2.c (getndelim2): Use them for block reads.
25590
25591 2008-04-29  Bruno Haible  <bruno@clisp.org>
25592
25593         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
25594         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25595         * modules/inet_ntop (Depends-on): Add extensions.
25596         * modules/inet_pton (Depends-on): Likewise.
25597         Reported by Simon Josefsson.
25598
25599 2008-04-29  Jim Meyering  <meyering@redhat.com>
25600
25601         When the is more than one match in a block, match all of them.
25602         * build-aux/useless-if-before-free: Iterate through each block
25603         until there are no more matches.
25604
25605         Fix broken useless-if-before-free script.
25606         * build-aux/useless-if-before-free: Fix typo: missing "?" after
25607         the expression to match cast of argument to free-like function.
25608
25609 2008-04-29  Eric Blake  <ebb9@byu.net>
25610
25611         Use new header.
25612         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
25613
25614 2008-04-29  Jim Meyering  <meyering@redhat.com>
25615
25616         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
25617         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
25618         by gnulib to exist and to declare e.g., inet_ntop.
25619         Don't include "inet_ntop.h", now removed.
25620
25621         * m4/arpa_inet_h.m4: Remove trailing blanks.
25622
25623 2008-04-29  Eric Blake  <ebb9@byu.net>
25624
25625         Silence valgrind on safe reads beyond potential array bounds.
25626         * lib/rawmemchr.valgrind: New file.
25627         * lib/strchrnul.valgrind: Likewise.
25628         * modules/rawmemchr (Files): Distribute new file.
25629         * modules/strchrnul (Files): Likewise.
25630         Suggested by Bruno Haible.
25631
25632 2008-04-29  Bruno Haible  <bruno@clisp.org>
25633
25634         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
25635         (inet_ntop, inet_pton): Change portability warning's wording.
25636         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
25637         Invoke gl_CHECK_NEXT_HEADERS.
25638         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
25639         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
25640         set ARPA_INET_H.
25641         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25642         * modules/arpa_inet (Description): No longer only for systems that
25643         lack it.
25644         (Depends-on): Add include_next.
25645         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
25646         HAVE_ARPA_INET_H.
25647
25648 2008-04-29  Jim Meyering  <meyering@redhat.com>
25649
25650         * modules/mkdir (License): Re-license as LGPLv2+.
25651
25652 2008-04-29  Bruno Haible  <bruno@clisp.org>
25653
25654         * modules/rawmemchr (Maintainer): Set to Eric.
25655         * modules/strchrnul (Maintainer): Likewise.
25656
25657 2008-04-29  Simon Josefsson  <simon@josefsson.org>
25658
25659         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
25660         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
25661
25662         * modules/arpa_inet (arpa/inet.h): Use them.
25663
25664 2008-04-28  Eric Blake  <ebb9@byu.net>
25665
25666         Test getndelim2.
25667         * modules/getndelim2-tests: New file.
25668         * tests/test-getndelim2.c: Likewise.
25669         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
25670         stream.
25671         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
25672
25673         * MODULES.html.sh: Document new module.
25674
25675 2008-04-20  Bruno Haible  <bruno@clisp.org>
25676
25677         * lib/c-stack.c (die): Use raise.
25678         * modules/c-stack (Depends-on): Add raise.
25679
25680 2008-04-28  Bruno Haible  <bruno@clisp.org>
25681
25682         Expect rpmatch to be declared.
25683         * lib/yesno.c (rpmatch): Remove declaration.
25684
25685         Declare rpmatch.
25686         * lib/stdlib.in.h (rpmatch): New declaration.
25687         * lib/rpmatch.c: Include <stdlib.h> first.
25688         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
25689         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
25690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
25691         HAVE_RPMATCH.
25692         * modules/rpmatch (Depends-on): Add stdlib, extensions.
25693         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25694         (Include): Set to <stdlib.h>.
25695         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
25696         HAVE_RPMATCH.
25697         * NEWS: Document the change.
25698
25699 2008-04-28  Bruno Haible  <bruno@clisp.org>
25700
25701         Change rpmatch to use nl_langinfo when appropriate.
25702         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
25703         (N_): New macro.
25704         (localized_pattern): New function/macro.
25705         (try): Remove match, nomatch arguments. Copy the pattern into safe
25706         memory before caching it.
25707         (rpmatch): Use localized_pattern. Add translator comments.
25708         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
25709         Suggested by Eric Blake.
25710         * modules/rpmatch (Depends-on): Add stdbool.
25711
25712 2008-04-28  Eric Blake  <ebb9@byu.net>
25713
25714         Add rawmemchr module, matching glibc.
25715         * modules/string (Makefile.am): New indicator.
25716         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
25717         * lib/string.in.h (rawmemchr): Declare when appropriate.
25718         * modules/rawmemchr: New file.
25719         * m4/rawmemchr.m4: Likewise.
25720         * lib/rawmemchr.c: Likewise.
25721         * modules/rawmemchr-tests: Likewise.
25722         * tests/test-rawmemchr.c: Likewise.
25723         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
25724         module.
25725         * modules/strchrnul (Depends-on): Add rawmemchr.
25726         * lib/strchrnul.c (strchrnul): Optimize a corner case.
25727
25728         Whitespace cleanup.
25729         * tests/test-strchrnul.c: Reindent.
25730         * lib/strchrnul.c: Likewise.
25731
25732         Optimize and test strchrnul.
25733         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
25734         * modules/strchrnul-tests: New file.
25735         * tests/test-strchrnul.c: Likewise.
25736
25737         Remove intprops dependency.
25738         * modules/memchr (Depends-on): Remove intprops.
25739         * modules/memrchr (Depends-on): Likewise.
25740         * modules/memchr2 (Depends-on): Likewise.
25741         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
25742         * lib/memrchr.c (__memrchr): Likewise.
25743         * lib/memrchr2.c (memchr2): Likewise.
25744         Reported by Simon Josefsson.
25745
25746 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25747
25748         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
25749         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25750
25751 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25752
25753         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
25754
25755         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
25756
25757         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
25758
25759         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
25760         declarations.
25761         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
25762
25763         * m4/inet_pton.m4: Don't check for header files.
25764
25765         * m4/inet_ntop.m4: Don't check for header files.
25766
25767 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25768
25769         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
25770         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
25771         trigger for cygwin).
25772         Reported by Bruno Haible  <bruno@clisp.org>.
25773
25774 2008-04-28  Bruno Haible  <bruno@clisp.org>
25775
25776         * doc/posix-functions/strdup.texi: Mention mingw problem.
25777
25778 2008-04-27  Bruno Haible  <bruno@clisp.org>
25779
25780         * modules/stat-time-tests (Depends-on): Add sleep.
25781         * tests/test-stat-time.c (force_unlink): New function.
25782         (cleanup): Use it.
25783         (test_mtime): Remove the ctime related tests.
25784         (test_ctime): New function, containing the ctime related tests.
25785         (main): Call test_ctime, except on native Windows platforms.
25786
25787 2008-04-27  Bruno Haible  <bruno@clisp.org>
25788
25789         * lib/rpmatch.c (rpmatch): Add some comments.
25790         Reported by James Youngman <jay@gnu.org>.
25791
25792 2008-04-27  Bruno Haible  <bruno@clisp.org>
25793
25794         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
25795         quiet NaNs.
25796
25797 2008-04-27  Bruno Haible  <bruno@clisp.org>
25798
25799         Make test-yesno.sh work on mingw.
25800         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
25801         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
25802         (main): Set stdin to binary mode.
25803         * modules/yesno-tests (Depends-on): Add binary-io.
25804
25805 2008-04-27  Bruno Haible  <bruno@clisp.org>
25806
25807         Fix 'isfinite' on x86, x86_64, ia64 platforms.
25808         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
25809         argument that lie outside the IEEE 854 domain.
25810         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
25811         (gl_ISFINITE): Use it.
25812         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
25813
25814 2008-04-27  Bruno Haible  <bruno@clisp.org>
25815
25816         Allow local renaming in config.h.
25817         * lib/memrchr.c (memrchr): Don't undefine outside libc.
25818
25819 2008-04-27  Bruno Haible  <bruno@clisp.org>
25820
25821         * lib/memchr.c (__memchr): Change type of 'i'.
25822         * lib/memchr2.c (memchr2): Likewise.
25823
25824 2008-04-26  Eric Blake  <ebb9@byu.net>
25825         and Bruno Haible  <bruno@clisp.org>
25826
25827         Optimize and test memrchr.
25828         * modules/memrchr (Depends-on): Add intprops.
25829         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
25830         * modules/memrchr-tests: New file.
25831         * tests/test-memrchr.c: New file.
25832
25833 2008-04-26  Bruno Haible  <bruno@clisp.org>
25834
25835         Add tentative support for DragonFly BSD.
25836         * lib/stdio-impl.h: Add macros for DragonFly BSD.
25837         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
25838         fp.
25839         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
25840         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
25841         * lib/fpurge.c (fpurge): Likewise.
25842         * lib/freadable.c (freaadable): Likewise.
25843         * lib/freadahead.c (freadahead): Likewise.
25844         * lib/freading.c (freading): Likewise.
25845         * lib/freadptr.c (freadptr): Likewise.
25846         * lib/freadseek.c (freadptrinc): Likewise.
25847         * lib/fseeko.c (fseeko): Likewise.
25848         * lib/fseterr.c (fseterr): Likewise.
25849         * lib/fwritable.c (fwritable): Likewise.
25850         * lib/fwriting.c (fwriting): Likewise.
25851
25852 2008-04-26  Bruno Haible  <bruno@clisp.org>
25853
25854         * lib/stdio-impl.h: New file.
25855         * lib/fbufmode.c: Include stdio-impl.h.
25856         (fbufmode): Use fp_, remove redundant #defines.
25857         * lib/fflush.c: Include stdio-impl.h.
25858         (clear_ungetc_buffer): Remove redundant #defines.
25859         * lib/fpurge.c: Include stdio-impl.h.
25860         (fpurge): Remove redundant #defines.
25861         * lib/freadable.c: Include stdio-impl.h.
25862         (freadable): Remove redundant #defines.
25863         * lib/freadahead.c: Include stdio-impl.h.
25864         (freadahead): Remove redundant #defines.
25865         * lib/freading.c: Include stdio-impl.h.
25866         (freading): Remove redundant #defines.
25867         * lib/freadptr.c: Include stdio-impl.h.
25868         (freadptr): Remove redundant #defines.
25869         * lib/freadseek.c: Include stdio-impl.h.
25870         (freadptrinc): Remove redundant #defines.
25871         * lib/fseeko.c: Include stdio-impl.h.
25872         (rpl_fseeko): Remove redundant #defines.
25873         * lib/fseterr.c: Include stdio-impl.h.
25874         (fseterr): Remove redundant #defines.
25875         * lib/fwritable.c: Include stdio-impl.h.
25876         (fwritable: Remove redundant #defines.
25877         * lib/fwriting.c: Include stdio-impl.h.
25878         (fwriting): Remove redundant #defines.
25879         * modules/fbufmode (Files): Add lib/stdio-impl.h.
25880         * modules/fflush (Files): Likewise.
25881         * modules/fpurge (Files): Likewise.
25882         * modules/freadable (Files): Likewise.
25883         * modules/freadahead (Files): Likewise.
25884         * modules/freading (Files): Likewise.
25885         * modules/freadptr (Files): Likewise.
25886         * modules/freadseek (Files): Likewise.
25887         * modules/fseeko (Files): Likewise.
25888         * modules/fseterr (Files): Likewise.
25889         * modules/fwritable (Files): Likewise.
25890         * modules/fwriting (Files): Likewise.
25891
25892 2008-04-26  Bruno Haible  <bruno@clisp.org>
25893
25894         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
25895         restore_seek_optimization, update_fpos_cache): New functions, extracted
25896         from rpl_fflush.
25897         (rpl_fflush): Use them.
25898         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
25899         (gl_REPLACE_FFLUSH): Use it.
25900
25901 2008-04-26  Bruno Haible  <bruno@clisp.org>
25902
25903         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
25904         on Solaris.
25905         * tests/test-xstrtoimax.sh: Likewise.
25906         * tests/test-xstrtoumax.sh: Likewise.
25907         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25908
25909 2008-04-26  Bruno Haible  <bruno@clisp.org>
25910
25911         * modules/memchr-tests: New file.
25912         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
25913
25914 2008-04-26  Eric Blake  <ebb9@byu.net>
25915             Bruno Haible  <bruno@clisp.org>
25916
25917         * lib/memchr.c: Include intprops.h.
25918         (__memchr): Optimize parallel detection of matching bytes. Rename local
25919         variables. Add explanatory comments.
25920
25921 2008-04-26  Bruno Haible  <bruno@clisp.org>
25922
25923         Fix module 'memchr', broken since 2000-10-28.
25924         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
25925
25926 2008-04-26  Bruno Haible  <bruno@clisp.org>
25927
25928         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
25929         comments.
25930
25931 2008-04-25  Eric Blake  <ebb9@byu.net>
25932
25933         Use native fstatat on cygwin 1.7.0.
25934         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
25935         first.
25936
25937 2008-04-23  Eric Blake  <ebb9@byu.net>
25938
25939         Improve memchr2 performance.
25940         * lib/memchr2.c (memchr2): Further optimize parallel detection of
25941         NUL bytes.
25942         * modules/memchr2 (Depends-on): Use intprops.h.
25943
25944 2008-04-23  Simon Josefsson  <simon@josefsson.org>
25945
25946         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
25947         an inline function instead of a CPP macro.  Patch by Ben Pfaff
25948         <blp@cs.stanford.edu>.
25949
25950 2008-04-23  Simon Josefsson  <simon@josefsson.org>
25951
25952         * lib/arpa_inet.in.h: New file.
25953
25954         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
25955         (Makefile.am): Sed in substitute header file.
25956
25957         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
25958         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
25959
25960         * modules/inet_ntop (configure.ac): Use
25961         gl_ARPA_INET_MODULE_INDICATOR.
25962
25963         * modules/inet_pton (configure.ac): Use
25964         gl_ARPA_INET_MODULE_INDICATOR.
25965
25966 2008-04-22  Jim Meyering  <meyering@redhat.com>
25967
25968         * modules/verify (License): Re-license as LGPLv2+.
25969
25970 2008-04-22  Simon Josefsson  <simon@josefsson.org>
25971
25972         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
25973         parameter to void* as per POSIX standard (MinGW uses char*).
25974
25975 2008-04-21  Bruno Haible  <bruno@clisp.org>
25976
25977         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25978         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
25979         Define to replacements if REPLACE_ISWCNTRL is 1.
25980         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
25981         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
25982         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
25983         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
25984         what it fixes.
25985         * doc/posix-functions/iswalpha.texi: Likewise.
25986         * doc/posix-functions/iswblank.texi: Likewise.
25987         * doc/posix-functions/iswcntrl.texi: Likewise.
25988         * doc/posix-functions/iswdigit.texi: Likewise.
25989         * doc/posix-functions/iswgraph.texi: Likewise.
25990         * doc/posix-functions/iswlower.texi: Likewise.
25991         * doc/posix-functions/iswprint.texi: Likewise.
25992         * doc/posix-functions/iswpunct.texi: Likewise.
25993         * doc/posix-functions/iswspace.texi: Likewise.
25994         * doc/posix-functions/iswupper.texi: Likewise.
25995         * doc/posix-functions/iswxdigit.texi: Likewise.
25996         Reported by Alain Guibert.
25997
25998 2008-04-21  Bruno Haible  <bruno@clisp.org>
25999
26000         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
26001         Patch by Alain Guibert.
26002
26003 2008-04-21  Bruno Haible  <bruno@clisp.org>
26004
26005         Fix test failures on mingw.
26006         * tests/test-xstrtol.c (print_no_progname): New function.
26007         (main): Install it in error_print_progname hook.
26008         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
26009         * tests/test-xstrtoimax.sh: Likewise.
26010         * tests/test-xstrtoumax.sh: Likewise.
26011
26012 2008-04-21  Bruno Haible  <bruno@clisp.org>
26013
26014         Fix test failure on mingw.
26015         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
26016
26017 2008-04-21  Bruno Haible  <bruno@clisp.org>
26018
26019         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
26020         Actually assign a value.
26021
26022 2008-04-20  Bruno Haible  <bruno@clisp.org>
26023
26024         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
26025         take 2.
26026         * lib/canonicalize.c (canonicalize_file_name): Elide if the
26027         'canonicalize-lgpl' module is also used.
26028         * lib/canonicalize-lgpl.c: Undo last change.
26029         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
26030
26031 2008-04-20  Bruno Haible  <bruno@clisp.org>
26032
26033         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
26034         config.h. Provide _mkdir based fallback for mingw.
26035         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
26036         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
26037         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
26038         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
26039         rather than defining mkdir in config.h.
26040         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
26041         (gl_SYS_STAT_H_DEFAULTS): New macro.
26042         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
26043         HAVE_IO_H any more.
26044         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
26045         HAVE_DECL_MKDIR and HAVE_IO_H.
26046
26047 2008-04-20  Bruno Haible  <bruno@clisp.org>
26048
26049         * lib/isapipe.c: Port to native Windows platforms.
26050
26051 2008-04-20  Bruno Haible  <bruno@clisp.org>
26052
26053         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
26054
26055 2008-04-21  Eric Blake  <ebb9@byu.net>
26056
26057         Work around preprocessors that don't handle UINTMAX_MAX.
26058         * lib/memchr2.c (memchr2): Avoid embedded #if.
26059         Reported by Alain Guibert, fix suggested by Bruno Haible.
26060
26061 2008-04-21  Simon Josefsson  <simon@josefsson.org>
26062
26063         * doc/posix-functions/strftime.texi (strftime): Explain better
26064         Windows incompatibility.  Suggested by Micah Cowan
26065         <micah@cowan.name>.
26066
26067 2008-04-20  Bruno Haible  <bruno@clisp.org>
26068
26069         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
26070         unistr/u8-mblen.
26071
26072 2008-04-20  Bruno Haible  <bruno@clisp.org>
26073
26074         Fix test failure on platforms with non-GNU iconv.
26075         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
26076         (U_TO_U8): Use it, rather than u16_to_u8.
26077         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
26078         units at the end of the input string.
26079         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
26080
26081 2008-04-20  Bruno Haible  <bruno@clisp.org>
26082
26083         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
26084         when the resulting length is 0.
26085         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
26086
26087 2008-04-20  Bruno Haible  <bruno@clisp.org>
26088
26089         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
26090         works.
26091         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
26092
26093 2008-04-20  Bruno Haible  <bruno@clisp.org>
26094
26095         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
26096         * modules/tsearch-tests (configure.ac): Test for initstate function.
26097
26098 2008-04-20  Bruno Haible  <bruno@clisp.org>
26099
26100         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
26101         for nlink_t if missing.
26102         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
26103
26104 2008-04-19  Bruno Haible  <bruno@clisp.org>
26105
26106         Work around snprintf bug on Linux libc5.
26107         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
26108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26109         gl_SNPRINTF_SIZE1.
26110         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26111         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
26112         that test failed.
26113         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
26114         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
26115         * modules/snprintf (Files): Add m4/printf.m4.
26116         * modules/vsnprintf (Files): Likewise.
26117         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
26118         * doc/posix-functions/vsnprintf.texi: Likewise.
26119
26120 2008-04-19  Bruno Haible  <bruno@clisp.org>
26121
26122         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
26123         from 0.0058 to less than 10^-7.
26124
26125 2008-04-19  Bruno Haible  <bruno@clisp.org>
26126
26127         Fix rounding when a precision is given.
26128         * lib/vasnprintf.c (is_borderline): New function.
26129         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
26130         9...9x.
26131         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
26132         %e, %g.
26133         * tests/test-vasprintf-posix.c (test_function): Likewise.
26134         * tests/test-snprintf-posix.h (test_function): Likewise.
26135         * tests/test-sprintf-posix.h (test_function): Likewise.
26136         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
26137         * tests/test-printf-posix.h (test_function): Likewise.
26138         * tests/test-printf-posix.output: Update.
26139         Reported by John Darrington <john@darrington.wattle.id.au> via
26140         Ben Pfaff <blp@cs.stanford.edu>.
26141
26142 2008-04-18  Simon Josefsson  <simon@josefsson.org>
26143
26144         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
26145         Suggested by Bruno Haible <bruno@clisp.org>.
26146
26147 2008-04-17  Bruno Haible  <bruno@clisp.org>
26148
26149         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
26150         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
26151         implementation.
26152         Patch by Bruce Merry <bmerry@gmail.com>.
26153
26154 2008-04-17  Simon Josefsson  <simon@josefsson.org>
26155
26156         * doc/posix-functions/strftime.texi (strftime): Mention that %e
26157         doesn't work under Windows.
26158
26159 2008-04-16  Bruno Haible  <bruno@clisp.org>
26160
26161         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
26162         New macros.
26163         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
26164         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
26165         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
26166         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
26167         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
26168         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
26169         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
26170         macros.
26171         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
26172         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
26173         Northern Sotho, Uighur.
26174
26175 2008-04-16  Bruno Haible  <bruno@clisp.org>
26176
26177         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
26178         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
26179         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
26180         Reported by Daniel Bergström <daniel@octocode.com>.
26181
26182 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
26183             Bruno Haible  <bruno@clisp.org>
26184
26185         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
26186         function.
26187         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
26188         New functions, mostly extracted from gl_locale_name_default.
26189         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
26190
26191 2008-04-16  Eric Blake  <ebb9@byu.net>
26192
26193         Adjust strtod detection to catch glibc 2.7 bug.
26194         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
26195         Reported by John Gatewood Ham.
26196
26197 2008-04-16  Bruno Haible  <bruno@clisp.org>
26198
26199         Add tentative support for Linux libc5.
26200         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
26201         * lib/fpurge.c (fpurge): Likewise.
26202         * lib/freadable.c (freadable): Likewise.
26203         * lib/freadahead.c (freadahead): Likewise.
26204         * lib/freading.c (freading): Likewise.
26205         * lib/freadptr.c (freadptr): Likewise.
26206         * lib/freadseek.c (freadptrinc): Likewise.
26207         * lib/fseeko.c (rpl_fseeko): Likewise.
26208         * lib/fseterr.c (fseterr): Likewise.
26209         * lib/fwritable.c (fwritable): Likewise.
26210         * lib/fwriting.c (fwriting): Likewise.
26211         Reported by Alain Guibert <alguibert+bts@free.fr>.
26212
26213 2008-04-15  Bruno Haible  <bruno@clisp.org>
26214
26215         * modules/mathl (configure.ac): Define module indicator.
26216
26217 2008-04-15  Bruno Haible  <bruno@clisp.org>
26218
26219         * lib/logl.c (logl): Remove unused variables.
26220
26221 2008-04-15  Bruno Haible  <bruno@clisp.org>
26222
26223         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
26224         fails.
26225
26226 2008-04-15  Bruno Haible  <bruno@clisp.org>
26227
26228         * lib/trim.c (trim2): Fix argument of isspace() macro.
26229
26230 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
26231
26232         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
26233         to 0.
26234         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
26235
26236 2008-04-14  Bruno Haible  <bruno@clisp.org>
26237
26238         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
26239         AC_LANG_PROGRAM argument.
26240         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
26241         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
26242         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26243         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26244         * m4/math_h.m4 (gl_MATH_H): Likewise.
26245         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26246         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26247         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26248         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
26249         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26250         * m4/regex.m4 (gl_REGEX): Likewise.
26251         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
26252         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
26253         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26254         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
26255         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26256         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26257         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26258         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26259
26260 2008-04-14  Jim Meyering  <meyering@redhat.com>
26261
26262         test-strtod: fix typos: s/abs/fabs/
26263         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
26264
26265 2008-04-13  Bruno Haible  <bruno@clisp.org>
26266
26267         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
26268         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
26269         module is also used and while not building the reloc-wrapper.
26270
26271 2008-04-13  Bruno Haible  <bruno@clisp.org>
26272
26273         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
26274
26275 2008-04-13  Bruno Haible  <bruno@clisp.org>
26276
26277         Fix AIX compilation failure introduced on 2008-04-02.
26278         * tests/test-frexp.c (exp): Undefine before redefining.
26279         * tests/test-frexpl.c (exp): Likewise.
26280
26281 2008-04-13  Bruno Haible  <bruno@clisp.org>
26282
26283         Work around a HP-UX stdio bug.
26284         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
26285         * tests/test-ftello.c (main): Likewise.
26286         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
26287         * doc/posix-functions/ftello.texi: Likewise.
26288
26289 2008-04-13  Bruno Haible  <bruno@clisp.org>
26290
26291         Make test-signbit pass on HP-UX/hppa.
26292         * tests/test-signbit.c (minus_zerol): New variable.
26293         (test_signbitl): Use it.
26294
26295 2008-04-13  Bruno Haible  <bruno@clisp.org>
26296
26297         Make truncl work on OSF/1 4.0.
26298         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
26299         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26300         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
26302         HAVE_DECL_TRUNCL.
26303         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
26304         HAVE_DECL_TRUNCL.
26305         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
26306
26307 2008-04-13  Bruno Haible  <bruno@clisp.org>
26308
26309         * lib/unictype.h: Remove trailing comma from enumeration definitions.
26310
26311 2008-04-13  Bruno Haible  <bruno@clisp.org>
26312
26313         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
26314         expression, so as to avoid HP-UX 11 cc compiler bug.
26315
26316 2008-04-13  Bruno Haible  <bruno@clisp.org>
26317
26318         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
26319
26320 2008-04-13  Bruno Haible  <bruno@clisp.org>
26321
26322         * lib/git-merge-changelog.c: Remove empty declaration outside of
26323         functions.
26324
26325 2008-04-13  Bruno Haible  <bruno@clisp.org>
26326
26327         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
26328
26329 2008-04-13  Bruno Haible  <bruno@clisp.org>
26330
26331         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
26332         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
26333         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
26334         also if it exists but lacks definitions of the SHUT_* macros.
26335         * modules/sys_socket (Description): Update.
26336         Reported by Elbert Pol <e.pol@chello.nl>.
26337
26338 2008-04-13  Bruno Haible  <bruno@clisp.org>
26339
26340         * lib/localcharset.c (OS2): Don't redefine if already defined.
26341         Reported by Elbert Pol <e.pol@chello.nl>.
26342
26343 2008-04-13  Bruno Haible  <bruno@clisp.org>
26344
26345         * lib/binary-io.h [__EMX__]: Include <io.h>.
26346         Reported by Elbert Pol <e.pol@chello.nl>.
26347
26348 2008-04-12  Bruno Haible  <bruno@clisp.org>
26349
26350         * lib/fpucw.h: Enable the definitions also for x86_64.
26351         Needed for NetBSD/x86_64.
26352         Reported by Thomas Klausner <tk@giga.or.at>.
26353
26354 2008-04-12  Bruno Haible  <bruno@clisp.org>
26355
26356         * tests/test-strtod.c: Include isnand.h.
26357         (main): Use isnand instead of isnan.
26358         Reported by Jim Meyering.
26359
26360 2008-04-12  Bruno Haible  <bruno@clisp.org>
26361
26362         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
26363         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26364
26365 2008-04-12  Jim Meyering  <meyering@redhat.com>
26366
26367         * m4/math_h.m4 (gl_MATH_H): Fix typos.
26368
26369 2008-04-12  Bruno Haible  <bruno@clisp.org>
26370
26371         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
26372         Reported by Elbert Pol <e.pol@chello.nl>.
26373
26374 2008-04-12  Eric Blake  <ebb9@byu.net>
26375
26376         Work around Solaris 10 math.h bug.
26377         * m4/math_h.m4 (gl_MATH_H): Check for bug.
26378         (gl_MATH_H_DEFAULTS): Set up default.
26379         * modules/math (Makefile.am): Replace new indicators.
26380         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
26381         * tests/test-math.c (main): Test this.
26382         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
26383         * doc/posix-headers/math.texi (math.h): Mention bug.
26384         Reported by Nelson H. F. Beebe and Jim Meyering.
26385
26386 2008-04-11  Bruno Haible  <bruno@clisp.org>
26387
26388         Adapt to future versions of Apple GCC.
26389         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
26390         Reported by Peter O'Gorman <peter@pogma.com>.
26391
26392 2008-04-11  Bruno Haible  <bruno@clisp.org>
26393
26394         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
26395
26396 2008-04-11  Bruno Haible  <bruno@clisp.org>
26397
26398         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
26399
26400         * modules/getaddrinfo-tests (Makefile.am): Define
26401         test_getaddrinfo_LDADD.
26402
26403 2008-04-11  Bruno Haible  <bruno@clisp.org>
26404
26405         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
26406         (init): Fix syntax error.
26407         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
26408         is declared.
26409
26410 2008-04-11  Bruno Haible  <bruno@clisp.org>
26411
26412         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
26413         * modules/glob (Depends-on): Add stdbool.
26414
26415 2008-04-11  Bruno Haible  <bruno@clisp.org>
26416
26417         * lib/trim.c: Include <string.h>.
26418
26419 2008-04-11  Eric Blake  <ebb9@byu.net>
26420
26421         Avoid compile failure on OS/2.
26422         * lib/regex_internal.h (internal_function): Disable optimization
26423         on OS/2 (__EMX__), where it caused compiler error.
26424         Reported by Elbert Pol.
26425
26426 2008-04-11  Bruno Haible  <bruno@clisp.org>
26427
26428         Flush the standard error stream before aborting. Needed on mingw.
26429         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
26430         * tests/test-array_list.c (ASSERT): Likewise.
26431         * tests/test-array_oset.c (ASSERT): Likewise.
26432         * tests/test-avltree_list.c (ASSERT): Likewise.
26433         * tests/test-avltree_oset.c (ASSERT): Likewise.
26434         * tests/test-avltreehash_list.c (ASSERT): Likewise.
26435         * tests/test-binary-io.c (ASSERT): Likewise.
26436         * tests/test-byteswap.c (ASSERT): Likewise.
26437         * tests/test-c-ctype.c (ASSERT): Likewise.
26438         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
26439         * tests/test-c-strcasestr.c (ASSERT): Likewise.
26440         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
26441         * tests/test-c-strstr.c (ASSERT): Likewise.
26442         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
26443         * tests/test-canonicalize.c (ASSERT): Likewise.
26444         * tests/test-carray_list.c (ASSERT): Likewise.
26445         * tests/test-ceilf1.c (ASSERT): Likewise.
26446         * tests/test-ceilf2.c (ASSERT): Likewise.
26447         * tests/test-ceill.c (ASSERT): Likewise.
26448         * tests/test-count-one-bits.c (ASSERT): Likewise.
26449         * tests/test-fbufmode.c (ASSERT): Likewise.
26450         * tests/test-fflush2.c (ASSERT): Likewise.
26451         * tests/test-floorf1.c (ASSERT): Likewise.
26452         * tests/test-floorf2.c (ASSERT): Likewise.
26453         * tests/test-floorl.c (ASSERT): Likewise.
26454         * tests/test-fopen.c (ASSERT): Likewise.
26455         * tests/test-fpending.c (ASSERT): Likewise.
26456         * tests/test-fprintf-posix.c (ASSERT): Likewise.
26457         * tests/test-fpurge.c (ASSERT): Likewise.
26458         * tests/test-freadable.c (ASSERT): Likewise.
26459         * tests/test-freadahead.c (ASSERT): Likewise.
26460         * tests/test-freading.c (ASSERT): Likewise.
26461         * tests/test-freadptr.c (ASSERT): Likewise.
26462         * tests/test-freadptr2.c (ASSERT): Likewise.
26463         * tests/test-freadseek.c (ASSERT): Likewise.
26464         * tests/test-freopen.c (ASSERT): Likewise.
26465         * tests/test-frexp.c (ASSERT): Likewise.
26466         * tests/test-frexpl.c (ASSERT): Likewise.
26467         * tests/test-fseek.c (ASSERT): Likewise.
26468         * tests/test-fseeko.c (ASSERT): Likewise.
26469         * tests/test-fstrcmp.c (ASSERT): Likewise.
26470         * tests/test-ftell.c (ASSERT): Likewise.
26471         * tests/test-ftello.c (ASSERT): Likewise.
26472         * tests/test-func.c (ASSERT): Likewise.
26473         * tests/test-fwritable.c (ASSERT): Likewise.
26474         * tests/test-fwriting.c (ASSERT): Likewise.
26475         * tests/test-getdelim.c (ASSERT): Likewise.
26476         * tests/test-getline.c (ASSERT): Likewise.
26477         * tests/test-i-ring.c (ASSERT): Likewise.
26478         * tests/test-iconv-utf.c (ASSERT): Likewise.
26479         * tests/test-iconv.c (ASSERT): Likewise.
26480         * tests/test-isfinite.c (ASSERT): Likewise.
26481         * tests/test-isnand.c (ASSERT): Likewise.
26482         * tests/test-isnanf.c (ASSERT): Likewise.
26483         * tests/test-isnanl.h (ASSERT): Likewise.
26484         * tests/test-ldexpl.c (ASSERT): Likewise.
26485         * tests/test-linked_list.c (ASSERT): Likewise.
26486         * tests/test-linkedhash_list.c (ASSERT): Likewise.
26487         * tests/test-localename.c (ASSERT): Likewise.
26488         * tests/test-lseek.c (ASSERT): Likewise.
26489         * tests/test-mbscasecmp.c (ASSERT): Likewise.
26490         * tests/test-mbscasestr1.c (ASSERT): Likewise.
26491         * tests/test-mbscasestr2.c (ASSERT): Likewise.
26492         * tests/test-mbscasestr3.c (ASSERT): Likewise.
26493         * tests/test-mbscasestr4.c (ASSERT): Likewise.
26494         * tests/test-mbschr.c (ASSERT): Likewise.
26495         * tests/test-mbscspn.c (ASSERT): Likewise.
26496         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
26497         * tests/test-mbspbrk.c (ASSERT): Likewise.
26498         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
26499         * tests/test-mbsrchr.c (ASSERT): Likewise.
26500         * tests/test-mbsspn.c (ASSERT): Likewise.
26501         * tests/test-mbsstr1.c (ASSERT): Likewise.
26502         * tests/test-mbsstr2.c (ASSERT): Likewise.
26503         * tests/test-mbsstr3.c (ASSERT): Likewise.
26504         * tests/test-memchr2.c (ASSERT): Likewise.
26505         * tests/test-memmem.c (ASSERT): Likewise.
26506         * tests/test-open.c (ASSERT): Likewise.
26507         * tests/test-printf-frexp.c (ASSERT): Likewise.
26508         * tests/test-printf-frexpl.c (ASSERT): Likewise.
26509         * tests/test-printf-posix.c (ASSERT): Likewise.
26510         * tests/test-quotearg.c (ASSERT): Likewise.
26511         * tests/test-rbtree_list.c (ASSERT): Likewise.
26512         * tests/test-rbtree_oset.c (ASSERT): Likewise.
26513         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
26514         * tests/test-round1.c (ASSERT): Likewise.
26515         * tests/test-roundf1.c (ASSERT): Likewise.
26516         * tests/test-roundl.c (ASSERT): Likewise.
26517         * tests/test-signbit.c (ASSERT): Likewise.
26518         * tests/test-sleep.c (ASSERT): Likewise.
26519         * tests/test-snprintf-posix.c (ASSERT): Likewise.
26520         * tests/test-snprintf.c (ASSERT): Likewise.
26521         * tests/test-sprintf-posix.c (ASSERT): Likewise.
26522         * tests/test-stat-time.c (ASSERT): Likewise.
26523         * tests/test-strcasestr.c (ASSERT): Likewise.
26524         * tests/test-strerror.c (ASSERT): Likewise.
26525         * tests/test-striconv.c (ASSERT): Likewise.
26526         * tests/test-striconveh.c (ASSERT): Likewise.
26527         * tests/test-striconveha.c (ASSERT): Likewise.
26528         * tests/test-strsignal.c (ASSERT): Likewise.
26529         * tests/test-strstr.c (ASSERT): Likewise.
26530         * tests/test-strtod.c (ASSERT): Likewise.
26531         * tests/test-trunc1.c (ASSERT): Likewise.
26532         * tests/test-trunc2.c (ASSERT): Likewise.
26533         * tests/test-truncf1.c (ASSERT): Likewise.
26534         * tests/test-truncf2.c (ASSERT): Likewise.
26535         * tests/test-truncl.c (ASSERT): Likewise.
26536         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
26537         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
26538         * tests/test-vasnprintf.c (ASSERT): Likewise.
26539         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
26540         * tests/test-vasprintf.c (ASSERT): Likewise.
26541         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
26542         * tests/test-vprintf-posix.c (ASSERT): Likewise.
26543         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
26544         * tests/test-vsnprintf.c (ASSERT): Likewise.
26545         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
26546         * tests/test-wcwidth.c (ASSERT): Likewise.
26547         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
26548         * tests/test-xprintf-posix.c (ASSERT): Likewise.
26549         * tests/test-xvasprintf.c (ASSERT): Likewise.
26550         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
26551         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
26552         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
26553         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
26554         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
26555         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
26556         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
26557         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
26558         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
26559         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
26560         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
26561         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
26562         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
26563         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
26564         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
26565         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
26566         * tests/unictype/test-block_list.c (ASSERT): Likewise.
26567         * tests/unictype/test-block_of.c (ASSERT): Likewise.
26568         * tests/unictype/test-block_test.c (ASSERT): Likewise.
26569         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
26570         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
26571         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
26572         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
26573         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
26574         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
26575         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
26576         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
26577         * tests/unictype/test-combining.c (ASSERT): Likewise.
26578         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
26579         * tests/unictype/test-digit.c (ASSERT): Likewise.
26580         * tests/unictype/test-mirror.c (ASSERT): Likewise.
26581         * tests/unictype/test-numeric.c (ASSERT): Likewise.
26582         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
26583         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
26584         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
26585         * tests/unictype/test-scripts.c (ASSERT): Likewise.
26586         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
26587         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
26588         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
26589         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
26590         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
26591         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
26592         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
26593         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
26594         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
26595         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
26596         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
26597         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
26598         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
26599         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
26600         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
26601         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
26602         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
26603         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
26604         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
26605         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
26606         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
26607         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
26608         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
26609         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
26610         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
26611         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
26612         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
26613         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
26614         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
26615         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
26616         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
26617         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
26618         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
26619         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
26620         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
26621         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
26622         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
26623         Reported by Eric Blake.
26624
26625 2008-04-11  Bruno Haible  <bruno@clisp.org>
26626
26627         * lib/wchar.in.h: Tweak comment.
26628
26629 2008-04-11  Bruno Haible  <bruno@clisp.org>
26630
26631         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
26632         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
26633         gl_COMMON.
26634         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
26635
26636 2008-04-11  Bruno Haible  <bruno@clisp.org>
26637
26638         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
26639
26640 2008-04-11  Simon Josefsson  <simon@josefsson.org>
26641
26642         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
26643         of attempting to use non-existing /dev/*random.  Based on patch
26644         from Adam Strzelecki <ono@java.pl> in
26645         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
26646
26647 2008-04-08  Bruno Haible  <bruno@clisp.org>
26648
26649         Add tentative support for emx+gcc.
26650         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
26651         * lib/fpurge.c (fpurge): Likewise.
26652         * lib/freadable.c (freadable): Likewise.
26653         * lib/freadahead.c (freadahead): Likewise.
26654         * lib/freading.c (freading): Likewise.
26655         * lib/freadptr.c (freadptr): Likewise.
26656         * lib/freadseek.c (freadptrinc): Likewise.
26657         * lib/fseeko.c (rpl_fseeko): Likewise.
26658         * lib/fseterr.c (fseterr): Likewise.
26659         * lib/fwritable.c (fwritable): Likewise.
26660         * lib/fwriting.c (fwriting): Likewise.
26661         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
26662
26663 2008-04-09  Eric Blake  <ebb9@byu.net>
26664
26665         Avoid some autoconf warnings.
26666         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
26667         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
26668         * m4/afs.m4 (gl_AFS): Likewise.
26669         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
26670         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
26671         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26672         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
26673         (gl_INTEGER_TYPE_SUFFIX): Likewise.
26674         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
26675         (AC_CHECK_DECLS_ONCE): Likewise.
26676         Rename file...
26677         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
26678         gnulib-tool requires autoconf 2.59 or better.
26679         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
26680
26681 2008-04-08  Eric Blake  <ebb9@byu.net>
26682
26683         Use 'git describe --match' if present (added in git 1.5.5).
26684         * build-aux/git-version-gen: Limit result to tags that match 'v*'
26685         if possible.
26686
26687 2008-04-08  Bruno Haible  <bruno@clisp.org>
26688
26689         Add tentative support for OpenServer.
26690         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
26691         _ptr, _cnt.
26692         * lib/fpurge.c (fpurge): Likewise.
26693         * lib/freadable.c (freadable): Likewise.
26694         * lib/freadahead.c (freadahead): Likewise.
26695         * lib/freading.c (freading): Likewise.
26696         * lib/freadptr.c (freadptr): Likewise.
26697         * lib/freadseek.c (freadptrinc): Likewise.
26698         * lib/fseeko.c (rpl_fseeko): Likewise.
26699         * lib/fseterr.c (fseterr): Likewise.
26700         * lib/fwritable.c (fwritable): Likewise.
26701         * lib/fwriting.c (fwriting): Likewise.
26702         Reported by Roger Cornelius <rac@tenzing.org> and
26703         Brian K. White <brian@aljex.com>.
26704
26705 2008-04-06  Jim Meyering  <meyering@redhat.com>
26706
26707         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
26708
26709 2008-04-06  Bruno Haible  <bruno@clisp.org>
26710
26711         Avoid possible error with non-ASCII bytes in UTF-8 locales.
26712         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
26713         * tests/test-printf-posix.sh: Likewise.
26714         * tests/test-vfprintf-posix.sh: Likewise.
26715         * tests/test-vprintf-posix.sh: Likewise.
26716         * tests/test-xprintf-posix.sh: Likewise.
26717
26718 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26719
26720         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
26721         hide error from 'ls', needed on OS/2.
26722         Report by Elbert Pol <elbert.pol@gmail.com>.
26723
26724 2008-04-04  Eric Blake  <ebb9@byu.net>
26725
26726         Make test-fseeko.c failures meaningful.
26727         * tests/test-fseeko.c: Print line number on failure.
26728         * tests/test-fseek.c: Likewise.
26729         Reported by Nelson H. F. Beebe.
26730
26731         Improve strtod bug detection check.
26732         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
26733         required for Solaris 10.
26734         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
26735
26736 2008-04-04  Bruno Haible  <bruno@clisp.org>
26737
26738         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
26739         by m4/setenv.m4.
26740
26741 2008-04-03  Eric Blake  <ebb9@byu.net>
26742
26743         Ensure sane .version contents.
26744         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
26745         version string.
26746         * build-aux/git-version-gen: Improve documentation.
26747
26748         Make GNU make output nicer.
26749         * top/GNUmakefile [!_have-Makefile]: Add dependency on
26750         MAKECMDGOALS to enforce message for all command line targets.  Set
26751         srcdir for use in maint.mk.
26752
26753         Another maintainer tweak.
26754         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
26755         a target that regenerates version.
26756
26757 2008-04-03  Jim Meyering  <meyering@redhat.com>
26758
26759         vc-list-files: don't cause coreutils "make po-check" failure
26760         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
26761
26762 2008-04-03  Eric Blake  <ebb9@byu.net>
26763
26764         Allow VPATH usage of vc-list-files.
26765         * build-aux/vc-list-files (scriptversion): Add timestamp.
26766         (options): Add --help, --version, -C.
26767         (CVS): Support installed cvsu.
26768
26769 2008-04-02  Bruno Haible  <bruno@clisp.org>
26770
26771         Avoid some "statement with no effect" warnings from gcc.
26772         * tests/test-wctype.c (main): Explicitly ignore unused values.
26773         Reported by Jim Meyering.
26774
26775 2008-04-02  Jim Meyering  <meyering@redhat.com>
26776
26777         Avoid some warnings from "gcc -Wshadow".
26778         * tests/test-frexp.c (exp): Define to a different identifier.
26779         * tests/test-frexpl.c (exp): Likewise.
26780
26781 2008-04-03  Jim Meyering  <meyering@redhat.com>
26782
26783         bootstrap: remove dangling *.[ch] symlinks from lib
26784         * build-aux/bootstrap [dangling symlink removal]: Move find's
26785         -depth option to precede all others, to avoid a warning.
26786         Remove *.[ch] files too, and from "$source_base" (usually lib/).
26787
26788 2008-04-02  Bruno Haible  <bruno@clisp.org>
26789
26790         Avoid some warnings from "gcc -Wshadow".
26791         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
26792         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
26793         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
26794         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
26795         Reported by Jim Meyering.
26796
26797 2008-04-01  Bruno Haible  <bruno@clisp.org>
26798
26799         Fix test to work on IRIX 6.5 with cc.
26800         * tests/test-math.c (numeric_equal): New function.
26801         (main): Use it.
26802
26803 2008-04-01  Bruno Haible  <bruno@clisp.org>
26804
26805         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
26806
26807 2008-04-01  Bruno Haible  <bruno@clisp.org>
26808
26809         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
26810         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26811         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
26812         (Depends-on): Remove math.
26813
26814         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
26815         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26816         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
26817         (Depends-on): Remove math.
26818
26819         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
26820         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26821         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
26822         (Depends-on): Remove math.
26823         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
26824         (Depends-on): Remove math.
26825
26826         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
26827         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26828         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
26829         (Depends-on): Remove math.
26830         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
26831         (Depends-on): Remove math.
26832
26833         * tests/test-round1.c: Include nan.h.
26834         (main): Use NaNd instead of NAN.
26835         * modules/round-tests (Files): Add tests/nan.h.
26836
26837         * tests/test-trunc1.c: Include nan.h.
26838         (main): Use NaNd instead of NAN.
26839         * modules/trunc-tests (Files): Add tests/nan.h.
26840
26841         * tests/test-roundf1.c: Include nan.h.
26842         (main): Use NaNf instead of NAN.
26843         * modules/roundf-tests (Files): Add tests/nan.h.
26844
26845         * tests/test-truncf1.c: Include nan.h.
26846         (main): Use NaNf instead of NAN.
26847         * modules/truncf-tests (Files): Add tests/nan.h.
26848
26849         * tests/test-ceilf1.c: Include nan.h.
26850         (main): Use NaNf instead of NAN.
26851         * modules/ceilf-tests (Files): Add tests/nan.h.
26852
26853         * tests/test-floorf1.c: Include nan.h.
26854         (main): Use NaNf instead of NAN.
26855         * modules/floorf-tests (Files): Add tests/nan.h.
26856
26857         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
26858         (main): Use NaNf instead of NAN.
26859         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
26860
26861         * tests/test-isnand.c: Include nan.h instead of <math.h>.
26862         (main): Use NaNd instead of NAN.
26863         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
26864
26865         * tests/test-frexp.c: Include nan.h.
26866         (main): Use NaNd instead of NAN.
26867         * modules/frexp-tests (Files): Add tests/nan.h.
26868
26869         * lib/isnan.c: Don't include <math.h>.
26870         (FUNC): Don't use NAN macro.
26871         * modules/isnand-nolibm (Depends-on): Remove math.
26872         * modules/isnanf-nolibm (Depends-on): Remove math.
26873         * modules/isnanl (Depends-on): Remove math.
26874         * modules/isnanl-nolibm (Depends-on): Remove math.
26875
26876         * tests/nan.h: New file.
26877
26878 2008-04-01  Eric Blake  <ebb9@byu.net>
26879
26880         Fix typos.
26881         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
26882         values to be the right type.
26883
26884         For now, cater to gnulib strtod inaccuracies.
26885         * tests/test-strtod.c (main): Allow 1-ulp error on expected
26886         fractional results.  While not as nice from a QoI perspective, it
26887         is a quicker patch than correctly implementing decimal to binary
26888         rounding.
26889
26890 2008-03-31  Eric Blake  <ebb9@byu.net>
26891
26892         Guarantee a definition of NAN.
26893         * lib/math.in.h (NAN): Define if missing.
26894         * tests/test-math.c (main): Test it.
26895         * doc/posix-headers/math.texi (math.h): Document this.
26896         * lib/isnan.c (rpl_isnand): Use it.
26897         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
26898         * tests/test-floorf1.c (NaN): Likewise.
26899         * tests/test-frexp.c (NaN): Likewise.
26900         * tests/test-isnand.c (NaN): Likewise.
26901         * tests/test-isnanf.c (NaN): Likewise.
26902         * tests/test-round1.c (NaN): Likewise.
26903         * tests/test-roundf1.c (NaN): Likewise.
26904         * tests/test-snprintf-posix.h (NaN): Likewise.
26905         * tests/test-sprintf-posix.h (NaN): Likewise.
26906         * tests/test-trunc1.c (NaN): Likewise.
26907         * tests/test-truncf1.c (NaN): Likewise.
26908         * tests/test-vasnprintf-posix.c (NaN): Likewise.
26909         * tests/test-vasprintf-posix.c (NaN): Likewise.
26910         * modules/isnand-nolibm (Depends-on): Add math.
26911         * modules/isnanf-nolibm (Depends-on): Likewise.
26912         * modules/isnanl (Depends-on): Likewise.
26913         * modules/isnanl-nolibm (Depends-on): Likewise.
26914         * modules/snprintf-posix-tests (Depends-on): Likewise.
26915         * modules/sprintf-posix-tests (Depends-on): Likewise.
26916         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
26917         * modules/vsprintf-posix-tests (Depends-on): Likewise.
26918         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
26919         * modules/vasprintf-posix-tests (Depends-on): Likewise.
26920
26921 2008-03-31  Bruno Haible  <bruno@clisp.org>
26922
26923         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
26924         * doc/posix-functions/strtod.texi: Likewise.
26925
26926 2008-03-31  Bruno Haible  <bruno@clisp.org>
26927
26928         * tests/test-strtod.c (main): Don't use C99 syntax.
26929
26930 2008-03-31  Bruno Haible  <bruno@clisp.org>
26931
26932         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
26933         Reported by Eric Blake.
26934
26935 2008-03-31  Jim Meyering  <meyering@redhat.com>
26936
26937         Don't compare actual signbit return values.
26938         * tests/test-strtod.c (main): Rather, compare only their
26939         zero/non-zero nature.
26940
26941 2008-03-31  Eric Blake  <ebb9@byu.net>
26942
26943         More strtod documentation.
26944         * doc/posix-functions/strtod.texi (strtod): Interpret more test
26945         failures as distinct bugs.
26946
26947 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26948
26949         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
26950         Problem reported by Erik Benada in
26951         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
26952
26953 2008-03-30  Bruno Haible  <bruno@clisp.org>
26954
26955         * tests/test-strtod.c: Add comments about which assertion fails on which
26956         platform.
26957         * doc/posix-functions/strtod.texi: Add info about many more platforms.
26958
26959 2008-03-30  Eric Blake  <ebb9@byu.net>
26960
26961         Test signbit behavior on zeros.
26962         * tests/test-signbit.c (test_signbitf): Add tests for zero.
26963         (test_signbitd, test_signbitl): Likewise.
26964
26965         More strtod touchups.
26966         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
26967         sign of negative underflow, for now.  Use .5, not .1.
26968         * doc/posix-functions/strtod.texi (strtod): Mention these
26969         limitations.
26970         Reported by Jim Meyering.
26971
26972 2008-03-30  Bruno Haible  <bruno@clisp.org>
26973
26974         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
26975         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
26976
26977 2008-03-30  Bruno Haible  <bruno@clisp.org>
26978
26979         Avoid failure when attempting to return empty iconv results on some
26980         platforms.
26981         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
26982         allocation, don't report ENOMEM when the resulting string is empty.
26983
26984 2008-03-30  Bruno Haible  <bruno@clisp.org>
26985
26986         Fix buffer overrun.
26987         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
26988         Don't consider the width for tmp_length. Check count against tmp_length
26989         before doing the padding. Ensure enough allocation during padding.
26990
26991 2008-03-30  Eric Blake  <ebb9@byu.net>
26992
26993         strtod touchups.
26994         * lib/strtod.c (strtod): Avoid compiler warnings.
26995         Reported by Jim Meyering.
26996
26997 2008-03-30  Bruno Haible  <bruno@clisp.org>
26998
26999         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
27000         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
27001         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
27002         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
27003         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
27004         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
27005         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
27006         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
27007
27008         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
27009         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
27010         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
27011         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
27012         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
27013         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
27014         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
27015         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
27016
27017         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
27018         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
27019         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
27020         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
27021         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
27022         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
27023         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
27024         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
27025
27026         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
27027         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
27028
27029         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
27030         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
27031
27032         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
27033         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
27034
27035         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
27036         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
27037         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
27038
27039         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
27040         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
27041         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
27042
27043         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
27044         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
27045         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
27046
27047         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
27048         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
27049         * modules/vasprintf (Depends-on): Add EOVERFLOW.
27050
27051         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
27052         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
27053         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
27054         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
27055         (Depends-on): Add EOVERFLOW.
27056         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
27057         (Depends-on): Add EOVERFLOW.
27058         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27059         (Depends-on): Add EOVERFLOW.
27060         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
27061         (Depends-on): Add EOVERFLOW.
27062         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27063         (Depends-on): Add EOVERFLOW.
27064         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
27065         (Depends-on): Add EOVERFLOW.
27066         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27067         (Depends-on): Add EOVERFLOW.
27068         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
27069         (Depends-on): Add EOVERFLOW.
27070
27071         * lib/sprintf.c (EOVERFLOW): Remove fallback.
27072         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
27073         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
27074
27075         * lib/snprintf.c (EOVERFLOW): Remove fallback.
27076         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
27077         * modules/snprintf (Depends-on): Add EOVERFLOW.
27078
27079         * lib/poll.c (EOVERFLOW): Remove fallback.
27080         * modules/poll (Depends-on): Add EOVERFLOW.
27081
27082         * lib/getugroups.c (EOVERFLOW): Remove fallback.
27083         * modules/getugroups (Depends-on): Add EOVERFLOW.
27084
27085         * lib/getdelim.c (EOVERFLOW): Remove fallback.
27086         * modules/getdelim (Depends-on): Add EOVERFLOW.
27087
27088         * lib/ftell.c (EOVERFLOW): Remove fallback.
27089         * modules/ftell (Depends-on): Add EOVERFLOW.
27090
27091         * lib/fprintf.c (EOVERFLOW): Remove fallback.
27092         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
27093         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
27094
27095         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
27096
27097         * modules/EOVERFLOW-tests: New file.
27098         * tests/test-EOVERFLOW.c: New file.
27099
27100         * modules/EOVERFLOW: New file.
27101         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
27102
27103 2008-03-30  Bruno Haible  <bruno@clisp.org>
27104
27105         Fix bug introduced on 2007-06-10.
27106         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
27107         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
27108
27109 2008-03-30  Bruno Haible  <bruno@clisp.org>
27110
27111         Improve freadseek's efficiency after ungetc.
27112         * lib/freadseek.c: Include freadahead.h.
27113         (freadptrinc): New function, extracted from freadseek.
27114         (freadseek): Use it in a loop. Use freadahead to determine the number
27115         of loop iterations.
27116         * modules/freadseek (Depends-on): Add freadahead.
27117         (configure.ac): Require AC_C_INLINE.
27118
27119 2008-03-30  Bruno Haible  <bruno@clisp.org>
27120
27121         * lib/freadseek.c (freadseek): Don't ignore the return value of
27122         freadptr.
27123
27124 2008-03-29  Eric Blake  <ebb9@byu.net>
27125
27126         Add hex float support.
27127         * modules/strtod (Depends-on): Add c-ctype.
27128         (Link): Mention POW_LIB.
27129         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
27130         whitespace between 'e' and exponent.
27131         * tests/test-strtod.c (main): Enable hex float tests.
27132         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
27133         now provides.
27134
27135         Document various strtod bugs, with some fixes.
27136         * doc/posix-functions/strtod.texi (strtod): Document bugs with
27137         "-0x", "inf", "nan", and hex constants.
27138         * doc/posix-functions/atof.texi (atof): Likewise.
27139         * modules/stdlib (Makefile.am): Support strtod.
27140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
27141         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
27142         detect additional strtod bugs.
27143         * lib/stdlib.in.h (rpl_strtod): Add declarations.
27144         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
27145         bool where appropriate.  Parse 'inf' and 'nan'.
27146         * tests/test-strtod.c: New file.
27147         * modules/strtod (Depends-on): Add stdbool, stdlib.
27148         (configure.ac): Turn on module indicator.
27149         * modules/strtod-tests: New module.
27150
27151 2008-03-29  Eric Blake  <ebb9@byu.net>
27152
27153         Fix ftell on mingw.
27154         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
27155         * modules/ftell-tests (Depends-on): Add binary-io.
27156         * modules/ftello-tests (Depends-on): Likewise.
27157         * tests/test-ftell.c (main): Enhance test to cover behavior after
27158         ungetc.  Enforce binary mode.
27159         * tests/test-ftello.c (main): Likewise.
27160
27161         Pass test-freadseek on cygwin.
27162         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
27163         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
27164         ungetc buffer.
27165
27166         * tests/test-fflush2.c (main): Fix typo.
27167
27168 2008-03-29  Bruno Haible  <bruno@clisp.org>
27169
27170         * tests/test-fflush2.c (main): Temporarily disable the contents of
27171         this test.
27172         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
27173         Reported by Eric Blake.
27174
27175 2008-03-28  Simon Josefsson  <simon@josefsson.org>
27176
27177         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
27178         (GC_SHA224_DIGEST_SIZE): Add.
27179
27180         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
27181         (gc_hash_digest_length): Likewise.
27182         (gc_hash_buffer): Likewise.
27183
27184 2008-03-25  Bruno Haible  <bruno@clisp.org>
27185
27186         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
27187         detail which gettext release to use.
27188         Reported by Simon Josefsson.
27189
27190 2008-03-26  Jim Meyering  <meyering@redhat.com>
27191
27192         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
27193         * modules/gnumakefile (clean-GNUmakefile): Also, use
27194         test ... && ... || : syntax rather than if-then ... fi.
27195
27196         gnumakefile: Don't double-quote-expand $(VPATH) value.
27197         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
27198
27199 2008-03-24  Eric Blake  <ebb9@byu.net>
27200
27201         Alter GNUmakefile to install into top directory.
27202         * modules/maintainer-makefile: Split, and add dependency...
27203         * modules/gnumakefile: to this new module.
27204         * build-aux/GNUmakefile: Move...
27205         * top/GNUmakefile: ...here.
27206         * build-aux/maint.mk: Move...
27207         * top/maint.mk: ...here.
27208         * MODULES.html.sh (Support for maintaining...): Document new
27209         module.
27210
27211 2008-03-23  Bruno Haible  <bruno@clisp.org>
27212
27213         * gnulib-tool: New options --vc-files, --no-vc-files.
27214         (func_usage): Document them.
27215         (vc_files): New variable.
27216         (func_import): Consider vc_files.
27217         (func_create_testdir): Set vc_files to empty.
27218         Suggested by Jim Meyering and Karl Berry.
27219
27220 2008-03-23  Bruno Haible  <bruno@clisp.org>
27221
27222         Fix regex compilation error on HP-UX 11.
27223         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
27224         * modules/regex (Files): Add m4/mbstate_t.m4.
27225         Reported by Ton Voon <ton.voon@altinity.com>.
27226
27227 2008-03-23  Bruno Haible  <bruno@clisp.org>
27228
27229         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
27230
27231 2008-03-23  Eric Blake  <ebb9@byu.net>
27232             Bruno Haible  <bruno@clisp.org>
27233
27234         Install files from top/ in the destination directory.
27235         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
27236         augmentation also for the files from top/.
27237         (func_import, func_create_testdir): Rewrite file names:
27238         top/filename -> filename.
27239
27240 2008-03-23  Bruno Haible  <bruno@clisp.org>
27241
27242         Tweak "gnulib --version" output.
27243         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
27244
27245 2008-03-23  Bruno Haible  <bruno@clisp.org>
27246
27247         Tweak "gnulib --version" output.
27248         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
27249         rather than contents of ChangeLog, when possible.
27250
27251 2008-03-21  Eric Blake  <ebb9@byu.net>
27252
27253         More --version tweaks.
27254         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
27255         date of last ChangeLog entry.
27256
27257 2008-03-21  Jim Meyering  <meyering@redhat.com>
27258
27259         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
27260
27261 2008-03-20  Eric Blake  <ebb9@byu.net>
27262
27263         VPATH fix.
27264         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
27265
27266 2008-03-20  Simon Josefsson  <simon@josefsson.org>
27267
27268         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
27269         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
27270
27271 2008-03-20  Eric Blake  <ebb9@byu.net>
27272
27273         Sync GNUmakefile with coreutils.
27274         * build-aux/GNUmakefile (have-Makefile): Rename...
27275         (_have-Makefile): ...to this, for namespace consideration.
27276         (GNUmakefile.cfg): Include, if present.
27277         (_autoreconf): Define a default.
27278         (_is-dist-target): New rule for rebuilds to pick up intra-release
27279         version.
27280         (maint-cfg.mk): Rename...
27281         (cfg.mk): ...to this.
27282
27283 2008-03-18  Jim Meyering  <meyering@redhat.com>
27284
27285         New script and module: mktempd
27286         * MODULES.html.sh (maint+release support): Add mktempd.
27287         * build-aux/mktempd: New file.
27288         * modules/mktempd: New file.
27289
27290 2008-03-15  Jim Meyering  <meyering@redhat.com>
27291
27292         Undo last change.
27293         * lib/sha1.c, lib/md5.c: 63 != ~63.
27294         Reported by Andreas Schwab.
27295
27296         sha1.c, md5.c: Hoist a redundant expression.
27297         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
27298         "ctx->buflen" only once, before calling *_process_block.
27299         * lib/md5.c (md5_process_bytes): Likewise.
27300
27301 2008-03-14  Eric Blake  <ebb9@byu.net>
27302
27303         Bump copyright year in files generated by gnulib-tool.
27304         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
27305         gnulib-tool, rather than hard-coding it.
27306
27307         Fix 'gnulib-tool --version' output to work with git.
27308         * gnulib-tool (func_gnulib_dir): New function, extracted from...
27309         (startup): ...here.
27310         (func_version): Use it to invoke git-version-gen, rather than
27311         relying on CVS keyword expansion.  Modernize wording.
27312         (cvsdatestamp, last_checkin_date, version): Kill unused
27313         variables.
27314
27315 2008-03-12  Jim Meyering  <meyering@redhat.com>
27316
27317         Recognize optional cast of the argument to free.
27318         * build-aux/useless-if-before-free: Update regexps.
27319
27320         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
27321
27322 2008-03-11  Bruno Haible  <bruno@clisp.org>
27323
27324         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
27325         by a single package.
27326         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
27327         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
27328         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
27329         Reported by Sam Steingold <sds@gnu.org>.
27330
27331 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27332
27333         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
27334         repositories.
27335
27336 2008-03-11  Bruno Haible  <bruno@clisp.org>
27337
27338         Avoid conflicts between local macro definitions.
27339         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27340         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
27341
27342 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
27343             Bruno Haible  <bruno@clisp.org>
27344
27345         Make va_copy work with some version of xlc on AIX 5.1.
27346         * lib/stdarg.in.h: New file.
27347         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
27348         On AIX, use a <stdarg.h> file substitute.
27349         * modules/stdarg (Files): Add lib/stdarg.in.h.
27350         (Depends-on): Add include_next.
27351         (Makefile.am): Build a stdarg.h substitute if requested.
27352         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
27353
27354 2008-03-10  Bruno Haible  <bruno@clisp.org>
27355
27356         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
27357         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27358         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27359
27360 2008-03-10  Bruno Haible  <bruno@clisp.org>
27361
27362         * modules/stdlib (Depends-on): Add include_next, remove
27363         absolute-header.
27364
27365 2008-03-09  Bruno Haible  <bruno@clisp.org>
27366
27367         * lib/freadahead.h (freadahead): Document more precisely.
27368         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
27369         the sum of both buffer sizes.
27370         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
27371         * NEWS: Document the change.
27372
27373 2008-03-09  Bruno Haible  <bruno@clisp.org>
27374
27375         Extend freadptr to return also the buffer size.
27376         * lib/freadptr.h (freadptr): Add sizep argument.
27377         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
27378         (freadptr): Add sizep argument. Determine buffer size like freadahead
27379         does.
27380         * tests/test-freadptr.c: Don't include freadahead.h.
27381         (main): Adapt for new calling convention of freadptr.
27382         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
27383         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
27384         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
27385         tests/test-freadptr2.sh.
27386         (Depends): Remove freadahead.
27387         (TESTS): Add test-freadptr2.sh.
27388         (check_PROGRAMS): Add test-freadptr2.
27389
27390 2008-03-09  Bruno Haible  <bruno@clisp.org>
27391
27392         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
27393         Report and solution by Simon Josefsson.
27394
27395 2008-03-06  Bruno Haible  <bruno@clisp.org>
27396
27397         Make fflush after ungetc work on BSD platforms.
27398         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
27399         * tests/test-fflush2.c: New file.
27400         * tests/test-fflush2.sh: New file.
27401         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
27402         tests/test-fflush2.c.
27403         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
27404         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
27405
27406 2008-03-06  Eric Blake  <ebb9@byu.net>
27407
27408         Likewise for ftello.
27409         * modules/ftello (Dependencies): Add extensions.
27410         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
27411
27412 2008-03-06  Bruno Haible  <bruno@clisp.org>
27413
27414         * modules/fseeko (Dependencies): Add extensions.
27415         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
27416         Needed on glibc systems.
27417
27418 2008-03-06  Bruno Haible  <bruno@clisp.org>
27419
27420         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
27421         email address.
27422         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27423
27424 2008-03-06  Bruno Haible  <bruno@clisp.org>
27425
27426         * users.txt: Add libgnupdf.
27427
27428 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27429
27430         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
27431         (Header File Substitutes, Function Substitutes,
27432         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
27433         (Build robot for gnulib): Fix typo.
27434
27435 2008-03-06  Bruno Haible  <bruno@clisp.org>
27436
27437         * doc/gnulib-tool.texi (VCS Issues): Small updates.
27438         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27439
27440 2008-03-06  Bruno Haible  <bruno@clisp.org>
27441
27442         * doc/func.texi: New file, extracted from doc/gnulib.texi.
27443         * doc/gnulib.texi: Include it.
27444
27445 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27446
27447         * modules/func (License): Change license to unlimited; there was
27448         no LGPL parts in the module anyway.
27449
27450 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27451
27452         * modules/__func__: Renamed to modules/func.
27453         * modules/__func__-tests: Renamed to modules/func-tests.
27454         * tests/test-__func__.c: Renamed to tests/test-func.c.
27455         * m4/__func__.m4: Renamed to m4/func.m4.
27456         * doc/gnulib.texi (__func__): Section renamed to func.
27457         Suggested by Eric Blake <ebb9@byu.net>.
27458
27459 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27460
27461         * doc/gnulib.texi (__func__): Use C99 terminology when talking
27462         about __func__.  Make example self-contained.  Suggested by Eric
27463         Blake <ebb9@byu.net>.
27464
27465         * tests/test-__func__.c (main): Avoid extraneous () around __func.
27466         Suggested by Eric Blake <ebb9@byu.net>.
27467
27468 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27469
27470         * modules/__func__: New file.
27471         * modules/__func__-tests: New file.
27472         * tests/test-__func__.c: New file.
27473         * m4/__func__.m4: New file.
27474         * doc/gnulib.texi (__func__): Document __func__ module.
27475
27476 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27477
27478         * modules/byteswap (License): Re-license as LGPLv2+.
27479
27480 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27481
27482         * doc/Makefile: Add pdf target.
27483
27484 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27485
27486         * modules/inline (License): Use 'unlimited', since there are only
27487         *.m4 files in this module.
27488
27489 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27490             Bruno Haible  <bruno@clisp.org>
27491
27492         Add support for HP C 7.1 on OpenVMS 8.3.
27493         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
27494
27495 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27496
27497         Update VMS specifics.
27498         * lib/getopt.c [VMS]: Remove include of unixlib.h.
27499
27500 2008-03-02  Jim Meyering  <meyering@redhat.com>
27501
27502         Remove the last dependency on the "free" module.
27503         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
27504         Reported by Bob Proulx.
27505
27506         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
27507
27508         Remove useless "if" tests before free.  Deprecate "free" module.
27509         * doc/posix-functions/free.texi: Mention that this
27510         module is no longer useful.
27511         * modules/free (Notice): Say this module is obsolete.
27512         * modules/readutmp (Depends-on): Remove free.
27513         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
27514         * lib/putenv.c (putenv): Likewise.
27515         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
27516         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
27517         * tests/test-c-strcasestr.c (main): Likewise.
27518         * tests/test-c-strstr.c (main): Likewise.
27519         * tests/test-mbscasestr1.c (main): Likewise.
27520         * tests/test-mbscasestr2.c (main): Likewise.
27521         * tests/test-mbsstr1.c (main): Likewise.
27522         * tests/test-mbsstr2.c (main): Likewise.
27523         * tests/test-memmem.c (main): Likewise.
27524         * tests/test-strcasestr.c (main): Likewise.
27525         * tests/test-striconv.c (main): Likewise.
27526         * tests/test-striconveh.c (main): Likewise.
27527         * tests/test-striconveha.c (main): Likewise.
27528         * tests/test-strstr.c (main): Likewise.
27529
27530         * build-aux/git-version-gen: Adjust a comment and the Usage string.
27531
27532         bootstrap: sync from coreutils again
27533         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
27534
27535 2008-03-01  Jim Meyering  <meyering@redhat.com>
27536
27537         bootstrap: sync from coreutils
27538         * build-aux/bootstrap (update_po_files): Copy a .po file into place
27539         also when the target doesn't exist.
27540
27541 2008-03-01  Eric Blake  <ebb9@byu.net>
27542
27543         Fix bugs in last patch.
27544         * lib/memchr2.c (memchr2): Fix typo.
27545         * tests/test-memchr2.c: Test previous bug, and don't use GNU
27546         extension.
27547         Reported by Bruce Korb.
27548
27549         New module 'memchr2'.
27550         * modules/memchr2: New file.
27551         * modules/memchr2-tests: Likewise.
27552         * lib/memchr2.h: Likewise.
27553         * lib/memchr2.c: Likewise, based on memchr.c.
27554         * tests/test-memchr2.c: New test.
27555         * MODULES.html.sh (String handling): Add memchr2.
27556
27557 2008-02-29  Bruno Haible  <bruno@clisp.org>
27558
27559         * modules/freadseek-tests: New file.
27560         * tests/test-freadseek.sh: New file.
27561         * tests/test-freadseek.c: New file.
27562
27563         New module 'freadseek'.
27564         * modules/freadseek: New file.
27565         * lib/freadseek.h: New file.
27566         * lib/freadseek.c: New file.
27567         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
27568
27569 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27570
27571         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
27572         wydawca.
27573
27574         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
27575         program_invocation_name and program_invocation_short_name are
27576         present.
27577
27578 2008-02-28  Bruno Haible  <bruno@clisp.org>
27579
27580         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
27581         * tests/test-freadptr.sh: Also test non-seekable stdin.
27582
27583 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
27584
27585         * build-aux/bootstrap (source_base, m4_base)
27586         (doc_base, tests_base): New variables.
27587         (gnulib_tool_options): Do not hardcode base directories, use
27588         the above variables instead.
27589
27590 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
27591
27592         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
27593
27594 2008-02-28  Bruno Haible  <bruno@clisp.org>
27595
27596         * modules/freadptr-tests: New file.
27597         * tests/test-freadptr.sh: New file.
27598         * tests/test-freadptr.c: New file.
27599
27600         New module 'freadptr'.
27601         * modules/freadptr: New file.
27602         * lib/freadptr.h: New file.
27603         * lib/freadptr.c: New file.
27604         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
27605
27606 2008-02-26  Karl Berry  <karl@freefriends.org>
27607
27608         Sync from Libtool:
27609         * libltdl/argz.c (argz_add, argz_count): New functions.
27610         * libltdl/argz.in.h: Declare them.
27611         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
27612
27613 2008-02-22  Bruno Haible  <bruno@clisp.org>
27614
27615         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
27616         is a pointer type.  Needed for HP-UX 10.
27617         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
27618         * doc/posix-functions/gmtime_r.texi: Likewise.
27619         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27620
27621 2008-02-24  Bruno Haible  <bruno@clisp.org>
27622
27623         * modules/environ-tests: New file.
27624         * tests/test-environ.c: New file.
27625
27626         New module 'environ'.
27627         * modules/environ: New file.
27628         * lib/unistd.in.h (environ): New declaration.
27629         * m4/environ.m4: New file.
27630         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
27631         after use.
27632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
27633         HAVE_DECL_ENVIRON.
27634         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
27635         HAVE_DECL_ENVIRON.
27636         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
27637         wrong claim that 'environ' is missing on some systems.
27638         * modules/execute (Depends-on): Add environ.
27639         * lib/execute.c (environ): Remove fallback declaration.
27640         * modules/pipe (Depends-on): Add environ.
27641         * lib/pipe.c (environ): Remove fallback declaration.
27642         * modules/setenv (Depends-on): Add environ.
27643         * lib/setenv.c (environ): Remove fallback declaration.
27644         * modules/unsetenv (Depends-on): Add environ.
27645         * lib/unsetenv.c (environ): Remove fallback declaration.
27646         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
27647         m4/environ.m4.
27648         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
27649         (gl_PREREQ_UNSETENV): Likewise.
27650
27651 2008-02-24  Bruno Haible  <bruno@clisp.org>
27652
27653         * doc/posix-functions/environ.texi: Document the MacOS X problem.
27654
27655 2008-02-20  Bob Proulx  <bob@proulx.com>
27656
27657         Enable use of older two part flavor 'git describe'.
27658         * build-aux/git-version-gen: If using the older two part flavor of
27659         git version then recreate the third part now present in the
27660         newer three part flavor of git describe.
27661
27662 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
27663
27664         * lib/fts.c (fts_build): Typo correction to comment.
27665
27666 2008-02-17  Bruno Haible  <bruno@clisp.org>
27667
27668         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
27669         generating no-op conflicts.
27670
27671 2008-02-17  Bruno Haible  <bruno@clisp.org>
27672
27673         Speed up by 10%.
27674         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
27675         result_entries, rather than an index-based loop.
27676
27677 2008-02-17  Bruno Haible  <bruno@clisp.org>
27678
27679         Speed up by 25%.
27680         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
27681         'hashcode_cached'.
27682         (entry_create): New function.
27683         (entry_hashcode): Use the cached hashcode if possible.
27684         (read_changelog_file, try_split_merged_entry): Use entry_create.
27685
27686 2008-02-17  Bruno Haible  <bruno@clisp.org>
27687
27688         Speed up from O(n^2) to O(n) for long ChangeLog files.
27689         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
27690         (read_changelog_file): Change implementation of entries_reversed list
27691         to rbtreehash.
27692         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
27693
27694 2008-02-17  Bruno Haible  <bruno@clisp.org>
27695
27696         New option --split-merged-entry.
27697         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
27698         (find_paragraph_end, try_split_merged_entry): New functions.
27699         (long_options): Add option --split-merged-entry.
27700         (usage): Document option --split-merged-entry.
27701         (main): Implement option --split-merged-entry.
27702         Reported by Eric Blake.
27703
27704 2008-02-17  Bruno Haible  <bruno@clisp.org>
27705
27706         * lib/git-merge-changelog.c: Include c-strstr.h.
27707         (main): Support the "git pull --rebase" situation.
27708         * modules/git-merge-changelog (Depends-on): Add c-strstr.
27709         Reported by Eric Blake.
27710
27711 2008-02-16  Eric Blake  <ebb9@byu.net>
27712
27713         Avoid doubling \ in common case of "c-maybe" quoting style.
27714         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
27715         eliding outer quotes.
27716         * lib/quotearg.h: Document this.
27717         * tests/test-quotearg.c (result_strings, inputs, results_g)
27718         (flag_results, locale_results): Test it by adding a new string to
27719         each test group.
27720         (compare_strings): Test new string.
27721
27722 2008-02-13  Eric Blake  <ebb9@byu.net>
27723
27724         Avoid trigraph quoting in default output.
27725         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
27726         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
27727         unless explicitly requested.
27728         * tests/test-quotearg.c (flag_results, main): Add additional tests.
27729
27730 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
27731
27732         Don't rely on signed integer overflowing to negative value.
27733         * lib/getugroups.c (getugroups): Include <limits.h>.
27734         Instead, compare against INT_MAX, and increment only if the test passes.
27735
27736 2008-02-13  Jim Meyering  <meyering@redhat.com>
27737         and Eric Blake  <ebb9@byu.net>
27738
27739         Avoid shadowing warning and compile errors on Linux.
27740         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
27741         forwarding macros on Linux.
27742         (dcgettext): Define a stub, for Linux.
27743         (results_g, main): Avoid warnings.
27744
27745 2008-02-12  Eric Blake  <ebb9@byu.net>
27746
27747         Silence warning in last patch.
27748         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
27749
27750         Quotearg part 4: add tests, fix c-maybe colon quoting.
27751         * lib/quotearg.h: Improve documentation.
27752         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
27753         escapes when adding outer quotes.  When quoting trigraphs, use
27754         valid C notation.  When quoting NUL, omit extra characters if next
27755         character is not digit.  Alter prototype.
27756         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
27757         callers.
27758         * modules/quotearg-tests: New module.
27759         * tests/test-quotearg.c: New test.
27760
27761 2008-02-07  Eric Blake  <ebb9@byu.net>
27762
27763         Quotearg part 3: add flag to control outer quote elision.
27764         * lib/quotearg.h (c_maybe_quoting_style): New style.
27765         (enum quoting_flags): Better documentation of flags.
27766         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
27767         c-maybe style.
27768         (quotearg_buffer_restyled): Handle new flag to elide outer
27769         quotes.
27770
27771         Quotearg part 2: add flag that can control NUL elision.
27772         * lib/quotearg.h (set_quoting_flags): New prototype.
27773         * lib/quotearg.c (struct quoting_options): Add flag field.
27774         (set_quoting_flags): New function.
27775         (quotearg_buffer_restyled): Add flags parameter.
27776         (quotearg_alloc_mem): Set the flag if length cannot be returned.
27777         (quotearg_n_options): Set the flag, since length cannot be
27778         returned.
27779         (quoting_options_from_style): Default flags correctly.
27780
27781         Quotearg part 1: more wrappers, restore quotearg_char state.
27782         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
27783         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
27784         (quotearg_colon_mem): New wrappers.
27785         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
27786         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
27787         functions.
27788         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
27789         (quotearg_colon_mem): New functions.
27790
27791 2008-02-11  Bruno Haible  <bruno@clisp.org>
27792
27793         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
27794         library in the current directory: it does not work with parallel make.
27795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27796
27797 2008-02-11  Bruno Haible  <bruno@clisp.org>
27798
27799         * .gitattributes: New file.
27800
27801 2008-02-11  Jim Meyering  <meyering@redhat.com>
27802
27803         useless-if-before-free: Fix reversed exit values.
27804         * build-aux/useless-if-before-free: Use correct values
27805         for EXIT_MATCH and EXIT_NO_MATCH.
27806
27807         * build-aux/useless-if-before-free: Close stdout carefully.
27808
27809 2008-02-10  Bruno Haible  <bruno@clisp.org>
27810
27811         New module 'git-merge-changelog'.
27812         * modules/git-merge-changelog: New file.
27813         * lib/git-merge-changelog.c: New file.
27814
27815 2008-02-10  Jim Meyering  <meyering@redhat.com>
27816
27817         useless-if-before-free: New option: --list (-l).
27818
27819         useless-if-before-free: Don't exit immediately upon open failure.
27820         * build-aux/useless-if-before-free: Exit 2 for errors.
27821         Upon failure to open a file, don't exit immediately.
27822         Rather, just warn and continue with any remaining files.
27823
27824 2008-02-10  Bruno Haible  <bruno@clisp.org>
27825
27826         New abstract list operation 'node_set_value'.
27827         * lib/gl_list.h (gl_list_node_set_value): New function.
27828         (struct gl_list_implementation): New field node_set_value.
27829         * lib/gl_list.c (gl_list_node_set_value): New function.
27830         * lib/gl_array_list.c (gl_array_node_set_value): New function.
27831         (gl_array_list_implementation): Update.
27832         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
27833         (gl_carray_list_implementation): Update.
27834         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
27835         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
27836         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
27837         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
27838         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
27839         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
27840         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
27841         Update.
27842         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
27843         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
27844         (gl_sublist_list_implementation): Update.
27845
27846 2008-02-10  Bruno Haible  <bruno@clisp.org>
27847
27848         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
27849         Needed when ELEMENT is #defined to 'some_type *'.
27850
27851 2008-02-10  Jim Meyering  <meyering@redhat.com>
27852
27853         New script and module: useless-if-before-free
27854         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
27855         * build-aux/useless-if-before-free: New file.
27856         * modules/useless-if-before-free: New file.
27857
27858         * build-aux/gitlog-to-changelog: Use committer date, not author date.
27859
27860         xstrtol_error: Fix typo.
27861         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
27862         s/exit_failure/exit_status/.
27863
27864 2008-02-09  Jim Meyering  <meyering@redhat.com>
27865
27866         New script and module: gitlog-to-changelog
27867         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
27868         * modules/gitlog-to-changelog: New file.
27869         * build-aux/gitlog-to-changelog: New file.
27870
27871 2008-02-08  Jim Meyering  <meyering@redhat.com>
27872
27873         Avoid two "parameter unused" warnings.
27874         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
27875         Mark "st" as used.
27876
27877         Use "git COMMAND", not "git-COMMAND".
27878         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
27879         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
27880         * build-aux/git-version-gen: Use "git status", not "git-status".
27881
27882 2008-02-07  Bruno Haible  <bruno@clisp.org>
27883
27884         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
27885         Avoids a crash on Windows Vista.
27886         Reported by Adam Strzelecki <ono@java.pl> via
27887         Simon Josefsson <simon@josefsson.org>.
27888
27889 2008-02-06  Bruno Haible  <bruno@clisp.org>
27890
27891         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
27892         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
27893         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
27894         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
27895         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27896         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27897         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
27898         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
27899         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27900         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27901         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27902         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27903         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27904         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27905         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27906         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
27907         left-adjust flag.
27908         * tests/test-snprintf-posix.h (test_function): Likewise.
27909         * tests/test-sprintf-posix.h (test_function): Likewise.
27910         * tests/test-vasprintf-posix.c (test_function): Likewise.
27911         * doc/posix-functions/fprintf.texi: Update.
27912         * doc/posix-functions/printf.texi: Update.
27913         * doc/posix-functions/snprintf.texi: Update.
27914         * doc/posix-functions/sprintf.texi: Update.
27915         * doc/posix-functions/vfprintf.texi: Update.
27916         * doc/posix-functions/vprintf.texi: Update.
27917         * doc/posix-functions/vsnprintf.texi: Update.
27918         * doc/posix-functions/vsprintf.texi: Update.
27919         Reported by Peter Fales <psfales@alcatel-lucent.com>.
27920
27921 2008-02-06  Bruno Haible  <bruno@clisp.org>
27922
27923         Fix bug introduced on 2008-01-26.
27924         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
27925
27926 2008-02-06  Bruno Haible  <bruno@clisp.org>
27927
27928         Fix bug introduced on 2007-06-10.
27929         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
27930         !NEED_PRINTF_FLAG_ZERO.
27931
27932 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
27933
27934         getloadavg: use libperfstat on AIX5
27935         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
27936
27937 2008-02-03  Bruno Haible  <bruno@clisp.org>
27938
27939         * lib/diffseq.h: Add comments about required #includes.
27940         Reported by Michael Biggs <gnulib@doubleplum.net>.
27941
27942 2008-02-01  Bruno Haible  <bruno@clisp.org>
27943
27944         * users.txt: Add gnuit.
27945
27946 2008-01-31  Bruno Haible  <bruno@clisp.org>
27947
27948         * lib/md4.c (set_uint32): Mark as inline.
27949         * lib/md5.c (set_uint32): Likewise.
27950         * lib/sha1.c (set_uint32): Likewise.
27951         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
27952         * m4/md5.m4 (gl_MD5): Likewise.
27953         * m4/sha1.m4 (gl_SHA1): Likewise.
27954
27955 2008-01-31  Jim Meyering  <meyering@redhat.com>
27956
27957         Use "sizeof VAR", rather than a literal "4".
27958         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
27959         * lib/md4.c (md4_read_ctx): Likewise.
27960         * lib/sha1.c (sha1_read_ctx): Likewise.
27961
27962 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27963
27964         * tests/test-sha1.c: New file, based on test-md5.c.
27965
27966         * modules/crypto/sha1-tests: New file.
27967
27968 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27969
27970         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
27971
27972 2008-01-31  Jim Meyering  <meyering@redhat.com>
27973
27974         Prefer "sizeof v" over the equivalent "4".
27975         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
27976         * lib/md5.c (set_uint32): Likewise.
27977         * lib/sha1.c (set_uint32): Likewise.
27978
27979 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27980
27981         * lib/sha1.c (set_uint32): Mark function as static.
27982
27983 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27984
27985         md2: clarify comments to say that alignment is not required.
27986         * lib/md2.h: Remove warning about alignment in comment.
27987         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
27988         never been required.
27989
27990 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27991
27992         md4: adapt alignment constraint fix from sha1.
27993         * lib/md4.c (set_uint32): New function, from sha1.c
27994         (md4_read_ctx): Use it.
27995         (md4_finish_ctx): Doc fix.
27996         * lib/md4.h: Doc fix.
27997
27998 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27999
28000         md5: adapt alignment constraint fix from sha1.
28001         * lib/md5.c (set_uint32): New function, from sha1.c
28002         (md5_read_ctx): Use it.
28003         (md5_finish_ctx): Doc fix.
28004         * lib/md5.h: Doc fix.
28005
28006 2008-01-30  Peter Palfrader  <weasel@debian.org>
28007
28008         sha1: remove the result buffer alignment constraint
28009         * lib/sha1.c (set_uint32): New function.
28010         (sha1_read_ctx): Rewrite to remove the result buffer alignment
28011         constraint.
28012         (sha1_finish_ctx): Remove comment warning about alignment constraint.
28013         * lib/sha1.h: Likewise.
28014
28015 2008-01-30  Andreas Schwab  <schwab@suse.de>
28016             Bruno Haible  <bruno@clisp.org>
28017
28018         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
28019         correct definition of LDBL_MIN_EXP.
28020
28021 2008-01-30  Karl Berry  <karl@gnu.org>
28022
28023         * config/srclist-update: try to preserve x bit on updates.
28024         * config/srclistvars.sh: update for karl.
28025
28026 2008-01-29  Jim Meyering  <meyering@redhat.com>
28027
28028         vasnprintf.c: Avoid warning about unused label
28029         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
28030         "overflow" label definition and associated code with the
28031         same cpp condition that guards the sole use of that label.
28032
28033 2008-01-26  Bruno Haible  <bruno@clisp.org>
28034
28035         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
28036         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
28037         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
28038         * lib/isnanl-nolibm.h (isnanl): Likewise.
28039         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28040
28041 2008-01-26  Bruno Haible  <bruno@clisp.org>
28042
28043         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
28044         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
28045
28046 2008-01-26  Bruno Haible  <bruno@clisp.org>
28047
28048         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
28049         GCC >= 4.0 built-in.
28050         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
28051
28052 2008-01-26  Bruno Haible  <bruno@clisp.org>
28053
28054         Rename isnan, applicable to 'double' only, to isnand.
28055         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
28056         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
28057         (configure.ac): Update.
28058         (Include): Replace "isnan.h" with "isnand.h".
28059         * m4/isnand.m4: Renamed from m4/isnan.m4.
28060         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
28061         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
28062         instead of isnan.c.
28063         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
28064         instead of HAVE_ISNAN_IN_LIBC.
28065         (isnand): Renamed from isnan.
28066         * lib/isnand.c: New file.
28067         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
28068         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
28069         (Makefile.am): Update.
28070         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
28071         Include isnand.h instead of isnan.h.
28072         (main): Test isnand instead of isnan.
28073         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
28074         isnan-nolibm.
28075         * modules/frexp (Depends-on): Likewise.
28076         * modules/frexp-tests (Depends-on): Likewise.
28077         * modules/frexp-nolibm (Depends-on): Likewise.
28078         * modules/frexp-nolibm-tests (Depends-on): Likewise.
28079         * modules/isfinite (Depends-on): Likewise.
28080         * modules/round-tests (Depends-on): Likewise.
28081         * modules/signbit (Depends-on): Likewise.
28082         * modules/signbit-tests (Depends-on): Likewise.
28083         * modules/snprintf-posix (Depends-on): Likewise.
28084         * modules/sprintf-posix (Depends-on): Likewise.
28085         * modules/trunc-tests (Depends-on): Likewise.
28086         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28087         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28088         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28089         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28090         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28091         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28092         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28093         * modules/vasnprintf-posix (Depends-on): Likewise.
28094         * modules/vasprintf-posix (Depends-on): Likewise.
28095         * modules/vfprintf-posix (Depends-on): Likewise.
28096         * modules/vsnprintf-posix (Depends-on): Likewise.
28097         * modules/vsprintf-posix (Depends-on): Likewise.
28098         * lib/frexp.c: Include isnand.h instead of isnan.h.
28099         (ISNAN): Set to isnand instead of isnan.
28100         * lib/isfinite.c: Include isnand.h instead of isnan.h.
28101         (gl_isfinited): Use isnand instead of isnan.
28102         * lib/signbitd.c: Include isnand.h instead of isnan.h.
28103         (gl_signbitd): Use isnand instead of isnan.
28104         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
28105         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
28106         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
28107         (main): Use isnand instead of isnan.
28108         * tests/test-round1.c: Include isnand.h.
28109         (main): Use isnand instead of isnan.
28110         * tests/test-round2.c: Include isnand.h instead of isnan.h.
28111         (ISNAN): Set to isnand instead of isnan.
28112         * tests/test-trunc1.c: Include isnand.h.
28113         (main): Use isnand instead of isnan.
28114         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
28115         (equal): Use isnand instead of isnan.
28116         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
28117         isnand-nolibm.
28118         * NEWS: Mention the change.
28119
28120 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28121             Bruno Haible  <bruno@clisp.org>
28122
28123         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
28124         the GCC builtins for signbits are present and set
28125         REPLACE_SIGNBIT_USING_GCC if so.
28126         * lib/math.in.h (signbit): Define using GCC builtins if
28127         REPLACE_SIGNBIT_USING_GCC is set.
28128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
28129         REPLACE_SIGNBIT_USING_GCC.
28130         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
28131
28132 2008-01-25  Jim Meyering  <meyering@redhat.com>
28133
28134         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
28135         * lib/poll.c: Include <config.h>, not "config.h".
28136         * tests/test-getaddrinfo.c: Likewise.
28137
28138 2008-01-25  Simon Josefsson  <simon@josefsson.org>
28139
28140         * modules/sockets-tests: New file.
28141
28142 2008-01-24  Simon Josefsson  <simon@josefsson.org>
28143
28144         * modules/sockets: New module, can be used to call WSA_Startup and
28145         WSA_Cleanup when needed.
28146
28147         * lib/sockets.h, lib/sockets.c: New files.
28148
28149         * m4/sockets.m4: New file.
28150
28151         * tests/test-sockets.c: New file.
28152
28153 2008-01-19  Bruno Haible  <bruno@clisp.org>
28154
28155         * doc/posix-headers: Renamed from doc/headers.
28156         * doc/posix-functions: Renamed from doc/functions.
28157         * doc/gnulib.texi: Update.
28158
28159 2008-01-19  Bruno Haible  <bruno@clisp.org>
28160
28161         * doc/glibc-functions/strcasestr.texi: Include contents of
28162         doc/functions/strcasestr.texi, fixing the list of platforms.
28163         * doc/functions/strcasestr.texi: Remove file.
28164
28165 2008-01-19  Bruno Haible  <bruno@clisp.org>
28166
28167         * doc/glibc-functions/memmem.texi: Include contents of
28168         doc/functions/memmem.texi.
28169         * doc/functions/memmem.texi: Remove file.
28170
28171 2008-01-18  Bruno Haible  <bruno@clisp.org>
28172
28173         * doc/glibc-functions/*.texi: New files.
28174         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
28175         to use the new files.
28176
28177 2008-01-17  Bruno Haible  <bruno@clisp.org>
28178
28179         * tests/test-gethostname.c (main): Fix printf statement.
28180
28181 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28182
28183         * modules/gethostname-tests: New file.
28184
28185         * tests/test-gethostname.c: New file.
28186
28187 2008-01-17  Simon Josefsson  <simon@josefsson.org>
28188
28189         * lib/gethostname.c: Include string.h unconditionally, strncpy is
28190         used by the UNAME case.  Reported by Bruno Haible
28191         <bruno@clisp.org>.
28192
28193 2008-01-17  Eric Blake  <ebb9@byu.net>
28194
28195         Convert c-strcasestr to be more efficient.
28196         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
28197         (Depends-on): Add c-strcase, remove malloca, strnlen.
28198         * tests/test-c-strcasestr.c (main): Enhance test.
28199         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
28200
28201 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
28202
28203         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
28204         Use it in creating po/Makevars.
28205
28206 2008-01-15  Simon Josefsson  <simon@josefsson.org>
28207
28208         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
28209         Applications that requires it should initialize libgcrypt
28210         manually.
28211
28212 2008-01-16  Simon Josefsson  <simon@josefsson.org>
28213
28214         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
28215
28216 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28217
28218         Fix problem with getdate on mingw32 reported by Simon Josefsson
28219         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
28220         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
28221         tzname", when deciding whether to declare tzname.
28222         * lib/strftime.c (tzname): Likewise.
28223
28224 2008-01-15  Bruno Haible  <bruno@clisp.org>
28225
28226         Work around a MacOS X 10.5 bug in frexpl().
28227         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
28228         * doc/functions/frexpl.texi: Document the bug.
28229         Reported by Elias Pipping <pipping@gentoo.org>.
28230
28231 2008-01-14  Eric Blake  <ebb9@byu.net>
28232
28233         Touch up previous patch.
28234         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
28235         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
28236
28237         Convert strcasestr module to use Two-Way algorithm.
28238         * modules/strcasestr-simple: New module, based on the old
28239         strcasestr, but with Two-Way rather than KMP.
28240         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
28241         * lib/string.in.h (rpl_strcasestr): Declare.
28242         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
28243         performance.
28244         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
28245         * modules/string (Makefile.am): Support strcasestr.
28246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28247         * modules/strcasestr-tests (Depends-on): Check for alarm.
28248         * tests/test-strcasestr.c: Augment test.
28249         * lib/str-two-way.h: Clean up stray macro.
28250         * NEWS: Document new module.
28251         * MODULES.html.sh (string handling): Likewise.
28252         * doc/functions/strcasestr.texi: New file.
28253         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
28254         here, since it is not a POSIX function.
28255
28256 2008-01-14  Colin Watson  <cjwatson@debian.org>
28257             Bruno Haible  <bruno@clisp.org>
28258
28259         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
28260         works fine; if not, set REPLACE_STRSIGNAL.
28261         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
28262         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28263         REPLACE_STRSIGNAL.
28264         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
28265         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
28266         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
28267
28268 2008-01-14  Bruno Haible  <bruno@clisp.org>
28269
28270         * modules/strsignal (Include): Change to <string.h>.
28271
28272 2008-01-14  Colin Watson  <cjwatson@debian.org>
28273
28274         * modules/argp (Notice): Add a notice recommending to change
28275         XGETTEXT_OPTIONS.
28276         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
28277
28278 2008-01-13  Colin Watson  <cjwatson@debian.org>
28279
28280         * modules/strsignal-tests: New file.
28281         * tests/test-strsignal.c: New file.
28282
28283         * lib/strsignal.c: New file, from glibc with modifications.
28284         * lib/siglist.h: New file, from glibc with modifications.
28285         * lib/string.in.h (strsignal): New declaration.
28286         * m4/strsignal.m4: New file.
28287         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28288         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
28289         * modules/strsignal: New file.
28290         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
28291         HAVE_DECL_STRSIGNAL.
28292
28293 2008-01-13  Bruno Haible  <bruno@clisp.org>
28294
28295         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
28296         locale encoding is not ASCII. Needed for OpenBSD 4.0.
28297         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28298         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28299
28300 2008-01-13  Bruno Haible  <bruno@clisp.org>
28301
28302         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
28303         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
28304         * lib/argp.h (__attribute__): Likewise.
28305         * lib/c-stack.c (__attribute__): Likewise.
28306         * lib/error.h (__attribute__): Likewise.
28307         * lib/fts.c (__attribute__): Likewise.
28308         * lib/openat.h (__attribute__): Likewise.
28309         * lib/stdio.in.h (__attribute__): Likewise.
28310         * lib/string.in.h (__attribute__): Likewise.
28311         * lib/utimens.c (__attribute__): Likewise.
28312         * lib/vasnprintf.h (__attribute__): Likewise.
28313         * lib/xalloc.h (__attribute__): Likewise.
28314         * lib/xprintf.h (__attribute__): Likewise.
28315         * lib/xstrtol.h (__attribute__): Likewise.
28316         * lib/xvasprintf.h (__attribute__): Likewise.
28317
28318 2008-01-12  Bruno Haible  <bruno@clisp.org>
28319
28320         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
28321         * doc/glibc-headers/a.out.texi: New file.
28322         * doc/glibc-headers/aliases.texi: New file.
28323         * doc/glibc-headers/alloca.texi: New file.
28324         * doc/glibc-headers/ar.texi: New file.
28325         * doc/glibc-headers/argp.texi: New file.
28326         * doc/glibc-headers/argz.texi: New file.
28327         * doc/glibc-headers/byteswap.texi: New file.
28328         * doc/glibc-headers/crypt.texi: New file.
28329         * doc/glibc-headers/endian.texi: New file.
28330         * doc/glibc-headers/envz.texi: New file.
28331         * doc/glibc-headers/err.texi: New file.
28332         * doc/glibc-headers/error.texi: New file.
28333         * doc/glibc-headers/execinfo.texi: New file.
28334         * doc/glibc-headers/fpu_control.texi: New file.
28335         * doc/glibc-headers/fstab.texi: New file.
28336         * doc/glibc-headers/fts.texi: New file.
28337         * doc/glibc-headers/getopt.texi: New file.
28338         * doc/glibc-headers/ieee754.texi: New file.
28339         * doc/glibc-headers/ifaddrs.texi: New file.
28340         * doc/glibc-headers/libintl.texi: New file.
28341         * doc/glibc-headers/mcheck.texi: New file.
28342         * doc/glibc-headers/mntent.texi: New file.
28343         * doc/glibc-headers/obstack.texi: New file.
28344         * doc/glibc-headers/paths.texi: New file.
28345         * doc/glibc-headers/printf.texi: New file.
28346         * doc/glibc-headers/pty.texi: New file.
28347         * doc/glibc-headers/resolv.texi: New file.
28348         * doc/glibc-headers/shadow.texi: New file.
28349         * doc/glibc-headers/sysexits.texi: New file.
28350         * doc/glibc-headers/ttyent.texi: New file.
28351
28352 2008-01-12  Jim Meyering  <meyering@redhat.com>
28353
28354         announce-gen: emit Gnulib's git-based version string.
28355         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
28356         New option --gnulib-version=V, where V is expected to be
28357         the output of running git describe in the gnulib directory.
28358         (get_tool_versions): Request feedback on xdelta.  I suspect it's
28359         not useful, and plan to stop publishing an xdelta file with each
28360         coreutils release.
28361
28362         * build-aux/announce-gen: Also check for lzma-compressed files.
28363
28364 2008-01-11  Bruno Haible  <bruno@clisp.org>
28365
28366         * tests/test-memmem.c (main): Increase maximum allowed time.
28367         * tests/test-strstr.c (main): Likewise.
28368
28369 2008-01-11  Bruno Haible  <bruno@clisp.org>
28370
28371         * doc/functions/memmem.texi: Add more precisions about platforms.
28372         * doc/functions/strstr.texi: Likewise.
28373
28374 2008-01-10  Eric Blake  <ebb9@byu.net>
28375
28376         * m4/strstr.m4: Delete cruft from copy-n-paste.
28377         Reported by Bruno Haible.
28378
28379 2008-01-10  Bruno Haible  <bruno@clisp.org>
28380
28381         Make c-strstr rely on strstr.
28382         * lib/c-strstr.c: Don't include str-kmp.h.
28383         (c_strstr): Define in terms of strstr.
28384         * modules/c-strstr (Files): Remove lib/str-kmp.h.
28385         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
28386
28387 2008-01-10  Bruno Haible  <bruno@clisp.org>
28388
28389         * doc/gnulib.texi (String Functions in C Locale): New section.
28390         * doc/c-ctype.texi: New file.
28391         * doc/c-strcase.texi: New file.
28392         * doc/c-strcaseeq.texi: New file.
28393         * doc/c-strcasestr.texi: New file.
28394         * doc/c-strstr.texi: New file.
28395         * doc/c-strtod.texi: New file.
28396         * doc/c-strtold.texi: New file.
28397
28398 2008-01-10  Eric Blake  <ebb9@byu.net>
28399
28400         * lib/relocatable.h: Fix a comment.
28401
28402 2008-01-10  Eric Blake  <ebb9@byu.net>
28403
28404         Share two-way algorithm.
28405         * lib/str-two-way.h: New file, merged from...
28406         * lib/memmem.c: ...here...
28407         * lib/strstr.c: ...and here.
28408         * modules/memmem (Files): Use it.
28409         * modules/strstr (Files): Likewise.
28410
28411         Avoid quadratic strstr implementations.
28412         * lib/strstr.c: New file.
28413         * m4/strstr.m4: Likewise.
28414         * modules/strstr: Likewise.
28415         * modules/strstr-tests: Likewise.
28416         * tests/test-strstr.c: Likewise.
28417         * lib/string.in.h (rpl_strstr): Declare.
28418         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
28419         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
28420         * modules/string (Makefile.am): Likewise.
28421         * MODULES.html.sh (string handling): Mention new module.
28422         * doc/functions/strstr.texi (strstr): Document the bug.
28423
28424 2008-01-10  Bruno Haible  <bruno@clisp.org>
28425
28426         * lib/relocatable.h (relocate): State whether result is freshly
28427         allocated or not.
28428         * lib/relocatable.c (relocate): Return a freshly allocated string
28429         instead of a pointer to a privately held string.
28430         Reported by Sylvain Beucler <beuc@gnu.org>.
28431
28432 2008-01-10  Colin Watson  <cjwatson@debian.org>
28433
28434         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
28435         s/S_ISNLK/S_ISLNK/.
28436
28437 2008-01-09  Bruno Haible  <bruno@clisp.org>
28438
28439         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
28440         and other files.
28441         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
28442         if it's only a guess.
28443         * modules/memmem: Simplify by depending on memmem-simple.
28444
28445 2008-01-09  Bruno Haible  <bruno@clisp.org>
28446
28447         Work around OpenBSD 4.0 tdelete() bug.
28448         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
28449         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
28450         macros and don't redefine the enum values.
28451         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
28452         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
28453         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
28454
28455 2008-01-09  Bruno Haible  <bruno@clisp.org>
28456
28457         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
28458         (main): Don't perform the tests if setlocale did not install a UTF-8
28459         locale. Needed on OpenBSD 4.0.
28460         * modules/wcwidth-tests (Depends-on): Add localcharset.
28461
28462 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
28463
28464         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
28465         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
28466         * NEWS: announce this.
28467         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
28468
28469 2008-01-09  Simon Josefsson  <simon@josefsson.org>
28470         and Eric Blake  <ebb9@byu.net>
28471
28472         Add memmem-simple module.
28473         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
28474         (gl_FUNC_MEMMEM): Separate performance from presence checks.
28475         * modules/memmem-simple: New file.
28476         * modules/memmem (Description): Tweak.
28477         * MODULES.html.sh (string handling): Mention new module.
28478         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
28479         addressed by memmem-simple.
28480         * NEWS: Document the difference.
28481
28482 2008-01-09  Eric Blake  <ebb9@byu.net>
28483
28484         Give gcc some memmem optimization hints.
28485         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
28486         (strcasestr): Declare as pure.
28487         * modules/memmem (Maintainer): Claim my implementation.
28488
28489 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28490
28491         Support AIX 6.1 and higher.
28492         * build-aux/config.libpath: Likewise.
28493         * build-aux/config.rpath: Likewise.
28494
28495 2008-01-08  Jim Meyering  <meyering@redhat.com>
28496             Bruno Haible  <bruno@clisp.org>
28497
28498         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
28499         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
28500         Reported by Peter Fales in
28501         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
28502
28503 2008-01-08  Bruno Haible  <bruno@clisp.org>
28504
28505         * modules/unictype/category-of (Depends-on): Add
28506         unictype/category-none.
28507         * modules/unictype/category-and-tests (Depends-on): Add
28508         unictype/category-{L,N,Lu,Nd}.
28509         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
28510         * modules/unictype/category-or-tests (Depends-on): Add
28511         unictype/category-{L,N}.
28512         * modules/unictype/category-name-tests (Depends-on): Add
28513         unictype/category-{Z,Nl}.
28514         Reported by Simon Josefsson.
28515
28516 2008-01-08  Bruno Haible  <bruno@clisp.org>
28517
28518         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
28519         convention better.
28520         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
28521         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
28522         Reported by Peter Miller <millerp@canb.auug.org.au>.
28523
28524 2008-01-08  Eric Blake  <ebb9@byu.net>
28525
28526         Rewrite memmem to guarantee linear complexity without malloc.
28527         * lib/memmem.c (memmem): Use Two-Way rather than
28528         Knuth-Morris-Pratt, to allow O(1) space usage.
28529         (critical_factorization, two_way_short_needle)
28530         (two_way_long_needle): New functions.
28531         (knuth_morris_pratt): Delete.
28532         * modules/memmem (Depends-on): No longer need malloca or stdbool.
28533         Add stdint.
28534         * tests/test-memmem.c (main): Add tests for periodic needle and
28535         sublinear performance.
28536         * doc/functions/memmem.texi (memmem): Document other deficiencies
28537         in cygwin and older glibc.
28538
28539 2008-01-08  Bruno Haible  <bruno@clisp.org>
28540
28541         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
28542         augmentation.
28543
28544 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
28545
28546         Add a configure time option: --disable-acl.
28547         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
28548         AC_ARG_ENABLE(acl).
28549
28550 2008-01-06  Simon Josefsson  <simon@josefsson.org>
28551
28552         * tests/test-localename.c: Don't include obsolete "setenv.h".
28553
28554         * modules/localename-tests (Depends-on): Need unsetenv.
28555
28556 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28557
28558         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
28559
28560 2008-01-06  Colin Watson  <cjwatson@debian.org>
28561
28562         * users.txt: Add man-db.
28563
28564 2008-01-07  Bruno Haible  <bruno@clisp.org>
28565
28566         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
28567         previous section name.
28568
28569 2008-01-07  Bruno Haible  <bruno@clisp.org>
28570
28571         * lib/progname.c (set_program_name): Don't strip off a leading
28572         "lt-" prefix outside a .libs directory.
28573         Suggested by Paul Eggert.
28574
28575 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
28576             Bruno Haible  <bruno@clisp.org>
28577
28578         Improve memory cleanup in 'relocatable' module.
28579         * lib/relocatable.h (compute_curr_prefix): Change return type to
28580         'char *'.
28581         * lib/relocatable.c (compute_curr_prefix): Change return type to
28582         'char *'. Free curr_installdir after use.
28583         (relocate): Free curr_prefix_better after use.
28584         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
28585
28586 2008-01-01  Bruno Haible  <bruno@clisp.org>
28587
28588         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
28589         failure on older glibc systems.
28590         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28591
28592 2008-01-05  Eric Blake  <ebb9@byu.net>
28593
28594         Avoid quadratic system memmem.
28595         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
28596         Reported by Ralf Wildenhues.
28597
28598         Fix memmem test for mingw.
28599         * modules/memmem-tests (configure.ac): Check for alarm.
28600         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
28601         it.
28602         * doc/functions/memmem.texi: New file.
28603         * doc/gnulib.texi (Function Substitutes): Add memmem.
28604         Reported by Bruno Haible.
28605
28606 2008-01-04  Bruno Haible  <bruno@clisp.org>
28607
28608         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
28609         Require gl_HEADER_STRINGS_H_DEFAULTS, not
28610         gl_HEADER_STRING_H_DEFAULTS.
28611
28612 2008-01-04  Eric Blake  <ebb9@byu.net>
28613
28614         Shorten duration of memmem test.
28615         * tests/test-memmem.c (main): Use alarm to declare failure if test
28616         is taking too long.
28617         Reported by Ralf Wildenhues.
28618
28619 2007-12-21  Simon Josefsson  <simon@josefsson.org>
28620
28621         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
28622         string, needed by strerror.
28623
28624 2008-01-03  Colin Watson  <cjwatson@debian.org>
28625             Bruno Haible  <bruno@clisp.org>
28626
28627         * doc/gnulib-tool.texi (Localization): New section.
28628
28629 2008-01-02  Bruno Haible  <bruno@clisp.org>
28630
28631         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
28632         variables to 'unsigned char *' type.
28633         Reported by Paul Eggert.
28634
28635 2008-01-02  Jim Meyering  <jim@meyering.net>
28636
28637         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
28638
28639 2007-12-31  Jim Meyering  <jim@meyering.net>
28640
28641         Avoid use of private FTS type name.
28642         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
28643
28644 2007-12-30  Karl Berry  <karl@gnu.org>
28645
28646         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
28647         work around defect in Texinfo and/or the standalone Info browser.
28648
28649 2007-12-30  Bruno Haible  <bruno@clisp.org>
28650
28651         Unify 5 copies of the KMP code.
28652         * lib/str-kmp.h: New file.
28653         * lib/c-strcasestr.c: Include str-kmp.h.
28654         (knuth_morris_pratt): Remove function.
28655         (c_strcasestr): Update.
28656         * lib/c-strstr.c: Include str-kmp.h.
28657         (knuth_morris_pratt): Remove function.
28658         (c_strcasestr): Update.
28659         * lib/mbscasestr.c: Include str-kmp.h.
28660         (knuth_morris_pratt_unibyte): Remove function.
28661         * lib/mbsstr.c: Include str-kmp.h.
28662         (knuth_morris_pratt_unibyte): Remove function.
28663         * lib/strcasestr.c: Include str-kmp.h.
28664         (knuth_morris_pratt): Remove function.
28665         (strcasestr): Update.
28666         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
28667         * modules/c-strstr (Files): Likewise.
28668         * modules/mbscasestr (Files): Likewise.
28669         * modules/mbsstr (Files): Likewise.
28670         * modules/strcasestr (Files): Likewise.
28671         Suggested by Paul Eggert.
28672
28673 2007-12-30  Bruno Haible  <bruno@clisp.org>
28674
28675         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
28676         defined.
28677
28678 2007-12-30  Bruno Haible  <bruno@clisp.org>
28679
28680         * lib/xmalloca.h: Include xalloc.h.
28681         (xnmalloca): New macro.
28682
28683 2007-12-30  Bruno Haible  <bruno@clisp.org>
28684
28685         * lib/malloca.h (nmalloca): New macro.
28686         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
28687         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
28688         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
28689         knuth_morris_pratt_multibyte): Likewise.
28690         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
28691         knuth_morris_pratt_multibyte): Likewise.
28692         * lib/memmem.c (knuth_morris_pratt): Likewise.
28693         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
28694
28695 2007-12-25  Bruno Haible  <bruno@clisp.org>
28696
28697         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
28698         * lib/glob.c: Don't include openat.h.
28699         (link_exists2_p): Add back the code that deals with the
28700         !GLOB_ALTDIRFUNC case.
28701         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
28702         let it do the filename concatenation.
28703         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
28704         * modules/glob (Depends-on): Remove openat.
28705
28706 2007-12-31  Bruno Haible  <bruno@clisp.org>
28707
28708         * modules/dirfd (License): Change to LGPLv2+.
28709         Approved by Jim Meyering.
28710
28711 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
28712
28713         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
28714         when multiplying M by sizeof (size_t).
28715
28716 2007-12-10  Martin Lambers  <marlam@marlam.de>
28717
28718         Override getpagesize on mingw.
28719         * lib/getpagesize.c: New file.
28720         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
28721         * modules/getpagesize (Files): Add lib/getpagesize.c.
28722         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
28723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28724         REPLACE_GETPAGESIZE.
28725         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
28726
28727 2007-12-25  Bruno Haible  <bruno@clisp.org>
28728
28729         * modules/localcharset (Notice): New field.
28730         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
28731         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
28732
28733 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28734             Bruno Haible  <bruno@clisp.org>
28735
28736         Avoid using the syntax symbol() in formatted documentation.
28737         * MODULES.html.sh (func_module): When replacing symbol() with a
28738         hyperlink, remove the parentheses. Show an error if some remain.
28739         Recognize and render the '...' syntax.
28740         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
28741         Rework. Add paragraph about GCC's inlining.
28742         * doc/alloca.texi: Likewise.
28743         * doc/error.texi: Remove parentheses from symbol reference.
28744         * doc/gnulib-intro.texi: Likewise.
28745         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
28746         * modules/fnmatch (Description): Reword to say "the ... function".
28747         * modules/full-read (Description): Likewise.
28748         * modules/full-write (Description): Likewise.
28749         * modules/safe-read (Description): Likewise.
28750         * modules/safe-write (Description): Likewise.
28751         * modules/strchrnul (Description): Likewise.
28752         * modules/trim (Description): Likewise.
28753         * modules/error (Description): Remove parentheses from symbol
28754         references.
28755         * modules/verror (Description): Likewise.
28756         Reported by Karl Berry.
28757
28758 2007-12-25  Bruno Haible  <bruno@clisp.org>
28759
28760         Fixup after 2007-10-16 commit.
28761         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
28762
28763 2007-12-24  Bruno Haible  <bruno@clisp.org>
28764
28765         Make --enable-relocatable work with DESTDIR.
28766         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
28767         to compute installdir from destprog.
28768         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
28769         also set the RELOC_DESTDIR variable.
28770         Reported by Левашев Иван <octagram@bluebottle.com>.
28771
28772 2007-12-24  Bruno Haible  <bruno@clisp.org>
28773
28774         Fix link error due to xalloc_die().
28775         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
28776         of xreadlink.
28777         * lib/relocwrapper.c: Update comments.
28778         * build-aux/install-reloc: Remove xreadlink.c from file list.
28779         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
28780         xreadlink.c.
28781         Reported by Левашев Иван <octagram@bluebottle.com>.
28782
28783 2007-12-24  Bruno Haible  <bruno@clisp.org>
28784
28785         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
28786         * lib/setenv.h: Remove file.
28787         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
28788         lib/setenv.h.
28789         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
28790         (Depends-on): Add stdlib.
28791         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
28792         gl_FUNC_UNSETENV.
28793         (Include): Replace setenv.h with <stdlib.h>.
28794         * modules/unsetenv: New file.
28795         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
28796         * lib/unsetenv.c: Include <stdlib.h> first.
28797         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
28798         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
28799         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
28800         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
28801         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
28802         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28803         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
28804         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28805         * doc/functions/unsetenv.texi: Update.
28806         * modules/xsetenv (Depends-on): Add unsetenv.
28807         * modules/getdate (Depends-on): Likewise.
28808         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
28809         * lib/xsetenv.c: Don't include setenv.h.
28810         * lib/getdate.y: Likewise.
28811         * lib/relocwrapper.c: Likewise.
28812         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
28813         (Depends-on): Add stdlib.
28814         * NEWS: Mention the changes.
28815         Reported by Левашев Иван <octagram@bluebottle.com>.
28816
28817 2007-12-23  Bruno Haible  <bruno@clisp.org>
28818
28819         * lib/memmem.c (memmem): Use lowercase variable names. Tab
28820         indentation.
28821
28822 2007-12-23  Bruno Haible  <bruno@clisp.org>
28823
28824         * lib/c-strcasestr.c: Add more comments.
28825         * lib/c-strstr.c: Likewise.
28826         * lib/mbscasestr.c: Likewise.
28827         * lib/mbsstr.c: Likewise.
28828         * lib/strcasestr.c: Likewise.
28829         * lib/memmem.c: Likewise.
28830
28831 2007-12-23  Bruno Haible  <bruno@clisp.org>
28832
28833         * tests/test-memmem.c: Include <string.h> first.
28834
28835 2007-12-22  Bruno Haible  <bruno@clisp.org>
28836
28837         * gnulib-tool (func_create_testdir): Change $auxdir while generating
28838         the contents of $testsbase.
28839         Reported by Ralf Wildenhues.
28840
28841 2007-12-22  Bruno Haible  <bruno@clisp.org>
28842
28843         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
28844         two variables local_ldadd_before, local_ldadd_last.
28845
28846 2007-12-20  Eric Blake  <ebb9@byu.net>
28847
28848         Work around circular library issue when cross-compiling.
28849         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
28850         that progname.o does not need to pull in rpl_memcmp.
28851
28852 2007-12-19  Eric Blake  <ebb9@byu.net>
28853
28854         Fix memmem to avoid O(n^2) worst-case complexity.
28855         * lib/memmem.c (knuth_morris_pratt): New function.
28856         (memmem): Use it if first few naive iterations fail.
28857         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
28858         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
28859         * modules/memchr (License): Likewise.
28860         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
28861         malloca.
28862         * tests/test-memmem.c: Rewrite, borrowing ideas from
28863         test-mbsstr1.c; the old version wouldn't even compile!
28864         * modules/memmem-tests: New file.
28865         * lib/string.in.h (rpl_memmem): Add declaration.
28866         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
28867         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
28868         REPLACE_MEMMEM.
28869
28870 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28871
28872         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
28873         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
28874         before any system include files, and undef after them all.  This
28875         should fix a problem on VMS reported by John E. Malmberg in
28876         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
28877
28878 2007-12-17  Eric Blake  <ebb9@byu.net>
28879
28880         Revert addition of verify, for BSD/OS.
28881         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
28882         can't handle large files, for the sake of obsolete platforms.
28883         * modules/fseeko (Depends-on): Remove verify.
28884         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
28885         * doc/functions/ftello.texi (ftello): Likewise.
28886         * doc/functions/fgetpos.texi (fgetpos): Likewise.
28887         Reported by Larry Jones.
28888
28889 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
28890
28891         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
28892         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
28893
28894 2007-12-17  Jim Meyering  <meyering@redhat.com>
28895
28896         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
28897         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
28898         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
28899         * modules/getcwd (Depends-on): Add openat.
28900         Reported by Petr Salinger.
28901
28902 2007-12-17  Bruno Haible  <bruno@clisp.org>
28903
28904         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
28905         avoid a segmentation fault of the configure test on x86_64 systems.
28906
28907 2007-12-15  Jim Meyering  <meyering@redhat.com>
28908
28909         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
28910
28911 2007-12-13  Eric Blake  <ebb9@byu.net>
28912
28913         Another fseek test.
28914         * tests/test-fseek.c (main): Also test ungetc handling.
28915         * tests/test-fseeko.c (main): Likewise.
28916         * modules/fseeko (Depends-on): Add verify.
28917         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
28918         large.
28919         Reported by Larry Jones.
28920
28921         Fix fseeko on mingw.
28922         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
28923         seek.
28924
28925         Beef up fseek tests.
28926         * tests/test-fseek.c (main): Also test eof handling.
28927         * tests/test-fseeko.c (main): Likewise.
28928         Reported by Larry Jones.
28929
28930 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
28931
28932         Fix fseeko on BSD-based platforms.
28933         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
28934         successful seek.
28935
28936 2007-12-12  Eric Blake  <ebb9@byu.net>
28937
28938         Allow circular dependency of separate libtests.a
28939         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
28940         when use_libtests.
28941
28942 2007-12-11  Eric Blake  <ebb9@byu.net>
28943
28944         Fix bug with -0.0L in previous patch.
28945         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
28946         * tests/test-isnan.c (main): Also test on zeroes.
28947         * tests/test-isnanf.c (main): Likewise.
28948         * tests/test-isnanl.h (main): Likewise.
28949
28950         Detect pseudo-denormals on x86 even when cross-compiling.
28951         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
28952         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
28953         invalid bit patterns that happen to satisfy ==.
28954
28955         Avoid link failures with separate libtests.a.
28956         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
28957         last, to satisfy circular dependencies.
28958
28959 2007-12-11  Eric Blake  <ebb9@byu.net>
28960         and Bruno Haible  <bruno@clisp.org>
28961
28962         Fix OpenBSD 4.0 <float.h> handling of long double.
28963         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
28964         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
28965         * doc/headers/float.texi (float.h): Document OpenBSD bug.
28966
28967 2007-12-11  Jim Meyering  <meyering@redhat.com>
28968
28969         * users.txt: Add libvirt.
28970
28971         Support versions of autoconf prior to 2.59c.
28972         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
28973         if it is not already defined.
28974
28975 2007-12-09  Bruno Haible  <bruno@clisp.org>
28976
28977         Let 'gnulib-tool --import' collect sources needed for the tests in
28978         tests/ rather than in lib/.
28979         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
28980         argument. If true, add rules to generate libtests.a, and put libtests.a
28981         into $(LDADD). Consider source files in subdirectories and set
28982         uses_subdirs.
28983         (func_emit_initmacro_start, func_emit_initmacro_end,
28984         func_emit_initmacro_done): Pass all arguments explicitly.
28985         (func_import): Determine two module lists main_modules,
28986         testsrelated_modules. Determine use_libtests. Determine two variables
28987         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
28988         instead of just sed_transform_lib_file. Determine two variables
28989         main_files and testsrelated_files. Compute 'files' as the union of
28990         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
28991         func_add_or_update. In the generated gnulib-comp.m4, collect the
28992         object files for tests/ in different variables than those for lib/.
28993         Substitute LIBTESTS_LIBDEPS.
28994         (func_create_testdir): Combine the uses_subdirs results from
28995         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
28996
28997 2007-12-09  Bruno Haible  <bruno@clisp.org>
28998
28999         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
29000         the build-aux directory.
29001
29002 2007-12-09  Bruno Haible  <bruno@clisp.org>
29003
29004         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
29005         introduced on 2006-09-09.
29006
29007 2007-12-07  Jim Meyering  <meyering@redhat.com>
29008
29009         Let these macros work also with autoconf-2.59.
29010         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
29011         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
29012         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
29013
29014 2007-12-06  Jim Meyering  <meyering@redhat.com>
29015
29016         Avoid a configure-time syntax error in gl_FUNC_ACL.
29017         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
29018         function in each branch, before testing the cache variable.
29019
29020 2007-12-04  Eric Blake  <ebb9@byu.net>
29021
29022         Make scripts executable.
29023         * build-aux/config.guess: Add execute permissions.
29024         * build-aux/config.sub: Likewise.
29025         * build-aux/gendocs.sh: Likewise.
29026
29027         Fix frexp on mingw.
29028         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
29029         cross-compiling.
29030         * doc/functions/frexp.texi (frexp): Document the bug.
29031
29032         Make cygwin fseeko check more reliable.
29033         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
29034         version numbers, rather than unrelated feature check.
29035         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
29036         * doc/functions/ftello.texi (ftello): Likewise.
29037         Reported by Bruno Haible.
29038
29039         * m4/strerror.m4: Bump version number.
29040
29041 2007-12-03  Bruno Haible  <bruno@clisp.org>
29042
29043         * doc/functions/mprotect.texi: Mention the mingw problem.
29044
29045 2007-12-03  Eric Blake  <ebb9@byu.net>
29046
29047         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
29048         REPLACE_STRERROR is initialized before this macro.
29049
29050 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
29051
29052         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
29053         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
29054         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
29055         put -lsec in even for programs other than 'ls'.  This fixes a problem
29056         for gettext reported by Bruno Haible in
29057         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
29058         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
29059         Add support for Solaris 10.  This isn't efficient, but should get the
29060         job done for now.
29061
29062 2007-12-03  James Youngman  <jay@gnu.org>
29063
29064         * doc/regexprops-generic.texi: change "an close-group" to "a
29065         close-group" and "illegal" to "not allowed".
29066
29067 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29068
29069         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
29070         pr_byname.h. Needed for the rare case when the maintainer has done
29071         "make maintainer-clean" in the source directory and then attempts a
29072         build outside the source directory.
29073         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
29074         scripts_byname.h.
29075
29076 2007-12-02  Martin Lambers <marlam@marlam.de>
29077             Bruno Haible  <bruno@clisp.org>
29078
29079         * lib/getpagesize.h: Remove file.
29080         * lib/unistd.in.h: Include declaration of getpagesize here.
29081         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
29082         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
29083         HAVE_SYS_PARAM_H.
29084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
29085         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29086         * modules/getpagesize (Files): Remove lib/getpagesize.h.
29087         (Depends-on): Add unistd.
29088         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29089         (Include): Use <unistd.h> instead of getpagesize.h.
29090         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
29091         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
29092         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
29093         gl_GETPAGESIZE invocation, already handled by module dependency.
29094         * lib/pagealign_alloc.c: Don't include getpagesize.h.
29095
29096 2007-12-02  Bruno Haible  <bruno@clisp.org>
29097
29098         * modules/strings-tests: New file.
29099         * tests/test-strings.c: New file.
29100
29101         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
29102         * lib/strings.in.h: New file.
29103         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
29104         * m4/strings_h.m4: New file.
29105         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
29106         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
29107         * modules/strings: New file.
29108         * modules/string (Makefile.am): Update.
29109         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
29110         Reported by Karl Berry.
29111
29112 2007-12-01  Eric Blake  <ebb9@byu.net>
29113
29114         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
29115         accomodate fix in cygwin 1.5.25.
29116
29117 2007-12-01  Jim Meyering  <meyering@redhat.com>
29118
29119         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
29120         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
29121         that would inhibit utf8-optimization of a regexp containing line-
29122         or buffer-anchors, e.g., `^', `$'.
29123
29124 2007-11-30  Bruno Haible  <bruno@clisp.org>
29125
29126         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
29127         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
29128         glthread_recursive_lock_init.
29129         * lib/lock.c (glthread_recursive_lock_init)
29130         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
29131         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29132
29133 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
29134
29135         New function qset_acl, like set_acl but with syscall semantics.
29136         * lib/acl.h (qset_acl): New decl.
29137         * lib/acl.c (qset_acl): New function.
29138         (set_acl): Use new function.  Use more-consistent diagnostics.
29139
29140 2007-11-28  Jim Meyering  <meyering@redhat.com>
29141
29142         * modules/physmem (License): Change from GPL to LGPLv2+.
29143
29144 2007-11-26  Bruno Haible  <bruno@clisp.org>
29145
29146         * lib/vasnprintf.c (decode_long_double): Don't abort if the
29147         'long double' type has excess precision.
29148         Reported by Jim Meyering in
29149         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
29150
29151 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29152
29153         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
29154         Sync from <http://gnu.org/licenses>.
29155         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
29156         with license text from same location.
29157         * doc/maintain.texi, doc/standards.texi:  Sync from
29158         <http://savannah.gnu.org/projects/gnustandards>.
29159
29160 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
29161         and Jim Meyering  <meyering@redhat.com>
29162
29163         Adjust getdate' grammar to accept a slightly more regular language.
29164         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
29165         Before, the former was rejected.
29166         * lib/getdate.y (digits_to_date_time): New function, factored
29167         out of ...
29168         (number): ...here.  Just call digits_to_date_time.
29169         (hybrid): New non-terminal to handle an <unsigned number,
29170         signed relative offset> sequence consistently.
29171
29172 2007-11-18  Jim Meyering  <meyering@redhat.com>
29173
29174         Pull my changes from coreutils:
29175         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
29176         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
29177         use of $gnulib_tool_option_extras, so that it's separated from the
29178         preceding argument.
29179
29180         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
29181         * build-aux/bootstrap (cp_mark_as_generated): Create any required
29182         parent destination directories before copying a file into place.
29183
29184 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
29185
29186         bootstrap: work also with 4-argument variant of AC_INIT
29187         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
29188
29189 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
29190
29191         Port test-getaddrinfo to Solaris.
29192         Problem reported by Bruno Haible in
29193         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
29194         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
29195         explanation of setting 'hints'.
29196         Don't reject an implementation merely because it returns EAI_SERVICE.
29197         (EAI_SERVICE): Define to 0 if not defined.
29198
29199 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
29200
29201         The license of gnu-make and posix-shell is now "GPLed build tool".
29202         * modules/gnu-make (License): Likewise.
29203         * modules/posix-shell (License): Likewise.
29204
29205         New module posix-shell, for determining a POSIX shell
29206         or perhaps something that is close enough to a POSIX shell.
29207         * m4/posix-shell.m4: New file.
29208         * modules/posix-shell: New file.
29209
29210         * MODULES.html.sh: Mention new module.
29211
29212         New module gnu-make, for determining whether we're using GNU Make.
29213         * m4/gnu-make.m4: New file.
29214         * modules/gnu-make: New file.
29215         * MODULES.html.sh: Mention new module.
29216
29217 2007-11-14  Jim Meyering  <meyering@redhat.com>
29218
29219         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
29220         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
29221         use this macro to create a function _definition_.
29222         Remove useless "#undef ARGMATCH_DIE".
29223
29224 2007-11-14  Bruno Haible  <bruno@clisp.org>
29225
29226         * lib/config.charset: Update for OpenBSD 4.1.
29227         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
29228
29229 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
29230
29231         Document 64-bit #if problems in stdint.texi.
29232         * doc/headers/stdint.texi (stdint.h): Mention problems with
29233         64-bit-#if, and how to work around them.
29234
29235         Don't insist on 'long long int' support in the preprocessor.  It
29236         breaks too many things.  For example, PRIdMAX still uses a 'long
29237         long int' format with the latest Sun compiler, even though
29238         HAVE_LONG_LONG_INT isn't defined due to that compiler's
29239         preprocessor problem.  This causes the latest coreutils to dump
29240         core on Solaris 10 sparc with the Sun C compiler.
29241         Instead, fix the 2007-10-16 problem in a different way, by evaluating
29242         the troublesome expressions at configure-time, not at #if-time.
29243         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
29244         preprocessor.
29245         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
29246         compile-time C checks, done at 'configure'-time.
29247         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
29248         * modules/inttypes (Makefile): Substitute the new symbols that
29249         gl_INTTYPES_H now generates.
29250         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
29251
29252 2007-11-12  Bruno Haible  <bruno@clisp.org>
29253
29254         Tests for Unicode character classification functions.
29255
29256         * modules/unictype/bidicategory-byname-tests: New file.
29257         * modules/unictype/bidicategory-name-tests: New file.
29258         * modules/unictype/bidicategory-of-tests: New file.
29259         * modules/unictype/bidicategory-test-tests: New file.
29260         * modules/unictype/block-list-tests: New file.
29261         * modules/unictype/block-of-tests: New file.
29262         * modules/unictype/block-test-tests: New file.
29263         * modules/unictype/category-C-tests: New file.
29264         * modules/unictype/category-Cc-tests: New file.
29265         * modules/unictype/category-Cf-tests: New file.
29266         * modules/unictype/category-Cn-tests: New file.
29267         * modules/unictype/category-Co-tests: New file.
29268         * modules/unictype/category-Cs-tests: New file.
29269         * modules/unictype/category-L-tests: New file.
29270         * modules/unictype/category-Ll-tests: New file.
29271         * modules/unictype/category-Lm-tests: New file.
29272         * modules/unictype/category-Lo-tests: New file.
29273         * modules/unictype/category-Lt-tests: New file.
29274         * modules/unictype/category-Lu-tests: New file.
29275         * modules/unictype/category-M-tests: New file.
29276         * modules/unictype/category-Mc-tests: New file.
29277         * modules/unictype/category-Me-tests: New file.
29278         * modules/unictype/category-Mn-tests: New file.
29279         * modules/unictype/category-N-tests: New file.
29280         * modules/unictype/category-Nd-tests: New file.
29281         * modules/unictype/category-Nl-tests: New file.
29282         * modules/unictype/category-No-tests: New file.
29283         * modules/unictype/category-P-tests: New file.
29284         * modules/unictype/category-Pc-tests: New file.
29285         * modules/unictype/category-Pd-tests: New file.
29286         * modules/unictype/category-Pe-tests: New file.
29287         * modules/unictype/category-Pf-tests: New file.
29288         * modules/unictype/category-Pi-tests: New file.
29289         * modules/unictype/category-Po-tests: New file.
29290         * modules/unictype/category-Ps-tests: New file.
29291         * modules/unictype/category-S-tests: New file.
29292         * modules/unictype/category-Sc-tests: New file.
29293         * modules/unictype/category-Sk-tests: New file.
29294         * modules/unictype/category-Sm-tests: New file.
29295         * modules/unictype/category-So-tests: New file.
29296         * modules/unictype/category-Z-tests: New file.
29297         * modules/unictype/category-Zl-tests: New file.
29298         * modules/unictype/category-Zp-tests: New file.
29299         * modules/unictype/category-Zs-tests: New file.
29300         * modules/unictype/category-and-not-tests: New file.
29301         * modules/unictype/category-and-tests: New file.
29302         * modules/unictype/category-byname-tests: New file.
29303         * modules/unictype/category-name-tests: New file.
29304         * modules/unictype/category-none-tests: New file.
29305         * modules/unictype/category-of-tests: New file.
29306         * modules/unictype/category-or-tests: New file.
29307         * modules/unictype/category-test-withtable-tests: New file.
29308         * modules/unictype/combining-class-tests: New file.
29309         * modules/unictype/ctype-alnum-tests: New file.
29310         * modules/unictype/ctype-alpha-tests: New file.
29311         * modules/unictype/ctype-blank-tests: New file.
29312         * modules/unictype/ctype-cntrl-tests: New file.
29313         * modules/unictype/ctype-digit-tests: New file.
29314         * modules/unictype/ctype-graph-tests: New file.
29315         * modules/unictype/ctype-lower-tests: New file.
29316         * modules/unictype/ctype-print-tests: New file.
29317         * modules/unictype/ctype-punct-tests: New file.
29318         * modules/unictype/ctype-space-tests: New file.
29319         * modules/unictype/ctype-upper-tests: New file.
29320         * modules/unictype/ctype-xdigit-tests: New file.
29321         * modules/unictype/decimal-digit-tests: New file.
29322         * modules/unictype/digit-tests: New file.
29323         * modules/unictype/mirror-tests: New file.
29324         * modules/unictype/numeric-tests: New file.
29325         * modules/unictype/property-alphabetic-tests: New file.
29326         * modules/unictype/property-ascii-hex-digit-tests: New file.
29327         * modules/unictype/property-bidi-arabic-digit-tests: New file.
29328         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
29329         * modules/unictype/property-bidi-block-separator-tests: New file.
29330         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
29331         * modules/unictype/property-bidi-common-separator-tests: New file.
29332         * modules/unictype/property-bidi-control-tests: New file.
29333         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
29334         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
29335         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
29336         * modules/unictype/property-bidi-european-digit-tests: New file.
29337         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
29338         * modules/unictype/property-bidi-left-to-right-tests: New file.
29339         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
29340         * modules/unictype/property-bidi-other-neutral-tests: New file.
29341         * modules/unictype/property-bidi-pdf-tests: New file.
29342         * modules/unictype/property-bidi-segment-separator-tests: New file.
29343         * modules/unictype/property-bidi-whitespace-tests: New file.
29344         * modules/unictype/property-byname-tests: New file.
29345         * modules/unictype/property-combining-tests: New file.
29346         * modules/unictype/property-composite-tests: New file.
29347         * modules/unictype/property-currency-symbol-tests: New file.
29348         * modules/unictype/property-dash-tests: New file.
29349         * modules/unictype/property-decimal-digit-tests: New file.
29350         * modules/unictype/property-default-ignorable-code-point-tests: New file.
29351         * modules/unictype/property-deprecated-tests: New file.
29352         * modules/unictype/property-diacritic-tests: New file.
29353         * modules/unictype/property-extender-tests: New file.
29354         * modules/unictype/property-format-control-tests: New file.
29355         * modules/unictype/property-grapheme-base-tests: New file.
29356         * modules/unictype/property-grapheme-extend-tests: New file.
29357         * modules/unictype/property-grapheme-link-tests: New file.
29358         * modules/unictype/property-hex-digit-tests: New file.
29359         * modules/unictype/property-hyphen-tests: New file.
29360         * modules/unictype/property-id-continue-tests: New file.
29361         * modules/unictype/property-id-start-tests: New file.
29362         * modules/unictype/property-ideographic-tests: New file.
29363         * modules/unictype/property-ids-binary-operator-tests: New file.
29364         * modules/unictype/property-ids-trinary-operator-tests: New file.
29365         * modules/unictype/property-ignorable-control-tests: New file.
29366         * modules/unictype/property-iso-control-tests: New file.
29367         * modules/unictype/property-join-control-tests: New file.
29368         * modules/unictype/property-left-of-pair-tests: New file.
29369         * modules/unictype/property-line-separator-tests: New file.
29370         * modules/unictype/property-logical-order-exception-tests: New file.
29371         * modules/unictype/property-lowercase-tests: New file.
29372         * modules/unictype/property-math-tests: New file.
29373         * modules/unictype/property-non-break-tests: New file.
29374         * modules/unictype/property-not-a-character-tests: New file.
29375         * modules/unictype/property-numeric-tests: New file.
29376         * modules/unictype/property-other-alphabetic-tests: New file.
29377         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
29378         * modules/unictype/property-other-grapheme-extend-tests: New file.
29379         * modules/unictype/property-other-id-continue-tests: New file.
29380         * modules/unictype/property-other-id-start-tests: New file.
29381         * modules/unictype/property-other-lowercase-tests: New file.
29382         * modules/unictype/property-other-math-tests: New file.
29383         * modules/unictype/property-other-uppercase-tests: New file.
29384         * modules/unictype/property-paired-punctuation-tests: New file.
29385         * modules/unictype/property-paragraph-separator-tests: New file.
29386         * modules/unictype/property-pattern-syntax-tests: New file.
29387         * modules/unictype/property-pattern-white-space-tests: New file.
29388         * modules/unictype/property-private-use-tests: New file.
29389         * modules/unictype/property-punctuation-tests: New file.
29390         * modules/unictype/property-quotation-mark-tests: New file.
29391         * modules/unictype/property-radical-tests: New file.
29392         * modules/unictype/property-sentence-terminal-tests: New file.
29393         * modules/unictype/property-soft-dotted-tests: New file.
29394         * modules/unictype/property-space-tests: New file.
29395         * modules/unictype/property-terminal-punctuation-tests: New file.
29396         * modules/unictype/property-test-tests: New file.
29397         * modules/unictype/property-titlecase-tests: New file.
29398         * modules/unictype/property-unassigned-code-value-tests: New file.
29399         * modules/unictype/property-unified-ideograph-tests: New file.
29400         * modules/unictype/property-uppercase-tests: New file.
29401         * modules/unictype/property-variation-selector-tests: New file.
29402         * modules/unictype/property-white-space-tests: New file.
29403         * modules/unictype/property-xid-continue-tests: New file.
29404         * modules/unictype/property-xid-start-tests: New file.
29405         * modules/unictype/property-zero-width-tests: New file.
29406         * modules/unictype/scripts-tests: New file.
29407         * modules/unictype/syntax-c-ident-tests: New file.
29408         * modules/unictype/syntax-c-whitespace-tests: New file.
29409         * modules/unictype/syntax-java-ident-tests: New file.
29410         * modules/unictype/syntax-java-whitespace-tests: New file.
29411         * tests/unictype/test-bidi_byname.c: New file.
29412         * tests/unictype/test-bidi_name.c: New file.
29413         * tests/unictype/test-bidi_of.c: New file.
29414         * tests/unictype/test-bidi_test.c: New file.
29415         * tests/unictype/test-block_list.c: New file.
29416         * tests/unictype/test-block_of.c: New file.
29417         * tests/unictype/test-block_test.c: New file.
29418         * tests/unictype/test-categ_and.c: New file.
29419         * tests/unictype/test-categ_and_not.c: New file.
29420         * tests/unictype/test-categ_byname.c: New file.
29421         * tests/unictype/test-categ_name.c: New file.
29422         * tests/unictype/test-categ_none.c: New file.
29423         * tests/unictype/test-categ_of.c: New file.
29424         * tests/unictype/test-categ_or.c: New file.
29425         * tests/unictype/test-categ_test_withtable.c: New file.
29426         * tests/unictype/test-combining.c: New file.
29427         * tests/unictype/test-decdigit.c: New file.
29428         * tests/unictype/test-digit.c: New file.
29429         * tests/unictype/test-mirror.c: New file.
29430         * tests/unictype/test-numeric.c: New file.
29431         * tests/unictype/test-pr_byname.c: New file.
29432         * tests/unictype/test-pr_test.c: New file.
29433         * tests/unictype/test-predicate-part1.h: New file.
29434         * tests/unictype/test-predicate-part2.h: New file.
29435         * tests/unictype/test-scripts.c: New file.
29436         * tests/unictype/test-sy_c_ident.c: New file.
29437         * tests/unictype/test-sy_java_ident.c: New file.
29438
29439         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
29440         for Unicode 5.0.0.
29441         * tests/unictype/test-categ_Cc.c: Likewise.
29442         * tests/unictype/test-categ_Cf.c: Likewise.
29443         * tests/unictype/test-categ_Cn.c: Likewise.
29444         * tests/unictype/test-categ_Co.c: Likewise.
29445         * tests/unictype/test-categ_Cs.c: Likewise.
29446         * tests/unictype/test-categ_L.c: Likewise.
29447         * tests/unictype/test-categ_Ll.c: Likewise.
29448         * tests/unictype/test-categ_Lm.c: Likewise.
29449         * tests/unictype/test-categ_Lo.c: Likewise.
29450         * tests/unictype/test-categ_Lt.c: Likewise.
29451         * tests/unictype/test-categ_Lu.c: Likewise.
29452         * tests/unictype/test-categ_M.c: Likewise.
29453         * tests/unictype/test-categ_Mc.c: Likewise.
29454         * tests/unictype/test-categ_Me.c: Likewise.
29455         * tests/unictype/test-categ_Mn.c: Likewise.
29456         * tests/unictype/test-categ_N.c: Likewise.
29457         * tests/unictype/test-categ_Nd.c: Likewise.
29458         * tests/unictype/test-categ_Nl.c: Likewise.
29459         * tests/unictype/test-categ_No.c: Likewise.
29460         * tests/unictype/test-categ_P.c: Likewise.
29461         * tests/unictype/test-categ_Pc.c: Likewise.
29462         * tests/unictype/test-categ_Pd.c: Likewise.
29463         * tests/unictype/test-categ_Pe.c: Likewise.
29464         * tests/unictype/test-categ_Pf.c: Likewise.
29465         * tests/unictype/test-categ_Pi.c: Likewise.
29466         * tests/unictype/test-categ_Po.c: Likewise.
29467         * tests/unictype/test-categ_Ps.c: Likewise.
29468         * tests/unictype/test-categ_S.c: Likewise.
29469         * tests/unictype/test-categ_Sc.c: Likewise.
29470         * tests/unictype/test-categ_Sk.c: Likewise.
29471         * tests/unictype/test-categ_Sm.c: Likewise.
29472         * tests/unictype/test-categ_So.c: Likewise.
29473         * tests/unictype/test-categ_Z.c: Likewise.
29474         * tests/unictype/test-categ_Zl.c: Likewise.
29475         * tests/unictype/test-categ_Zp.c: Likewise.
29476         * tests/unictype/test-categ_Zs.c: Likewise.
29477         * tests/unictype/test-ctype_alnum.c: Likewise.
29478         * tests/unictype/test-ctype_alpha.c: Likewise.
29479         * tests/unictype/test-ctype_blank.c: Likewise.
29480         * tests/unictype/test-ctype_cntrl.c: Likewise.
29481         * tests/unictype/test-ctype_digit.c: Likewise.
29482         * tests/unictype/test-ctype_graph.c: Likewise.
29483         * tests/unictype/test-ctype_lower.c: Likewise.
29484         * tests/unictype/test-ctype_print.c: Likewise.
29485         * tests/unictype/test-ctype_punct.c: Likewise.
29486         * tests/unictype/test-ctype_space.c: Likewise.
29487         * tests/unictype/test-ctype_upper.c: Likewise.
29488         * tests/unictype/test-ctype_xdigit.c: Likewise.
29489         * tests/unictype/test-decdigit.h: Likewise.
29490         * tests/unictype/test-digit.h: Likewise.
29491         * tests/unictype/test-numeric.h: Likewise.
29492         * tests/unictype/test-pr_alphabetic.c: Likewise.
29493         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
29494         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
29495         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
29496         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
29497         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
29498         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
29499         * tests/unictype/test-pr_bidi_control.c: Likewise.
29500         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
29501         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
29502         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
29503         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
29504         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
29505         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
29506         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
29507         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
29508         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
29509         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
29510         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
29511         * tests/unictype/test-pr_combining.c: Likewise.
29512         * tests/unictype/test-pr_composite.c: Likewise.
29513         * tests/unictype/test-pr_currency_symbol.c: Likewise.
29514         * tests/unictype/test-pr_dash.c: Likewise.
29515         * tests/unictype/test-pr_decimal_digit.c: Likewise.
29516         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
29517         * tests/unictype/test-pr_deprecated.c: Likewise.
29518         * tests/unictype/test-pr_diacritic.c: Likewise.
29519         * tests/unictype/test-pr_extender.c: Likewise.
29520         * tests/unictype/test-pr_format_control.c: Likewise.
29521         * tests/unictype/test-pr_grapheme_base.c: Likewise.
29522         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
29523         * tests/unictype/test-pr_grapheme_link.c: Likewise.
29524         * tests/unictype/test-pr_hex_digit.c: Likewise.
29525         * tests/unictype/test-pr_hyphen.c: Likewise.
29526         * tests/unictype/test-pr_id_continue.c: Likewise.
29527         * tests/unictype/test-pr_id_start.c: Likewise.
29528         * tests/unictype/test-pr_ideographic.c: Likewise.
29529         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
29530         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
29531         * tests/unictype/test-pr_ignorable_control.c: Likewise.
29532         * tests/unictype/test-pr_iso_control.c: Likewise.
29533         * tests/unictype/test-pr_join_control.c: Likewise.
29534         * tests/unictype/test-pr_left_of_pair.c: Likewise.
29535         * tests/unictype/test-pr_line_separator.c: Likewise.
29536         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
29537         * tests/unictype/test-pr_lowercase.c: Likewise.
29538         * tests/unictype/test-pr_math.c: Likewise.
29539         * tests/unictype/test-pr_non_break.c: Likewise.
29540         * tests/unictype/test-pr_not_a_character.c: Likewise.
29541         * tests/unictype/test-pr_numeric.c: Likewise.
29542         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
29543         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
29544         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
29545         * tests/unictype/test-pr_other_id_continue.c: Likewise.
29546         * tests/unictype/test-pr_other_id_start.c: Likewise.
29547         * tests/unictype/test-pr_other_lowercase.c: Likewise.
29548         * tests/unictype/test-pr_other_math.c: Likewise.
29549         * tests/unictype/test-pr_other_uppercase.c: Likewise.
29550         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
29551         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
29552         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
29553         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
29554         * tests/unictype/test-pr_private_use.c: Likewise.
29555         * tests/unictype/test-pr_punctuation.c: Likewise.
29556         * tests/unictype/test-pr_quotation_mark.c: Likewise.
29557         * tests/unictype/test-pr_radical.c: Likewise.
29558         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
29559         * tests/unictype/test-pr_soft_dotted.c: Likewise.
29560         * tests/unictype/test-pr_space.c: Likewise.
29561         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
29562         * tests/unictype/test-pr_titlecase.c: Likewise.
29563         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
29564         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
29565         * tests/unictype/test-pr_uppercase.c: Likewise.
29566         * tests/unictype/test-pr_variation_selector.c: Likewise.
29567         * tests/unictype/test-pr_white_space.c: Likewise.
29568         * tests/unictype/test-pr_xid_continue.c: Likewise.
29569         * tests/unictype/test-pr_xid_start.c: Likewise.
29570         * tests/unictype/test-pr_zero_width.c: Likewise.
29571         * tests/unictype/test-sy_c_whitespace.c: Likewise.
29572         * tests/unictype/test-sy_java_whitespace.c: Likewise.
29573
29574 2007-11-12  Bruno Haible  <bruno@clisp.org>
29575
29576         Unicode character classification functions.
29577         * lib/unictype.h: New file.
29578         * modules/unictype/base: New file.
29579         * modules/unictype/category-L: New file.
29580         * modules/unictype/category-Lu: New file.
29581         * modules/unictype/category-Ll: New file.
29582         * modules/unictype/category-Lt: New file.
29583         * modules/unictype/category-Lm: New file.
29584         * modules/unictype/category-Lo: New file.
29585         * modules/unictype/category-M: New file.
29586         * modules/unictype/category-Mn: New file.
29587         * modules/unictype/category-Mc: New file.
29588         * modules/unictype/category-Me: New file.
29589         * modules/unictype/category-N: New file.
29590         * modules/unictype/category-Nd: New file.
29591         * modules/unictype/category-Nl: New file.
29592         * modules/unictype/category-No: New file.
29593         * modules/unictype/category-P: New file.
29594         * modules/unictype/category-Pc: New file.
29595         * modules/unictype/category-Pd: New file.
29596         * modules/unictype/category-Ps: New file.
29597         * modules/unictype/category-Pe: New file.
29598         * modules/unictype/category-Pi: New file.
29599         * modules/unictype/category-Pf: New file.
29600         * modules/unictype/category-Po: New file.
29601         * modules/unictype/category-S: New file.
29602         * modules/unictype/category-Sm: New file.
29603         * modules/unictype/category-Sc: New file.
29604         * modules/unictype/category-Sk: New file.
29605         * modules/unictype/category-So: New file.
29606         * modules/unictype/category-Z: New file.
29607         * modules/unictype/category-Zs: New file.
29608         * modules/unictype/category-Zl: New file.
29609         * modules/unictype/category-Zp: New file.
29610         * modules/unictype/category-C: New file.
29611         * modules/unictype/category-Cc: New file.
29612         * modules/unictype/category-Cf: New file.
29613         * modules/unictype/category-Cs: New file.
29614         * modules/unictype/category-Co: New file.
29615         * modules/unictype/category-Cn: New file.
29616         * modules/unictype/category-or: New file.
29617         * modules/unictype/category-of: New file.
29618         * modules/unictype/category-test: New file.
29619         * modules/unictype/category-test-withtable: New file.
29620         * modules/unictype/category-byname: New file.
29621         * modules/unictype/category-none: New file.
29622         * modules/unictype/category-and: New file.
29623         * modules/unictype/category-and-not: New file.
29624         * modules/unictype/category-name: New file.
29625         * modules/unictype/combining-class: New file.
29626         * modules/unictype/category-all: New file.
29627         * modules/unictype/bidicategory-all: New file.
29628         * modules/unictype/bidicategory-byname: New file.
29629         * modules/unictype/bidicategory-name: New file.
29630         * modules/unictype/bidicategory-of: New file.
29631         * modules/unictype/bidicategory-test: New file.
29632         * modules/unictype/decimal-digit: New file.
29633         * modules/unictype/digit: New file.
29634         * modules/unictype/numeric: New file.
29635         * modules/unictype/mirror: New file.
29636         * modules/unictype/property-white-space: New file.
29637         * modules/unictype/property-alphabetic: New file.
29638         * modules/unictype/property-other-alphabetic: New file.
29639         * modules/unictype/property-not-a-character: New file.
29640         * modules/unictype/property-default-ignorable-code-point: New file.
29641         * modules/unictype/property-other-default-ignorable-code-point: New
29642         file.
29643         * modules/unictype/property-deprecated: New file.
29644         * modules/unictype/property-logical-order-exception: New file.
29645         * modules/unictype/property-variation-selector: New file.
29646         * modules/unictype/property-private-use: New file.
29647         * modules/unictype/property-unassigned-code-value: New file.
29648         * modules/unictype/property-uppercase: New file.
29649         * modules/unictype/property-other-uppercase: New file.
29650         * modules/unictype/property-lowercase: New file.
29651         * modules/unictype/property-other-lowercase: New file.
29652         * modules/unictype/property-titlecase: New file.
29653         * modules/unictype/property-soft-dotted: New file.
29654         * modules/unictype/property-id-start: New file.
29655         * modules/unictype/property-other-id-start: New file.
29656         * modules/unictype/property-id-continue: New file.
29657         * modules/unictype/property-other-id-continue: New file.
29658         * modules/unictype/property-xid-start: New file.
29659         * modules/unictype/property-xid-continue: New file.
29660         * modules/unictype/property-pattern-white-space: New file.
29661         * modules/unictype/property-pattern-syntax: New file.
29662         * modules/unictype/property-join-control: New file.
29663         * modules/unictype/property-grapheme-base: New file.
29664         * modules/unictype/property-grapheme-extend: New file.
29665         * modules/unictype/property-other-grapheme-extend: New file.
29666         * modules/unictype/property-grapheme-link: New file.
29667         * modules/unictype/property-bidi-control: New file.
29668         * modules/unictype/property-bidi-left-to-right: New file.
29669         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
29670         * modules/unictype/property-bidi-arabic-right-to-left: New file.
29671         * modules/unictype/property-bidi-european-digit: New file.
29672         * modules/unictype/property-bidi-eur-num-separator: New file.
29673         * modules/unictype/property-bidi-eur-num-terminator: New file.
29674         * modules/unictype/property-bidi-arabic-digit: New file.
29675         * modules/unictype/property-bidi-common-separator: New file.
29676         * modules/unictype/property-bidi-block-separator: New file.
29677         * modules/unictype/property-bidi-segment-separator: New file.
29678         * modules/unictype/property-bidi-whitespace: New file.
29679         * modules/unictype/property-bidi-non-spacing-mark: New file.
29680         * modules/unictype/property-bidi-boundary-neutral: New file.
29681         * modules/unictype/property-bidi-pdf: New file.
29682         * modules/unictype/property-bidi-embedding-or-override: New file.
29683         * modules/unictype/property-bidi-other-neutral: New file.
29684         * modules/unictype/property-hex-digit: New file.
29685         * modules/unictype/property-ascii-hex-digit: New file.
29686         * modules/unictype/property-ideographic: New file.
29687         * modules/unictype/property-unified-ideograph: New file.
29688         * modules/unictype/property-radical: New file.
29689         * modules/unictype/property-ids-binary-operator: New file.
29690         * modules/unictype/property-ids-trinary-operator: New file.
29691         * modules/unictype/property-zero-width: New file.
29692         * modules/unictype/property-space: New file.
29693         * modules/unictype/property-non-break: New file.
29694         * modules/unictype/property-iso-control: New file.
29695         * modules/unictype/property-format-control: New file.
29696         * modules/unictype/property-dash: New file.
29697         * modules/unictype/property-hyphen: New file.
29698         * modules/unictype/property-punctuation: New file.
29699         * modules/unictype/property-line-separator: New file.
29700         * modules/unictype/property-paragraph-separator: New file.
29701         * modules/unictype/property-quotation-mark: New file.
29702         * modules/unictype/property-sentence-terminal: New file.
29703         * modules/unictype/property-terminal-punctuation: New file.
29704         * modules/unictype/property-currency-symbol: New file.
29705         * modules/unictype/property-math: New file.
29706         * modules/unictype/property-other-math: New file.
29707         * modules/unictype/property-paired-punctuation: New file.
29708         * modules/unictype/property-left-of-pair: New file.
29709         * modules/unictype/property-combining: New file.
29710         * modules/unictype/property-composite: New file.
29711         * modules/unictype/property-decimal-digit: New file.
29712         * modules/unictype/property-numeric: New file.
29713         * modules/unictype/property-diacritic: New file.
29714         * modules/unictype/property-extender: New file.
29715         * modules/unictype/property-ignorable-control: New file.
29716         * modules/unictype/property-test: New file.
29717         * modules/unictype/property-byname: New file.
29718         * modules/unictype/property-all: New file.
29719         * modules/unictype/scripts: New file.
29720         * modules/unictype/scripts-all: New file.
29721         * modules/unictype/block-of: New file.
29722         * modules/unictype/block-test: New file.
29723         * modules/unictype/block-list: New file.
29724         * modules/unictype/block-all: New file.
29725         * modules/unictype/syntax-c-whitespace: New file.
29726         * modules/unictype/syntax-java-whitespace: New file.
29727         * modules/unictype/syntax-c-ident: New file.
29728         * modules/unictype/syntax-java-ident: New file.
29729         * modules/unictype/ctype-alnum: New file.
29730         * modules/unictype/ctype-alpha: New file.
29731         * modules/unictype/ctype-cntrl: New file.
29732         * modules/unictype/ctype-digit: New file.
29733         * modules/unictype/ctype-graph: New file.
29734         * modules/unictype/ctype-lower: New file.
29735         * modules/unictype/ctype-print: New file.
29736         * modules/unictype/ctype-punct: New file.
29737         * modules/unictype/ctype-space: New file.
29738         * modules/unictype/ctype-upper: New file.
29739         * modules/unictype/ctype-xdigit: New file.
29740         * modules/unictype/ctype-blank: New file.
29741         * lib/unictype/bidi_byname.c: New file.
29742         * lib/unictype/bidi_name.c: New file.
29743         * lib/unictype/bidi_of.c: New file.
29744         * lib/unictype/bidi_test.c: New file.
29745         * lib/unictype/bitmap.h: New file.
29746         * lib/unictype/block_test.c: New file.
29747         * lib/unictype/blocks.c: New file.
29748         * lib/unictype/categ_C.c: New file.
29749         * lib/unictype/categ_Cc.c: New file.
29750         * lib/unictype/categ_Cf.c: New file.
29751         * lib/unictype/categ_Cn.c: New file.
29752         * lib/unictype/categ_Co.c: New file.
29753         * lib/unictype/categ_Cs.c: New file.
29754         * lib/unictype/categ_L.c: New file.
29755         * lib/unictype/categ_Ll.c: New file.
29756         * lib/unictype/categ_Lm.c: New file.
29757         * lib/unictype/categ_Lo.c: New file.
29758         * lib/unictype/categ_Lt.c: New file.
29759         * lib/unictype/categ_Lu.c: New file.
29760         * lib/unictype/categ_M.c: New file.
29761         * lib/unictype/categ_Mc.c: New file.
29762         * lib/unictype/categ_Me.c: New file.
29763         * lib/unictype/categ_Mn.c: New file.
29764         * lib/unictype/categ_N.c: New file.
29765         * lib/unictype/categ_Nd.c: New file.
29766         * lib/unictype/categ_Nl.c: New file.
29767         * lib/unictype/categ_No.c: New file.
29768         * lib/unictype/categ_P.c: New file.
29769         * lib/unictype/categ_Pc.c: New file.
29770         * lib/unictype/categ_Pd.c: New file.
29771         * lib/unictype/categ_Pe.c: New file.
29772         * lib/unictype/categ_Pf.c: New file.
29773         * lib/unictype/categ_Pi.c: New file.
29774         * lib/unictype/categ_Po.c: New file.
29775         * lib/unictype/categ_Ps.c: New file.
29776         * lib/unictype/categ_S.c: New file.
29777         * lib/unictype/categ_Sc.c: New file.
29778         * lib/unictype/categ_Sk.c: New file.
29779         * lib/unictype/categ_Sm.c: New file.
29780         * lib/unictype/categ_So.c: New file.
29781         * lib/unictype/categ_Z.c: New file.
29782         * lib/unictype/categ_Zl.c: New file.
29783         * lib/unictype/categ_Zp.c: New file.
29784         * lib/unictype/categ_Zs.c: New file.
29785         * lib/unictype/categ_and.c: New file.
29786         * lib/unictype/categ_and_not.c: New file.
29787         * lib/unictype/categ_byname.c: New file.
29788         * lib/unictype/categ_name.c: New file.
29789         * lib/unictype/categ_none.c: New file.
29790         * lib/unictype/categ_of.c: New file.
29791         * lib/unictype/categ_or.c: New file.
29792         * lib/unictype/categ_test.c: New file.
29793         * lib/unictype/combining.c: New file.
29794         * lib/unictype/ctype_alnum.c: New file.
29795         * lib/unictype/ctype_alpha.c: New file.
29796         * lib/unictype/ctype_blank.c: New file.
29797         * lib/unictype/ctype_cntrl.c: New file.
29798         * lib/unictype/ctype_digit.c: New file.
29799         * lib/unictype/ctype_graph.c: New file.
29800         * lib/unictype/ctype_lower.c: New file.
29801         * lib/unictype/ctype_print.c: New file.
29802         * lib/unictype/ctype_punct.c: New file.
29803         * lib/unictype/ctype_space.c: New file.
29804         * lib/unictype/ctype_upper.c: New file.
29805         * lib/unictype/ctype_xdigit.c: New file.
29806         * lib/unictype/decdigit.c: New file.
29807         * lib/unictype/digit.c: New file.
29808         * lib/unictype/identsyntaxmap.h: New file.
29809         * lib/unictype/mirror.c: New file.
29810         * lib/unictype/numeric.c: New file.
29811         * lib/unictype/pr_alphabetic.c: New file.
29812         * lib/unictype/pr_ascii_hex_digit.c: New file.
29813         * lib/unictype/pr_bidi_arabic_digit.c: New file.
29814         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
29815         * lib/unictype/pr_bidi_block_separator.c: New file.
29816         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
29817         * lib/unictype/pr_bidi_common_separator.c: New file.
29818         * lib/unictype/pr_bidi_control.c: New file.
29819         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
29820         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
29821         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
29822         * lib/unictype/pr_bidi_european_digit.c: New file.
29823         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
29824         * lib/unictype/pr_bidi_left_to_right.c: New file.
29825         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
29826         * lib/unictype/pr_bidi_other_neutral.c: New file.
29827         * lib/unictype/pr_bidi_pdf.c: New file.
29828         * lib/unictype/pr_bidi_segment_separator.c: New file.
29829         * lib/unictype/pr_bidi_whitespace.c: New file.
29830         * lib/unictype/pr_byname.c: New file.
29831         * lib/unictype/pr_byname.gperf: New file.
29832         * lib/unictype/pr_combining.c: New file.
29833         * lib/unictype/pr_composite.c: New file.
29834         * lib/unictype/pr_currency_symbol.c: New file.
29835         * lib/unictype/pr_dash.c: New file.
29836         * lib/unictype/pr_decimal_digit.c: New file.
29837         * lib/unictype/pr_default_ignorable_code_point.c: New file.
29838         * lib/unictype/pr_deprecated.c: New file.
29839         * lib/unictype/pr_diacritic.c: New file.
29840         * lib/unictype/pr_extender.c: New file.
29841         * lib/unictype/pr_format_control.c: New file.
29842         * lib/unictype/pr_grapheme_base.c: New file.
29843         * lib/unictype/pr_grapheme_extend.c: New file.
29844         * lib/unictype/pr_grapheme_link.c: New file.
29845         * lib/unictype/pr_hex_digit.c: New file.
29846         * lib/unictype/pr_hyphen.c: New file.
29847         * lib/unictype/pr_id_continue.c: New file.
29848         * lib/unictype/pr_id_start.c: New file.
29849         * lib/unictype/pr_ideographic.c: New file.
29850         * lib/unictype/pr_ids_binary_operator.c: New file.
29851         * lib/unictype/pr_ids_trinary_operator.c: New file.
29852         * lib/unictype/pr_ignorable_control.c: New file.
29853         * lib/unictype/pr_iso_control.c: New file.
29854         * lib/unictype/pr_join_control.c: New file.
29855         * lib/unictype/pr_left_of_pair.c: New file.
29856         * lib/unictype/pr_line_separator.c: New file.
29857         * lib/unictype/pr_logical_order_exception.c: New file.
29858         * lib/unictype/pr_lowercase.c: New file.
29859         * lib/unictype/pr_math.c: New file.
29860         * lib/unictype/pr_non_break.c: New file.
29861         * lib/unictype/pr_not_a_character.c: New file.
29862         * lib/unictype/pr_numeric.c: New file.
29863         * lib/unictype/pr_other_alphabetic.c: New file.
29864         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
29865         * lib/unictype/pr_other_grapheme_extend.c: New file.
29866         * lib/unictype/pr_other_id_continue.c: New file.
29867         * lib/unictype/pr_other_id_start.c: New file.
29868         * lib/unictype/pr_other_lowercase.c: New file.
29869         * lib/unictype/pr_other_math.c: New file.
29870         * lib/unictype/pr_other_uppercase.c: New file.
29871         * lib/unictype/pr_paired_punctuation.c: New file.
29872         * lib/unictype/pr_paragraph_separator.c: New file.
29873         * lib/unictype/pr_pattern_syntax.c: New file.
29874         * lib/unictype/pr_pattern_white_space.c: New file.
29875         * lib/unictype/pr_private_use.c: New file.
29876         * lib/unictype/pr_punctuation.c: New file.
29877         * lib/unictype/pr_quotation_mark.c: New file.
29878         * lib/unictype/pr_radical.c: New file.
29879         * lib/unictype/pr_sentence_terminal.c: New file.
29880         * lib/unictype/pr_soft_dotted.c: New file.
29881         * lib/unictype/pr_space.c: New file.
29882         * lib/unictype/pr_terminal_punctuation.c: New file.
29883         * lib/unictype/pr_test.c: New file.
29884         * lib/unictype/pr_titlecase.c: New file.
29885         * lib/unictype/pr_unassigned_code_value.c: New file.
29886         * lib/unictype/pr_unified_ideograph.c: New file.
29887         * lib/unictype/pr_uppercase.c: New file.
29888         * lib/unictype/pr_variation_selector.c: New file.
29889         * lib/unictype/pr_white_space.c: New file.
29890         * lib/unictype/pr_xid_continue.c: New file.
29891         * lib/unictype/pr_xid_start.c: New file.
29892         * lib/unictype/pr_zero_width.c: New file.
29893         * lib/unictype/scripts.c: New file.
29894         * lib/unictype/sy_c_ident.c: New file.
29895         * lib/unictype/sy_c_whitespace.c: New file.
29896         * lib/unictype/sy_java_ident.c: New file.
29897         * lib/unictype/sy_java_whitespace.c: New file.
29898
29899         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
29900         Unicode 5.0.0.
29901         * lib/unictype/blocks.h: Likewise.
29902         * lib/unictype/categ_C.h: Likewise.
29903         * lib/unictype/categ_Cc.h: Likewise.
29904         * lib/unictype/categ_Cf.h: Likewise.
29905         * lib/unictype/categ_Cn.h: Likewise.
29906         * lib/unictype/categ_Co.h: Likewise.
29907         * lib/unictype/categ_Cs.h: Likewise.
29908         * lib/unictype/categ_L.h: Likewise.
29909         * lib/unictype/categ_Ll.h: Likewise.
29910         * lib/unictype/categ_Lm.h: Likewise.
29911         * lib/unictype/categ_Lo.h: Likewise.
29912         * lib/unictype/categ_Lt.h: Likewise.
29913         * lib/unictype/categ_Lu.h: Likewise.
29914         * lib/unictype/categ_M.h: Likewise.
29915         * lib/unictype/categ_Mc.h: Likewise.
29916         * lib/unictype/categ_Me.h: Likewise.
29917         * lib/unictype/categ_Mn.h: Likewise.
29918         * lib/unictype/categ_N.h: Likewise.
29919         * lib/unictype/categ_Nd.h: Likewise.
29920         * lib/unictype/categ_Nl.h: Likewise.
29921         * lib/unictype/categ_No.h: Likewise.
29922         * lib/unictype/categ_P.h: Likewise.
29923         * lib/unictype/categ_Pc.h: Likewise.
29924         * lib/unictype/categ_Pd.h: Likewise.
29925         * lib/unictype/categ_Pe.h: Likewise.
29926         * lib/unictype/categ_Pf.h: Likewise.
29927         * lib/unictype/categ_Pi.h: Likewise.
29928         * lib/unictype/categ_Po.h: Likewise.
29929         * lib/unictype/categ_Ps.h: Likewise.
29930         * lib/unictype/categ_S.h: Likewise.
29931         * lib/unictype/categ_Sc.h: Likewise.
29932         * lib/unictype/categ_Sk.h: Likewise.
29933         * lib/unictype/categ_Sm.h: Likewise.
29934         * lib/unictype/categ_So.h: Likewise.
29935         * lib/unictype/categ_Z.h: Likewise.
29936         * lib/unictype/categ_Zl.h: Likewise.
29937         * lib/unictype/categ_Zp.h: Likewise.
29938         * lib/unictype/categ_Zs.h: Likewise.
29939         * lib/unictype/categ_of.h: Likewise.
29940         * lib/unictype/combining.h: Likewise.
29941         * lib/unictype/ctype_alnum.h: Likewise.
29942         * lib/unictype/ctype_alpha.h: Likewise.
29943         * lib/unictype/ctype_blank.h: Likewise.
29944         * lib/unictype/ctype_cntrl.h: Likewise.
29945         * lib/unictype/ctype_digit.h: Likewise.
29946         * lib/unictype/ctype_graph.h: Likewise.
29947         * lib/unictype/ctype_lower.h: Likewise.
29948         * lib/unictype/ctype_print.h: Likewise.
29949         * lib/unictype/ctype_punct.h: Likewise.
29950         * lib/unictype/ctype_space.h: Likewise.
29951         * lib/unictype/ctype_upper.h: Likewise.
29952         * lib/unictype/ctype_xdigit.h: Likewise.
29953         * lib/unictype/decdigit.h: Likewise.
29954         * lib/unictype/digit.h: Likewise.
29955         * lib/unictype/mirror.h: Likewise.
29956         * lib/unictype/numeric.h: Likewise.
29957         * lib/unictype/pr_alphabetic.h: Likewise.
29958         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
29959         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
29960         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
29961         * lib/unictype/pr_bidi_block_separator.h: Likewise.
29962         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
29963         * lib/unictype/pr_bidi_common_separator.h: Likewise.
29964         * lib/unictype/pr_bidi_control.h: Likewise.
29965         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
29966         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
29967         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
29968         * lib/unictype/pr_bidi_european_digit.h: Likewise.
29969         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
29970         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
29971         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
29972         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
29973         * lib/unictype/pr_bidi_pdf.h: Likewise.
29974         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
29975         * lib/unictype/pr_bidi_whitespace.h: Likewise.
29976         * lib/unictype/pr_combining.h: Likewise.
29977         * lib/unictype/pr_composite.h: Likewise.
29978         * lib/unictype/pr_currency_symbol.h: Likewise.
29979         * lib/unictype/pr_dash.h: Likewise.
29980         * lib/unictype/pr_decimal_digit.h: Likewise.
29981         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
29982         * lib/unictype/pr_deprecated.h: Likewise.
29983         * lib/unictype/pr_diacritic.h: Likewise.
29984         * lib/unictype/pr_extender.h: Likewise.
29985         * lib/unictype/pr_format_control.h: Likewise.
29986         * lib/unictype/pr_grapheme_base.h: Likewise.
29987         * lib/unictype/pr_grapheme_extend.h: Likewise.
29988         * lib/unictype/pr_grapheme_link.h: Likewise.
29989         * lib/unictype/pr_hex_digit.h: Likewise.
29990         * lib/unictype/pr_hyphen.h: Likewise.
29991         * lib/unictype/pr_id_continue.h: Likewise.
29992         * lib/unictype/pr_id_start.h: Likewise.
29993         * lib/unictype/pr_ideographic.h: Likewise.
29994         * lib/unictype/pr_ids_binary_operator.h: Likewise.
29995         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
29996         * lib/unictype/pr_ignorable_control.h: Likewise.
29997         * lib/unictype/pr_iso_control.h: Likewise.
29998         * lib/unictype/pr_join_control.h: Likewise.
29999         * lib/unictype/pr_left_of_pair.h: Likewise.
30000         * lib/unictype/pr_line_separator.h: Likewise.
30001         * lib/unictype/pr_logical_order_exception.h: Likewise.
30002         * lib/unictype/pr_lowercase.h: Likewise.
30003         * lib/unictype/pr_math.h: Likewise.
30004         * lib/unictype/pr_non_break.h: Likewise.
30005         * lib/unictype/pr_not_a_character.h: Likewise.
30006         * lib/unictype/pr_numeric.h: Likewise.
30007         * lib/unictype/pr_other_alphabetic.h: Likewise.
30008         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
30009         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
30010         * lib/unictype/pr_other_id_continue.h: Likewise.
30011         * lib/unictype/pr_other_id_start.h: Likewise.
30012         * lib/unictype/pr_other_lowercase.h: Likewise.
30013         * lib/unictype/pr_other_math.h: Likewise.
30014         * lib/unictype/pr_other_uppercase.h: Likewise.
30015         * lib/unictype/pr_paired_punctuation.h: Likewise.
30016         * lib/unictype/pr_paragraph_separator.h: Likewise.
30017         * lib/unictype/pr_pattern_syntax.h: Likewise.
30018         * lib/unictype/pr_pattern_white_space.h: Likewise.
30019         * lib/unictype/pr_private_use.h: Likewise.
30020         * lib/unictype/pr_punctuation.h: Likewise.
30021         * lib/unictype/pr_quotation_mark.h: Likewise.
30022         * lib/unictype/pr_radical.h: Likewise.
30023         * lib/unictype/pr_sentence_terminal.h: Likewise.
30024         * lib/unictype/pr_soft_dotted.h: Likewise.
30025         * lib/unictype/pr_space.h: Likewise.
30026         * lib/unictype/pr_terminal_punctuation.h: Likewise.
30027         * lib/unictype/pr_titlecase.h: Likewise.
30028         * lib/unictype/pr_unassigned_code_value.h: Likewise.
30029         * lib/unictype/pr_unified_ideograph.h: Likewise.
30030         * lib/unictype/pr_uppercase.h: Likewise.
30031         * lib/unictype/pr_variation_selector.h: Likewise.
30032         * lib/unictype/pr_white_space.h: Likewise.
30033         * lib/unictype/pr_xid_continue.h: Likewise.
30034         * lib/unictype/pr_xid_start.h: Likewise.
30035         * lib/unictype/pr_zero_width.h: Likewise.
30036         * lib/unictype/scripts.h: Likewise.
30037         * lib/unictype/scripts_byname.gperf: Likewise.
30038         * lib/unictype/sy_c_ident.h: Likewise.
30039         * lib/unictype/sy_c_whitespace.h: Likewise.
30040         * lib/unictype/sy_java_ident.h: Likewise.
30041         * lib/unictype/sy_java_whitespace.h: Likewise.
30042
30043         * lib/unictype/Makefile: New file.
30044         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
30045         glibc.
30046         * lib/unictype/3level.h: New file, copied from glibc.
30047         * lib/unictype/3levelbit.h: New file.
30048
30049 2007-11-11  Bruno Haible  <bruno@clisp.org>
30050
30051         * modules/gperf: New file.
30052         * modules/iconv_open (Depends-on): Add it.
30053         (Makefile.am): Remove the GPERF definition.
30054
30055 2007-11-11  Bruno Haible  <bruno@clisp.org>
30056
30057         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
30058         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
30059
30060 2007-11-11  Bruno Haible  <bruno@clisp.org>
30061
30062         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
30063         (usage): Remove function.
30064
30065 2007-11-11  Bruno Haible  <bruno@clisp.org>
30066
30067         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
30068         gl_FUNC_CEILF_LIBS.
30069         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
30070         gl_FUNC_CEIL_LIBS.
30071         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
30072         gl_FUNC_CEILL_LIBS.
30073         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
30074         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
30075         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
30076
30077 2007-11-11  Bruno Haible  <bruno@clisp.org>
30078
30079         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
30080         roundf were declared but do not exist on functions.
30081         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
30082         roundl were declared but do not exist on functions.
30083         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
30084         HAVE_FLOORL_AND_CEILL, respectively.
30085         Needed for Sun C on Solaris 10.
30086
30087 2007-11-11  Bruno Haible  <bruno@clisp.org>
30088
30089         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
30090         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
30091         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
30092         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
30093         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
30094         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
30095         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
30096         HAVE_DECL_ROUNDF.
30097         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
30098         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
30099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
30100         of HAVE_DECL_ROUND*.
30101         * modules/math (Makefile.am): Update.
30102
30103 2007-11-10  Bruno Haible  <bruno@clisp.org>
30104
30105         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
30106         ptrdiff_t as m4/intl.m4.
30107
30108 2007-11-10  Jim Meyering  <meyering@redhat.com>
30109
30110         Avoid link failure for the argmatch test.
30111         * tests/test-argmatch.c (usage): Define function to avoid a link
30112         failure: argmatch_die requires a usage function.
30113
30114 2007-11-09  Bruno Haible  <bruno@clisp.org>
30115
30116         * doc/functions/snprintf.texi: Mention BeOS deficiency.
30117         * doc/functions/vsnprintf.texi: Likewise.
30118         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
30119         with a size argument < 2.
30120
30121 2007-11-09  Bruno Haible  <bruno@clisp.org>
30122
30123         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
30124         buffer. Fixes an inefficiency introduced on 2007-11-03.
30125
30126 2007-11-09  Bruno Haible  <bruno@clisp.org>
30127
30128         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
30129         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
30130
30131 2007-11-08  Jim Meyering  <meyering@redhat.com>
30132
30133         Change cache variable name prefix "jm_" to "gl_" everywhere.
30134         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
30135         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
30136         * m4/uptime.m4: s/gl_/jm_/
30137
30138 2007-11-07  Bruno Haible  <bruno@clisp.org>
30139
30140         Update to GNU gettext 0.17.
30141         * m4/intl.m4: Update to GNU gettext 0.17.
30142         * m4/po.m4: Likewise.
30143         * modules/gettext (Files): Remove m4/ulonglong.m4.
30144         (configure.ac): Require gettext infrastructure from version 0.17.
30145
30146 2007-11-06  Bruno Haible  <bruno@clisp.org>
30147
30148         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
30149         symbolic values are not defined in a public header.
30150         * lib/freadable.c (freadable) [QNX]: Likewise.
30151         * lib/freadahead.c (freadahead) [QNX]: Likewise.
30152         * lib/freading.c (freading) [QNX]: Likewise.
30153         * lib/fseterr.c (fseterr) [QNX]: Likewise.
30154         * lib/fwritable.c (fwritable) [QNX]: Likewise.
30155         * lib/fwriting.c (fwriting) [QNX]: Likewise.
30156         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
30157         Reported by Alain Magloire.
30158
30159         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
30160
30161 2007-11-05  Bruno Haible  <bruno@clisp.org>
30162
30163         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
30164         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
30165         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
30166         Reported by Eric Blake.
30167
30168 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30169             Bruno Haible  <bruno@clisp.org>
30170
30171         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
30172         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
30173         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
30174         (malloc): Undefine also before including <stdlib.h>.
30175         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
30176         Needed on OSF/1 4.0.
30177
30178 2007-11-05  Jim Meyering  <meyering@redhat.com>
30179
30180         git-version-gen: sync from coreutils.
30181         * build-aux/git-version-gen: Add comments.
30182         Change the first '-' to '.' in the snapshot version string,
30183         e.g., 6.9-377-08144 -> 6.9.377-08144
30184         Remove first parameter.
30185         Don't declare a version "-dirty" merely because a time
30186         stamp has changed.
30187
30188 2007-11-04  Bruno Haible  <bruno@clisp.org>
30189
30190         * lib/lock.h: Protect all macro definitions containing an 'if'
30191         statement through a "do { ... } while (0)".
30192         * lib/tls.h: Likewise.
30193
30194 2007-11-04  Bruno Haible  <bruno@clisp.org>
30195
30196         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
30197
30198 2007-11-04  Bruno Haible  <bruno@clisp.org>
30199
30200         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
30201         * modules/fprintf-posix (Depends-on): Add nocrash.
30202         * modules/snprintf-posix (Depends-on): Likewise.
30203         * modules/sprintf-posix (Depends-on): Likewise.
30204         * modules/vasnprintf-posix (Depends-on): Likewise.
30205         * modules/vasprintf-posix (Depends-on): Likewise.
30206         * modules/vfprintf-posix (Depends-on): Likewise.
30207         * modules/vsnprintf-posix (Depends-on): Likewise.
30208         * modules/vsprintf-posix (Depends-on): Likewise.
30209         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30210         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30211         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30212         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30213         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30214         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30215         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30216
30217 2007-11-04  Bruno Haible  <bruno@clisp.org>
30218
30219         * modules/nocrash: New file.
30220         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
30221         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
30222
30223 2007-11-04  Bruno Haible  <bruno@clisp.org>
30224
30225         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
30226         precision handling.
30227         * tests/test-vasprintf-posix.c (test_function): Likewise.
30228         * tests/test-snprintf-posix.h (test_function): Likewise.
30229         * tests/test-sprintf-posix.h (test_function): Likewise.
30230
30231         Fix *printf behaviour for large precisions on mingw and BeOS.
30232         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
30233         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
30234         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
30235         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30236         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30237         gl_PRINTF_PRECISION and test its result. Invoke
30238         gl_PREREQ_VASNPRINTF_PRECISION.
30239         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30240         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30241         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30242         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30243         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30244         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30245         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30246         * doc/functions/fprintf.texi: Update.
30247         * doc/functions/printf.texi: Update.
30248         * doc/functions/snprintf.texi: Update.
30249         * doc/functions/sprintf.texi: Update.
30250         * doc/functions/vfprintf.texi: Update.
30251         * doc/functions/vprintf.texi: Update.
30252         * doc/functions/vsnprintf.texi: Update.
30253         * doc/functions/vsprintf.texi: Update.
30254
30255 2007-11-04  Bruno Haible  <bruno@clisp.org>
30256
30257         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
30258
30259 2007-11-04  Bruno Haible  <bruno@clisp.org>
30260
30261         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
30262         Reported by Sylvain Beucler <beuc@gnu.org>.
30263
30264 2007-11-03  Bruno Haible  <bruno@clisp.org>
30265
30266         * tests/test-fprintf-posix2.sh: New file.
30267         * tests/test-fprintf-posix2.c: New file.
30268         * modules/fprintf-posix-tests (Files): Add them.
30269         (TESTS): Add test-fprintf-posix2.sh.
30270         (configure.ac): Check for getrlimit and setrlimit.
30271         (check_PROGRAMS): Add test-fprintf-posix2.
30272
30273         * tests/test-printf-posix2.sh: New file.
30274         * tests/test-printf-posix2.c: New file.
30275         * modules/printf-posix-tests (Files): Add them.
30276         (TESTS): Add test-printf-posix2.sh.
30277         (configure.ac): Check for getrlimit and setrlimit.
30278         (check_PROGRAMS): Add test-printf-posix2.
30279
30280         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
30281         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
30282         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
30283         (decode_double): New function, copied from decode_long_double.
30284         (scale10_round_decimal_decoded): New function, extracted from
30285         scale10_round_decimal_long_double.
30286         (scale10_round_decimal_long_double): Use it.
30287         (scale10_round_decimal_double): New function.
30288         (floorlog10): New function.
30289         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
30290         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
30291         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30292         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30293         gl_PRINTF_ENOMEM and test its result. Invoke
30294         gl_PREREQ_VASNPRINTF_ENOMEM.
30295         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30296         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30297         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30298         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30299         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30300         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30301         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30302         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
30303         * modules/snprintf-posix (Depends-on): Likewise.
30304         * modules/sprintf-posix (Depends-on): Likewise.
30305         * modules/vasnprintf-posix (Depends-on): Likewise.
30306         * modules/vasprintf-posix (Depends-on): Likewise.
30307         * modules/vfprintf-posix (Depends-on): Likewise.
30308         * modules/vsnprintf-posix (Depends-on): Likewise.
30309         * modules/vsprintf-posix (Depends-on): Likewise.
30310         * doc/functions/fprintf.texi: Update.
30311         * doc/functions/printf.texi: Update.
30312         * doc/functions/snprintf.texi: Update.
30313         * doc/functions/sprintf.texi: Update.
30314         * doc/functions/vfprintf.texi: Update.
30315         * doc/functions/vprintf.texi: Update.
30316         * doc/functions/vsnprintf.texi: Update.
30317         * doc/functions/vsprintf.texi: Update.
30318
30319 2007-11-03  Bruno Haible  <bruno@clisp.org>
30320
30321         * modules/frexp-nolibm-tests: New file.
30322
30323         * modules/frexp-nolibm: New file.
30324         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
30325
30326 2007-11-03  Bruno Haible  <bruno@clisp.org>
30327
30328         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
30329         value is C99 compliant.
30330         Needed for OSF/1 5.1.
30331
30332 2007-11-03  Bruno Haible  <bruno@clisp.org>
30333
30334         Fix out-of-memory handling of vasnprintf.
30335         * lib/printf-parse.c: Include <errno.h>.
30336         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
30337         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
30338         is already set.
30339
30340 2007-11-02  Eric Blake  <ebb9@byu.net>
30341
30342         Fix tests on cygwin.
30343         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
30344
30345 2007-11-01  Bruno Haible  <bruno@clisp.org>
30346
30347         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
30348         warning.
30349         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
30350         needed for POSIX compatibility.
30351
30352 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
30353
30354         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
30355         for compatibility with GNU.
30356
30357 2007-11-01  Bruno Haible  <bruno@clisp.org>
30358
30359         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
30360         (putenv): Renamed from rpl_putenv. Change argument type from
30361         'const char *' to 'char *'.
30362         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
30363         of defining putenv in config.h, just set REPLACE_PUTENV.
30364         * modules/putenv (Depends-on): Add stdlib.
30365         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30366         (Include): Use <stdlib.h>.
30367         * lib/stdlib.in.h (putenv): New declaration.
30368         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
30369         REPLACE_PUTENV.
30370         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
30371         REPLACE_PUTENV.
30372         Needed for MacOS X 10.5.0.
30373         Reported by Peter O'Gorman <peter@pogma.com>.
30374
30375 2007-11-01  Jim Meyering  <meyering@redhat.com>
30376
30377         Treat an empty date string exactly like "0".
30378         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
30379         if the remaining date string (to be parsed) is empty, use "0".
30380         Reported by Mischa Molhoek and discussed in this thread:
30381         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
30382
30383 2007-10-31  Bruno Haible  <bruno@clisp.org>
30384
30385         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
30386         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
30387         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
30388         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
30389         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
30390         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
30391
30392 2007-10-31  Bruno Haible  <bruno@clisp.org>
30393
30394         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
30395         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
30396         (AC_TYPE_LONG_LONG_INT): Use it.
30397         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
30398         it as well.
30399         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
30400         to m4/longlong.m4.
30401         * modules/stdint (Files): Remove m4/ulonglong.m4.
30402         * modules/strtoull (Files): Use m4/longlong.m4 instead of
30403         m4/ulonglong.m4.
30404         * modules/strtoumax (Files): Likewise.
30405
30406 2007-10-30  Bruno Haible  <bruno@clisp.org>
30407
30408         * modules/xvasprintf-posix: New file.
30409         Suggested by Eric Blake.
30410
30411 2007-10-30  Bruno Haible  <bruno@clisp.org>
30412
30413         * modules/xprintf-posix-tests: New file.
30414         * tests/test-xprintf-posix.sh: New file.
30415         * tests/test-xprintf-posix.c: New file.
30416         * tests/test-xfprintf-posix.c: New file.
30417
30418         * modules/xprintf-posix: New file.
30419
30420 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30421
30422         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
30423         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
30424         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
30425
30426 2007-10-29  Bruno Haible  <bruno@clisp.org>
30427
30428         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
30429         contain the special marker '_cv_'.
30430         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30431         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30432         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30433         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30434         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30435         Reported by Ralf Wildenhues.
30436
30437 2007-10-29  Bruno Haible  <bruno@clisp.org>
30438
30439         * gnulib-tool (func_import): When --lgpl is not specified, set
30440         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
30441         GPLv3.
30442         Reported by Simon Josefsson.
30443
30444 2007-10-28  Bruno Haible  <bruno@clisp.org>
30445
30446         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
30447         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
30448         HAVE_DECL_ISFINITE.
30449         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30450         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
30451         HAVE_DECL_ISFINITE.
30452
30453 2007-10-28  Bruno Haible  <bruno@clisp.org>
30454
30455         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
30456         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
30457
30458 2007-10-28  Bruno Haible  <bruno@clisp.org>
30459
30460         Fix link errors with Sun C 5.0 on Solaris 10.
30461         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
30462         function is declared but not present in the compiler's libm.
30463         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30464         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30465         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
30466         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
30467         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
30468         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
30469         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
30470         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30471         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
30472         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
30473         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
30474         HAVE_DECL_FLOORL.
30475
30476 2007-10-28  Bruno Haible  <bruno@clisp.org>
30477
30478         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
30479         gl_FUNC_FLOORL. Cache the result.
30480         (gl_FUNC_FLOORL): Use it.
30481         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
30482         gl_FUNC_CEILL. Cache the result.
30483         (gl_FUNC_CEILL): Use it.
30484
30485         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
30486         gl_FUNC_FLOOR. Cache the result.
30487         (gl_FUNC_FLOOR): Use it.
30488         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
30489         gl_FUNC_CEIL. Cache the result.
30490         (gl_FUNC_CEIL): Use it.
30491
30492         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
30493         gl_FUNC_FLOORF. Cache the result.
30494         (gl_FUNC_FLOORF): Use it.
30495         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
30496         gl_FUNC_CEILF. Cache the result.
30497         (gl_FUNC_CEILF): Use it.
30498
30499 2007-10-28  Bruno Haible  <bruno@clisp.org>
30500
30501         * gnulib-tool: Allow specifying the LGPL version number through
30502         --lgpl=2 or --lgpl=3.
30503         (func_usage): Document --lgpl with argument.
30504         Handle --lgpl=... arguments.
30505         (func_import): Recognize also gl_LGPL calls with an argument. When
30506         --lgpl=2 is used and the module's license is just LGPL, report an
30507         error. Set sed_transform_lib_file according to the lgpl variable. In
30508         the generated files, use --lgpl or gl_LGPL invocations with argument,
30509         if necessary.
30510         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
30511         an LGPv2+ license.
30512         * doc/gnulib-tool.texi (Modified imports): Update explanation of
30513         gl_LGPL macro.
30514
30515 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30516             Bruno Haible  <bruno@clisp.org>
30517
30518         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
30519         (u16_uctomb_aux): Likewise.
30520         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
30521         !HAVE_INLINE.
30522         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
30523
30524 2007-10-28  Bruno Haible  <bruno@clisp.org>
30525
30526         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
30527         Invoke AM_GETTEXT_OPTION if it exists.
30528         * modules/vasprintf: Likewise.
30529         * modules/verror: Likewise.
30530         * modules/xprintf: Likewise.
30531         * modules/xvasprintf: Likewise.
30532
30533 2007-10-27  Ben Pfaff  <blp@gnu.org>
30534
30535         * lib/math.in.h: Define isfinite macro and prototypes for
30536         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
30537         implementations.
30538         * m4/math_h.m4: New substitutions for isfinite module.
30539         * lib/isfinite.c: New file.
30540         * m4/isfinite.m4: New file.
30541         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
30542         * modules/isfinite: New file.
30543         * modules/isfinite-tests: New file.
30544         * tests/tests-isfinite.c: New file.
30545         * doc/functions/isfinite.texi: Mention isfinite module.
30546         * MODULES.html.sh: Mention new module.
30547
30548 2007-10-27  Ben Pfaff  <blp@gnu.org>
30549
30550         Ralf Wildenhues reported that Tru64 4.0D declares the round
30551         functions but does not have definitions.
30552         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
30553         cannot be found in any library, set the output variable to
30554         "missing" instead of "".
30555         * m4/round.m4: Also use our substitute if we cannot find round in
30556         any library, even if it is declared.
30557         * m4/roundf.m4: Likewise for roundf.
30558         * m4/roundl.m4: Likewise for roundl.
30559         * lib/math.in.h: Undefine roundf, round, roundl before defining
30560         their replacements, to allow for hypothetical systems where these
30561         may be defined as macros but not available in libraries.
30562
30563 2007-10-27  Bruno Haible  <bruno@clisp.org>
30564
30565         * doc/gnulib.texi: Invoke @firstparagraphindent.
30566         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
30567         changes in gnulib.
30568         (Source changes): New section.
30569
30570 2007-10-26  Bruno Haible  <bruno@clisp.org>
30571
30572         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
30573         borrowed from autoconf.
30574
30575 2007-10-26  Bruno Haible  <bruno@clisp.org>
30576
30577         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
30578         strerror returned the empty string. Needed on HP-UX 11.00.
30579
30580 2007-10-24  Micah Cowan  <micah@cowan.name>
30581
30582         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
30583         * build-aux/bootstrap: Remove support for now-unnecessary option,
30584         --cvs-user, and envvars CVS_USER, CVS_RSH.
30585
30586 2007-10-24  Jim Meyering  <meyering@redhat.com>
30587
30588         Avoid diagnostics from sha1sum when there is no cached checksum.
30589         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
30590         if the po.s1 file hasn't been created yet.
30591
30592         * build-aux/bootstrap: Sync from coreutils:
30593         2007-10-24  Jim Meyering  <meyering@redhat.com>
30594         Get gnulib from the git repository, not from an obsolete cvs one.
30595         * build-aux/bootstrap: Suggestion from Micah Cowan.
30596         2007-10-04  Jim Meyering  <jim@meyering.net>
30597         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
30598         (update_po_files): Work also when there are no .po files in po/.
30599
30600 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30601
30602         * README: Append ".git" to git and cg examples.
30603         Problem reported by Benoit Sigoure.
30604
30605 2007-10-23  Micah Cowan  <micah@cowan.name>
30606
30607         * users.txt: Add wget.
30608
30609 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30610
30611         Fix linking of some unistdio tests on FreeBSD.
30612         * modules/unistdio/u16-vsnprintf-tests
30613         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
30614         * modules/unistdio/u16-vsprintf-tests
30615         (test_u16_vsnprintf1_LDADD): Likewise.
30616         * modules/unistdio/u32-vsnprintf-tests
30617         (test_u32_vsnprintf1_LDADD): Likewise.
30618         * modules/unistdio/u32-vsprintf-tests
30619         (test_u32_vsprintf1_LDADD): Likewise.
30620         * modules/unistdio/u8-vsnprintf-tests
30621         (test_u8_vsnprintf1_LDADD): Likewise.
30622         * modules/unistdio/u8-vsprintf-tests
30623         (test_u8_vsprintf1_LDADD): Likewise.
30624         * modules/unistdio/ulc-vsnprintf-tests
30625         (test_ulc_vsnprintf1_LDADD): Likewise.
30626         * modules/unistdio/ulc-vsprintf-tests
30627         (test_ulc_vsprintf1_LDADD): Likewise.
30628
30629         Fix linking of some uniconv tests on FreeBSD.
30630         * modules/uniconv/u16-conv-from-enc-tests
30631         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
30632         * modules/uniconv/u16-conv-to-enc-tests
30633         (test_u16_conv_to_enc_LDADD): Likewise.
30634         * modules/uniconv/u16-strconv-from-enc-tests
30635         (test_u16_strconv_from_enc_LDADD): Likewise.
30636         * modules/uniconv/u16-strconv-to-enc-tests
30637         (test_u16_strconv_to_enc_LDADD): Likewise.
30638         * modules/uniconv/u32-conv-from-enc-tests
30639         (test_u32_conv_from_enc_LDADD): Likewise.
30640         * modules/uniconv/u32-conv-to-enc-tests
30641         (test_u32_conv_to_enc_LDADD): Likewise.
30642         * modules/uniconv/u32-strconv-from-enc-tests
30643         (test_u32_strconv_from_enc_LDADD): Likewise.
30644         * modules/uniconv/u32-strconv-to-enc-tests
30645         (test_u32_strconv_to_enc_LDADD): Likewise.
30646         * modules/uniconv/u8-conv-from-enc-tests
30647         (test_u8_conv_from_enc_LDADD): Likewise.
30648         * modules/uniconv/u8-conv-to-enc-tests
30649         (test_u8_conv_to_enc_LDADD): Likewise.
30650         * modules/uniconv/u8-strconv-from-enc-tests
30651         (test_u8_strconv_from_enc_LDADD): Likewise.
30652         * modules/uniconv/u8-strconv-to-enc-tests
30653         (test_u8_strconv_to_enc_LDADD): Likewise.
30654
30655 2007-10-22  Bruno Haible  <bruno@clisp.org>
30656
30657         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
30658         size.
30659
30660 2007-10-22  Eric Blake  <ebb9@byu.net>
30661
30662         Tweak x*printf documentation.
30663         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
30664         variable name and comments.
30665         Suggested by Bruno Haible.
30666
30667 2007-10-22  Bruno Haible  <bruno@clisp.org>
30668
30669         * lib/acl.c (copy_acl): Fix file name in comment.
30670
30671 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30672
30673         Fix Tru64 problem with stdbool.h.
30674         * lib/stdbool.in.h (false, true):
30675         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
30676         Don't declare as an enum in this situation; it runs afoul of Tru64.
30677         Problem reported by Steven M. Schweda in
30678         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
30679
30680 2007-10-22  Eric Blake  <ebb9@byu.net>
30681
30682         Also wrap vf?printf.
30683         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
30684         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
30685         (xvprintf, xvfprintf): New functions.
30686
30687 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30688
30689         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
30690         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
30691
30692         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
30693         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
30694
30695 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30696
30697         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
30698         by Bruno Haible.
30699
30700 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30701
30702         * lib/getloadavg.c
30703         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
30704         Undef `sys' after including sys/table.h, for Tru64 4.0D.
30705
30706         * tests/test-i-ring.c: Work for C89.
30707
30708 2007-10-22  Bruno Haible  <bruno@clisp.org>
30709
30710         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
30711         -1u, in preprocessor expression, so that we don't test for the bug
30712         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
30713         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
30714
30715 2007-10-22  Eric Blake  <ebb9@byu.net>
30716
30717         * tests/test-yesno.sh: Silence stderr during test.
30718
30719 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30720
30721         * modules/crypto/gc-camellia: New file.
30722
30723         * m4/gc-camellia.m4: New file.
30724
30725         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
30726
30727         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
30728
30729 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30730
30731         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
30732         --help to stdout.  Reported by sms@antinode.org (Steven
30733         M. Schweda).
30734
30735 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30736
30737         * users.txt: Fix link to libksba.
30738
30739 2007-10-21  Ben Pfaff  <blp@gnu.org>
30740
30741         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
30742         round.c roundf implementation that depends on floorf and ceilf to
30743         be tested unconditionally.
30744
30745 2007-10-21  Ben Pfaff  <blp@gnu.org>
30746
30747         * m4/check-libm-func.m4: Removed.
30748         * m4/check-math-lib.m4: New file.
30749         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
30750         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
30751         definition and lack of AC_LIBOBJ([roundf]).
30752         * m4/roundl.m4: Ditto, and similarly for roundl.
30753         * modules/round: Reference new m4 file.
30754         * modules/roundf: Ditto.
30755         * modules/roundl: Ditto.
30756         * tests/test-round2.c (main): Use ROUND instead of round.
30757         Bug report from Bruno Haible.
30758
30759 2007-10-21  Bruno Haible  <bruno@clisp.org>
30760
30761         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
30762         context.
30763
30764 2007-10-21  Bruno Haible  <bruno@clisp.org>
30765
30766         * tests/test-wcwidth.c (main): Allow negative result for some control
30767         characters.
30768
30769         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
30770         Needed on OSF/1 5.1.
30771
30772 2007-10-21  Bruno Haible  <bruno@clisp.org>
30773
30774         * tests/test-floorf1.c: Include isnanf.h.
30775         (main): Use isnanf() instead of isnan().
30776         * tests/test-ceilf1.c: Include isnanf.h.
30777         (main): Use isnanf() instead of isnan().
30778         * tests/test-truncf1.c: Include isnanf.h.
30779         (main): Use isnanf() instead of isnan().
30780         * tests/test-roundf1.c: Include isnanf.h.
30781         (main): Use isnanf() instead of isnan().
30782
30783 2007-10-21  Eric Blake  <ebb9@byu.net>
30784
30785         * users.txt: Update URL for m4.
30786
30787 2007-10-21  Bruno Haible  <bruno@clisp.org>
30788
30789         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
30790
30791 2007-10-21  Bruno Haible  <bruno@clisp.org>
30792
30793         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
30794         Git's management files if the CVS files are not present.
30795
30796 2007-10-20  Bruno Haible  <bruno@clisp.org>
30797
30798         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
30799         gcc-3.4.x.
30800
30801 2007-10-20  Ben Pfaff  <blp@gnu.org>
30802
30803         * lib/math.in.h: Declare round, roundf, roundl if we are providing
30804         implementations.
30805         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
30806         * lib/round.c: New file.
30807         * lib/roundf.c: New file.
30808         * lib/roundl.c: New file.
30809         * m4/round.m4: New file.
30810         * m4/roundf.m4: New file.
30811         * m4/roundl.m4: New file.
30812         * m4/check-libm-func-m4: New file.
30813         * modules/math: Replace round, roundf, roundl related @VARS@ in
30814         math.in.h.
30815         * modules/round: New file.
30816         * modules/round-tests: New file.
30817         * modules/roundf: New file.
30818         * modules/roundf-tests: New file.
30819         * modules/roundl: New file.
30820         * modules/roundl-tests: New file.
30821         * tests/test-round1.c: New file.
30822         * tests/test-round2.c: New file.
30823         * tests/test-roundf1.c: New file.
30824         * tests/test-roundf2.c: New file.
30825         * tests/test-roundl.c: New file.
30826         * doc/functions/round.texi: Mention round module.
30827         * doc/functions/roundf.texi: Mention roundf module.
30828         * doc/functions/roundl.texi: Mention roundl module.
30829         * MODULES.html.sh: Mention new modules.
30830         Thanks to Bruno Haible for suggestions.
30831
30832 2007-10-20  Jim Meyering  <meyering@redhat.com>
30833
30834         * lib/xprintf.c: Include <config.h> unconditionally.
30835
30836         Change xprintf's license to GPL.
30837         * modules/xprintf (License): s/LGPL/GPL/, since this module
30838         depends on modules (exit and exitfail) which are GPL.
30839         Suggestion from Bruno Haible.
30840
30841         xprintf fixes.
30842         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
30843         Use a clearer diagnostic.
30844         Patch from Bruno Haible.
30845
30846 2007-10-20  Bruno Haible  <bruno@clisp.org>
30847
30848         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
30849         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
30850         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30851
30852 2007-10-20  Bruno Haible  <bruno@clisp.org>
30853
30854         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
30855         precision in the comparison result > x - 1 or similar.
30856         * tests/test-ceilf2.c (correct_result_p): Likewise.
30857         * tests/test-truncf2.c (correct_result_p): Likewise.
30858         * tests/test-trunc2.c (correct_result_p): Likewise.
30859         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30860
30861 2007-10-20  Bruno Haible  <bruno@clisp.org>
30862
30863         * modules/ceil: New file.
30864         * m4/ceil.m4: New file.
30865         * doc/functions/ceil.texi: Mention the 'ceil' module.
30866
30867 2007-10-20  Bruno Haible  <bruno@clisp.org>
30868
30869         * modules/floor: New file.
30870         * m4/floor.m4: New file.
30871         * doc/functions/floor.texi: Mention the 'floor' module.
30872
30873 2007-10-20  Bruno Haible  <bruno@clisp.org>
30874
30875         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
30876         of %a.
30877         * modules/floorf-tests (Depends-on): Likewise.
30878         * modules/truncf-tests (Depends-on): Likewise.
30879         * modules/trunc-tests (Depends-on): Likewise.
30880         Reported by Ben Pfaff.
30881
30882 2007-10-19  Jim Meyering  <meyering@redhat.com>
30883
30884         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
30885         Don't bother testing specific errno values.  Just test ferror.
30886
30887         New module: xprintf
30888         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
30889
30890 2007-10-19  Bruno Haible  <bruno@clisp.org>
30891
30892         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
30893         syntax.
30894         * modules/javaexec (Makefile.am): Likewise.
30895         * modules/relocatable-prog (Makefile.am): Likewise.
30896         Suggested by Jim Meyering.
30897
30898 2007-10-18  Bruno Haible  <bruno@clisp.org>
30899
30900         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
30901         Reported by Jim Meyering.
30902
30903 2007-10-18  Eric Blake  <ebb9@byu.net>
30904
30905         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
30906
30907 2007-10-18  Bruno Haible  <bruno@clisp.org>
30908
30909         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
30910         the format string into writable memory. Needed in Fortify conditions.
30911
30912 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
30913             Bruno Haible  <bruno@clisp.org>
30914
30915         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
30916         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
30917         * modules/trim (Depends-on): Add mbchar.
30918         (configure.ac): Add gl_FUNC_MBRTOWC.
30919         (Makefile.am): Augment lib_SOURCES.
30920
30921 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
30922
30923         Modify glob.c to use fstatat and dirfd, to simplify it.
30924         Suggested by Eric Blake.
30925         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
30926         Don't include <stdbool.h>; not used.
30927         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
30928         (link_exists_p): Simplify implementation, since we can now assume
30929         dirfd and fstatat.
30930         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
30931
30932 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30933
30934         * gnulib-tool (func_get_dependencies): Fix sed script to
30935         match only tests.
30936
30937 2007-10-17  Bruno Haible  <bruno@clisp.org>
30938
30939         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
30940         allow locale names without encoding suffix.
30941         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
30942         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30943
30944 2007-10-16  Bruno Haible  <bruno@clisp.org>
30945
30946         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
30947         * lib/getgroups.c (getgroups): Likewise.
30948         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
30949
30950 2007-10-16  Bruno Haible  <bruno@clisp.org>
30951
30952         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
30953         * modules/malloc-posix (License): Likewise.
30954         * modules/realloc-posix (License): Likewise.
30955         * modules/calloc-posix (License): Likewise.
30956         * modules/intprops (License): Change from GPL to LGPL, with
30957         Paul Eggert's approval.
30958
30959 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30960
30961         Merge glibc changes into lib/glob.c.
30962
30963         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
30964         2007-10-15 04:59:03 UTC.  Here are the changes:
30965
30966         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
30967
30968         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
30969
30970         * lib/glob.c: Add some branch prediction throughout.
30971
30972         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
30973
30974         [BZ #5103]
30975         * lib/glob.c (glob): Recognize patterns starting \/.
30976
30977         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
30978
30979         [BZ #3996]
30980         * lib/glob.c (attribute_hidden): Define if not defined.
30981         (glob): Unescape dirname, filename or username when needed and not
30982         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
30983         is NULL.  Handle unescaped [ in pattern without closing ].
30984         Don't pass GLOB_CHECK down to recursive glob for directories.
30985         (__glob_pattern_type): New function.
30986         (__glob_pattern_p): Implement using __glob_pattern_type.
30987         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
30988         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
30989         Remove unreachable code.
30990
30991         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
30992
30993         * lib/glob.c (glob_in_dir): Add some comments and asserts to
30994         explain why there are no leaks.
30995
30996         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
30997
30998         [BZ #3253]
30999         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
31000         time, rather allocate increasingly bigger arrays of pointers, if
31001         possible with alloca, if too large with malloc.
31002
31003 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31004
31005         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
31006         Problem reported by H.Merijn Brand in
31007         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
31008         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
31009         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
31010
31011 2007-10-15  Bruno Haible  <bruno@clisp.org>
31012
31013         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
31014         with explicit rpl_ prefix.
31015         * lib/fopen.c (fopen): Likewise.
31016         * lib/freopen.c (freopen): Likewise.
31017         * lib/iconv.c (iconv): Likewise.
31018         * lib/iconv_close.c (iconv_close): Likewise.
31019
31020 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31021
31022         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
31023
31024 2007-10-15  Bruno Haible  <bruno@clisp.org>
31025
31026         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
31027         <stddef.h> instead of <stdlib.h> since we only need NULL.
31028         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31029
31030 2007-10-15  Bruno Haible  <bruno@clisp.org>
31031
31032         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
31033         Replace paragraph talking about LIBOBJS.
31034         Reported by Colin Watson <cjwatson@debian.org>.
31035
31036 2007-10-15  Bruno Haible  <bruno@clisp.org>
31037
31038         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
31039         <stdlib.h> before using NULL.
31040
31041 2007-10-15  Simon Josefsson  <simon@josefsson.org>
31042
31043         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
31044         Reported by Albert Chin <china@thewrittenword.com>.
31045
31046 2007-10-14  Bruno Haible  <bruno@clisp.org>
31047
31048         * modules/iconv_open-utf-tests: New file.
31049         * tests/test-iconv-utf.c: New file.
31050
31051         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
31052         * modules/iconv_open-utf: New file.
31053         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
31054         (iconv, iconv_close): New declarations.
31055         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
31056         be defined.
31057         (iconv_open): Add special handling of conversion between UTF-8 and
31058         UTF-{16,32}{BE,LE}.
31059         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
31060         * lib/iconv_close.c: New file.
31061         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
31062         gl_FUNC_ICONV_OPEN.
31063         (gl_FUNC_ICONV_OPEN): Use it.
31064         (gl_FUNC_ICONV_OPEN_UTF): New macro.
31065         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
31066         and REPLACE_ICONV_UTF.
31067         * modules/iconv_open (Depends-on): Add c-strcase.
31068         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
31069         ICONV_CONST.
31070         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
31071
31072 2007-10-13  Albert Chin  <china@thewrittenword.com>
31073             Bruno Haible  <bruno@clisp.org>
31074
31075         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
31076         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
31077
31078 2007-10-13  Bruno Haible  <bruno@clisp.org>
31079
31080         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
31081         defined, use the ISO C99 inline semantics.
31082         * lib/argp.h (ARGP_EI): Likewise.
31083
31084 2007-10-13  Bruno Haible  <bruno@clisp.org>
31085
31086         Handle 'inline' change in gcc 4.3.0.
31087         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
31088         argp_fmtstream_write, argp_fmtstream_set_lmargin,
31089         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
31090         argp_fmtstream_point): Disable 'extern' declaration if the function
31091         definition is going to be provided inline.
31092         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
31093         semantics, not the ISO C99 inline semantics.
31094         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
31095         'extern' declaration if the function definition is going to be provided
31096         inline.
31097         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
31098         the GNU C inline semantics, not the ISO C99 inline semantics. With
31099         GCC 4.2, avoid a warning.
31100
31101 2007-10-13  Bruno Haible  <bruno@clisp.org>
31102
31103         * lib/freading.h (freading): Enable the use of __freading for
31104         glibc >= 2.7.
31105         * lib/freading.c (freading): Likewise.
31106
31107 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
31108
31109         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
31110         "warning: C99 inline functions are not supported; using GNU89".
31111
31112 2007-10-12  Bruno Haible  <bruno@clisp.org>
31113
31114         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
31115         of 2.
31116         * tests/test-ceilf2.c: New file.
31117         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
31118
31119         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
31120         * modules/ceilf-tests: Update.
31121
31122 2007-10-12  Bruno Haible  <bruno@clisp.org>
31123
31124         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
31125         of 2.
31126         * tests/test-floorf2.c: New file.
31127         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
31128
31129         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
31130         * modules/floorf-tests: Update.
31131
31132 2007-10-12  Bruno Haible  <bruno@clisp.org>
31133
31134         * tests/test-trunc2.c: New file.
31135         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
31136
31137         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
31138         * modules/trunc-tests: Update.
31139
31140 2007-10-12  Bruno Haible  <bruno@clisp.org>
31141
31142         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
31143         of 2.
31144         * tests/test-truncf2.c: New file.
31145         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
31146
31147         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
31148         * modules/truncf-tests: Update.
31149
31150 2007-10-11  Eric Blake  <ebb9@byu.net>
31151
31152         Don't claim strerror is broken on Interix.
31153         * doc/functions/strerror.texi (strerror): Known broken systems are
31154         now Solaris 8, and not Interix.
31155         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
31156         Interix on cross-compile.
31157         Reported by Martin Koeppe in
31158         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
31159
31160 2007-10-11  Bruno Haible  <bruno@clisp.org>
31161
31162         * modules/i-ring-tests: New file.
31163         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
31164         instead of assert.
31165
31166 2007-10-11  Bruno Haible  <bruno@clisp.org>
31167
31168         * modules/filenamecat-tests: New file.
31169         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
31170         * lib/filenamecat.c: Remove test code.
31171
31172 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
31173
31174         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
31175
31176         * lib/strerror.c: Include <string.h> always, to test interface,
31177         and to remove the need for the dummy.
31178         Include intprops.h to compute width instead of doing it ourselves
31179         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
31180         (strerror): Define it to return NULL if there's no system strerror.
31181         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
31182         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
31183         ancient pre-strerror Unix systems well any more.  Saying "unknown
31184         system error" is enough.
31185         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
31186         simpler strerror.c implementation.
31187         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
31188         Simplify the tests to reflect the simpler strerror implementation.
31189         * modules/strerror (Depends-on): Add intprops.
31190
31191 2007-10-09  Eric Blake  <ebb9@byu.net>
31192
31193         Silence test-fpending.
31194         * modules/fpending-tests (Files): Add wrapper script.
31195         * tests/test-fpending.sh: New file.
31196
31197 2007-10-09  Bruno Haible  <bruno@clisp.org>
31198
31199         * MODULES.html.sh (func_module): Don't create a hyperlink for
31200         function names like 'printf_frexp'.
31201         (Misc): Add crc, memxor.
31202         (Characteristics of floating types): New section.
31203         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
31204         isnanf-nolibm, signbit, trunc, truncf, truncl.
31205         (Enhancements for ISO C 99 functions): New subsection Input/output.
31206         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
31207         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
31208         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
31209         (Compatibility checks for POSIX:2001 functions): Add clock-time.
31210         (Enhancements for POSIX:2001 functions): Add chdir-long.
31211         (File system functions): Add areadlink, chdir-safer, read-file.
31212         Remove cycle-check.
31213         (File system as inode set): New section.
31214         (Date and time): Add gethrxtime.
31215         (Multithreading): Add openmp.
31216         (Internationalization functions): Add localename.
31217         (Unicode string functions): Add unistr/u*-mbsnlen.
31218         (Support for maintaining and releasing projects): Add git-version-gen.
31219         (Lone files): Remove directories.
31220
31221 2007-10-08  Ben Pfaff  <blp@gnu.org>
31222
31223         * lib/xmalloca.h: Fix typo in comment.
31224
31225 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31226
31227         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
31228         when avoiding problems with integer overflow.  Use a portable test
31229         instead.
31230
31231 2007-10-08  Simon Josefsson  <simon@josefsson.org>
31232
31233         * modules/dummy (License): Change to LGPLv2+.
31234         * modules/float (License): Likewise
31235         * modules/realloc (License): Likewise
31236         * modules/stdlib (License): Likewise
31237
31238 2007-10-07  Bruno Haible  <bruno@clisp.org>
31239
31240         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
31241         * floor.c (TWO_MANT_DIG): Likewise.
31242         * ceil.c (TWO_MANT_DIG): Likewise.
31243         Reported by Ben Pfaff.
31244
31245 2007-10-07  Bruno Haible  <bruno@clisp.org>
31246
31247         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
31248         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
31249         * lib/frexp.c (FUNC): Likewise.
31250         * lib/printf-frexp.h (printf_frexp): Likewise.
31251         * lib/printf-frexpl.h (printf_frexpl): Likewise.
31252         * lib/printf-frexp.c (FUNC): Likewise.
31253         Suggested by Jim Meyering.
31254
31255 2007-10-07  Jim Meyering  <meyering@redhat.com>
31256
31257         Make xnanosleep's integer overflow test more robust.
31258         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
31259         so that gcc-4.3.0 doesn't optimize away this test for overflow.
31260
31261 2007-10-07  Bruno Haible  <bruno@clisp.org>
31262
31263         * NEWS: Mention the license change.
31264
31265         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
31266         abbreviations in the modules files.
31267
31268         Change copyright notice from GPLv2+ to GPLv3+.
31269         * README: Change copyright notice.
31270         * MODULES.html.sh: Likewise.
31271         * build-aux/bootstrap.conf: Likewise.
31272         * build-aux/config.libpath: Likewise.
31273         * build-aux/csharpcomp.sh.in: Likewise.
31274         * build-aux/csharpexec.sh.in: Likewise.
31275         * build-aux/install-reloc: Likewise.
31276         * build-aux/javacomp.sh.in: Likewise.
31277         * build-aux/javaexec.sh.in: Likewise.
31278         * build-aux/ldd.sh.in: Likewise.
31279         * build-aux/reloc-ldflags: Likewise.
31280         * build-aux/relocatable.sh.in: Likewise.
31281         * build-aux/x-to-1.in: Likewise.
31282         * check-module: Likewise.
31283         * config/srclistvars.sh: Likewise.
31284         * gnulib-tool: Likewise.
31285         * lib/acl-internal.h: Likewise.
31286         * lib/acl.c: Likewise.
31287         * lib/acl.h: Likewise.
31288         * lib/acl_entries.c: Likewise.
31289         * lib/areadlink-with-size.c: Likewise.
31290         * lib/areadlink.c: Likewise.
31291         * lib/areadlink.h: Likewise.
31292         * lib/argmatch.c: Likewise.
31293         * lib/argmatch.h: Likewise.
31294         * lib/argp-ba.c: Likewise.
31295         * lib/argp-eexst.c: Likewise.
31296         * lib/argp-fmtstream.c: Likewise.
31297         * lib/argp-fmtstream.h: Likewise.
31298         * lib/argp-fs-xinl.c: Likewise.
31299         * lib/argp-help.c: Likewise.
31300         * lib/argp-namefrob.h: Likewise.
31301         * lib/argp-parse.c: Likewise.
31302         * lib/argp-pin.c: Likewise.
31303         * lib/argp-pv.c: Likewise.
31304         * lib/argp-pvh.c: Likewise.
31305         * lib/argp-xinl.c: Likewise.
31306         * lib/argp.h: Likewise.
31307         * lib/at-func.c: Likewise.
31308         * lib/atanl.c: Likewise.
31309         * lib/backupfile.c: Likewise.
31310         * lib/backupfile.h: Likewise.
31311         * lib/basename.c: Likewise.
31312         * lib/binary-io.h: Likewise.
31313         * lib/byteswap.in.h: Likewise.
31314         * lib/c-stack.c: Likewise.
31315         * lib/c-stack.h: Likewise.
31316         * lib/c-strcasestr.c: Likewise.
31317         * lib/c-strcasestr.h: Likewise.
31318         * lib/c-strstr.c: Likewise.
31319         * lib/c-strstr.h: Likewise.
31320         * lib/c-strtod.c: Likewise.
31321         * lib/calloc.c: Likewise.
31322         * lib/canon-host.c: Likewise.
31323         * lib/canon-host.h: Likewise.
31324         * lib/canonicalize-lgpl.c: Likewise.
31325         * lib/canonicalize.c: Likewise.
31326         * lib/canonicalize.h: Likewise.
31327         * lib/ceil.c: Likewise.
31328         * lib/ceilf.c: Likewise.
31329         * lib/ceill.c: Likewise.
31330         * lib/chdir-long.c: Likewise.
31331         * lib/chdir-long.h: Likewise.
31332         * lib/chdir-safer.c: Likewise.
31333         * lib/chdir-safer.h: Likewise.
31334         * lib/chown.c: Likewise.
31335         * lib/classpath.c: Likewise.
31336         * lib/classpath.h: Likewise.
31337         * lib/clean-temp.c: Likewise.
31338         * lib/clean-temp.h: Likewise.
31339         * lib/cloexec.c: Likewise.
31340         * lib/close-stream.c: Likewise.
31341         * lib/closein.c: Likewise.
31342         * lib/closein.h: Likewise.
31343         * lib/closeout.c: Likewise.
31344         * lib/closeout.h: Likewise.
31345         * lib/concat-filename.c: Likewise.
31346         * lib/copy-file.c: Likewise.
31347         * lib/copy-file.h: Likewise.
31348         * lib/count-one-bits.h: Likewise.
31349         * lib/crc.c: Likewise.
31350         * lib/crc.h: Likewise.
31351         * lib/creat-safer.c: Likewise.
31352         * lib/csharpcomp.c: Likewise.
31353         * lib/csharpcomp.h: Likewise.
31354         * lib/csharpexec.c: Likewise.
31355         * lib/csharpexec.h: Likewise.
31356         * lib/cycle-check.c: Likewise.
31357         * lib/cycle-check.h: Likewise.
31358         * lib/diacrit.c: Likewise.
31359         * lib/diacrit.h: Likewise.
31360         * lib/diffseq.h: Likewise.
31361         * lib/dirchownmod.c: Likewise.
31362         * lib/dirent.in.h: Likewise.
31363         * lib/dirfd.c: Likewise.
31364         * lib/dirfd.h: Likewise.
31365         * lib/dirname.c: Likewise.
31366         * lib/dirname.h: Likewise.
31367         * lib/dummy.c: Likewise.
31368         * lib/dup-safer.c: Likewise.
31369         * lib/dup2.c: Likewise.
31370         * lib/eealloc.h: Likewise.
31371         * lib/error.c: Likewise.
31372         * lib/error.h: Likewise.
31373         * lib/euidaccess.c: Likewise.
31374         * lib/exclude.c: Likewise.
31375         * lib/exclude.h: Likewise.
31376         * lib/execute.c: Likewise.
31377         * lib/execute.h: Likewise.
31378         * lib/exitfail.c: Likewise.
31379         * lib/exitfail.h: Likewise.
31380         * lib/expl.c: Likewise.
31381         * lib/fatal-signal.c: Likewise.
31382         * lib/fatal-signal.h: Likewise.
31383         * lib/fbufmode.c: Likewise.
31384         * lib/fbufmode.h: Likewise.
31385         * lib/fchdir.c: Likewise.
31386         * lib/fchmodat.c: Likewise.
31387         * lib/fchownat.c: Likewise.
31388         * lib/fcntl--.h: Likewise.
31389         * lib/fcntl-safer.h: Likewise.
31390         * lib/fcntl.in.h: Likewise.
31391         * lib/fd-safer.c: Likewise.
31392         * lib/fflush.c: Likewise.
31393         * lib/file-has-acl.c: Likewise.
31394         * lib/file-set.c: Likewise.
31395         * lib/file-type.c: Likewise.
31396         * lib/file-type.h: Likewise.
31397         * lib/fileblocks.c: Likewise.
31398         * lib/filemode.c: Likewise.
31399         * lib/filemode.h: Likewise.
31400         * lib/filename.h: Likewise.
31401         * lib/filenamecat.c: Likewise.
31402         * lib/filenamecat.h: Likewise.
31403         * lib/findprog.c: Likewise.
31404         * lib/findprog.h: Likewise.
31405         * lib/float.in.h: Likewise.
31406         * lib/floor.c: Likewise.
31407         * lib/floorf.c: Likewise.
31408         * lib/floorl.c: Likewise.
31409         * lib/fopen-safer.c: Likewise.
31410         * lib/fopen.c: Likewise.
31411         * lib/fpending.c: Likewise.
31412         * lib/fpending.h: Likewise.
31413         * lib/fprintf.c: Likewise.
31414         * lib/fprintftime.h: Likewise.
31415         * lib/fpucw.h: Likewise.
31416         * lib/fpurge.c: Likewise.
31417         * lib/fpurge.h: Likewise.
31418         * lib/freadable.c: Likewise.
31419         * lib/freadable.h: Likewise.
31420         * lib/freadahead.c: Likewise.
31421         * lib/freadahead.h: Likewise.
31422         * lib/freading.c: Likewise.
31423         * lib/freading.h: Likewise.
31424         * lib/free.c: Likewise.
31425         * lib/freopen.c: Likewise.
31426         * lib/frexp.c: Likewise.
31427         * lib/frexpl.c: Likewise.
31428         * lib/fseek.c: Likewise.
31429         * lib/fseterr.c: Likewise.
31430         * lib/fseterr.h: Likewise.
31431         * lib/fstatat.c: Likewise.
31432         * lib/fstrcmp.c: Likewise.
31433         * lib/fstrcmp.h: Likewise.
31434         * lib/fsusage.c: Likewise.
31435         * lib/fsusage.h: Likewise.
31436         * lib/ftell.c: Likewise.
31437         * lib/ftello.c: Likewise.
31438         * lib/fts-cycle.c: Likewise.
31439         * lib/fts.c: Likewise.
31440         * lib/fts_.h: Likewise.
31441         * lib/full-read.c: Likewise.
31442         * lib/full-read.h: Likewise.
31443         * lib/full-write.c: Likewise.
31444         * lib/full-write.h: Likewise.
31445         * lib/fwritable.c: Likewise.
31446         * lib/fwritable.h: Likewise.
31447         * lib/fwriteerror.c: Likewise.
31448         * lib/fwriteerror.h: Likewise.
31449         * lib/fwriting.c: Likewise.
31450         * lib/fwriting.h: Likewise.
31451         * lib/gcd.c: Likewise.
31452         * lib/gcd.h: Likewise.
31453         * lib/getcwd.c: Likewise.
31454         * lib/getdate.h: Likewise.
31455         * lib/getdate.y: Likewise.
31456         * lib/getdomainname.c: Likewise.
31457         * lib/getdomainname.h: Likewise.
31458         * lib/getgroups.c: Likewise.
31459         * lib/gethostname.c: Likewise.
31460         * lib/gethrxtime.c: Likewise.
31461         * lib/gethrxtime.h: Likewise.
31462         * lib/getloadavg.c: Likewise.
31463         * lib/getndelim2.c: Likewise.
31464         * lib/getndelim2.h: Likewise.
31465         * lib/getnline.c: Likewise.
31466         * lib/getnline.h: Likewise.
31467         * lib/getopt.c: Likewise.
31468         * lib/getopt.in.h: Likewise.
31469         * lib/getopt1.c: Likewise.
31470         * lib/getopt_int.h: Likewise.
31471         * lib/getpagesize.h: Likewise.
31472         * lib/getsubopt.c: Likewise.
31473         * lib/gettime.c: Likewise.
31474         * lib/getugroups.c: Likewise.
31475         * lib/getugroups.h: Likewise.
31476         * lib/getusershell.c: Likewise.
31477         * lib/gl_anyavltree_list1.h: Likewise.
31478         * lib/gl_anyavltree_list2.h: Likewise.
31479         * lib/gl_anyhash_list1.h: Likewise.
31480         * lib/gl_anyhash_list2.h: Likewise.
31481         * lib/gl_anylinked_list1.h: Likewise.
31482         * lib/gl_anylinked_list2.h: Likewise.
31483         * lib/gl_anyrbtree_list1.h: Likewise.
31484         * lib/gl_anyrbtree_list2.h: Likewise.
31485         * lib/gl_anytree_list1.h: Likewise.
31486         * lib/gl_anytree_list2.h: Likewise.
31487         * lib/gl_anytree_oset.h: Likewise.
31488         * lib/gl_anytreehash_list1.h: Likewise.
31489         * lib/gl_anytreehash_list2.h: Likewise.
31490         * lib/gl_array_list.c: Likewise.
31491         * lib/gl_array_list.h: Likewise.
31492         * lib/gl_array_oset.c: Likewise.
31493         * lib/gl_array_oset.h: Likewise.
31494         * lib/gl_avltree_list.c: Likewise.
31495         * lib/gl_avltree_list.h: Likewise.
31496         * lib/gl_avltree_oset.c: Likewise.
31497         * lib/gl_avltree_oset.h: Likewise.
31498         * lib/gl_avltreehash_list.c: Likewise.
31499         * lib/gl_avltreehash_list.h: Likewise.
31500         * lib/gl_carray_list.c: Likewise.
31501         * lib/gl_carray_list.h: Likewise.
31502         * lib/gl_linked_list.c: Likewise.
31503         * lib/gl_linked_list.h: Likewise.
31504         * lib/gl_linkedhash_list.c: Likewise.
31505         * lib/gl_linkedhash_list.h: Likewise.
31506         * lib/gl_list.c: Likewise.
31507         * lib/gl_list.h: Likewise.
31508         * lib/gl_oset.c: Likewise.
31509         * lib/gl_oset.h: Likewise.
31510         * lib/gl_rbtree_list.c: Likewise.
31511         * lib/gl_rbtree_list.h: Likewise.
31512         * lib/gl_rbtree_oset.c: Likewise.
31513         * lib/gl_rbtree_oset.h: Likewise.
31514         * lib/gl_rbtreehash_list.c: Likewise.
31515         * lib/gl_rbtreehash_list.h: Likewise.
31516         * lib/gl_sublist.c: Likewise.
31517         * lib/gl_sublist.h: Likewise.
31518         * lib/group-member.c: Likewise.
31519         * lib/group-member.h: Likewise.
31520         * lib/hard-locale.c: Likewise.
31521         * lib/hard-locale.h: Likewise.
31522         * lib/hash-pjw.c: Likewise.
31523         * lib/hash-pjw.h: Likewise.
31524         * lib/hash-triple.c: Likewise.
31525         * lib/hash.c: Likewise.
31526         * lib/hash.h: Likewise.
31527         * lib/human.c: Likewise.
31528         * lib/human.h: Likewise.
31529         * lib/i-ring.c: Likewise.
31530         * lib/i-ring.h: Likewise.
31531         * lib/idcache.c: Likewise.
31532         * lib/imaxabs.c: Likewise.
31533         * lib/imaxdiv.c: Likewise.
31534         * lib/inet_pton.c: Likewise.
31535         * lib/inet_pton.h: Likewise.
31536         * lib/intprops.h: Likewise.
31537         * lib/inttostr.c: Likewise.
31538         * lib/inttostr.h: Likewise.
31539         * lib/inttypes.in.h: Likewise.
31540         * lib/isapipe.c: Likewise.
31541         * lib/isdir.c: Likewise.
31542         * lib/isnan.c: Likewise.
31543         * lib/isnan.h: Likewise.
31544         * lib/isnanf.c: Likewise.
31545         * lib/isnanf.h: Likewise.
31546         * lib/isnanl-nolibm.h: Likewise.
31547         * lib/isnanl.c: Likewise.
31548         * lib/isnanl.h: Likewise.
31549         * lib/javacomp.c: Likewise.
31550         * lib/javacomp.h: Likewise.
31551         * lib/javaexec.c: Likewise.
31552         * lib/javaexec.h: Likewise.
31553         * lib/javaversion.c: Likewise.
31554         * lib/javaversion.h: Likewise.
31555         * lib/javaversion.java: Likewise.
31556         * lib/lbrkprop.h: Likewise.
31557         * lib/lchmod.h: Likewise.
31558         * lib/lchown.c: Likewise.
31559         * lib/ldexpl.c: Likewise.
31560         * lib/linebreak.c: Likewise.
31561         * lib/linebreak.h: Likewise.
31562         * lib/linebuffer.c: Likewise.
31563         * lib/linebuffer.h: Likewise.
31564         * lib/locale.in.h: Likewise.
31565         * lib/logl.c: Likewise.
31566         * lib/long-options.c: Likewise.
31567         * lib/long-options.h: Likewise.
31568         * lib/lstat.c: Likewise.
31569         * lib/lstat.h: Likewise.
31570         * lib/math.in.h: Likewise.
31571         * lib/mbchar.c: Likewise.
31572         * lib/mbchar.h: Likewise.
31573         * lib/mbfile.h: Likewise.
31574         * lib/mbiter.h: Likewise.
31575         * lib/mbscasecmp.c: Likewise.
31576         * lib/mbscasestr.c: Likewise.
31577         * lib/mbschr.c: Likewise.
31578         * lib/mbscspn.c: Likewise.
31579         * lib/mbslen.c: Likewise.
31580         * lib/mbsncasecmp.c: Likewise.
31581         * lib/mbsnlen.c: Likewise.
31582         * lib/mbspbrk.c: Likewise.
31583         * lib/mbspcasecmp.c: Likewise.
31584         * lib/mbsrchr.c: Likewise.
31585         * lib/mbssep.c: Likewise.
31586         * lib/mbsspn.c: Likewise.
31587         * lib/mbsstr.c: Likewise.
31588         * lib/mbstok_r.c: Likewise.
31589         * lib/mbswidth.c: Likewise.
31590         * lib/mbswidth.h: Likewise.
31591         * lib/mbuiter.h: Likewise.
31592         * lib/memcasecmp.c: Likewise.
31593         * lib/memcasecmp.h: Likewise.
31594         * lib/memchr.c: Likewise.
31595         * lib/memcmp.c: Likewise.
31596         * lib/memcoll.c: Likewise.
31597         * lib/memcoll.h: Likewise.
31598         * lib/memcpy.c: Likewise.
31599         * lib/memrchr.c: Likewise.
31600         * lib/mkancesdirs.c: Likewise.
31601         * lib/mkdir-p.c: Likewise.
31602         * lib/mkdir-p.h: Likewise.
31603         * lib/mkdir.c: Likewise.
31604         * lib/mkdirat.c: Likewise.
31605         * lib/mkdtemp.c: Likewise.
31606         * lib/mkstemp-safer.c: Likewise.
31607         * lib/mkstemp.c: Likewise.
31608         * lib/modechange.c: Likewise.
31609         * lib/modechange.h: Likewise.
31610         * lib/mountlist.c: Likewise.
31611         * lib/mountlist.h: Likewise.
31612         * lib/mpsort.c: Likewise.
31613         * lib/nanosleep.c: Likewise.
31614         * lib/obstack.c: Likewise.
31615         * lib/obstack.h: Likewise.
31616         * lib/open-safer.c: Likewise.
31617         * lib/open.c: Likewise.
31618         * lib/openat-die.c: Likewise.
31619         * lib/openat-priv.h: Likewise.
31620         * lib/openat-proc.c: Likewise.
31621         * lib/openat.c: Likewise.
31622         * lib/openat.h: Likewise.
31623         * lib/pagealign_alloc.c: Likewise.
31624         * lib/pagealign_alloc.h: Likewise.
31625         * lib/physmem.c: Likewise.
31626         * lib/physmem.h: Likewise.
31627         * lib/pipe-safer.c: Likewise.
31628         * lib/pipe.c: Likewise.
31629         * lib/pipe.h: Likewise.
31630         * lib/posixtm.c: Likewise.
31631         * lib/posixtm.h: Likewise.
31632         * lib/posixver.c: Likewise.
31633         * lib/printf-frexp.c: Likewise.
31634         * lib/printf-frexp.h: Likewise.
31635         * lib/printf-frexpl.c: Likewise.
31636         * lib/printf-frexpl.h: Likewise.
31637         * lib/printf.c: Likewise.
31638         * lib/progname.c: Likewise.
31639         * lib/progname.h: Likewise.
31640         * lib/progreloc.c: Likewise.
31641         * lib/putenv.c: Likewise.
31642         * lib/quote.c: Likewise.
31643         * lib/quote.h: Likewise.
31644         * lib/quotearg.c: Likewise.
31645         * lib/quotearg.h: Likewise.
31646         * lib/raise.c: Likewise.
31647         * lib/readline.c: Likewise.
31648         * lib/readline.h: Likewise.
31649         * lib/readlink.c: Likewise.
31650         * lib/readtokens.c: Likewise.
31651         * lib/readtokens.h: Likewise.
31652         * lib/readtokens0.c: Likewise.
31653         * lib/readtokens0.h: Likewise.
31654         * lib/readutmp.c: Likewise.
31655         * lib/readutmp.h: Likewise.
31656         * lib/realloc.c: Likewise.
31657         * lib/relocwrapper.c: Likewise.
31658         * lib/rename-dest-slash.c: Likewise.
31659         * lib/rename.c: Likewise.
31660         * lib/rmdir.c: Likewise.
31661         * lib/rpmatch.c: Likewise.
31662         * lib/safe-read.c: Likewise.
31663         * lib/safe-read.h: Likewise.
31664         * lib/safe-write.c: Likewise.
31665         * lib/safe-write.h: Likewise.
31666         * lib/same-inode.h: Likewise.
31667         * lib/same.c: Likewise.
31668         * lib/same.h: Likewise.
31669         * lib/save-cwd.c: Likewise.
31670         * lib/save-cwd.h: Likewise.
31671         * lib/savedir.c: Likewise.
31672         * lib/savedir.h: Likewise.
31673         * lib/savewd.c: Likewise.
31674         * lib/savewd.h: Likewise.
31675         * lib/search.in.h: Likewise.
31676         * lib/setenv.c: Likewise.
31677         * lib/setenv.h: Likewise.
31678         * lib/settime.c: Likewise.
31679         * lib/sh-quote.c: Likewise.
31680         * lib/sh-quote.h: Likewise.
31681         * lib/sig2str.c: Likewise.
31682         * lib/sig2str.h: Likewise.
31683         * lib/signal.in.h: Likewise.
31684         * lib/signbitd.c: Likewise.
31685         * lib/signbitf.c: Likewise.
31686         * lib/signbitl.c: Likewise.
31687         * lib/sigprocmask.c: Likewise.
31688         * lib/sincosl.c: Likewise.
31689         * lib/sleep.c: Likewise.
31690         * lib/sprintf.c: Likewise.
31691         * lib/sqrtl.c: Likewise.
31692         * lib/stat-time.h: Likewise.
31693         * lib/stdio--.h: Likewise.
31694         * lib/stdio-safer.h: Likewise.
31695         * lib/stdlib--.h: Likewise.
31696         * lib/stdlib-safer.h: Likewise.
31697         * lib/stdlib.in.h: Likewise.
31698         * lib/stpcpy.c: Likewise.
31699         * lib/stpncpy.c: Likewise.
31700         * lib/strchrnul.c: Likewise.
31701         * lib/strcspn.c: Likewise.
31702         * lib/strerror.c: Likewise.
31703         * lib/strftime.c: Likewise.
31704         * lib/strftime.h: Likewise.
31705         * lib/striconveh.c: Likewise.
31706         * lib/striconveh.h: Likewise.
31707         * lib/striconveha.c: Likewise.
31708         * lib/striconveha.h: Likewise.
31709         * lib/stripslash.c: Likewise.
31710         * lib/strnlen1.c: Likewise.
31711         * lib/strnlen1.h: Likewise.
31712         * lib/strtod.c: Likewise.
31713         * lib/strtoimax.c: Likewise.
31714         * lib/strtok_r.c: Likewise.
31715         * lib/strtol.c: Likewise.
31716         * lib/strtoll.c: Likewise.
31717         * lib/strtoul.c: Likewise.
31718         * lib/strtoull.c: Likewise.
31719         * lib/sysexits.in.h: Likewise.
31720         * lib/tempname.c: Likewise.
31721         * lib/tempname.h: Likewise.
31722         * lib/timespec.h: Likewise.
31723         * lib/tls.c: Likewise.
31724         * lib/tls.h: Likewise.
31725         * lib/tmpdir.c: Likewise.
31726         * lib/tmpdir.h: Likewise.
31727         * lib/tmpfile-safer.c: Likewise.
31728         * lib/tmpfile.c: Likewise.
31729         * lib/trigl.c: Likewise.
31730         * lib/trigl.h: Likewise.
31731         * lib/trim.c: Likewise.
31732         * lib/trim.h: Likewise.
31733         * lib/trunc.c: Likewise.
31734         * lib/truncf.c: Likewise.
31735         * lib/truncl.c: Likewise.
31736         * lib/tsearch.c: Likewise.
31737         * lib/unicodeio.c: Likewise.
31738         * lib/unicodeio.h: Likewise.
31739         * lib/unistd--.h: Likewise.
31740         * lib/unistd-safer.h: Likewise.
31741         * lib/unistdio/ulc-fprintf.c: Likewise.
31742         * lib/unistdio/ulc-vfprintf.c: Likewise.
31743         * lib/unlinkdir.c: Likewise.
31744         * lib/unlinkdir.h: Likewise.
31745         * lib/unlocked-io.h: Likewise.
31746         * lib/unsetenv.c: Likewise.
31747         * lib/userspec.c: Likewise.
31748         * lib/utime.c: Likewise.
31749         * lib/utimecmp.c: Likewise.
31750         * lib/utimecmp.h: Likewise.
31751         * lib/utimens.c: Likewise.
31752         * lib/verify.h: Likewise.
31753         * lib/verror.c: Likewise.
31754         * lib/verror.h: Likewise.
31755         * lib/version-etc-fsf.c: Likewise.
31756         * lib/version-etc.c: Likewise.
31757         * lib/version-etc.h: Likewise.
31758         * lib/vfprintf.c: Likewise.
31759         * lib/vprintf.c: Likewise.
31760         * lib/vsprintf.c: Likewise.
31761         * lib/w32spawn.h: Likewise.
31762         * lib/wait-process.c: Likewise.
31763         * lib/wait-process.h: Likewise.
31764         * lib/wcwidth.c: Likewise.
31765         * lib/write-any-file.c: Likewise.
31766         * lib/xalloc-die.c: Likewise.
31767         * lib/xalloc.h: Likewise.
31768         * lib/xasprintf.c: Likewise.
31769         * lib/xgetcwd.c: Likewise.
31770         * lib/xgetcwd.h: Likewise.
31771         * lib/xgetdomainname.c: Likewise.
31772         * lib/xgetdomainname.h: Likewise.
31773         * lib/xgethostname.c: Likewise.
31774         * lib/xmalloc.c: Likewise.
31775         * lib/xmalloca.c: Likewise.
31776         * lib/xmalloca.h: Likewise.
31777         * lib/xmemcoll.c: Likewise.
31778         * lib/xnanosleep.c: Likewise.
31779         * lib/xreadlink.c: Likewise.
31780         * lib/xreadlink.h: Likewise.
31781         * lib/xsetenv.c: Likewise.
31782         * lib/xsetenv.h: Likewise.
31783         * lib/xstriconv.c: Likewise.
31784         * lib/xstriconv.h: Likewise.
31785         * lib/xstrndup.c: Likewise.
31786         * lib/xstrndup.h: Likewise.
31787         * lib/xstrtod.c: Likewise.
31788         * lib/xstrtod.h: Likewise.
31789         * lib/xstrtol-error.c: Likewise.
31790         * lib/xstrtol.c: Likewise.
31791         * lib/xstrtol.h: Likewise.
31792         * lib/xtime.h: Likewise.
31793         * lib/xvasprintf.c: Likewise.
31794         * lib/xvasprintf.h: Likewise.
31795         * lib/yesno.c: Likewise.
31796         * lib/yesno.h: Likewise.
31797         * posix-modules: Likewise.
31798         * tests/test-alloca-opt.c: Likewise.
31799         * tests/test-arcfour.c: Likewise.
31800         * tests/test-arctwo.c: Likewise.
31801         * tests/test-argmatch.c: Likewise.
31802         * tests/test-argp-2.sh: Likewise.
31803         * tests/test-argp.c: Likewise.
31804         * tests/test-arpa_inet.c: Likewise.
31805         * tests/test-array_list.c: Likewise.
31806         * tests/test-array_oset.c: Likewise.
31807         * tests/test-atexit.c: Likewise.
31808         * tests/test-avltree_list.c: Likewise.
31809         * tests/test-avltree_oset.c: Likewise.
31810         * tests/test-avltreehash_list.c: Likewise.
31811         * tests/test-base64.c: Likewise.
31812         * tests/test-binary-io.c: Likewise.
31813         * tests/test-byteswap.c: Likewise.
31814         * tests/test-c-ctype.c: Likewise.
31815         * tests/test-c-strcasecmp.c: Likewise.
31816         * tests/test-c-strcasestr.c: Likewise.
31817         * tests/test-c-strncasecmp.c: Likewise.
31818         * tests/test-c-strstr.c: Likewise.
31819         * tests/test-canonicalize-lgpl.c: Likewise.
31820         * tests/test-canonicalize.c: Likewise.
31821         * tests/test-carray_list.c: Likewise.
31822         * tests/test-ceilf.c: Likewise.
31823         * tests/test-ceill.c: Likewise.
31824         * tests/test-count-one-bits.c: Likewise.
31825         * tests/test-crc.c: Likewise.
31826         * tests/test-dirname.c: Likewise.
31827         * tests/test-fbufmode.c: Likewise.
31828         * tests/test-fcntl.c: Likewise.
31829         * tests/test-fflush.c: Likewise.
31830         * tests/test-floorf.c: Likewise.
31831         * tests/test-floorl.c: Likewise.
31832         * tests/test-fopen.c: Likewise.
31833         * tests/test-fprintf-posix.c: Likewise.
31834         * tests/test-fprintf-posix.h: Likewise.
31835         * tests/test-fpurge.c: Likewise.
31836         * tests/test-freadable.c: Likewise.
31837         * tests/test-freadahead.c: Likewise.
31838         * tests/test-freading.c: Likewise.
31839         * tests/test-freopen.c: Likewise.
31840         * tests/test-frexp.c: Likewise.
31841         * tests/test-frexpl.c: Likewise.
31842         * tests/test-fseek.c: Likewise.
31843         * tests/test-fseeko.c: Likewise.
31844         * tests/test-fseterr.c: Likewise.
31845         * tests/test-fstrcmp.c: Likewise.
31846         * tests/test-ftell.c: Likewise.
31847         * tests/test-ftello.c: Likewise.
31848         * tests/test-fwritable.c: Likewise.
31849         * tests/test-fwriting.c: Likewise.
31850         * tests/test-getaddrinfo.c: Likewise.
31851         * tests/test-getpass.c: Likewise.
31852         * tests/test-gettimeofday.c: Likewise.
31853         * tests/test-hmac-md5.c: Likewise.
31854         * tests/test-hmac-sha1.c: Likewise.
31855         * tests/test-iconv.c: Likewise.
31856         * tests/test-iconvme.c: Likewise.
31857         * tests/test-inttypes.c: Likewise.
31858         * tests/test-isnan.c: Likewise.
31859         * tests/test-isnanf.c: Likewise.
31860         * tests/test-isnanl-nolibm.c: Likewise.
31861         * tests/test-isnanl.c: Likewise.
31862         * tests/test-isnanl.h: Likewise.
31863         * tests/test-ldexpl.c: Likewise.
31864         * tests/test-linked_list.c: Likewise.
31865         * tests/test-linkedhash_list.c: Likewise.
31866         * tests/test-locale.c: Likewise.
31867         * tests/test-localename.c: Likewise.
31868         * tests/test-lock.c: Likewise.
31869         * tests/test-lseek.c: Likewise.
31870         * tests/test-malloca.c: Likewise.
31871         * tests/test-math.c: Likewise.
31872         * tests/test-mbscasecmp.c: Likewise.
31873         * tests/test-mbscasestr1.c: Likewise.
31874         * tests/test-mbscasestr2.c: Likewise.
31875         * tests/test-mbscasestr3.c: Likewise.
31876         * tests/test-mbscasestr4.c: Likewise.
31877         * tests/test-mbschr.c: Likewise.
31878         * tests/test-mbscspn.c: Likewise.
31879         * tests/test-mbsncasecmp.c: Likewise.
31880         * tests/test-mbspbrk.c: Likewise.
31881         * tests/test-mbspcasecmp.c: Likewise.
31882         * tests/test-mbsrchr.c: Likewise.
31883         * tests/test-mbsspn.c: Likewise.
31884         * tests/test-mbsstr1.c: Likewise.
31885         * tests/test-mbsstr2.c: Likewise.
31886         * tests/test-mbsstr3.c: Likewise.
31887         * tests/test-md5.c: Likewise.
31888         * tests/test-memmem.c: Likewise.
31889         * tests/test-netinet_in.c: Likewise.
31890         * tests/test-open.c: Likewise.
31891         * tests/test-printf-frexp.c: Likewise.
31892         * tests/test-printf-frexpl.c: Likewise.
31893         * tests/test-printf-posix.c: Likewise.
31894         * tests/test-printf-posix.h: Likewise.
31895         * tests/test-rbtree_list.c: Likewise.
31896         * tests/test-rbtree_oset.c: Likewise.
31897         * tests/test-rbtreehash_list.c: Likewise.
31898         * tests/test-read-file.c: Likewise.
31899         * tests/test-rijndael.c: Likewise.
31900         * tests/test-search.c: Likewise.
31901         * tests/test-signbit.c: Likewise.
31902         * tests/test-sleep.c: Likewise.
31903         * tests/test-snprintf-posix.c: Likewise.
31904         * tests/test-snprintf-posix.h: Likewise.
31905         * tests/test-snprintf.c: Likewise.
31906         * tests/test-sprintf-posix.c: Likewise.
31907         * tests/test-sprintf-posix.h: Likewise.
31908         * tests/test-stat-time.c: Likewise.
31909         * tests/test-stdbool.c: Likewise.
31910         * tests/test-stdint.c: Likewise.
31911         * tests/test-stdio.c: Likewise.
31912         * tests/test-stdlib.c: Likewise.
31913         * tests/test-stpncpy.c: Likewise.
31914         * tests/test-strcasestr.c: Likewise.
31915         * tests/test-striconv.c: Likewise.
31916         * tests/test-striconveh.c: Likewise.
31917         * tests/test-striconveha.c: Likewise.
31918         * tests/test-string.c: Likewise.
31919         * tests/test-sys_select.c: Likewise.
31920         * tests/test-sys_socket.c: Likewise.
31921         * tests/test-sys_stat.c: Likewise.
31922         * tests/test-sys_time.c: Likewise.
31923         * tests/test-sysexits.c: Likewise.
31924         * tests/test-time.c: Likewise.
31925         * tests/test-tls.c: Likewise.
31926         * tests/test-trunc.c: Likewise.
31927         * tests/test-truncf.c: Likewise.
31928         * tests/test-truncl.c: Likewise.
31929         * tests/test-unistd.c: Likewise.
31930         * tests/test-vasnprintf-posix.c: Likewise.
31931         * tests/test-vasnprintf-posix2.c: Likewise.
31932         * tests/test-vasnprintf.c: Likewise.
31933         * tests/test-vasprintf-posix.c: Likewise.
31934         * tests/test-vasprintf.c: Likewise.
31935         * tests/test-verify.c: Likewise.
31936         * tests/test-vfprintf-posix.c: Likewise.
31937         * tests/test-vprintf-posix.c: Likewise.
31938         * tests/test-vsnprintf-posix.c: Likewise.
31939         * tests/test-vsnprintf.c: Likewise.
31940         * tests/test-vsprintf-posix.c: Likewise.
31941         * tests/test-wchar.c: Likewise.
31942         * tests/test-wctype.c: Likewise.
31943         * tests/test-wcwidth.c: Likewise.
31944         * tests/test-xstrtol.c: Likewise.
31945         * tests/test-xvasprintf.c: Likewise.
31946         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
31947         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
31948         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31949         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31950         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31951         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
31952         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31953         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31954         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31955         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
31956         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31957         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31958         * tests/uniname/test-uninames.c: Likewise.
31959         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
31960         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
31961         * tests/unistdio/test-u16-printf1.h: Likewise.
31962         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
31963         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
31964         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
31965         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
31966         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
31967         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
31968         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
31969         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
31970         * tests/unistdio/test-u32-printf1.h: Likewise.
31971         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
31972         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
31973         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
31974         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
31975         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
31976         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
31977         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
31978         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
31979         * tests/unistdio/test-u8-printf1.h: Likewise.
31980         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
31981         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
31982         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
31983         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
31984         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
31985         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
31986         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
31987         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
31988         * tests/unistdio/test-ulc-printf1.h: Likewise.
31989         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
31990         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
31991         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
31992         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
31993         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
31994         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
31995         * tests/uniwidth/test-u16-strwidth.c: Likewise.
31996         * tests/uniwidth/test-u16-width.c: Likewise.
31997         * tests/uniwidth/test-u32-strwidth.c: Likewise.
31998         * tests/uniwidth/test-u32-width.c: Likewise.
31999         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32000         * tests/uniwidth/test-u8-width.c: Likewise.
32001         * tests/uniwidth/test-uc_width.c: Likewise.
32002         * config/srclist-update: Likewise.
32003         (fixlicense): Update to GPLv3+.
32004
32005         Change copyright notice from LGPLv2.1+ to LGPLv3+.
32006         * tests/test-tsearch.c: Change copyright notice.
32007
32008         Change copyright notice from LGPLv2.0+ to LGPLv3+.
32009         * lib/c-strcaseeq.h: Change copyright notice.
32010         * lib/streq.h: Likewise.
32011         * lib/uniconv.h: Likewise.
32012         * lib/uniconv/u-conv-from-enc.h: Likewise.
32013         * lib/uniconv/u-conv-to-enc.h: Likewise.
32014         * lib/uniconv/u-strconv-from-enc.h: Likewise.
32015         * lib/uniconv/u-strconv-to-enc.h: Likewise.
32016         * lib/uniconv/u16-conv-from-enc.c: Likewise.
32017         * lib/uniconv/u16-conv-to-enc.c: Likewise.
32018         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
32019         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
32020         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
32021         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
32022         * lib/uniconv/u32-conv-from-enc.c: Likewise.
32023         * lib/uniconv/u32-conv-to-enc.c: Likewise.
32024         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
32025         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
32026         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
32027         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
32028         * lib/uniconv/u8-conv-from-enc.c: Likewise.
32029         * lib/uniconv/u8-conv-to-enc.c: Likewise.
32030         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
32031         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
32032         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
32033         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
32034         * lib/uniname.h: Likewise.
32035         * lib/uniname/uniname.c: Likewise.
32036         * lib/unistdio.h: Likewise.
32037         * lib/unistdio/u-asnprintf.h: Likewise.
32038         * lib/unistdio/u-asprintf.h: Likewise.
32039         * lib/unistdio/u-printf-args.c: Likewise.
32040         * lib/unistdio/u-printf-args.h: Likewise.
32041         * lib/unistdio/u-printf-parse.h: Likewise.
32042         * lib/unistdio/u-snprintf.h: Likewise.
32043         * lib/unistdio/u-sprintf.h: Likewise.
32044         * lib/unistdio/u-vasprintf.h: Likewise.
32045         * lib/unistdio/u-vsnprintf.h: Likewise.
32046         * lib/unistdio/u-vsprintf.h: Likewise.
32047         * lib/unistdio/u16-asnprintf.c: Likewise.
32048         * lib/unistdio/u16-asprintf.c: Likewise.
32049         * lib/unistdio/u16-printf-parse.c: Likewise.
32050         * lib/unistdio/u16-snprintf.c: Likewise.
32051         * lib/unistdio/u16-sprintf.c: Likewise.
32052         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
32053         * lib/unistdio/u16-u16-asprintf.c: Likewise.
32054         * lib/unistdio/u16-u16-snprintf.c: Likewise.
32055         * lib/unistdio/u16-u16-sprintf.c: Likewise.
32056         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
32057         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
32058         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
32059         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
32060         * lib/unistdio/u16-vasnprintf.c: Likewise.
32061         * lib/unistdio/u16-vasprintf.c: Likewise.
32062         * lib/unistdio/u16-vsnprintf.c: Likewise.
32063         * lib/unistdio/u16-vsprintf.c: Likewise.
32064         * lib/unistdio/u32-asnprintf.c: Likewise.
32065         * lib/unistdio/u32-asprintf.c: Likewise.
32066         * lib/unistdio/u32-printf-parse.c: Likewise.
32067         * lib/unistdio/u32-snprintf.c: Likewise.
32068         * lib/unistdio/u32-sprintf.c: Likewise.
32069         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
32070         * lib/unistdio/u32-u32-asprintf.c: Likewise.
32071         * lib/unistdio/u32-u32-snprintf.c: Likewise.
32072         * lib/unistdio/u32-u32-sprintf.c: Likewise.
32073         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
32074         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
32075         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
32076         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
32077         * lib/unistdio/u32-vasnprintf.c: Likewise.
32078         * lib/unistdio/u32-vasprintf.c: Likewise.
32079         * lib/unistdio/u32-vsnprintf.c: Likewise.
32080         * lib/unistdio/u32-vsprintf.c: Likewise.
32081         * lib/unistdio/u8-asnprintf.c: Likewise.
32082         * lib/unistdio/u8-asprintf.c: Likewise.
32083         * lib/unistdio/u8-printf-parse.c: Likewise.
32084         * lib/unistdio/u8-snprintf.c: Likewise.
32085         * lib/unistdio/u8-sprintf.c: Likewise.
32086         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
32087         * lib/unistdio/u8-u8-asprintf.c: Likewise.
32088         * lib/unistdio/u8-u8-snprintf.c: Likewise.
32089         * lib/unistdio/u8-u8-sprintf.c: Likewise.
32090         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
32091         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
32092         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
32093         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
32094         * lib/unistdio/u8-vasnprintf.c: Likewise.
32095         * lib/unistdio/u8-vasprintf.c: Likewise.
32096         * lib/unistdio/u8-vsnprintf.c: Likewise.
32097         * lib/unistdio/u8-vsprintf.c: Likewise.
32098         * lib/unistdio/ulc-asnprintf.c: Likewise.
32099         * lib/unistdio/ulc-asprintf.c: Likewise.
32100         * lib/unistdio/ulc-printf-parse.c: Likewise.
32101         * lib/unistdio/ulc-snprintf.c: Likewise.
32102         * lib/unistdio/ulc-sprintf.c: Likewise.
32103         * lib/unistdio/ulc-vasnprintf.c: Likewise.
32104         * lib/unistdio/ulc-vasprintf.c: Likewise.
32105         * lib/unistdio/ulc-vsnprintf.c: Likewise.
32106         * lib/unistdio/ulc-vsprintf.c: Likewise.
32107         * lib/unistr.h: Likewise.
32108         * lib/unistr/u-cpy-alloc.h: Likewise.
32109         * lib/unistr/u-cpy.h: Likewise.
32110         * lib/unistr/u-endswith.h: Likewise.
32111         * lib/unistr/u-move.h: Likewise.
32112         * lib/unistr/u-set.h: Likewise.
32113         * lib/unistr/u-startswith.h: Likewise.
32114         * lib/unistr/u-stpcpy.h: Likewise.
32115         * lib/unistr/u-stpncpy.h: Likewise.
32116         * lib/unistr/u-strcat.h: Likewise.
32117         * lib/unistr/u-strcpy.h: Likewise.
32118         * lib/unistr/u-strcspn.h: Likewise.
32119         * lib/unistr/u-strdup.h: Likewise.
32120         * lib/unistr/u-strlen.h: Likewise.
32121         * lib/unistr/u-strncat.h: Likewise.
32122         * lib/unistr/u-strncpy.h: Likewise.
32123         * lib/unistr/u-strnlen.h: Likewise.
32124         * lib/unistr/u-strpbrk.h: Likewise.
32125         * lib/unistr/u-strspn.h: Likewise.
32126         * lib/unistr/u-strstr.h: Likewise.
32127         * lib/unistr/u-strtok.h: Likewise.
32128         * lib/unistr/u16-check.c: Likewise.
32129         * lib/unistr/u16-chr.c: Likewise.
32130         * lib/unistr/u16-cmp.c: Likewise.
32131         * lib/unistr/u16-cpy-alloc.c: Likewise.
32132         * lib/unistr/u16-cpy.c: Likewise.
32133         * lib/unistr/u16-endswith.c: Likewise.
32134         * lib/unistr/u16-mblen.c: Likewise.
32135         * lib/unistr/u16-mbsnlen.c: Likewise.
32136         * lib/unistr/u16-mbtouc-aux.c: Likewise.
32137         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
32138         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
32139         * lib/unistr/u16-mbtouc.c: Likewise.
32140         * lib/unistr/u16-mbtoucr.c: Likewise.
32141         * lib/unistr/u16-move.c: Likewise.
32142         * lib/unistr/u16-next.c: Likewise.
32143         * lib/unistr/u16-prev.c: Likewise.
32144         * lib/unistr/u16-set.c: Likewise.
32145         * lib/unistr/u16-startswith.c: Likewise.
32146         * lib/unistr/u16-stpcpy.c: Likewise.
32147         * lib/unistr/u16-stpncpy.c: Likewise.
32148         * lib/unistr/u16-strcat.c: Likewise.
32149         * lib/unistr/u16-strchr.c: Likewise.
32150         * lib/unistr/u16-strcmp.c: Likewise.
32151         * lib/unistr/u16-strcpy.c: Likewise.
32152         * lib/unistr/u16-strcspn.c: Likewise.
32153         * lib/unistr/u16-strdup.c: Likewise.
32154         * lib/unistr/u16-strlen.c: Likewise.
32155         * lib/unistr/u16-strmblen.c: Likewise.
32156         * lib/unistr/u16-strmbtouc.c: Likewise.
32157         * lib/unistr/u16-strncat.c: Likewise.
32158         * lib/unistr/u16-strncmp.c: Likewise.
32159         * lib/unistr/u16-strncpy.c: Likewise.
32160         * lib/unistr/u16-strnlen.c: Likewise.
32161         * lib/unistr/u16-strpbrk.c: Likewise.
32162         * lib/unistr/u16-strrchr.c: Likewise.
32163         * lib/unistr/u16-strspn.c: Likewise.
32164         * lib/unistr/u16-strstr.c: Likewise.
32165         * lib/unistr/u16-strtok.c: Likewise.
32166         * lib/unistr/u16-to-u32.c: Likewise.
32167         * lib/unistr/u16-to-u8.c: Likewise.
32168         * lib/unistr/u16-uctomb-aux.c: Likewise.
32169         * lib/unistr/u16-uctomb.c: Likewise.
32170         * lib/unistr/u32-check.c: Likewise.
32171         * lib/unistr/u32-chr.c: Likewise.
32172         * lib/unistr/u32-cmp.c: Likewise.
32173         * lib/unistr/u32-cpy-alloc.c: Likewise.
32174         * lib/unistr/u32-cpy.c: Likewise.
32175         * lib/unistr/u32-endswith.c: Likewise.
32176         * lib/unistr/u32-mblen.c: Likewise.
32177         * lib/unistr/u32-mbsnlen.c: Likewise.
32178         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
32179         * lib/unistr/u32-mbtouc.c: Likewise.
32180         * lib/unistr/u32-mbtoucr.c: Likewise.
32181         * lib/unistr/u32-move.c: Likewise.
32182         * lib/unistr/u32-next.c: Likewise.
32183         * lib/unistr/u32-prev.c: Likewise.
32184         * lib/unistr/u32-set.c: Likewise.
32185         * lib/unistr/u32-startswith.c: Likewise.
32186         * lib/unistr/u32-stpcpy.c: Likewise.
32187         * lib/unistr/u32-stpncpy.c: Likewise.
32188         * lib/unistr/u32-strcat.c: Likewise.
32189         * lib/unistr/u32-strchr.c: Likewise.
32190         * lib/unistr/u32-strcmp.c: Likewise.
32191         * lib/unistr/u32-strcpy.c: Likewise.
32192         * lib/unistr/u32-strcspn.c: Likewise.
32193         * lib/unistr/u32-strdup.c: Likewise.
32194         * lib/unistr/u32-strlen.c: Likewise.
32195         * lib/unistr/u32-strmblen.c: Likewise.
32196         * lib/unistr/u32-strmbtouc.c: Likewise.
32197         * lib/unistr/u32-strncat.c: Likewise.
32198         * lib/unistr/u32-strncmp.c: Likewise.
32199         * lib/unistr/u32-strncpy.c: Likewise.
32200         * lib/unistr/u32-strnlen.c: Likewise.
32201         * lib/unistr/u32-strpbrk.c: Likewise.
32202         * lib/unistr/u32-strrchr.c: Likewise.
32203         * lib/unistr/u32-strspn.c: Likewise.
32204         * lib/unistr/u32-strstr.c: Likewise.
32205         * lib/unistr/u32-strtok.c: Likewise.
32206         * lib/unistr/u32-to-u16.c: Likewise.
32207         * lib/unistr/u32-to-u8.c: Likewise.
32208         * lib/unistr/u32-uctomb.c: Likewise.
32209         * lib/unistr/u8-check.c: Likewise.
32210         * lib/unistr/u8-chr.c: Likewise.
32211         * lib/unistr/u8-cmp.c: Likewise.
32212         * lib/unistr/u8-cpy-alloc.c: Likewise.
32213         * lib/unistr/u8-cpy.c: Likewise.
32214         * lib/unistr/u8-endswith.c: Likewise.
32215         * lib/unistr/u8-mblen.c: Likewise.
32216         * lib/unistr/u8-mbsnlen.c: Likewise.
32217         * lib/unistr/u8-mbtouc-aux.c: Likewise.
32218         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
32219         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
32220         * lib/unistr/u8-mbtouc.c: Likewise.
32221         * lib/unistr/u8-mbtoucr.c: Likewise.
32222         * lib/unistr/u8-move.c: Likewise.
32223         * lib/unistr/u8-next.c: Likewise.
32224         * lib/unistr/u8-prev.c: Likewise.
32225         * lib/unistr/u8-set.c: Likewise.
32226         * lib/unistr/u8-startswith.c: Likewise.
32227         * lib/unistr/u8-stpcpy.c: Likewise.
32228         * lib/unistr/u8-stpncpy.c: Likewise.
32229         * lib/unistr/u8-strcat.c: Likewise.
32230         * lib/unistr/u8-strchr.c: Likewise.
32231         * lib/unistr/u8-strcmp.c: Likewise.
32232         * lib/unistr/u8-strcpy.c: Likewise.
32233         * lib/unistr/u8-strcspn.c: Likewise.
32234         * lib/unistr/u8-strdup.c: Likewise.
32235         * lib/unistr/u8-strlen.c: Likewise.
32236         * lib/unistr/u8-strmblen.c: Likewise.
32237         * lib/unistr/u8-strmbtouc.c: Likewise.
32238         * lib/unistr/u8-strncat.c: Likewise.
32239         * lib/unistr/u8-strncmp.c: Likewise.
32240         * lib/unistr/u8-strncpy.c: Likewise.
32241         * lib/unistr/u8-strnlen.c: Likewise.
32242         * lib/unistr/u8-strpbrk.c: Likewise.
32243         * lib/unistr/u8-strrchr.c: Likewise.
32244         * lib/unistr/u8-strspn.c: Likewise.
32245         * lib/unistr/u8-strstr.c: Likewise.
32246         * lib/unistr/u8-strtok.c: Likewise.
32247         * lib/unistr/u8-to-u16.c: Likewise.
32248         * lib/unistr/u8-to-u32.c: Likewise.
32249         * lib/unistr/u8-uctomb-aux.c: Likewise.
32250         * lib/unistr/u8-uctomb.c: Likewise.
32251         * lib/unitypes.h: Likewise.
32252         * lib/uniwidth.h: Likewise.
32253         * lib/uniwidth/cjk.h: Likewise.
32254         * lib/uniwidth/u16-strwidth.c: Likewise.
32255         * lib/uniwidth/u16-width.c: Likewise.
32256         * lib/uniwidth/u32-strwidth.c: Likewise.
32257         * lib/uniwidth/u32-width.c: Likewise.
32258         * lib/uniwidth/u8-strwidth.c: Likewise.
32259         * lib/uniwidth/u8-width.c: Likewise.
32260         * lib/uniwidth/width.c: Likewise.
32261
32262 2007-10-07  Bruno Haible  <bruno@clisp.org>
32263
32264         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
32265         The file is still under LGPL (see modules/inttypes).
32266
32267 2007-10-06  Bruno Haible  <bruno@clisp.org>
32268
32269         * modules/trunc (Dependencies): Add 'extensions'.
32270         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
32271         Reported by Ben Pfaff <blp@gnu.org>.
32272
32273 2007-10-06  Bruno Haible  <bruno@clisp.org>
32274
32275         * modules/freopen-tests: New file.
32276         * tests/test-freopen.c: New file.
32277
32278         * modules/fopen-tests: New file.
32279         * tests/test-fopen.c: New file.
32280
32281         * modules/fopen: New file.
32282         * lib/fopen.c: New file.
32283         * m4/fopen.m4: New file.
32284         * modules/freopen: New file.
32285         * lib/freopen.c: New file.
32286         * m4/freopen.m4: New file.
32287         * lib/stdio.in.h (fopen, freopen): New declarations.
32288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
32289         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32290         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
32291         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32292         * doc/functions/fopen.texi: Mention the 'fopen' module.
32293         * doc/functions/freopen.texi: Mention the 'freopen' module.
32294
32295 2007-10-06  Bruno Haible  <bruno@clisp.org>
32296
32297         * modules/open-tests: New file.
32298         * tests/test-open.c: New file.
32299
32300         * modules/open: New file.
32301         * lib/open.c: New file.
32302         * m4/open.m4: New file.
32303         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
32304         lib/open.c does.
32305         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
32306         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
32307         macros.
32308         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
32309         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
32310         REPLACE_OPEN.
32311         * doc/functions/open.texi: Mention the 'open' module.
32312
32313 2007-10-04  Bruno Haible  <bruno@clisp.org>
32314
32315         * modules/ceill-tests: New file.
32316         * tests/test-ceill.c: New file.
32317
32318         * modules/ceill: New file.
32319         * lib/ceill.c: Replace entire file.
32320         * m4/ceill.m4: New file.
32321         * lib/math.in.h (ceill): Replace declaration.
32322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
32323         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
32324         * doc/functions/ceill.texi: Mention the 'ceill' module.
32325         * modules/mathl (Files): Remove lib/ceill.c.
32326         (Depends-on): Add ceill.
32327
32328 2007-10-04  Bruno Haible  <bruno@clisp.org>
32329
32330         * modules/ceilf-tests: New file.
32331         * tests/test-ceilf.c: New file.
32332
32333         * modules/ceilf: New file.
32334         * lib/ceil.c: New file.
32335         * lib/ceilf.c: New file.
32336         * m4/ceilf.m4: New file.
32337         * lib/math.in.h (ceilf): New declaration.
32338         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
32339         HAVE_DECL_CEILF.
32340         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
32341         HAVE_DECL_CEILF.
32342         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
32343
32344 2007-10-04  Bruno Haible  <bruno@clisp.org>
32345
32346         * modules/floorl-tests: New file.
32347         * tests/test-floorl.c: New file.
32348
32349         * modules/floorl: New file.
32350         * lib/floorl.c: Replace entire file.
32351         * m4/floorl.m4: New file.
32352         * lib/math.in.h (floorl): Replace declaration.
32353         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
32354         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
32355         * doc/functions/floorl.texi: Mention the 'floorl' module.
32356         * modules/mathl (Files): Remove lib/floorl.c.
32357         (Depends-on): Add floorl.
32358
32359 2007-10-04  Bruno Haible  <bruno@clisp.org>
32360
32361         * modules/floorf-tests: New file.
32362         * tests/test-floorf.c: New file.
32363
32364         * modules/floorf: New file.
32365         * lib/floor.c: New file.
32366         * lib/floorf.c: New file.
32367         * m4/floorf.m4: New file.
32368         * lib/math.in.h (floorf): New declaration.
32369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
32370         HAVE_DECL_FLOORF.
32371         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
32372         HAVE_DECL_FLOORF.
32373         * doc/functions/floorf.texi: Mention the 'floorf' module.
32374
32375 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
32376             Bruno Haible  <bruno@clisp.org>
32377
32378         Advertise for the Git server instead of the CVS server.
32379         * doc/gnulib-intro.texi (Steady Development): Mention the Git
32380         repository instead of the CVS one.
32381         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
32382         about all VCS systems generically.
32383         * doc/gnulib.texi (Introduction): Capitalize `Git'.
32384
32385 2007-10-04  Bruno Haible  <bruno@clisp.org>
32386
32387         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
32388         means.
32389         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
32390
32391 2007-10-04  Bruno Haible  <bruno@clisp.org>
32392
32393         * modules/truncl-tests: New file.
32394         * tests/test-truncl.c: New file.
32395
32396         * modules/truncl: New file.
32397         * lib/truncl.c: New file.
32398         * m4/truncl.m4: New file.
32399         * lib/math.in.h (truncl): New declaration.
32400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
32401         HAVE_DECL_TRUNCL.
32402         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
32403         HAVE_DECL_TRUNCL.
32404         * doc/functions/truncl.texi: Mention the 'truncl' module.
32405
32406 2007-10-04  Bruno Haible  <bruno@clisp.org>
32407
32408         * modules/truncf-tests: New file.
32409         * tests/test-truncf.c: New file.
32410
32411         * modules/truncf: New file.
32412         * lib/trunc.c: Make paramerizable through USE_* macros.
32413         * lib/truncf.c: New file.
32414         * m4/truncf.m4: New file.
32415         * lib/math.in.h (truncf): New declaration.
32416         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
32417         HAVE_DECL_TRUNCF.
32418         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
32419         HAVE_DECL_TRUNCF.
32420         * doc/functions/truncf.texi: Mention the 'truncf' module.
32421
32422 2007-10-03  Bruno Haible  <bruno@clisp.org>
32423
32424         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32425         augmentation also for tests modules.
32426         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
32427         * modules/atexit-tests (Makefile.am): Likewise.
32428         * modules/binary-io-tests (Makefile.am): Likewise.
32429         * modules/c-strcase-tests (Makefile.am): Likewise.
32430         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
32431         * modules/canonicalize-tests (Makefile.am): Likewise.
32432         * modules/closein-tests (Makefile.am): Likewise.
32433         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32434         * modules/freadahead-tests (Makefile.am): Likewise.
32435         * modules/fseek-tests (Makefile.am): Likewise.
32436         * modules/fseeko-tests (Makefile.am): Likewise.
32437         * modules/ftell-tests (Makefile.am): Likewise.
32438         * modules/ftello-tests (Makefile.am): Likewise.
32439         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
32440         * modules/isnanl-tests (Makefile.am): Likewise.
32441         * modules/lseek-tests (Makefile.am): Likewise.
32442         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32443         * modules/mbscasestr-tests (Makefile.am): Likewise.
32444         * modules/mbschr-tests (Makefile.am): Likewise.
32445         * modules/mbscspn-tests (Makefile.am): Likewise.
32446         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32447         * modules/mbspbrk-tests (Makefile.am): Likewise.
32448         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32449         * modules/mbsrchr-tests (Makefile.am): Likewise.
32450         * modules/mbsspn-tests (Makefile.am): Likewise.
32451         * modules/mbsstr-tests (Makefile.am): Likewise.
32452         * modules/printf-posix-tests (Makefile.am): Likewise.
32453         * modules/snprintf-posix-tests (Makefile.am): Likewise.
32454         * modules/sprintf-posix-tests (Makefile.am): Likewise.
32455         * modules/tsearch-tests (Makefile.am): Likewise.
32456         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32457         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32458         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32459         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32460         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32461         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32462         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32463         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32464         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
32465         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
32466         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32467         * modules/xstrtol-tests (Makefile.am): Likewise.
32468         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32469         * modules/yesno-tests (Makefile.am): Likewise.
32470
32471 2007-10-03  Bruno Haible  <bruno@clisp.org>
32472
32473         * modules/trunc-tests: New file.
32474         * tests/test-trunc.c: New file.
32475
32476         * modules/trunc: New file.
32477         * lib/trunc.c: New file.
32478         * m4/trunc.m4: New file.
32479         * lib/math.in.h (trunc): New declaration.
32480         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
32481         HAVE_DECL_TRUNC.
32482         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
32483         HAVE_DECL_TRUNC.
32484         * doc/functions/trunc.texi: Mention the 'trunc' module.
32485
32486 2007-10-03  Bruno Haible  <bruno@clisp.org>
32487
32488         * tests/test-fpending.c: New file, mostly copied
32489         from coreutils/lib/t-fpending.c.
32490         * modules/fpending-tests: New file.
32491
32492 2007-10-03  Bruno Haible  <bruno@clisp.org>
32493
32494         Port the stdio extensions to QNX (untested).
32495         * lib/fseterr.c (fseterr): Add support for QNX.
32496         * lib/fbufmode.c (fbufmode): Likewise.
32497         * lib/freadable.c (freadable): Likewise.
32498         * lib/fwritable.c (fwritable): Likewise.
32499         * lib/freading.c (freading): Likewise.
32500         * lib/fwriting.c (fwriting): Likewise.
32501         * lib/freadahead.c (freadahed): Likewise.
32502         * lib/fpurge.c (fpurge): Likewise.
32503         * lib/fseeko.c (rpl_fseeko): Likewise.
32504
32505 2007-10-03  Bruno Haible  <bruno@clisp.org>
32506             Jim Meyering  <jim@meyering.net>
32507             Eric Blake  <ebb9@byu.net>
32508
32509         * doc/relocatable.texi: Use @command instead of @program.
32510
32511 2007-10-02  Jim Meyering  <jim@meyering.net>
32512
32513         Perform one more "_.h" -> ".in.h" substitution.
32514         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
32515         instead of unistd_.h here, too.
32516
32517 2007-10-01  Bruno Haible  <bruno@clisp.org>
32518
32519         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
32520         Needed for the alloca-opt module.
32521
32522 2007-09-30  Bruno Haible  <bruno@clisp.org>
32523
32524         * lib/alloca.in.h: Renamed from lib/alloca_.h.
32525         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
32526         alloca_.h.
32527         * lib/argz.in.h: Renamed from lib/argz_.h.
32528         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
32529         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
32530         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
32531         byteswap_.h.
32532         * lib/dirent.in.h: Renamed from lib/dirent_.h.
32533         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
32534         dirent_.h.
32535         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
32536         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
32537         fcntl_.h.
32538         * lib/float.in.h: Renamed from lib/float_.h.
32539         * modules/float (Files, Makefile.am): Use float.in.h instead of
32540         float_.h.
32541         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
32542         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
32543         fnmatch_.h.
32544         * lib/getopt.in.h: Renamed from lib/getopt_.h.
32545         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
32546         getopt_.h.
32547         * lib/glob.in.h: Renamed from lib/glob_.h.
32548         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
32549         * lib/iconv.in.h: Renamed from lib/iconv_.h.
32550         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
32551         iconv_.h.
32552         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32553         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
32554         inttypes_.h.
32555         * lib/locale.in.h: Renamed from lib/locale_.h.
32556         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
32557         locale_.h.
32558         * lib/math.in.h: Renamed from lib/math_.h.
32559         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
32560         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
32561         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
32562         of netinet_in_.h. Add dependency.
32563         * lib/poll.in.h: Renamed from lib/poll_.h.
32564         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
32565         * lib/search.in.h: Renamed from lib/search_.h.
32566         * modules/search (Files, Makefile.am): Use search.in.h instead of
32567         search_.h.
32568         * lib/signal.in.h: Renamed from lib/signal_.h.
32569         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
32570         _signal.h.
32571         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
32572         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
32573         stdbool_.h.
32574         * lib/stdint.in.h: Renamed from lib/stdint_.h.
32575         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
32576         stdint_.h.
32577         * lib/stdio.in.h: Renamed from lib/stdio_.h.
32578         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
32579         stdio_.h.
32580         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
32581         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
32582         stdlib_.h.
32583         * lib/string.in.h: Renamed from lib/string_.h.
32584         * modules/string (Files, Makefile.am): Use string.in.h instead of
32585         string_.h.
32586         * doc/gnulib-tool.texi (Initial import): Update.
32587         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
32588         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
32589         of sys_select_.h. Add dependency.
32590         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
32591         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
32592         of sys_socket_.h.
32593         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
32594         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
32595         sys_stat_.h.
32596         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
32597         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
32598         sys_time_.h.
32599         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
32600         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
32601         sysexits_.h.
32602         * lib/time.in.h: Renamed from lib/time_.h.
32603         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
32604         * lib/unistd.in.h: Renamed from lib/unistd_.h.
32605         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
32606         unistd_.h.
32607         * lib/wchar.in.h: Renamed from lib/wchar_.h.
32608         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
32609         wchar_.h.
32610         * lib/wctype.in.h: Renamed from lib/wctype_.h.
32611         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
32612         wctype_.h.
32613         * build-aux/bootstrap (slurp): Update.
32614         * lib/.cppi-disable: Update.
32615
32616 2007-09-30  Bruno Haible  <bruno@clisp.org>
32617
32618         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
32619         Needed on BeOS.
32620
32621 2007-09-30  Bruno Haible  <bruno@clisp.org>
32622
32623         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
32624
32625 2007-09-29  Bruno Haible  <bruno@clisp.org>
32626
32627         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
32628
32629 2007-09-29  Bruno Haible  <bruno@clisp.org>
32630
32631         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
32632         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
32633         * build-aux/install-reloc: Compile also areadlink.c.
32634         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
32635
32636 2007-09-29  Bruno Haible  <bruno@clisp.org>
32637
32638         * gnulib-tool (func_emit_initmacro_done): Indentation.
32639
32640 2007-09-29  Bruno Haible  <bruno@clisp.org>
32641
32642         * README: Add CVS checkout update instructions.
32643         Info from Bob Proulx <bob@proulx.com>.
32644
32645 2007-09-28  Eric Blake  <ebb9@byu.net>
32646
32647         Provide move-if-change.
32648         * build-aux/move-if-change: New file, based on best practice
32649         rather than any canonical upstream location.
32650
32651 2007-09-28  Jim Meyering  <jim@meyering.net>
32652
32653         Fix canonicalize loop-detection corner case.
32654         Do not attempt to stat the symlink values stored via seen_triple.
32655         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
32656         on linux-2.6.18, (but not 2.6.22).
32657         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
32658         triple_compare.  The former compares dev,ino,filename, while the latter
32659         would actually stat dirname(filename) when dev and ino were equal.
32660         * lib/hash-triple.c: Install <string.h>.
32661         (STREQ): Define.
32662         (triple_compare_ino_str): New function.
32663         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
32664
32665 2007-09-28  Eric Blake  <ebb9@byu.net>
32666
32667         Enforce that AC_REPLACE_FUNCS files exist.
32668         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
32669         override check for typos.
32670
32671         Fix test-closein on Solaris 10.
32672         * tests/test-closein.c (main): Don't assume stdin can be inherited
32673         closed on all systems.
32674         * tests/test-closein.sh: Likewise.
32675         Reported by Piotr Tarnowski.
32676
32677 2007-09-28  Jim Meyering  <jim@meyering.net>
32678
32679         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
32680
32681 2007-09-27  Jim Meyering  <jim@meyering.net>
32682
32683         canonicalize: Avoid a false-positive cycle failure.
32684         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
32685         Sort.  Remove cycle-check.
32686         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
32687         not cycle-check.h.
32688         (seen_triple): New function.
32689         (canonicalize_filename_mode): Use it instead of cycle-check.
32690         * tests/test-canonicalize.c: Add a test for this bug.
32691         * tests/test-canonicalize.sh: Set up and run the test.
32692
32693         New module, file-set, from coreutils.
32694         * modules/file-set: Define it.
32695         * lib/file-set.c, lib/file-set.h: Implement.
32696
32697         New module, hash-triple, from coreutils.
32698         * modules/hash-triple: Define it.
32699         * lib/hash-triple.c, lib/hash-triple.h: Implement.
32700
32701 2007-09-25  Eric Blake  <ebb9@byu.net>
32702
32703         Fix strerror on Interix.
32704         * lib/string_.h (strerror): Declare replacement.
32705         * doc/functions/strerror.texi (strerror): Document the Interix
32706         shortcoming.
32707         * modules/string (Makefile.am): Support new hooks.
32708         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
32709         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
32710         gl_FUNC_STRERROR_SEPARATE.
32711         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
32712         * lib/strerror.c (rpl_strerror): Provide replacement.
32713         * modules/strerror (Depends-on): Add string.
32714         (configure.ac): Detect use of module.
32715         * tests/test-strerror.c: New file.
32716         * modules/strerror-tests: New test module.
32717         * modules/argp (Depends-on): Add strerror.
32718         * modules/error (Depends-on): Likewise.
32719         Reported by Martin Koeppe.
32720
32721 2007-09-24  Bruno Haible  <bruno@clisp.org>
32722
32723         * README: Update git instructions.
32724
32725 2007-09-24  Eric Blake  <ebb9@byu.net>
32726
32727         Revert fpending breakage from 2007-09-08.
32728         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
32729         __fpending.c.
32730
32731 2007-09-24  Jim Meyering  <jim@meyering.net>
32732
32733         filenamecat.c: Add a test.
32734         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
32735         showing how the function works when DIR is the empty string.
32736
32737 2007-09-21  Simon Josefsson  <simon@josefsson.org>
32738
32739         * tests/test-canonicalize.sh: Turn on executable bit.
32740
32741 2007-09-19  Eric Blake  <ebb9@byu.net>
32742
32743         * README: Update CVS instructions.
32744
32745 2007-09-18  Bruno Haible  <bruno@clisp.org>
32746
32747         * modules/areadlink: New file.
32748         * lib/areadlink.h (areadlink): New declaration.
32749         * lib/areadlink.c: New file, based on lib/xreadlink.c.
32750
32751 2007-09-17  Jim Meyering  <jim@meyering.net>
32752
32753         * lib/savewd.c (ESTALE) [!defined]: Define.
32754         Reported to be required on Interix by Martin Koeppe.
32755
32756 2007-09-17  Bruno Haible  <bruno@clisp.org>
32757
32758         * gnulib-tool (func_version): Use $version.
32759
32760 2007-09-16  Bruno Haible  <bruno@clisp.org>
32761
32762         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
32763         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
32764         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
32765         Reported by Greg Schafer <gschafer@zip.com.au>.
32766
32767 2007-09-15  Bruno Haible  <bruno@clisp.org>
32768
32769         * gnulib-tool (sed): Try a little harder to make bash understand the
32770         alias.
32771         Reported by Bruce Korb <bruce.korb@gmail.com>.
32772
32773 2007-09-13  Eric Blake  <ebb9@byu.net>
32774
32775         * ChangeLog: Remove conflict markers.
32776
32777 2007-09-13  Simon Josefsson  <simon@josefsson.org>
32778
32779         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
32780         Reported by Bruno Haible <bruno@clisp.org>.
32781
32782 2007-09-12  Bruno Haible  <bruno@clisp.org>
32783
32784         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
32785         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
32786         is not defined.
32787
32788 2007-09-12  Eric Blake  <ebb9@byu.net>
32789
32790         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
32791         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
32792         Autoconf definition.
32793         * modules/euidaccess (Depends-on): Add extensions, for
32794         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
32795         * modules/fnmatch (Depends-on): Likewise.
32796         * modules/getaddrinfo (Depends-on): Likewise.
32797         * modules/getdelim (Depends-on): Likewise.
32798         * modules/getline (Depends-on): Likewise.
32799         * modules/getsubopt (Depends-on): Likewise.
32800         * modules/gettext (Depends-on): Likewise.
32801         * modules/group-member (Depends-on): Likewise.
32802         * modules/mbchar (Depends-on): Likewise.
32803         * modules/memmem (Depends-on): Likewise.
32804         * modules/mempcpy (Depends-on): Likewise.
32805         * modules/memrchr (Depends-on): Likewise.
32806         * modules/pagealign_alloc (Depends-on): Likewise.
32807         * modules/readutmp (Depends-on): Likewise.
32808         * modules/stpcpy (Depends-on): Likewise.
32809         * modules/stpncpy (Depends-on): Likewise.
32810         * modules/strchrnul (Depends-on): Likewise.
32811         * modules/strndup (Depends-on): Likewise.
32812         * modules/strsep (Depends-on): Likewise.
32813         * modules/strverscmp (Depends-on): Likewise.
32814         * modules/vasprintf (Depends-on): Likewise.
32815         * modules/wcwidth (Depends-on): Likewise.
32816         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
32817         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
32818         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
32819         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
32820         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32821         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32822         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
32823         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
32824         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
32825         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32826         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
32827         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
32828         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
32829         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
32830         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
32831         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32832         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32833         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
32834         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32835         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
32836         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
32837         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
32838         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
32839         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
32840         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
32841         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32842         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
32843         so that lock.m4 can be used in gettext without extensions module.
32844
32845 2007-09-11  Bruno Haible  <bruno@clisp.org>
32846
32847         * m4/isc-posix.m4: Remove file.
32848         Suggested by Eric Blake.
32849
32850 2007-09-11  Eric Blake  <ebb9@byu.net>
32851
32852         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
32853
32854 2007-09-10  Bruno Haible  <bruno@clisp.org>
32855
32856         * posix-modules: Fix typo in error message.
32857         Reported by Matt <mkraai@beckman.com>.
32858
32859 2007-09-09  Bruno Haible  <bruno@clisp.org>
32860
32861         * doc/functions/getdelim.texi: Update list of platforms lacking the
32862         function.
32863         * doc/functions/getline.texi: Likewise.
32864
32865 2007-09-09  Jim Meyering  <jim@meyering.net>
32866
32867         * lib/hash.c (hash_initialize): Detect calloc failure.
32868         Reported by Bruno Haible.
32869
32870 2007-09-09  Bruno Haible  <bruno@clisp.org>
32871
32872         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
32873         malloc or realloc fails.
32874
32875 2007-09-09  Bruno Haible  <bruno@clisp.org>
32876
32877         * modules/getcwd (Depends-on): Add malloc-posix.
32878         * modules/glob (Depends-on): Likewise.
32879         * modules/putenv (Depends-on): Likewise.
32880         * modules/strdup (Depends-on): Likewise.
32881         * modules/getdelim (Depends-on): Add realloc-posix.
32882         * modules/read-file (Depends-on): Likewise.
32883
32884 2007-09-09  Bruno Haible  <bruno@clisp.org>
32885
32886         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
32887         (gl_FUNC_MALLOC_POSIX): Require it.
32888         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
32889         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
32890         * modules/realloc (Files): Add m4/malloc.m4.
32891         * modules/calloc (Files): Likewise.
32892
32893 2007-09-09  Bruno Haible  <bruno@clisp.org>
32894
32895         * modules/malloc-posix: New file.
32896         * modules/malloc (Depends-on): Add malloc-posix.
32897         * lib/malloc.c: Include errno.h.
32898         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
32899         and a POSIX-compatible malloc into a single function. Set ENOMEM
32900         when returning NULL.
32901         * m4/malloc.m4: New file.
32902         * doc/functions/malloc.texi: Mention the malloc-posix module.
32903         * lib/stdlib_.h (malloc): New declaration.
32904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32905         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
32906         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
32907         and HAVE_MALLOC_POSIX.
32908
32909 2007-09-09  Bruno Haible  <bruno@clisp.org>
32910
32911         * modules/realloc-posix: New file.
32912         * modules/realloc (Depends-on): Add realloc-posix.
32913         * lib/realloc.c: Include errno.h.
32914         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
32915         and a POSIX-compatible realloc into a single function. Set ENOMEM
32916         when returning NULL.
32917         * m4/realloc.m4: New file.
32918         * doc/functions/realloc.texi: Mention the realloc-posix module.
32919         * lib/stdlib_.h (realloc): New declaration.
32920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32921         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
32922         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
32923         and HAVE_REALLOC_POSIX.
32924
32925 2007-09-09  Bruno Haible  <bruno@clisp.org>
32926
32927         * modules/calloc-posix: New file.
32928         * modules/calloc (Depends-on): Add calloc-posix.
32929         * lib/calloc.c: Include errno.h.
32930         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
32931         and a POSIX-compatible calloc into a single function. Set ENOMEM
32932         when returning NULL.
32933         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
32934         * doc/functions/calloc.texi: Mention the calloc-posix module.
32935         * lib/stdlib_.h (calloc): New declaration.
32936         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32937         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
32938         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
32939         and HAVE_CALLOC_POSIX.
32940
32941 2007-09-09  Bruno Haible  <bruno@clisp.org>
32942
32943         Allow for modules to show an arbitrary notice.
32944         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
32945         * gnulib-tool: New option --extract-notice.
32946         (func_usage): Document it.
32947         (sed_extract_prog): Update.
32948         (func_get_notice): New function.
32949         (func_modules_notice): New function.
32950         (func_import, func_create_testdir): Invoke it.
32951         Suggested by Jim Meyering.
32952
32953 2007-09-09  Bruno Haible  <bruno@clisp.org>
32954
32955         * gnulib-tool: New options --verbose, --quiet.
32956         (func_usage): Document them.
32957         (verbose): New variable.
32958         (func_execute_command): New function.
32959         (func_import): Don't show the module list and the file list if
32960         $verbose < 0.
32961         (func_create_testdir): Likewise. Use func_execute_command.
32962         (func_create_megatestdir): Use func_execute_command.
32963
32964 2007-09-08  Bruno Haible  <bruno@clisp.org>
32965
32966         * gnulib-tool (func_import): Prefer rsync over wget when available,
32967         for fetching the PO files.
32968
32969 2007-09-08  Bruno Haible  <bruno@clisp.org>
32970
32971         * posix-modules: New file. Portions copied from gnulib-tool.
32972         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
32973
32974 2007-09-08  Jim Meyering  <jim@meyering.net>
32975
32976         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
32977         * lib/fpending.h: Rename from __fpending.h.
32978         * lib/fpending.c: Rename from __fpending.c.
32979         Include "fpending.h", not "__fpending.h".
32980         * lib/__fpending.h, lib/__fpending.c: Remove files.
32981         * modules/fpending (Files): Reflect new file names.
32982         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
32983
32984 2007-09-08  Bruno Haible  <bruno@clisp.org>
32985
32986         * m4/inttypes-h.m4: Remove stub file.
32987
32988 2007-09-07  Simon Josefsson  <simon@josefsson.org>
32989
32990         * doc/headers/stdint.texi: Discuss #include_next issue.
32991
32992 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
32993
32994         * build-aux/bootstrap: Remove obsolete comment about wget --help.
32995
32996 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32997
32998         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
32999         in variable name.
33000
33001 2007-09-03  Jim Meyering  <jim@meyering.net>
33002
33003         New module: git-version-gen.
33004         * modules/git-version-gen: New file.
33005
33006         Import changes from coreutils for bootstrap script.
33007
33008         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
33009
33010         bootstrap: uses rsync to download the .po files
33011         * build-aux/bootstrap (po_download_command_format): New global.
33012         (download_po_files): Use rsync.
33013         (update_po_files): Don't remove .po files after download,
33014         so future rsync runs can take advantage of the copies.
33015
33016         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
33017
33018         Solve the unnecessary-.po-file-regeneration problem once and for all.
33019         * build-aux/bootstrap (download_po_files): New function, renamed from
33020         get_translations.  Now, downloads, but doesn't update LINGUAS.
33021         (update_po_files): New function.
33022
33023         bootstrap: Ignore more.
33024         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
33025         uniwidth to e.g., lib/.gitignore.
33026         (slurp): Handle the sys_stat_.h -> sys mapping, too.
33027
33028         * build-aux/bootstrap: New setting: vc_ignore.
33029         (insert_sorted_if_absent): Create $file if absent.
33030         Adapt to new, possibly empty, list: $vc_ignore.
33031
33032         bootstrap: generate more ignorable names
33033         * build-aux/bootstrap (slurp): When generating ignorable names,
33034         also map .sin to .sed, .gperf to .c, and .y to .c.
33035
33036 2007-09-03  Jim Meyering  <jim@meyering.net>
33037
33038         * build-aux/git-version-gen: New file, from coreutils.  For details, see
33039         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
33040
33041 2007-09-02  Bruno Haible  <bruno@clisp.org>
33042
33043         Fix mis-recognition of 'mcs' on QNX 6.
33044         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
33045         output contains the string "Mono".
33046         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
33047         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
33048
33049 2007-09-01  Bruno Haible  <bruno@clisp.org>
33050
33051         Fix collision between uniwidth/* and linebreak modules.
33052         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
33053         u32_width): Remove declarations.
33054         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
33055         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
33056         streq3, streq2, streq1, streq0): Remove functions.
33057         (STREQ): Remove macro.
33058         (is_cjk_encoding): Remove function.
33059         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
33060         (uc_width, u8_width, u16_width, u32_width): Remove functions.
33061         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
33062         * NEWS: Document the change.
33063
33064 2007-09-01  Bruno Haible  <bruno@clisp.org>
33065
33066         * lib/streq.h: Add double-inclusion guard.
33067
33068 2007-09-01  Karl Berry  <karl@gnu.org>
33069
33070         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
33071
33072 2007-08-28  Jim Meyering  <jim@meyering.net>
33073
33074         Rename mreadlink_with_size to areadlink_with_size.
33075         * NEWS: Document the change.
33076         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
33077         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
33078         * lib/mreadlink.h: Rename this to...
33079         * lib/areadlink.h: ...this.
33080         * modules/mreadlink-with-size: Rename this to...
33081         * modules/areadlink-with-size: ...this.
33082         * lib/canonicalize.c: Reflect the renaming.
33083         * modules/canonicalize: Likewise.
33084
33085 2007-08-26  Bruno Haible  <bruno@clisp.org>
33086
33087         * gnulib-tool (func_import): When deciding which files to remove,
33088         consider also dangling symbolic links.
33089         Reported by Eric Blake.
33090
33091 2007-08-26  Bruno Haible  <bruno@clisp.org>
33092
33093         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
33094
33095 2007-08-23  Simon Josefsson  <simon@josefsson.org>
33096
33097         * lib/readline.c: Don't include getline.h, the prototype is now
33098         found in stdio.h.
33099
33100 2007-08-23  Jim Meyering  <jim@meyering.net>
33101
33102         Getdelim touchup.
33103         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
33104         around the funlockfile call, since funlockfile never sets errno.
33105         Don't set errno upon failed realloc.
33106
33107 2007-08-22  Eric Blake  <ebb9@byu.net>
33108
33109         Getline touchups.
33110         * lib/getdelim.c (getdelim): Revert regression that required *n to
33111         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
33112         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
33113         getdelim, rather than whether implementation is missing.
33114         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
33115         * lib/stdio_.h (getline): Also declare if replacement is
33116         required.
33117         * doc/functions/getdelim.texi: New file.
33118         * doc/functions/getline.texi: Likewise.
33119         * doc/gnulib.texi (Function Substitutes): Add new files.
33120         Reported by Bruno Haible.
33121
33122 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
33123
33124         * users.txt: Add Guile.
33125
33126 2007-08-22  Eric Blake  <ebb9@byu.net>
33127
33128         * tests/test-getdelim.c (main): Use remove, not unlink.
33129         * tests/test-getline.c (main): Likewise.
33130
33131         Move getline and getdelim into stdio.h, per POSIX 200x.
33132         * modules/getline (Files): Remove getline.h.
33133         (Depends-on): Add stdio.
33134         (configure.ac): Add module indicator.
33135         * modules/getdelim (Files): Remove getdelim.h.
33136         (Depends-on): Add stdio.
33137         (configure.ac): Add module indicator.
33138         * modules/stdio (Makefile.am): Work with new indicators.
33139         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33140         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
33141         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33142         * lib/getdelim.h: Delete.
33143         * lib/getline.h: Delete.
33144         * lib/stdio_.h (getdelim, getline): Declare.
33145         * modules/getdelim-tests: New module.
33146         * modules/getline-tests: Likewise.
33147         * tests/test-getdelim.c: New file.
33148         * tests/test-getline.c: Likewise.
33149         * NEWS: Document the change.
33150         * lib/getline.c: Update choice of header.
33151         * lib/csharpcomp.c: Likewise.
33152         * lib/getpass.c: Likewise.
33153         * lib/javacomp.c: Likewise.
33154         * lib/javaversion.c: Likewise.
33155         * lib/yesno.c: Likewise.
33156         * lib/getdelim.c: Likewise.
33157         (getdelim): Set errno on failure, and avoid memory leak.
33158
33159 2007-08-19  Bruno Haible  <bruno@clisp.org>
33160
33161         * modules/closein (Depends-on): Add freadahead.
33162         * lib/closein.c: Include freadahead.h.
33163         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
33164         is zero.
33165
33166 2007-08-19  Bruno Haible  <bruno@clisp.org>
33167
33168         * modules/freadahead-tests: New file.
33169         * tests/test-freadahead.sh: New file.
33170         * tests/test-freadahead.c: New file.
33171
33172         * modules/freadahead: New file.
33173         * lib/freadahead.h: New file.
33174         * lib/freadahead.c: New file.
33175         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
33176         fbufmode, fpurge, freadable, fwritable.
33177
33178 2007-08-19  Eric Blake  <ebb9@byu.net>
33179
33180         Test yesno in combination with closein.
33181         * lib/yesno.c (yesno): Document use of stdin.
33182         * modules/yesno-tests (Files): New module.
33183         * tests/test-yesno.c (main): New file.
33184         * tests/test-yesno.sh: Likewise.
33185
33186 2007-08-19  Bruno Haible  <bruno@clisp.org>
33187
33188         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
33189         * lib/fseeko.c (rpl_fseeko): Likewise.
33190         * lib/fseterr.c (fseterr): Likewise.
33191
33192 2007-08-19  Bruno Haible  <bruno@clisp.org>
33193
33194         * tests/test-lseek.c (main): Disable a test for BeOS.
33195         * doc/functions/lseek.texi: Document the BeOS bug.
33196
33197 2007-08-19  Bruno Haible  <bruno@clisp.org>
33198             Eric Blake  <ebb9@byu.net>
33199
33200         * lib/lseek.c: Include <sys/stat.h>.
33201         (rpl_lseek): Add workaround code also for Unix platforms.
33202         Needed for BeOS.
33203         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
33204         * doc/functions/lseek.texi: Document BeOS definiency.
33205
33206 2007-08-18  Bruno Haible  <bruno@clisp.org>
33207
33208         * modules/fstrcmp-tests: New file.
33209         * tests/test-fstrcmp.c: New file.
33210
33211 2007-08-18  Bruno Haible  <bruno@clisp.org>
33212
33213         * modules/fstrcmp: New file, from GNU gettext with modifications.
33214         * lib/fstrcmp.h: New file, from GNU gettext.
33215         * lib/fstrcmp.c: New file, from GNU gettext.
33216         * MODULES.html.sh (String handling): Add fstrcmp.
33217
33218 2007-08-18  Bruno Haible  <bruno@clisp.org>
33219
33220         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
33221         'bool'.
33222         (diag, compareseq): Remove const from the ctxt argument.
33223         (USE_HEURISTIC): Undefine at the end.
33224
33225 2007-08-18  Jim Meyering  <jim@meyering.net>
33226
33227         New file: lib/idcache.h
33228         * NEWS: Mention the addition.
33229         * modules/idcache (Files): Add lib/idcache.h
33230         * lib/idcache.c: Include "idcache.h".
33231         Don't include <sys/types.h>.
33232         Add a FIXME comment.
33233         Move file-scoped "static" declarations to the top.
33234         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
33235
33236 2007-08-17  Bruno Haible  <bruno@clisp.org>
33237         and Paul Eggert  <eggert@cs.ucla.edu>
33238
33239         * MODULES.html.sh: Add diffseq.
33240         * modules/diffseq: New file.
33241         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
33242         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
33243
33244 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33245
33246         Import changes from coreutils for bootstrap script.
33247
33248         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
33249
33250         * build-aux/bootstrap (slurp): Work even in environments where
33251         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
33252         current code does not slurp files whose names start with ".", and
33253         this looks like it might be a troublesome area.
33254
33255         2007-07-11  Jim Meyering  <jim@meyering.net>
33256
33257         If there's a GPL vN copyright comment, require that N == 3.
33258
33259         2007-07-08  Jim Meyering  <jim@meyering.net>
33260
33261         Run the coreutils-specific code only if tests/Makefile.am.in exists.
33262         * build-aux/bootstrap (mam_template): Move definition out of loop.
33263
33264         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
33265
33266         * build-aux/bootstrap (symlink_to_dir): Rename function from
33267         symlink_to_gnulib.  Add a directory parameter.  Update all
33268         callers.
33269         (cp_mark_as_generated): Also check for -- and link to -- files in
33270         gl/.
33271
33272         2007-07-08  Jim Meyering  <jim@meyering.net>
33273
33274         Adapt to deeper hierarchy in gnulib.
33275         * build-aux/bootstrap (symlink_to_dir): If the destination
33276         directory doesn't exist, create it. This is required at least for
33277         "lib/uniwidth/cjk.h".
33278
33279         2007-05-15  Jim Meyering  <jim@meyering.net>
33280
33281         * build-aux/bootstrap: Now that generated Makefile.am files
33282         are no longer under version control, they must be created at
33283         bootstrap time.
33284
33285 2007-08-14  Ben Pfaff  <blp@gnu.org>
33286
33287         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
33288
33289 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33290
33291         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
33292         given the changes below.
33293         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
33294         even on hosts that have padding bits beyond the supported 64.
33295
33296 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33297
33298         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
33299         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
33300         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
33301         depends on it.
33302         (xstrtol_error): Remove.
33303         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
33304         but with a different signature.
33305         (ATTRIBUTE_NORETURN, __attribute__): New macros.
33306         * lib/xstrtol-error.c: Include exitfail.h.
33307         (xstrtol_fatal): New function, with a different signature from the
33308         old xstrtol_error, so that the caller need not worry about passing
33309         in an exit status, or about storage management of the option argument.
33310         (xstrtol_error): Now a static function.  Redo signature to
33311         implement xstrtol_fatal.  Output the correct number of hyphens in
33312         front of the option so that the caller need not worry about
33313         storage management.
33314         (N_): New macro.
33315         (_): Remove; not used now.
33316         * modules/xstrtol: Depend on getopt.
33317         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
33318         of old STRTOL_FATAL_ERROR macro.
33319         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
33320         of test program.
33321         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
33322         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
33323
33324 2007-08-08  Eric Blake  <ebb9@byu.net>
33325
33326         * lib/xstrtol-error.c: Add missing include.
33327
33328         Move xstrtol messages into gnulib domain, when --pobase is used.
33329         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
33330         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
33331         * modules/xstrtol (Files): Distribute new file.
33332         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
33333         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
33334         * tests/test-xstrtol.c: ...into new file.
33335         * tests/test-xstrtoul.c: Also test xstrtoul.
33336         * tests/test-xstrtoimax.c: Also test xstrtoimax.
33337         * tests/test-xstrtoumax.c: Also test xstrtoumax.
33338         * tests/test-xstrtol.sh: Drive the tests.
33339         * tests/test-xstrtoimax.sh: Likewise.
33340         * tests/test-xstrtoumax.sh: Likewise.
33341         * modules/xstrtol-tests: New module.
33342         * modules/xstrtoimax-tests: Likewise.
33343         * modules/xstrtoumax-tests: Likewise.
33344
33345 2007-08-08  Jim Meyering  <jim@meyering.net>
33346
33347         New function: mfile_name_concat.
33348         * lib/filenamecat.c (mfile_name_concat): New function, just like
33349         file_name_concat, but return NULL upon failure rather than exiting
33350         with a diagnostic.
33351         * lib/filenamecat.h: Declare it.
33352
33353 2007-08-07  Bruno Haible  <bruno@clisp.org>
33354
33355         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
33356         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
33357         warning from gcc.
33358         Reported by Eric Blake.
33359
33360 2007-08-07  Simon Josefsson  <simon@josefsson.org>
33361
33362         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
33363         * modules/crypto/arcfour (License): Likewise.
33364         * modules/crypto/des-tests (License): Likewise.
33365         * modules/crypto/gc-arctwo-tests (License): Likewise.
33366         * modules/crypto/gc-des-tests (License): Likewise.
33367         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
33368         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
33369         * modules/crypto/gc-md2-tests (License): Likewise.
33370         * modules/crypto/gc-md4-tests (License): Likewise.
33371         * modules/crypto/gc-md5-tests (License): Likewise.
33372         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
33373         * modules/crypto/gc-rijndael-tests (License): Likewise.
33374         * modules/crypto/gc-sha1-tests (License): Likewise.
33375         * modules/crypto/gc-tests (License): Likewise.
33376         * modules/crypto/hmac-md5 (License): Likewise.
33377         * modules/crypto/hmac-sha1 (License): Likewise.
33378         * modules/crypto/md2-tests (License): Likewise.
33379         * modules/crypto/md4-tests (License): Likewise.
33380         * modules/crypto/md5 (License): Likewise.
33381         * modules/crypto/rijndael (License): Likewise.
33382         * modules/crypto/sha1 (License): Likewise.
33383         * modules/memxor (License): Likewise.
33384
33385 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
33386         and Bruno Haible  <bruno@clisp.org>
33387
33388         * NEWS: Describe interface changes to human, xstrtol.
33389         * lib/human.h: Include <xstrtol.h>.
33390         (human_options): Return enum strtol_error, not int.  Remove
33391         bool arg; take int * instead.
33392         * lib/human.c: Don't include "gettext.h".
33393         (_): Remove; no longer used.
33394         Don't include <xstrtol.h>, since human.h does it.
33395         (human_options): Adjust to abovementioned interface changes.
33396         Do not report error to stderr; that's now the caller's
33397         responsibility.
33398         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
33399         interface change.
33400         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
33401         Str, Argument_type_string.  All uses changed.  Put " argument"
33402         in diagnostics to make them clearer.  Change wording of suffix
33403         message for clarity.
33404         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
33405         Argument_type_string.
33406         (STRTOL_FATAL_WARN): Remove; no longer used.
33407         * modules/human (Depends-on): Remove gettext-h.
33408
33409 2007-08-06  Simon Josefsson  <simon@josefsson.org>
33410
33411         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
33412
33413 2007-07-31  Bruno Haible  <bruno@clisp.org>
33414
33415         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
33416         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
33417         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
33418
33419 2007-07-31  Bruno Haible  <bruno@clisp.org>
33420
33421         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
33422         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
33423
33424 2007-07-30  Bruno Haible  <bruno@clisp.org>
33425
33426         * modules/base64 (License): Use the synonymous term "LGPLv2+".
33427         * modules/c-ctype (License): Likewise.
33428         * modules/c-strcase (License): Likewise.
33429         * modules/check-version (License): Likewise.
33430         * modules/iconv (License): Likewise.
33431         * modules/iconv_open (License): Likewise.
33432         * modules/read-file (License): Likewise.
33433         * modules/striconv (License): Likewise.
33434         * modules/strverscmp (License): Likewise.
33435         * modules/vasprintf (License): Likewise.
33436         * modules/crypto/des (License): Likewise.
33437         * modules/crypto/gc (License): Likewise.
33438         * modules/crypto/gc-arcfour (License): Likewise.
33439         * modules/crypto/gc-arctwo (License): Likewise.
33440         * modules/crypto/gc-des (License): Likewise.
33441         * modules/crypto/gc-hmac-md5 (License): Likewise.
33442         * modules/crypto/gc-hmac-sha1 (License): Likewise.
33443         * modules/crypto/gc-md2 (License): Likewise.
33444         * modules/crypto/gc-md4 (License): Likewise.
33445         * modules/crypto/gc-md5 (License): Likewise.
33446         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
33447         * modules/crypto/gc-random (License): Likewise.
33448         * modules/crypto/gc-rijndael (License): Likewise.
33449         * modules/crypto/gc-sha1 (License): Likewise.
33450         * modules/crypto/md2 (License): Likewise.
33451         * modules/crypto/md4 (License): Likewise.
33452
33453 2007-07-30  Jim Meyering  <jim@meyering.net>
33454
33455         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
33456         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
33457         it has valid stat data.  This bug would cause du not to count the
33458         sizes of inaccessible directories.
33459         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
33460         in <http://bugzilla.redhat.com/250077>.
33461
33462 2007-07-25  Peter O'Gorman  <peter@pogma.com>
33463             Bruno Haible  <bruno@clisp.org>
33464
33465         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
33466         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
33467         #include_next, gives a diagnostic about it, but reports no error in
33468         the exit code.
33469         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33470
33471 2007-07-24  Ben Pfaff  <blp@gnu.org>
33472
33473         Improve name: "count-one-bits" is better than "popcount".
33474         * MODULES.html.sh: Update name.
33475         * lib/popcount.h: Renamed lib/count-one-bits.h.
33476         (popcount): Renamed count_one_bits.
33477         (popcountl): Renamed count_one_bits_l.
33478         (popcountll): Renamed count_one_bits_ll.
33479         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
33480         * modules/popcount: Renamed module/count-one-bits.
33481         * modules/popcount-tests: Renamed module/count-one-bits-tests.
33482         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
33483
33484 2007-07-23  Ben Pfaff  <blp@gnu.org>
33485
33486         * lib/popcount.h (popcount32): Reduce size of constants, to allow
33487         better code generation, and add U to large constants to avoid
33488         warnings, in non-GCC case.
33489         Suggested by Bruno Haible.
33490
33491 2007-07-23  Ben Pfaff  <blp@gnu.org>
33492
33493         * lib/popcount.h: Use verify_true instead of if...abort.
33494         * modules/popcount: Depend on verify module.
33495         Suggested by Jim Meyering.
33496
33497 2007-07-23  Bruno Haible  <bruno@clisp.org>
33498
33499         * gnulib-tool (func_import): Create a .cvsignore file also when the
33500         directory is not yet in CVS but the toplevel directory is. When
33501         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
33502         Reported by Karl Berry.
33503
33504 2007-07-22  Ben Pfaff  <blp@gnu.org>
33505
33506         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
33507         case.
33508         Suggested by Eric Blake.
33509
33510 2007-07-22  Ben Pfaff  <blp@gnu.org>
33511
33512         New module: popcount.
33513         * MODULES.html.sh: Add popcount.
33514         * modules/popcount: New file.
33515         * modules/popcount-tests: New file.
33516         * tests/test-popcount.c: New file.
33517         * lib/popcount.h: New file.
33518         * m4/popcount.m4: New file.
33519
33520 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33521
33522         * build-aux/announce-gen: Update to GPLv3.
33523
33524         * build-aux/config.guess: Update from config.
33525
33526 2007-07-21  Bruno Haible  <bruno@clisp.org>
33527
33528         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
33529         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
33530
33531 2007-07-20  Jim Meyering  <jim@meyering.net>
33532
33533         * check-module: Diagnose a self-dependency.
33534
33535 2007-07-19  Bruno Haible  <bruno@clisp.org>
33536
33537         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
33538         empty.
33539         Reported by Eric Blake.
33540
33541 2007-07-18  Bruno Haible  <bruno@clisp.org>
33542
33543         * gnulib-tool: New options --po-base, --po-domain.
33544         (func_usage): Document them.
33545         (pobase, po_domain): New variables.
33546         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
33547         DEFAULT_TEXT_DOMAIN.
33548         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
33549         (func_import): Consider pobase and po_domain. Create a po/ directory.
33550         (func_create_testdir): Set pobase and po_domain to empty.
33551         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
33552         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
33553
33554 2007-07-18  Bruno Haible  <bruno@clisp.org>
33555
33556         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33557         EXTRA_DIST augmentation for files in build-aux/.
33558
33559 2007-07-16  Bruno Haible  <bruno@clisp.org>
33560
33561         * modules/lseek (License): Use the synonymous term "LGPLv2+".
33562         * modules/getdelim (License): Likewise.
33563
33564 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33565
33566         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
33567         * modules/d-type (License): Likewise.
33568         * modules/extensions (License): Likewise.
33569         * modules/fnmatch (License): Likewise.
33570         * modules/fseeko (License): Likewise.
33571         * modules/getaddrinfo (License): Likewise.
33572         * modules/getline (License): Likewise.
33573         * modules/getlogin_r (License): Likewise.
33574         * modules/getpass (License): Likewise.
33575         * modules/gettimeofday (License): Likewise.
33576         * modules/glob (License): Likewise.
33577         * modules/inet_ntop (License): Likewise.
33578         * modules/malloc (License): Likewise.
33579         * modules/malloca (License): Likewise.
33580         * modules/memmem (License): Likewise.
33581         * modules/mempcpy (License): Likewise.
33582         * modules/memset (License): Likewise.
33583         * modules/minmax (License): Likewise.
33584         * modules/mktime (License): Likewise.
33585         * modules/netinet_in (License): Likewise.
33586         * modules/pathmax (License): Likewise.
33587         * modules/poll (License): Likewise.
33588         * modules/regex (License): Likewise.
33589         * modules/snprintf (License): Likewise.
33590         * modules/stdbool (License): Likewise.
33591         * modules/stdint (License): Likewise.
33592         * modules/stdio (License): Likewise.
33593         * modules/strcase (License): Likewise.
33594         * modules/strcasestr (License): Likewise.
33595         * modules/strdup (License): Likewise.
33596         * modules/string (License): Likewise.
33597         * modules/strndup (License): Likewise.
33598         * modules/strnlen (License): Likewise.
33599         * modules/strpbrk (License): Likewise.
33600         * modules/strptime (License): Likewise.
33601         * modules/strsep (License): Likewise.
33602         * modules/sys_select (License): Likewise.
33603         * modules/sys_socket (License): Likewise.
33604         * modules/sys_stat (License): Likewise.
33605         * modules/sys_time (License): Likewise.
33606         * modules/time (License): Likewise.
33607         * modules/time_r (License): Likewise.
33608         * modules/timegm (License): Likewise.
33609         * modules/unistd (License): Likewise.
33610         * modules/vsnprintf (License): Likewise.
33611         * modules/wctype (License): Likewise.
33612
33613 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33614
33615         * modules/argz (License): LGPLv2+.
33616
33617 2007-07-15  Karl Berry  <karl@gnu.org>
33618
33619         * doc/gnulib.texi: revise node structure per new fdl.texi.
33620
33621 2007-07-14  Bruno Haible  <bruno@clisp.org>
33622
33623         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
33624         the output file.
33625         * lib/uniname/uninames.h: Regenerated.
33626
33627 2007-07-14  Karl Berry  <karl@gnu.org>
33628
33629         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
33630         omitting sectioning and index commands.
33631
33632 2007-07-13  Bruno Haible  <bruno@clisp.org>
33633
33634         New gnulib-tool option --more-symlinks.
33635         * gnulib-tool (func_usage): Document --more-symlinks.
33636         (do_copyrights): New variable.
33637         Recognize option --more-symlinks.
33638         (func_import): Don't add a copyright notice transform to
33639         sed_transform_lib_file if do_copyrights is empty.
33640
33641 2007-07-13  Bruno Haible  <bruno@clisp.org>
33642
33643         * lib/vasnprintf.c (decimal_point_char): Define also if
33644         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
33645         && !NEED_PRINTF_DIRECTIVE_A.
33646         Reported by Clemens Koller <clemens.koller@anagramm.de> via
33647         Gary V. Vaughan <gary@gnu.org>.
33648
33649 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
33650
33651         * lib/inttypes_.h: Undo previous change, since it was fixed
33652         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
33653
33654 2007-07-13  Bruno Haible  <bruno@clisp.org>
33655
33656         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
33657         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
33658
33659 2007-07-13  Jim Meyering  <jim@meyering.net>
33660
33661         df: Don't fail for Tru64's "file-on-file mount".
33662         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
33663         so we fall through and use statfs instead.  Details here:
33664         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
33665         Reported by Albert Chin.
33666
33667 2007-07-13  Bruno Haible  <bruno@clisp.org>
33668
33669         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
33670         * modules/configmake (License): Likewise.
33671         * modules/gettext (License): Likewise.
33672         * modules/gettext-h (License): Likewise.
33673         * modules/include_next (License): Likewise.
33674         * modules/link-warning (License): Likewise.
33675         * modules/localcharset (License): Likewise.
33676         * modules/localename (License): Likewise.
33677         * modules/lock (License): Likewise.
33678         * modules/relocatable-lib-lgpl (License): Likewise.
33679         * modules/size_max (License): Likewise.
33680         * modules/vasnprintf (License): Likewise.
33681         * modules/wchar (License): Likewise.
33682         * modules/xsize (License): Likewise.
33683
33684 2007-07-13  Bruno Haible  <bruno@clisp.org>
33685
33686         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
33687         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
33688
33689 2007-07-12  Bruno Haible  <bruno@clisp.org>
33690
33691         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
33692         in the modules files.
33693
33694 2007-07-11  Karl Berry  <karl@gnu.org>
33695
33696         * MODULES.html.sh (func_module): use
33697          sed -e '\|^'"${includefile}"'$|d'
33698          instead of /.../d, to avoid errors on $includefile's containing /.
33699
33700 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
33701
33702         * gnulib-tool (func_import): Avoid duplication of --avoid
33703         statements
33704         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
33705         names to `_' in variable names.
33706
33707 2007-07-10  Eric Blake  <ebb9@byu.net>
33708
33709         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
33710         * NEWS: Document this change.
33711
33712 2007-07-08  Bruno Haible  <bruno@clisp.org>
33713
33714         Update to Unicode 5.0.
33715         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
33716         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
33717         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
33718         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
33719         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
33720         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
33721         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
33722         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
33723         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
33724         U+10A3F, U+1D242..U+1D244.
33725         (nonspacing_table_ind): Update.
33726         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
33727         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
33728
33729 2007-07-08  Bruno Haible  <bruno@clisp.org>
33730
33731         Update to Unicode 5.0.
33732         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
33733         code transform. Extend the name index field of unicode_name_to_code and
33734         unicode_code_to_name from 16 to 24 bits.
33735         * lib/uniname/uniname.c (unicode_character_name,
33736         unicode_name_character): Add the range 0x12xxx to the code transform.
33737         * lib/uniname/uninames.h: Regenerated.
33738         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
33739
33740 2007-07-07  Bruno Haible  <bruno@clisp.org>
33741
33742         * modules/wcwidth-tests: New file.
33743         * tests/test-wcwidth.c: New file.
33744
33745         Work around MacOS X wcwidth() bug.
33746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
33747         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
33748         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
33749         original wcwidth in non-UTF-8 locales.
33750         * modules/wcwidth (Depends-on): Add localcharset, streq,
33751         uniwidth/width.
33752         * doc/functions/wcwidth.texi: Update.
33753
33754 2007-07-07  Bruno Haible  <bruno@clisp.org>
33755
33756         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
33757         (wcwidth): New declaration.
33758         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
33759         macros.
33760         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
33761         here. Prepare for creating <wchar.h> unconditionally.
33762         * modules/wchar (Depends-on): Add link-warning.
33763         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
33764         REPLACE_WCWIDTH, and GL_LINK_WARNING.
33765         * lib/wcwidth.h: Remove file.
33766         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
33767         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
33768         * modules/wcwidth (Files): Remove lib/wcwidth.h.
33769         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
33770         (Include): Replace wcwidth.h with <wchar.h>.
33771         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
33772         * lib/mbchar.h: Don't include wcwidth.h.
33773         * lib/mbswidth.c: Likewise.
33774         * NEWS: Mention the change.
33775
33776 2007-07-07  Bruno Haible  <bruno@clisp.org>
33777
33778         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
33779         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
33780         definition with an external declaration.
33781         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
33782         defined as a function. Remove AC_C_INLINE requirement.
33783         * modules/wcwidth (Files): Add lib/wcwidth.c.
33784         (Makefile.am): Remove redundant statement.
33785
33786 2007-07-07  Bruno Haible  <bruno@clisp.org>
33787
33788         * MODULES.html.sh (Unicode string functions): Add the new modules.
33789
33790         * tests/uniwidth/test-u32-strwidth.c: New file.
33791         * modules/uniwidth/u32-strwidth-tests: New file.
33792
33793         * lib/uniwidth/u32-strwidth.c: New file.
33794         * modules/uniwidth/u32-strwidth: New file.
33795
33796         * tests/uniwidth/test-u16-strwidth.c: New file.
33797         * modules/uniwidth/u16-strwidth-tests: New file.
33798
33799         * lib/uniwidth/u16-strwidth.c: New file.
33800         * modules/uniwidth/u16-strwidth: New file.
33801
33802         * tests/uniwidth/test-u8-strwidth.c: New file.
33803         * modules/uniwidth/u8-strwidth-tests: New file.
33804
33805         * lib/uniwidth/u8-strwidth.c: New file.
33806         * modules/uniwidth/u8-strwidth: New file.
33807
33808         * tests/uniwidth/test-u32-width.c: New file.
33809         * modules/uniwidth/u32-width-tests: New file.
33810
33811         * lib/uniwidth/u32-width.c: New file.
33812         * modules/uniwidth/u32-width: New file.
33813
33814         * tests/uniwidth/test-u16-width.c: New file.
33815         * modules/uniwidth/u16-width-tests: New file.
33816
33817         * lib/uniwidth/u16-width.c: New file.
33818         * modules/uniwidth/u16-width: New file.
33819
33820         * tests/uniwidth/test-u8-width.c: New file.
33821         * modules/uniwidth/u8-width-tests: New file.
33822
33823         * lib/uniwidth/u8-width.c: New file.
33824         * modules/uniwidth/u8-width: New file.
33825
33826         * tests/uniwidth/test-uc_width.c: New file.
33827         * modules/uniwidth/width-tests: New file.
33828
33829         * lib/uniwidth/width.c: New file, from GNU libiconv.
33830         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
33831         * modules/uniwidth/width: New file.
33832
33833         * lib/uniwidth.h: New file, from GNU libiconv.
33834         * modules/uniwidth/base: New file.
33835
33836 2007-07-07  Bruno Haible  <bruno@clisp.org>
33837
33838         * lib/uniname.h: New file, from GNU gettext.
33839         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
33840         * lib/uniname/uninames.h: New file, from GNU gettext.
33841         * lib/uniname/uniname.c: New file, from GNU gettext.
33842         * tests/uniname/test-uninames.sh: New file.
33843         * tests/uniname/test-uninames.c: New file, from GNU gettext.
33844         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
33845         * modules/uniname/base: New file.
33846         * modules/uniname/uniname: New file.
33847         * modules/uniname/uniname-tests: New file.
33848         * MODULES.html.sh (Unicode string functions): Add the new modules.
33849
33850 2007-07-06  Bruno Haible  <bruno@clisp.org>
33851
33852         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
33853
33854 2007-07-06  Bruno Haible  <bruno@clisp.org>
33855
33856         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
33857         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
33858         includes <cygwin/sys_time.h> which includes <sys/select.h> which
33859         include <sys/time.h>.
33860         Reported by Eric Blake.
33861
33862 2007-07-06  Eric Blake  <ebb9@byu.net>
33863
33864         Fix testing canonicalize on cygwin.
33865         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
33866         Revert patch from 2007-06-19.
33867         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
33868         canonicalize module is also in use.
33869         * tests/test-canonicalize.c: New file.
33870         * tests/test-canonicalize.sh: Likewise.
33871         * modules/canonicalize-tests: Likewise.
33872
33873 2007-07-06  Jim Meyering  <jim@meyering.net>
33874
33875         * lib/getugroups.c (getugroups): Detect getgrent failure.
33876         Adjust comment to reflect reality: this function may return -1.
33877
33878 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33879
33880         * build-aux/bootstrap (TP_URL,get_translations): Update to use
33881         the new TP address.
33882         (usage): Fix typo
33883         (gnulib_mk): New variable.
33884
33885 2007-07-05  Jim Meyering  <jim@meyering.net>
33886
33887         Don't let endgrent clobber errno, no matter how improbable.
33888         * lib/getugroups.c (getugroups): Save and restore errno around
33889         endgrent call.
33890
33891         Close the group DB even when failing with 2^31 or more members.
33892         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
33893
33894 2007-07-04  Jim Meyering  <jim@meyering.net>
33895
33896         * lib/getugroups.h: New file.
33897         * lib/getugroups.c: Include "getugroups.h".
33898         Remove uses of "register" keyword.
33899         Move local variable, "cp", down into scope where used.
33900         Give "username" parameter the "const" attribute.
33901         * modules/getugroups (Files): Add lib/getugroups.h
33902
33903 2007-07-04  Karl Berry  <karl@gnu.org>
33904
33905         * MODULES.html.sh (func_all_modules): Complete rename of
33906         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
33907
33908 2007-07-02  Bruno Haible  <bruno@clisp.org>
33909
33910         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
33911         mode, when inttypes.h comes from gnulib.
33912         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33913
33914 2007-07-02  Simon Josefsson  <simon@josefsson.org>
33915
33916         * NEWS: Mention lgpl module name change.
33917
33918         * modules/lgpl-2.1: Renamed from lgpl.
33919
33920         * NEWS: Mention gpl module name change.
33921
33922         * modules/gpl-3.0: New file, based on gpl-2.0.
33923
33924         * modules/gpl-2.0: Renamed from gpl.
33925
33926         * modules/gpl: Fix filename, doc/gpl.texi is now found at
33927         doc/gpl-2.0.texi.
33928
33929 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
33930
33931         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
33932         #define __STDC_LIMIT_MACROS temporarily while including
33933         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
33934         Problem reported by Joel E. Denny in
33935         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
33936
33937 2007-07-01  Bruno Haible  <bruno@clisp.org>
33938
33939         * lib/unistdio.h: New file.
33940         * lib/unistdio/u-asnprintf.h: New file.
33941         * lib/unistdio/u-asprintf.h: New file.
33942         * lib/unistdio/u-printf-args.c: New file.
33943         * lib/unistdio/u-printf-args.h: New file.
33944         * lib/unistdio/u-printf-parse.h: New file.
33945         * lib/unistdio/u-snprintf.h: New file.
33946         * lib/unistdio/u-sprintf.h: New file.
33947         * lib/unistdio/u-vasprintf.h: New file.
33948         * lib/unistdio/u-vsnprintf.h: New file.
33949         * lib/unistdio/u-vsprintf.h: New file.
33950         * lib/unistdio/ulc-asnprintf.c: New file.
33951         * lib/unistdio/ulc-asprintf.c: New file.
33952         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
33953         * lib/unistdio/ulc-printf-parse.c: New file.
33954         * lib/unistdio/ulc-snprintf.c: New file.
33955         * lib/unistdio/ulc-sprintf.c: New file.
33956         * lib/unistdio/ulc-vasnprintf.c: New file.
33957         * lib/unistdio/ulc-vasprintf.c: New file.
33958         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
33959         * lib/unistdio/ulc-vsnprintf.c: New file.
33960         * lib/unistdio/ulc-vsprintf.c: New file.
33961         * lib/unistdio/u8-asnprintf.c: New file.
33962         * lib/unistdio/u8-asprintf.c: New file.
33963         * lib/unistdio/u8-printf-parse.c: New file.
33964         * lib/unistdio/u8-snprintf.c: New file.
33965         * lib/unistdio/u8-sprintf.c: New file.
33966         * lib/unistdio/u8-vasnprintf.c: New file.
33967         * lib/unistdio/u8-vasprintf.c: New file.
33968         * lib/unistdio/u8-vsnprintf.c: New file.
33969         * lib/unistdio/u8-vsprintf.c: New file.
33970         * lib/unistdio/u8-u8-asnprintf.c: New file.
33971         * lib/unistdio/u8-u8-asprintf.c: New file.
33972         * lib/unistdio/u8-u8-snprintf.c: New file.
33973         * lib/unistdio/u8-u8-sprintf.c: New file.
33974         * lib/unistdio/u8-u8-vasnprintf.c: New file.
33975         * lib/unistdio/u8-u8-vasprintf.c: New file.
33976         * lib/unistdio/u8-u8-vsnprintf.c: New file.
33977         * lib/unistdio/u8-u8-vsprintf.c: New file.
33978         * lib/unistdio/u16-asnprintf.c: New file.
33979         * lib/unistdio/u16-asprintf.c: New file.
33980         * lib/unistdio/u16-printf-parse.c: New file.
33981         * lib/unistdio/u16-snprintf.c: New file.
33982         * lib/unistdio/u16-sprintf.c: New file.
33983         * lib/unistdio/u16-vasnprintf.c: New file.
33984         * lib/unistdio/u16-vasprintf.c: New file.
33985         * lib/unistdio/u16-vsnprintf.c: New file.
33986         * lib/unistdio/u16-vsprintf.c: New file.
33987         * lib/unistdio/u16-u16-asnprintf.c: New file.
33988         * lib/unistdio/u16-u16-asprintf.c: New file.
33989         * lib/unistdio/u16-u16-snprintf.c: New file.
33990         * lib/unistdio/u16-u16-sprintf.c: New file.
33991         * lib/unistdio/u16-u16-vasnprintf.c: New file.
33992         * lib/unistdio/u16-u16-vasprintf.c: New file.
33993         * lib/unistdio/u16-u16-vsnprintf.c: New file.
33994         * lib/unistdio/u16-u16-vsprintf.c: New file.
33995         * lib/unistdio/u32-asnprintf.c: New file.
33996         * lib/unistdio/u32-asprintf.c: New file.
33997         * lib/unistdio/u32-printf-parse.c: New file.
33998         * lib/unistdio/u32-snprintf.c: New file.
33999         * lib/unistdio/u32-sprintf.c: New file.
34000         * lib/unistdio/u32-vasnprintf.c: New file.
34001         * lib/unistdio/u32-vasprintf.c: New file.
34002         * lib/unistdio/u32-vsnprintf.c: New file.
34003         * lib/unistdio/u32-vsprintf.c: New file.
34004         * lib/unistdio/u32-u32-asnprintf.c: New file.
34005         * lib/unistdio/u32-u32-asprintf.c: New file.
34006         * lib/unistdio/u32-u32-snprintf.c: New file.
34007         * lib/unistdio/u32-u32-sprintf.c: New file.
34008         * lib/unistdio/u32-u32-vasnprintf.c: New file.
34009         * lib/unistdio/u32-u32-vasprintf.c: New file.
34010         * lib/unistdio/u32-u32-vsnprintf.c: New file.
34011         * lib/unistdio/u32-u32-vsprintf.c: New file.
34012         * tests/unistdio/test-ulc-asnprintf1.c: New file.
34013         * tests/unistdio/test-ulc-asnprintf1.h: New file.
34014         * tests/unistdio/test-ulc-printf1.h: New file.
34015         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
34016         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
34017         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
34018         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
34019         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
34020         * tests/unistdio/test-ulc-vasprintf1.c: New file.
34021         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
34022         * tests/unistdio/test-ulc-vsprintf1.c: New file.
34023         * tests/unistdio/test-u8-asnprintf1.c: New file.
34024         * tests/unistdio/test-u8-asnprintf1.h: New file.
34025         * tests/unistdio/test-u8-printf1.h: New file.
34026         * tests/unistdio/test-u8-vasnprintf1.c: New file.
34027         * tests/unistdio/test-u8-vasnprintf2.c: New file.
34028         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
34029         * tests/unistdio/test-u8-vasnprintf3.c: New file.
34030         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
34031         * tests/unistdio/test-u8-vasprintf1.c: New file.
34032         * tests/unistdio/test-u8-vsnprintf1.c: New file.
34033         * tests/unistdio/test-u8-vsprintf1.c: New file.
34034         * tests/unistdio/test-u16-asnprintf1.c: New file.
34035         * tests/unistdio/test-u16-asnprintf1.h: New file.
34036         * tests/unistdio/test-u16-printf1.h: New file.
34037         * tests/unistdio/test-u16-vasnprintf1.c: New file.
34038         * tests/unistdio/test-u16-vasnprintf2.c: New file.
34039         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
34040         * tests/unistdio/test-u16-vasnprintf3.c: New file.
34041         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
34042         * tests/unistdio/test-u16-vasprintf1.c: New file.
34043         * tests/unistdio/test-u16-vsnprintf1.c: New file.
34044         * tests/unistdio/test-u16-vsprintf1.c: New file.
34045         * tests/unistdio/test-u32-asnprintf1.c: New file.
34046         * tests/unistdio/test-u32-asnprintf1.h: New file.
34047         * tests/unistdio/test-u32-printf1.h: New file.
34048         * tests/unistdio/test-u32-vasnprintf1.c: New file.
34049         * tests/unistdio/test-u32-vasnprintf2.c: New file.
34050         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
34051         * tests/unistdio/test-u32-vasnprintf3.c: New file.
34052         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
34053         * tests/unistdio/test-u32-vasprintf1.c: New file.
34054         * tests/unistdio/test-u32-vsnprintf1.c: New file.
34055         * tests/unistdio/test-u32-vsprintf1.c: New file.
34056         * modules/unistdio/base: New file.
34057         * modules/unistdio/u-printf-args: New file.
34058         * modules/unistdio/ulc-asnprintf: New file.
34059         * modules/unistdio/ulc-asprintf: New file.
34060         * modules/unistdio/ulc-fprintf: New file.
34061         * modules/unistdio/ulc-printf-parse: New file.
34062         * modules/unistdio/ulc-snprintf: New file.
34063         * modules/unistdio/ulc-sprintf: New file.
34064         * modules/unistdio/ulc-vasnprintf: New file.
34065         * modules/unistdio/ulc-vasprintf: New file.
34066         * modules/unistdio/ulc-vfprintf: New file.
34067         * modules/unistdio/ulc-vsnprintf: New file.
34068         * modules/unistdio/ulc-vsprintf: New file.
34069         * modules/unistdio/u8-asnprintf: New file.
34070         * modules/unistdio/u8-asprintf: New file.
34071         * modules/unistdio/u8-printf-parse: New file.
34072         * modules/unistdio/u8-snprintf: New file.
34073         * modules/unistdio/u8-sprintf: New file.
34074         * modules/unistdio/u8-vasnprintf: New file.
34075         * modules/unistdio/u8-vasprintf: New file.
34076         * modules/unistdio/u8-vsnprintf: New file.
34077         * modules/unistdio/u8-vsprintf: New file.
34078         * modules/unistdio/u8-u8-asnprintf: New file.
34079         * modules/unistdio/u8-u8-asprintf: New file.
34080         * modules/unistdio/u8-u8-snprintf: New file.
34081         * modules/unistdio/u8-u8-sprintf: New file.
34082         * modules/unistdio/u8-u8-vasnprintf: New file.
34083         * modules/unistdio/u8-u8-vasprintf: New file.
34084         * modules/unistdio/u8-u8-vsnprintf: New file.
34085         * modules/unistdio/u8-u8-vsprintf: New file.
34086         * modules/unistdio/u16-asnprintf: New file.
34087         * modules/unistdio/u16-asprintf: New file.
34088         * modules/unistdio/u16-printf-parse: New file.
34089         * modules/unistdio/u16-snprintf: New file.
34090         * modules/unistdio/u16-sprintf: New file.
34091         * modules/unistdio/u16-vasnprintf: New file.
34092         * modules/unistdio/u16-vasprintf: New file.
34093         * modules/unistdio/u16-vsnprintf: New file.
34094         * modules/unistdio/u16-vsprintf: New file.
34095         * modules/unistdio/u16-u16-asnprintf: New file.
34096         * modules/unistdio/u16-u16-asprintf: New file.
34097         * modules/unistdio/u16-u16-snprintf: New file.
34098         * modules/unistdio/u16-u16-sprintf: New file.
34099         * modules/unistdio/u16-u16-vasnprintf: New file.
34100         * modules/unistdio/u16-u16-vasprintf: New file.
34101         * modules/unistdio/u16-u16-vsnprintf: New file.
34102         * modules/unistdio/u16-u16-vsprintf: New file.
34103         * modules/unistdio/u32-asnprintf: New file.
34104         * modules/unistdio/u32-asprintf: New file.
34105         * modules/unistdio/u32-printf-parse: New file.
34106         * modules/unistdio/u32-snprintf: New file.
34107         * modules/unistdio/u32-sprintf: New file.
34108         * modules/unistdio/u32-vasnprintf: New file.
34109         * modules/unistdio/u32-vasprintf: New file.
34110         * modules/unistdio/u32-vsnprintf: New file.
34111         * modules/unistdio/u32-vsprintf: New file.
34112         * modules/unistdio/u32-u32-asnprintf: New file.
34113         * modules/unistdio/u32-u32-asprintf: New file.
34114         * modules/unistdio/u32-u32-snprintf: New file.
34115         * modules/unistdio/u32-u32-sprintf: New file.
34116         * modules/unistdio/u32-u32-vasnprintf: New file.
34117         * modules/unistdio/u32-u32-vasprintf: New file.
34118         * modules/unistdio/u32-u32-vsnprintf: New file.
34119         * modules/unistdio/u32-u32-vsprintf: New file.
34120         * modules/unistdio/ulc-asnprintf-tests: New file.
34121         * modules/unistdio/ulc-vasnprintf-tests: New file.
34122         * modules/unistdio/ulc-vasprintf-tests: New file.
34123         * modules/unistdio/ulc-vsnprintf-tests: New file.
34124         * modules/unistdio/ulc-vsprintf-tests: New file.
34125         * modules/unistdio/u8-asnprintf-tests: New file.
34126         * modules/unistdio/u8-vasnprintf-tests: New file.
34127         * modules/unistdio/u8-vasprintf-tests: New file.
34128         * modules/unistdio/u8-vsnprintf-tests: New file.
34129         * modules/unistdio/u8-vsprintf-tests: New file.
34130         * modules/unistdio/u16-asnprintf-tests: New file.
34131         * modules/unistdio/u16-vasnprintf-tests: New file.
34132         * modules/unistdio/u16-vasprintf-tests: New file.
34133         * modules/unistdio/u16-vsnprintf-tests: New file.
34134         * modules/unistdio/u16-vsprintf-tests: New file.
34135         * modules/unistdio/u32-asnprintf-tests: New file.
34136         * modules/unistdio/u32-vasnprintf-tests: New file.
34137         * modules/unistdio/u32-vasprintf-tests: New file.
34138         * modules/unistdio/u32-vsnprintf-tests: New file.
34139         * modules/unistdio/u32-vsprintf-tests: New file.
34140         * MODULES.html.sh (Unicode string functions): Add the new modules.
34141
34142 2007-07-01  Bruno Haible  <bruno@clisp.org>
34143
34144         * lib/sprintf.c (sprintf): Limit the available length estimation,
34145         to avoid address wraparound.
34146         * lib/vsprintf.c (vsprintf): Likewise.
34147         * modules/sprintf-posix (Dependencies): Add stdint.
34148         * modules/vsprintf-posix (Dependencies): Likewise.
34149
34150 2007-07-01  Bruno Haible  <bruno@clisp.org>
34151
34152         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
34153         Windows PATH as well. Conservative double-quoting. Comments.
34154
34155 2007-07-01  Bruno Haible  <bruno@clisp.org>
34156             Eric Blake  <ebb9@byu.net>
34157             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34158
34159         * gnulib-tool (self_abspathname): Fix algorithm to cope with
34160         empty components in $PATH, denoting '.'.
34161
34162 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34163
34164         * gnulib-tool: Fix indentation.
34165         (func_create_megatestdir): Likewise.
34166         Report by Bruno Haible.
34167
34168 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34169
34170         Sync from Automake.
34171         * build-aux/gnupload: Fix shell portability issues with for loops.
34172         Report by Karl Berry.
34173
34174 2007-06-29  Simon Josefsson  <simon@josefsson.org>
34175
34176         * build-aux/maint.mk (POURL): Use translationproject.org.
34177
34178 2007-06-27  Simon Josefsson  <simon@josefsson.org>
34179             Bruno Haible  <bruno@clisp.org>
34180
34181         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
34182         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
34183         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
34184         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
34185         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
34186
34187 2007-06-27  Bruno Haible  <bruno@clisp.org>
34188
34189         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
34190         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
34191
34192 2007-06-26  Karl Berry  <karl@gnu.org>
34193
34194         * MODULES.html.sh: remove xreadlink-with-size.
34195
34196 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34197
34198         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
34199         method that I hope also handles the double-include problem noted
34200         by Bruno Haible in
34201         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
34202
34203 2007-06-23  Bruno Haible  <bruno@clisp.org>
34204
34205         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34206         Don't let the 'mostlyclean' target fail if the last subdirectory could
34207         not be removed.
34208         Reported by Karl Berry.
34209
34210 2007-06-23  Bruno Haible  <bruno@clisp.org>
34211
34212         * gnulib-tool (echo): Add a speedier workaround for ksh.
34213         * tests/test-echo.sh: Likewise.
34214
34215 2007-06-23  Bruno Haible  <bruno@clisp.org>
34216
34217         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
34218         * tests/test-echo.sh: Likewise.
34219
34220 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34221
34222         * gnulib-tool (IFS): Initialize early, so we don't set it to
34223         empty later.
34224         (self_abspathname): Rewrite algorithm to set it, reindent.
34225         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
34226         (func_create_megatestdir): Merge some sed scripts.
34227
34228 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34229
34230         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
34231         exposed by Sun Studio 11 cc on Solaris 8.
34232
34233 2007-06-22  Bruno Haible  <bruno@clisp.org>
34234
34235         * gnulib-tool (echo): Ensure the echo primitive does not interpret
34236         backslashes.
34237         * tests/test-echo.sh: New file.
34238
34239 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34240
34241         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
34242         simplify `sed_replace_build_aux' scripts, they are portable but
34243         echoing them with `echo' is not.
34244         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
34245
34246 2007-06-21  Karl Berry  <karl@gnu.org>
34247
34248         * config/srclist.txt: guess we can't handle the licenses via
34249         srclist at the moment.
34250
34251 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34252
34253         * MODULES.html.sh: Add include_next.
34254         * modules/include_next: New file.
34255
34256 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34257
34258         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
34259         INCLUDE_NEXT.
34260         (gl_CHECK_NEXT_HEADERS): New macro.
34261         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
34262         the obsolescent gl_ABSOLUTE_HEADER.
34263         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
34264         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
34265         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34266         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34267         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34268         * m4/math_h.m4 (gl_MATH_H): Likewise.
34269         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34270         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34271         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34272         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34273         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34274         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34275         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34276         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34277         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34278         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34279         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34280         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34281         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
34282         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34283         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34284         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34285         * m4/inttypes.m4 (gl_INTTYPES_H): Define
34286         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
34287         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
34288         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
34289         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
34290         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
34291         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
34292         * lib/float_.h: Likewise.
34293         * lib/inttypes_.h: Likewise.
34294         * lib/math_.h: Likewise.
34295         * lib/search_.h: Likewise.
34296         * lib/signal_.h: Likewise.
34297         * lib/stdint_.h: Likewise.
34298         * lib/stdio_.h: Likewise.
34299         * lib/stdlib_.h: Likewise.
34300         * lib/string_.h: Likewise.
34301         * lib/sys_stat_.h: Likewise.
34302         * lib/sys_time_.h: Likewise.
34303         * lib/time_.h: Likewise.
34304         * lib/unistd_.h: Likewise.
34305         * lib/wchar_.h: Likewise.
34306         * lib/wctype_.h: Likewise.
34307         * lib/dirent_.h: Likewise.
34308         * lib/iconv_.h: Likewise.
34309         * lib/locale_.h: Likewise.
34310         * lib/netinet_in_.h: Likewise.
34311         * lib/sys_select_.h: Likewise.
34312         * lib/sys_socket_.h: Likewise.
34313         * lib/sysexits_.h: Likewise.
34314         * modules/fcntl (Depends-on): Depend on include_next, not
34315         absolute_header.
34316         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
34317         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
34318         * modules/fchdir: Likewise.
34319         * modules/float: Likewise.
34320         * modules/iconv_open: Likewise.
34321         * modules/inttypes: Likewise.
34322         * modules/locale: Likewise.
34323         * modules/math: Likewise.
34324         * modules/netinet_in: Likewise.
34325         * modules/search: Likewise.
34326         * modules/signal: Likewise.
34327         * modules/stdint: Likewise.
34328         * modules/stdio: Likewise.
34329         * modules/stdlib: Likewise.
34330         * modules/string: Likewise.
34331         * modules/sys_select: Likewise.
34332         * modules/sys_socket: Likewise.
34333         * modules/sys_stat: Likewise.
34334         * modules/sys_time: Likewise.
34335         * modules/sysexits: Likewise.
34336         * modules/time: Likewise.
34337         * modules/unistd: Likewise.
34338         * modules/wchar: Likewise.
34339         * modules/wctype: Likewise.
34340         * modules/sys_stat: Change maintainer to "all".
34341         * modules/unistd: Likewise.
34342
34343 2007-06-20  Karl Berry  <karl@gnu.org>
34344
34345         * config/srclist.txt: track www changes in license files.
34346
34347 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
34348
34349         * build-aux/bootstrap: Remove stray dot.
34350         Make sure build_aux settings are honored when linking
34351         gnulib_extra_files.
34352
34353 2007-06-19  Eric Blake  <ebb9@byu.net>
34354
34355         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34356         Allow compilation on cygwin.
34357
34358 2007-06-19  Jim Meyering  <jim@meyering.net>
34359
34360         xreadlink-with-size: Remove module.  No longer used.
34361         Ex-callers now use xreadlink or mreadlink-with-size.
34362         * modules/xreadlink-with-size: Remove module.
34363         * lib/xreadlink-with-size.c: Remove file.
34364         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
34365         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
34366         just before the function definition *is* accurate.
34367
34368         Eliminate one way canonicalize_filename_mode could exit.
34369         * lib/canonicalize.c (canonicalize_filename_mode):
34370         Use mreadlink_with_size, not xreadlink_with_size.
34371
34372 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34373
34374         Detect porting problems to FreeBSD/arm, which has time_t wider than
34375         long int.  Original problem reported for GNU diff by Xin Li in
34376         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
34377         * modules/getdate (Depends-on): Add intprops, verify.
34378         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
34379         is an integer type no wider than long int.
34380
34381 2007-06-18  Jim Meyering  <jim@meyering.net>
34382
34383         New module: mreadlink-with-size.
34384         * MODULES.html.sh: Add mreadlink-with-size.
34385         * modules/mreadlink-with-size: New module
34386         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
34387         not xreadlink-with-size.
34388         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
34389
34390 2007-06-16  Bruno Haible  <bruno@clisp.org>
34391
34392         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
34393         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
34394         Reported by Gary V. Vaughan <gary@gnu.org>.
34395
34396 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34397
34398         Revamp lchown so that it lives in unistd.h where it belongs.
34399         * lib/lchown.h: Remove.
34400         * lib/dirchownmod.c: Don't include lib/lchown.h.
34401         * lib/fchownat.c: Likewise.
34402         * lib/openat.c: Likewise.
34403         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
34404         does not follow symlinks.
34405         (EOPNOTSUPP): Define if not defined.
34406         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
34407         is defined to 0.
34408         (lchown): New decl.
34409         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
34410         Do not check for lchown decl.
34411         Set REPLACE_LCHOWN.
34412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
34413         REPLACE_LCHOWN.
34414         * modules/chown: Make it clear it follows symlinks.
34415         * modules/lchown: Make it clear it doesn't follow symlinks.
34416         (Files): Remove lib/lchown.h
34417         (Depends-on): Add unistd.
34418         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
34419         (Include): Include <unistd.h>, not "lchown.h".
34420         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
34421         REPLACE_LCHOWN.
34422
34423 2007-06-15  Jim Meyering  <jim@meyering.net>
34424
34425         Change license (GPL to LGPL) of fsusage and dependents.
34426         * modules/fsusage (License): Change to LGPL.
34427         * modules/full-read (License): Likewise.
34428         * modules/full-write (License): Likewise.
34429         * modules/safe-read (License): Likewise.
34430         * modules/safe-write (License): Likewise.
34431
34432 2007-06-14  Ben Pfaff  <blp@gnu.org>
34433
34434         Missing part of allocsa -> malloca transition.
34435         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
34436         gl_MALLOCA.
34437
34438 2007-06-12  Bruno Haible  <bruno@clisp.org>
34439
34440         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
34441         to ia64, x86_64, i386.
34442         Reported by Eric Blake.
34443
34444 2007-06-12  Bruno Haible  <bruno@clisp.org>
34445
34446         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
34447         cross-compiling to x86_64.
34448
34449 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
34450
34451         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
34452         glitch reported by Ralf Wildenhues in
34453         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
34454
34455         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
34456         Vin Shelton.
34457
34458 2007-06-11  Bruno Haible  <bruno@clisp.org>
34459
34460         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
34461         replacement string.
34462         Reported by Eric Blake.
34463
34464 2007-06-10  Bruno Haible  <bruno@clisp.org>
34465
34466         Prepare vasnprintf code for use with Unicode strings.
34467         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
34468         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
34469         TYPE_U32_STRING.
34470         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
34471         a_u32_string variants.
34472         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34473         * lib/printf-args.c: Don't include config.h and the specification
34474         header if PRINTF_FETCHARGS is already defined.
34475         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34476         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
34477         TYPE_U16_STRING, TYPE_U32_STRING.
34478         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
34479         u16_directive, u16_directives, u32_directive, u32_directives): New
34480         types.
34481         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
34482         New declarations.
34483         * lib/printf-parse.c: Don't include config.h and the specification
34484         header if PRINTF_PARSE is already defined. Eliminate the set of
34485         parameters for WIDE_CHAR_VERSION; the user of this file must provide
34486         them now. Include c-ctype.h.
34487         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
34488         directive and CHAR_T_ONLY_ASCII.
34489         * lib/vasnprintf.c: Don't include config.h and the specification header
34490         if VASNPRINTF is already defined.
34491         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
34492         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
34493         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
34494         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
34495         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
34496         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
34497         code accordingly.
34498         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
34499         pad_ourselves also in this case, with the 'c' and 's' directives, and
34500         with a different notion of "width".
34501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
34502
34503 2007-06-10  Bruno Haible  <bruno@clisp.org>
34504
34505         * modules/unistr/u32-mbsnlen: New file.
34506         * lib/unistr/u32-mbsnlen.c: New file.
34507
34508         * modules/unistr/u16-mbsnlen: New file.
34509         * lib/unistr/u16-mbsnlen.c: New file.
34510
34511         * modules/unistr/u8-mbsnlen: New file.
34512         * lib/unistr/u8-mbsnlen.c: New file.
34513
34514         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
34515         declarations.
34516
34517 2007-06-10  Bruno Haible  <bruno@clisp.org>
34518
34519         * lib/string_.h (mbsnlen): New declaration.
34520         * lib/mbsnlen.c: New file.
34521         * m4/mbsnlen.m4: New file.
34522         * modules/mbsnlen: New file.
34523         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
34524         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
34525         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
34526
34527 2007-06-10  Bruno Haible  <bruno@clisp.org>
34528
34529         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
34530
34531 2007-06-10  Bruno Haible  <bruno@clisp.org>
34532
34533         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
34534         * lib/mbuiter.h: Likewise.
34535
34536 2007-06-10  Bruno Haible  <bruno@clisp.org>
34537
34538         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
34539         declaration.
34540
34541 2007-06-10  Karl Berry  <karl@gnu.org>
34542
34543         * config/srclist.txt: remove gettext entries, Bruno prefers
34544         to update individually.
34545
34546 2007-06-10  Bruno Haible  <bruno@clisp.org>
34547
34548         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
34549         'maxlen'. Ensure only length + width bytes are allocated, not
34550         length + 1 + width.
34551
34552 2007-06-09  Bruno Haible  <bruno@clisp.org>
34553
34554         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
34555         (CHAR_T): Remove macro.
34556         (VASNPRINTF): Update.
34557
34558 2007-06-09  Bruno Haible  <bruno@clisp.org>
34559
34560         * MODULES.html.sh (Unicode string functions): Add the new modules.
34561
34562         * modules/uniconv/u32-conv-to-enc: New file.
34563         * lib/uniconv/u32-conv-to-enc.c: New file.
34564         * modules/uniconv/u32-conv-to-enc-tests: New file.
34565         * tests/uniconv/test-u32-conv-to-enc.c: New file.
34566
34567         * modules/uniconv/u16-conv-to-enc: New file.
34568         * lib/uniconv/u16-conv-to-enc.c: New file.
34569         * lib/uniconv/u-conv-to-enc.h: New file.
34570         * modules/uniconv/u16-conv-to-enc-tests: New file.
34571         * tests/uniconv/test-u16-conv-to-enc.c: New file.
34572
34573         * modules/uniconv/u8-conv-to-enc: New file.
34574         * lib/uniconv/u8-conv-to-enc.c: New file.
34575         * modules/uniconv/u8-conv-to-enc-tests: New file.
34576         * tests/uniconv/test-u8-conv-to-enc.c: New file.
34577
34578         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34579         u32_conv_to_encoding): New declarations.
34580
34581 2007-06-09  Bruno Haible  <bruno@clisp.org>
34582
34583         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
34584
34585 2007-06-09  Bruno Haible  <bruno@clisp.org>
34586
34587         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
34588         * modules/malloca: Renamed from modules/allocsa, updated.
34589         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
34590         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
34591         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
34592         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
34593         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
34594         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
34595         * modules/xmalloca: Renamed from modules/xallocsa, updated.
34596         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
34597         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
34598         * modules/c-strcasestr (Depends-on): Update.
34599         * lib/c-strcasestr.c: Update.
34600         * modules/c-strstr (Depends-on): Update.
34601         * lib/c-strstr.c: Update.
34602         * modules/canonicalize-lgpl (Depends-on): Update.
34603         * lib/canonicalize-lgpl.c: Update.
34604         * modules/clean-temp (Depends-on): Update.
34605         * lib/clean-temp.c: Update.
34606         * modules/csharpcomp (Depends-on): Update.
34607         * lib/csharpcomp.c: Update.
34608         * modules/csharpexec (Depends-on): Update.
34609         * lib/csharpexec.c: Update.
34610         * modules/javacomp (Depends-on): Update.
34611         * lib/javacomp.c: Update.
34612         * modules/javaexec (Depends-on): Update.
34613         * lib/javaexec.c: Update.
34614         * modules/mbscasestr (Depends-on): Update.
34615         * lib/mbscasestr.c: Update.
34616         * modules/mbsstr (Depends-on): Update.
34617         * lib/mbsstr.c: Update.
34618         * modules/setenv (Depends-on): Update.
34619         * lib/setenv.c: Update.
34620         * modules/strcasestr (Depends-on): Update.
34621         * lib/strcasestr.c: Update.
34622         * modules/striconveha (Depends-on): Update.
34623         * lib/striconveha.c: Update.
34624         * modules/relocatable-prog-wrapper (Files): Update.
34625         * lib/relocwrapper.c: Update.
34626         * build-aux/install-reloc: Update.
34627         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
34628
34629 2007-06-08  Bruno Haible  <bruno@clisp.org>
34630
34631         Port to uClibc.
34632         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
34633         * lib/fpurge.c (fpurge): Likewise.
34634         * lib/freading.c (freading): Likewise.
34635         * lib/fseeko.c (rpl_fseeko): Likewise.
34636         * lib/fseterr.c (fseterr): Likewise.
34637         * lib/fwriting.c (fwriting): Likewise.
34638         * tests/test-fflush.c (main): Avoid a failure on uClibc.
34639
34640 2007-06-08  Bruno Haible  <bruno@clisp.org>
34641
34642         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
34643         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
34644         * modules/gettext (Files): Add m4/intlmacosx.m4.
34645
34646 2007-06-07  Bruno Haible  <bruno@clisp.org>
34647
34648         * modules/localename-tests: New file.
34649         * tests/test-localename.c: New file.
34650
34651         New module 'localename'.
34652         * lib/localename.h: New file.
34653         * lib/localename.c: New file, from GNU gettext.
34654         * m4/localename.m4: New file.
34655         * modules/localename: New file.
34656
34657 2007-06-07  Bruno Haible  <bruno@clisp.org>
34658
34659         Work around the lack of <wchar.h> on some builds of uClibc.
34660         * doc/headers/wchar.texi: Update.
34661         * lib/wchar_.h: Include <wchar.h> only if it exists.
34662         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
34663         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
34664         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
34665         doesn't exist.
34666         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
34667         * modules/mbfile (Depends-on): Add wchar.
34668         * modules/mbiter (Depends-on): Likewise.
34669         * modules/mbuiter (Depends-on): Likewise.
34670         Reported by Simon Josefsson.
34671
34672 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
34673
34674         Work around problem reported by Steven M. Schweda in
34675         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
34676         Tru64 5.1B with the Compaq compiler environment installed declares
34677         an 'isblank' function but does not define it in the C library.
34678         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
34679         * lib/regex_internal.h (isblank): Likewise.
34680         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
34681         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34682
34683 2007-06-05  Bruno Haible  <bruno@clisp.org>
34684
34685         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
34686         ia64.
34687         * modules/printf-safe: New file.
34688         * modules/fprintf-posix (Depends-on): Add printf-safe.
34689         * modules/printf-posix (Depends-on): Likewise.
34690         * modules/snprintf-posix (Depends-on): Likewise.
34691         * modules/sprintf-posix (Depends-on): Likewise.
34692         * modules/vasnprintf-posix (Depends-on): Likewise.
34693         * modules/vasprintf-posix (Depends-on): Likewise.
34694         * modules/vfprintf-posix (Depends-on): Likewise.
34695         * modules/vprintf-posix (Depends-on): Likewise.
34696         * modules/vsnprintf-posix (Depends-on): Likewise.
34697         * modules/vsprintf-posix (Depends-on): Likewise.
34698         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
34699         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
34700         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
34701         "no" on i386, x86_64, ia64.
34702         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
34703         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34704         on i386, x86_64, ia64.
34705         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
34706         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34707         on i386, x86_64, ia64.
34708         * tests/test-vasnprintf-posix.c: Include float.h.
34709         (LDBL80_WORDS): New macro.
34710         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34711         on i386, x86_64, ia64.
34712         * tests/test-vasprintf-posix.c: Include float.h.
34713         (LDBL80_WORDS): New macro.
34714         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34715         on i386, x86_64, ia64.
34716         * tests/test-snprintf-posix.c: Include float.h.
34717         * tests/test-sprintf-posix.c: Likewise.
34718         * tests/test-vsnprintf-posix.c: Likewise.
34719         * tests/test-vsprintf-posix.c: Likewise.
34720
34721 2007-06-05  Bruno Haible  <bruno@clisp.org>
34722
34723         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
34724         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
34725         non-IEEE numbers on i386, x86_64, ia64.
34726         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
34727         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
34728         * tests/test-isnanl.h: Include float.h.
34729         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
34730
34731 2007-06-05  Bruno Haible  <bruno@clisp.org>
34732
34733         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
34734         also the %a / %A. Handle the %a / %A code before this extra handling.
34735
34736 2007-06-05  Bruno Haible  <bruno@clisp.org>
34737
34738         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
34739         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
34740
34741 2007-06-05  Bruno Haible  <bruno@clisp.org>
34742
34743         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
34744         typo in variable name.
34745
34746 2007-06-05  Eric Blake  <ebb9@byu.net>
34747
34748         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
34749         Reported by Simon Josefsson.
34750
34751 2007-06-04  Bruno Haible  <bruno@clisp.org>
34752
34753         Avoid test failures on some PowerPC platforms.
34754         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
34755         Define differently for PowerPC.
34756         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
34757         Reported by Gary V. Vaughan <gary@gnu.org>.
34758
34759 2007-06-02  Bruno Haible  <bruno@clisp.org>
34760
34761         Fix test-stdint failure on FreeBSD/ia64.
34762         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
34763         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
34764         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
34765         * doc/headers/stdint.texi: Update.
34766
34767 2007-06-01  Bruno Haible  <bruno@clisp.org>
34768
34769         * tests/test-binary-io.c (main): Pass a third argument to open().
34770         Reported by Gary V. Vaughan <gary@gnu.org>.
34771
34772 2007-06-01  Bruno Haible  <bruno@clisp.org>
34773
34774         * doc/functions/frexpl.texi: Update for mingw.
34775
34776 2007-06-01  Bruno Haible  <bruno@clisp.org>
34777
34778         * tests/test-lseek.c (main): Disable test of errno for invalid third
34779         argument.
34780         * doc/functions/lseek.texi: Update.
34781         Reported by Gary V. Vaughan <gary@gnu.org>.
34782
34783 2007-05-28  Bruno Haible  <bruno@clisp.org>
34784
34785         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
34786
34787 2007-05-31  Eric Blake  <ebb9@byu.net>
34788
34789         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
34790         cross compiling.
34791
34792 2007-05-30  Eric Blake  <ebb9@byu.net>
34793         and Bruno Haible  <bruno@clisp.org>
34794
34795         Work around mingw test failures exposed by m4-1.4.9b.
34796         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
34797         * tests/test-unistd.c: Disable uid_t and git_t tests for the
34798         moment.
34799
34800 2007-05-30  Bruno Haible  <bruno@clisp.org>
34801
34802         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
34803         assuming that they are closed. Needed on HP-UX 11.
34804
34805 2007-05-29  Bruno Haible  <bruno@clisp.org>
34806
34807         Fix a problem with #include_next.
34808         * lib/dirent_.h: Split the double-inclusion guard.
34809         * lib/fcntl_.h: Likewise.
34810         * lib/float_.h: Likewise.
34811         * lib/iconv_.h: Likewise.
34812         * lib/inttypes_.h: Likewise.
34813         * lib/locale_.h: Likewise.
34814         * lib/math_.h: Likewise.
34815         * lib/netinet_in_.h: Likewise.
34816         * lib/search_.h: Likewise.
34817         * lib/signal_.h: Likewise.
34818         * lib/stdint_.h: Likewise.
34819         * lib/stdio_.h: Likewise.
34820         * lib/stdlib_.h: Likewise.
34821         * lib/string_.h: Likewise.
34822         * lib/sys_select_.h: Likewise.
34823         * lib/sys_socket_.h: Likewise.
34824         * lib/sys_stat_.h: Likewise.
34825         * lib/sys_time_.h: Likewise.
34826         * lib/sysexits_.h: Likewise.
34827         * lib/time_.h: Likewise.
34828         * lib/unistd_.h: Likewise.
34829         * lib/wchar_.h: Likewise.
34830         * lib/wctype_.h: Likewise.
34831
34832 2007-05-29  Bruno Haible  <bruno@clisp.org>
34833
34834         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
34835         for the moment.
34836
34837 2007-05-29  Bruno Haible  <bruno@clisp.org>
34838
34839         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
34840         invocation.
34841         Reported by Eric Blake.
34842
34843 2007-05-29  Bruno Haible  <bruno@clisp.org>
34844
34845         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
34846         compiling case.
34847
34848 2007-05-29  Eric Blake  <ebb9@byu.net>
34849             Bruno Haible  <bruno@clisp.org>
34850
34851         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
34852         cross compiles.
34853
34854 2007-05-28  Eric Blake  <ebb9@byu.net>
34855
34856         * modules/closein-tests (test_closein_LDADD): Support test on
34857         cygwin with libtool.
34858
34859 2007-05-28  Bruno Haible  <bruno@clisp.org>
34860
34861         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
34862         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34863         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34864         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34865         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34866         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34867         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34868         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34869         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34870
34871 2007-05-28  Eric Blake  <ebb9@byu.net>
34872
34873         Unconditionally include <config.h> in unit tests.
34874         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
34875         * tests/test-allocsa.c, tests/test-arcfour.c,
34876         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
34877         tests/test-array_list.c, tests/test-array_oset.c,
34878         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
34879         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
34880         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
34881         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
34882         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
34883         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
34884         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
34885         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
34886         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
34887         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
34888         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
34889         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
34890         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
34891         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
34892         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
34893         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
34894         test-md5.c, test-memmem.c, test-printf-posix.c,
34895         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
34896         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
34897         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
34898         test-strcasestr.c, test-striconv.c, test-striconveh.c,
34899         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
34900         test-vasnprintf-posix2.c, test-vasnprintf.c,
34901         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
34902         test-vfprintf-posix.c, test-vprintf-posix.c,
34903         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
34904         test-xvasprintf.c: Likewise.
34905
34906 2007-05-28  Bruno Haible  <bruno@clisp.org>
34907
34908         * gnulib-tool (func_import): Remember the --with-tests command-line
34909         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
34910         Reported by Eric Blake.
34911
34912 2007-05-28  Bruno Haible  <bruno@clisp.org>
34913
34914         * modules/ftell-tests: New file.
34915         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
34916         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
34917
34918         * lib/ftell.c: New file.
34919         * modules/ftell: New file.
34920         * m4/ftell.m4: New file.
34921         * doc/functions/ftell.texi: Update.
34922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
34923         REPLACE_FTELL.
34924         * lib/stdio_.h (rpl_ftell): New declaration.
34925         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
34926         REPLACE_FTELL.
34927
34928 2007-05-28  Eric Blake  <ebb9@byu.net>
34929
34930         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
34931
34932 2007-05-28  Bruno Haible  <bruno@clisp.org>
34933
34934         * modules/fseek-tests: New file.
34935         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
34936         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
34937
34938         * lib/fseek.c: New file.
34939         * modules/fseek: New file.
34940         * m4/fseek.m4: New file.
34941         * doc/functions/fseek.texi: Update.
34942         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
34943         REPLACE_FSEEK.
34944         * lib/stdio_.h (rpl_fseek): New declaration.
34945         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
34946         REPLACE_FSEEK.
34947
34948 2007-05-28  Bruno Haible  <bruno@clisp.org>
34949
34950         * lib/stdio_.h (fflush): More comments.
34951
34952 2007-05-28  Bruno Haible  <bruno@clisp.org>
34953
34954         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
34955         runtime test.
34956
34957 2007-05-28  Eric Blake  <ebb9@byu.net>
34958
34959         Improve lseek module.
34960         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
34961         * lib/unistd_.h (lseek): Scale back link warning message.
34962         * tests/test-lseek.c: Beef up test.
34963         * tests/test-lseek.sh: Exercise more facets of lseek.
34964         Reported by Bruno Haible.
34965
34966 2007-05-28  Bruno Haible  <bruno@clisp.org>
34967
34968         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
34969         to define.
34970
34971 2007-05-27  Bruno Haible  <bruno@clisp.org>
34972
34973         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
34974
34975 2007-05-27  Bruno Haible  <bruno@clisp.org>
34976
34977         * modules/openmp: New file.
34978         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
34979         Noah Misch.
34980
34981 2007-05-26  Bruno Haible  <bruno@clisp.org>
34982
34983         * modules/chdir-long (Depends-on): Add fchdir.
34984         * modules/chdir-safer (Depends-on): Likewise.
34985         * modules/fts (Depends-on): Likewise.
34986         * modules/fts-lgpl (Depends-on): Likewise.
34987         * modules/openat (Depends-on): Likewise.
34988         * modules/savewd (Depends-on): Likewise.
34989
34990 2007-05-24  Eric Blake  <ebb9@byu.net>
34991
34992         Fix lseek on mingw.
34993         * modules/lseek: New module.
34994         * m4/lseek.m4: New file.
34995         * lib/lseek.c: New file.
34996         * modules/lseek-tests: New file.
34997         * tests/test-lseek.c: New file.
34998         * tests/test-lseek.sh: New file.
34999         * MODULES.html.sh: Document lseek module.
35000         * modules/fflush (Depends-on): Add lseek, fseeko.
35001         * modules/fseeko (Depends-on): Likewise.
35002         * modules/ftello (Depends-on): Likewise.
35003         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
35004         broken.
35005         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
35006         broken.
35007         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
35008         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
35009         * lib/ftello.c (rpl_ftello): Likewise.
35010         * tests/test-fseeko.c (main): Test this.
35011         * tests/test-fseeko.sh: Likewise.
35012         * tests/test-ftello.c (main): Likewise.
35013         * tests/test-ftello.sh: Likewise.
35014         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
35015         implies replacing fseek.
35016         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
35017         HAVE_FTELLO.
35018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
35019         * modules/unistd (Makefile.am): Likewise.
35020         * lib/unistd_.h (lseek): Declare a replacement.
35021         * doc/functions/lseek.texi (lseek): Document this fix.
35022         * doc/functions/fseek.texi (fseek): Likewise.
35023         * doc/functions/ftell.texi (ftell): Likewise.
35024
35025 2007-05-24  Bruno Haible  <bruno@clisp.org>
35026
35027         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
35028         in the printed representation of a NaN.
35029         * tests/test-vasprintf-posix.c (test_function): Likewise.
35030         * tests/test-snprintf-posix.h (test_function): Likewise.
35031         * tests/test-sprintf-posix.h (test_function): Likewise.
35032         Reported by Eric Blake.
35033
35034 2007-05-23  Eric Blake  <ebb9@byu.net>
35035
35036         Fix fseeko/ftello on cygwin 1.5.24.
35037         * doc/functions/fseeko.texi (fseeko): Document the fix.
35038         * doc/functions/ftello.texi (ftello): Document the fix.
35039         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
35040         * doc/functions/stdout.text (stdout): New file.
35041         * doc/functions/stderr.text (stderr): New file.
35042         * doc/gnulib.texi (Function Substitutes): Use new files.
35043         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
35044         prior to 1.7.0.
35045         * tests/test-ftello.c (main): Likewise for ftello.
35046         * tests/test-fseeko.sh: New file.
35047         * tests/test-ftello.sh: New file.
35048         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
35049         with seekable stdin.
35050         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
35051         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
35052         (gl_REPLACE_FSEEKO): New macro.
35053         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
35054         * modules/fseeko (Files): Distribute fseeko.c.
35055         * modules/ftello (Files): Distribute ftello.c.
35056         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
35057         mode.
35058         * lib/ftello.c (rpl_ftello): New file.
35059         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
35060         fseeko, ftello.
35061         (gl_STDIN_LARGE_OFFSET): New macro.
35062         * modules/stdio (Makefile.am): Perform the replacement.
35063         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
35064
35065 2007-05-23  Bruno Haible  <bruno@clisp.org>
35066
35067         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
35068         GNULIB_POSIXCHECK is defined.
35069
35070 2007-05-21  Bruno Haible  <bruno@clisp.org>
35071
35072         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
35073         Check also the output for NaN arguments. When cross-compiling, guess
35074         no on IRIX.
35075         * lib/vasnprintf.c: Update comments.
35076         * tests/test-vasnprintf-posix.c (strisnan): New function.
35077         (test_function): Use it.
35078         * tests/test-vasprintf-posix.c (strisnan): New function.
35079         (test_function): Use it.
35080         * tests/test-snprintf-posix.h (strisnan): New function.
35081         (test_function): Use it.
35082         * tests/test-sprintf-posix.h (strisnan): New function.
35083         (test_function): Use it.
35084         Reported by Eric Blake.
35085
35086 2007-05-20  Bruno Haible  <bruno@clisp.org>
35087
35088         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
35089         numbers that fails on BeOS.
35090         * doc/functions/frexpl.texi: Update.
35091
35092 2007-05-20  Jim Meyering  <jim@meyering.net>
35093
35094         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
35095         forced upon us by glibc-2.6.
35096
35097 2007-05-20  Bruno Haible  <bruno@clisp.org>
35098
35099         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
35100         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
35101         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
35102         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
35103         NEED_PRINTF_INFINITE.
35104         (is_infinitel): New function.
35105         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
35106         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
35107         gl_PREREQ_VASNPRINTF_INFINITE.
35108         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
35109         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35110         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
35111         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
35112         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
35113         gl_PREREQ_VASNPRINTF_INFINITE.
35114         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35117         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35118         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35119         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35121         * doc/functions/fprintf.texi: Update.
35122         * doc/functions/printf.texi: Update.
35123         * doc/functions/snprintf.texi: Update.
35124         * doc/functions/sprintf.texi: Update.
35125         * doc/functions/vfprintf.texi: Update.
35126         * doc/functions/vprintf.texi: Update.
35127         * doc/functions/vsnprintf.texi: Update.
35128         * doc/functions/vsprintf.texi: Update.
35129
35130 2007-05-20  Bruno Haible  <bruno@clisp.org>
35131
35132         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
35133         was not found in libc.
35134         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
35135
35136 2007-05-20  Bruno Haible  <bruno@clisp.org>
35137
35138         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35139         printed as "-nan" instead of "nan".
35140         * tests/test-vasprintf-posix.c (test_function): Likewise.
35141         * tests/test-snprintf-posix.h (test_function): Likewise.
35142         * tests/test-sprintf-posix.h (test_function): Likewise.
35143         Needed for HP-UX 11.
35144
35145 2007-05-20  Jim Meyering  <jim@meyering.net>
35146
35147         Fix buggy test for the fchownat-deref bug.
35148         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
35149         symlink required for the run-test.  Without it, this test would
35150         always declare that fchownat doesn't work, and client code would
35151         unnecessarily use the replacement function with fixed libc.
35152         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
35153         Reported by Greg Schafer.
35154
35155 2007-05-19  Bruno Haible  <bruno@clisp.org>
35156
35157         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
35158         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
35159         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
35160         Needed for IRIX 6.5 and Solaris 2.5.1.
35161
35162 2007-05-19  Bruno Haible  <bruno@clisp.org>
35163
35164         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
35165         (test_function): Skip tests involving -0.0 on platforms where
35166         -0.0 = 0.0.
35167         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
35168         (test_function): Skip tests involving -0.0 on platforms where
35169         -0.0 = 0.0.
35170         * tests/test-snprintf-posix.h (have_minus_zero): New function.
35171         (test_function): Skip tests involving -0.0 on platforms where
35172         -0.0 = 0.0.
35173         * tests/test-sprintf-posix.h (have_minus_zero): New function.
35174         (test_function): Skip tests involving -0.0 on platforms where
35175         -0.0 = 0.0.
35176         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
35177         tests.
35178         * tests/test-printf-posix.h (test_function): Likewise.
35179         * tests/test-printf-posix.output: Remove all -0.0 related results.
35180         Needed for IRIX 6.5.
35181
35182 2007-05-19  Bruno Haible  <bruno@clisp.org>
35183
35184         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
35185         printed as "nan0x7fffffff" instead of "nan".
35186         * tests/test-vasprintf-posix.c (test_function): Likewise.
35187         * tests/test-snprintf-posix.h (test_function): Likewise.
35188         * tests/test-sprintf-posix.h (test_function): Likewise.
35189         * tests/test-fprintf-posix.h (NaN): Remove macro.
35190         (test_function): Remove all NaN related tests.
35191         * tests/test-printf-posix.h (NaN): Remove macro.
35192         (test_function): Remove all NaN related tests.
35193         * tests/test-printf-posix.output: Remove all NaN related results.
35194         Needed for IRIX 6.5.
35195
35196 2007-05-19  Bruno Haible  <bruno@clisp.org>
35197
35198         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
35199         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
35200
35201 2007-05-19  Bruno Haible  <bruno@clisp.org>
35202
35203         * lib/float_.h: New file.
35204         * m4/float_h.m4: New file.
35205         * modules/float: New file.
35206         * modules/isnanl (Dependencies): Add float.
35207         * modules/isnanl-nolibm (Dependencies): Likewise.
35208         * modules/mathl (Dependencies): Likewise.
35209         * modules/printf-frexpl (Dependencies): Likewise.
35210         * modules/signbit (Dependencies): Likewise.
35211         * modules/vasnprintf (Dependencies): Likewise.
35212         * doc/headers/float.texi: Update.
35213
35214 2007-05-19  Jim Meyering  <jim@meyering.net>
35215
35216         * lib/utimens.c (gl_futimens): Rename from futimens,
35217         now that glibc-2.6 declares futimens.
35218         * lib/utimens.h: Likewise.
35219
35220 2007-05-19  Bruno Haible  <bruno@clisp.org>
35221
35222         Avoid test failures on mingw.
35223         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
35224         * tests/test-printf-posix.sh: Likewise.
35225         * tests/test-vfprintf-posix.sh: Likewise.
35226         * tests/test-vprintf-posix.sh: Likewise.
35227
35228 2007-05-19  Bruno Haible  <bruno@clisp.org>
35229
35230         Fix *printf result for NaN, Inf, -0.0 on mingw.
35231         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
35232         * lib/vasnprintf.c: Include math.h and isnan.h.
35233         (is_infinite_or_zero): New function.
35234         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
35235         values in the %f, %F, %e, %E, %g, %G directives.
35236         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
35237         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35238         gl_PRINTF_INFINITE and test its result. Invoke
35239         gl_PREREQ_VASNPRINTF_INFINITE.
35240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35241         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35242         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35243         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35244         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35245         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35246         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35247         * doc/functions/fprintf.texi: Update.
35248         * doc/functions/printf.texi: Update.
35249         * doc/functions/snprintf.texi: Update.
35250         * doc/functions/sprintf.texi: Update.
35251         * doc/functions/vfprintf.texi: Update.
35252         * doc/functions/vprintf.texi: Update.
35253         * doc/functions/vsnprintf.texi: Update.
35254         * doc/functions/vsprintf.texi: Update.
35255
35256 2007-05-19  Bruno Haible  <bruno@clisp.org>
35257
35258         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
35259         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
35260         Instead of multiplying with 10^k, set extra_zeroes to k.
35261         (scale10_round_long_double): Remove function.
35262
35263 2007-05-18  Bruno Haible  <bruno@clisp.org>
35264
35265         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
35266         introduced on 2007-05-06.
35267
35268 2007-05-18  Bruno Haible  <bruno@clisp.org>
35269
35270         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
35271         %g directives.
35272         * tests/test-vasprintf-posix.c (test_function): Likewise.
35273         * tests/test-snprintf-posix.h (test_function): Likewise.
35274         * tests/test-sprintf-posix.h (test_function): Likewise.
35275
35276 2007-05-18  Bruno Haible  <bruno@clisp.org>
35277
35278         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
35279         (strmatch): New function.
35280         (test_function): Test the %f directive on numbers of various exponents.
35281         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
35282         (strmatch): New function.
35283         (test_function): Test the %f directive on numbers of various exponents.
35284         * tests/test-snprintf-posix.h (strmatch): New function.
35285         (test_function): Test the %f directive on numbers of various exponents.
35286         * tests/test-sprintf-posix.h (strmatch): New function.
35287         (test_function): Test the %f directive on numbers of various exponents.
35288         * tests/test-snprintf-posix.c (SIZEOF): New macro.
35289         * tests/test-sprintf-posix.c (SIZEOF): New macro.
35290         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
35291         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
35292
35293 2007-05-18  Bruno Haible  <bruno@clisp.org>
35294
35295         Add support for 'long double' number output.
35296         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
35297         * lib/vasnprintf.c: Include math.h and float+.h.
35298         (mp_limb_t): New type.
35299         (GMP_LIMB_BITS): New macro.
35300         (mp_twolimb_t): New type.
35301         (GMP_TWOLIMB_BITS): New macro.
35302         (mpn_t): New type.
35303         (multiply, divide, convert_to_decimal, decode_long_double,
35304         scale10_round_long_double, scale10_round_decimal_long_double,
35305         floorlog10l): New functions.
35306         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
35307         for the %f, %F, %e, %E, %g, %G directives.
35308         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
35309         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35310         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
35311         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
35312         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35313         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35314         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35315         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35316         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35317         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35318         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35319         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
35320         * modules/snprintf-posix (Depends-on): Likewise.
35321         * modules/sprintf-posix (Depends-on): Likewise.
35322         * modules/vasnprintf-posix (Depends-on): Likewise.
35323         * modules/vasprintf-posix (Depends-on): Likewise.
35324         * modules/vfprintf-posix (Depends-on): Likewise.
35325         * modules/vsnprintf-posix (Depends-on): Likewise.
35326         * modules/vsprintf-posix (Depends-on): Likewise.
35327         * modules/vasnprintf (Files): Add lib/float+.h.
35328         * doc/functions/fprintf.texi: Update.
35329         * doc/functions/printf.texi: Update.
35330         * doc/functions/snprintf.texi: Update.
35331         * doc/functions/sprintf.texi: Update.
35332         * doc/functions/vfprintf.texi: Update.
35333         * doc/functions/vprintf.texi: Update.
35334         * doc/functions/vsnprintf.texi: Update.
35335         * doc/functions/vsprintf.texi: Update.
35336
35337 2007-05-18  Bruno Haible  <bruno@clisp.org>
35338
35339         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
35340
35341 2007-05-18  Bruno Haible  <bruno@clisp.org>
35342
35343         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
35344         for printing 64-bit integers. Needed for mingw.
35345
35346 2007-05-18  Bruno Haible  <bruno@clisp.org>
35347
35348         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
35349         gl_FUNC_FREXPL_WORKS.
35350         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
35351
35352 2007-05-18  Bruno Haible  <bruno@clisp.org>
35353
35354         * modules/frexpl-nolibm-tests: New file.
35355
35356         * modules/frexpl-nolibm: New file.
35357         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
35358
35359 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35360
35361         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
35362         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35363         GCC 4.2, which otherwise issues a lot of warnings.
35364         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
35365         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
35366         Likewise.
35367         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
35368         * modules/iconv_open (iconv.h): Likewise.
35369         * modules/locale (locale.h): Likewise.
35370         * modules/netinet_in (netinet/in.h): Likewise.
35371         * modules/sys_select (sys_select.h): Likewise.
35372         * modules/sys_socket (sys/socket.h): Likewise.
35373         * modules/sys_stat (sys/stat.h): Likewise.
35374         * modules/sysexits (sysexits.h): Likewise.
35375         * modules/unistd (unistd.h): Likewise.
35376
35377 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35378
35379         * modules/closein-tests (Makefile.am): Distribute
35380         `test-closein.sh'.
35381
35382 2007-05-17  Bruno Haible  <bruno@clisp.org>
35383
35384         * tests/test-printf-posix.output: Renamed from
35385         tests/test-fprintf-posix.out.
35386         * modules/fprintf-posix-tests: Update.
35387         * modules/printf-posix-tests: Update.
35388         * modules/vfprintf-posix-tests: Update.
35389         * modules/vprintf-posix-tests: Update.
35390         * tests/test-fprintf-posix.sh: Update.
35391         * tests/test-printf-posix.sh: Update.
35392         * tests/test-vfprintf-posix.sh: Update.
35393         * tests/test-vprintf-posix.sh: Update.
35394         Reported by Ralf Wildenhues.
35395
35396 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
35397
35398         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
35399         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35400         GCC 4.2, which otherwise issues a lot of warnings.
35401         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
35402         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
35403         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
35404         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
35405         it should no longer be needed.
35406         * lib/string_.h: Likewise.
35407         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
35408         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
35409         * modules/inttypes (inttypes.h): Likewise.
35410         * modules/math (math.h): Likewise.
35411         * modules/search (search.h): Likewise.
35412         * modules/signal (signal.h): Likewise.
35413         * modules/stdint (stdint.h): Likewise.
35414         * modules/stdio (stdio.h): Likewise.
35415         * modules/stdlib (stdlib.h): Likewise.
35416         * modules/string (string.h): Likewise.
35417         * modules/sys_time (sys/time.h): Likewise.
35418         * modules/time (time.h): Likewise.
35419         * modules/wchar (wchar.h): Likewise.
35420         * modules/wctype (wtype.h): Likewise.
35421
35422 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35423
35424         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
35425
35426 2007-05-13  Bruno Haible  <bruno@clisp.org>
35427
35428         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
35429         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35430         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
35431         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35432         (gl_PREREQ_STRTOK_R): Don't require it here.
35433
35434 2007-05-13  Bruno Haible  <bruno@clisp.org>
35435
35436         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
35437         when used in C++ mode.
35438
35439 2007-05-12  Bruno Haible  <bruno@clisp.org>
35440
35441         * lib/linebuffer.h: Tweak doc.
35442         * lib/linebuffer.c: Likewise.
35443
35444 2007-05-12  James Youngman  <jay@gnu.org>
35445
35446         * lib/linebuffer.c (readlinebuffer_delim): New function,
35447         like readlinebuffer, but use a caller-specified delimiter.
35448         (readlinebuffer): Just call readlinebuffer_delim with '\n'
35449         as the delimiter.
35450         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
35451
35452 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35453
35454         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
35455         * modules/openat (Files): Remove openat-die.c.
35456         (Depends-on): Add openat-die.
35457         * modules/openat-die: New module.
35458
35459 2007-05-06  Bruno Haible  <bruno@clisp.org>
35460
35461         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
35462         Update with info about Cygwin.
35463         * doc/functions/fprintf.texi: Update.
35464         * doc/functions/printf.texi: Update.
35465         * doc/functions/snprintf.texi: Update.
35466         * doc/functions/sprintf.texi: Update.
35467         * doc/functions/vfprintf.texi: Update.
35468         * doc/functions/vprintf.texi: Update.
35469         * doc/functions/vsnprintf.texi: Update.
35470         * doc/functions/vsprintf.texi: Update.
35471         Reported by Eric Blake.
35472
35473 2007-05-06  Bruno Haible  <bruno@clisp.org>
35474
35475         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
35476         padding ourselves for the floating-point directives.
35477         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
35478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
35479         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35480         gl_PRINTF_FLAG_ZERO and test its result. Invoke
35481         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
35482         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35483         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35484         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35485         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35486         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35487         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35489         * tests/test-snprintf-posix.h (test_function): Also check the width
35490         and some flags in the %f directive.
35491         * tests/test-sprintf-posix.h (test_function): Likewise.
35492         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35493         * tests/test-vasprintf-posix.c (test_function): Likewise.
35494         * doc/functions/fprintf.texi: Update.
35495         * doc/functions/printf.texi: Update.
35496         * doc/functions/snprintf.texi: Update.
35497         * doc/functions/sprintf.texi: Update.
35498         * doc/functions/vfprintf.texi: Update.
35499         * doc/functions/vprintf.texi: Update.
35500         * doc/functions/vsnprintf.texi: Update.
35501         * doc/functions/vsprintf.texi: Update.
35502
35503 2007-05-06  Bruno Haible  <bruno@clisp.org>
35504
35505         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
35506         pass the ' flag character to sprintf or snprintf.
35507         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
35508         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
35509         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35510         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
35511         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
35512         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35513         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35514         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35515         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35516         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35517         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35518         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35519         * tests/test-snprintf-posix.h (test_function): Also check the grouping
35520         flag.
35521         * tests/test-sprintf-posix.h (test_function): Likewise.
35522         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35523         * tests/test-vasprintf-posix.c (test_function): Likewise.
35524         * doc/functions/fprintf.texi: Update.
35525         * doc/functions/printf.texi: Update.
35526         * doc/functions/snprintf.texi: Update.
35527         * doc/functions/sprintf.texi: Update.
35528         * doc/functions/vfprintf.texi: Update.
35529         * doc/functions/vprintf.texi: Update.
35530         * doc/functions/vsnprintf.texi: Update.
35531         * doc/functions/vsprintf.texi: Update.
35532
35533 2007-05-01  Bruno Haible  <bruno@clisp.org>
35534
35535         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
35536
35537 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
35538
35539         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
35540         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
35541
35542 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35543
35544         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
35545         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
35546         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
35547
35548 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
35549
35550         * lib/argp-help.c (struct hol_entry): New member `ord'.
35551         (HOL_ENTRY_PTRCMP): Use ord for comparison
35552         (hol_sort): Initialize ord.
35553
35554 2007-05-01  Bruno Haible  <bruno@clisp.org>
35555
35556         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
35557         Reported by Eric Blake.
35558         * doc/gnulib.texi (Function Substitutes): Update.
35559
35560 2007-05-01  Bruno Haible  <bruno@clisp.org>
35561
35562         * doc/functions.texi: Remove file, now redundant through
35563         doc/functions/*.texi.
35564
35565 2007-05-01  Bruno Haible  <bruno@clisp.org>
35566
35567         * modules/argp (Depends-on): Add sleep.
35568
35569 2007-05-01  Bruno Haible  <bruno@clisp.org>
35570
35571         * modules/sleep-tests: New file.
35572         * tests/test-sleep.c: New file.
35573
35574         * modules/sleep: New file.
35575         * lib/sleep.c: New file.
35576         * m4/sleep.m4: New file.
35577         * lib/unistd_.h (sleep): New declaration.
35578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
35579         HAVE_SLEEP.
35580         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
35581         * doc/functions/sleep.texi: Document the sleep module.
35582
35583 2007-05-01  Bruno Haible  <bruno@clisp.org>
35584
35585         * lib/sigprocmask.h: Remove file.
35586         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
35587         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
35588         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
35589         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
35590         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35591         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
35592         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
35593         HAVE_SIGSET_T as a shell variable.
35594         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
35595         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
35596         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
35597         (Depends-on): Add signal. Remove verify.
35598         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
35599         (Include): Mention <signal.h> instead of sigprocmask.h.
35600         * NEWS: Mention the change.
35601         * lib/fatal-signal.c: Don't include sigprocmask.h.
35602
35603 2007-05-01  Bruno Haible  <bruno@clisp.org>
35604
35605         * modules/signal: New file.
35606         * lib/signal_.h: New file.
35607         * m4/signal_h.m4: New file.
35608
35609 2007-05-01  Bruno Haible  <bruno@clisp.org>
35610
35611         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
35612         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
35613         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
35614         HAVE_WCTYPE_CTMP_BUG into wctype.h.
35615
35616 2007-05-01  Bruno Haible  <bruno@clisp.org>
35617
35618         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
35619         configure time.
35620         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
35621         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
35622         * modules/sys_stat (Makefile.am): Substitute their values into
35623         sys/stat.h.
35624
35625 2007-05-01  Bruno Haible  <bruno@clisp.org>
35626
35627         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
35628         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
35629         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
35630
35631 2007-05-01  Bruno Haible  <bruno@clisp.org>
35632
35633         * doc/header/assert.texi: Undo last change: don't mention the gnulib
35634         'assert' module here.
35635
35636 2007-05-01  Bruno Haible  <bruno@clisp.org>
35637
35638         * doc/functions/*.texi: New files.
35639         * doc/functions/google-ranking.txt: New file.
35640         * doc/gnulib.texi (Function Substitutes): New chapter.
35641         (ctime, inet_ntoa): Remove sections.
35642         * doc/ctime.texi: Remove file.
35643         * doc/inet_ntoa.texi: Remove file.
35644         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
35645         dependencies.
35646         (%.info): New rule, specifying a --reference-limit.
35647
35648 2007-05-01  Bruno Haible  <bruno@clisp.org>
35649
35650         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
35651
35652 2007-05-01  Bruno Haible  <bruno@clisp.org>
35653
35654         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
35655         the portability of 'mkdir' to mingw systems.
35656
35657 2007-05-01  Bruno Haible  <bruno@clisp.org>
35658
35659         * doc/headers/google-ranking.txt: New file.
35660
35661 2007-04-30  Eric Blake  <ebb9@byu.net>
35662
35663         Prefer fseeko to fseek.
35664         * modules/getpass (Depends-on): Add fseeko.
35665         * lib/getpass.c (getpass): Use fseeko, not fseek.
35666
35667 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
35668
35669         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
35670         assumes the sorting is stable, while most qsort implementations
35671         are not.  Use argument addresses to ensure they never compare as
35672         equal.
35673
35674         * tests/test-argp-2.sh (usage-indent test): Fix output
35675         (func_compare): Restore diff options
35676         * tests/test-argp.c: Restore #include "progname.h"
35677
35678 2007-04-29  Bruno Haible  <bruno@clisp.org>
35679
35680         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
35681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35682         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
35683         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35684         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
35685         (configure.ac): Define CHECK_SNPRINTF_POSIX.
35686         (TESTS, check_PROGRAMS): Add test-snprintf.
35687         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
35688         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
35689         (TESTS, check_PROGRAMS): Add test-vsnprintf.
35690         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
35691         assertions that fail on HP-UX, OSF/1, or IRIX.
35692         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
35693
35694 2007-04-29  Bruno Haible  <bruno@clisp.org>
35695
35696         * MODULES.html.sh (posix_functions): Remove 'contents'.
35697
35698 2007-04-29  Karl Berry  <karl@gnu.org>
35699
35700         * config/srclist.txt (gendocs_template_min): new entry.
35701
35702 2007-04-29  Bruno Haible  <bruno@clisp.org>
35703
35704         Work around fpurge bug on BSD systems.
35705         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
35706         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
35707         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
35708         fpurge to rpl_fpurge if the system already has this function.
35709         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
35710         the case where the system already has this function. Correct invariants
35711         on BSD systems.
35712         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
35713         BSD systems.
35714
35715 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
35716
35717         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
35718         proposed by Sven Verdoolaege.
35719
35720         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
35721         options.
35722         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
35723         (usage and help tests): Update
35724
35725 2007-04-29  Bruno Haible  <bruno@clisp.org>
35726
35727         * tests/test-fflush.c (main): Use a file of size 17, not 10.
35728         Print more information in case of failure. Disable a test on BeOS.
35729
35730 2007-04-29  Bruno Haible  <bruno@clisp.org>
35731
35732         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
35733         This helps debugging on systems on which no gdb is available.
35734
35735 2007-04-29  Bruno Haible  <bruno@clisp.org>
35736
35737         * lib/freading.h: Improve comments.
35738         * lib/fwriting.h: Likewise.
35739         * tests/test-freading.c (main): Don't check freading immediately after
35740         repositioning. Needed for glibc.
35741
35742 2007-04-29  Bruno Haible  <bruno@clisp.org>
35743
35744         * lib/freading.c (freading): Trivial simplification.
35745
35746 2007-04-28  Bruno Haible  <bruno@clisp.org>
35747
35748         * tests/test-fwriting.c (main): Also test the interaction between
35749         fflush and fwriting.
35750         * modules/fwriting-tests (Depends-on): Add fflush.
35751
35752         * tests/test-freading.c (main): Also test the interaction between
35753         fflush and freading.
35754         * modules/freading-tests (Depends-on): Add fflush.
35755
35756 2007-04-28  Bruno Haible  <bruno@clisp.org>
35757
35758         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
35759         fseeko and ftello.
35760         Suggested by Eric Blake.
35761
35762 2007-04-28  Jim Meyering  <jim@meyering.net>
35763
35764         Avoid false-negative in gl_STDINT_H's C99 conformance test.
35765         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
35766         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
35767
35768 2007-04-27  Eric Blake  <ebb9@byu.net>
35769
35770         * doc/headers/assert.texi (assert.h): Document assert module use.
35771
35772 2007-04-27  Bruno Haible  <bruno@clisp.org>
35773
35774         * doc/headers/*.texi: New files.
35775         * doc/gnulib.texi (Header File Substitutes): New chapter.
35776         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
35777         dependencies.
35778         (standards.info ,standards.html, standards.dvi): Update dependencies.
35779         (mostlyclean, clean): New targets.
35780
35781 2007-04-27  Bruno Haible  <bruno@clisp.org>
35782
35783         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
35784         * modules/sysexits (Files, Makefile.am): Update.
35785
35786         * lib/sys_socket_.h: Renamed from lib/socket_.h.
35787         * modules/sys_socket (Files, Makefile.am): Update.
35788
35789         * lib/sys_stat_.h: Renamed from lib/stat_.h.
35790         * modules/sys_stat (Files, Makefile.am): Update.
35791
35792 2007-04-27  Eric Blake  <ebb9@byu.net>
35793
35794         * lib/freading.h: Improve comments.
35795         * lib/fwriting.h: Likewise.
35796         * lib/fflush.c: Likewise.
35797
35798         Fix closein for mingw.
35799         * modules/closein-tests: Add tests for closein.
35800         * tests/test-closein.c: New file.
35801         * tests/test-closein.sh: Likewise.
35802         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
35803         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
35804
35805 2007-04-27  Bruno Haible  <bruno@clisp.org>
35806
35807         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
35808         version is < 6.
35809         * lib/math_.h [__DECC]: Likewise.
35810         * lib/stdio_.h [__DECC]: Likewise.
35811         * lib/stdlib_.h [__DECC]: Likewise.
35812         * lib/string_.h [__DECC]: Likewise.
35813         * lib/time_.h [__DECC]: Likewise.
35814         * lib/wchar_.h [__DECC]: Likewise.
35815         * lib/wctype_.h [__DECC]: Likewise.
35816
35817 2007-04-27  Bruno Haible  <bruno@clisp.org>
35818
35819         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
35820
35821 2007-04-27  Bruno Haible  <bruno@clisp.org>
35822
35823         * lib/fflush.c: Add comments.
35824         * modules/fpurge-tests (Depends-on): Add fflush.
35825         * modules/freadable-tests (Depends-on): Likewise.
35826         * modules/fwritable-tests (Depends-on): Likewise.
35827
35828 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
35829
35830         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
35831         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
35832         Report by Bruno Haible <bruno@clisp.org>.
35833
35834 2007-04-26  Eric Blake  <ebb9@byu.net>
35835
35836         Fix fflush on mingw.
35837         * modules/fflush (Depends-on): Add freading.
35838         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
35839         but unread data.
35840
35841 2007-04-26  Eric Blake  <ebb9@byu.net>
35842         and Bruno Haible  <bruno@clisp.org>
35843
35844         Implement freading and fwriting.
35845         * lib/freading.c: New file.
35846         * lib/freading.h: Likewise.
35847         * m4/freading.m4: Likewise.
35848         * modules/freading: Likewise.
35849         * modules/freading-tests: Likewise.
35850         * tests/test-freading.c: Likewise.
35851         * lib/fwriting.c: New file.
35852         * lib/fwriting.h: Likewise.
35853         * m4/fwriting.m4: Likewise.
35854         * modules/fwriting: Likewise.
35855         * modules/fwriting-tests: Likewise.
35856         * tests/test-fwriting.c: Likewise.
35857         * MODULES.html.sh (File stream based Input/Output): Mention them.
35858
35859 2007-04-26  Bruno Haible  <bruno@clisp.org>
35860
35861         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
35862         'long' when we assume it.
35863         Suggested by Eric Blake.
35864
35865 2007-04-26  Bruno Haible  <bruno@clisp.org>
35866
35867         Ensure fseeko, ftello are declared on glibc systems.
35868         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
35869         * modules/fseeko (configure.ac-early): Likewise.
35870         * modules/ftello (configure.ac-early): Likewise.
35871         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
35872         AC_FUNC_FSEEKO for this.
35873         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
35874         (gl_CHECK_FSEEKO): Remove macro.
35875
35876 2007-04-26  Bruno Haible  <bruno@clisp.org>
35877
35878         * tests/test-fflush.c (main): Also check the ftell result after
35879         fflush and fseek/fseeko.
35880         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
35881         file descriptor position cache in the stream.
35882         * lib/fseeko.c (rpl_fseeko): Likewise.
35883
35884 2007-04-26  Bruno Haible  <bruno@clisp.org>
35885
35886         * modules/fflush-tests (Depends-on): Add fseeko.
35887
35888 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
35889             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35890
35891         * lib/argz_.h: ensure error_t definition is obtained in same
35892         mechanism system argz.h would have.
35893         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
35894         argz facilities are known bad.  Err on the side of caution if
35895         cross-compiling.
35896
35897 2007-04-25  Eric Blake  <ebb9@byu.net>
35898
35899         * lib/fpurge.c (includes): Use stdlib.h for free.
35900         * tests/test-fflush.c (main): Also test fflush-fseeko.
35901
35902 2007-04-25  Bruno Haible  <bruno@clisp.org>
35903
35904         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
35905         * lib/fseeko.c: New file.
35906         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
35907         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
35908         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
35909         gl_FUNC_FSEEKO.
35910         (gl_FUNC_FSEEKO): Invoke it.
35911         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
35912         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
35913         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
35914
35915 2007-04-25  Bruno Haible  <bruno@clisp.org>
35916
35917         * modules/fflush (Depends-on): Add ftello.
35918
35919 2007-04-25  Bruno Haible  <bruno@clisp.org>
35920
35921         * modules/ftello-tests: New file.
35922         * tests/test-ftello.c: New file.
35923
35924         * modules/ftello: New file.
35925         * m4/ftello.m4: New file.
35926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
35927         HAVE_FTELLO.
35928         * lib/stdio_.h (ftello): New declaration.
35929         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
35930         HAVE_FTELLO.
35931
35932 2007-04-25  Bruno Haible  <bruno@clisp.org>
35933
35934         * modules/fseeko-tests: New file.
35935         * tests/test-fseeko.c: New file.
35936
35937         * modules/fseeko: New file.
35938         * m4/fseeko.m4: New file.
35939         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
35940         HAVE_FSEEKO.
35941         * lib/stdio_.h (fseeko): New declaration.
35942         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
35943         HAVE_FSEEKO.
35944
35945 2007-04-25  Bruno Haible  <bruno@clisp.org>
35946
35947         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
35948
35949 2007-04-25  Bruno Haible  <bruno@clisp.org>
35950
35951         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
35952         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
35953         * tests/test-unistd.c: Likewise.
35954         * tests/test-fcntl.c: Likewise.
35955
35956 2007-04-23  Eric Blake  <ebb9@byu.net>
35957
35958         * lib/fflush.c: Fix missing include.
35959         Reported by Bruno Haible.
35960
35961 2007-04-23  Bruno Haible  <bruno@clisp.org>
35962
35963         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
35964         Reported by Eric Blake.
35965
35966 2007-04-23  Bruno Haible  <bruno@clisp.org>
35967
35968         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
35969
35970 2007-04-23  Bruno Haible  <bruno@clisp.org>
35971
35972         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
35973
35974 2007-04-23  Bruno Haible  <bruno@clisp.org>
35975
35976         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
35977         Needed on HP-UX 11.
35978
35979 2007-04-16  Eric Blake  <ebb9@byu.net>
35980
35981         Make fflush rely on fpurge.
35982         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
35983         open coding all variants.
35984         * modules/fflush (Depends-on): Add fpurge and unistd.
35985         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
35986         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
35987
35988         Fix --with-tests compilation on cygwin.
35989         * modules/argmatch-tests (Makefile.am): List gnulib library first
35990         in LDADD.
35991         * modules/argp-tests (Makefile.am): Likewise.
35992         * modules/array-list-tests (Makefile.am): Likewise.
35993         * modules/array-oset-tests (Makefile.am): Likewise.
35994         * modules/avltree-list-tests (Makefile.am): Likewise.
35995         * modules/avltree-oset-tests (Makefile.am): Likewise.
35996         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35997         * modules/carray-list-tests (Makefile.am): Likewise.
35998         * modules/dirname-tests (Makefile.am): Likewise.
35999         * modules/frexp-tests (Makefile.am): Likewise.
36000         * modules/isnanl-tests (Makefile.am): Likewise.
36001         * modules/linked-list-tests (Makefile.am): Likewise.
36002         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36003         * modules/lock-tests (Makefile.am): Likewise.
36004         * modules/rbtree-list-tests (Makefile.am): Likewise.
36005         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36006         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36007         * modules/tls-tests (Makefile.am): Likewise.
36008         * modules/tsearch-tests (Makefile.am): Likewise.
36009         * modules/xvasprintf-tests (Makefile.am): Likewise.
36010
36011         Fix fpurge for cygwin.
36012         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
36013         value.
36014         * modules/fpurge-tests (Depends-on): Clean up trash.
36015
36016 2007-04-16  Simon Josefsson  <simon@josefsson.org>
36017
36018         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
36019
36020         * m4/autobuild.m4: Re-indent.
36021
36022 2007-04-13  Bruno Haible  <bruno@clisp.org>
36023
36024         * modules/fpurge-tests: New file.
36025         * tests/test-fpurge.c: New file.
36026
36027         * modules/fpurge: New file.
36028         * lib/fpurge.h: New file.
36029         * lib/fpurge.c: New file.
36030         * m4/fpurge.m4: New file.
36031
36032 2007-04-13  Bruno Haible  <bruno@clisp.org>
36033
36034         * modules/fbufmode-tests: New file.
36035         * tests/test-fbufmode.c: New file.
36036
36037         * modules/fbufmode: New file.
36038         * lib/fbufmode.h: New file.
36039         * lib/fbufmode.c: New file.
36040         * m4/fbufmode.m4: New file.
36041
36042 2007-04-13  Bruno Haible  <bruno@clisp.org>
36043
36044         * modules/fwritable-tests: New file.
36045         * tests/test-fwritable.c: New file.
36046
36047         * modules/fwritable: New file.
36048         * lib/fwritable.h: New file.
36049         * lib/fwritable.c: New file.
36050         * m4/fwritable.m4: New file.
36051
36052 2007-04-13  Bruno Haible  <bruno@clisp.org>
36053
36054         * modules/freadable-tests: New file.
36055         * tests/test-freadable.c: New file.
36056
36057         * modules/freadable: New file.
36058         * lib/freadable.h: New file.
36059         * lib/freadable.c: New file.
36060         * m4/freadable.m4: New file.
36061
36062 2007-04-13  Bruno Haible  <bruno@clisp.org>
36063
36064         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
36065         MOSTLYCLEANFILES.
36066
36067 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
36068
36069         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
36070         gzip bootstrap.conf to avoid dragging in i18n machinery.
36071         (gnulib_tool_option): Use it.
36072
36073 2007-04-13  Bruno Haible  <bruno@clisp.org>
36074
36075         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
36076         %F directives.
36077         * tests/test-vasprintf-posix.c (test_function): Likewise.
36078         * tests/test-snprintf-posix.h (test_function): Likewise.
36079         * tests/test-sprintf-posix.h (test_function): Likewise.
36080         * tests/test-fprintf-posix.h (test_function): Likewise.
36081         * tests/test-printf-posix.h (test_function): Likewise.
36082         * tests/test-fprintf-posix.out: Likewise.
36083
36084 2007-04-13  Bruno Haible  <bruno@clisp.org>
36085
36086         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
36087         * modules/tls-tests (configure.ac): Likewise.
36088         Reported by Arto C. Nirkko <anirkko@insel.ch>.
36089
36090 2007-04-13  Bruno Haible  <bruno@clisp.org>
36091
36092         * lib/tls.c (glthread_tls_get): Fix return type.
36093         Patch by Arto C. Nirkko <anirkko@insel.ch>.
36094
36095 2007-04-12  Eric Blake  <ebb9@byu.net>
36096
36097         * modules/gettime (Depends-on): Remove gettime.
36098         Reported by Dmitry V. Levin.
36099
36100 2007-04-12  Bruno Haible  <bruno@clisp.org>
36101
36102         * modules/fflush (Include): Mention <stdio.h>.
36103         * modules/strtoimax (Include): Mention <inttypes.h>.
36104         * modules/strtoumax (Include): Likewise.
36105
36106 2007-04-12  Eric Blake  <ebb9@byu.net>
36107
36108         * .cvsignore: New file.
36109         * .gitignore: Likewise.
36110
36111 2007-04-12  Bruno Haible  <bruno@clisp.org>
36112
36113         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
36114         not before, since $(LDADD) often contains libgnu.a.
36115         * modules/striconv-tests (test_striconv_LDADD): Likewise.
36116         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
36117         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
36118         Needed on Cygwin.
36119
36120 2007-04-12  Eric Blake  <ebb9@byu.net>
36121
36122         Work around glibc's failure to flush stdin on fclose.
36123         * lib/closein.c (close_stdin): Flush stdin before closing.
36124
36125         Work around glibc's failure to reset seekable stdin on exit.
36126         * modules/closein: New module.
36127         * lib/closein.c: New file.
36128         * lib/closein.h: Likewise.
36129         * m4/closein.m4: Likewise.
36130         * MODULES.html.sh (File stream based Input/Output): Document it.
36131
36132 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36133
36134         * gnulib-tool: Rename generated 'autobuild' script to
36135         'do-autobuild' in --create-megatestdir output.
36136
36137         * doc/gnulib.texi (Build robot for gnulib): Fix.
36138
36139 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36140
36141         * modules/sysexits (Depends-on): Add absolute-header.
36142
36143 2007-04-12  Eric Blake  <ebb9@byu.net>
36144
36145         No need to preserve errno on success.
36146         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
36147         Reported by Bruno Haible.
36148
36149 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36150
36151         * MODULES.html.sh (Support for maintaining and releasing
36152         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
36153
36154 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36155
36156         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
36157
36158 2007-04-12  Simon Josefsson  <simon@josefsson.org>
36159
36160         * modules/autobuild: New module.
36161
36162         * m4/autobuild.m4: New file.
36163
36164 2007-04-11  Bruno Haible  <bruno@clisp.org>
36165
36166         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
36167         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
36168         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
36169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
36170         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36171         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36172         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36173         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36174         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36175         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36176         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
36177         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36178         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36179         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
36180         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36181         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36182         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
36183         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36184         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36185         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
36186         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36187         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36188         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
36189         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36190         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36191         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
36192         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
36193         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
36194         Reported by Eric Blake.
36195
36196 2007-04-11  Bruno Haible  <bruno@clisp.org>
36197
36198         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
36199
36200 2007-04-10  Bruno Haible  <bruno@clisp.org>
36201
36202         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
36203         for NaN and Infinity. Needed on FreeBSD 6.1.
36204         * tests/test-vasnprintf-posix.c (test_function): Undo last change
36205         regarding results for "%010a" of Infinity and NaN.
36206         * tests/test-vasprintf-posix.c (test_function): Likewise.
36207         * tests/test-snprintf-posix.h (test_function): Likewise.
36208         * tests/test-sprintf-posix.h (test_function): Likewise.
36209         * tests/test-fprintf-posix.h (test_function): Likewise.
36210         * tests/test-printf-posix.h (test_function): Likewise.
36211         * tests/test-fprintf-posix.out: Likewise.
36212
36213 2007-04-10  Bruno Haible  <bruno@clisp.org>
36214
36215         * modules/locale-tests: New file.
36216         * tests/test-locale.c: New file.
36217
36218         * modules/locale: New file.
36219         * lib/locale_.h: New file.
36220         * m4/locale_h.m4: New file.
36221
36222 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
36223             Bruno Haible  <bruno@clisp.org>
36224
36225         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
36226         be determined, test for availability of the copysignf, copysign,
36227         copysignl functions.
36228         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
36229         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
36230         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
36231
36232 2007-04-09  Eric Blake  <ebb9@byu.net>
36233
36234         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
36235         * modules/stdio (Makefile.am): Support fflush.
36236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36237         * modules/fflush: New file.
36238         * lib/fflush.c: Likewise.
36239         * m4/fflush.m4: Likewise.
36240         * modules/fflush-tests: New test.
36241         * tests/test-fflush.c: Likewise.
36242         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
36243
36244 2007-04-06  Bruno Haible  <bruno@clisp.org>
36245
36246         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
36247         (VASNPRINTF): Use signbit for faster determination whether to print a
36248         minus sign.
36249         * modules/vasnprintf (Files): Remove lib/float+.h.
36250         * modules/fprintf-posix (Depends-on): Add signbit.
36251         * modules/snprintf-posix (Depends-on): Likewise.
36252         * modules/sprintf-posix (Depends-on): Likewise.
36253         * modules/vasnprintf-posix (Depends-on): Likewise.
36254         * modules/vasprintf-posix (Depends-on): Likewise.
36255         * modules/vfprintf-posix (Depends-on): Likewise.
36256         * modules/vsnprintf-posix (Depends-on): Likewise.
36257         * modules/vsprintf-posix (Depends-on): Likewise.
36258
36259 2007-04-06  Bruno Haible  <bruno@clisp.org>
36260
36261         * tests/test-frexp.c (main): Test also the sign bit of zero results.
36262         * tests/test-frexpl.c (main): Likewise.
36263         * tests/test-ldexpl.c (main): Likewise.
36264         * modules/frexp-tests (Depends-on): Add signbit.
36265         * modules/frexpl-tests (Depdends-on): Likewise.
36266         * modules/ldexpl-tests (Depdends-on): Likewise.
36267
36268 2007-04-06  Bruno Haible  <bruno@clisp.org>
36269
36270         * modules/signbit-tests: New file.
36271         * tests/test-signbit.c: New file.
36272
36273         * modules/signbit: New file.
36274         * lib/signbitf.c: New file.
36275         * lib/signbitd.c: New file.
36276         * lib/signbitl.c: New file.
36277         * m4/signbit.m4: New file.
36278         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
36279         (signbit): New macro.
36280         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
36281         REPLACE_SIGNBIT.
36282         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
36283         REPLACE_FREXPL into math.h.
36284
36285 2007-04-06  Bruno Haible  <bruno@clisp.org>
36286
36287         * modules/isnanf-nolibm-tests: New file.
36288         * tests/test-isnanf.c: New file.
36289
36290         * modules/isnanf-nolibm: New file.
36291         * lib/isnanf.h: New file.
36292         * lib/isnanf.c: New file.
36293         * lib/isnan.c: Consider the USE_FLOAT macro.
36294         * m4/isnanf.m4: New file.
36295
36296 2007-04-06  Bruno Haible  <bruno@clisp.org>
36297
36298         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
36299         (Link): New section.
36300
36301         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
36302
36303 2007-04-06  Bruno Haible  <bruno@clisp.org>
36304
36305         Assume the 'long double' type.
36306         * m4/longdouble.m4: Remove file.
36307         * config/srclist.txt: Don't mention longdouble.m4.
36308         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
36309         * lib/float+.h: Likewise.
36310         * lib/frexp.c: Likewise.
36311         * lib/printf-args.h: Likewise.
36312         * lib/printf-args.c: Likewise.
36313         * lib/printf-frexp.c: Likewise.
36314         * lib/printf-parse.c: Likewise.
36315         * lib/vasnprintf.c: Likewise.
36316         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
36317         * m4/intl.m4: Likewise.
36318         * m4/isnanl.m4: Likewise.
36319         * m4/printf.m4: Likewise.
36320         * m4/printf-frexpl.m4: Likewise.
36321         * m4/vasnprintf.m4: Likewise.
36322         * modules/allocsa (Files): Remove m4/longdouble.m4.
36323         * modules/gettext (Files): Likewise.
36324         * modules/relocatable-prog-wrapper (Files): Likewise.
36325         * modules/vasnprintf (Files): Likewise.
36326         * modules/isnanl (Files): Likewise.
36327         (Include): Simplify.
36328         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
36329         (Include): Simplify.
36330         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
36331         (Include): Simplify.
36332         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
36333         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36334         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
36335         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36336         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36337         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36338         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
36339         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36340         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36341         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36342         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
36343         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36344         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
36345         * tests/test-isnanl.c: Likewise.
36346         * tests/test-snprintf-posix.h: Likewise.
36347         * tests/test-sprintf-posix.h: Likewise.
36348         * tests/test-vasnprintf-posix.c: Likewise.
36349         * tests/test-vasnprintf-posix2.c: Likewise.
36350         * tests/test-vasprintf-posix.c: Likewise.
36351
36352 2007-04-06  Bruno Haible  <bruno@clisp.org>
36353
36354         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
36355         * lib/math_.h [__DECC]: Include the overridden include file through
36356         #include_next, outside the double-inclusion guard.
36357         * lib/stdio_.h [__DECC]: Likewise.
36358         * lib/stdlib_.h [__DECC]: Likewise.
36359         * lib/string_.h [__DECC]: Likewise.
36360         * lib/time_.h [__DECC]: Likewise.
36361         * lib/wchar_.h [__DECC]: Likewise.
36362         * lib/wctype_.h [__DECC]: Likewise.
36363         * lib/inttypes_.h [__DECC]: Likewise.
36364         Reported by Albert Chin <china@thewrittenword.com> in
36365         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
36366
36367 2007-04-04  Eric Blake  <ebb9@byu.net>
36368
36369         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
36370         1.5.x.
36371
36372 2007-04-04  Bruno Haible  <bruno@clisp.org>
36373
36374         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
36375         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
36376
36377 2007-04-04  Bruno Haible  <bruno@clisp.org>
36378
36379         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
36380         results for "%010a" of Infinity and NaN.
36381         * tests/test-vasprintf-posix.c (test_function): Likewise.
36382         * tests/test-snprintf-posix.h (test_function): Likewise.
36383         * tests/test-sprintf-posix.h (test_function): Likewise.
36384         * tests/test-fprintf-posix.h (test_function): Remove these tests.
36385         * tests/test-printf-posix.h (test_function): Likewise.
36386         * tests/test-fprintf-posix.out: Update.
36387         Needed for FreeBSD 6.1.
36388
36389 2007-04-04  Bruno Haible  <bruno@clisp.org>
36390
36391         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
36392         directly used by the gnulib modules nor by gnulib-tool.
36393
36394 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
36395
36396         * DEPENDENCIES: Give overall description of version dependency
36397         desirability.  Use more-typical names for apps.
36398         Add shell, coreutils, diffutils, grep, tar, gzip.
36399
36400 2007-04-04  Simon Josefsson  <simon@josefsson.org>
36401
36402         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
36403
36404 2007-04-04  Karl Berry  <karl@gnu.org>
36405
36406         * MODULES.html.sh (func_module): missing '.
36407
36408 2007-04-03  Bruno Haible  <bruno@clisp.org>
36409
36410         * modules/argmatch-tests (Makefile.am): New variable
36411         test_argmatch_LDADD.
36412         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
36413         * modules/array-list-tests (Makefile.am): New variable
36414         test_array_list_LDADD.
36415         * modules/array-oset-tests (Makefile.am): New variable
36416         test_array_oset_LDADD.
36417         * modules/avltree-list-tests (Makefile.am): New variable
36418         test_avltree_list_LDADD.
36419         * modules/avltree-oset-tests (Makefile.am): New variable
36420         test_avltree_oset_LDADD.
36421         * modules/avltreehash-list-tests (Makefile.am): New variable
36422         test_avltreehash_list_LDADD.
36423         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
36424         test_canonicalize_lgpl_LDADD.
36425         * modules/carray-list-tests (Makefile.am): New variable
36426         test_carray_list_LDADD.
36427         * modules/dirname-tests (Makefile.am): New variable
36428         test_dirname_LDADD.
36429         * modules/linked-list-tests (Makefile.am): New variable
36430         test_linked_list_LDADD.
36431         * modules/linkedhash-list-tests (Makefile.am): New variable
36432         test_linkedhash_list_LDADD.
36433         * modules/rbtree-list-tests (Makefile.am): New variable
36434         test_rbtree_list_LDADD.
36435         * modules/rbtree-oset-tests (Makefile.am): New variable
36436         test_rbtree_oset_LDADD.
36437         * modules/rbtreehash-list-tests (Makefile.am): New variable
36438         test_rbtreehash_list_LDADD.
36439         * modules/xvasprintf-tests (Makefile.am): New variable
36440         test_xvasprintf_LDADD.
36441         Reported by Eric Blake.
36442
36443 2007-04-03  Eric Blake  <ebb9@byu.net>
36444
36445         * DEPENDENCIES: Weaken m4 requirements.
36446
36447 2007-04-03  Bruno Haible  <bruno@clisp.org>
36448
36449         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
36450         * modules/isnanl-tests (configure.ac): Likewise.
36451
36452 2007-04-03  Ben Pfaff  <blp@gnu.org>
36453
36454         * modules/iconv_open: Add $(srcdir)/ to source directory
36455         references in Makefile fragments that call gperf, to fix VPATH
36456         builds.
36457
36458 2007-04-03  Bruno Haible  <bruno@clisp.org>
36459
36460         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
36461         * lib/ldexpl.c: Undo last change.
36462
36463 2007-04-03  Bruno Haible  <bruno@clisp.org>
36464
36465         * modules/printf-frexpl (Depends-on): Undo last change.
36466         (Files): Add m4/ldexpl.m4.
36467
36468 2007-04-03  Bruno Haible  <bruno@clisp.org>
36469
36470         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
36471         * modules/isnanl (Link): New section.
36472
36473         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
36474         * modules/frexp (Link): New section.
36475
36476         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
36477         * modules/frexpl (Link): New section.
36478
36479         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
36480         * modules/ldexpl (Link): New section.
36481
36482 2007-04-03  Bruno Haible  <bruno@clisp.org>
36483
36484         * modules/TEMPLATE-EXTENDED: New file.
36485         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
36486
36487 2007-04-03  Bruno Haible  <bruno@clisp.org>
36488
36489         * DEPENDENCIES: New file.
36490         Suggested by Simon Josefsson.
36491
36492 2007-04-03  Bruno Haible  <bruno@clisp.org>
36493
36494         * doc/gnulib.texi: Escape @.
36495
36496 2007-04-03  James Youngman  <jay@gnu.org>
36497         and Paul Eggert  <eggert@cs.ucla.edu>
36498
36499         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
36500         birthtime on all systems that have birthtime, not just those which
36501         use st_birthtimensec rather than st_birthtim.  Putting zero in
36502         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
36503         that the birth time is not available for files on an NFS mount.
36504
36505 2007-04-03  Simon Josefsson  <simon@josefsson.org>
36506
36507         * modules/memxor: Move back from crypto/, suggested by Bruno.
36508         * modules/crypto/hmac-sha1: Fix memxor dependency.
36509
36510         * modules/crypto/gc: Moved from ../.
36511
36512 2007-04-02  Eric Blake  <ebb9@byu.net>
36513
36514         * lib/ldexpl.c (includes): Avoid libm.
36515
36516         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
36517
36518 2007-04-02  Bruno Haible  <bruno@clisp.org>
36519
36520         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
36521         on IRIX.
36522
36523 2007-04-02  Bruno Haible  <bruno@clisp.org>
36524
36525         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
36526         x86 or x86_64 platforms running MacOS X.
36527         Reported by Ryan Schmidt <@ryandesign.com>.
36528
36529 2007-04-02  Bruno Haible  <bruno@clisp.org>
36530
36531         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
36532         i386.
36533
36534 2007-04-01  Simon Josefsson  <simon@josefsson.org>
36535
36536         * modules/crypto/arcfour: Moved from ../.
36537         * modules/crypto/arcfour-tests: Moved from ../.
36538         * modules/crypto/arctwo: Moved from ../.
36539         * modules/crypto/arctwo-tests: Moved from ../.
36540         * modules/crypto/des: Moved from ../.
36541         * modules/crypto/des-tests: Moved from ../.
36542         * modules/crypto/gc-arcfour: Moved from ../.
36543         * modules/crypto/gc-arcfour-tests: Moved from ../.
36544         * modules/crypto/gc-arctwo: Moved from ../.
36545         * modules/crypto/gc-arctwo-tests: Moved from ../.
36546         * modules/crypto/gc-des: Moved from ../.
36547         * modules/crypto/gc-des-tests: Moved from ../.
36548         * modules/crypto/gc-hmac-md5: Moved from ../.
36549         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
36550         * modules/crypto/gc-hmac-sha1: Moved from ../.
36551         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
36552         * modules/crypto/gc-md2: Moved from ../.
36553         * modules/crypto/gc-md2-tests: Moved from ../.
36554         * modules/crypto/gc-md4: Moved from ../.
36555         * modules/crypto/gc-md4-tests: Moved from ../.
36556         * modules/crypto/gc-md5: Moved from ../.
36557         * modules/crypto/gc-md5-tests: Moved from ../.
36558         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
36559         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
36560         * modules/crypto/gc-random: Moved from ../.
36561         * modules/crypto/gc-rijndael: Moved from ../.
36562         * modules/crypto/gc-rijndael-tests: Moved from ../.
36563         * modules/crypto/gc-sha1: Moved from ../.
36564         * modules/crypto/gc-sha1-tests: Moved from ../.
36565         * modules/crypto/gc-tests: Moved from ../.
36566         * modules/crypto/hmac-md5: Moved from ../.
36567         * modules/crypto/hmac-md5-tests: Moved from ../.
36568         * modules/crypto/hmac-sha1: Moved from ../.
36569         * modules/crypto/hmac-sha1-tests: Moved from ../.
36570         * modules/crypto/md2: Moved from ../.
36571         * modules/crypto/md2-tests: Moved from ../.
36572         * modules/crypto/md4: Moved from ../.
36573         * modules/crypto/md4-tests: Moved from ../.
36574         * modules/crypto/md5: Moved from ../.
36575         * modules/crypto/md5-tests: Moved from ../.
36576         * modules/crypto/memxor: Moved from ../.
36577         * modules/crypto/rijndael: Moved from ../.
36578         * modules/crypto/rijndael-tests: Moved from ../.
36579         * modules/crypto/sha1: Moved from ../.
36580
36581 2007-03-30  James Youngman  <jay@gnu.org>
36582
36583         * tests/test-stat-time.c (prepare_test): use chmod() rather than
36584         rename() to change the ctime of a file (because ctime is unaffected
36585         by rename on jfs2 on AIX 5.1).
36586         (main): Start by doing cleanup, in case a previous run failed leaving
36587         test files behind.
36588
36589 2007-03-31  Bruno Haible  <bruno@clisp.org>
36590
36591         Support old proprietary implementations of iconv.
36592         * modules/iconv_open: New file.
36593         * lib/iconv_.h: New file.
36594         * m4/iconv_h.m4: New file.
36595         * lib/iconv_open.c: New file.
36596         * lib/iconv_open-aix.gperf: New file.
36597         * lib/iconv_open-hpux.gperf: New file.
36598         * lib/iconv_open-irix.gperf: New file.
36599         * lib/iconv_open-osf.gperf: New file.
36600         * m4/iconv_open.m4: New file.
36601         * modules/linebreak (Depends-on): Add iconv_open.
36602         * modules/striconv (Depends-on): Likewise.
36603         * modules/striconveh (Depends-on): Likewise.
36604         * modules/unicodeio (Depends-on): Likewise.
36605         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
36606         (iconv_t)(-1).
36607         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
36608         conversion if cd is (iconv_t)(-1).
36609         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
36610         is not possible.
36611
36612 2007-03-31  Bruno Haible  <bruno@clisp.org>
36613
36614         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36615         work on Solaris either. Protect also second use of "autodetect_jp".
36616
36617 2007-03-31  Bruno Haible  <bruno@clisp.org>
36618
36619         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
36620         the function is not present.
36621
36622 2007-03-31  Bruno Haible  <bruno@clisp.org>
36623
36624         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
36625         the function is not present.
36626
36627 2007-03-31  Bruno Haible  <bruno@clisp.org>
36628
36629         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
36630         a bug in HP-UX iconv_open().
36631
36632 2007-03-31  Bruno Haible  <bruno@clisp.org>
36633
36634         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
36635         (Mathematics <math.h>): New section, add fpieee.
36636         (Input/output <stdio.h>): Add fseterr.
36637         (Mathematics <math.h>): New section, add printf-frexp.
36638         (Container data structures): Add sublist.
36639         (Core language properties): Add fpucw, inline.
36640         (Functions for greatest-width integer types <inttypes.h>): Add
36641         imaxabs, imaxdiv, inttypes.
36642         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
36643         isnanl-nolibm, ldexp.
36644         (Mathematics <math.h>): New section, add printf-frexpl.
36645         (Support for systems lacking POSIX:2001): Add fprintf-posix,
36646         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
36647         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
36648         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
36649         (Unicode string functions): Add unistr/u*-mbtoucr.
36650         (Java): Add javacomp-script, javaexec-script.
36651         (C#): Add csharpcomp-script, csharpexec-script.
36652         (Support for building libraries and executables): Add havelib,
36653         relocatable-*.
36654         (Support for maintaining and releasing projects): Renamed from
36655         'Support for maintaining and release projects'. Add announce-gen.
36656
36657 2007-03-31  Bruno Haible  <bruno@clisp.org>
36658
36659         * README: Talk primarily about git.
36660         (git and CVS): Renamed from CVS.
36661         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
36662         gnulib is available through git.
36663         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
36664
36665 2007-03-30  Bruno Haible  <bruno@clisp.org>
36666
36667         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
36668         * lib/poll_.h: Likewise.
36669         * lib/stat_.h: Likewise.
36670         * lib/sys_time_.h: Likewise.
36671         * lib/sysexit_.h: Likewise.
36672         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
36673         * lib/stdbool_.h: Likewise.
36674         * lib/byteswap_.h: Add double-inclusion guard.
36675
36676 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
36677
36678         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
36679
36680 2007-03-30  Karl Berry  <karl@gnu.org>
36681
36682         * config/srclist-update: double space after USA in the license
36683         substitution, since that's how it's usually (?) written.
36684
36685 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36686
36687         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
36688         reported by Bruno Haible.
36689
36690 2007-03-29  Bruno Haible  <bruno@clisp.org>
36691
36692         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
36693         a bug in AIX iconv().
36694
36695 2007-03-29  Bruno Haible  <bruno@clisp.org>
36696
36697         * modules/ldexpl-tests: New file.
36698         * tests/test-ldexpl.c: New file.
36699
36700 2007-03-29  Bruno Haible  <bruno@clisp.org>
36701
36702         * lib/ldexpl.c: Include fpucw.h.
36703         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
36704         multiplication.
36705         * modules/ldexpl (Depends-on): Add fpucw.
36706
36707 2007-03-29  Bruno Haible  <bruno@clisp.org>
36708
36709         * modules/ldexpl: New file.
36710         * m4/ldexpl.m4: New file.
36711         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
36712         set.
36713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
36714         REPLACE_LDEXPL.
36715         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
36716         REPLACE_LDEXPL.
36717         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36718         gl_FUNC_LDEXPL_WORKS.
36719         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
36720         * modules/mathl (Files): Remove lib/ldexpl.c.
36721         (Depends-on): Add ldexpl.
36722
36723 2007-03-29  Bruno Haible  <bruno@clisp.org>
36724
36725         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
36726
36727 2007-03-29  Bruno Haible  <bruno@clisp.org>
36728
36729         * tests/test-striconveh.c (main): Don't assume that a direct conversion
36730         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
36731         and possibly also HP-UX.
36732         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36733         work on AIX, IRIX, HP-UX, OSF/1.
36734         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36735         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36736         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36737         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36738         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
36739         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36740
36741 2007-03-29  Bruno Haible  <bruno@clisp.org>
36742
36743         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
36744
36745 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36746
36747         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
36748         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
36749
36750 2007-03-29  Eric Blake  <ebb9@byu.net>
36751
36752         * lib/acl-internal.h: Remove redundant include.
36753         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
36754         Cygwin when a file is locked.
36755
36756 2007-03-29  Bruno Haible  <bruno@clisp.org>
36757
36758         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
36759         file.
36760         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
36761
36762 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36763
36764         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
36765         try to remove a parent directory if the child couldn't be removed
36766         (except for the first rmdir, which could fail because the child
36767         doesn't exist).  Problem reported by Jeff Blaine in
36768         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
36769
36770 2007-03-28  Bruno Haible  <bruno@clisp.org>
36771
36772         * lib/striconveh.c (utf8conv_carefully): New function.
36773         (mem_cd_iconveh_internal): Invoke it.
36774
36775 2007-03-28  Bruno Haible  <bruno@clisp.org>
36776
36777         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
36778         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
36779         input.
36780         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
36781         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
36782         unistr/u8-uctomb.
36783
36784 2007-03-28  Bruno Haible  <bruno@clisp.org>
36785
36786         * modules/unistr/u8-mbtoucr: New file.
36787         * lib/unistr/u8-mbtoucr.c: New file.
36788         * modules/unistr/u16-mbtoucr: New file.
36789         * lib/unistr/u16-mbtoucr.c: New file.
36790         * modules/unistr/u16-mbtoucr: New file.
36791         * lib/unistr/u16-mbtoucr.c: New file.
36792         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
36793
36794 2007-03-27  Simon Josefsson  <simon@josefsson.org>
36795             Bruno Haible  <bruno@clisp.org>
36796
36797         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
36798         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
36799         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
36800
36801         * m4/stdio_h.m4: Add stubs for vasprintf too.
36802
36803         * modules/stdio: Support vasprintf in sed command.
36804
36805         * modules/vasprintf: Depend on stdio for prototypes.  Remove
36806         vasprintf.h.  Add stdio module indicator.
36807
36808         * lib/stdio_.h: Declare asprintf and vasprintf, based on
36809         vasprintf.h.
36810
36811         * lib/vasprintf.h: File removed.
36812
36813         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
36814         * lib/vasprintf.c: Ditto.
36815         * lib/xvasprintf.c: Ditto.
36816         * tests/test-vasprintf-posix.c: Ditto.
36817         * tests/test-vasprintf.c: Ditto.
36818
36819 2007-03-27  Bruno Haible  <bruno@clisp.org>
36820
36821         Make vasnprintf multithread-safe.
36822         * lib/vasnprintf.c (decimal_point_char): New function.
36823         (VASNPRINTF): Use it.
36824         Suggested by Simon Josefsson.
36825
36826 2007-03-27  Eric Blake  <ebb9@byu.net>
36827
36828         Support sub-second birthtime on cygwin.
36829         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
36830         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
36831         (get_stat_birthtime): Also work with st_birthtim.
36832
36833 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
36834
36835         * lib/stat-time.h (USE_BIRTHTIME): Remove.
36836         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
36837         (get_stat_birthtime_ns): Do not try to use "spare" fields.
36838         (get_stat_birthtime_ns): Simplify compile-time tests.
36839         (get_stat_birthtime): Change the API to look like
36840         get_stat_mtime etc., except return a negative tv_nsec on error.
36841         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
36842         Don't check for "spare" fields.
36843         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
36844         or for struct stat.st_birthtime, as these tests aren't used.
36845         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
36846
36847 2007-03-27  Bruno Haible  <bruno@clisp.org>
36848
36849         * lib/stat-time.h: Include <sys/stat.h>.
36850
36851 2007-03-27  James Youngman  <jay@gnu.org>
36852
36853         * lib/stat-time.h (get_stat_birthtime): New function for
36854           retrieving st_birthtime as provided by UFS2 (hence *BSD).
36855         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
36856           and its variants.
36857         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
36858         * modules/stat-time-test: New file.
36859         * tests/test-stat-time.c: New test, devised by Bruno Haible.
36860
36861 2007-03-26  Bruno Haible  <bruno@clisp.org>
36862
36863         Better support of signalling NaNs.
36864         * lib/atanl.c: Include isnanl.h.
36865         (atanl): Perform test for NaN at the beginning of the function and
36866         through a call to isnanl.
36867         * lib/cosl.c: Include isnanl.h.
36868         (cosl): Perform test for NaN at the beginning of the function and
36869         through a call to isnanl.
36870         * lib/ldexpl.c: Include isnanl.h.
36871         (ldexpl): Perform test for NaN through a call to isnanl.
36872         * lib/logl.c: Include isnanl.h.
36873         (logl): Perform test for NaN at the beginning of the function and
36874         through a call to isnanl.
36875         * lib/sinl.c: Include isnanl.h.
36876         (sinl): Perform test for NaN at the beginning of the function and
36877         through a call to isnanl.
36878         * lib/sqrtl.c: Include isnanl.h.
36879         (sqrtl): Perform test for NaN at the beginning of the function and
36880         through a call to isnanl.
36881         * lib/tanl.c: Include isnanl.h.
36882         (tanl): Perform test for NaN at the beginning of the function and
36883         through a call to isnanl.
36884         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
36885         * modules/mathl (Depends-on): Add isnanl.
36886
36887 2007-03-26  Eric Blake  <ebb9@byu.net>
36888
36889         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
36890         regression in logic sense of previous patch.
36891
36892 2007-03-26  Bruno Haible  <bruno@clisp.org>
36893
36894         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
36895         unportable shell command "if ! ...".
36896         Reported by Ralf Wildenhues.
36897
36898 2007-03-25  Bruno Haible  <bruno@clisp.org>
36899
36900         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
36901         <sysexits.h> file, and only add EX_CONFIG.
36902         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
36903         absolute file name and whether it is sufficient. Substitute also
36904         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
36905         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
36906         ABSOLUTE_SYSEXITS_H into sysexits.h.
36907
36908 2007-03-25  Bruno Haible  <bruno@clisp.org>
36909
36910         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
36911         hints is NULL.
36912
36913 2007-03-25  Bruno Haible  <bruno@clisp.org>
36914
36915         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
36916         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
36917
36918 2007-03-25  Bruno Haible  <bruno@clisp.org>
36919
36920         * lib/vasnprintf.c: Include langinfo.h.
36921         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
36922         multithread-safe.
36923         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
36924         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
36925         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36926         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36927         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36928         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36929         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36930         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
36931         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36932         Reported by Simon Josefsson.
36933
36934 2007-03-25  Bruno Haible  <bruno@clisp.org>
36935
36936         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
36937         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
36938         * modules/vasnprintf (Depends-on): Add stdint.
36939
36940 2007-03-25  Bruno Haible  <bruno@clisp.org>
36941
36942         * modules/fpieee: New file.
36943         * m4/fpieee.m4: New file.
36944         * modules/isnan-nolibm (Depends-on): Add fpieee.
36945         * modules/isnanl-nolibm (Depends-on): Add fpieee.
36946         * modules/isnanl (Depends-on): Add fpieee.
36947
36948 2007-03-25  Bruno Haible  <bruno@clisp.org>
36949
36950         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
36951
36952 2007-03-25  Bruno Haible  <bruno@clisp.org>
36953
36954         Avoid test failures on IRIX 6.5.
36955         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
36956         (main): Use it.
36957         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
36958         macros.
36959         (main): Use them.
36960
36961 2007-03-25  Bruno Haible  <bruno@clisp.org>
36962
36963         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
36964         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
36965         exists but doesn't work.
36966         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
36967         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
36968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
36969         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
36970
36971 2007-03-25  Bruno Haible  <bruno@clisp.org>
36972
36973         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
36974         returns inf. Needed on IRIX 6.5.
36975
36976 2007-03-25  Bruno Haible  <bruno@clisp.org>
36977
36978         * tests/test-frexpl.c: Include isnanl-nolibm.h.
36979         (main): Use isnanl instead of x != x idiom.
36980         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
36981
36982         * tests/test-frexp.c: Include isnan.h.
36983         (main): Use isnan instead of x != x idiom.
36984         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
36985
36986 2007-03-25  Bruno Haible  <bruno@clisp.org>
36987
36988         * tests/test-frexp.c (NaN): New function/macro.
36989         (main): Use it instead of 0.0 / 0.0.
36990         * tests/test-isnan.c (NaN): New function/macro.
36991         (main): Use it instead of 0.0 / 0.0.
36992         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
36993         (test_function): Use it instead of 0.0 / 0.0.
36994         * tests/test-vasprintf-posix.c (NaN): New function/macro.
36995         (test_function): Use it instead of 0.0 / 0.0.
36996         * tests/test-snprintf-posix.h (NaN): New function/macro.
36997         (test_function): Use it instead of 0.0 / 0.0.
36998         * tests/test-sprintf-posix.h (NaN): New function/macro.
36999         (test_function): Use it instead of 0.0 / 0.0.
37000         * tests/test-fprintf-posix.h (NaN): New function/macro.
37001         (test_function): Use it instead of 0.0 / 0.0.
37002         * tests/test-printf-posix.h (NaN): New function/macro.
37003         (test_function): Use it instead of 0.0 / 0.0.
37004
37005         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
37006
37007 2007-03-25  Bruno Haible  <bruno@clisp.org>
37008
37009         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
37010
37011 2007-03-25  Bruno Haible  <bruno@clisp.org>
37012
37013         * lib/regexec.c (merge_state_with_log): Make static.
37014
37015 2007-03-25  Bruno Haible  <bruno@clisp.org>
37016
37017         * lib/trigl.c (kernel_rem_pio2): Make static.
37018
37019 2007-03-25  Bruno Haible  <bruno@clisp.org>
37020
37021         * lib/sincosl.c (sincosl_table): Make static.
37022
37023 2007-03-25  Bruno Haible  <bruno@clisp.org>
37024
37025         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
37026         if the compiler does not support C99.
37027
37028 2007-03-25  Bruno Haible  <bruno@clisp.org>
37029
37030         * modules/time (Makefile.am): Ensure all rule action lines start with a
37031         tab.
37032
37033 2007-03-24  Bruno Haible  <bruno@clisp.org>
37034
37035         * modules/tsearch-tests: New file.
37036         * tests/test-tsearch.sh: New file.
37037         * tests/test-tsearch.c: New file, mostly copied from glibc.
37038
37039         * modules/search-tests: New file.
37040         * tests/test-search.c: New file.
37041
37042         * modules/search: New file.
37043         * lib/search_.h: New file, incorporating lib/tsearch.h.
37044         * m4/search_h.m4: New file.
37045         * lib/tsearch.h: Remove file.
37046         * lib/tsearch.c: Include search.h instead of tsearch.h.
37047         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
37048         HAVE_TSEARCH.
37049         * modules/tsearch (Files): Remove lib/tsearch.h.
37050         (Depends-on): Add search.
37051         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
37052         (Include): Change tsearch.h into search.h.
37053
37054 2007-03-24  Bruno Haible  <bruno@clisp.org>
37055
37056         * modules/fpucw: New file.
37057         * lib/fpucw.h: New file.
37058         * lib/frexp.c: Include fpucw.h.
37059         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37060         (FUNC): Use them.
37061         * lib/printf-frexp.c: Include fpucw.h.
37062         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
37063         (FUNC): Use them.
37064         * lib/vasnprintf.c: Include fpucw.h.
37065         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
37066         'long double' calculations.
37067         * tests/test-frexpl.c: Include fpucw.h.
37068         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37069         * tests/test-printf-frexpl.c: Include fpucw.h.
37070         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
37071         * modules/frexpl (Depends-on): Add fpucw.
37072         * modules/printf-frexpl (Depends-on): Likewise.
37073         * modules/fprintf-posix (Depends-on): Likewise.
37074         * modules/snprintf-posix (Depends-on): Likewise.
37075         * modules/sprintf-posix (Depends-on): Likewise.
37076         * modules/vasnprintf-posix (Depends-on): Likewise.
37077         * modules/vasprintf-posix (Depends-on): Likewise.
37078         * modules/vfprintf-posix (Depends-on): Likewise.
37079         * modules/vsnprintf-posix (Depends-on): Likewise.
37080         * modules/vsprintf-posix (Depends-on): Likewise.
37081         * modules/frexpl-tests (Depends-on): Likewise.
37082         * modules/printf-frexpl-tests (Depends-on): Likewise.
37083
37084 2007-03-24  Bruno Haible  <bruno@clisp.org>
37085
37086         * lib/float+.h: New file.
37087         * lib/isnan.c: Include float+.h.
37088         (SIZE): New macro.
37089         (FUNC): Compare only SIZE bytes of the value.
37090         * lib/vasnprintf.c: Include float+.h.
37091         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
37092         SIZEOF_LDBL or SIZEOF_DBL bytes.
37093         * modules/isnan-nolibm (Files): Add lib/float+.h.
37094         * modules/isnanl-nolibm (Files): Add lib/float+.h.
37095         * modules/isnanl (Files): Add lib/float+.h.
37096         * modules/vasnprintf (Files): Add lib/float+.h.
37097
37098 2007-03-24  Bruno Haible  <bruno@clisp.org>
37099
37100         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
37101         include isnanl-nolibm.h.
37102
37103 2007-03-24  Bruno Haible  <bruno@clisp.org>
37104
37105         * tests/test-read-file.c (main): Don't produce spurious output for
37106         expected situations. Make the test fail if it encountered unexpected
37107         results.
37108
37109 2007-03-24  Bruno Haible  <bruno@clisp.org>
37110
37111         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
37112         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
37113
37114 2007-03-24  Bruno Haible  <bruno@clisp.org>
37115
37116         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
37117
37118 2007-03-24  Bruno Haible  <bruno@clisp.org>
37119
37120         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
37121         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
37122
37123         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
37124         * modules/utf8-ucs4: Turn into a symbolic link to module
37125         unistr/u8-mbtouc.
37126
37127         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
37128         utf8-ucs4-unsafe.
37129         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
37130         unistr/u8-mbtouc-unsafe.
37131
37132         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
37133         * modules/utf16-ucs4: Turn into a symbolic link to module
37134         unistr/u16-mbtouc.
37135
37136         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
37137         utf16-ucs4-unsafe.
37138         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
37139         unistr/u16-mbtouc-unsafe.
37140
37141         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
37142         * modules/ucs4-utf8: Turn into a symbolic link to module
37143         unistr/u8-ubtomb.
37144
37145         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
37146         * modules/ucs4-utf16: Turn into a symbolic link to module
37147         unistr/u16-ubtomb.
37148
37149 2007-03-24  Bruno Haible  <bruno@clisp.org>
37150
37151         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
37152         Enable the function only if HAVE_INLINE.
37153         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
37154         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37155         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
37156         Enable the function only if HAVE_INLINE.
37157         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
37158         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
37159         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
37160         Enable the function only if HAVE_INLINE.
37161         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
37162         Enable the function only if HAVE_INLINE.
37163         * modules/utf8-ucs4: Update.
37164         * modules/utf8-ucs4-unsafe: Update.
37165         * modules/utf16-ucs4: Update.
37166         * modules/utf16-ucs4-unsafe: Update.
37167         * modules/ucs4-utf8: Update.
37168         * modules/ucs4-utf16: Update.
37169
37170 2007-03-24  Bruno Haible  <bruno@clisp.org>
37171
37172         * lib/utf8-ucs4.h: Remove file.
37173         * lib/utf8-ucs4-unsafe.h: Remove file.
37174         * lib/utf16-ucs4.h: Remove file.
37175         * lib/utf16-ucs4-unsafe.h: Remove file.
37176         * lib/ucs4-utf8.h: Remove file.
37177         * lib/ucs4-utf16.h: Remove file.
37178         * lib/unistr.h: Include their previous contents.
37179         * m4/utf-ucs4.m4: Remove file.
37180         * m4/ucs4-utf.m4: Remove file.
37181         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
37182         (Depends-on): Add unistr/base.
37183         (configure.ac): Remove gl_UTF_UCS4.
37184         (Makefile.am): Update.
37185         (Include): Change to unistr.h.
37186         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
37187         (Depends-on): Add unistr/base.
37188         (configure.ac): Remove gl_UTF_UCS4.
37189         (Makefile.am): Update.
37190         (Include): Change to unistr.h.
37191         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
37192         (Depends-on): Add unistr/base.
37193         (configure.ac): Remove gl_UTF_UCS4.
37194         (Makefile.am): Update.
37195         (Include): Change to unistr.h.
37196         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
37197         (Depends-on): Add unistr/base.
37198         (configure.ac): Remove gl_UTF_UCS4.
37199         (Makefile.am): Update.
37200         (Include): Change to unistr.h.
37201         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
37202         (Depends-on): Add unistr/base.
37203         (configure.ac): Remove gl_UCS4_UTF.
37204         (Makefile.am): Update.
37205         (Include): Change to unistr.h.
37206         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
37207         (Depends-on): Add unistr/base.
37208         (configure.ac): Remove gl_UCS4_UTF.
37209         (Makefile.am): Update.
37210         (Include): Change to unistr.h.
37211         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
37212         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
37213         utf8-ucs4-unsafe.h.
37214         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
37215         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
37216         utf16-ucs4-unsafe.h.
37217         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
37218         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
37219         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
37220         * lib/unistr/u8-strchr.c: Likewise.
37221         * lib/unistr/u8-strrchr.c: Likewise.
37222         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
37223         * lib/unistr/u16-strchr.c: Likewise.
37224         * lib/unistr/u16-strrchr.c: Likewise.
37225         * lib/striconveh.c: Update.
37226         * lib/linebreak.c: Update.
37227
37228 2007-03-24  Bruno Haible  <bruno@clisp.org>
37229
37230         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
37231         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
37232
37233 2007-03-22  Bruno Haible  <bruno@clisp.org>
37234
37235         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
37236
37237 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
37238
37239         * MODULES.html.sh (File system functions): New module write-any-file.
37240         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
37241         * m4/write-any-file.m4: New files.
37242
37243 2007-03-23  Eric Blake  <ebb9@byu.net>
37244
37245         * gnulib-tool: Rearrange space-tab sequences, since some editors
37246         like to eat them.
37247
37248 2007-03-23  Eric Blake  <ebb9@byu.net>
37249
37250         * lib/version-etc.c (version_etc_va): Update license wording to
37251         be more concise.  Recommended by Richard Stallman.
37252
37253 2007-03-22  Bruno Haible  <bruno@clisp.org>
37254
37255         * lib/poll.c (MSG_PEEK): New fallback definition.
37256
37257 2007-03-22  Bruno Haible  <bruno@clisp.org>
37258
37259         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
37260         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
37261         (main): Update.
37262         Fixes a compilation error on BeOS.
37263
37264 2007-03-22  Bruno Haible  <bruno@clisp.org>
37265
37266         * modules/frexpl-tests: New file.
37267         * tests/test-frexpl.c: New file.
37268
37269         * modules/frexpl: New file.
37270         * m4/frexpl.m4: New file.
37271         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
37272         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
37273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
37274         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
37275         (Depends-on): Add frexpl. Remove isnanl-nolibm.
37276         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
37277
37278 2007-03-22  Bruno Haible  <bruno@clisp.org>
37279
37280         * lib/frexpl.c: Share code with lib/frexp.c.
37281         * modules/mathl (Files): Add lib/frexp.c.
37282         (Depends-on): Add isnanl-nolibm.
37283
37284 2007-03-22  Bruno Haible  <bruno@clisp.org>
37285
37286         * modules/printf-frexp (Files): Add m4/frexp.m4.
37287         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
37288         only if the found frexp function actually works.
37289
37290 2007-03-22  Bruno Haible  <bruno@clisp.org>
37291
37292         * lib/frexp.c: Remove older implementation that uses divisions.
37293
37294 2007-03-21  Bruno Haible  <bruno@clisp.org>
37295
37296         * modules/frexp-tests: New file.
37297         * tests/test-frexp.c: New file.
37298
37299         * modules/frexp: New file.
37300         * lib/frexp.c: New file.
37301         * m4/frexp.m4: New file.
37302         * lib/math_.h (frexp): New declaration.
37303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
37304         REPLACE_FREXP.
37305         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
37306
37307 2007-03-21  Bruno Haible  <bruno@clisp.org>
37308
37309         * modules/isnanl-tests: New file.
37310         * tests/test-isnanl.c: New file.
37311
37312         * modules/isnanl: New file.
37313         * lib/isnanl.h: New file.
37314         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
37315         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
37316         gl_FUNC_ISNANL_WORKS.
37317         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
37318         New macros.
37319
37320 2007-03-21  Bruno Haible  <bruno@clisp.org>
37321
37322         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
37323         lib/isnanl.h.
37324         (Include): Update.
37325         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
37326         * lib/vasnprintf.c: Update.
37327         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
37328         tests/test-isnanl.h, remove tests/test-isnanl.c.
37329         (Makefile.am): Update.
37330         * tests/test-isnanl-nolibm.c: New file.
37331         * tests/test-isnanl.h: New file.
37332         * tests/test-isnanl.c: Remove file.
37333
37334 2007-03-21  Jim Meyering  <jim@meyering.net>
37335
37336         When trying to open ".", treat ESTALE like EACCES.
37337         * lib/savewd.c (savewd_save): Resort to forking not just upon
37338         failure with EACCES, but also when errno is ESTALE.
37339
37340 2007-03-20  Bruno Haible  <bruno@clisp.org>
37341
37342         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
37343         Needed on AIX 5.1. Reported by Matthew Woehlke.
37344
37345 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37346
37347         Suggestions by Bruno Haible:
37348         * lib/acl-internal.h: Include "gettext.h" rather than rolling
37349         our own.
37350         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
37351         * modules/acl (Depends-on): Add gettext.
37352
37353 2007-03-19  Bruno Haible  <bruno@clisp.org>
37354
37355         * modules/iconvme: Remove file.
37356         * lib/iconvme.h: Remove file.
37357         * lib/iconvme.c: Remove file.
37358         * m4/iconvme.m4: Remove file.
37359
37360 2007-03-19  Bruno Haible  <bruno@clisp.org>
37361
37362         * doc/relocatable-maint.texi: Break long shell script line.
37363         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37364
37365 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37366
37367         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
37368         handle file_has_acl.
37369         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
37370         * lib/acl.c: Move header inclusions and related macro defns into
37371         lib/acl-internal.h.
37372         (S_ISLNK): Remove defn, since that's now done for us.
37373         (file_has_acl): Move to lib/file-has-acl.c.
37374         Call acl_trivial if available.  This is the crucial part of the fix.
37375         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
37376         shared within the library.  Rewrite a bit, partly to make it compatible
37377         with the GNU coding style.
37378         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
37379         Remove unnecessary double-quotes.
37380         Don't test for acl_to_text; the build will catch that.
37381         Replace acl_entries if it doesn't exist and it is needed.
37382         Check for -lsec and acl_trivial (as used on Solaris 10).
37383         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
37384         lib/file-has-acl.c.
37385         (Depends-on): Add sys_stat, for S_ISLNK.
37386
37387 2007-03-19  Ben Pfaff  <blp@gnu.org>
37388
37389         * doc/gnulib.texi: Fix typos.
37390         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37391
37392 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37393
37394         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
37395         If size is zero here, buf must be zero.
37396
37397 2007-03-19  Simon Josefsson  <simon@josefsson.org>
37398
37399         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
37400         <bruno@clisp.org>.
37401
37402 2007-03-18  Bruno Haible  <bruno@clisp.org>
37403
37404         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
37405         Suggested by Eric Blake.
37406
37407 2007-03-18  Ben Pfaff  <blp@gnu.org>
37408
37409         * doc/relocatable.texi: Recommend using as prefix a directory
37410         that does not exist and will never be created.  Based on
37411         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
37412         and others.
37413
37414 2007-03-17  Bruno Haible  <bruno@clisp.org>
37415
37416         * lib/fchownat.c: Include lchown.h.
37417
37418 2007-03-17  Bruno Haible  <bruno@clisp.org>
37419
37420         Fix endless loop when the given allocated size was > INT_MAX.
37421         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
37422         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
37423         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
37424         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
37425         * lib/sprintf.c (sprintf): Likewise.
37426
37427 2007-03-17  Bruno Haible  <bruno@clisp.org>
37428
37429         * tests/test-argp-2.sh (func_compare): Output a context diff.
37430
37431 2007-03-17  Bruno Haible  <bruno@clisp.org>
37432
37433         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
37434         locale's decimal-point character.
37435
37436 2007-03-17  Bruno Haible  <bruno@clisp.org>
37437
37438         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
37439         before comparing it. Needed because on some platforms (e.g. x86) a
37440         'long double' occupies less bytes than sizeof (long double).
37441
37442 2007-03-17  Bruno Haible  <bruno@clisp.org>
37443
37444         * tests/test-crc.c (main): Make printf statements 64-bit clean.
37445         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
37446         * tests/test-getaddrinfo.c (simple): Likewise.
37447         * tests/test-read-file.c (main): Likewise.
37448
37449 2007-03-17  Bruno Haible  <bruno@clisp.org>
37450
37451         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
37452
37453 2007-03-17  Bruno Haible  <bruno@clisp.org>
37454
37455         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
37456         unused variable.
37457
37458 2007-03-17  Bruno Haible  <bruno@clisp.org>
37459
37460         * tests/test-c-strcasecmp.c: Include c-strcase.h.
37461         * tests/test-c-strncasecmp.c: Likewise.
37462
37463 2007-03-17  Bruno Haible  <bruno@clisp.org>
37464
37465         * modules/stdlib (Depends-on): Add unistd.
37466         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
37467         Needed for MacOS X 10.3.
37468
37469 2007-03-17  Bruno Haible  <bruno@clisp.org>
37470
37471         * lib/unistr/u-strdup.h: Include <stdlib.h>.
37472
37473 2007-03-17  Bruno Haible  <bruno@clisp.org>
37474
37475         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
37476
37477 2007-03-17  Bruno Haible  <bruno@clisp.org>
37478
37479         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
37480         to reflect files copied from gnulib (with or without modifications).
37481         Suggested by Jim Meyering.
37482
37483 2007-03-17  Eric Blake  <ebb9@byu.net>
37484
37485         * NEWS: Document stdlib change from 2007-02-18.
37486
37487 2007-03-17  Jim Meyering  <jim@meyering.net>
37488
37489         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
37490         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
37491         someone uses a name containing shell meta-characters.
37492         Reported by Alfred M. Szmidt.
37493
37494         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
37495
37496 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37497
37498         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
37499         and copy gettext configuration files only if configure.ac contains
37500         a use of AM_GNU_GETTEXT_VERSION.
37501
37502 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37503
37504         * build-aux/bootstrap (gnulib_name): New variable.
37505         (gnulib_tool_options): Use it.
37506
37507 2007-03-13  Simon Josefsson  <simon@josefsson.org>
37508
37509         * tests/test-des.c: Use new namespace.
37510
37511 2007-03-15  Bruno Haible  <bruno@clisp.org>
37512
37513         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
37514         Reported by James Youngman <jay@gnu.org>.
37515
37516 2007-03-15  Bruno Haible  <bruno@clisp.org>
37517
37518         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
37519         declared prototype. Needed with cc on OSF/1 5.1.
37520
37521 2007-03-15  Bruno Haible  <bruno@clisp.org>
37522
37523         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
37524         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
37525         (struct gl_list_implementation): Add dispose_fn argument to the
37526         'create_empty', 'create' methods.
37527         (struct gl_list_impl_base): Add field 'dispose_fn'.
37528         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
37529         argument.
37530         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
37531         dispose_fn argument.
37532         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
37533         dispose_fn on the dropped values.
37534         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
37535         dispose_fn argument.
37536         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
37537         dropped values.
37538         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
37539         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37540         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
37541         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37542         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
37543         argument.
37544         (gl_tree_list_free): Call dispose_fn on the dropped values.
37545         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
37546         the dropped values.
37547         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37548         Add dispose_fn argument.
37549         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
37550         Call dispose_fn on the dropped values.
37551         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
37552         Add dispose_fn argument.
37553         (gl_sublist_create): Initialize the 'dispose_fn' field.
37554         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
37555         * tests/test-array_list.c (main): Update.
37556         * tests/test-carray_list.c (main): Update.
37557         * tests/test-avltree_list.c (main): Update.
37558         * tests/test-rbtree_list.c (main): Update.
37559         * tests/test-avltreehash_list.c (main): Update.
37560         * tests/test-rbtreehash_list.c (main): Update.
37561         * tests/test-linked_list.c (main): Update.
37562         * tests/test-linkedhash_list.c (main): Update.
37563         * tests/test-array_oset.c (main): Update.
37564
37565 2007-03-15  Bruno Haible  <bruno@clisp.org>
37566
37567         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
37568         (gl_oset_create_empty): Add dispose_fn argument.
37569         (struct gl_oset_implementation): Add dispose_fn argument to
37570         'create_empty' method.
37571         (struct gl_oset_impl_base): Add dispose_fn field.
37572         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
37573         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
37574         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
37575         values.
37576         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
37577         (gl_tree_oset_free): Call dispose_fn on the dropped values.
37578         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37579         dropped value.
37580         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37581         dropped value.
37582         * tests/test-array_oset.c (main): Update.
37583         * tests/test-avltree_oset.c (main): Update.
37584         * tests/test-rbtree_oset.c (main): Update.
37585         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
37586
37587 2007-03-13  Bruno Haible  <bruno@clisp.org>
37588
37589         * tests/test-stdbool.c (i): Update after last patch.
37590
37591 2007-03-12  Bruno Haible  <bruno@clisp.org>
37592
37593         * lib/quotearg.c: Include <wctype.h> early, before the definition of
37594         the iswprint macro. Needed on Solaris 2.5.1.
37595
37596 2007-03-12  Bruno Haible  <bruno@clisp.org>
37597
37598         * tests/test-printf-frexp.c (main): Declare x as volatile.
37599
37600 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37601
37602         * doc/gnulib.texi (Build robot for gnulib): New section.
37603
37604 2007-03-12  Jim Meyering  <jim@meyering.net>
37605
37606         * build-aux/bootstrap: New file.
37607         * build-aux/bootstrap.conf: New file, from coreutils.
37608
37609 2007-03-11  Bruno Haible  <bruno@clisp.org>
37610
37611         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
37612
37613 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37614
37615         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
37616         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
37617         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
37618
37619 2007-03-11  Bruno Haible  <bruno@clisp.org>
37620
37621         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
37622         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
37623
37624 2007-03-11  Bruno Haible  <bruno@clisp.org>
37625
37626         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
37627         formula. Needed for SunPRO C 5.0.
37628
37629 2007-03-11  Bruno Haible  <bruno@clisp.org>
37630
37631         * modules/long-options (Depends-on): Add getopt.
37632
37633 2007-03-11  Bruno Haible  <bruno@clisp.org>
37634
37635         * modules/modechange (Depends-on): Add stdbool.
37636
37637 2007-03-11  Bruno Haible  <bruno@clisp.org>
37638
37639         * modules/i-ring (Depends-on): Add stdbool.
37640
37641 2007-03-11  Bruno Haible  <bruno@clisp.org>
37642
37643         * modules/gc-des (Depends-on): Add stdbool.
37644
37645 2007-03-11  Bruno Haible  <bruno@clisp.org>
37646
37647         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
37648
37649 2007-03-11  Bruno Haible  <bruno@clisp.org>
37650
37651         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
37652
37653 2007-03-11  Bruno Haible  <bruno@clisp.org>
37654
37655         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
37656
37657 2007-03-11  Bruno Haible  <bruno@clisp.org>
37658
37659         * lib/vasnprintf.c (sprintf): Undefine.
37660
37661 2007-03-11  Bruno Haible  <bruno@clisp.org>
37662
37663         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
37664         initializers in SunPRO C and Compaq C compilers.
37665
37666 2007-03-11  Bruno Haible  <bruno@clisp.org>
37667
37668         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
37669         decrementing code ANSI C compliant.
37670
37671 2007-03-11  Bruno Haible  <bruno@clisp.org>
37672
37673         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
37674         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
37675
37676 2007-03-11  Bruno Haible  <bruno@clisp.org>
37677
37678         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
37679         <stdbool.h> substitute doesn't pass.
37680
37681 2007-03-11  Bruno Haible  <bruno@clisp.org>
37682
37683         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
37684
37685 2007-03-11  Bruno Haible  <bruno@clisp.org>
37686
37687         * gnulib-tool (func_create_megatestdir): Create also an autobuild
37688         script, for submission to autobuild.josefsson.org.
37689
37690 2007-03-10  Bruno Haible  <bruno@clisp.org>
37691
37692         * modules/canonicalize-lgpl-tests: New file.
37693         * tests/test-canonicalize-lgpl.sh: New file.
37694         * tests/test-canonicalize-lgpl.c: New file.
37695
37696         * modules/c-strcase-tests: New file.
37697         * tests/test-c-strcase.sh: New file.
37698         * tests/test-c-strcasecmp.c: New file.
37699         * tests/test-c-strncasecmp.c: New file.
37700
37701         * modules/atexit-tests: New file.
37702         * tests/test-atexit.sh: New file.
37703         * tests/test-atexit.c: New file.
37704
37705 2007-03-10  Bruno Haible  <bruno@clisp.org>
37706
37707         * tests/test-binary-io.sh: Use temporary filenames that are not so
37708         likely to clash with those of other tests (in a parallel make).
37709         * tests/test-binary-io.c: Likewise.
37710
37711 2007-03-10  Bruno Haible  <bruno@clisp.org>
37712
37713         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
37714         fallback; use #error instead.
37715         Suggested by Simon Josefsson.
37716
37717 2007-03-10  Bruno Haible  <bruno@clisp.org>
37718
37719         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
37720         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
37721         first and the last.
37722
37723 2007-03-10  Bruno Haible  <bruno@clisp.org>
37724
37725         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
37726
37727 2007-03-10  Bruno Haible  <bruno@clisp.org>
37728
37729         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
37730         "make distcheck".
37731         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
37732         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
37733         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
37734
37735 2007-03-10  Bruno Haible  <bruno@clisp.org>
37736
37737         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
37738         variable.
37739         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
37740         variable.
37741
37742 2007-03-09  Eric Blake  <ebb9@byu.net>
37743         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
37744
37745         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
37746         types are not being provided by gnulib.
37747         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
37748         types are supported.
37749
37750 2007-03-10  Bruno Haible  <bruno@clisp.org>
37751
37752         * lib/stdio_.h (__attribute__): New macro.
37753         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
37754         vsprintf): Specify __attribute__ __format__ for GCC.
37755         Suggested by Eric Blake.
37756
37757 2007-03-09  Bruno Haible  <bruno@clisp.org>
37758
37759         * modules/printf-posix-tests: New file.
37760         * tests/test-printf-posix.sh: New file.
37761         * tests/test-printf-posix.c: New file.
37762
37763         * modules/printf-posix: New file.
37764         * lib/printf.c: New file.
37765         * m4/printf-posix-rpl.m4: New file.
37766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
37767         REPLACE_PRINTF.
37768         * lib/stdio_.h (printf): New declaration.
37769         (format, __format__, ____printf____, ____scanf____, ____strftime____,
37770         ____strfmon____): New macros.
37771         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
37772         REPLACE_PRINTF.
37773
37774 2007-03-09  Bruno Haible  <bruno@clisp.org>
37775
37776         * tests/test-vasnprintf-posix2.sh: New file.
37777         * tests/test-vasnprintf-posix2.c: New file.
37778         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
37779         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37780         (Makefile.am): Activate test-vasnprintf-posix2.sh.
37781
37782         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
37783         a locale dependent decimal point, rather than always '.'.
37784
37785 2007-03-09  Eric Blake  <ebb9@byu.net>
37786
37787         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
37788         spite of platforms like Tandem/NSK that define it to -1.
37789
37790 2007-03-08  Bruno Haible  <bruno@clisp.org>
37791
37792         * modules/vprintf-posix-tests: New file.
37793         * tests/test-vprintf-posix.sh: New file.
37794         * tests/test-vprintf-posix.c: New file.
37795         * tests/test-printf-posix.h: New file.
37796
37797         * modules/vprintf-posix: New file.
37798         * lib/vprintf.c: New file.
37799         * m4/vprintf-posix.m4: New file.
37800         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
37801         REPLACE_VPRINTF.
37802         * lib/stdio_.h (vprintf): New declaration.
37803         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
37804         REPLACE_VPRINTF.
37805
37806 2007-03-08  Bruno Haible  <bruno@clisp.org>
37807
37808         * modules/fprintf-posix-tests: New file.
37809         * tests/test-fprintf-posix.sh: New file.
37810         * tests/test-fprintf-posix.c: New file.
37811
37812         * modules/fprintf-posix: New file.
37813         * lib/fprintf.c: New file.
37814         * m4/fprintf-posix.m4: New file.
37815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
37816         REPLACE_FPRINTF.
37817         * lib/stdio_.h (fprintf): New declaration.
37818         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
37819         REPLACE_FPRINTF.
37820
37821 2007-03-08  Bruno Haible  <bruno@clisp.org>
37822
37823         * modules/vfprintf-posix-tests: New file.
37824         * tests/test-vfprintf-posix.sh: New file.
37825         * tests/test-vfprintf-posix.c: New file.
37826         * tests/test-fprintf-posix.h: New file.
37827         * tests/test-fprintf-posix.out: New file.
37828
37829         * modules/vfprintf-posix: New file.
37830         * lib/vfprintf.c: New file.
37831         * m4/vfprintf-posix.m4: New file.
37832         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
37833         REPLACE_VFPRINTF.
37834         * lib/stdio_.h (vfprintf): New declaration.
37835         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
37836         REPLACE_VFPRINTF.
37837
37838 2007-03-08  Bruno Haible  <bruno@clisp.org>
37839
37840         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
37841
37842 2007-03-08  Bruno Haible  <bruno@clisp.org>
37843
37844         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
37845         instead of 'expr' invocations.
37846         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37847         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37848         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37849         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37850         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37851         Suggested by Paul Eggert.
37852
37853 2007-03-08  Bruno Haible  <bruno@clisp.org>
37854
37855         * modules/fseterr-tests: New file.
37856         * tests/test-fseterr.c: New file.
37857
37858         * modules/fseterr: New file.
37859         * lib/fseterr.h: New file.
37860         * lib/fseterr.c: New file.
37861
37862 2007-03-08  Bruno Haible  <bruno@clisp.org>
37863
37864         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
37865         * lib/getopt_.h: Likewise.
37866         * lib/mbswidth.h: Likewise.
37867         * lib/setenv.h: Likewise.
37868         * lib/vasnprintf.h: Likewise.
37869         * lib/vasprintf.h: Likewise.
37870         * lib/verror.h: Likewise.
37871         * lib/xsetenv.h: Likewise.
37872         * lib/xvasprintf.h: Likewise.
37873
37874 2007-03-08  Jim Meyering  <jim@meyering.net>
37875
37876         * users.txt: Add parted.
37877
37878         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
37879
37880 2007-03-07  Bruno Haible  <bruno@clisp.org>
37881
37882         * m4/printf.m4: Make the shell script snippets copy&pastable.
37883
37884 2007-03-02  Bruno Haible  <bruno@clisp.org>
37885
37886         * lib/netinet_in_.h: New file.
37887         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
37888         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
37889         * modules/netinet_in (Files): Add lib/netinet_in_.h.
37890         (Depends-on): Add absolute-header.
37891         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
37892         into netinet/in.h.
37893
37894 2007-03-03  Bruno Haible  <bruno@clisp.org>
37895
37896         * lib/sys_select_.h: New file.
37897         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
37898         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
37899         * modules/sys_select (Files): Add lib/sys_select_.h.
37900         (Depends-on): Add absolute-header.
37901         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
37902         into sys/select.h.
37903
37904 2007-03-02  Bruno Haible  <bruno@clisp.org>
37905
37906         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
37907         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
37908         values.
37909         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
37910         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
37911         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
37912         * modules/sys_socket (Depends-on): Add absolute-header.
37913         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
37914         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
37915         (Include): Remove requirement of inclusion of <sys/types.h>.
37916
37917 2007-03-02  Bruno Haible  <bruno@clisp.org>
37918
37919         * lib/byteswap_.h (bswap_32): Fix formula.
37920
37921 2007-03-06  Bruno Haible  <bruno@clisp.org>
37922
37923         * modules/sprintf-posix-tests: New file.
37924         * tests/test-sprintf-posix.c: New file.
37925
37926         * modules/sprintf-posix: New file.
37927         * lib/sprintf.c: New file.
37928         * m4/sprintf-posix.m4: New file.
37929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
37930         REPLACE_SPRINTF.
37931         * lib/stdio_.h (sprintf): New declaration.
37932         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
37933         REPLACE_SPRINTF.
37934
37935 2007-03-06  Bruno Haible  <bruno@clisp.org>
37936
37937         * modules/vsprintf-posix-tests: New file.
37938         * tests/test-vsprintf-posix.c: New file.
37939         * tests/test-sprintf-posix.h: New file.
37940
37941         * modules/vsprintf-posix: New file.
37942         * lib/vsprintf.c: New file.
37943         * m4/vsprintf-posix.m4: New file.
37944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
37945         REPLACE_VSPRINTF.
37946         * lib/stdio_.h (vsprintf): New declaration.
37947         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
37948         REPLACE_VSPRINTF.
37949
37950 2007-03-06  Bruno Haible  <bruno@clisp.org>
37951
37952         * modules/vsnprintf (Depend-on): Remove minmax.
37953
37954 2007-03-06  Bruno Haible  <bruno@clisp.org>
37955
37956         * modules/snprintf-posix-tests: New file.
37957         * tests/test-snprintf-posix.c: New file.
37958
37959         * modules/snprintf-posix: New file.
37960         * m4/snprintf-posix.m4: New file.
37961         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
37962         gl_FUNC_SNPRINTF.
37963         (gl_FUNC_SNPRINTF): Invoke it.
37964         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
37965         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
37966         is set.
37967         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
37968
37969 2007-03-06  Bruno Haible  <bruno@clisp.org>
37970
37971         * modules/vsnprintf-posix-tests: New file.
37972         * tests/test-vsnprintf-posix.c: New file.
37973         * tests/test-snprintf-posix.h: New file.
37974
37975         * modules/vsnprintf-posix: New file.
37976         * m4/vsnprintf-posix.m4: New file.
37977         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
37978         gl_FUNC_VSNPRINTF.
37979         (gl_FUNC_VSNPRINTF): Invoke it.
37980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
37981         * lib/stdio_.h (vsnprintf): Define as a replacement if
37982         REPLACE_VSNPRINTF is set.
37983         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
37984
37985 2007-03-06  Bruno Haible  <bruno@clisp.org>
37986
37987         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
37988         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
37989
37990 2007-03-06  Bruno Haible  <bruno@clisp.org>
37991
37992         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
37993         (asinl): Declare also if HAVE_DECL_ASINL is set.
37994         (atanl): Declare also if HAVE_DECL_ATANL is set.
37995         (ceill): Declare also if HAVE_DECL_CEILL is set.
37996         (cosl): Declare also if HAVE_DECL_COSL is set.
37997         (expl): Declare also if HAVE_DECL_EXPL is set.
37998         (floorl): Declare also if HAVE_DECL_FLOORL is set.
37999         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
38000         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
38001         (logl): Declare also if HAVE_DECL_LOGL is set.
38002         (sinl): Declare also if HAVE_DECL_SINL is set.
38003         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
38004         (tanl): Declare also if HAVE_DECL_TANL is set.
38005         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
38006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
38007         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
38008         declaration of frexpl, ldexpl.
38009         * modules/printf-frexpl (Depends-on): Add math.
38010         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
38011
38012 2007-03-05  Bruno Haible  <bruno@clisp.org>
38013
38014         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
38015         frexpl and ldexpl are declared.
38016         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
38017
38018 2007-03-05  Bruno Haible  <bruno@clisp.org>
38019
38020         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
38021         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
38022
38023 2007-03-05  Bruno Haible  <bruno@clisp.org>
38024
38025         * lib/stdio_.h: Include <stddef.h>.
38026
38027 2007-03-05  Bruno Haible  <bruno@clisp.org>
38028
38029         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
38030
38031 2007-03-05  Bruno Haible  <bruno@clisp.org>
38032
38033         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
38034         NetBSD 4, from Ralf Wildenhues.
38035
38036 2007-03-04  Bruno Haible  <bruno@clisp.org>
38037
38038         * lib/vasprintf.h: Update #if logic for the case when the functions
38039         exist but are overridden.
38040
38041 2007-03-04  Bruno Haible  <bruno@clisp.org>
38042
38043         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
38044         implementations: glibc-2.4 and MacOS X 10.3.
38045         * tests/test-vasnprintf-posix.c (test_function): Test also the case
38046         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
38047         * tests/test-vasprintf-posix.c (test_function): Likewise.
38048
38049 2007-03-04  Bruno Haible  <bruno@clisp.org>
38050
38051         * modules/vasprintf-posix-tests: New file.
38052         * tests/test-vasprintf-posix.c: New file.
38053
38054         * modules/vasprintf-posix: New file.
38055         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
38056         defined.
38057         * m4/vasprintf-posix.m4: New file.
38058         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
38059         gl_FUNC_VASPRINTF.
38060         (gl_FUNC_VASPRINTF): Invoke it.
38061         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
38062         here.
38063         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
38064
38065 2007-03-04  Bruno Haible  <bruno@clisp.org>
38066
38067         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
38068         REPLACE_GETTIMEOFDAY.
38069         * modules/sys_time (Makefile.am): Likewise.
38070         * m4/sys_time_h.m4: Likewise.
38071         * m4/gettimeofday.m4: Likewise.
38072
38073 2007-03-04  Bruno Haible  <bruno@clisp.org>
38074
38075         * modules/vasnprintf-posix-tests: New file.
38076         * tests/test-vasnprintf-posix.c: New file.
38077
38078         * modules/vasnprintf-posix: New file.
38079         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
38080         printf-frexpl.h.
38081         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
38082         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
38083         REPLACE_VASNPRINTF is defined.
38084         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
38085         gl_FUNC_VASNPRINTF.
38086         (gl_FUNC_VASNPRINTF): Invoke it.
38087         * m4/vasnprintf-posix.m4: New file.
38088         * m4/printf.m4: New file.
38089
38090 2007-03-04  Bruno Haible  <bruno@clisp.org>
38091
38092         Compile progreloc.c only if --enable-relocatable is specified.
38093         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
38094         if --enable-relocatable was specified.
38095         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
38096         lib_SOURCES.
38097
38098 2007-03-04  Jim Meyering  <jim@meyering.net>
38099
38100         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
38101         Use it consistently, rather than enumerating errno constants.
38102
38103 2007-03-04  Bruno Haible  <bruno@clisp.org>
38104
38105         * modules/xvasprintf-tests: New file.
38106         * tests/test-xvasprintf.c: New file.
38107
38108         * modules/vasprintf-tests: New file.
38109         * tests/test-vasprintf.c: New file.
38110
38111         * modules/vasnprintf-tests: New file.
38112         * tests/test-vasnprintf.c: New file.
38113
38114         * modules/vsnprintf-tests: New file.
38115         * tests/test-vsnprintf.c: New file.
38116
38117         * modules/snprintf-tests: New file.
38118         * tests/test-snprintf.c: New file.
38119
38120 2007-03-04  Bruno Haible  <bruno@clisp.org>
38121
38122         Compile relocatable.c only if --enable-relocatable is specified.
38123         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
38124         gl_RELOCATABLE_LIBRARY.
38125         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
38126         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
38127         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
38128         gl_RELOCATABLE_LIBRARY.
38129         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
38130         (Makefile.am): Remove lib_SOURCES.
38131         * modules/relocatable-lib-lgpl (configure.ac): Invoke
38132         gl_RELOCATABLE_LIBRARY.
38133         (Makefile.am): Remove lib_SOURCES.
38134         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
38135         always.
38136         * modules/relocatable-prog-wrapper (configure.ac): Invoke
38137         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
38138
38139 2007-03-04  Bruno Haible  <bruno@clisp.org>
38140
38141         * modules/argmatch-tests: New file.
38142         * tests/test-argmatch.c: New file.
38143
38144         * tests/test-allocsa.c (main): Halve the number of loop runs.
38145
38146         * modules/alloca-opt-tests: New file.
38147         * tests/test-alloca-opt.c: New file.
38148
38149 2007-03-04  Jim Meyering  <jim@meyering.net>
38150
38151         Work around difference between Linux ACLs and Solaris 10 ZFS.
38152         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
38153         for EINVAL.
38154
38155 2007-03-03  Bruno Haible  <bruno@clisp.org>
38156
38157         * modules/relocatable-prog (Depends-on): Add back progreloc's
38158         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
38159
38160 2007-03-03  Bruno Haible  <bruno@clisp.org>
38161
38162         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
38163         * modules/relocatable-lib: New file.
38164
38165 2007-03-03  Bruno Haible  <bruno@clisp.org>
38166
38167         * modules/relocatable-prog: Renamed from modules/relocatable.
38168         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
38169
38170 2007-03-03  Bruno Haible  <bruno@clisp.org>
38171
38172         * modules/relocatable-script (Files): Add doc/relocatable.texi,
38173         m4/relocatable-lib.m4.
38174         (Depends-on): Remove 'relocatable'.
38175         (configure.ac): Add gl_RELOCATABLE_NOP.
38176
38177 2007-03-03  Bruno Haible  <bruno@clisp.org>
38178
38179         * modules/relocatable-prog-wrapper: New file.
38180         * modules/relocatable (Depends-on): Add it. Remove all other
38181         dependencies except progname.
38182         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
38183
38184         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
38185         (gl_FUNC_STRERROR): Nop.
38186         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
38187
38188         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
38189         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
38190
38191         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
38192         (gl_FUNC_READLINK): Update.
38193
38194         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
38195
38196 2007-03-03  Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/xreadlink.c: Include <unistd.h> unconditionally.
38199         * modules/xreadlink (Depends-on): Add unistd.
38200         * modules/xreadlink-with-size (Depends-on): Likewise.
38201
38202 2007-03-03  Bruno Haible  <bruno@clisp.org>
38203
38204         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
38205         extracted from gt_FUNC_SETENV.
38206         (gt_FUNC_SETENV): Remove macro.
38207         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
38208         remove gt_FUNC_SETENV.
38209
38210 2007-03-03  Bruno Haible  <bruno@clisp.org>
38211
38212         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
38213         ENABLE_RELOCATABLE here.
38214         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
38215
38216 2007-03-03  Bruno Haible  <bruno@clisp.org>
38217
38218         * modules/rbtreehash-list-tests (Depends-on): Add progname.
38219         * tests/test-rbtreehash_list.c: Include progname.h.
38220         (main): Call set_program_name.
38221
38222         * modules/rbtree-oset-tests (Depends-on): Add progname.
38223         * tests/test-rbtree_oset.c: Include progname.h.
38224         (main): Call set_program_name.
38225
38226         * modules/rbtree-list-tests (Depends-on): Add progname.
38227         * tests/test-rbtree_list.c: Include progname.h.
38228         (main): Call set_program_name.
38229
38230         * modules/linked-list-tests (Depends-on): Add progname.
38231         * tests/test-linked_list.c: Include progname.h.
38232         (main): Call set_program_name.
38233
38234 2007-03-03  Bruno Haible  <bruno@clisp.org>
38235
38236         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
38237         All uses of __restrict changed to _Restrict_.
38238         * lib/glob_.h (__restrict): Remove macro.
38239
38240 2007-03-02  Bruno Haible  <bruno@clisp.org>
38241
38242         * modules/gettext (configure.ac): Require gettext infrastructure
38243         from version 0.16.1.
38244
38245 2007-03-02  Bruno Haible  <bruno@clisp.org>
38246
38247         * modules/linkedhash-list-tests (Depends-on): Add progname.
38248         * tests/test-linkedhash_list.c: Include progname.h.
38249         (main): Call set_program_name.
38250
38251         * modules/carray-list-tests (Depends-on): Add progname.
38252         * tests/test-carray_list.c: Include progname.h.
38253         (main): Call set_program_name.
38254
38255         * modules/avltreehash-list-tests (Depends-on): Add progname.
38256         * tests/test-avltreehash_list.c: Include progname.h.
38257         (main): Call set_program_name.
38258
38259         * modules/avltree-oset-tests (Depends-on): Add progname.
38260         * tests/test-avltree_oset.c: Include progname.h.
38261         (main): Call set_program_name.
38262
38263         * modules/avltree-list-tests (Depends-on): Add progname.
38264         * tests/test-avltree_list.c: Include progname.h.
38265         (main): Call set_program_name.
38266
38267         * modules/array-oset-tests (Depends-on): Add progname.
38268         * tests/test-array_oset.c: Include progname.h.
38269         (main): Call set_program_name.
38270
38271         * modules/array-list-tests (Depends-on): Add progname.
38272         * tests/test-array_list.c: Include progname.h.
38273         (main): Call set_program_name.
38274
38275         * modules/argp-tests (Depends-on): Add progname.
38276         * tests/test-argp.c: Include argp.h first. Include progname.h.
38277         (main): Call set_program_name.
38278
38279 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
38280
38281         * doc/gnulib-tool.texi (Initial import): Reword description of
38282         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
38283         limited effect even if defined after the first system include.
38284
38285 2007-03-01  Bruno Haible  <bruno@clisp.org>
38286
38287         * build-aux/config.libpath: Update to libtool-1.5.22.
38288         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38289
38290 2007-03-01  Bruno Haible  <bruno@clisp.org>
38291
38292         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
38293         foo_CFLAGS.
38294         Reported by Ralf Wildenhues.
38295
38296 2007-03-01  Bruno Haible  <bruno@clisp.org>
38297
38298         * build-aux/install-reloc: Remove object files left over by some
38299         compilers.
38300         Reported by Ralf Wildenhues.
38301
38302 2007-03-01  Bruno Haible  <bruno@clisp.org>
38303
38304         * build-aux/install-reloc: Break long lines.
38305
38306 2007-03-01  Bruno Haible  <bruno@clisp.org>
38307
38308         * doc/relocatable.texi: Document that it may not work on OpenBSD.
38309         Reported by Ralf Wildenhues.
38310
38311 2007-03-01  Bruno Haible  <bruno@clisp.org>
38312
38313         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
38314         include ordering constraints.
38315
38316 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38317
38318         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
38319         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
38320         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
38321         as another example.
38322         * lib/time_.h: Fix misspelling.
38323         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38324         Require gl_HEADER_TIME_H_DEFAULTS.
38325         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
38326         * m4/time_r.m4 (gl_TIME_R): Likewise.
38327         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
38328
38329 2007-03-01  Bruno Haible  <bruno@clisp.org>
38330
38331         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
38332         * m4/utimens.m4 (gl_UTIMENS): Likewise.
38333
38334 2007-03-01  Jim Meyering  <jim@meyering.net>
38335
38336         * modules/xreadlink (Maintainer): Add my name.
38337         * modules/xreadlink-with-size (Depends-on): Alphabetize.
38338
38339 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
38340             Bruno Haible  <bruno@clisp.org>
38341
38342         * build-aux/install-reloc: Compile also c-ctype.c.
38343         * build-aux/relocatable.sh.in: New file.
38344         * doc/relocatable.texi: New file.
38345         * doc/relocatable-maint.texi: New file.
38346         * doc/gnulib.texi: Include relocatable-maint.texi.
38347         * lib/progreloc.c: Include unistd.h unconditionally.
38348         * lib/relocwrapper.c: Include unistd.h unconditionally.
38349         Include c-ctype.h.
38350         (add_dotbin): Use c_tolower.
38351         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
38352         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
38353         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
38354         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
38355         to m4/relocatable-lib.m4.
38356         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
38357         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
38358         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
38359         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
38360         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
38361         * modules/relocatable: New file.
38362         * modules/relocatable-lib: New file.
38363         * modules/relocatable-script: New file.
38364
38365 2007-02-28  Bruno Haible  <bruno@clisp.org>
38366
38367         Import --enable-relocatable infrastructure.
38368         * build-aux/config.libpath: New file, from GNU gettext.
38369         * build-aux/install-reloc: New file, from GNU gettext.
38370         * build-aux/reloc-ldflags: New file, from GNU gettext.
38371         * lib/relocatable.h: New file, from GNU gettext.
38372         * lib/relocatable.c: New file, from GNU gettext.
38373         * lib/relocwrapper.c: New file, from GNU gettext.
38374         * m4/relocatable.m4: New file, from GNU gettext.
38375
38376 2007-02-28  Bruno Haible  <bruno@clisp.org>
38377
38378         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
38379
38380         * modules/xreadlink: New file, from GNU gettext with modifications.
38381         * lib/xreadlink.c: New file, from GNU gettext.
38382         * lib/xreadlink.h: Add comments.
38383         (xreadlink): New declaration.
38384
38385         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
38386         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
38387         lib/xreadlink-with-size.c.
38388         (configure.ac): Remove gl_XREADLINK invocation.
38389         (Makefile.am): Augment lib_SOURCES.
38390         * m4/xreadlink.m4: Remove file.
38391         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
38392         (xreadlink_with_size): Renamed from xreadink.
38393         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
38394         * modules/canonicalize (Depends-on): Replace xreadlink with
38395         xreadlink-with-size.
38396         * lib/canonicalize.c (canonicalize_filename_mode): Update.
38397
38398 2007-02-25  Jim Meyering  <jim@meyering.net>
38399
38400         * build-aux/announce-gen: When complaining about excess arguments,
38401         list them.
38402
38403 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
38404
38405         * README: Document signed integer overflow situation more
38406         accurately.
38407
38408 2007-02-25  Bruno Haible  <bruno@clisp.org>
38409
38410         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
38411         'a' or 'A' conversion.
38412
38413 2007-02-25  Bruno Haible  <bruno@clisp.org>
38414
38415         * modules/filename: Renamed from modules/pathname.
38416         (Files): Replace lib/pathname.h with lib/filename.h. Replace
38417         lib/concatpath.c with lib/concat-filename.c.
38418         (Makefile.am): Update.
38419         (Include): Replace pathname.h with filename.h.
38420         * lib/filename.h: Renamed from lib/pathname.h.
38421         (concatenated_filename): Renamed from concatenated_pathname.
38422         * lib/concat-filename.c: Renamed from lib/concatpath.c.
38423         (concatenated_filename): Renamed from concatenated_pathname.
38424         * lib/findprog.c: Include filename.h instead of pathname.h.
38425         (find_in_path): Update.
38426         * lib/javacomp.c: Include filename.h instead of pathname.h.
38427         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38428         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38429         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38430         is_oldgcj_14_13_usable, is_javac_usable): Update.
38431         * lib/javaexec.c: Include filename.h instead of pathname.h.
38432         (execute_java_class): Update.
38433         * modules/findprog: Update.
38434         * modules/javacomp: Update.
38435         * modules/javaexec: Update.
38436         * MODULES.html.sh (File system functions): Add 'filename', remove
38437         'pathname'.
38438
38439 2007-02-25  Bruno Haible  <bruno@clisp.org>
38440
38441         * modules/printf-frexpl-tests: New file.
38442         * tests/test-printf-frexpl.c: New file.
38443
38444         * modules/printf-frexpl: New file.
38445         * lib/printf-frexpl.h: New file.
38446         * lib/printf-frexpl.c: New file.
38447         * m4/printf-frexpl.m4: New file.
38448
38449 2007-02-25  Bruno Haible  <bruno@clisp.org>
38450
38451         * modules/printf-frexp-tests: New file.
38452         * tests/test-printf-frexp.c: New file.
38453
38454         * modules/printf-frexp: New file.
38455         * lib/printf-frexp.h: New file.
38456         * lib/printf-frexp.c: New file.
38457         * m4/printf-frexp.m4: New file.
38458
38459 2007-02-25  Bruno Haible  <bruno@clisp.org>
38460
38461         Assume automake >= 1.10 for the tests.
38462         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
38463         * modules/arctwo-tests: Likewise.
38464         * modules/argp-tests: Likewise.
38465         * modules/avltree-list-tests: Likewise.
38466         * modules/avltree-oset-tests: Likewise.
38467         * modules/avltreehash-list-tests: Likewise.
38468         * modules/carray-list-tests: Likewise.
38469         * modules/crc-tests: Likewise.
38470         * modules/des-tests: Likewise.
38471         * modules/gc-arcfour-tests: Likewise.
38472         * modules/gc-arctwo-tests: Likewise.
38473         * modules/gc-des-tests: Likewise.
38474         * modules/gc-hmac-md5-tests: Likewise.
38475         * modules/gc-hmac-sha1-tests: Likewise.
38476         * modules/gc-md2-tests: Likewise.
38477         * modules/gc-md4-tests: Likewise.
38478         * modules/gc-md5-tests: Likewise.
38479         * modules/gc-pbkdf2-sha1-tests: Likewise.
38480         * modules/gc-rijndael-tests: Likewise.
38481         * modules/gc-sha1-tests: Likewise.
38482         * modules/gc-tests: Likewise.
38483         * modules/getaddrinfo-tests: Likewise.
38484         * modules/hmac-md5-tests: Likewise.
38485         * modules/hmac-sha1-tests: Likewise.
38486         * modules/linked-list-tests: Likewise.
38487         * modules/linkedhash-list-tests: Likewise.
38488         * modules/lock-tests: Likewise.
38489         * modules/md2-tests: Likewise.
38490         * modules/md4-tests: Likewise.
38491         * modules/md5-tests: Likewise.
38492         * modules/rbtree-list-tests: Likewise.
38493         * modules/rbtree-oset-tests: Likewise.
38494         * modules/rbtreehash-list-tests: Likewise.
38495         * modules/read-file-tests: Likewise.
38496         * modules/rijndael-tests: Likewise.
38497         * modules/stdint-tests: Likewise.
38498         * modules/tls-tests: Likewise.
38499
38500 2007-02-24  Bruno Haible  <bruno@clisp.org>
38501
38502         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
38503         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
38504         function; instead check whether isnan with a double argument links.
38505         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
38506         function; instead check whether isnan with a 'long double' argument
38507         links.
38508         Reported by Eric Blake <ebb9@byu.net>.
38509
38510 2007-02-24  Bruno Haible  <bruno@clisp.org>
38511
38512         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
38513         defined.
38514         * lib/isnanl.c: Remove all code. Just include isnan.c.
38515         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
38516
38517 2007-02-25  Jim Meyering  <jim@meyering.net>
38518
38519         Avoid conflicting types for 'unsetenv' on FreeBSD.
38520         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
38521         conflicting with FreeBSD's (5.0 and 6.1) function declaration
38522         in stdlib.h.
38523
38524 2007-02-24  Bruno Haible  <bruno@clisp.org>
38525
38526         * modules/isnanl-nolibm-tests: New file.
38527         * tests/test-isnanl.c: New file.
38528
38529         * modules/isnanl-nolibm: New file.
38530         * lib/isnanl.h: New file.
38531         * lib/isnanl.c: New file.
38532         * m4/isnanl.m4: New file.
38533
38534 2007-02-24  Bruno Haible  <bruno@clisp.org>
38535
38536         * modules/isnan-nolibm-tests: New file.
38537         * tests/test-isnan.c: New file.
38538
38539         * modules/isnan-nolibm: New file.
38540         * lib/isnan.h: New file.
38541         * lib/isnan.c: New file.
38542         * m4/isnan.m4: New file.
38543
38544 2007-02-24  Bruno Haible  <bruno@clisp.org>
38545
38546         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
38547         assume that an exponent fits in 20 bits.
38548
38549 2007-02-24  Jim Meyering  <jim@meyering.net>
38550
38551         * m4/regex.m4: Update the description of the configure-time option,
38552         --without-included-regex, to state accurately what the defaults are,
38553         and perhaps to give people an idea why using this option is risky.
38554
38555 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38556
38557         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
38558         loops on small arguments.  This attempts to avoid the problem
38559         Bruno Haible reported for AIX 4.3.2 in
38560         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
38561
38562 2007-02-23  Bruno Haible  <bruno@clisp.org>
38563
38564         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
38565         Needed for help2man.
38566
38567 2007-02-23  Karl Berry  <karl@gnu.org>
38568
38569         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
38570         exists, foo.h should be cvs-ignored, not committed.
38571
38572 2007-02-23  Eric Blake  <ebb9@byu.net>
38573
38574         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
38575         * lib/stat-time.h (includes): Likewise.
38576         * lib/utimecmp.c (includes): Likewise.
38577         * lib/utimens.h (includes): Likewise.
38578         * lib/getdate.y (includes): Also include "timespec.h" for use
38579         internal to the module.
38580         * modules/utimens (Depends-on): Revert yesterday's patch.
38581         * modules/nanosleep (Depends-on): Add missing dependency.
38582
38583 2007-02-22  Bruno Haible  <bruno@clisp.org>
38584
38585         * lib/glob.c: Don't include getlogin_r.h.
38586
38587 2007-02-22  Jim Meyering  <jim@meyering.net>
38588
38589         * modules/utimens (Depends-on): Add timespec, required for
38590         utimens.h's inclusion of timespec.h.
38591
38592 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
38593
38594         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
38595         long unreadable paths in GNU/Linux.  Problem reported by Andreas
38596         Schwab in
38597         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
38598         I'll try to think of a better way to fix the Solaris problem.
38599
38600         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
38601         like glibc; on Solaris 10, it fails with errno == EINVAL.
38602         POSIX says the behavior is unspecified if the first argument is NULL,
38603         so play it safe and never pass NULL to the system getcwd.
38604
38605 2007-02-21  Jim Meyering  <jim@meyering.net>
38606
38607         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
38608         of gettimeofday.  It would conflict with the one now always
38609         provided via sys_time_.h.  Reported by Matthew Woehlke, as
38610         an IRIX 6.5 build failure.
38611
38612 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38613
38614         Minor fixups to port to Solaris 10 with Sun C 5.8.
38615         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
38616         * modules/getcwd (Depends-on): Add dirfd.
38617         * lib/putenv.c (putenv): #undef it.
38618         (rpl_putenv): New decl.
38619         (malloc, free): Include <stdlib.h> rather than prototyping separately.
38620
38621 2007-02-20  Bruno Haible  <bruno@clisp.org>
38622
38623         * modules/stdio-tests: New file.
38624         * tests/test-stdio.c: New file.
38625
38626         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
38627         (Depends-on): Add stdio.
38628         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38629         (Include): Use <stdio.h> instead of vsnprintf.h.
38630         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38631         HAVE_DECL_VSNPRINTF.
38632         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
38633
38634         * modules/snprintf (Files): Remove lib/snprintf.h.
38635         (Depends-on): Add stdio.
38636         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38637         (Include): Use <stdio.h> instead of snprintf.h.
38638         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38639         HAVE_DECL_SNPRINTF.
38640         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
38641         * lib/getaddrinfo.c: Likewise.
38642
38643         * modules/stdio: New file.
38644         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
38645         * lib/snprintf.h: Remove file.
38646         * lib/vsnprintf.h: Remove file.
38647         * lib/.cppi-disable: Remove snprintf.h.
38648         * m4/stdio_h.m4: New file.
38649         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
38650
38651 2007-02-20  Jim Meyering  <jim@meyering.net>
38652
38653         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
38654         used by e.g., mingw.  From Bruno Haible.
38655
38656 2007-02-19  Bruno Haible  <bruno@clisp.org>
38657
38658         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
38659         warnings.
38660         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38661
38662 2007-02-19  Bruno Haible  <bruno@clisp.org>
38663
38664         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
38665         from mingw users.
38666
38667 2007-02-19  Bruno Haible  <bruno@clisp.org>
38668
38669         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
38670         warnings.
38671         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
38672
38673 2007-02-19  Jim Meyering  <jim@meyering.net>
38674
38675         Don't use FD after a successful "fdopendir (fd)".
38676         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
38677         Reset it by calling dirfd on the just-obtained DIR*.
38678
38679         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
38680         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
38681
38682 2007-02-18  Bruno Haible  <bruno@clisp.org>
38683
38684         * lib/readlink.c: Include <unistd.h>.
38685         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
38686         HAVE_READLINK.
38687         * modules/readlink (Depends-on): Add unistd.
38688         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38689         (Include): Add <unistd.h>.
38690
38691         * lib/getlogin_r.h: Remove file.
38692         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
38693         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
38694         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
38695         HAVE_DECL_GETLOGIN_R.
38696         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
38697         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38698         (Include): Use <unistd.h> instead of getlogin_r.h.
38699
38700         * lib/getcwd.h: Remove file.
38701         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
38702         * lib/xgetcwd.c: Likewise.
38703         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
38704         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
38705         * modules/getcwd (Files): Remove lib/getcwd.h.
38706         (Depends-on): Add unistd.
38707         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38708         (Include): Use <unistd.h> instad of getcwd.h.
38709
38710         * lib/ftruncate.c: Include <unistd.h> first.
38711         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
38712         Set HAVE_FTRUNCATE.
38713         * modules/ftruncate (Depends-on): Add unistd.
38714         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38715
38716         * lib/fchdir.c: Include <unistd.h> first.
38717         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
38718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
38719         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
38720         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38721         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
38722
38723         * lib/dup2.c: Include <unistd.h> first.
38724         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
38725         HAVE_DUP2.
38726         * modules/dup2 (Depends-on): Add unistd.
38727         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38728
38729         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
38730         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
38731         REPLACE_CHOWN. Don't define chown as a macro here.
38732         * modules/chown (Depends-on): Add unistd.
38733         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38734
38735         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
38736         Add definition for GL_LINK_WARNING.
38737         (chown, dup2): New declarations.
38738         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
38739         link warning.
38740         (ftruncate): New declaration.
38741         (getcwd): New declaration, taken from old getcwd.h.
38742         (getlogin_r): New declaration, taken from old getlogin_r.h.
38743         (readlink): New declaration.
38744         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
38745         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
38746         (gl_PREREQ_UNISTD): Remove macro.
38747         (gl_UNISTD_MODULE_INDICATOR): New macro.
38748         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
38749         many new variables. Don't set UNISTD_H.
38750         * modules/unistd (Description): Change.
38751         (Depends-on): Add link-warning.
38752         (configure.ac): Update.
38753         (Makefile.am): Create unistd.h always. Substitute many new variables
38754         into it.
38755
38756 2007-02-18  Bruno Haible  <bruno@clisp.org>
38757
38758         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
38759         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
38760         HAVE_GETSUBOPT.
38761         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
38762         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
38763         * lib/getsubopt.h: Remove file.
38764         * modules/getsubopt (Files): Remove lib/getsubopt.h.
38765         (Depends-on): Add stdlib.
38766         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38767         (Includes): Use <stdlib.h> instead of getsubopt.h.
38768         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
38769         Set HAVE_GETSUBOPT.
38770         * lib/getsubopt.c: Don't include getsubopt.h.
38771
38772 2007-02-18  Bruno Haible  <bruno@clisp.org>
38773
38774         * modules/fchdir (Depends-on): Add dup2.
38775
38776 2007-02-18  Bruno Haible  <bruno@clisp.org>
38777
38778         * lib/stdlib_.h: Handle glibc's special invocation convention
38779         specially.
38780
38781 2007-02-18  Bruno Haible  <bruno@clisp.org>
38782
38783         * modules/stdlib-tests: New file.
38784         * tests/test-stdlib.c: New file.
38785
38786         * modules/mkstemp (Files): Remove lib/mkstemp.h.
38787         (Depends-on): Add stdlib.
38788         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38789         (Includes): Use <stdlib.h> instead of mkstemp.h.
38790         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38791         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
38792         * lib/mkstemp.c: Don't include mkstemp.h.
38793         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
38794         * lib/stdlib--.h: Don't include mkstemp.h.
38795
38796         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
38797         (Depends-on): Add stdlib.
38798         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38799         (Includes): Use <stdlib.h> instead of mkdtemp.h.
38800         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38801         HAVE_MKDTEMP.
38802         * lib/mkdtemp.c: Don't include mkdtemp.h.
38803         * lib/clean-temp.c: Don't include mkdtemp.h.
38804
38805         * modules/exit (Files): Remove lib/exit.h.
38806         (Depends-on): Add stdlib.
38807         (Makefile.am): Remove lib_SOURCES.
38808         (Include): Use <stdlib.h> instead of exit.h.
38809         * lib/argmatch.c: Don't include exit.h.
38810         * lib/execute.c: Likewise.
38811         * lib/pagealign_alloc.c: Likewise.
38812         * lib/pipe.c: Likewise.
38813         * lib/wait-process.c: Likewise.
38814         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
38815         * lib/exitfail.c: Likewise.
38816         * lib/savewd.c: Likewise.
38817         * lib/xsetenv.c: Likewise.
38818
38819         * modules/stdlib: New file.
38820         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
38821         and extra comments about mkstemp().
38822         * lib/exit.h: Remove file.
38823         * lib/mkdtemp.h: Remove file.
38824         * lib/mkstemp.h: Remove file.
38825         * m4/stdlib_h.m4: New file.
38826         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
38827
38828 2007-02-18  Bruno Haible  <bruno@clisp.org>
38829
38830         * modules/math-tests: New file.
38831         * tests/test-math.c: New file.
38832
38833         * modules/math: New file.
38834         * modules/mathl (Files): Remove lib/mathl.h.
38835         (Depends-on): Add math.
38836         (Makefile.am): Don't mention mathl.h.
38837         (Include): Use <math.h> instead of mathl.h.
38838         * lib/math_.h: New file.
38839         * lib/mathl.h: Remove file.
38840         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
38841         mathl.h.
38842         * lib/asinl.c: Likewise.
38843         * lib/atanl.c: Likewise.
38844         * lib/ceill.c: Likewise.
38845         * lib/cosl.c: Likewise.
38846         * lib/expl.c: Likewise.
38847         * lib/floorl.c: Likewise.
38848         * lib/frexpl.c: Likewise.
38849         * lib/ldexpl.c: Likewise.
38850         * lib/logl.c: Likewise.
38851         * lib/sincosl.c: Likewise.
38852         * lib/sinl.c: Likewise.
38853         * lib/sqrtl.c: Likewise.
38854         * lib/tanl.c: Likewise.
38855         * lib/trigl.c: Likewise.
38856         * m4/math_h.m4: New file.
38857         * MODULES.html.sh (Mathematics): Add math.
38858
38859 2007-02-17  Bruno Haible  <bruno@clisp.org>
38860
38861         * modules/wctype-tests: New file.
38862         * tests/test-wctype.c: New file.
38863
38864         * modules/wchar-tests: New file.
38865         * tests/test-wchar.c: New file.
38866
38867         * modules/unistd-tests: New file.
38868         * tests/test-unistd.c: New file.
38869
38870         * modules/time-tests: New file.
38871         * tests/test-time.c: New file.
38872
38873         * modules/sysexits-tests: New file.
38874         * tests/test-sysexits.c: New file.
38875
38876         * modules/sys_time-tests: New file.
38877         * tests/test-sys_time.c: New file.
38878
38879         * modules/sys_stat-tests: New file.
38880         * tests/test-sys_stat.c: New file.
38881
38882         * modules/sys_socket-tests: New file.
38883         * tests/test-sys_socket.c: New file.
38884
38885         * modules/sys_select-tests: New file.
38886         * tests/test-sys_select.c: New file.
38887
38888         * modules/string-tests: New file.
38889         * tests/test-string.c: New file.
38890
38891         * modules/stdbool-tests: New file.
38892         * tests/test-stdbool.c: New file.
38893
38894         * modules/netinet_in-tests: New file.
38895         * tests/test-netinet_in.c: New file.
38896
38897         * modules/inttypes-tests: New file.
38898         * tests/test-inttypes.c: New file.
38899
38900         * modules/fcntl-tests: New file.
38901         * tests/test-fcntl.c: New file.
38902
38903         * modules/byteswap-tests: New file.
38904         * tests/test-byteswap.c: New file.
38905
38906         * modules/arpa_inet-tests: New file.
38907         * tests/test-arpa_inet.c: New file.
38908
38909 2007-02-17  Bruno Haible  <bruno@clisp.org>
38910
38911         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
38912         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
38913         if the corresponding module is not enabled. Emit link warnings if
38914         the function is used nevertheless.
38915         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
38916         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
38917         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
38918         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
38919         * modules/inttypes (Depends-on): Add link-warning.
38920         (Makefile.am): Copy the contents of build-aux/link-warning.h into
38921         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
38922         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
38923         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
38924         * modules/imaxdiv (configure.ac): Likewise.
38925         * modules/strtoimax (configure.ac): Likewise.
38926         * modules/strtoumax (configure.ac): Likewise.
38927
38928 2007-02-17  Bruno Haible  <bruno@clisp.org>
38929
38930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
38931         gl_STRING_MODULE_INDICATOR_DEFAULTS.
38932         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
38933         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
38934
38935 2007-02-17  Bruno Haible  <bruno@clisp.org>
38936
38937         * modules/link-warning: New file.
38938         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
38939         * lib/string_.h (GL_LINK_WARNING): Remove definition.
38940         * modules/string (Depends-on): Add link-warning.
38941         (Makefile.am): Copy the contents of build-aux/link-warning.h into
38942         string.h.
38943         * MODULES.html.sh (Support for building libraries and executables): Add
38944         link-warning.
38945
38946 2007-02-17  Bruno Haible  <bruno@clisp.org>
38947
38948         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
38949         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
38950         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
38951         long lines.
38952
38953 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
38954             Bruno Haible  <bruno@clisp.org>
38955
38956         * modules/tmpfile: New file.
38957         * lib/tmpfile.c: New file.
38958         * m4/tmpfile.m4: New file.
38959         * MODULES.html.sh (func_all_modules): New section "Input/output".
38960
38961 2007-02-15  Bruno Haible  <bruno@clisp.org>
38962
38963         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
38964         (supports_delete_on_close): New function.
38965         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
38966
38967 2007-02-14  Bruno Haible  <bruno@clisp.org>
38968
38969         * modules/mbspcasecmp-tests: New file.
38970         * tests/test-mbspcasecmp.sh: New file.
38971         * tests/test-mbspcasecmp.c: New file.
38972
38973         New module mbspcasecmp.
38974         * modules/mbspcasecmp: New file.
38975         * lib/mbspcasecmp.c: New file.
38976         * lib/string_.h (strncasecmp): Change warning message.
38977         (mbspcasecmp): New declaration.
38978         * m4/mbspcasecmp.m4: New file.
38979         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38980         GNULIB_MBSPCASECMP.
38981         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
38982         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
38983
38984 2007-02-14  Bruno Haible  <bruno@clisp.org>
38985
38986         * modules/mbsncasecmp-tests: New file.
38987         * tests/test-mbsncasecmp.sh: New file.
38988         * tests/test-mbsncasecmp.c: New file.
38989
38990         New module mbsncasecmp.
38991         * modules/mbsncasecmp: New file.
38992         * lib/mbsncasecmp.c: New file.
38993         * lib/string_.h (mbsncasecmp): New declaration.
38994         * m4/mbsncasecmp.m4: New file.
38995         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38996         GNULIB_MBSNCASECMP.
38997         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
38998         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
38999
39000 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39001
39002         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
39003         Verify that it doesn't overlap with our flags.
39004         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
39005         do not have the desired effect in multibyte locales; instead, use
39006         mbscasecmp.
39007         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
39008         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
39009         we don't require GNU fnmatch ourselves (if our users require it, they
39010         should do so explicitly).
39011
39012         Fix regex code so it doesn't rely on strcasecmp.
39013         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
39014         Otherwise, include gnulib's langinfo.h.
39015         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
39016         undesirable behavior in non-C locales.  Instead, rely on localecharset.
39017         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
39018         * modules/regex (FILES): Remove m4/codeset.m4.
39019         (Depends-on): Add localcharset.  Remove strcase.
39020
39021 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39022
39023         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
39024         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
39025
39026 2007-02-13  Bruno Haible  <bruno@clisp.org>
39027
39028         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
39029         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39030
39031 2007-02-12  Bruno Haible  <bruno@clisp.org>
39032
39033         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39034         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
39035         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
39036         time warning rather than a link error.
39037
39038 2007-02-12  Bruno Haible  <bruno@clisp.org>
39039
39040         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
39041         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
39042         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39043
39044 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39045
39046         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
39047         args, not 2.
39048
39049 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
39050
39051         New module 'time', so that apps can include <time.h> as per
39052         POSIX and GNU instead of separate include files like time_r.h
39053         and timegm.h.  This implementation tries out a simpler approach
39054         for replacing decls in standard include files (as compared to
39055         the string module), somewhat as an experiment.
39056
39057         * config/srclist.txt: Comment out mktime.c for now.
39058         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
39059         since it doesn't apply any more.  Use generic wording instead.
39060         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
39061         'time'.
39062         * lib/time_.h, m4/time_h.m4, modules/time: New files.
39063         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
39064         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
39065         Don't include <sys/types.h>; no longer needed since we assume C89.
39066         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
39067         * lib/strftime.c: Likewise.
39068         * lib/time_r.c: Likewise.
39069         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
39070         * lib/nanosleep.c: Include <time.h> first, to check interface.
39071         * lib/strptime.c: Likewise.
39072         * lib/time_r.c: Likewise.
39073         * lib/timegm.c: Likewise.
39074         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
39075         needed.
39076         * lib/timegm.c: Don't include timegm.h; no longer needed.
39077         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
39078         time.h now handles any problems in that area.
39079         (struct timespec, nanosleep): Remove; time.h now arranges for these.
39080         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
39081         that time.h defines struct timespec.
39082         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
39083         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
39084         handles that.
39085         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
39086         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
39087         needed.  Set REPLACE_LOCALTIME.
39088         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
39089         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
39090         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
39091         nanosleep; time_h.m4 now does that.  Don't require
39092         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
39093         module handles this now.
39094         * modules/getdate (Depends-on): Remove timespec.  Add time.
39095         * modules/nanosleep (Depends-on): Likewise.
39096         * modules/stat-time (Depends-on): Likewise.
39097         * modules/nanosleep (Include): Include time.h, not timespec.h.
39098         * modules/strptime (Files): Remove lib/strptime.h.
39099         (Depends-on): Add extensions, time.
39100         (Include): Include time.h, not strptime.h.
39101         * modules/time_r (Files): Remove lib/time_r.h.
39102         (Depends-on): Add time.
39103         (Include): Include time.h, not time_r.h.
39104         * modules/timegm: Likewise.
39105         * modules/timespec (Description): Now does timespec-related decls
39106         of our own, instead of struct timespec itself.
39107         (Depends-on): Add time; remove extensions.
39108         (Maintainer): Add self.
39109         * modules/utimecmp (Depends-on): Add time; remove timespec.
39110         * modules/utimens (Depends-on): Likewise.
39111         * modules/xnanosleep (Depends-on): Likewise.
39112
39113 2007-02-11  Bruno Haible  <bruno@clisp.org>
39114
39115         * lib/c-strstr.c: Include allocsa.h.
39116         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39117         * lib/c-strcasestr.c: Include allocsa.h.
39118         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39119         * lib/strcasestr.c: Include allocsa.h.
39120         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
39121         * lib/mbsstr.c: Include allocsa.h.
39122         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39123         allocsa/freesa instead of malloc/free.
39124         * lib/mbscasestr.c: Include allocsa.h.
39125         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
39126         allocsa/freesa instead of malloc/free.
39127         * modules/c-strstr (Depends-on): Add allocsa.
39128         * modules/c-strcasestr (Depends-on): Likewise.
39129         * modules/strcasestr (Depends-on): Likewise.
39130         * modules/mbsstr (Depends-on): Likewise.
39131         * modules/mbscasestr (Depends-on): Likewise.
39132
39133 2007-02-11  Bruno Haible  <bruno@clisp.org>
39134
39135         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
39136
39137         * modules/mbsspn-tests: New file.
39138         * tests/test-mbsspn.sh: New file.
39139         * tests/test-mbsspn.c: New file.
39140
39141 2007-02-11  Bruno Haible  <bruno@clisp.org>
39142
39143         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
39144
39145         * modules/mbspbrk-tests: New file.
39146         * tests/test-mbspbrk.sh: New file.
39147         * tests/test-mbspbrk.c: New file.
39148
39149 2007-02-11  Bruno Haible  <bruno@clisp.org>
39150
39151         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
39152         unneeded cast.
39153
39154         * modules/mbscspn-tests: New file.
39155         * tests/test-mbscspn.sh: New file.
39156         * tests/test-mbscspn.c: New file.
39157
39158 2007-02-11  Bruno Haible  <bruno@clisp.org>
39159
39160         * modules/mbscasecmp-tests: New file.
39161         * tests/test-mbscasecmp.sh: New file.
39162         * tests/test-mbscasecmp.c: New file.
39163
39164 2007-02-11  Bruno Haible  <bruno@clisp.org>
39165
39166         Ensure O(n) worst-case complexity of mbscasestr.
39167         * lib/mbscasestr.c: Include stdbool.h.
39168         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39169         functions.
39170         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
39171         the bookkeeping indicates that it's worth it.
39172         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
39173
39174         * modules/mbscasestr-tests: New file.
39175         * tests/test-mbscasestr1.c: New file.
39176         * tests/test-mbscasestr2.sh: New file.
39177         * tests/test-mbscasestr2.c: New file.
39178         * tests/test-mbscasestr3.sh: New file.
39179         * tests/test-mbscasestr3.c: New file.
39180         * tests/test-mbscasestr4.sh: New file.
39181         * tests/test-mbscasestr4.c: New file.
39182         * m4/locale-tr.m4: New file.
39183
39184 2007-02-11  Bruno Haible  <bruno@clisp.org>
39185
39186         Ensure O(n) worst-case complexity of mbsstr.
39187         * lib/mbsstr.c: Include stdbool.h.
39188         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
39189         functions.
39190         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
39191         bookkeeping indicates that it's worth it.
39192         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
39193
39194         * modules/mbsstr-tests: New file.
39195         * tests/test-mbsstr1.c: New file.
39196         * tests/test-mbsstr2.sh: New file.
39197         * tests/test-mbsstr2.c: New file.
39198         * tests/test-mbsstr3.sh: New file.
39199         * tests/test-mbsstr3.c: New file.
39200         * m4/locale-fr.m4: New file.
39201
39202 2007-02-11  Bruno Haible  <bruno@clisp.org>
39203
39204         * lib/mbsrchr.c (mbsrchr): Fix bug.
39205
39206         * modules/mbsrchr-tests: New file.
39207         * tests/test-mbsrchr.sh: New file.
39208         * tests/test-mbsrchr.c: New file.
39209
39210 2007-02-11  Bruno Haible  <bruno@clisp.org>
39211
39212         * lib/mbschr.c (mbschr): Fix bug.
39213
39214         * modules/mbschr-tests: New file.
39215         * tests/test-mbschr.sh: New file.
39216         * tests/test-mbschr.c: New file.
39217         * m4/locale-zh.m4: New file.
39218
39219 2007-02-11  Bruno Haible  <bruno@clisp.org>
39220
39221         Support for copying multibyte string iterators.
39222         * lib/mbiter.h: Include <string.h>.
39223         (mbiter_multi_copy): New function.
39224         (mbi_copy): New macro.
39225         * lib/mbuiter.h: Include <string.h>.
39226         (mbuiter_multi_copy): New function.
39227         (mbui_copy): New macro.
39228
39229 2007-02-11  Bruno Haible  <bruno@clisp.org>
39230
39231         New module mbslen.
39232         * modules/mbslen: New file.
39233         * lib/mbslen.c: New file.
39234         * lib/string_.h (mbslen): New declaration.
39235         * m4/mbslen.m4: New file.
39236         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39237         GNULIB_MBSLEN.
39238         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
39239         * MODULES.html.sh (Internationalization functions): Add mbslen.
39240
39241 2007-02-11  Bruno Haible  <bruno@clisp.org>
39242
39243         Ensure O(n) worst-case complexity of strcasestr substitute.
39244         * lib/strcasestr.c: Include stdbool.h.
39245         (knuth_morris_pratt): New function.
39246         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39247         bookkeeping indicates that it's worth it.
39248         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
39249
39250         * modules/strcasestr-tests: New file.
39251         * tests/test-strcasestr.c: New file.
39252
39253 2007-02-11  Bruno Haible  <bruno@clisp.org>
39254
39255         Ensure O(n) worst-case complexity of c_strcasestr.
39256         * lib/c-strcasestr.c: Include stdbool.h, string.h.
39257         (knuth_morris_pratt): New function.
39258         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
39259         the bookkeeping indicates that it's worth it.
39260         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
39261
39262         * modules/c-strcasestr-tests: New file.
39263         * tests/test-c-strcasestr.c: New file.
39264
39265 2007-02-11  Bruno Haible  <bruno@clisp.org>
39266
39267         Ensure O(n) worst-case complexity of c_strstr.
39268         * lib/c-strstr.c: Include stdbool.h, string.h.
39269         (knuth_morris_pratt): New function.
39270         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39271         bookkeeping indicates that it's worth it.
39272         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
39273
39274         * lib/c-strstr.c: Complete rewrite for maintainability.
39275
39276         * modules/c-strstr-tests: New file.
39277         * tests/test-c-strstr.c: New file.
39278
39279 2007-02-11  Bruno Haible  <bruno@clisp.org>
39280
39281         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
39282         5.2.1 and earlier, whereby \055 was treated just like the range
39283         delimiter '-'.
39284         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39285
39286 2007-02-08  Bruno Haible  <bruno@clisp.org>
39287
39288         * modules/regex (Depends-on): Add stdbool.
39289         Reported by Dalibor Topic <robilad@kaffe.org>.
39290
39291 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39292
39293         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
39294         Prefer returning from main to exiting from it.
39295         Remove unnecessary parens after sizeof.
39296
39297 2007-02-05  Bruno Haible  <bruno@clisp.org>
39298
39299         New module mbssep.
39300         * modules/mbssep: New file.
39301         * lib/mbssep.c: New file.
39302         * lib/string_.h (strsep): Add a conditional link warning.
39303         (mbssep): New declaration.
39304         * m4/mbssep.m4: New file.
39305         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39306         GNULIB_MBSSEP.
39307         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
39308         * MODULES.html.sh (Internationalization functions): Add mbssep.
39309
39310 2007-02-05  Bruno Haible  <bruno@clisp.org>
39311
39312         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
39313         Optimize search in case of 1 delimiter.
39314
39315 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39316
39317         * lib/acl.h: Include sys/types.h before sys/acl.h.
39318
39319 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39320
39321         Merge upstream fix for glibc bugzilla #3957:
39322
39323         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
39324
39325         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
39326         bit for RE_HAT_LISTS_NOT_NEWLINE.
39327         (build_charclass_op): Remove bogus comment.
39328
39329 2007-02-05  Simon Josefsson  <simon@josefsson.org>
39330
39331         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
39332
39333 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39334
39335         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
39336         * lib/memmem.c [!defined _LIBC]: Include config.h.
39337
39338 2007-02-04  Bruno Haible  <bruno@clisp.org>
39339
39340         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
39341         warning message.
39342
39343 2007-02-04  Bruno Haible  <bruno@clisp.org>
39344
39345         New module mbstok_r.
39346         * modules/mbstok_r: New file.
39347         * lib/mbstok_r.c: New file.
39348         * lib/string_.h (strtok_r): Change argument names to match the
39349         comments. Add a conditional link warning.
39350         (mbstok_r): New declaration.
39351         * m4/mbstok_r.m4: New file.
39352         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39353         GNULIB_MBSTOK_R.
39354         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
39355         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
39356
39357 2007-02-04  Bruno Haible  <bruno@clisp.org>
39358
39359         New module mbsspn.
39360         * modules/mbsspn: New file.
39361         * lib/mbsspn.c: New file.
39362         * lib/string_.h (strspn): Add a conditional link warning.
39363         (mbsspn): New declaration.
39364         * m4/mbsspn.m4: New file.
39365         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39366         GNULIB_MBSSPN.
39367         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
39368         * MODULES.html.sh (Internationalization functions): Add mbsspn.
39369
39370 2007-02-04  Bruno Haible  <bruno@clisp.org>
39371
39372         New module mbspbrk.
39373         * modules/mbspbrk: New file.
39374         * lib/mbspbrk.c: New file.
39375         * lib/string_.h (strpbrk): Add a conditional link warning.
39376         (mbspbrk): New declaration.
39377         * m4/mbspbrk.m4: New file.
39378         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39379         GNULIB_MBSPBRK.
39380         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
39381         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
39382
39383 2007-02-04  Bruno Haible  <bruno@clisp.org>
39384
39385         New module mbscspn.
39386         * modules/mbscspn: New file.
39387         * lib/mbscspn.c: New file.
39388         * lib/string_.h (strcspn): Add a conditional link warning.
39389         (mbscspn): New declaration.
39390         * m4/mbscspn.m4: New file.
39391         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39392         GNULIB_MBSCSPN.
39393         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
39394         * MODULES.html.sh (Internationalization functions): Add mbscspn.
39395
39396 2007-02-04  Bruno Haible  <bruno@clisp.org>
39397
39398         New module mbscasestr, reduced goal of strcasestr.
39399         * modules/mbscasestr: New file.
39400         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
39401         (mbscasestr): Renamed from strcasestr.
39402         * lib/strcasestr.c: Don't include mbuiter.h.
39403         (strcasestr): Remove support for multibyte locales.
39404         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
39405         Change the conditional link warning.
39406         (mbscasestr): New declaration.
39407         * m4/mbscasestr.m4: New file.
39408         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
39409         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
39410         REPLACE_STRCASESTR.
39411         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
39412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39413         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39414         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
39415         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
39416         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39417         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
39418         (Depends-on): Remove mbuiter.
39419         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
39420
39421 2007-02-04  Bruno Haible  <bruno@clisp.org>
39422
39423         Simplify handling of strncasecmp.
39424         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
39425         the conditional link warning.
39426         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39427         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
39428         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
39429         * modules/strcase (configure.ac): Don't invoke
39430         gl_STRING_MODULE_INDICATOR.
39431         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
39432
39433 2007-02-04  Bruno Haible  <bruno@clisp.org>
39434
39435         New module mbscasecmp, reduced goal of strcasecmp.
39436         * modules/mbscasecmp: New file.
39437         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
39438         (mbscasecmp): Renamed from strcasecmp.
39439         * lib/strcasecmp.c: Don't include mbuiter.h.
39440         (strcasecmp): Remove support for multibyte locales.
39441         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
39442         Change the conditional link warning.
39443         (mbscasecmp): New declaration.
39444         * m4/mbscasecmp.m4: New file.
39445         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
39446         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
39447         REPLACE_STRCASECMP.
39448         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
39449         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39450         GNULIB_MBSCASECMP.
39451         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
39452         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
39453         * modules/strcase (Files): Remove m4/mbrtowc.m4.
39454         (Depends-on): Remove mbuiter.
39455         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
39456
39457 2007-02-04  Bruno Haible  <bruno@clisp.org>
39458
39459         New module mbsstr. Remove module strstr.
39460         * modules/mbsstr: New file.
39461         * modules/strstr: Remove file.
39462         * lib/mbsstr.c: Renamed from lib/strstr.c.
39463         (mbsstr): Renamed from strstr.
39464         * lib/string_.h (strstr): Remove declaration. Change the conditional
39465         link warning.
39466         (mbsstr): New declaration.
39467         * m4/mbsstr.m4: New file.
39468         * m4/strstr.m4: Remove file.
39469         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
39470         REPLACE_STRSTR.
39471         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
39472         Don't initialize GNULIB_STRSTR.
39473         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
39474         substitute GNULIB_STRSTR and REPLACE_STRSTR.
39475         * MODULES.html.sh (Internationalization functions): Add mbsstr.
39476         (Support for systems lacking ANSI C 89): Remove strstr.
39477
39478 2007-02-04  Bruno Haible  <bruno@clisp.org>
39479
39480         New module mbsrchr.
39481         * modules/mbsrchr: New file.
39482         * lib/mbsrchr.c: New file.
39483         * lib/string_.h (strrchr): Add a conditional link warning.
39484         (mbsrchr): New declaration.
39485         * m4/mbsrchr.m4: New file.
39486         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39487         GNULIB_MBSRCHR.
39488         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
39489         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
39490
39491 2007-02-04  Bruno Haible  <bruno@clisp.org>
39492
39493         New module mbschr.
39494         * modules/mbschr: New file.
39495         * lib/mbschr.c: New file.
39496         * lib/string_.h (strchr): Add a conditional link warning.
39497         (mbschr): New declaration.
39498         * m4/mbschr.m4: New file.
39499         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39500         GNULIB_MBSCHR.
39501         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
39502         * MODULES.html.sh (Internationalization functions): Add mbschr.
39503
39504 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39505
39506         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
39507
39508         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
39509
39510 2007-02-04  Bruno Haible  <bruno@clisp.org>
39511
39512         New module description section 'configure.ac-early'.
39513         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
39514         (func_get_autoconf_early_snippet): New function.
39515         (func_import, func_create_testdir): Use it. Remove special cases for
39516         modules 'extensions' and 'lock'.
39517         * modules/extensions (configure.ac-early): Require
39518         gl_USE_SYSTEM_EXTENSIONS.
39519         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
39520
39521 2007-02-04  Bruno Haible  <bruno@clisp.org>
39522
39523         Make use of gcj-4.3's -fsource and -ftarget option.
39524         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
39525         and if so try the options -fsource and -ftarget.
39526         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
39527         source_version, ftarget_option, target_version arguments.
39528         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
39529         (is_envjavac_oldgcj_14_14_usable): Renamed from
39530         is_envjavac_gcj_14_14_usable.
39531         (is_envjavac_oldgcj_14_13_usable): Renamed from
39532         is_envjavac_gcj_14_13_usable.
39533         (is_gcj_present): Update.
39534         (is_gcj_43, is_gcj43_usable): New functions.
39535         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
39536         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
39537         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
39538         try the options -fsource and -ftarget.
39539
39540 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39541
39542         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
39543         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
39544         larger value.
39545
39546 2007-02-03  Jim Meyering  <jim@meyering.net>
39547
39548         Give tools a better chance to allocate space for very large buffers.
39549         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
39550
39551         Make pwd and readlink work also when run with an unreadable parent dir
39552         on systems with openat support.
39553         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
39554         provided getcwd function, even when we have openat support.
39555         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
39556
39557 2007-02-02  Bruno Haible  <bruno@clisp.org>
39558
39559         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39560         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
39561         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
39562         portability problems if one of these functions is only used on specific
39563         platforms.
39564         Reported by Paul Eggert.
39565
39566 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
39567
39568         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
39569         is causing more trouble than it's curing.
39570         * lib/regex_internal.h (__mempcpy): Remove.
39571         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
39572         (and make the code a tad smaller to boot).
39573         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
39574
39575 2007-02-02  Jim Meyering  <jim@meyering.net>
39576
39577         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
39578         section, not in the Makefile.am: one.
39579
39580 2007-02-02  Eric Blake  <ebb9@byu.net>
39581
39582         * lib/strchrnul.c: Always include config.h first.
39583
39584         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
39585         gnulib strstr is not necessary here.
39586
39587 2007-02-02  Simon Josefsson  <simon@josefsson.org>
39588
39589         * m4/socklen.m4: Fix typo.
39590
39591 2007-02-02  Eric Blake  <ebb9@byu.net>
39592
39593         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
39594         * modules/netinet_in (Makefile.am): Likewise.
39595
39596 2007-02-01  Bruno Haible  <bruno@clisp.org>
39597
39598         * lib/string_.h (GL_LINK_WARNING): New macro.
39599         (strcasecmp, strstr, strcasestr): If provided by the system,
39600         conditionally define as a macro that leads to a warning instead of to
39601         an error.
39602         (strncasecmp): Conditionally define as a macro that leads to a warning.
39603
39604 2007-02-01  Karl Berry  <karl@gnu.org>
39605
39606         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
39607
39608 2007-02-01  Bruno Haible  <bruno@clisp.org>
39609
39610         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
39611         renamings.
39612
39613 2007-02-01  Eric Blake  <ebb9@byu.net>
39614
39615         * modules/regex (Depends-on): Revert dependence on mempcpy.
39616         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
39617         module's definition of mempcpy.
39618         Reported by Paul Eggert.
39619
39620 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39621
39622         * lib/string_.h: If the gnulib module XYZ is not present, undefine
39623         the symbol XYZ before redefining it.  This fixes a problem with
39624         programs that don't use XYZ, when compiled on systems that define
39625         XYZ to something else.
39626
39627 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
39628
39629         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
39630         occurs when "mkdir -m foo" creates a setgid directory that is (1)
39631         writeable to group or other and (2) is intended to have a special
39632         mode bit that is set or cleared.  In such a case, the directory
39633         should be neither group- nor other-writeable until the special
39634         mode bits are right.
39635
39636 2007-01-31  Eric Blake  <ebb9@byu.net>
39637
39638         * modules/mountlist (Depends-on): Add strstr.
39639
39640         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
39641         bug.
39642         * modules/string (Makefile.am): Remove redundant replacement.
39643         * modules/regex (Depends-on): Add mempcpy.
39644
39645 2007-01-31  Bruno Haible  <bruno@clisp.org>
39646
39647         New module description field 'Link'.
39648         * gnulib-tool (func_usage): Document --extract-link-directive.
39649         (sed_extract_prog): Recognize 'Link' directive.
39650         (func_get_link_directive): New function.
39651         (func_import): Show summary of link directives.
39652         Handle --extract-link-directive option.
39653         * modules/acl (Link): New section.
39654         * modules/clock-time (Link): New section.
39655         * modules/euidaccess (Link): New section.
39656         * modules/gettext (Link): New section.
39657         * modules/iconv (Link): New section.
39658         * modules/lock (Link): New section.
39659         * modules/nanosleep (Link): New section.
39660         * modules/readline (Link): New section.
39661
39662 2007-01-27  Bruno Haible  <bruno@clisp.org>
39663
39664         Enforce the use of gnulib modules for unportable <string.h> functions.
39665         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
39666         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
39667         (gl_HEADER_STRING_H_BODY): Require it.
39668         * lib/string_.h: If the gnulib module XYZ is not present, redefine
39669         the symbol XYZ to one that gives a link error.
39670         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
39671         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
39672         * modules/mempcpy (configure.ac): Likewise.
39673         * modules/memrchr (configure.ac): Likewise.
39674         * modules/stpcpy (configure.ac): Likewise.
39675         * modules/stpncpy (configure.ac): Likewise.
39676         * modules/strcase (configure.ac): Likewise.
39677         * modules/strcasestr (configure.ac): Likewise.
39678         * modules/strchrnul (configure.ac): Likewise.
39679         * modules/strdup (configure.ac): Likewise.
39680         * modules/strndup (configure.ac): Likewise.
39681         * modules/strnlen (configure.ac): Likewise.
39682         * modules/strpbrk (configure.ac): Likewise.
39683         * modules/strsep (configure.ac): Likewise.
39684         * modules/strstr (configure.ac): Likewise.
39685         * modules/strtok_r (configure.ac): Likewise.
39686
39687 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
39688
39689         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
39690
39691 2007-01-30  Jim Meyering  <jim@meyering.net>
39692
39693         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
39694
39695 2007-01-29  Bruno Haible  <bruno@clisp.org>
39696
39697         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
39698         * lib/execute.c: Likewise.
39699         * lib/pipe.c: Likewise.
39700         * lib/printf-args.h: Likewise.
39701         * lib/printf-args.c: Likewise.
39702         * lib/printf-parse.c: Likewise.
39703         * lib/vasnprintf.c: Likewise.
39704
39705 2007-01-29  Eric Blake  <ebb9@byu.net>
39706
39707         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
39708         declaration.
39709
39710 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
39711
39712         * lib/strptime.h (strptime): Use 'restrict' for args where
39713         POSIX requires this.
39714         * lib/strptime.c (strptime): Likewise.
39715         Change license notice from LGPL to GPL, since gnulib-tool will
39716         change this as needed.
39717         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
39718         defined.
39719         Include "strptime.h" first, to check interface.
39720         Do not #undef _LIBC and _NL_CURRENT.
39721         Do not include <stdlib.h>; no longer needed.
39722         Include "time_r.h" and declare ptime_locale_status
39723         only if _LIBC is not defined.
39724         (__P): Remove unused macro.
39725         (match_string): Bring back glibc version, but use it only if _LIBC
39726         is defined.
39727         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
39728         Remove unnecessary assertion and abort() call.
39729         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
39730         * m4/strptime.m4: Fix serial number comment.
39731         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
39732         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
39733         (Depends-on): Add time_r.
39734
39735 2007-01-29  Bruno Haible  <bruno@clisp.org>
39736
39737         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39738         strptime.
39739         * modules/strptime (Depends-on): Add stdbool.
39740         * lib/strptime.h: Include <time.h> always. Add comments.
39741
39742 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39743
39744         * modules/strptime: New file.
39745         * lib/strptime.h: New file.
39746         * lib/strptime.c: New file.
39747         * m4/strptime.m4: New file.
39748
39749 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39750
39751         * MODULES.html.sh: New module mpsort.
39752         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
39753
39754         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
39755         a circularity problem with HP-UX ia64 reported by Bob Proulx in
39756         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
39757         All uses changed.
39758         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
39759         All uses changed.
39760         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
39761         to _Restrict_.
39762         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
39763         the parameter matches the prototype.
39764
39765 2007-01-28  Jim Meyering  <jim@meyering.net>
39766
39767         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
39768         sys/time.h here, reverting that part of the previous patch:
39769         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
39770
39771 2007-01-28  Bruno Haible  <bruno@clisp.org>
39772
39773         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
39774         value of $(SYS_TIME_H).
39775         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
39776         remove it conditionally, too. [added by Jim Meyering]
39777         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
39778         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
39779         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
39780         GETTIMEOFDAY_REPLACEMENT to 1.
39781
39782 2007-01-28  Bruno Haible  <bruno@clisp.org>
39783
39784         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
39785         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
39786         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
39787         Set UNISTD_H instead of UNISTD_H2.
39788         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
39789
39790 2007-01-28  Bruno Haible  <bruno@clisp.org>
39791
39792         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
39793         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
39794
39795 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39796
39797         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
39798         (func_create_testdir): Ensure C locale for `grep' and `tr'
39799         character ranges.
39800         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
39801         ACLOCAL_AMFLAGS parsing state machine.
39802
39803 2007-01-27  Bruno Haible  <bruno@clisp.org>
39804
39805         * modules/unistr/base: Update.
39806
39807 2007-01-27  Bruno Haible  <bruno@clisp.org>
39808
39809         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
39810         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
39811         * modules/unistr/u32-mbtouc-unsafe: Renamed from
39812         modules/unistr/u32-mbtouc.
39813         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
39814         * lib/unistr.h: Update.
39815         * lib/linebreak.c: Update.
39816         * modules/unistr/u32-mbtouc: Renamed from
39817         modules/unistr/u32-mbtouc-safe.
39818         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
39819         * lib/unistr.h: Update.
39820         * lib/unistr/u32-to-u8.c: Update.
39821         * lib/unistr/u32-to-u16.c: Update.
39822
39823 2007-01-27  Bruno Haible  <bruno@clisp.org>
39824
39825         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
39826         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
39827         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
39828         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
39829         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
39830         * modules/unistr/u16-mbtouc-unsafe: Renamed from
39831         modules/unistr/u16-mbtouc.
39832         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
39833         * lib/unistr.h: Update.
39834         * lib/linebreak.c: Update.
39835         * modules/linebreak: Update.
39836         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
39837         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
39838         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
39839         * modules/unistr/u16-mbtouc: Renamed from
39840         modules/unistr/u16-mbtouc-safe.
39841         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
39842         * lib/unistr.h: Update.
39843         * lib/unistr/u16-to-u8.c: Update.
39844         * modules/unistr/u16-to-u8: Update.
39845         * lib/unistr/u16-to-u32.c: Update.
39846         * modules/unistr/u16-to-u32: Update.
39847
39848 2007-01-27  Bruno Haible  <bruno@clisp.org>
39849
39850         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
39851         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
39852         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
39853         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
39854         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
39855         * modules/unistr/u8-mbtouc-unsafe: Renamed from
39856         modules/unistr/u8-mbtouc.
39857         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
39858         * lib/unistr.h: Update.
39859         * lib/striconveh.c: Update.
39860         * modules/striconveh: Update.
39861         * lib/linebreak.c: Update.
39862         * modules/linebreak: Update.
39863         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
39864         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
39865         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
39866         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
39867         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
39868         * lib/unistr.h: Update.
39869         * lib/striconveh.c: Update.
39870         * modules/striconveh: Update.
39871         * lib/unistr/u8-to-u16.c: Update.
39872         * modules/unistr/u8-to-u16: Update.
39873         * lib/unistr/u8-to-u32.c: Update.
39874         * modules/unistr/u8-to-u32: Update.
39875
39876 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39877
39878         Sync from Libtool.
39879         * lib/argz.c: Do not include strings.h nor memory.h, include
39880         string.h unconditionally.  Patch by Simon Josefsson.
39881
39882 2007-01-27  Bruno Haible  <bruno@clisp.org>
39883
39884         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
39885         from gl_HEADER_STRING_H_BODY.
39886         (gl_HEADER_STRING_H_BODY): Require it.
39887         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
39888         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
39889         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
39890         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
39891         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
39892         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
39893         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39894         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
39895         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
39896         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
39897         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
39898         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
39899         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
39900         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39901         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
39902
39903 2007-01-27  Bruno Haible  <bruno@clisp.org>
39904
39905         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
39906         check_PROGRAMS into noinst_PROGRAMS.
39907         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
39908         check_PROGRAMS in this case.
39909         (func_import): Set for_test to false.
39910         (func_create_testdir): Set for_test to true.
39911
39912 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
39913             Bruno Haible  <bruno@clisp.org>
39914
39915         * modules/strcasestr (Files): Remove lib/strcasestr.h.
39916         (Depends-on): Add string.
39917         (Includes): Use <string.h> instead of strcasestr.h.
39918         * modules/string (Makefile.am): Also substitute the value of
39919         REPLACE_STRCASESTR.
39920         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
39921         assume strcasestr is declared in <string.h> not <strings.h>. Also
39922         set REPLACE_STRCASESTR.
39923         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
39924         REPLACE_STRCASESTR.
39925         * lib/strcasestr.h: Remove file.
39926         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
39927         * lib/string_.h (strcasestr): New declaration.
39928
39929 2007-01-27  Bruno Haible  <bruno@clisp.org>
39930
39931         * lib/string_.h: Use 'extern'.
39932
39933 2007-01-27  Jim Meyering  <jim@meyering.net>
39934
39935         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
39936         of set-but-not-used local, "q".
39937
39938         * lib/mempcpy.c: Include <config.h> before <string.h>.
39939         This fixes a compilation error on HP-UX, due to the system's
39940         "restrict"-using mempcpy prototype.
39941
39942 2007-01-26  Bruno Haible  <bruno@clisp.org>
39943
39944         Small optimization.
39945         * lib/javacomp.c: Include c-strstr.h.
39946          (is_envjavac_gcj): Use c_strstr instead of strstr.
39947         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
39948
39949 2007-01-26  Bruno Haible  <bruno@clisp.org>
39950
39951         * MODULES.html.sh (Unicode string functions): Add the new modules.
39952
39953         * modules/uniconv/u32-strconv-to-locale: New file.
39954         * lib/uniconv/u32-strconv-to-locale.c: New file.
39955
39956         * modules/uniconv/u16-strconv-to-locale: New file.
39957         * lib/uniconv/u16-strconv-to-locale.c: New file.
39958
39959         * modules/uniconv/u8-strconv-to-locale: New file.
39960         * lib/uniconv/u8-strconv-to-locale.c: New file.
39961
39962         * modules/uniconv/u32-strconv-from-locale: New file.
39963         * lib/uniconv/u32-strconv-from-locale.c: New file.
39964
39965         * modules/uniconv/u16-strconv-from-locale: New file.
39966         * lib/uniconv/u16-strconv-from-locale.c: New file.
39967
39968         * modules/uniconv/u8-strconv-from-locale: New file.
39969         * lib/uniconv/u8-strconv-from-locale.c: New file.
39970
39971         * modules/uniconv/u32-strconv-to-enc: New file.
39972         * lib/uniconv/u32-strconv-to-enc.c: New file.
39973         * modules/uniconv/u32-strconv-to-enc-tests: New file.
39974         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
39975
39976         * modules/uniconv/u16-strconv-to-enc: New file.
39977         * lib/uniconv/u16-strconv-to-enc.c: New file.
39978         * lib/uniconv/u-strconv-to-enc.h: New file.
39979         * modules/uniconv/u16-strconv-to-enc-tests: New file.
39980         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
39981
39982         * modules/uniconv/u8-strconv-to-enc: New file.
39983         * lib/uniconv/u8-strconv-to-enc.c: New file.
39984         * modules/uniconv/u8-strconv-to-enc-tests: New file.
39985         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
39986
39987         * modules/uniconv/u32-strconv-from-enc: New file.
39988         * lib/uniconv/u32-strconv-from-enc.c: New file.
39989         * modules/uniconv/u32-strconv-from-enc-tests: New file.
39990         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
39991
39992         * modules/uniconv/u16-strconv-from-enc: New file.
39993         * lib/uniconv/u16-strconv-from-enc.c: New file.
39994         * modules/uniconv/u16-strconv-from-enc-tests: New file.
39995         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
39996
39997         * modules/uniconv/u8-strconv-from-enc: New file.
39998         * lib/uniconv/u8-strconv-from-enc.c: New file.
39999         * lib/uniconv/u-strconv-from-enc.h: New file.
40000         * modules/uniconv/u8-strconv-from-enc-tests: New file.
40001         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
40002
40003         * modules/uniconv/u32-conv-from-enc: New file.
40004         * lib/uniconv/u32-conv-from-enc.c: New file.
40005         * modules/uniconv/u32-conv-from-enc-tests: New file.
40006         * tests/uniconv/test-u32-conv-from-enc.c: New file.
40007
40008         * modules/uniconv/u16-conv-from-enc: New file.
40009         * lib/uniconv/u16-conv-from-enc.c: New file.
40010         * lib/uniconv/u-conv-from-enc.h: New file.
40011         * modules/uniconv/u16-conv-from-enc-tests: New file.
40012         * tests/uniconv/test-u16-conv-from-enc.c: New file.
40013
40014         * modules/uniconv/u8-conv-from-enc: New file.
40015         * lib/uniconv/u8-conv-from-enc.c: New file.
40016         * modules/uniconv/u8-conv-from-enc-tests: New file.
40017         * tests/uniconv/test-u8-conv-from-enc.c: New file.
40018
40019         * modules/uniconv/base: New file.
40020         * lib/uniconv.h: New file.
40021
40022 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40023
40024         * doc/gnulib-tool.texi (Initial import): Update to match current
40025         behavior with strdup module.
40026         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
40027         * lib/memmem.h: Remove; all uses removed.  This is now done
40028         by <string.h>.
40029         * lib/mempcpy.h: Likewise.
40030         * lib/memrchr.h: Likewise.
40031         * lib/stpcpy.h: Likewise.
40032         * lib/stpncpy.h: Likewise.
40033         * lib/strcase.h: Likewise.
40034         * lib/strchrnul.h: Likewise.
40035         * lib/strdup.h: Likewise.
40036         * lib/strndup.h: Likewise.
40037         * lib/strnlen.h: Likewise.
40038         * lib/strpbrk.h: Likewise.
40039         * lib/strsep.h: Likewise.
40040         * lib/strstr.h: Likewise.
40041         * lib/strtok_r.h: Likewise.
40042         * lib/string_.h: New file.
40043         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
40044         Rely on <string.h> instead.
40045         * lib/canon-host.c: Likewise.
40046         * lib/chdir-long.c: Likewise.
40047         * lib/concatpath.c: Likewise.
40048         * lib/exclude.c: Likewise.
40049         * lib/fchdir.c: Likewise.
40050         * lib/getaddrinfo.c: Likewise.
40051         * lib/getcwd.c: Likewise.
40052         * lib/getsubopt.c: Likewise.
40053         * lib/glob.c: Likewise.
40054         * lib/hard-locale.c: Likewise.
40055         * lib/iconvme.c: Likewise.
40056         * lib/javacomp.c: Likewise.
40057         * lib/mempcpy.c: Likewise.
40058         * lib/memrchr.c: Likewise.
40059         * lib/regex_internal.h: Likewise.
40060         * lib/stpncpy.c: Likewise.
40061         * lib/strcasecmp.c: Likewise.
40062         * lib/strchrnul.c: Likewise.
40063         * lib/strdup.c: Likewise.
40064         * lib/striconv.c: Likewise.
40065         * lib/striconveh.c: Likewise.
40066         * lib/striconveha.c: Likewise.
40067         * lib/strncasecmp.c: Likewise.
40068         * lib/strndup.c: Likewise.
40069         * lib/strnlen.c: Likewise.
40070         * lib/strsep.c: Likewise.
40071         * lib/strstr.c: Likewise.
40072         * lib/strtok_r.c: Likewise.
40073         * lib/userspec.c: Likewise.
40074         * lib/w32spawn.h: Likewise.
40075         * lib/xstrndup.c: Likewise.
40076         * lib/mountlist.c (strstr): Remove decl.
40077         * m4/string_h.m4: New file.
40078         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
40079         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
40080         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
40081         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
40082         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
40083         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
40084         Set REPLACE_STRCASECMP if necessary.
40085         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
40086         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
40087         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
40088         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
40089         HAVE_DECL_STRDUP if necessary.
40090         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
40091         since gl_FUNC_STRNDUP does that now.
40092         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
40093         Check for decl here...
40094         (gl_PREREQ_STRNLEN): ... not here.
40095         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
40096         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
40097         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
40098         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
40099         necessary.
40100         * modules/string: New file.
40101         * modules/memmem (Files): Remove special-purpose include file.
40102         (Depends-on): Add string.
40103         (Include): Include <string.h>, not the removed file.
40104         * modules/mempcpy: Likewise.
40105         * modules/memrchr: Likewise.
40106         * modules/stpcpy: Likewise.
40107         * modules/stpncpy: Likewise.
40108         * modules/strcase: Likewise.
40109         * modules/strchrnul: Likewise.
40110         * modules/strdup: Likewise.
40111         * modules/strndup: Likewise.
40112         * modules/strnlen: Likewise.
40113         * modules/strpbrk: Likewise.
40114         * modules/strsep: Likewise.
40115         * modules/strstr: Likewise.
40116         * modules/strtok_r: Likewise.
40117         * tests/test-dirname.c: Don't include "strdup.h", since
40118         <string.h> now suffices.
40119         * tests/test-memmem.c: Don't include "memmem.h", since
40120         <string.h> now suffices.
40121
40122 2007-01-25  Bruno Haible  <bruno@clisp.org>
40123
40124         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
40125         *resultp is 0.
40126
40127         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
40128         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
40129         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
40130         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
40131
40132         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
40133         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
40134         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
40135         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
40136         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
40137         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
40138
40139 2007-01-24  Bruno Haible  <bruno@clisp.org>
40140
40141         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
40142         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
40143         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
40144         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
40145         gl_FUNC_FTS_CORE.
40146         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
40147         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
40148         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
40149         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
40150         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
40151         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
40152         gl_FUNC_FCHOWNAT.
40153         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
40154         gl_FUNC_STRFTIME.
40155         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
40156         Reported by Ralf Wildenhues.
40157
40158 2007-01-24  Bruno Haible  <bruno@clisp.org>
40159
40160         Drop AC_REQUIRE calls that are redundant with the module dependencies.
40161         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
40162         gl_GETADDRINFO.
40163         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
40164         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
40165         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
40166
40167 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
40168
40169         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
40170         Don't use 'exit'; just return from 'main'.
40171         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
40172
40173         * lib/fnmatch_.h: Readjust white space and comments to match
40174         glibc, to avoid spurious diffs.
40175
40176 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40177
40178         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
40179         2004-12-01 change by Jakub Jelinek, since this code won't compile
40180         if !LIBC.  Problem reported by Bob Proulx.
40181
40182 2007-01-23  Bruno Haible  <bruno@clisp.org>
40183
40184         * lib/striconveh.c: Include c-strcaseeq.h.
40185         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
40186         * modules/striconveh (Depends-on): Add c-strcaseeq.
40187
40188 2007-01-23  Bruno Haible  <bruno@clisp.org>
40189
40190         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
40191
40192         * modules/c-strcaseeq: New file.
40193         * lib/c-strcaseeq.h: New file.
40194
40195         * modules/streq: New file.
40196         * lib/streq.h: New file.
40197
40198 2007-01-23  Bruno Haible  <bruno@clisp.org>
40199
40200         * modules/striconveha-tests: New file.
40201         * tests/test-striconveha.c: New file.
40202
40203         * lib/striconveha.h: Include <stdbool.h>.
40204         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
40205         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
40206         (mem_iconveha_notranslit): Renamed from mem_iconveha.
40207         (mem_iconveha): New function.
40208         (str_iconveha_notranslit): Renamed from str_iconveha.
40209         (str_iconveha): New function.
40210         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
40211         c-strcase.
40212
40213 2007-01-23  Bruno Haible  <bruno@clisp.org>
40214
40215         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
40216         encodings without forgiving before trying any encoding with handler.
40217         (str_iconveha): Try all encodings without forgiving before trying any
40218         encoding with handler.
40219
40220 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40221
40222         Import the following changes from libc.
40223
40224         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
40225
40226         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
40227
40228         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
40229
40230         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
40231         normal_bracket label.
40232
40233         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
40234
40235         [BZ #361]
40236         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
40237         to normal_bracket after fetching the next character.
40238
40239 2007-01-22  Bruno Haible  <bruno@clisp.org>
40240
40241         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
40242         argument.
40243         * lib/striconveh.c (iconv_carefully_1): New function.
40244         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
40245         argument.
40246         (str_cd_iconveh): Update.
40247         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
40248         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
40249         * tests/test-striconveh.c (MAGIC): New macro.
40250         (new_offsets): New function.
40251         (main): Test call with and without offsets.
40252
40253 2007-01-22  Bruno Haible  <bruno@clisp.org>
40254
40255         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
40256         * modules/sys_select (Makefile.am): Likewise.
40257         * modules/sys_socket (Makefile.am): Likewise.
40258         * modules/sys_time (Makefile.am): Likewise.
40259
40260 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40261
40262         * modules/gettimeofday (License): Change from GPL to LGPL, since
40263         gettimeofday is a library function.
40264
40265 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40266
40267         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
40268
40269 2007-01-21  Bruno Haible  <bruno@clisp.org>
40270
40271         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
40272
40273 2007-01-21  Bruno Haible  <bruno@clisp.org>
40274
40275         * modules/striconveha: New file.
40276         * lib/striconveha.h: New file.
40277         * lib/striconveha.c: New file.
40278         * MODULES.html.sh (Internationalization functions): Add striconveha.
40279         * lib/striconv.c (str_iconv): Optimize the case of an empty input
40280         string.
40281         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
40282
40283 2007-01-21  Bruno Haible  <bruno@clisp.org>
40284
40285         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
40286         * lib/striconveh.c (str_iconveh): Likewise.
40287
40288 2007-01-21  Bruno Haible  <bruno@clisp.org>
40289
40290         * lib/striconveh.h (mem_iconveh): New declaration.
40291         * lib/striconveh.c (mem_iconveh): New function.
40292         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
40293
40294 2007-01-21  Bruno Haible  <bruno@clisp.org>
40295
40296         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
40297
40298         * lib/striconveh.h (mem_cd_iconveh): Change specification.
40299         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
40300         original result buffer.
40301         (str_cd_iconveh): Update.
40302         * tests/test-striconveh.c (main): Update.
40303
40304         * lib/striconv.h (mem_cd_iconv): Change specification.
40305         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
40306         result buffer.
40307         (str_cd_iconv): Update.
40308         * tests/test-striconv.c (main): Update.
40309
40310 2007-01-21  Bruno Haible  <bruno@clisp.org>
40311
40312         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
40313
40314 2007-01-20  Jim Meyering  <jim@meyering.net>
40315
40316         * lib/userspec.c (parse_with_separator): If a user or group string
40317         starts with "+", skip the corresponding name-to-ID look-up, since
40318         such a look-up must fail: user and group names may not include "+".
40319
40320 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40321
40322         * lib/poll.c: Include sys/time.h and time.h unconditionally,
40323         since we now assume the sys_time module.
40324         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
40325         check for sys/time.h; no longer needed.
40326         * modules/poll (Depends-on): Depend on sys_time.
40327
40328 2007-01-18  Bruno Haible  <bruno@clisp.org>
40329
40330         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
40331         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40332
40333         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
40334         gettimeofday.
40335
40336         * tests/test-gettimeofday.c: Include <time.h>.
40337         (dummy): Remove variable.
40338
40339         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
40340         gl_HEADER_SYS_TIME_H.
40341         (gl_HEADER_SYS_TIME_H): New macro.
40342
40343         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
40344         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40345         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
40346         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
40347         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40348         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
40349         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
40350         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40351         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
40352         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
40353         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40354
40355         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
40356         last change; it caused a compilation error when cross-compiling to
40357         Cygwin.
40358
40359 2007-01-18  Jim Meyering  <jim@meyering.net>
40360
40361         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
40362         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
40363         than the race-prone "test -d sys || mkdir sys".
40364         (configure.ac): Use AC_PROG_MKDIR_P.
40365         * modules/sys_select: Likewise.
40366         * modules/sys_socket: Likewise.
40367         * modules/sys_time: Likewise.
40368
40369 2007-01-18  Eric Blake  <ebb9@byu.net>
40370
40371         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
40372         replace gettimeofday.
40373         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
40374         name, to avoid infinite recursion.
40375
40376 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
40377
40378         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
40379         module sys_time.
40380         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
40381         assume timespec.h defines struct timeval.
40382         * lib/settime.c: Likewise.
40383         * lib/utimens.c: Likewise.
40384         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
40385         since we now assume the gettimeofday module.
40386         * lib/tempname.c (__gen_tempname): Likewise.
40387         * lib/gettimeofday.h: Remove.
40388         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
40389         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
40390         Include <time.h>, for 'time()'.
40391         (localtime_buffer_addr): Also use this workaround if
40392         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
40393         to simplify the uses.  All uses changed.
40394         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
40395         that #undef is inside {}, and 'const' follows type name consistently.
40396         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
40397         (gettimeofday): Do not use the maximum possible value for
40398         tv->tv_usec, since that might break usages other than ls.c.
40399         Instead, we'll leave ls.c alone.  This undoes today's patch
40400         by Bruno.  Add a compile-time warning for 1s-clock resolution;
40401         we've never observed the problem but might as well keep the
40402         canary.
40403         * lib/nanosleep.c: Include timespec.h first, for interface check.
40404         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
40405         now assume the sys_time module.
40406         * lib/tempname.c: Likewise.
40407         * lib/timespec.h: Likewise.
40408         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
40409         needed.
40410         * lib/strftime.c: Likewise.
40411         * lib/timespec.h: Likewise.
40412         * lib/posixtm.c: Include posixtm.h first, for interface check.
40413         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
40414         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
40415         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
40416         * lib/sys_time_.h: New file.
40417         * lib/timespec.h (struct timespec): Use long int, not long.
40418         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40419         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
40420         Remove obsolescent call to AC_HEADER_TIME.
40421         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
40422         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40423         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40424         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
40425         Likewise.
40426         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
40427         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
40428         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
40429         into the sys_time module.  Check for gettimeofday just once.
40430         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
40431         for gettimeofday signature to just check the signature.  Merely
40432         compile it, since linking doesn't test signature.  Improve test for
40433         whether gettimeofday.o is actually needed.
40434         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
40435         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
40436         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
40437         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40438         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
40439         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
40440         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
40441         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
40442         than worrying about sys/time.h.
40443         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40444         Don't bother worrying about TIME_WITH_SYS_TIME.
40445         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40446         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
40447         * m4/sys_time_h.m4: New file.
40448         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
40449         Don't include sys/time.h.  Return from main rather than exiting.
40450         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
40451         all uses changed.
40452         * modules/gethrxtime (Depends-on): Add sys_time.
40453         * modules/gettime (Depends-on): Likewise.
40454         * modules/gettimeofday (Depends-on): Likewise.
40455         * modules/nanosleep (Depends-on): Likewise.
40456         * modules/settime (Depends-on): Likewise.
40457         * modules/tempname (Depends-on): Likewise.
40458         * modules/utimens (Depends-on): Likewise.
40459         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
40460         (Include:) Change back to <sys/time.h>.
40461         (Maintainer:) Add self.
40462         * modules/sys_time: New file.
40463         * modules/tempname (Depends-on): Add gettimeofday.
40464         * tests/test-gettimeofday.c: Include <sys/time.h>
40465         rather than gettimeofday.h.
40466
40467 2007-01-17  Bruno Haible  <bruno@clisp.org>
40468
40469         * gnulib-tool (func_get_license): Revert last patch. Instead, let
40470         the license default to GPL.
40471         (func_create_testdir): Don't complain if a module is LGPL and its
40472         tests module depends on GPLed modules.
40473
40474 2007-01-17  Bruno Haible  <bruno@clisp.org>
40475
40476         * lib/gettimeofday.c (gettimeofday): Add code for the case
40477         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
40478         maximum possible value for tv->tv_usec, rather than the minimum one.
40479
40480 2005-10-08  Martin Lambers  <marlam@marlam.de>
40481 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40482 2007-01-16  Bruno Haible  <bruno@clisp.org>
40483
40484         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
40485         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
40486         gl_FUNC_GETTIMEOFDAY.
40487         (Include): Add gettimeofday.h.
40488         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
40489         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
40490         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
40491         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
40492         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
40493         * lib/gettimeofday.h: New file.
40494         * lib/gettimeofday.c: Include <sys/timeb.h>.
40495         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
40496         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40497         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
40498         fall back on time().
40499
40500         * tests/test-gettimeofday.c: New file.
40501         * modules/gettimeofday-tests: New file.
40502
40503 2007-01-16  Eric Blake  <ebb9@byu.net>
40504
40505         * modules/fnmatch (Depends-on): Depend on wchar.
40506         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
40507         * m4/fnmatch.m4: Likewise.
40508         * modules/mbchar (Makefile.am): Assume <wchar.h>.
40509         * m4/mbchar.m4: Likewise.
40510         * modules/mbswidth (Depends-on): Depend on wchar.
40511         * lib/mbswidth.c: Assume <wchar.h>.
40512         * m4/mbswidth.m4: Likewise.
40513         * modules/quotearg (Depends-on): Depend on wchar.
40514         * lib/quotearg.c: Assume <wchar.h>.
40515         * m4/quotearg.m4: Likewise.
40516         * modules/regex (Depends-on): Depend on wchar.
40517         * lib/regex_internal.h: Assume <wchar.h>.
40518         * m4/regex.m4: Likewise.
40519         * modules/stdint (Depends-on): Depend on wchar.
40520         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
40521         * m4/stdint.m4: Likewise.
40522         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
40523         * modules/strftime (Depends-on): Depend on wchar.
40524         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
40525         * modules/strtol (Depends-on): Depend on wchar.
40526         * lib/strtol.c: Assume <wchar.h>.
40527         * modules/wcwidth (Depends-on): Depend on wchar.
40528         * lib/wcwidth.h: Assume <wchar.h>.
40529         * m4/wcwidth.m4: Likewise.
40530
40531 2007-01-16  Bruno Haible  <bruno@clisp.org>
40532
40533         * modules/csharpexec-script: New, created from...
40534         * modules/csharpexec: ... this.
40535
40536 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40537
40538         * modules/javaexec-script: New, created from...
40539         * modules/javaexec: ... this.
40540
40541 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40542
40543         * modules/poll (Dependencies): Add sys_select.
40544
40545 2007-01-15  Jim Meyering  <jim@meyering.net>
40546
40547         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
40548         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
40549         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
40550         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
40551
40552 2007-01-15  Bruno Haible  <bruno@clisp.org>
40553
40554         * modules/striconveh: New file.
40555         * lib/striconveh.h: New file.
40556         * lib/striconveh.c: New file.
40557         * MODULES.html.sh (Internationalization functions): Add striconveh.
40558
40559         * modules/striconveh-tests: New file.
40560         * tests/test-striconveh.c: New file.
40561
40562 2007-01-15  Bruno Haible  <bruno@clisp.org>
40563
40564         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
40565         not from GNU libiconv or GNU libc.
40566
40567 2007-01-15  Bruno Haible  <bruno@clisp.org>
40568
40569         * doc/gnulib-intro.texi (Copyright): Explain the different license
40570         terms for module descriptions, autoconf macros, tests, documentation.
40571
40572 2007-01-14  Bruno Haible  <bruno@clisp.org>
40573
40574         * modules/striconv-tests: New file.
40575         * tests/test-striconv.c: New file.
40576
40577 2007-01-14  Bruno Haible  <bruno@clisp.org>
40578
40579         * modules/iconv-tests: New file.
40580         * tests/test-iconv.c: New file.
40581
40582 2007-01-14  Bruno Haible  <bruno@clisp.org>
40583
40584         * gnulib-tool (func_get_license): For test modules, use the license of
40585         the main module.
40586
40587 2007-01-14  Bruno Haible  <bruno@clisp.org>
40588
40589         * modules/iconv (Include): Clarify that <iconv.h> can only be included
40590         if iconv is found to exist.
40591
40592 2007-01-14  Bruno Haible  <bruno@clisp.org>
40593
40594         * modules/c-ctype-tests: New file.
40595         * tests/test-c-ctype.c: New file.
40596
40597 2007-01-14  Bruno Haible  <bruno@clisp.org>
40598
40599         * modules/binary-io-tests: New file.
40600         * tests/test-binary-io.sh: New file.
40601         * tests/test-binary-io.c: New file.
40602
40603 2007-01-14  Bruno Haible  <bruno@clisp.org>
40604
40605         * modules/array-oset-tests: New file.
40606         * tests/test-array_oset.c: New file.
40607
40608 2007-01-14  Bruno Haible  <bruno@clisp.org>
40609
40610         * modules/array-list-tests: New file.
40611         * tests/test-array_list.c: New file.
40612
40613 2007-01-14  Bruno Haible  <bruno@clisp.org>
40614
40615         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
40616         and make.
40617         Reported by Simon Josefsson in
40618         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
40619
40620 2007-01-14  Bruno Haible  <bruno@clisp.org>
40621
40622         * modules/allocsa-tests: New file.
40623         * tests/test-allocsa.c: New file.
40624
40625 2007-01-14  Bruno Haible  <bruno@clisp.org>
40626
40627         * modules/fchdir (Depends-on): Add absolute-header.
40628         * modules/unistd (Depends-on): Likewise.
40629
40630 2006-12-30  Bruno Haible  <bruno@clisp.org>
40631
40632         * modules/fchdir: New file.
40633         * modules/unistd (Files): Add lib/unistd_.h.
40634         (Makefile.am): Generate unistd.h from unistd_.h.
40635         * lib/fchdir.c: New file.
40636         * lib/dirent_.h: New file.
40637         * lib/unistd_.h: New file.
40638         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
40639         * m4/fchdir.m4: New file.
40640         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
40641         (gl_HEADER_UNISTD): Invoke it.
40642         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
40643         function.
40644         * lib/backupfile.c (opendir, closedir): Undefine.
40645         * lib/chown.c (open, close): Undefine.
40646         * lib/clean-temp.c (open, close): Undefine.
40647         * lib/copy-file.c (open, close): Undefine.
40648         * lib/execute.c (open, close): Undefine.
40649         * lib/fsusage.c (open, close): Undefine.
40650         * lib/gc-gnulib.c (open, close): Undefine.
40651         * lib/getcwd.c (opendir, closedir): Undefine.
40652         * lib/glob.c (opendir, closedir): Undefine.
40653         * lib/javacomp.c (open, close): Undefine.
40654         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
40655         * lib/openat-proc.c (open, close): Undefine.
40656         * lib/pagealign_alloc.c (open, close): Undefine.
40657         * lib/pipe.c (open, close): Undefine.
40658         * lib/progreloc.c (open, close): Undefine.
40659         * lib/savedir.c (opendir, closedir): Undefine.
40660         * lib/utime.c (open, close): Undefine.
40661         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
40662
40663 2007-01-10  Bruno Haible  <bruno@clisp.org>
40664
40665         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
40666
40667 2007-01-12  Eric Blake  <ebb9@byu.net>
40668
40669         Provide a robust <wchar.h>.  Further simplifications are now
40670         possible in other modules, but not included here.
40671         * modules/wchar: New module.
40672         * m4/wchar.m4: New file.
40673         * lib/wchar_.h: Likewise.
40674         * modules/mbchar (Depends-on): Depend on wchar, as the first use
40675         of the new module.
40676         * MODULES.html.sh (Extended multibyte and wide character utilities):
40677         New section.
40678
40679 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
40680
40681         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
40682         to a reasonable default for memory allocation.
40683         (xreadlink): Don't allocate a huge buffer, to work around a buggy
40684         file system that reports garbage st_size values for symlinks.
40685         Problem reported by Liyang Hu.
40686
40687 2007-01-11  Simon Josefsson  <simon@josefsson.org>
40688
40689         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
40690         Emacs .#* auto-save files).
40691
40692 2007-01-11  Bruno Haible  <bruno@clisp.org>
40693
40694         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
40695         directory.
40696
40697 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40698
40699         Use @...@ consistently in lib/wctype_.h.
40700         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
40701         on it being set to 1 or 0.
40702         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
40703         go back to AC_SUBSTing it.
40704         * modules/wctype (Makefile.am): Undo previous change.
40705
40706 2007-01-10  Eric Blake  <ebb9@byu.net>
40707
40708         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
40709         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
40710         * modules/wctype (Makefile.am): Likewise.
40711         Reported by Chris McGuire.
40712
40713 2007-01-10  Jim Meyering  <jim@meyering.net>
40714
40715         fts.c: a small readability/maintainability improvement
40716         * lib/fts.c (fts_read): Make this code slightly more readable and
40717         maintainable by hoisting the "sp->fts_cur = p" assignments to
40718         immediately follow the statements that set P.  Derived from
40719         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
40720
40721 2007-01-10  Eric Blake  <ebb9@byu.net>
40722
40723         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
40724         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
40725         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40726         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40727         Reported by Chris McGuire.
40728
40729 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40730
40731         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
40732         in sed script.
40733
40734 2007-01-09  Bruno Haible  <bruno@clisp.org>
40735
40736         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
40737         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
40738         variables.
40739         (func_module): Use them.
40740
40741 2007-01-09  Bruno Haible  <bruno@clisp.org>
40742
40743         * modules/unistr/base: New file.
40744         * lib/unistr.h: New file.
40745
40746         * modules/unistr/u8-to-u16: New file.
40747         * lib/unistr/u8-to-u16.c: New file.
40748
40749         * modules/unistr/u8-to-u32: New file.
40750         * lib/unistr/u8-to-u32.c: New file.
40751
40752         * modules/unistr/u16-to-u8: New file.
40753         * lib/unistr/u16-to-u8.c: New file.
40754
40755         * modules/unistr/u16-to-u32: New file.
40756         * lib/unistr/u16-to-u32.c: New file.
40757
40758         * modules/unistr/u32-to-u8: New file.
40759         * lib/unistr/u32-to-u8.c: New file.
40760
40761         * modules/unistr/u32-to-u16: New file.
40762         * lib/unistr/u32-to-u16.c: New file.
40763
40764         * modules/unistr/u8-check: New file.
40765         * modules/unistr/u16-check: New file.
40766         * modules/unistr/u32-check: New file.
40767         * lib/unistr/u8-check.c: New file.
40768         * lib/unistr/u16-check.c: New file.
40769         * lib/unistr/u32-check.c: New file.
40770
40771         * modules/unistr/u8-chr: New file.
40772         * modules/unistr/u16-chr: New file.
40773         * modules/unistr/u32-chr: New file.
40774         * lib/unistr/u8-chr.c: New file.
40775         * lib/unistr/u16-chr.c: New file.
40776         * lib/unistr/u32-chr.c: New file.
40777
40778         * modules/unistr/u8-cmp: New file.
40779         * modules/unistr/u16-cmp: New file.
40780         * modules/unistr/u32-cmp: New file.
40781         * lib/unistr/u8-cmp.c: New file.
40782         * lib/unistr/u16-cmp.c: New file.
40783         * lib/unistr/u32-cmp.c: New file.
40784
40785         * modules/unistr/u8-cpy: New file.
40786         * modules/unistr/u16-cpy: New file.
40787         * modules/unistr/u32-cpy: New file.
40788         * lib/unistr/u8-cpy.c: New file.
40789         * lib/unistr/u16-cpy.c: New file.
40790         * lib/unistr/u32-cpy.c: New file.
40791         * lib/unistr/u-cpy.h: New file.
40792
40793         * modules/unistr/u8-cpy-alloc: New file.
40794         * modules/unistr/u16-cpy-alloc: New file.
40795         * modules/unistr/u32-cpy-alloc: New file.
40796         * lib/unistr/u8-cpy-alloc.c: New file.
40797         * lib/unistr/u16-cpy-alloc.c: New file.
40798         * lib/unistr/u32-cpy-alloc.c: New file.
40799         * lib/unistr/u-cpy-alloc.h: New file.
40800
40801         * modules/unistr/u8-endswith: New file.
40802         * modules/unistr/u16-endswith: New file.
40803         * modules/unistr/u32-endswith: New file.
40804         * lib/unistr/u8-endswith.c: New file.
40805         * lib/unistr/u16-endswith.c: New file.
40806         * lib/unistr/u32-endswith.c: New file.
40807         * lib/unistr/u-endswith.h: New file.
40808
40809         * modules/unistr/u8-mblen: New file.
40810         * modules/unistr/u16-mblen: New file.
40811         * modules/unistr/u32-mblen: New file.
40812         * lib/unistr/u8-mblen.c: New file.
40813         * lib/unistr/u16-mblen.c: New file.
40814         * lib/unistr/u32-mblen.c: New file.
40815
40816         * modules/unistr/u8-mbtouc: New file.
40817         * modules/unistr/u16-mbtouc: New file.
40818         * modules/unistr/u32-mbtouc: New file.
40819         * lib/unistr/u8-mbtouc.c: New file.
40820         * lib/unistr/u16-mbtouc.c: New file.
40821         * lib/unistr/u32-mbtouc.c: New file.
40822
40823         * modules/unistr/u8-mbtouc-safe: New file.
40824         * modules/unistr/u16-mbtouc-safe: New file.
40825         * modules/unistr/u32-mbtouc-safe: New file.
40826         * lib/unistr/u8-mbtouc-safe.c: New file.
40827         * lib/unistr/u16-mbtouc-safe.c: New file.
40828         * lib/unistr/u32-mbtouc-safe.c: New file.
40829
40830         * modules/unistr/u8-move: New file.
40831         * modules/unistr/u16-move: New file.
40832         * modules/unistr/u32-move: New file.
40833         * lib/unistr/u8-move.c: New file.
40834         * lib/unistr/u16-move.c: New file.
40835         * lib/unistr/u32-move.c: New file.
40836         * lib/unistr/u-move.h: New file.
40837
40838         * modules/unistr/u8-next: New file.
40839         * modules/unistr/u16-next: New file.
40840         * modules/unistr/u32-next: New file.
40841         * lib/unistr/u8-next.c: New file.
40842         * lib/unistr/u16-next.c: New file.
40843         * lib/unistr/u32-next.c: New file.
40844
40845         * modules/unistr/u8-prev: New file.
40846         * modules/unistr/u16-prev: New file.
40847         * modules/unistr/u32-prev: New file.
40848         * lib/unistr/u8-prev.c: New file.
40849         * lib/unistr/u16-prev.c: New file.
40850         * lib/unistr/u32-prev.c: New file.
40851
40852         * modules/unistr/u8-set: New file.
40853         * modules/unistr/u16-set: New file.
40854         * modules/unistr/u32-set: New file.
40855         * lib/unistr/u8-set.c: New file.
40856         * lib/unistr/u16-set.c: New file.
40857         * lib/unistr/u32-set.c: New file.
40858         * lib/unistr/u-set.h: New file.
40859
40860         * modules/unistr/u8-startswith: New file.
40861         * modules/unistr/u16-startswith: New file.
40862         * modules/unistr/u32-startswith: New file.
40863         * lib/unistr/u8-startswith.c: New file.
40864         * lib/unistr/u16-startswith.c: New file.
40865         * lib/unistr/u32-startswith.c: New file.
40866         * lib/unistr/u-startswith.h: New file.
40867
40868         * modules/unistr/u8-stpcpy: New file.
40869         * modules/unistr/u16-stpcpy: New file.
40870         * modules/unistr/u32-stpcpy: New file.
40871         * lib/unistr/u8-stpcpy.c: New file.
40872         * lib/unistr/u16-stpcpy.c: New file.
40873         * lib/unistr/u32-stpcpy.c: New file.
40874         * lib/unistr/u-stpcpy.h: New file.
40875
40876         * modules/unistr/u8-stpncpy: New file.
40877         * modules/unistr/u16-stpncpy: New file.
40878         * modules/unistr/u32-stpncpy: New file.
40879         * lib/unistr/u8-stpncpy.c: New file.
40880         * lib/unistr/u16-stpncpy.c: New file.
40881         * lib/unistr/u32-stpncpy.c: New file.
40882         * lib/unistr/u-stpncpy.h: New file.
40883
40884         * modules/unistr/u8-strcat: New file.
40885         * modules/unistr/u16-strcat: New file.
40886         * modules/unistr/u32-strcat: New file.
40887         * lib/unistr/u8-strcat.c: New file.
40888         * lib/unistr/u16-strcat.c: New file.
40889         * lib/unistr/u32-strcat.c: New file.
40890         * lib/unistr/u-strcat.h: New file.
40891
40892         * modules/unistr/u8-strchr: New file.
40893         * modules/unistr/u16-strchr: New file.
40894         * modules/unistr/u32-strchr: New file.
40895         * lib/unistr/u8-strchr.c: New file.
40896         * lib/unistr/u16-strchr.c: New file.
40897         * lib/unistr/u32-strchr.c: New file.
40898
40899         * modules/unistr/u8-strcmp: New file.
40900         * modules/unistr/u16-strcmp: New file.
40901         * modules/unistr/u32-strcmp: New file.
40902         * lib/unistr/u8-strcmp.c: New file.
40903         * lib/unistr/u16-strcmp.c: New file.
40904         * lib/unistr/u32-strcmp.c: New file.
40905
40906         * modules/unistr/u8-strcpy: New file.
40907         * modules/unistr/u16-strcpy: New file.
40908         * modules/unistr/u32-strcpy: New file.
40909         * lib/unistr/u8-strcpy.c: New file.
40910         * lib/unistr/u16-strcpy.c: New file.
40911         * lib/unistr/u32-strcpy.c: New file.
40912         * lib/unistr/u-strcpy.h: New file.
40913
40914         * modules/unistr/u8-strcspn: New file.
40915         * modules/unistr/u16-strcspn: New file.
40916         * modules/unistr/u32-strcspn: New file.
40917         * lib/unistr/u8-strcspn.c: New file.
40918         * lib/unistr/u16-strcspn.c: New file.
40919         * lib/unistr/u32-strcspn.c: New file.
40920         * lib/unistr/u-strcspn.h: New file.
40921
40922         * modules/unistr/u8-strdup: New file.
40923         * modules/unistr/u16-strdup: New file.
40924         * modules/unistr/u32-strdup: New file.
40925         * lib/unistr/u8-strdup.c: New file.
40926         * lib/unistr/u16-strdup.c: New file.
40927         * lib/unistr/u32-strdup.c: New file.
40928         * lib/unistr/u-strdup.h: New file.
40929
40930         * modules/unistr/u8-strlen: New file.
40931         * modules/unistr/u16-strlen: New file.
40932         * modules/unistr/u32-strlen: New file.
40933         * lib/unistr/u8-strlen.c: New file.
40934         * lib/unistr/u16-strlen.c: New file.
40935         * lib/unistr/u32-strlen.c: New file.
40936         * lib/unistr/u-strlen.h: New file.
40937
40938         * modules/unistr/u8-strmblen: New file.
40939         * modules/unistr/u16-strmblen: New file.
40940         * modules/unistr/u32-strmblen: New file.
40941         * lib/unistr/u8-strmblen.c: New file.
40942         * lib/unistr/u16-strmblen.c: New file.
40943         * lib/unistr/u32-strmblen.c: New file.
40944
40945         * modules/unistr/u8-strmbtouc: New file.
40946         * modules/unistr/u16-strmbtouc: New file.
40947         * modules/unistr/u32-strmbtouc: New file.
40948         * lib/unistr/u8-strmbtouc.c: New file.
40949         * lib/unistr/u16-strmbtouc.c: New file.
40950         * lib/unistr/u32-strmbtouc.c: New file.
40951
40952         * modules/unistr/u8-strncat: New file.
40953         * modules/unistr/u16-strncat: New file.
40954         * modules/unistr/u32-strncat: New file.
40955         * lib/unistr/u8-strncat.c: New file.
40956         * lib/unistr/u16-strncat.c: New file.
40957         * lib/unistr/u32-strncat.c: New file.
40958         * lib/unistr/u-strncat.h: New file.
40959
40960         * modules/unistr/u8-strncmp: New file.
40961         * modules/unistr/u16-strncmp: New file.
40962         * modules/unistr/u32-strncmp: New file.
40963         * lib/unistr/u8-strncmp.c: New file.
40964         * lib/unistr/u16-strncmp.c: New file.
40965         * lib/unistr/u32-strncmp.c: New file.
40966
40967         * modules/unistr/u8-strncpy: New file.
40968         * modules/unistr/u16-strncpy: New file.
40969         * modules/unistr/u32-strncpy: New file.
40970         * lib/unistr/u8-strncpy.c: New file.
40971         * lib/unistr/u16-strncpy.c: New file.
40972         * lib/unistr/u32-strncpy.c: New file.
40973         * lib/unistr/u-strncpy.h: New file.
40974
40975         * modules/unistr/u8-strnlen: New file.
40976         * modules/unistr/u16-strnlen: New file.
40977         * modules/unistr/u32-strnlen: New file.
40978         * lib/unistr/u8-strnlen.c: New file.
40979         * lib/unistr/u16-strnlen.c: New file.
40980         * lib/unistr/u32-strnlen.c: New file.
40981         * lib/unistr/u-strnlen.h: New file.
40982
40983         * modules/unistr/u8-strpbrk: New file.
40984         * modules/unistr/u16-strpbrk: New file.
40985         * modules/unistr/u32-strpbrk: New file.
40986         * lib/unistr/u8-strpbrk.c: New file.
40987         * lib/unistr/u16-strpbrk.c: New file.
40988         * lib/unistr/u32-strpbrk.c: New file.
40989         * lib/unistr/u-strpbrk.h: New file.
40990
40991         * modules/unistr/u8-strrchr: New file.
40992         * modules/unistr/u16-strrchr: New file.
40993         * modules/unistr/u32-strrchr: New file.
40994         * lib/unistr/u8-strrchr.c: New file.
40995         * lib/unistr/u16-strrchr.c: New file.
40996         * lib/unistr/u32-strrchr.c: New file.
40997
40998         * modules/unistr/u8-strspn: New file.
40999         * modules/unistr/u16-strspn: New file.
41000         * modules/unistr/u32-strspn: New file.
41001         * lib/unistr/u8-strspn.c: New file.
41002         * lib/unistr/u16-strspn.c: New file.
41003         * lib/unistr/u32-strspn.c: New file.
41004         * lib/unistr/u-strspn.h: New file.
41005
41006         * modules/unistr/u8-strstr: New file.
41007         * modules/unistr/u16-strstr: New file.
41008         * modules/unistr/u32-strstr: New file.
41009         * lib/unistr/u8-strstr.c: New file.
41010         * lib/unistr/u16-strstr.c: New file.
41011         * lib/unistr/u32-strstr.c: New file.
41012         * lib/unistr/u-strstr.h: New file.
41013
41014         * modules/unistr/u8-strtok: New file.
41015         * modules/unistr/u16-strtok: New file.
41016         * modules/unistr/u32-strtok: New file.
41017         * lib/unistr/u8-strtok.c: New file.
41018         * lib/unistr/u16-strtok.c: New file.
41019         * lib/unistr/u32-strtok.c: New file.
41020         * lib/unistr/u-strtok.h: New file.
41021
41022         * modules/unistr/u8-uctomb: New file.
41023         * modules/unistr/u16-uctomb: New file.
41024         * modules/unistr/u32-uctomb: New file.
41025         * lib/unistr/u8-uctomb.c: New file.
41026         * lib/unistr/u16-uctomb.c: New file.
41027         * lib/unistr/u32-uctomb.c: New file.
41028
41029         * MODULES.html.sh (Unicode string functions): Add the new modules.
41030
41031 2007-01-08  Bruno Haible  <bruno@clisp.org>
41032
41033         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
41034         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
41035         subdirectories.
41036
41037 2007-01-08  Karl Berry  <karl@gnu.org>
41038
41039         * doc/error.texi: mention that main() fns must set program_name
41040         when progname is used.
41041
41042 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
41043
41044         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
41045         WCTYPE_H is empty, for the benefit of builds from non-distclean
41046         directories.  Problem reported by Eric Blake in
41047         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
41048
41049 2007-01-08  Bruno Haible  <bruno@clisp.org>
41050
41051         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
41052         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
41053         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
41054         PROVIDE_CANONICALIZE_FILENAME_MODE.
41055         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
41056
41057 2007-01-08  Bruno Haible  <bruno@clisp.org>
41058
41059         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
41060         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
41061         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
41062         * lib/fts.c: Likewise.
41063         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
41064
41065 2006-12-25  Bruno Haible  <bruno@clisp.org>
41066
41067         * modules/utf8-ucs4-safe: New file.
41068         * lib/utf8-ucs4-safe.h: New file.
41069         * lib/unistr/utf8-ucs4-safe.c: New file.
41070
41071         * modules/utf16-ucs4-safe: New file.
41072         * lib/utf16-ucs4-safe.h: New file.
41073         * lib/unistr/utf16-ucs4-safe.c: New file.
41074
41075         * MODULES.html.sh (Unicode string functions): Add the new modules.
41076
41077 2007-01-08  Bruno Haible  <bruno@clisp.org>
41078
41079         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
41080         (Depends-on): Add unitypes.
41081         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41082         (u8_mbtouc_aux): Move out to separate file.
41083         (u8_mbtouc): Use ucs4_t, uint8_t types.
41084         * lib/unistr/utf8-ucs4.c: New file.
41085
41086         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
41087         (Depends-on): Add unitypes.
41088         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
41089         (u16_mbtouc_aux): Move out to separate file.
41090         (u16_mbtouc): Use ucs4_t, uint16_t types.
41091         * lib/unistr/utf16-ucs4.c: New file.
41092
41093         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
41094         (Depends-on): Add unitypes.
41095         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
41096         (u8_uctomb_aux): Move out to separate file.
41097         (u8_uctomb): Use ucs4_t, uint8_t types.
41098         * lib/unistr/ucs4-utf8.c: New file.
41099
41100         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
41101         (Depends-on): Add unitypes.
41102         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
41103         (u16_uctomb_aux): Move out to separate file.
41104         (u16_uctomb): Use ucs4_t, uint16_t types.
41105         * lib/unistr/ucs4-utf16.c: New file.
41106
41107 2006-12-25  Bruno Haible  <bruno@clisp.org>
41108
41109         * modules/unitypes: New file.
41110         * lib/unitypes.h: New file.
41111         * MODULES.html.sh (func_all_modules): New section "Unicode string
41112         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
41113         this section. Add unitypes.
41114
41115 2007-01-08  Bruno Haible  <bruno@clisp.org>
41116
41117         Avoid variable names that conflict with those from libtool.
41118         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
41119         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
41120         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
41121         library_names_spec to acl_library_names_spec, hardcode_* to
41122         acl_hardcode_*.
41123         Reported by Ralf Wildenhues.
41124
41125 2007-01-08  Bruno Haible  <bruno@clisp.org>
41126
41127         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
41128         definition.
41129         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
41130         definition.
41131         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
41132         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
41133         definition.
41134         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
41135         definition.
41136         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
41137         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
41138         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
41139         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
41140         definition.
41141         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
41142         definition.
41143         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
41144         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
41145         GC_USE_<algorithm>.
41146         * lib/gc-libgcrypt.c: Likewise.
41147         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
41148         * modules/gc-arctwo (configure.ac): Likewise.
41149         * modules/gc-des (configure.ac): Likewise.
41150         * modules/gc-hmac-md5 (configure.ac): Likewise.
41151         * modules/gc-hmac-sha1 (configure.ac): Likewise.
41152         * modules/gc-md2 (configure.ac): Likewise.
41153         * modules/gc-md4 (configure.ac): Likewise.
41154         * modules/gc-md5 (configure.ac): Likewise.
41155         * modules/gc-random (configure.ac): Likewise.
41156         * modules/gc-rijndael (configure.ac): Likewise.
41157         * modules/gc-sha1 (configure.ac): Likewise.
41158
41159 2007-01-08  Bruno Haible  <bruno@clisp.org>
41160
41161         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
41162         macro definition.
41163         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
41164         definition.
41165         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
41166         definition.
41167         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
41168         * modules/fcntl-safer (configure.ac): Likewise.
41169         * modules/fopen-safer (configure.ac): Likewise.
41170         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
41171         GNULIB_FWRITEERROR macro definition.
41172
41173 2007-01-08  Bruno Haible  <bruno@clisp.org>
41174
41175         * m4/gnulib-common.m4: New file.
41176         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
41177         (func_get_filelist): Add m4/gnulib-common.m4.
41178
41179 2007-01-08  Bruno Haible  <bruno@clisp.org>
41180
41181         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
41182         command.
41183
41184 2007-01-08  Jim Meyering  <jim@meyering.net>
41185
41186         Use a more robust test for a "can't happen" condition.
41187         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
41188         narrowed the st_size value.  Presuming the "can't happen" condition
41189         is true, that narrowing could conceivably convert an invalid st_size
41190         value into a valid one.  Instead, use a change based on Matthew
41191         Woehlke's original patch.
41192
41193         Slight readability improvement: use an assert-like macro
41194         in place of literal "abort ()" uses.
41195         * lib/fts.c (fts_assert): Define.
41196         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
41197         Use this macro instead of a bare 'abort'.
41198
41199 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
41200
41201         Don't worry about using IRIX 5.3's wctype.h broken definitions;
41202         simply work around them.
41203         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
41204         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
41205         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
41206         declaring.
41207         Don't bother to define as macros, since the standard doesn't require it.
41208         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
41209         longer worry about IRIX 5.3.
41210         (HAVE_WCTYPE_CTMP_BUG): Remove.
41211
41212 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41213
41214         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
41215         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
41216         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41217         Problems reported by Georg Schwarz for IRIX 5.3.
41218
41219         * gnulib-tool (autoconf_minversion): Take the maximum version number
41220         found, not the minimum.  Problem reported by James Youngman.
41221
41222 2007-01-03  Karl Berry  <karl@gnu.org>
41223
41224         * doc/error.texi: new file, explaining interaction with progname.
41225         * doc/gnulib.texi: include it.  Update copyright.
41226
41227 2007-01-03  Simon Josefsson  <simon@josefsson.org>
41228
41229         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
41230         AC_CANONICAL_HOST, to improve autobuild outputs.
41231
41232 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
41233             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
41234
41235         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
41236         sockets, server sockets, and other file descriptors.  Count errors
41237         to compute the return value.  Reorder the code a bit to be easier
41238         to follow.  Don't set event bits that were not requested (except
41239         POLLERR and POLLHUP).
41240
41241 2007-01-01  Bruno Haible  <bruno@clisp.org>
41242
41243         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
41244
41245 2007-01-03  Jim Meyering  <jim@meyering.net>
41246
41247         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
41248
41249 2007-01-02  Bruno Haible  <bruno@clisp.org>
41250
41251         * modules/settime (Include): Require timespec.h.
41252         * modules/nanosleep (Include): Likewise.
41253
41254 2007-01-01  Bruno Haible  <bruno@clisp.org>
41255
41256         * gnulib-tool (func_emit_copyright_notice): Bump year.
41257         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
41258
41259 2007-01-01  Bruno Haible  <bruno@clisp.org>
41260
41261         Improve support for OpenBSD.
41262         * build-aux/config.rpath (libname_spec): Export.
41263         (library_names_spec): New variable. Export.
41264         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
41265         library_names_spec from the config.rpath output. Locate shared library
41266         through the name pattern in library_names_spec.
41267
41268 2007-01-01  Eric Blake  <ebb9@byu.net>
41269
41270         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
41271
41272 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
41273
41274         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
41275         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
41276         assume the C locale, and avoid an "eval" that could cause trouble.
41277         Problem with SORT reported by Bob Proulx.
41278
41279         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
41280         Define.  Trivial patch from Henning Nielsen Lund, originally
41281         sent to bug-grep@gnu.org today.
41282
41283 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41284
41285         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
41286         struct stat.  Problem reported by Henning Nielsen Lund.
41287         * lib/acl.c: Include acl.h first, to check interface.  Don't
41288         bother to include sys/types.h and sys/stat.h again.
41289
41290 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41291
41292         Import the following change from libc; problem reported by
41293         Sven Verdoolaege.
41294
41295         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
41296
41297         [BZ #1373]
41298         * lib/argp.h: Remove __NTH for __argp_usage inline function.
41299
41300 2006-12-28  Jim Meyering  <jim@meyering.net>
41301
41302         * build-aux/announce-gen: Do not assume that the package
41303         builds any of tar.gz, tar.bz2, and .xdelta files.
41304         Suggestion from Simon Josefsson.
41305
41306 2006-12-28  Simon Josefsson  <simon@josefsson.org>
41307
41308         * modules/announce-gen: New file.
41309
41310 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
41311
41312         * lib/mbchar.h: Just include <wctype.h>; the wctype module
41313         handles its gotchas now.
41314         * lib/mbswidth.c: Likewise.
41315         * lib/wcwidth.h: Likewise.
41316         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
41317         and iswcntrl; the wctype module does this stuff now.
41318         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41319         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41320         * modules/mbchar (Depends-on): Add wctype.
41321         * modules/mbswidth (Depends-on): Likewise.
41322         * modules/wcwidth (Depends-on): Likewise.
41323
41324 2006-12-27  Eric Blake  <ebb9@byu.net>
41325
41326         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
41327         module uses more than what <wctype.h> is required to provide.
41328
41329 2006-12-26  Eric Blake  <ebb9@byu.net>
41330
41331         * gnulib-tool (sed_extract_prog): Avoid space-tab.
41332
41333 2006-12-26  Eric Blake  <ebb9@byu.net>
41334
41335         * modules/absolute-header: New module.
41336         * modules/fcntl (Depends-on): Depend on it.
41337         * modules/inttypes (Depends-on): Likewise.
41338         * modules/stdint (Depends-on): Likewise.
41339         * modules/sys_stat (Depends-on): Likewise.
41340         * modules/wctype (Depends-on): Likewise.
41341         * MODULES.html.sh (Support for building libraries and
41342         executables): Document it.
41343
41344 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41345
41346         * gnulib-tool (SED): Remove, undoing previous change.
41347         The problem was that it broke coreutils on Solaris, because
41348         "sed --posix" leaked into a makefile.
41349         (sed): New alias, if 'alias' and GNU sed.
41350
41351 2006-12-24  Jim Meyering  <jim@meyering.net>
41352
41353         Work around an fchownat bug in glibc-2.4:
41354         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
41355         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
41356         in spite of the -P option.
41357         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
41358         New macros.
41359         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
41360         * modules/openat (Files): Add lib/fchownat.c.
41361         * lib/openat.c (fchownat): Don't define here.  Move to...
41362         * lib/fchownat.c: ...this new file.
41363
41364 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41365
41366         Fix bug reported by Bruno Haible in
41367         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
41368         where quotearg.c didn't compile on Mac OS X 10.2 because it
41369         lacks <wchar.h> and wint_t.
41370         * lib/wctype_.h (__wctype_wint_t): New type.
41371         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
41372         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
41373         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
41374         Arg is now of type __wctype_wint_t, not wint_t.
41375         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
41376         substitute HAVE_WINT_T.
41377         * modules/wctype (Files): Add m4/wint_t.m4.
41378         (wctype.h): Substitute HAVE_WINT_T.
41379
41380 2006-12-23  Bruno Haible  <bruno@clisp.org>
41381
41382         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
41383
41384 2006-12-23  Bruno Haible  <bruno@clisp.org>
41385
41386         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
41387         S_ISLNK.
41388         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
41389         mingw.
41390
41391 2006-12-22  Bruno Haible  <bruno@clisp.org>
41392
41393         * lib/copy-file.c: Include acl.h.
41394         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
41395         Close the file descriptors only after being done with copy_acl.
41396         * modules/copy-file (Depends-on): Add acl.
41397
41398 2006-12-22  Bruno Haible  <bruno@clisp.org>
41399
41400         * gnulib-tool (SED): New variable.
41401         Use $SED instead of sed everywhere.
41402
41403 2006-12-22  Bruno Haible  <bruno@clisp.org>
41404
41405         * modules/no-c++: New file.
41406         * m4/no-c++.m4: New file.
41407         * MODULES.html.sh (Support for building libraries and executables):
41408         Add no-c++.
41409
41410 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41411
41412         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41413         Include <limits.h>, and use its INT_MAX to rewrite the
41414         j loop so that it does not overflow 'int'.  Problem reported by
41415         Ralf Wildenhues in
41416         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
41417         Play it safe by shifting left by 1 rather than multiplying by 2,
41418         as GCC is less likely to optimize this away when the value
41419         is signed (when it assumes overflow leads to undefined behavior).
41420         Also, don't assume time_t uses two's complement.
41421
41422 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41423
41424         * MODULES.html.sh: New module wctype.
41425         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
41426         * lib/fnmatch.c: Don't bother to include <wchar.h> before
41427         <wctype.h>, since the new wctype module should fix this.
41428         * lib/quotearg.c: Include <wctype.h> unconditionally, since
41429         the wctype module should arrange for it.
41430         * lib/regex_internal.h: Likewise.
41431         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
41432         since the wctype module should handle this now.
41433         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
41434         * modules/fnmatch (Depends-on): Add wctype.
41435         * modules/quotearg (Depends-on): Likewise.
41436         * modules/regex (Depends-on): Likewise.
41437
41438 2006-12-19  Bruno Haible  <bruno@clisp.org>
41439
41440         * lib/strdup.h [C++]: Wrap definitions in extern "C".
41441         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
41442
41443 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41444
41445         * modules/savewd (Depends-on): Fix dependency on fcntl.
41446
41447 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41448
41449         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
41450         conforms to C99, rather than relying on the user's environment
41451         setting of STDINT_H.
41452
41453 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41454         and Eric Blake  <ebb9@byu.net>
41455
41456         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
41457         This is more consistent with the other defines here.
41458         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
41459         Port to z/OS.  Problem reported by Paul Gilmartin.
41460         Change local vars to use gl_ prefix rather than ac_.
41461         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
41462         with other defines.
41463         * modules/double-slash-root: New module.
41464         * modules/dirname (Files): Remove m4/double-slash-root.m4.
41465         (Depends-on): Add double-slash-root.
41466         * MODULES.html.sh (File system functions): Mention new module.
41467
41468 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
41469
41470         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
41471         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
41472         This is for the benefit of gzip, which doesn't do i18n.
41473
41474 2006-12-12  Jim Meyering  <jim@meyering.net>
41475
41476         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
41477         Reported by Andreas Schwab <schwab@suse.de>.
41478
41479 2006-12-12  Bruno Haible  <bruno@clisp.org>
41480
41481         Merge these changes.
41482         2006-09-05  Bruno Haible  <bruno@clisp.org>
41483         * lib/iconvme.c (iconv_string): No need to save and restore errno when
41484         iconv_alloc succeeded.
41485         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
41486         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
41487         test for " && dest " at the end - dest is always != NULL there. Call
41488         iconv with 4xNULL arguments initially, to reset the state. Call iconv
41489         with 2xNULL arguments, also to flush the state storage. Handle the
41490         IRIX iconv behaviour. Realloc the final result, to throw away unused
41491         memory.
41492
41493 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
41494
41495         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
41496         and fchmodat unconditionally, since glibc 2.4 has them.
41497         Problem reported by Arkadiusz Miskiewicz.
41498
41499 2006-12-10  Bruno Haible  <bruno@clisp.org>
41500
41501         * gnulib-tool (func_import): Show the include files only for those
41502         modules that are copied and specified.
41503         Reported by Karl Berry.
41504
41505 2006-12-08  Jim Meyering  <jim@meyering.net>
41506
41507         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
41508         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
41509
41510         * build-aux/announce-gen: Add two new options, both optional:
41511         --bootstrap-tools=TOOL_LIST
41512               a comma-separated list of tools, e.g.,
41513               autoconf,automake,bison,gnulib
41514         --gnulib-snapshot-date=DATE
41515               if gnulib is in the bootstrap tool list,
41516               then report this as the snapshot date.
41517               If not specified, use the current date/time.
41518               If you specify a date here, be sure it's UTC.
41519
41520 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41521
41522         * tests/test-argp-2.sh: Fix test to match actual output.
41523         (func_compare): Fix sed script to be portable.
41524
41525 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41526
41527         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
41528         workaround for this case.  It is not autoconfigured now; offhand
41529         it's hard to see how to autoconfigure it.
41530
41531 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41532
41533         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
41534         a directory that is about to be chowned.  Such a directory's
41535         initial file permissions should permit the owner only and this
41536         should not be changed until after the chown, since the group and
41537         other bits would be incorrect if they granted permission before
41538         the chown.
41539
41540         Fix porting problem for iswctype reported by Georg Schwarz in:
41541         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
41542         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
41543         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
41544         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
41545         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41546
41547 2006-12-03  Jim Meyering  <jim@meyering.net>
41548
41549         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
41550         p->fts_statp may not yet be defined.
41551         (fts_read): Instead, set it in the caller, once p->fts_statp is
41552         sure to be defined, and corresponds to a top-level directory.
41553         This bug made du -x fail.  Here's the coreutils test case:
41554         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
41555         Reported by Mike Frysinger.
41556
41557 2006-12-01  Jim Meyering  <jim@meyering.net>
41558
41559         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
41560         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
41561         Reported by Simon Josefsson.
41562
41563 2006-11-30  Jim Meyering  <jim@meyering.net>
41564
41565         * m4/warning.m4: Use the all-permissive copyright notice
41566         recommended by RMS (rather than LGPL).
41567         * m4/vararrays.m4: Likewise.
41568         * m4/flexmember.m4: Likewise.
41569
41570 2006-11-29  Bruno Haible  <bruno@clisp.org>
41571
41572         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41573         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
41574         using +=.
41575         Reported by Simon Josefsson <simon@josefsson.org>.
41576
41577 2006-11-28  James Youngman <jay@gnu.org>
41578
41579         * README: Advise users that they might find the bug-gnulib@gnu.org
41580         and autotools-announce@gnu.org mailing lists useful.
41581
41582 2006-11-28  Bruno Haible  <bruno@clisp.org>
41583
41584         * m4/ptrdiff_max.m4: Remove file.
41585
41586 2006-11-21  Bruno Haible  <bruno@clisp.org>
41587
41588         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
41589         _AC_COMPUTE_INT.
41590         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41591         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
41592         _AC_COMPUTE_INT.
41593         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41594         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
41595         _AC_COMPUTE_INT.
41596         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41597
41598 2006-11-28  Jim Meyering  <jim@meyering.net>
41599
41600         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
41601         warning from "gcc -Wshadow" about shadowing the builtin.
41602
41603 2006-11-27  Bruno Haible  <bruno@clisp.org>
41604
41605         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
41606         _AC_COMPUTE_INT.
41607         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41608
41609 2006-11-27  Bruno Haible  <bruno@clisp.org>
41610             Paul Eggert  <eggert@cs.ucla.edu>
41611
41612         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
41613
41614 2006-11-26  Bruno Haible  <bruno@clisp.org>
41615
41616         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41617         noinst_LTLIBRARIES.
41618
41619 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41620             Bruno Haible  <bruno@clisp.org>
41621
41622         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
41623         if compiling with "gcc -ansi".
41624
41625 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41626
41627         Fix some incompatibilities with gcc -ansi -pedantic.
41628         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
41629         if compiling pedantically with GCC, unless it's C99 or later.
41630         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
41631         it mishandles gcc -ansi -pedantic as well.
41632         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
41633         if gcc -pedantic.
41634         * lib/regexec.c (check_node_accept_bytes): Don't use auto
41635         initializers for struct if -pedantic, unless it's C99 or later.
41636
41637 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
41638
41639         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
41640         Don't close an fd more than once. Identical atimes indicate
41641         success, not failure.
41642
41643 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
41644
41645         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
41646
41647 2006-11-23  Jim Meyering  <jim@meyering.net>
41648
41649         * build-aux/announce-gen: New file.  From coreutils.
41650
41651 2006-11-22  Jim Meyering  <jim@meyering.net>
41652
41653         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
41654         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
41655         (fts_read): Use a temporary to narrow the overused st_size member
41656         before using it in a switch statement.  Reported by Matthew Woehlke.
41657
41658         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
41659         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41660
41661 2006-11-20  Bruno Haible  <bruno@clisp.org>
41662
41663         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
41664         changequote instead of pairs of brackets.
41665         Reported by Andreas Schwab <schwab@suse.de>.
41666
41667 2006-11-21  Jim Meyering  <jim@meyering.net>
41668
41669         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
41670         so as to remain compatible with older compilers.
41671         Patch from Michael Deutschmann.
41672
41673 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41674
41675         * MODULES.html.sh (File system functions): Add openat.
41676
41677         * lib/openat.h (rpl_fstatat): New macro, if
41678         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
41679         (fstatat): Define to rpl_fstatat under the same conditions,
41680         unless COMPILING_FSTATAT.
41681         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
41682         seems to have the bug.
41683         * lib/fstatat.c: New file.
41684         * modules/openat (Files): Add it.
41685
41686 2006-11-20  Bruno Haible  <bruno@clisp.org>
41687
41688         * Makefile: New file.
41689
41690 2006-11-20  Jim Meyering  <jim@meyering.net>
41691
41692         The beginnings of syntax-related checks for gnulib.
41693         * lib/Makefile: New file.
41694         * lib/t-idcache: New script.  Ensure that the two halves of
41695         idcache.c stay in sync.
41696
41697         * lib/idcache.c: Adjust comments in user- and group- portions to
41698         be more accurate, and to be consistent with one another.
41699
41700 2006-11-20  Jim Meyering  <jim@meyering.net>
41701
41702         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
41703         continue using the flexible array member (thus, this module performs
41704         half as many malloc calls), with the addition that...
41705         (getgroup, getuser): Consistently record a non-match via an empty
41706         "name" string, and map an empty string match to a NULL return value.
41707         * modules/idcache (Depends-on): Re-add flexmember.
41708
41709         * lib/idcache.c (getuser): Remove all uses of the register keyword.
41710         (getuidbyname, getgroup, getgidbyname): Likewise.
41711
41712         Use cleaner syntax: NULL rather than 0.
41713         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
41714
41715 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41716
41717         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
41718         It mishandled the case where the group was missing.
41719         Problem reported by Greg Schafer.
41720         * modules/idcache: Likewise.
41721
41722 2006-11-18  Jim Meyering  <jim@meyering.net>
41723
41724         * check-module (%exempt_header): Add exception for some
41725         conditionally-included headers.
41726
41727         * modules/i-ring (Depends-on): Add verify.
41728         (License): Change to LGPL.
41729
41730 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41731
41732         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
41733         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
41734         and inttostr.h.  Use snprintf rather than uinttostr, so that
41735         LGPLed code doesn't depend on GPLed.
41736
41737 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41738
41739         * modules/inline (License): Change from GPL to LGPL.
41740
41741 2006-11-17  Jim Meyering  <jim@meyering.net>
41742
41743         * modules/d-type (License): Switch to LGPL.
41744
41745 2006-11-15  Bruno Haible  <bruno@clisp.org>
41746
41747         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
41748
41749 2006-11-15  Eric Blake  <ebb9@byu.net>
41750
41751         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
41752         the module dependency.
41753
41754 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41755             Bruno Haible  <bruno@clisp.org>
41756
41757         * gnulib-tool (func_create_testdir): Add license consistency check.
41758
41759 2006-11-15  Eric Blake  <ebb9@byu.net>
41760
41761         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
41762         random "(cached)" in configure output.
41763
41764 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41765
41766         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
41767         test for conforming inttypes.h is both announced and cached.
41768
41769         * MODULES.html.sh (seen_modules, seen_files): New variables.
41770         (func_module): Rewrite to use a few less gnulib-tool and sed
41771         invocations.  Avoid a couple of quadratic algorithms for ...
41772         (missed_modules, missed_files): ... these, with ...
41773         (func_append, func_tmpdir): ... these new functions, from
41774         gnulib-tool.  Analogously, install traps for cleanup.
41775
41776         * tests/test-gc.c (main): Remove unused variables.
41777         * tests/test-read-file.c: Include stdlib.h, for 'free'.
41778
41779 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
41780
41781         * modules/inttostr (License): Change to LGPL.
41782
41783 2006-11-14  Eric Blake  <ebb9@byu.net>
41784
41785         * modules/tempname (License): Change to LGPL.
41786
41787 2006-11-14  Eric Blake  <ebb9@byu.net>
41788
41789         * doc/functions.texi (Function Portability): *printf functions on
41790         Cygwin now understand all POSIX size specifiers.
41791
41792 2006-11-14  Bruno Haible  <bruno@clisp.org>
41793
41794         * modules/c-ctype (License): Change to LGPL.
41795
41796 2006-11-12  Bruno Haible  <bruno@clisp.org>
41797
41798         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41799         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
41800         for GNOME libraries, for which the include files are installed in
41801         subdirectories of $prefix/include.
41802
41803 2006-11-12  Bruno Haible  <bruno@clisp.org>
41804
41805         * m4/lib-link.m4: Require at least autoconf-2.54.
41806         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
41807         name to underscores for the --with option.
41808
41809 2006-11-13  Bruno Haible  <bruno@clisp.org>
41810
41811         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
41812         the tests directory.
41813         Reported by Ralf Wildenhues.
41814
41815 2006-11-13  Bruno Haible  <bruno@clisp.org>
41816
41817         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
41818         (func_emit_initmacro_end): Undo the override here.
41819         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
41820         Works around the famous automake error in coreutils.
41821
41822 2006-11-13  Eric Blake  <ebb9@byu.net>
41823
41824         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
41825         element, not its node.
41826
41827 2006-11-12  Bruno Haible  <bruno@clisp.org>
41828
41829         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
41830         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
41831
41832 2006-11-12  Bruno Haible  <bruno@clisp.org>
41833
41834         * gnulib-tool: New option --local-symlink.
41835         (func_usage): Document it.
41836         (lsymbolic): New variable.
41837         (func_import, func_create_testdir): If --symlink was not specified,
41838         test whether --local-symlink was specified and the file comes from
41839         the local_gnulib_dir.
41840
41841 2006-11-12  Bruno Haible  <bruno@clisp.org>
41842
41843         * gnulib-tool (func_ln): New function.
41844         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
41845
41846 2006-11-12  Bruno Haible  <bruno@clisp.org>
41847
41848         Finish support for source files in subdirectories.
41849         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
41850         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
41851         AUTOMAKE_OPTIONS.
41852         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
41853
41854 2006-11-12  Bruno Haible  <bruno@clisp.org>
41855
41856         * gnulib-tool (func_get_automake_snippet): Synthesize also an
41857         EXTRA_lib_SOURCES augmentation.
41858         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
41859
41860 2006-11-12  Jim Meyering  <jim@meyering.net>
41861
41862         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
41863         file descriptors.  This also averts a failure on systems with
41864         native openat support when a traversed directory lacks "x" access.
41865         * lib/fts_.h: Include "i-ring.h"
41866         (struct FTS) [fts_fd_ring]: New member.
41867         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
41868         (FCHDIR): Add parentheses.
41869         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
41870         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
41871         When descending, rather than simply closing the previous
41872         fts_cwd_fd value, push that file descriptor onto the ring.
41873         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
41874         (fts_open): Initialize the new fd_ring member.
41875         (fts_close): Clear the ring.
41876         (fts_safe_changedir): When possible, use our new fd_ring to skip
41877         the diropen and fstat and dev/ino comparison that would normally
41878         accompany a virtual `chdir ("..")'.
41879
41880         * modules/fts (Depends-on): Add i-ring.
41881         * modules/i-ring: New module.
41882         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
41883         * m4/i-ring.m4: New file.
41884
41885 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41886
41887         * gnulib-tool (func_create_testdir): Fix replacement of
41888         `build-aux' in configure.ac.  Run autotools in gltests
41889         subdirectory.
41890         (func_create_testdir, func_create_megatestdir, test): There is
41891         no need for '--force' in most autotool invocations in a new
41892         tree.  Actually fail the whole test if any of the tools, or the
41893         configure or make stages fail.
41894
41895         Sync from Automake.
41896         * build-aux/gnupload: Revert last change.  Add pointer to upload
41897         instructions of the GNU Maintenance Instructions.
41898         Suggestion by Karl Berry.
41899
41900 2006-11-10  Jim Meyering  <jim@meyering.net>
41901
41902         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
41903
41904 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41905
41906         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
41907         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
41908         (bind_textdomain_codeset) [! ENABLE_NLS]:
41909         Evaluate all the arguments.  That way, callers get compatible behavior
41910         if the arguments have side effects.  Also, it avoids some GCC
41911         diagnostics in some cases; Joel E. Denny reported problems when Bison
41912         was configured with --enable-gcc-warnigs.
41913
41914 2006-11-10  Jim Meyering  <jim@meyering.net>
41915
41916         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
41917         relevant options in CFLAGS (like -O, -fno-inline) are taken into
41918         account.
41919
41920 2006-11-10  Jim Meyering  <jim@meyering.net>
41921
41922         * modules/inline: New file/module.
41923         * modules/xalloc (Files): Remove m4/inline.m4.
41924         (Depends-on): Add inline, instead.
41925         * modules/oset: Likewise.
41926         * modules/list: Likewise.
41927
41928 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41929
41930         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
41931         Problem reported by Matthew Woehlke.
41932
41933 2006-11-09  Bruno Haible  <bruno@clisp.org>
41934
41935         * lib/tempname.c (gen_tempname): Remove variant that invokes
41936         __gen_tempname.
41937         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
41938         __gen_tempname.
41939
41940 2006-11-08  Bruno Haible  <bruno@clisp.org>
41941
41942         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
41943         to 'yes' instead of 'cross-compiling'.
41944
41945 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
41946
41947         * lib/quotearg.h (quotearg_free): New decl.
41948         * lib/quotearg.c (quotearg_free): New function.
41949         (slot0, nslots, slotvec0, slotvec):
41950         Now file-scope so that quotearg_free can get at them.
41951
41952 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41953
41954         Sync from Automake.
41955         * build-aux/gnupload: Add missing 'gnu' to example URL.
41956         Report by Karl Berry.
41957
41958 2006-11-08  Bruno Haible  <bruno@clisp.org>
41959
41960         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
41961         Suggested by Paul Eggert.
41962
41963 2006-11-08  Jim Meyering  <jim@meyering.net>
41964
41965         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
41966         It's already included if !_LIBC.
41967         (fts_safe_changedir): Add a comment.
41968
41969 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
41970
41971         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
41972         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
41973         Matthew Woehlke.
41974
41975         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
41976         definitions up, to avoid colliding with change below.
41977         (static_inline) [HAVE_INLINE]: New macro.
41978         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
41979         Provide extern decls when !HAVE_INLINE.  Do not define unless
41980         static_inline is defined, either by us or by xmalloc.c.  Use
41981         static_inline rather than static inline.
41982         (XCALLOC): Optimize sizeof(T) = 1 case.
41983         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
41984
41985 2006-11-07  Bruno Haible  <bruno@clisp.org>
41986
41987         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
41988         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
41989         AC_C_INLINE.
41990         * modules/xalloc (Files): Add m4/inline.m4.
41991
41992 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41993
41994         * README: Fix typo.
41995         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
41996         (Miscellanous Notes): ...from this.
41997
41998 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
41999
42000         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
42001         Mention that offsetof should be used instead of sizeof.
42002         From Bruno Haible.
42003
42004 2006-11-07  Bruno Haible  <bruno@clisp.org>
42005
42006         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
42007
42008 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42009
42010         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42011         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
42012         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42013         (gl_tree_add_before, gl_tree_add_after):
42014         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
42015         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
42016         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42017         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
42018         (gl_linked_add_after, gl_linked_add_at): Likewise.
42019         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
42020         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
42021         (gl_tree_add_before, gl_tree_add_after): Likewise.
42022         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
42023         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
42024         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42025
42026 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42027
42028         * lib/gl_oset.h: Use C comment style, not C++ comment style.
42029
42030 2006-11-06  Bruno Haible  <bruno@clisp.org>
42031
42032         * m4/inline.m4: New file.
42033         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
42034         * modules/list (Files): Add m4/inline.m4.
42035         * modules/oset (Files): Likewise.
42036
42037 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
42038
42039         * lib/idcache.c: Include <stddef.h>, for offsetof.
42040         (struct userid.name): Change from char * to a flexible array member.
42041         All uses changed.
42042         * modules/idcache (Depends-on): Add flexmember.
42043
42044         * MODULES.html.sh (Core language properties): New module flexmember.
42045         * modules/flexmember, m4/flexmember.m4: New files.
42046
42047         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
42048         inline functions that are identical with the old xnmalloc_inline,
42049         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
42050         that we can avoid some unnecessary integer multiplications and
42051         divisions in the common case where the element size is known at
42052         compile time.
42053         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
42054         needed.
42055         (xnboundedmalloc): Remove.
42056         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
42057         arguments, for consistency with rest of this header.
42058         (xcharalloc): Rewrite using XNMALLOC.
42059         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
42060         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
42061         versions have been moved to lib/xalloc.h and renamed to be the
42062         non-*_inline versions.
42063         (xmalloc, xrealloc): Implement without reference to the xnmalloc
42064         and xnrealloc functions, since those functions are now inline and
42065         now call us.
42066         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
42067         renaming described above.
42068         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
42069         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
42070         captures the dependency in AC_C_INLINE.
42071
42072         New module canonicalize-lgpl, proposed by Charles Wilson in
42073         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
42074         with a few small changes afterwards.
42075         * MODULES.html.sh (File system functions): New module
42076         canonicalize-lgpl.
42077         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
42078         and canonicalize_file_name.
42079         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
42080         * modules/canonicalize-lgpl: New files.
42081
42082 2006-11-05  Bruno Haible  <bruno@clisp.org>
42083
42084         * gnulib-tool (func_import, func_create_testdir): Create directories
42085         also for files in subdirectories of lib/.
42086
42087 2006-11-05  Bruno Haible  <bruno@clisp.org>
42088
42089         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
42090         ANSI C compliant.
42091
42092 2006-11-03  Bruno Haible  <bruno@clisp.org>
42093
42094         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
42095         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
42096         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
42097         (xnboundedmalloc): New inline function.
42098         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
42099         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
42100         xmalloc.
42101         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
42102         xmalloc.
42103         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
42104         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
42105         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
42106         xmalloc.
42107         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42108         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
42109         xmalloc.
42110         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
42111         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42112         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
42113         xmalloc.
42114         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
42115         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
42116         gl_tree_add_after): Use XMALLOC instead of xmalloc.
42117         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
42118         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
42119         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
42120         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
42121
42122 2006-11-03  Bruno Haible  <bruno@clisp.org>
42123
42124         * lib/c-ctype.h [C++]: Define functions without name mangling.
42125         * lib/fwriteerror.h [C++]: Likewise.
42126         * lib/gcd.h [C++]: Likewise.
42127         * lib/linebreak.h [C++]: Likewise.
42128
42129 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
42130
42131         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
42132         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
42133         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
42134         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
42135         Check for functions and headers just once.
42136         Check for declaration of canonicalize_file_name.
42137         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
42138
42139 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42140
42141         * gnulib-tool (func_import): Fix typo in actioncmd.
42142
42143 2006-11-02  Bruno Haible  <bruno@clisp.org>
42144
42145         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
42146         newline sequence in the Makefile.am snippet as a space, like "make"
42147         does.
42148         Reported by Roger Persson <perrog@gmail.com>.
42149
42150 2006-11-01  Bruno Haible  <bruno@clisp.org>
42151
42152         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
42153         already declared in <string.h>.
42154         * lib/strcase.h (strncasecmp): Don't declare it if yes.
42155
42156 2006-11-01  Bruno Haible  <bruno@clisp.org>
42157
42158         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
42159         * lib/strcase.h: Include <string.h>.
42160         (strcasecmp): Define to rpl_strcasecmp here.
42161
42162 2006-11-01  Bruno Haible  <bruno@clisp.org>
42163
42164         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
42165
42166 2006-11-01  Eric Blake  <ebb9@byu.net>
42167
42168         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
42169
42170         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
42171
42172 2006-10-29  Bruno Haible  <bruno@clisp.org>
42173
42174         Make it compile in C++ mode.
42175         * lib/full-write.c (full_rw): Add a cast.
42176
42177 2006-11-01  Bruno Haible  <bruno@clisp.org>
42178
42179         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
42180         be POSIX compliant.
42181         Reported by Roger Persson <perrog@gmail.com>.
42182
42183 2006-11-01  Eric Blake  <ebb9@byu.net>
42184
42185         * lib/getopt_.h: Fix comments.
42186
42187 2006-10-31  Eric Blake  <ebb9@byu.net>
42188
42189         * modules/tmpdir (Depends-on): Add sys_stat.
42190         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
42191         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
42192         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
42193         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
42194         tempname.
42195
42196 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
42197
42198         Avoid some C++ diagnostics reported by Bruno Haible.
42199         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
42200         xmalloc.
42201         (quotearg_alloc): Use xcharalloc rather than xmalloc.
42202         (struct slotvec): Move to top level.
42203         (quotearg_n_options): Rewrite to avoid xmalloc.
42204         * lib/xalloc.h (xcharalloc): New function.
42205         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
42206         [defined __cplusplus]: Add function template that provides result
42207         type propagation.  This part of the change is from Bruno Haible.
42208
42209 2006-10-29  Bruno Haible  <bruno@clisp.org>
42210
42211         Make it compile in C++ mode.
42212         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
42213         * lib/strnlen1.c (strnlen1): Cast memchr result.
42214         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
42215         * lib/clean-temp.c (string_equals, string_hash): Add casts.
42216         (create_temp_dir): Rename local variable 'template'.
42217         (compile_csharp_using_sscli): Add cast.
42218         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
42219         * lib/findprog.c (find_in_path): Likewise.
42220         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
42221         * lib/wait-process.c (register_slave_subprocess): Likewise.
42222
42223 2006-10-22  Bruno Haible  <bruno@clisp.org>
42224
42225         * modules/tsearch: New file.
42226         * lib/tsearch.h: New file.
42227         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
42228         * m4/tsearch.m4: New file.
42229         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
42230
42231 2006-10-29  Eric Blake  <ebb9@byu.net>
42232
42233         * lib/arcfour.c: Assume config.h.
42234         * lib/arctwo.c: Likewise.
42235         * lib/base64.c: Likewise.
42236         * lib/check-version.c: Likewise.
42237         * lib/crc.c: Likewise.
42238         * lib/des.c: Likewise.
42239         * lib/gc-gnulib.c: Likewise.
42240         * lib/gc-libgcrypt.c: Likewise.
42241         * lib/gc-pbkdf2-sha1.c: Likewise.
42242         * lib/getaddrinfo.c: Likewise.
42243         * lib/getdelim.c: Likewise.
42244         * lib/getline.c: Likewise.
42245         * lib/hmac-md5.c: Likewise.
42246         * lib/hmac-sha1.c: Likewise.
42247         * lib/iconvme.c: Likewise.
42248         * lib/md2.c: Likewise.
42249         * lib/md4.c: Likewise.
42250         * lib/memxor.c: Likewise.
42251         * lib/read-file.c: Likewise.
42252         * lib/readline.c: Likewise.
42253         * lib/rijndael-alg-fst.c: Likewise.
42254         * lib/rijndael-api-fst.c: Likewise.
42255         * lib/xgetdomainname.c: Likewise.
42256
42257 2006-10-28  Eric Blake  <ebb9@byu.net>
42258
42259         * lib/xstrndup.c: Assume config.h.
42260
42261 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
42262
42263         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
42264         stat-macros.h is now for our own macros, whereas stat_h is for
42265         macros in the <sys/stat.h> name space.
42266         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
42267         (STAT_MACROS_H): Remove.
42268         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
42269         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
42270         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
42271         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42272         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
42273         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
42274         Move these macros to ...
42275         * lib/stat_.h: here.  Don't include stat-macros.h.
42276         * lib/canonicalize.c: Don't include stat-macros.h.
42277         * lib/chown.c: Likewise.
42278         * lib/euidaccess.c: Likewise.
42279         * lib/file-type.c: Likewise.
42280         * lib/filemode.c: Likewise.
42281         * lib/glob.c: Likewise.
42282         * lib/isapipe.c: Likewise.
42283         * lib/lchown.c: Likewise.
42284         * lib/lstat.c: Likewise.
42285         * lib/mkdir-p.c: Likewise.
42286         * lib/rmdir.c: Likewise.
42287         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
42288         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
42289         unless mkdir isn't declared, to speed up 'configure'.
42290         Always create sys/stat.h, since it's unlikely any real sys/stat.h
42291         would define all the S_* symbols.
42292         * modules/canonicalize (Depends-on):
42293         Depend on sys_stat, not stat-macros.
42294         * modules/chown: Likewise.
42295         * modules/euidaccess: Likewise.
42296         * modules/filemode: Likewise.
42297         * modules/file-type: Likewise.
42298         * modules/glob: Likewise.
42299         * modules/isapipe: Likewise.
42300         * modules/lchown: Likewise.
42301         * modules/lstat: Likewise.
42302         * modules/mkancesdirs: Likewise.
42303         * modules/rmdir: Likewise.
42304         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
42305         * modules/modechange: Likewise.
42306         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
42307         (configure.ac): Remove gl_STAT_MACROS.
42308         * modules/sys_stat (Depends-on): Remove stat-macros.
42309
42310 2006-10-27  Bruno Haible  <bruno@clisp.org>
42311
42312         * m4/signed.m4: Remove file.
42313         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
42314         invocation.
42315         * modules/vasnprintf (Files): Remove m4/signed.m4.
42316
42317 2006-10-27  Bruno Haible  <bruno@clisp.org>
42318
42319         Update to GNU gettext 0.16.
42320         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
42321         m4/inttypes-h.m4, m4/signed.m4.
42322         * m4/gettext.m4: Update to GNU gettext 0.16.
42323         * m4/intl.m4: New file, from GNU gettext.
42324         * m4/intldir.m4: New file, from GNU gettext.
42325         * config/srclist.txt: Update
42326
42327 2006-10-27  Eric Blake  <ebb9@byu.net>
42328
42329         * MODULES.html.sh: Document tempname.
42330         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
42331         dependencies.
42332         (Files): Move lib/tempname.c...
42333         * modules/tempname: ...to this new module.
42334         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
42335         (gl_PREREQ_TEMPNAME): Move...
42336         * m4/tempname.m4: ...to this new file.
42337         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
42338         * modules/sys_stat (Depends-on): Add stat-macros.
42339         * lib/stat_.h (includes): Pick up stat macros.
42340         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
42341         if stat macros are broken.
42342         * lib/tempname.c (includes): No need to include "stat-macros.h".
42343         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
42344         (direxists, __path_search) [!_LIBC]: Don't compile these in
42345         gnulib; the tmpdir module covers that.
42346         * lib/tempname.h: New file.
42347
42348 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42349
42350         * COPYING: Explain how gnulib-tool converts licence headers.
42351         Almost all wording by Eric Blake.
42352
42353 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
42354
42355         * lib/mbchar.h (is_basic_table): Make read-only.
42356         * lib/mbchar.c (is_basic_table): Likewise.
42357         Reported by John Darrington.
42358
42359 2006-10-25  Bruno Haible  <bruno@clisp.org>
42360
42361         * lib/progname.h (set_program_name): Undefine before defining.
42362
42363 2006-10-25  Bruno Haible  <bruno@clisp.org>
42364
42365         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
42366         false for non-gcc C++ compilers.
42367         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42368
42369 2006-10-24  Bruno Haible  <bruno@clisp.org>
42370
42371         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
42372         iconv implementations like Irix iconv.
42373
42374 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42375
42376         * modules/vararrays: New file.
42377         * m4/vararrays.m4: New file, taken from diffutils.
42378         * MODULES.html.sh: New module vararrays.
42379
42380 2006-10-24  Karl Berry  <karl@gnu.org>
42381
42382         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
42383         Don't call GNU Unix.
42384
42385 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42386
42387         * users.txt: Add Libtool.
42388
42389         Sync from Libtool:
42390
42391         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42392
42393         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
42394         to gnulib's policy of including config.h unconditionally.
42395
42396 2006-10-24  Bruno Haible  <bruno@clisp.org>
42397
42398         * modules/wcwidth (Files): Add m4/wint_t.m4.
42399         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
42400         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
42401
42402 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42403
42404         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
42405         to pacify GCC with some -W flags enabled.  Problem reported by
42406         Bruno Haible.
42407
42408 2006-10-24  Jim Meyering  <jim@meyering.net>
42409
42410         * MODULES.html.sh: Remove uinttostr.  It's not a module.
42411         Reported by Karl Berry.
42412
42413 2006-10-23  Bruno Haible  <bruno@clisp.org>
42414
42415         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
42416
42417 2006-10-24  Bruno Haible  <bruno@clisp.org>
42418
42419         * lib/gl_list.h: Use C comment style, not C++ comment style.
42420
42421 2006-10-23  Eric Blake  <ebb9@byu.net>
42422
42423         * lib/getaddrinfo.c (includes): Add missing include.
42424
42425 2006-10-23  Bruno Haible  <bruno@clisp.org>
42426             Paul Eggert  <eggert@cs.ucla.edu>
42427
42428         Ability to rename obstack_free.
42429         * lib/obstack.h (__obstack_free): New macro. Declare instead of
42430         obstack_free.
42431         (obstack_free): Invoke the __obstack_free macro.
42432         * lib/obstack.c (obstack_free): Use __obstack_free macro.
42433
42434 2006-10-23  Bruno Haible  <bruno@clisp.org>
42435             Paul Eggert  <eggert@cs.ucla.edu>
42436
42437         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
42438         __argc, __argv from the declaration. (They are defined as macros on
42439         mingw.)
42440
42441 2006-10-22  Bruno Haible  <bruno@clisp.org>
42442
42443         * doc/gnulib-intro.texi: New file.
42444         * doc/gnulib.texi: Include it.
42445
42446 2006-10-21  Bruno Haible  <bruno@clisp.org>
42447
42448         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
42449         "Introduction", "Miscellanous Notes", "Particular Modules".
42450
42451 2006-10-21  Bruno Haible  <bruno@clisp.org>
42452
42453         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42454         Change mostlyclean-local rule to avoid sh syntax error from bash
42455         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
42456
42457 2006-10-23  Jim Meyering  <jim@meyering.net>
42458
42459         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
42460         in place of snprintf.
42461
42462         * modules/inttostr (Files): Add lib/uinttostr.c.
42463         * lib/uinttostr.c (inttostr): New file/function.
42464         * lib/inttostr.h (uinttostr): Declare.
42465         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
42466         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42467         Add uinttostr.
42468         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
42469
42470 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42471
42472         * lib/canonicalize.c (ELOOP): Define if not already defined.
42473         Problem reported by Bruno Haible in
42474         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
42475
42476 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42477
42478         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
42479         Problem reported by Perry Smith and Ville Laurikari.
42480
42481         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
42482         uses.
42483
42484 2006-10-19  Bruno Haible  <bruno@clisp.org>
42485
42486         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
42487         for mingw.
42488
42489 2006-10-19  Bruno Haible  <bruno@clisp.org>
42490
42491         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
42492         Needed for mingw.
42493
42494 2006-10-19  Bruno Haible  <bruno@clisp.org>
42495
42496         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
42497
42498 2006-10-19  Bruno Haible  <bruno@clisp.org>
42499
42500         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
42501         it.
42502
42503 2006-10-19  Bruno Haible  <bruno@clisp.org>
42504
42505         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
42506         invocation.
42507
42508 2006-10-19  Bruno Haible  <bruno@clisp.org>
42509
42510         * gnulib-tool (func_create_testdir): Don't include ftruncate and
42511         mountlist by default.
42512
42513 2006-10-16  Bruno Haible  <bruno@clisp.org>
42514
42515         * lib/c-strstr.c: Include c-strstr.h.
42516
42517 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42518
42519         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
42520         in a slash.
42521
42522 2006-10-18  Bruno Haible  <bruno@clisp.org>
42523
42524         * lib/lock.h [C++]: Wrap definitions in extern "C".
42525
42526 2006-10-18  Bruno Haible  <bruno@clisp.org>
42527
42528         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
42529         gl_LIBOBJS list.
42530
42531 2006-10-18  Bruno Haible  <bruno@clisp.org>
42532
42533         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
42534
42535 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
42536
42537         * lib/xstrtol.h: Include gettext.h.
42538         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
42539         Problem reported by Eric Blake.
42540         * modules/xstrtol (Depends-on): Add gettext-h.
42541
42542 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
42543
42544         * lib/strftime.c (advance): New macro.
42545         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
42546         incomplete type, so you can't add 0 to it.  Problem and patch
42547         reported by Eelco Dolstra for dietlibc.
42548
42549 2006-10-18  Jim Meyering  <jim@meyering.net>
42550
42551         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
42552         type for a local, and rename it: s/up/user_proc/.
42553
42554 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42555
42556         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
42557         READ_UTMP_USER_PROCESS.
42558         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
42559
42560 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42561
42562         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
42563         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
42564
42565 2006-10-17  Eric Blake  <ebb9@byu.net>
42566
42567         * lib/sigprocmask.c (sigprocmask): Fix typo.
42568
42569         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
42570
42571         * modules/clean-temp (Makefile.am): Don't add to make output...
42572         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
42573         config.h.
42574
42575 2006-10-17  Bruno Haible  <bruno@clisp.org>
42576
42577         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
42578         differently if DEFAULT_TEXT_DOMAIN is set.
42579
42580 2006-10-16  Bruno Haible  <bruno@clisp.org>
42581
42582         * lib/clean-temp.c: Include fwriteerror.h.
42583
42584 2006-10-16  Bruno Haible  <bruno@clisp.org>
42585
42586         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
42587
42588 2006-10-16  Bruno Haible  <bruno@clisp.org>
42589
42590         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
42591         * lib/sigprocmask.h: Include <sys/types.h>.
42592         (sigset_t): Use the system's definition if present.
42593
42594 2006-10-17  Eric Blake  <ebb9@byu.net>
42595
42596         * lib/xvasprintf.c (includes): Assume config.h.
42597         * lib/xasprintf.c (includes): Likewise.
42598
42599 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42600
42601         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
42602         at least as wide as intmax_t.
42603
42604 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
42605
42606         (Imported from Automake.)
42607         * build-aux/gnupload: Update to version 1.1 of directive file.
42608
42609 2006-10-16  Eric Blake  <ebb9@byu.net>
42610
42611         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
42612         match Automake 1.10a.
42613
42614 2006-10-14  Bruno Haible  <bruno@clisp.org>
42615
42616         * modules/sigprocmask: New file.
42617         * lib/sigprocmask.h: New file.
42618         * lib/sigprocmask.c: New file.
42619         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
42620         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
42621         request sigprocmask.o.
42622         (gl_PREREQ_SIGPROCMASK): New macro.
42623         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
42624         (Depends-on): Add sigprocmask.
42625         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
42626         gt_SIGNALBLOCKING. Test for 'raise' only once.
42627         * lib/fatal-signal.c: Include sigprocmask.h.
42628         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
42629         unblock_fatal_signals): Define always.
42630         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42631         sigprocmask.
42632
42633 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
42634
42635         Sync from Automake.
42636         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
42637         which incorrectly sets the mode of an existing destination
42638         directory.  In some cases the unpatched install-sh could do the
42639         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
42640         system.  We hope this is rare in practice, but it's clearly worth
42641         fixing.  Problem reported by Alex Unleashed in
42642         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
42643         Also, don't bother to check for -m bugs unless we're using -m;
42644         suggested by Stepan Kasal.
42645
42646 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42647
42648         Sync from Automake.
42649         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
42650         `-c' flag, so they appear at the same position as in %FASTDEP%
42651         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
42652         which ignores unknown options only after the first non-option.
42653         Bug report against M4 by Nelson H. F. Beebe.
42654
42655 2006-10-13  Jim Meyering  <jim@meyering.net>
42656
42657         Fix a bug in yesterday's change.
42658         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
42659         p->fts_statp->st_dev would be used uninitialized.
42660         Ensures that we always call fts_stat on the very first entry.
42661         Miklos Szeredi reported that find -xdev stopped working.
42662
42663 2006-10-12  Bruno Haible  <bruno@clisp.org>
42664
42665         * gnulib-tool (func_get_automake_snippet): Append an automatically
42666         computed EXTRA_DIST augmentation.
42667         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
42668         * modules/alloca-opt (Makefile.am): Likewise.
42669         * modules/allocsa (Makefile.am): Likewise.
42670         * modules/arcfour (Makefile.am): Likewise.
42671         * modules/arctwo (Makefile.am): Likewise.
42672         * modules/argmatch (Makefile.am): Likewise.
42673         * modules/argz (Makefile.am): Likewise.
42674         * modules/atexit (Makefile.am): Likewise.
42675         * modules/backupfile (Makefile.am): Likewise.
42676         * modules/byteswap (Makefile.am): Likewise.
42677         * modules/c-strtod (Makefile.am): Likewise.
42678         * modules/c-strtold (Makefile.am): Likewise.
42679         * modules/calloc (Makefile.am): Likewise.
42680         * modules/canon-host (Makefile.am): Likewise.
42681         * modules/canonicalize (Makefile.am): Likewise.
42682         * modules/chdir-long (Makefile.am): Likewise.
42683         * modules/chdir-safer (Makefile.am): Likewise.
42684         * modules/check-version (Makefile.am): Likewise.
42685         * modules/chown (Makefile.am): Likewise.
42686         * modules/cloexec (Makefile.am): Likewise.
42687         * modules/close-stream (Makefile.am): Likewise.
42688         * modules/closeout (Makefile.am): Likewise.
42689         * modules/crc (Makefile.am): Likewise.
42690         * modules/csharpexec (Makefile.am): Likewise.
42691         * modules/cycle-check (Makefile.am): Likewise.
42692         * modules/des (Makefile.am): Likewise.
42693         * modules/dev-ino (Makefile.am): Likewise.
42694         * modules/dirfd (Makefile.am): Likewise.
42695         * modules/dirname (Makefile.am): Likewise.
42696         * modules/dup2 (Makefile.am): Likewise.
42697         * modules/eealloc (Makefile.am): Likewise.
42698         * modules/error (Makefile.am): Likewise.
42699         * modules/euidaccess (Makefile.am): Likewise.
42700         * modules/exclude (Makefile.am): Likewise.
42701         * modules/exitfail (Makefile.am): Likewise.
42702         * modules/fcntl-safer (Makefile.am): Likewise.
42703         * modules/fcntl (Makefile.am): Likewise.
42704         * modules/file-type (Makefile.am): Likewise.
42705         * modules/fileblocks (Makefile.am): Likewise.
42706         * modules/filemode (Makefile.am): Likewise.
42707         * modules/filenamecat (Makefile.am): Likewise.
42708         * modules/fnmatch (Makefile.am): Likewise.
42709         * modules/fopen-safer (Makefile.am): Likewise.
42710         * modules/fpending (Makefile.am): Likewise.
42711         * modules/fprintftime (Makefile.am): Likewise.
42712         * modules/free (Makefile.am): Likewise.
42713         * modules/fsusage (Makefile.am): Likewise.
42714         * modules/ftruncate (Makefile.am): Likewise.
42715         * modules/fts (Makefile.am): Likewise.
42716         * modules/gc-arcfour (Makefile.am): Likewise.
42717         * modules/gc-des (Makefile.am): Likewise.
42718         * modules/gc-hmac-md5 (Makefile.am): Likewise.
42719         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
42720         * modules/gc-md4 (Makefile.am): Likewise.
42721         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42722         * modules/gc-sha1 (Makefile.am): Likewise.
42723         * modules/gc (Makefile.am): Likewise.
42724         * modules/getaddrinfo (Makefile.am): Likewise.
42725         * modules/getcwd (Makefile.am): Likewise.
42726         * modules/getdelim (Makefile.am): Likewise.
42727         * modules/getdomainname (Makefile.am): Likewise.
42728         * modules/getgroups (Makefile.am): Likewise.
42729         * modules/gethostname (Makefile.am): Likewise.
42730         * modules/gethrxtime (Makefile.am): Likewise.
42731         * modules/getline (Makefile.am): Likewise.
42732         * modules/getloadavg (Makefile.am): Likewise.
42733         * modules/getlogin_r (Makefile.am): Likewise.
42734         * modules/getndelim2 (Makefile.am): Likewise.
42735         * modules/getopt (Makefile.am): Likewise.
42736         * modules/getpagesize (Makefile.am): Likewise.
42737         * modules/getpass-gnu (Makefile.am): Likewise.
42738         * modules/getpass (Makefile.am): Likewise.
42739         * modules/getsubopt (Makefile.am): Likewise.
42740         * modules/gettime (Makefile.am): Likewise.
42741         * modules/gettimeofday (Makefile.am): Likewise.
42742         * modules/getugroups (Makefile.am): Likewise.
42743         * modules/getusershell (Makefile.am): Likewise.
42744         * modules/glob (Makefile.am): Likewise.
42745         * modules/group-member (Makefile.am): Likewise.
42746         * modules/hard-locale (Makefile.am): Likewise.
42747         * modules/hash (Makefile.am): Likewise.
42748         * modules/hmac-md5 (Makefile.am): Likewise.
42749         * modules/hmac-sha1 (Makefile.am): Likewise.
42750         * modules/human (Makefile.am): Likewise.
42751         * modules/idcache (Makefile.am): Likewise.
42752         * modules/imaxabs (Makefile.am): Likewise.
42753         * modules/imaxdiv (Makefile.am): Likewise.
42754         * modules/inet_ntop (Makefile.am): Likewise.
42755         * modules/inet_pton (Makefile.am): Likewise.
42756         * modules/intprops (Makefile.am): Likewise.
42757         * modules/inttostr (Makefile.am): Likewise.
42758         * modules/inttypes (Makefile.am): Likewise.
42759         * modules/isapipe (Makefile.am): Likewise.
42760         * modules/javaversion (Makefile.am): Likewise.
42761         * modules/lchmod (Makefile.am): Likewise.
42762         * modules/lchown (Makefile.am): Likewise.
42763         * modules/localcharset (Makefile.am): Likewise.
42764         * modules/long-options (Makefile.am): Likewise.
42765         * modules/lstat (Makefile.am): Likewise.
42766         * modules/malloc (Makefile.am): Likewise.
42767         * modules/mathl (Makefile.am): Likewise.
42768         * modules/mbchar (Makefile.am): Likewise.
42769         * modules/md2 (Makefile.am): Likewise.
42770         * modules/md4 (Makefile.am): Likewise.
42771         * modules/md5 (Makefile.am): Likewise.
42772         * modules/memcasecmp (Makefile.am): Likewise.
42773         * modules/memchr (Makefile.am): Likewise.
42774         * modules/memcmp (Makefile.am): Likewise.
42775         * modules/memcoll (Makefile.am): Likewise.
42776         * modules/memcpy (Makefile.am): Likewise.
42777         * modules/memmem (Makefile.am): Likewise.
42778         * modules/memmove (Makefile.am): Likewise.
42779         * modules/mempcpy (Makefile.am): Likewise.
42780         * modules/memrchr (Makefile.am): Likewise.
42781         * modules/memset (Makefile.am): Likewise.
42782         * modules/memxor (Makefile.am): Likewise.
42783         * modules/mkancesdirs (Makefile.am): Likewise.
42784         * modules/mkdir-p (Makefile.am): Likewise.
42785         * modules/mkdir (Makefile.am): Likewise.
42786         * modules/mkdtemp (Makefile.am): Likewise.
42787         * modules/mkstemp (Makefile.am): Likewise.
42788         * modules/mktime (Makefile.am): Likewise.
42789         * modules/modechange (Makefile.am): Likewise.
42790         * modules/mountlist (Makefile.am): Likewise.
42791         * modules/nanosleep (Makefile.am): Likewise.
42792         * modules/obstack (Makefile.am): Likewise.
42793         * modules/openat (Makefile.am): Likewise.
42794         * modules/pagealign_alloc (Makefile.am): Likewise.
42795         * modules/pathmax (Makefile.am): Likewise.
42796         * modules/physmem (Makefile.am): Likewise.
42797         * modules/poll (Makefile.am): Likewise.
42798         * modules/posixtm (Makefile.am): Likewise.
42799         * modules/posixver (Makefile.am): Likewise.
42800         * modules/putenv (Makefile.am): Likewise.
42801         * modules/quote (Makefile.am): Likewise.
42802         * modules/quotearg (Makefile.am): Likewise.
42803         * modules/raise (Makefile.am): Likewise.
42804         * modules/read-file (Makefile.am): Likewise.
42805         * modules/readline (Makefile.am): Likewise.
42806         * modules/readlink (Makefile.am): Likewise.
42807         * modules/readtokens (Makefile.am): Likewise.
42808         * modules/readutmp (Makefile.am): Likewise.
42809         * modules/realloc (Makefile.am): Likewise.
42810         * modules/regex (Makefile.am): Likewise.
42811         * modules/rename-dest-slash (Makefile.am): Likewise.
42812         * modules/rename (Makefile.am): Likewise.
42813         * modules/rijndael (Makefile.am): Likewise.
42814         * modules/rmdir (Makefile.am): Likewise.
42815         * modules/rpmatch (Makefile.am): Likewise.
42816         * modules/safe-read (Makefile.am): Likewise.
42817         * modules/safe-write (Makefile.am): Likewise.
42818         * modules/same-inode (Makefile.am): Likewise.
42819         * modules/same (Makefile.am): Likewise.
42820         * modules/save-cwd (Makefile.am): Likewise.
42821         * modules/savedir (Makefile.am): Likewise.
42822         * modules/setenv (Makefile.am): Likewise.
42823         * modules/settime (Makefile.am): Likewise.
42824         * modules/sha1 (Makefile.am): Likewise.
42825         * modules/sig2str (Makefile.am): Likewise.
42826         * modules/snprintf (Makefile.am): Likewise.
42827         * modules/stat-macros (Makefile.am): Likewise.
42828         * modules/stat-time (Makefile.am): Likewise.
42829         * modules/stdbool (Makefile.am): Likewise.
42830         * modules/stdint (Makefile.am): Likewise.
42831         * modules/stdlib-safer (Makefile.am): Likewise.
42832         * modules/stpcpy (Makefile.am): Likewise.
42833         * modules/stpncpy (Makefile.am): Likewise.
42834         * modules/strcase (Makefile.am): Likewise.
42835         * modules/strcasestr (Makefile.am): Likewise.
42836         * modules/strchrnul (Makefile.am): Likewise.
42837         * modules/strcspn (Makefile.am): Likewise.
42838         * modules/strdup (Makefile.am): Likewise.
42839         * modules/strerror (Makefile.am): Likewise.
42840         * modules/strftime (Makefile.am): Likewise.
42841         * modules/strndup (Makefile.am): Likewise.
42842         * modules/strnlen (Makefile.am): Likewise.
42843         * modules/strpbrk (Makefile.am): Likewise.
42844         * modules/strsep (Makefile.am): Likewise.
42845         * modules/strstr (Makefile.am): Likewise.
42846         * modules/strtod (Makefile.am): Likewise.
42847         * modules/strtoimax (Makefile.am): Likewise.
42848         * modules/strtok_r (Makefile.am): Likewise.
42849         * modules/strtol (Makefile.am): Likewise.
42850         * modules/strtoll (Makefile.am): Likewise.
42851         * modules/strtoul (Makefile.am): Likewise.
42852         * modules/strtoull (Makefile.am): Likewise.
42853         * modules/strtoumax (Makefile.am): Likewise.
42854         * modules/strverscmp (Makefile.am): Likewise.
42855         * modules/sys_socket (Makefile.am): Likewise.
42856         * modules/sys_stat (Makefile.am): Likewise.
42857         * modules/sysexits (Makefile.am): Likewise.
42858         * modules/time_r (Makefile.am): Likewise.
42859         * modules/timegm (Makefile.am): Likewise.
42860         * modules/timespec (Makefile.am): Likewise.
42861         * modules/tmpfile-safer (Makefile.am): Likewise.
42862         * modules/trim (Makefile.am): Likewise.
42863         * modules/unistd-safer (Makefile.am): Likewise.
42864         * modules/unlinkdir (Makefile.am): Likewise.
42865         * modules/unlocked-io (Makefile.am): Likewise.
42866         * modules/userspec (Makefile.am): Likewise.
42867         * modules/utime (Makefile.am): Likewise.
42868         * modules/utimecmp (Makefile.am): Likewise.
42869         * modules/utimens (Makefile.am): Likewise.
42870         * modules/vasnprintf (Makefile.am): Likewise.
42871         * modules/vasprintf (Makefile.am): Likewise.
42872         * modules/vsnprintf (Makefile.am): Likewise.
42873         * modules/xalloc (Makefile.am): Likewise.
42874         * modules/xgetcwd (Makefile.am): Likewise.
42875         * modules/xnanosleep (Makefile.am): Likewise.
42876         * modules/xreadlink (Makefile.am): Likewise.
42877         * modules/xstrtod (Makefile.am): Likewise.
42878         * modules/xstrtol (Makefile.am): Likewise.
42879         * modules/xstrtold (Makefile.am): Likewise.
42880         * modules/yesno (Makefile.am): Likewise.
42881         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
42882
42883 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
42884
42885         * modules/error (Makefile.am): Distribute files through
42886         EXTRA_DIST, not lib_SOURCES.
42887
42888 2006-10-12  Eric Blake  <ebb9@byu.net>
42889
42890         * modules/error (Makefile.am): Distribute files in /lib.
42891         * modules/obstack (Makefile.am): Likewise.
42892
42893 2006-10-12  Bruno Haible  <bruno@clisp.org>
42894
42895         * modules/acl (Makefile.am): Distribute all files in lib/ through
42896         EXTRA_DIST.
42897         * modules/arcfour (Makefile.am): Likewise.
42898         * modules/arctwo (Makefile.am): Likewise.
42899         * modules/argmatch (Makefile.am): Likewise.
42900         * modules/argz (Makefile.am): Likewise.
42901         * modules/atexit (Makefile.am): Likewise.
42902         * modules/backupfile (Makefile.am): Likewise.
42903         * modules/c-strtod (Makefile.am): Likewise.
42904         * modules/c-strtold (Makefile.am): Likewise.
42905         * modules/calloc (Makefile.am): Likewise.
42906         * modules/canon-host (Makefile.am): Likewise.
42907         * modules/canonicalize (Makefile.am): Likewise.
42908         * modules/chdir-long (Makefile.am): Likewise.
42909         * modules/chdir-safer (Makefile.am): Likewise.
42910         * modules/check-version (Makefile.am): Likewise.
42911         * modules/chown (Makefile.am): Likewise.
42912         * modules/cloexec (Makefile.am): Likewise.
42913         * modules/close-stream (Makefile.am): Likewise.
42914         * modules/closeout (Makefile.am): Likewise.
42915         * modules/crc (Makefile.am): Likewise.
42916         * modules/cycle-check (Makefile.am): Likewise.
42917         * modules/des (Makefile.am): Likewise.
42918         * modules/dirfd (Makefile.am): Likewise.
42919         * modules/dirname (Makefile.am): Likewise.
42920         * modules/dup2 (Makefile.am): Likewise.
42921         * modules/euidaccess (Makefile.am): Likewise.
42922         * modules/exclude (Makefile.am): Likewise.
42923         * modules/exitfail (Makefile.am): Likewise.
42924         * modules/fcntl-safer (Makefile.am): Likewise.
42925         * modules/file-type (Makefile.am): Likewise.
42926         * modules/fileblocks (Makefile.am): Likewise.
42927         * modules/filemode (Makefile.am): Likewise.
42928         * modules/filenamecat (Makefile.am): Likewise.
42929         * modules/fnmatch (Makefile.am): Likewise.
42930         * modules/fopen-safer (Makefile.am): Likewise.
42931         * modules/fpending (Makefile.am): Likewise.
42932         * modules/fprintftime (Makefile.am): Likewise.
42933         * modules/free (Makefile.am): Likewise.
42934         * modules/fsusage (Makefile.am): Likewise.
42935         * modules/ftruncate (Makefile.am): Likewise.
42936         * modules/fts (Makefile.am): Likewise.
42937         * modules/gc (Makefile.am): Likewise.
42938         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42939         * modules/getaddrinfo (Makefile.am): Likewise.
42940         * modules/getcwd (Makefile.am): Likewise.
42941         * modules/getdelim (Makefile.am): Likewise.
42942         * modules/getdomainname (Makefile.am): Likewise.
42943         * modules/getgroups (Makefile.am): Likewise.
42944         * modules/gethostname (Makefile.am): Likewise.
42945         * modules/gethrxtime (Makefile.am): Likewise.
42946         * modules/getline (Makefile.am): Likewise.
42947         * modules/getloadavg (Makefile.am): Likewise.
42948         * modules/getlogin_r (Makefile.am): Likewise.
42949         * modules/getopt (Makefile.am): Likewise.
42950         * modules/getpass (Makefile.am): Likewise.
42951         * modules/getpass-gnu (Makefile.am): Likewise.
42952         * modules/getsubopt (Makefile.am): Likewise.
42953         * modules/gettime (Makefile.am): Likewise.
42954         * modules/gettimeofday (Makefile.am): Likewise.
42955         * modules/getugroups (Makefile.am): Likewise.
42956         * modules/getusershell (Makefile.am): Likewise.
42957         * modules/glob (Makefile.am): Likewise.
42958         * modules/group-member (Makefile.am): Likewise.
42959         * modules/hard-locale (Makefile.am): Likewise.
42960         * modules/hash (Makefile.am): Likewise.
42961         * modules/hmac-md5 (Makefile.am): Likewise.
42962         * modules/hmac-sha1 (Makefile.am): Likewise.
42963         * modules/human (Makefile.am): Likewise.
42964         * modules/idcache (Makefile.am): Likewise.
42965         * modules/imaxabs (Makefile.am): Likewise.
42966         * modules/imaxdiv (Makefile.am): Likewise.
42967         * modules/inet_ntop (Makefile.am): Likewise.
42968         * modules/inet_pton (Makefile.am): Likewise.
42969         * modules/inttostr (Makefile.am): Likewise.
42970         * modules/isapipe (Makefile.am): Likewise.
42971         * modules/lchown (Makefile.am): Likewise.
42972         * modules/long-options (Makefile.am): Likewise.
42973         * modules/lstat (Makefile.am): Likewise.
42974         * modules/malloc (Makefile.am): Likewise.
42975         * modules/mathl (Makefile.am): Likewise.
42976         * modules/mbchar (Makefile.am): Likewise.
42977         * modules/md2 (Makefile.am): Likewise.
42978         * modules/md4 (Makefile.am): Likewise.
42979         * modules/md5 (Makefile.am): Likewise.
42980         * modules/memcasecmp (Makefile.am): Likewise.
42981         * modules/memchr (Makefile.am): Likewise.
42982         * modules/memcmp (Makefile.am): Likewise.
42983         * modules/memcoll (Makefile.am): Likewise.
42984         * modules/memcpy (Makefile.am): Likewise.
42985         * modules/memmem (Makefile.am): Likewise.
42986         * modules/memmove (Makefile.am): Likewise.
42987         * modules/mempcpy (Makefile.am): Likewise.
42988         * modules/memrchr (Makefile.am): Likewise.
42989         * modules/memset (Makefile.am): Likewise.
42990         * modules/memxor (Makefile.am): Likewise.
42991         * modules/mkancesdirs (Makefile.am): Likewise.
42992         * modules/mkdir (Makefile.am): Likewise.
42993         * modules/mkdir-p (Makefile.am): Likewise.
42994         * modules/mkdtemp (Makefile.am): Likewise.
42995         * modules/mkstemp (Makefile.am): Likewise.
42996         * modules/mktime (Makefile.am): Likewise.
42997         * modules/modechange (Makefile.am): Likewise.
42998         * modules/mountlist (Makefile.am): Likewise.
42999         * modules/nanosleep (Makefile.am): Likewise.
43000         * modules/openat (Makefile.am): Likewise.
43001         * modules/pagealign_alloc (Makefile.am): Likewise.
43002         * modules/physmem (Makefile.am): Likewise.
43003         * modules/poll (Makefile.am): Likewise.
43004         * modules/posixtm (Makefile.am): Likewise.
43005         * modules/posixver (Makefile.am): Likewise.
43006         * modules/putenv (Makefile.am): Likewise.
43007         * modules/quote (Makefile.am): Likewise.
43008         * modules/quotearg (Makefile.am): Likewise.
43009         * modules/raise (Makefile.am): Likewise.
43010         * modules/read-file (Makefile.am): Likewise.
43011         * modules/readline (Makefile.am): Likewise.
43012         * modules/readlink (Makefile.am): Likewise.
43013         * modules/readtokens (Makefile.am): Likewise.
43014         * modules/readutmp (Makefile.am): Likewise.
43015         * modules/realloc (Makefile.am): Likewise.
43016         * modules/regex (Makefile.am): Likewise.
43017         * modules/rename (Makefile.am): Likewise.
43018         * modules/rename-dest-slash (Makefile.am): Likewise.
43019         * modules/rijndael (Makefile.am): Likewise.
43020         * modules/rmdir (Makefile.am): Likewise.
43021         * modules/rpmatch (Makefile.am): Likewise.
43022         * modules/safe-read (Makefile.am): Likewise.
43023         * modules/safe-write (Makefile.am): Likewise.
43024         * modules/same (Makefile.am): Likewise.
43025         * modules/save-cwd (Makefile.am): Likewise.
43026         * modules/savedir (Makefile.am): Likewise.
43027         * modules/setenv (Makefile.am): Likewise.
43028         * modules/settime (Makefile.am): Likewise.
43029         * modules/sha1 (Makefile.am): Likewise.
43030         * modules/sig2str (Makefile.am): Likewise.
43031         * modules/snprintf (Makefile.am): Likewise.
43032         * modules/stdlib-safer (Makefile.am): Likewise.
43033         * modules/stpcpy (Makefile.am): Likewise.
43034         * modules/stpncpy (Makefile.am): Likewise.
43035         * modules/strcase (Makefile.am): Likewise.
43036         * modules/strcasestr (Makefile.am): Likewise.
43037         * modules/strchrnul (Makefile.am): Likewise.
43038         * modules/strcspn (Makefile.am): Likewise.
43039         * modules/strdup (Makefile.am): Likewise.
43040         * modules/strerror (Makefile.am): Likewise.
43041         * modules/strftime (Makefile.am): Likewise.
43042         * modules/strndup (Makefile.am): Likewise.
43043         * modules/strnlen (Makefile.am): Likewise.
43044         * modules/strpbrk (Makefile.am): Likewise.
43045         * modules/strsep (Makefile.am): Likewise.
43046         * modules/strstr (Makefile.am): Likewise.
43047         * modules/strtod (Makefile.am): Likewise.
43048         * modules/strtoimax (Makefile.am): Likewise.
43049         * modules/strtok_r (Makefile.am): Likewise.
43050         * modules/strtol (Makefile.am): Likewise.
43051         * modules/strtoll (Makefile.am): Likewise.
43052         * modules/strtoul (Makefile.am): Likewise.
43053         * modules/strtoull (Makefile.am): Likewise.
43054         * modules/strtoumax (Makefile.am): Likewise.
43055         * modules/strverscmp (Makefile.am): Likewise.
43056         * modules/time_r (Makefile.am): Likewise.
43057         * modules/timegm (Makefile.am): Likewise.
43058         * modules/tmpfile-safer (Makefile.am): Likewise.
43059         * modules/unistd-safer (Makefile.am): Likewise.
43060         * modules/unlinkdir (Makefile.am): Likewise.
43061         * modules/userspec (Makefile.am): Likewise.
43062         * modules/utime (Makefile.am): Likewise.
43063         * modules/utimecmp (Makefile.am): Likewise.
43064         * modules/utimens (Makefile.am): Likewise.
43065         * modules/vasnprintf (Makefile.am): Likewise.
43066         * modules/vasprintf (Makefile.am): Likewise.
43067         * modules/vsnprintf (Makefile.am): Likewise.
43068         * modules/xalloc (Makefile.am): Likewise.
43069         * modules/xgetcwd (Makefile.am): Likewise.
43070         * modules/xnanosleep (Makefile.am): Likewise.
43071         * modules/xreadlink (Makefile.am): Likewise.
43072         * modules/xstrtod (Makefile.am): Likewise.
43073         * modules/xstrtol (Makefile.am): Likewise.
43074         * modules/xstrtold (Makefile.am): Likewise.
43075         * modules/yesno (Makefile.am): Likewise.
43076
43077 2006-10-12  Jim Meyering  <jim@meyering.net>
43078
43079         * m4/getloadavg.m4: Revert the change below.
43080
43081         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
43082         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
43083         fail with a symlink, which is what coreutils' ./bootstrap now
43084         creates by default.
43085
43086 2006-10-12  Bruno Haible  <bruno@clisp.org>
43087
43088         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
43089         mingw.
43090         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
43091         MSVC and mingw explicitly.
43092
43093 2006-10-11  Simon Josefsson  <jas@extundo.com>
43094             Bruno Haible  <bruno@clisp.org>
43095
43096         Add support for multiple gnulib-tool invocations in the scope of a
43097         single configure.ac file.
43098         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
43099         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
43100         with the same contents as the _LIBADD variable.
43101         (func_emit_initmacro_start, func_emit_initmacro_end,
43102         func_emit_initmacro_done): New functions.
43103         (func_import, func_create_testdir): Invoke them. Allow the identifiers
43104         gl_LIBOBJS and gl_LTLIBOBJS.
43105
43106 2006-10-11  Bruno Haible  <bruno@clisp.org>
43107
43108         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
43109         (func_create_testdir): Don't create po/Makefile.am, don't invoke
43110         autoreconf. Instead, invoke autopoint explicitly but move back the
43111         *.m4 files from gnulib.
43112
43113 2006-10-11  Bruno Haible  <bruno@clisp.org>
43114
43115         * gnulib-tool (func_usage): Make module names after --create-testdir
43116         optional.
43117         (func_create_testdir): If no module was specified, use nearly all
43118         modules.
43119
43120 2006-10-12  Jim Meyering  <jim@meyering.net>
43121
43122         Big performance improvement for fts-based tools that use FTS_NOSTAT.
43123         Avoid spurious inode-mismatch problems on non-POSIX file systems.
43124         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
43125         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
43126         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
43127         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
43128         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
43129         (fts_set_stat_required): New function.
43130         (fts_open): Defer the calls to fts_stat, if possible or requested.
43131         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
43132         into fts_stat itself.
43133         (fts_read): Perform any required (deferred) fts_stat call.
43134         (fts_build): Likewise, for the directory we're about to open and read.
43135         In the readdir loop, carefully decide whether each entry will require
43136         an eventual call to fts_stat, using dirent.d_type info if available.
43137         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
43138         a command line argument into this function.  Update all callers.
43139         Map a return value of FTS_DOT to FTS_D for a command line argument.
43140         * modules/fts (Depends-on): Add d-type.  Alphabetize.
43141         Thanks to Miklos Szeredi for his tenacity and for the initial
43142         bug report about "find" failing on a FUSE-based file system.
43143
43144         * lib/fts.c (fts_open): Use consistent indentation.
43145
43146 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43147
43148         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
43149         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
43150         reported by Jim Meyering.  All uses of cache variables renamed
43151         to match Autoconf's.
43152         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
43153         the other one.
43154
43155         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43156         Fix misspelling in diagnostic.
43157
43158 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43159
43160         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
43161         defined.  Problem reported by Matthew Woehlke.
43162
43163         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
43164         Add support for Tandem NonStop R series.
43165         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
43166         Use new macro.
43167
43168         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
43169         (has_trailing_slash): Omit size arg; all callers changed.
43170         Omit 'inline', since it doesn't help performance and we'd
43171         need to configure it.
43172         Don't count //, ///, etc. as having a trailing slash.
43173         As a side effect, this removes a C99ism reported by Matthew Woehlke.
43174         (rpl_rename_dest_slash): On failure, use rename's errno rather
43175         than (in some cases) an incorrect or junk errno.
43176         Simplify code by removing need to compute length; this does
43177         cause it to make two passes instead of one over the file name,
43178         but it's worth it.
43179
43180         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
43181         change, since Autoconf's version may no longer be appropriate now
43182         that we are using CVS Autoconf's version.  Add support for Tandem.
43183
43184 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43185             Bruno Haible  <bruno@clisp.org>
43186
43187         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
43188         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
43189         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
43190         gl_AC_TYPE_LONG_LONG.
43191
43192         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
43193         instead of HAVE_LONG_LONG.
43194         * lib/printf-args.c (printf_fetchargs): Likewise.
43195         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
43196         * lib/vasnprintf.c (VASNPRINTF): Likewise.
43197         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
43198         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
43199         gl_AC_TYPE_LONG_LONG.
43200
43201 2006-10-11  Bruno Haible  <bruno@clisp.org>
43202
43203         * m4/longlong.m4: Add comments.
43204         * m4/ulonglong.m4: Likewise.
43205
43206 2006-10-10  Bruno Haible  <bruno@clisp.org>
43207
43208         Make it possible to #define stpcpy, strdup to aliases.
43209         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
43210         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
43211
43212 2006-10-10  Bruno Haible  <bruno@clisp.org>
43213
43214         Make it possible to #define gcd to an alias.
43215         * lib/gcd.c: Include config.h.
43216
43217 2006-10-10  Bruno Haible  <bruno@clisp.org>
43218
43219         Make it possible to #define c_isascii to an alias.
43220         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
43221         defined. Undefine the macros before defining them, to avoid gcc
43222         warnings.
43223         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
43224         define NO_C_CTYPE_MACROS early.
43225
43226 2006-10-10  Bruno Haible  <bruno@clisp.org>
43227
43228         Make it possible to #define set_program_name to an alias.
43229         * lib/progname.c: Don't undefine set_program_name; instead, undefine
43230         ENABLE_RELOCATABLE early.
43231
43232 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
43233
43234         Port to Tandem NSK OSS, which has 64-bit signed int but at most
43235         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
43236         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
43237         More generally, don't assume that 64-bit signed int is available
43238         if unsigned int is, and vice versa.
43239         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
43240         unsigned symbols, not on their signed counterparts.
43241         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
43242         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
43243         (UINT64_C, UINTMAX_C):
43244         Likewise.
43245         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
43246         unsigned counterparts.
43247         (Have_long_long, Unsigned): New macros.
43248         (Int): Renamed from INT.
43249         (strtoimax): Use the new macros.
43250         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
43251         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
43252         * modules/inttypes (inttypes.h): Substitute
43253         HAVE_UNSIGNED_LONG_LONG_INT.
43254         * modules/stdint (stdint.h): Likewise.
43255         (Files): Add m4/ulonglong.m4.
43256
43257 2006-10-10  Bruno Haible  <bruno@clisp.org>
43258
43259         Fix a gcc -Wshadow warning.
43260         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
43261         to 'bucket'.
43262         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
43263         gl_linked_indexof_from_to): Likewise.
43264         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
43265         Likewise.
43266         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
43267         Likewise.
43268         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
43269         Reported by Eric Blake.
43270
43271 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
43272
43273         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
43274         for NetBSD.  Problem reported by Bruno Haible.
43275
43276 2006-10-09  Jim Meyering  <jim@meyering.net>
43277
43278         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
43279         Patch from Bruno Haible.
43280
43281 2006-10-09  Jim Meyering  <jim@meyering.net>
43282
43283         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
43284         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
43285         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
43286
43287 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43288
43289         Don't include <config.h> twice; this doesn't work in some cases,
43290         e.g., when config.h has "#define intmax_t long long int" and
43291         we include <config.h>, <inttypes.h>, <config.h> in that order.
43292         Problem reported by Matthew Woehlke in:
43293         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
43294         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
43295         * lib/fts-cycle.c: Don't include config.h.
43296         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
43297         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
43298         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
43299         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
43300         inttypes.h.
43301         * lib/xstrtoumax.c: Likewise.
43302         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
43303         __strtol and the like, so that this module is more like its siblings.
43304         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
43305         Remove; no longer needed now that we assume gnulib inttypes.h.
43306
43307 2006-10-08  Bruno Haible  <bruno@clisp.org>
43308
43309         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
43310         option.
43311
43312 2006-10-07  Jim Meyering  <jim@meyering.net>
43313
43314         * modules/inttypes (inttypes.h): Revert what seems to have been
43315         an inadvertent part of today's change: use "|", not "/" in the
43316         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
43317
43318 2006-10-07  Bruno Haible  <bruno@clisp.org>
43319
43320         * modules/sublist: New file.
43321
43322 2006-10-07  Bruno Haible  <bruno@clisp.org>
43323
43324         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
43325         * modules/argz (argz.h): Likewise.
43326         * modules/arpa_inet (arpa/inet.h): Likewise.
43327         * modules/byteswap (byteswap.h): Likewise.
43328         * modules/configmake (configmake.h): Likewise.
43329         * modules/fcntl (fcntl.h): Likewise.
43330         * modules/fnmatch (fnmatch.h): Likewise.
43331         * modules/getopt (getopt.h): Likewise.
43332         * modules/glob (glob.h): Likewise.
43333         * modules/inttypes (inttypes.h): Likewise.
43334         * modules/netinet_in (netinet/in.h): Likewise.
43335         * modules/poll (poll.h): Likewise.
43336         * modules/stdbool (stdbool.h): Likewise.
43337         * modules/stdint (stdint.h): Likewise.
43338         * modules/sys_select (sys/select.h): Likewise.
43339         * modules/sys_socket (sys/socket.h): Likewise.
43340         * modules/sys_stat (sys/stat.h): Likewise.
43341         * modules/sysexits (sysexits.h): Likewise.
43342         * modules/unistd (unistd.h): Likewise.
43343         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43344         Add a "DO NOT EDIT" comment to the generated file.
43345         (func_import): Likewise for gnulib-comp.m4.
43346
43347 2006-10-07  Bruno Haible  <bruno@clisp.org>
43348
43349         * lib/gl_sublist.h: New file.
43350         * lib/gl_sublist.c: New file.
43351
43352 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43353
43354         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
43355         name (relative to the original working directory) and the file
43356         name component (relative to the temporary working directory).  All
43357         callers changed.
43358         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
43359         * lib/mkdir-p.c (make_dir_parents): Likewise.
43360         * lib/mkdir-p.h (make_dir_parents): Likewise.
43361
43362 2006-10-06  Eric Blake  <ebb9@byu.net>
43363
43364         Define several macros for use by the clean-temp module.
43365         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
43366         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
43367         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
43368
43369         * lib/clean-temp.h (close_stream_temp): New declaration.
43370         * lib/clean-temp.c (includes): Pull in headers according to what
43371         other modules are in use.
43372         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
43373
43374 2006-10-06  Bruno Haible  <bruno@clisp.org>
43375
43376         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
43377         instead of fopen, fwriteerror.
43378
43379 2006-10-06  Bruno Haible  <bruno@clisp.org>
43380
43381         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
43382         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
43383         int.
43384         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
43385         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
43386         Return an error indicator.
43387         Suggested by Eric Blake.
43388
43389 2006-10-06  Bruno Haible  <bruno@clisp.org>
43390
43391         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
43392         Reported by Eric Blake.
43393
43394 2006-10-06  Bruno Haible  <bruno@clisp.org>
43395
43396         * modules/closeout (Description): Mention stderr too.
43397
43398 2006-10-06  Bruno Haible  <bruno@clisp.org>
43399         and Paul Eggert  <eggert@cs.ucla.edu>
43400
43401         * lib/closeout.c (close_stdout): Also close stderr.
43402         * lib/closeout.h: Update comment.
43403
43404 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
43405
43406         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
43407         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
43408         * lib/dirchownmod.c: Include lchown.h.
43409         * lib/lchown.c: Don't include files that lchown.h now includes.
43410         Don't declare chown, since lchown.h now does that.
43411         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
43412         (lchown): Define to rpl_chown if lchown is declared but
43413         does not exist.  Declare using a prototype if lchown is not
43414         declared.  Add a copyright notice.
43415         * lib/mkstemp.h: Include <unistd.h>.
43416         * lib/openat.c: Include lchown.h.
43417
43418         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
43419         we now test for that separately.
43420         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
43421         rather than O_NOFOLLOW, when testing whether it's possible to
43422         avoid a race condition reliably.
43423         * lib/savewd.c (savewd_chdir): Likewise.
43424
43425         Remove macros that are no longer needed now that stdint.h is
43426         reliable.
43427         * lib/fsusage.c (UINTMAX_MAX): Remove.
43428         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
43429         * lib/utimecmp.c (SIZE_MAX): Remove.
43430
43431         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
43432
43433         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
43434         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
43435         O_NOATIME works.
43436
43437 2006-10-05  Bruno Haible  <bruno@clisp.org>
43438
43439         * lib/gl_list.h (gl_sortedlist_search_from_to,
43440         gl_sortedlist_indexof_from_to): New declarations.
43441         (gl_list_implementation): New fields sortedlist_search_from_to,
43442         sortedlist_indexof_from_to.
43443         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
43444         inline functions.
43445         * lib/gl_list.c (gl_sortedlist_search_from_to,
43446         gl_sortedlist_indexof_from_to): New functions.
43447         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
43448         function.
43449         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
43450         (gl_array_sortedlist_search_from_to): New function.
43451         (gl_array_list_implementation): Update.
43452         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
43453         function.
43454         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
43455         (gl_carray_sortedlist_search_from_to): New function.
43456         (gl_carray_list_implementation): Update.
43457         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
43458         gl_linked_sortedlist_indexof_from_to): New functions.
43459         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43460         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43461         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
43462         gl_tree_sortedlist_indexof_from_to): New functions.
43463         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43464         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43465         Update.
43466         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43467         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
43468         Update.
43469
43470 2006-10-05  Bruno Haible  <bruno@clisp.org>
43471
43472         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
43473         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
43474         (struct gl_list_implementation): Add fields search_from_to,
43475         indexof_from_to. Remove fields search, indexof.
43476         (gl_list_search): Use the search_from_to method.
43477         (gl_list_search_from, gl_list_search_from_to): New functions.
43478         (gl_list_indexof): Use the indexof_from_to method.
43479         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43480         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
43481         (gl_list_search_from, gl_list_search_from_to): New functions.
43482         (gl_list_indexof): Use the indexof_from_to method.
43483         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43484         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
43485         gl_array_indexof. Add start_index, end_index arguments.
43486         (gl_array_search_from_to): Renamed from gl_array_search. Add
43487         start_index, end_index arguments.
43488         (gl_array_remove, gl_array_list_implementation): Update.
43489         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
43490         gl_carray_indexof. Add start_index, end_index arguments.
43491         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
43492         start_index, end_index arguments.
43493         (gl_carray_remove, gl_carray_list_implementation): Update.
43494         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
43495         gl_linked_search. Add start_index, end_index arguments.
43496         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
43497         start_index, end_index arguments.
43498         (gl_linked_remove): Update.
43499         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43500         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43501         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
43502         field to 'size_t'.
43503         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
43504         gl_tree_search. Add start_index, end_index arguments.
43505         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43506         start_index, end_index arguments.
43507         (gl_tree_remove): Update.
43508         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43509         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43510         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
43511         function.
43512         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
43513         gl_tree_search. Add start_index, end_index arguments.
43514         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43515         start_index, end_index arguments.
43516         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43517         Update.
43518         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43519
43520 2006-10-05  Bruno Haible  <bruno@clisp.org>
43521
43522         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
43523
43524         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
43525         fwriteerror_temp): New declarations.
43526         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
43527         (descriptors): New variable.
43528         (cleanup): First, close the descriptors.
43529         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
43530         fclose_temp, fwriteerror_temp): New functions.
43531
43532 2006-10-04  Jim Meyering  <jim@meyering.net>
43533
43534         * lib/fts.c (fts_open): Tiny comment change.
43535
43536 2006-10-04  Bruno Haible  <bruno@clisp.org>
43537
43538         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
43539         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
43540         gl_LOCK_BODY.
43541         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
43542         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
43543         gl_LOCK_EARLY_BODY.
43544         (gl_LOCK): Require gl_LOCK_BODY.
43545
43546 2006-10-04  Bruno Haible  <bruno@clisp.org>
43547
43548         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
43549         (gl_oset_search_atleast): New declaration.
43550         (struct gl_oset_implementation): Add field 'search_atleast'.
43551         (gl_oset_search_atleast): New inline function.
43552         * lib/gl_oset.c (gl_oset_search_atleast): New function.
43553         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
43554         (gl_array_oset_implementation): Update.
43555         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
43556         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
43557         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
43558
43559 2006-10-04  Bruno Haible  <bruno@clisp.org>
43560
43561         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
43562
43563 2006-10-03  Bruno Haible  <bruno@clisp.org>
43564
43565         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
43566         from gl_avltreehash_list_implementation.
43567
43568 2006-10-03  Bruno Haible  <bruno@clisp.org>
43569
43570         * lib/gl_oset.c (gl_oset_add): Fix return type.
43571
43572 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
43573
43574         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
43575
43576 2006-10-02  Eric Blake  <ebb9@byu.net>
43577
43578         * modules/strnlen (Depends-on): Add extensions.
43579
43580 2006-10-02  Eric Blake  <ebb9@byu.net>
43581
43582         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
43583         definition in 2.60+.
43584
43585 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
43586
43587         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
43588         checks.
43589
43590 2006-10-02  Bruno Haible  <bruno@clisp.org>
43591
43592         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
43593         to the AUTOMAKE_OPTIONS.
43594         Reported by Jim Meyering.
43595
43596 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
43597
43598         Work around bug in Solaris 10 /proc file system:
43599         /proc/self/fd/NNN/.. isn't the parent directory of
43600         the directory whose file descriptor is NNN.  This needs to
43601         be worked around at run time, not compile time, since a
43602         program might be built on Solaris 8, where things work, and
43603         run on Solaris 10.
43604         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
43605         to use the following interface instead:
43606         (OPENAT_BUFFER_SIZE): New macro.
43607         (openat_proc_name): New function.
43608         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
43609         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
43610         Likewise.
43611         * lib/openat-proc.c: New file.
43612         * modules/openat (Files): Add lib/openat-proc.c.
43613         (Depends-on): Add same-inode, stdbool.
43614         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
43615
43616 2006-09-29  Bruno Haible  <bruno@clisp.org>
43617
43618         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
43619         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
43620         argument. Set stdout_closed before testing for ferror, not after.
43621         (fwriteerror, fwriteerror_no_ebadf): New functions.
43622
43623 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43624
43625         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
43626
43627 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
43628
43629         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
43630         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
43631
43632 2006-09-28  Jim Meyering  <jim@meyering.net>
43633
43634         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
43635         Include <unistd.h>.
43636
43637 2006-09-28  Bruno Haible  <bruno@clisp.org>
43638
43639         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
43640         * modules/linkedhash-list (Depends-on): Likewise.
43641         * modules/rbtreehash-list (Depends-on): Likewise.
43642
43643 2006-09-28  Bruno Haible  <bruno@clisp.org>
43644
43645         * lib/strndup.h: Simplify the redefinition of strndup.
43646         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
43647         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
43648
43649 2006-09-28  Bruno Haible  <bruno@clisp.org>
43650
43651         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
43652         * lib/gl_linkedhash_list.c: Likewise.
43653         * lib/gl_rbtreehash_list.c: Likewise.
43654
43655 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
43656
43657         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
43658         getaddrinfo.
43659
43660         * lib/__fpending.h: Don't include <stdio_ext.h> unless
43661         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
43662         it causes <stdio_ext.h> to cause a compile-time error.
43663         Problem reported by Nelson H. F. Beebe.
43664         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
43665         of HAVE_DECL___PENDING.
43666
43667         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
43668         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
43669         declaration.
43670
43671 2006-09-27  Jim Meyering  <jim@meyering.net>
43672
43673         This file could end up with a definition for a function
43674         named __strndup, rather than rpl_strndup on a system with
43675         incomplete weak_alias support.
43676         * lib/strndup.c (strndup): Rename from __strndup.
43677         Remove #defines that used to map __strndup to strndup.
43678         Don't use K&R prototypes.
43679         Remove LIBC-related code, since this file is not sync'd with glibc.
43680         * lib/strndup.h: Revamp, accordingly.
43681         * m4/strndup.m4: Modernize.
43682
43683 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
43684
43685         * modules/savewd (Depends-on): Add 'raise'.
43686         * lib/savewd.c: Include <signal.h>, for 'raise'.
43687
43688 2006-09-26  Jim Meyering  <jim@meyering.net>
43689
43690         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
43691         when we detect Darwin 8.7.0's acl_get_file bug.
43692         Rearrange to perform the new (below) run-test while $LIBS
43693         contains any acl-related library.  Set USE_ACL at the end.
43694         (gl_ACL_GET_FILE): New function.
43695
43696 2006-09-26  Eric Blake  <ebb9@byu.net>
43697
43698         * lib/verror.c: Include <config.h> unconditionally.
43699
43700 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
43701
43702         * modules/clock-time (Maintainer): Add self.
43703         * modules/getlogin_r (Depends-on): Add extensions.
43704
43705 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43706
43707         * modules/clock-time: New module.
43708         * modules/nanosleep (Depends-on): Add clock-time.
43709         * modules/gethrxtime (Depends-on): Likewise.
43710         * modules/gettime (Depends-on): Likewise.
43711         * modules/settime (Depends-on): Likewise.
43712
43713         * modules/fts-lgpl: Depend on openat.
43714         * modules/mkancesdirs: Depend on savewd.
43715         * modules/mkdir-p: Likewise.
43716
43717 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43718
43719         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
43720
43721         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
43722         `gl_have_arbitrary_file_name_length_limit' to
43723         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
43724         actually works between configure runs.
43725
43726 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43727             Bruno Haible  <bruno@clisp.org>
43728
43729         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
43730
43731 2006-09-25  Jim Meyering  <jim@meyering.net>
43732
43733         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
43734         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
43735
43736 2006-09-25  Eric Blake  <ebb9@byu.net>
43737
43738         * gnulib-tool (func_import, func_create_testdir): Fix typos in
43739         exec's in 2006-09-18 patch when shuffling fds.
43740
43741 2006-09-25  Bruno Haible  <bruno@clisp.org>
43742
43743         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
43744         Reported by Jim Meyering.
43745
43746 2006-09-24  Jim Meyering  <jim@meyering.net>
43747
43748         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
43749         compare a pointer against a literal "0".  That caused failures with
43750         at least HP-UX's hpcc.
43751
43752 2006-09-22  Simon Josefsson  <jas@extundo.com>
43753
43754         * modules/gc-sha1:
43755         * modules/gc-md4:
43756         * modules/gc-hmac-sha1:
43757         * modules/gc-hmac-md5:
43758         * modules/gc-des:
43759         * modules/gc-arcfour: Distribute more files.
43760
43761 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43762
43763         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
43764         (gl_linked_iterator_from_to): Initialize struct completely.
43765         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
43766         (gl_tree_iterator_from_to): Likewise
43767         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
43768         * lib/gl_array_list.c [lint] (gl_array_iterator)
43769         (gl_array_iterator_from_to): Likewise.
43770         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
43771         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
43772         (gl_carray_iterator_from_to): Likewise.
43773
43774         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
43775         * lib/md4.c (md4_process_block): Remove unused variable.
43776         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
43777         parentheses for clarity.
43778
43779 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43780
43781         * modules/bison-i18n (Depends-on): Add gettext.
43782
43783 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43784
43785         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
43786         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43787         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
43788         also add missing comma that caused broken test.
43789         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
43790         stdlib.h, for `abort'.
43791         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
43792         variables.
43793         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
43794         include unistd.h if present, for `rmdir'.
43795         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
43796         variables.
43797         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
43798         in the process include standard headers for prototypes.
43799         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
43800         gets declared on GNU/Linux.
43801         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
43802         unistd.h, for `rmdir'.
43803         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
43804
43805         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
43806         always true.
43807         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
43808
43809         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
43810
43811 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43812
43813         * gnulib-tool (func_version): Create output all at once.  This
43814         may help avoid triggering unnecessary SIGPIPEs, and at any
43815         rate it doesn't hurt.
43816
43817 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43818             Bruno Haible  <bruno@clisp.org>
43819
43820         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
43821         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43822         * m4/signed.m4 (bh_C_SIGNED): Likewise.
43823
43824         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
43825         (gl_FUNC_VASPRINTF): Invoke it.
43826
43827 2006-09-22  Bruno Haible  <bruno@clisp.org>
43828
43829         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
43830         getloadavg.c as first argument.
43831
43832 2006-09-22  Bruno Haible  <bruno@clisp.org>
43833
43834         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
43835         at the beginning of the gl_INIT macro.
43836         * modules/getloadavg (configure.ac): Pass $gl_source_base to
43837         gl_GETLOADAVG.
43838
43839 2006-09-22  Bruno Haible  <bruno@clisp.org>
43840
43841         * gnulib-tool (func_create_megatestdir): Don't include the config-h
43842         module.
43843         Suggested by Ralf Wildenhues.
43844
43845 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
43846
43847         Import this patch from libc:
43848
43849         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
43850
43851         * lib/regex_internal.c (re_string_reconstruct): Handle
43852         offset < pstr->valid_raw_len && pstr->offsets_needed case.
43853         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
43854         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
43855         re_string_context_at.
43856
43857         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
43858         now requires it.
43859         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
43860         gl_REGEX now does it for us.
43861         (gl_REGEX): Add test taken from
43862         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
43863
43864         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
43865         Check that large offsets work.  Modernize Autoconf usages.
43866         Prefer "yes" to mean a good thing rather than a bad.
43867         Don't put "#define mkstemp" in config.h, as this might interfere
43868         with standard system headers that "#define mkstemp mkstemp64".
43869
43870         * modules/mkstemp (Depends-on): Add extensions, so that
43871         mkstemp is visible on some platforms.
43872         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
43873         (Include): Change to "mkstemp.h" from <stdlib.h>.
43874         (Files): Add mkstemp.h.
43875
43876         * lib/mkstemp.h: New file, since some standard headers
43877         #define mkstemp.
43878         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
43879         Include "mkstemp.h".
43880         Make the _LIBC code resemble glibc original more,
43881         e.g., use K&R style.
43882         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
43883         (mkstemp): Remove, since mkstemp.h does this for us.
43884         * lib/stdlib--.h: Include mkstemp.h.
43885
43886         Import this patch from libc:
43887
43888         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
43889
43890         * lib/tempname.c (__gen_tempname): Change attempts_min
43891         into a macro.  Use preprocessor to decide how to initialize
43892         attempts [Coverity CID 67].
43893
43894 2006-09-20  Bruno Haible  <bruno@clisp.org>
43895
43896         * lib/mkdtemp.c: Import from libc.
43897         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
43898                 * sysdeps/posix/tempname.c (__gen_tempname): Change
43899                 attempts_min into a macro.  Use preprocessor to decide how to
43900                 initialize attempts [Coverity CID 67].
43901         2001-11-27  Paul Eggert  <eggert@twinsun.com>
43902                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
43903                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
43904
43905 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43906
43907         * gnulib-tool (func_exit): New function, to allow to pass the
43908         exit status portably through the trap.  Use everywhere.
43909         (--help, --version): Signal a write error.
43910         (trap): catch SIGPIPE, for write errors.
43911         Exit at the end of the trap, with the correct exit status.
43912
43913 2006-09-19  Karl Berry  <karl@gnu.org>
43914
43915         * doc/gnulib.texi: note about the license texinfo files.
43916
43917 2006-09-19  Eric Blake  <ebb9@byu.net>
43918
43919         * gnulib-tool: Avoid space-tab.
43920
43921 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
43922
43923         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
43924         that prevented coreutils 6.1 from building.  Problem reported
43925         by Petter Reinholdtsen.
43926
43927 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
43928
43929         * gnulib-tool (avoidlist): Fix typo that broke options like
43930         --avoid=lock that are used by coreutils bootstrap.
43931
43932 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
43933
43934         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
43935         more systematically.
43936
43937 2006-09-18  Jim Meyering  <jim@meyering.net>
43938
43939         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
43940
43941 2006-09-18  Bruno Haible  <bruno@clisp.org>
43942
43943         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
43944
43945 2006-09-18  Bruno Haible  <bruno@clisp.org>
43946
43947         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
43948         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
43949         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
43950         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
43951         * m4/gettext.m4: Require autoconf >= 2.52.
43952         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
43953         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
43954         of gl_cv_header_inttypes_h.
43955
43956 2006-09-18  Bruno Haible  <bruno@clisp.org>
43957
43958         * lib/javaversion.c: Include configmake.h.
43959
43960 2006-09-18  Bruno Haible  <bruno@clisp.org>
43961
43962         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
43963         avoid that the while loops be executed in a subshell.
43964
43965 2006-09-18  Bruno Haible  <bruno@clisp.org>
43966
43967         * MODULES.html.sh (func_module): Break long lines.
43968         Suggested by Bruce Korb <bkorb@gnu.org>.
43969
43970 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43971
43972         Speed up by a factor of 1.12.
43973         * gnulib-tool (nl): New variable.
43974         (func_import): Rewrite include directive extraction to only read each
43975         directive once.
43976
43977 2006-09-17  Bruno Haible  <bruno@clisp.org>
43978
43979         * modules/javaversion (Makefile.am): Remove DEFS setting.
43980         (Depends-on): Add configmake, for PKGDATADIR definition.
43981
43982 2006-09-17  Bruno Haible  <bruno@clisp.org>
43983
43984         * gnulib-tool (func_create_testdir): Rewrite all files at once.
43985
43986 2006-09-17  Bruno Haible  <bruno@clisp.org>
43987
43988         * gnulib-tool (func_append): New function, stolen from libtool.m4.
43989         (func_modules_transitive_closure, func_modules_add_dummy,
43990         func_modules_to_filelist, func_import, func_create_testdir,
43991         func_create_megatestdir, ...): Use it wherever possible.
43992         Suggested by Ralf Wildenhues.
43993
43994 2006-09-16  Karl Berry  <karl@gnu.org>
43995
43996         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
43997         to avoid sectioning errors.
43998         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
43999         [ifinfo]: blank line after @center-ed titles.
44000         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
44001         Spell FSF address consistently with others.
44002         (These changes approved by rms.)
44003
44004 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44005
44006         Speed up by a factor of 1.61.
44007         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
44008         already checked module names again.
44009
44010 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44011
44012         Speed up by a factor of 1.13.
44013         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
44014         for new_files, and the input to func_add_or_update.
44015
44016 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44017
44018         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
44019         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
44020
44021 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44022
44023         * modules/mkancesdirs (Depends-on): Add fcntl.
44024         * modules/savewd: New file.
44025         * MODULES.html.sh (File system functions): Add savewd.
44026
44027         * modules/configmake (Makefile.am): Add support for the
44028         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
44029
44030 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44031
44032         * m4/savewd.m4: New file.
44033
44034 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
44035
44036         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
44037         (dirchownmod): New arg FD.  All callers changed.
44038         Use FD rather than opening the directory ourself, as opening is
44039         now the caller's responsibility.
44040         * lib/dirchownmod.h: Likewise.
44041         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
44042         hosts that require <sys/types.h> before <sys/stat.h>.  Include
44043         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
44044         (test_dir): Remove.
44045         (mkancesdirs): Return length of prefix of FILE that has already
44046         been made, or -2 if there is a child doing the work.  Redo
44047         algorithm so that it is O(N) rather than O(N**2).  Optimize away
44048         ".", and treat ".." specially since it might stray back into
44049         already-created areas.  Use a subprocess if necessary.  New arg
44050         WD; all users changed.  MAKE_DIR function should now return 1
44051         if it creates a directory that is not readable.  Return -2 if
44052         a child process is spun off.
44053         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
44054         Adjust signature to match code.
44055         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
44056         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
44057         all users changed.
44058         * lib/savewd.c, lib/savewd.h: New files.
44059
44060 2006-09-15  Jim Meyering  <jim@meyering.net>
44061
44062         * modules/rename-dest-slash: New module.
44063         * MODULES.html.sh (posix_compat): Add it here.
44064
44065         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
44066
44067 2006-09-15  Jim Meyering  <jim@meyering.net>
44068
44069         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
44070         file.
44071
44072         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
44073
44074 2006-09-15  Jim Meyering  <jim@meyering.net>
44075
44076         * lib/rename-dest-slash.c (has_trailing_slash): Use
44077         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
44078         (rpl_rename_dest_slash): Perform the cheaper trailing slash
44079         test before testing whether SRC is a directory.
44080         Suggestions from Bruno Haible.
44081
44082         Avoid a warning about an unused variable.
44083         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
44084         into the #ifdef block where it's used.
44085
44086         * lib/rename-dest-slash.c: New file.
44087
44088 2006-09-14  Bruno Haible  <bruno@clisp.org>
44089
44090         * lib/allocsa.c: Include <config.h> unconditionally.
44091         * lib/asnprintf.c: Likewise.
44092         * lib/asprintf.c: Likewise.
44093         * lib/c-strcasecmp.c: Likewise.
44094         * lib/c-strcasestr.c: Likewise.
44095         * lib/c-strncasecmp.c: Likewise.
44096         * lib/c-strstr.c: Likewise.
44097         * lib/classpath.c: Likewise.
44098         * lib/clean-temp.c: Likewise.
44099         * lib/concatpath.c: Likewise.
44100         * lib/copy-file.c: Likewise.
44101         * lib/csharpcomp.c: Likewise.
44102         * lib/csharpexec.c: Likewise.
44103         * lib/execute.c: Likewise.
44104         * lib/fatal-signal.c: Likewise.
44105         * lib/findprog.c: Likewise.
44106         * lib/fwriteerror.c: Likewise.
44107         * lib/gl_array_list.c: Likewise.
44108         * lib/gl_array_oset.c: Likewise.
44109         * lib/gl_avltree_list.c: Likewise.
44110         * lib/gl_avltree_oset.c: Likewise.
44111         * lib/gl_avltreehash_list.c: Likewise.
44112         * lib/gl_carray_list.c: Likewise.
44113         * lib/gl_linked_list.c: Likewise.
44114         * lib/gl_linkedhash_list.c: Likewise.
44115         * lib/gl_list.c: Likewise.
44116         * lib/gl_oset.c: Likewise.
44117         * lib/gl_rbtree_list.c: Likewise.
44118         * lib/gl_rbtree_oset.c: Likewise.
44119         * lib/gl_rbtreehash_list.c: Likewise.
44120         * lib/imaxabs.c: Likewise.
44121         * lib/imaxdiv.c: Likewise.
44122         * lib/javacomp.c: Likewise.
44123         * lib/javaexec.c: Likewise.
44124         * lib/javaversion.c: Likewise.
44125         * lib/linebreak.c: Likewise.
44126         * lib/localcharset.c: Likewise.
44127         * lib/lock.c: Likewise.
44128         * lib/mbchar.c: Likewise.
44129         * lib/mbswidth.c: Likewise.
44130         * lib/mkdtemp.c: Likewise.
44131         * lib/pipe.c: Likewise.
44132         * lib/printf-args.c: Likewise.
44133         * lib/printf-parse.c: Likewise.
44134         * lib/progname.c: Likewise.
44135         * lib/progreloc.c: Likewise.
44136         * lib/readlink.c: Likewise.
44137         * lib/sh-quote.c: Likewise.
44138         * lib/stpcpy.c: Likewise.
44139         * lib/stpncpy.c: Likewise.
44140         * lib/strcasecmp.c: Likewise.
44141         * lib/strcasestr.c: Likewise.
44142         * lib/strcspn.c: Likewise.
44143         * lib/striconv.c: Likewise.
44144         * lib/strncasecmp.c: Likewise.
44145         * lib/strnlen1.c: Likewise.
44146         * lib/strstr.c: Likewise.
44147         * lib/strtok_r.c: Likewise.
44148         * lib/tls.c: Likewise.
44149         * lib/tmpdir.c: Likewise.
44150         * lib/unicodeio.c: Likewise.
44151         * lib/unsetenv.c: Likewise.
44152         * lib/vasnprintf.c: Likewise.
44153         * lib/vasprintf.c: Likewise.
44154         * lib/wait-process.c: Likewise.
44155         * lib/xallocsa.c: Likewise.
44156         * lib/xsetenv.c: Likewise.
44157         * lib/xstriconv.c: Likewise.
44158
44159 2006-09-13  Simon Josefsson  <jas@extundo.com>
44160
44161         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
44162         that internally, suggested by Ralf Wildenhues
44163         <Ralf.Wildenhues@gmx.de>.
44164
44165 2006-09-13  Simon Josefsson  <jas@extundo.com>
44166
44167         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
44168         @LIBOBJS@.
44169         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44170
44171 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
44172
44173         * lib/_fpending.c: Include <config.h> unconditionally, since we no
44174         longer worry about uses that don't define HAVE_CONFIG_H.
44175         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
44176         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
44177         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
44178         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
44179         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
44180         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
44181         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
44182         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
44183         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
44184         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
44185         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
44186         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
44187         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
44188         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
44189         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
44190         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
44191         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
44192         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
44193         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
44194         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
44195         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
44196         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
44197         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
44198         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
44199         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
44200         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
44201         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
44202         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
44203         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
44204         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
44205         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
44206         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
44207         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
44208         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
44209         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
44210         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
44211         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
44212         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
44213         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
44214         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
44215         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
44216         Likewise.
44217
44218 2006-09-13  Eric Blake  <ebb9@byu.net>
44219
44220         * lib/getopt.c: Fix typo in last commit.
44221
44222 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44223
44224         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
44225         dgettext.
44226
44227 2006-09-12  Jim Meyering  <jim@meyering.net>
44228
44229         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
44230         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
44231         Reported by Nelson H. F. Beebe.
44232
44233 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44234
44235         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
44236         program_invocation_name and program_invocation_short_name are
44237         initialized.
44238         * lib/argp-namefrob.h: Move declarations of program_invocation_name
44239         and program_invocation_short_name to argp.h, so they are visible
44240         to user programs.
44241         * lib/argp.h: Likewise
44242
44243 2006-09-10  Bruno Haible  <bruno@clisp.org>
44244
44245         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
44246         m4/inttypes_h.m4, m4/uintmax_t.m4.
44247
44248 2006-09-10  Bruno Haible  <bruno@clisp.org>
44249
44250         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
44251         gl_AC_TYPE_UINTMAX_T.
44252
44253 2006-09-10  Bruno Haible  <bruno@clisp.org>
44254
44255         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
44256
44257 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44258
44259         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
44260         convention.  Text proposed by Bruno Haible.
44261         (struct argp_option): Document the use of N_() wrappers.
44262
44263         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
44264         '\v', and translate the two parts separately, instead of feeding
44265         the whole string to gettext.  This allows to exclude
44266         '\v' from the strings visible to the translator by writing doc
44267         strings as N_("..") "\v" N_("..").
44268
44269 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
44270
44271         * config/srclist.txt: Undo latest change; the bug was fixed.
44272
44273 2006-09-09  Bruno Haible  <bruno@clisp.org>
44274
44275         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
44276         assignments if building a library without libtool.
44277         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
44278         in func_emit_lib_Makefile_am.
44279         (func_import): When building a static library libfoo.a, arrange to
44280         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
44281         (func_create_testdir): Likewise.
44282         * modules/gc (configure.ac, Makefile.am): If building statically,
44283         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
44284         * modules/iconvme (configure.ac, Makefile.am): Likewise.
44285         * modules/striconv (configure.ac, Makefile.am): Likewise.
44286         Based on a suggestion by Ralf Wildenhues.
44287
44288 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44289
44290         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44291         Check for unistd.h too, since Autoconf doesn't assume POSIX.
44292         Also:
44293
44294         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44295         Add year_2050_test to catch glibc bug 2821
44296         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44297
44298         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44299         Prefer #ifdef to #if.
44300
44301         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44302         Return from 'main' instead of calling 'exit'.
44303
44304 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44305
44306         * lib/mktime.c (guess_time_tm): Fix bug where mktime
44307         returned the maximum time_t value rather than (time_t) -1.
44308         Problem originally reported by William Bardwell
44309         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44310
44311         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44312         Moved to here ...
44313         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44314         ... from here.
44315
44316 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44317
44318         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
44319         2821 is fixed.
44320
44321 2006-09-08  Jim Meyering  <jim@meyering.net>
44322
44323         Don't make generated files read-only.  That would bother too many
44324         people.  However, do retain the ability to work when targets are
44325         read-only: remove the destination and temporary files before writing
44326         them (when generated via sed or echo), or by using the -f option for
44327         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
44328         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44329         * modules/byteswap, modules/configmake, modules/fcntl:
44330         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44331         * modules/localcharset, modules/netinet_in, modules/poll:
44332         * modules/stdbool, modules/stdint, modules/sys_select:
44333         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44334
44335 2006-09-08  Jim Meyering  <jim@meyering.net>
44336
44337         Avoid new build failure on FreeBSD 6.0.
44338         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
44339         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
44340         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
44341
44342 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44343
44344         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
44345
44346 2006-09-07  Jim Meyering  <jim@meyering.net>
44347
44348         Fix global typo in last change: use chmod u-w, not chmod u-x.
44349         Spotted by Paul Eggert and Bruce Korb.
44350         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44351         * modules/byteswap, modules/configmake, modules/fcntl:
44352         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44353         * modules/localcharset, modules/netinet_in, modules/poll:
44354         * modules/stdbool, modules/stdint, modules/sys_select:
44355         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44356
44357 2006-09-06  Jim Meyering  <jim@meyering.net>
44358
44359         Make generated files be read-only.
44360         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
44361         Ensure that each generated file is now read-only.
44362         * modules/argz: Likewise.
44363         * modules/arpa_inet: Likewise.
44364         * modules/byteswap: Likewise.
44365         * modules/configmake: Likewise.
44366         * modules/fcntl: Likewise.
44367         * modules/fnmatch: Likewise.
44368         * modules/getopt: Likewise.
44369         * modules/glob: Likewise.
44370         * modules/inttypes: Likewise.
44371         * modules/netinet_in: Likewise.
44372         * modules/poll: Likewise.
44373         * modules/stdbool: Likewise.
44374         * modules/stdint: Likewise.
44375         * modules/sys_select: Likewise.
44376         * modules/sys_socket: Likewise.
44377         * modules/sys_stat: Likewise.
44378         * modules/sysexits: Likewise.
44379         * modules/localcharset: Same as above, but continue using temporary
44380         file named "t-$@" (why different?) rather than the "$@-t" used
44381         everywhere else.
44382
44383         * modules/sysexits (Makefile.am): Replace literal occurrences
44384         of "sysexit.h" more readable, and more consistent, "$@".
44385
44386 2006-09-06  Bruno Haible  <bruno@clisp.org>
44387
44388         * modules/striconv: New file.
44389         * modules/xstriconv: New file.
44390         * MODULES.html.sh (Internationalization functions): Add striconv,
44391         xstriconv.
44392
44393 2006-09-06  Bruno Haible  <bruno@clisp.org>
44394
44395         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
44396         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
44397         not using libtool correctly.
44398
44399 2006-09-06  Bruno Haible  <bruno@clisp.org>
44400
44401         * lib/striconv.h: New file.
44402         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
44403         iconvstring.c.
44404         * lib/xstriconv.h: New file.
44405         * lib/xstriconv.c: New file.
44406
44407 2006-09-06  Bruno Haible  <bruno@clisp.org>
44408
44409         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44410         lib_..._LDFLAGS.
44411
44412 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44413
44414         * lib/argz_.h: Sync from Libtool.
44415
44416         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
44417                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44418
44419         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
44420
44421 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44422
44423         * modules/trim: New file.
44424
44425 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44426
44427         * lib/trim.h: New file.
44428         * lib/trim.c: New file.
44429
44430 2006-09-05  Bruno Haible  <bruno@clisp.org>
44431
44432         * MODULES.html.sh (String handling): Add trim.
44433
44434 2006-09-04  Karl Berry  <karl@gnu.org>
44435
44436         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
44437         until next release.
44438
44439 2006-09-03  Bruno Haible  <bruno@clisp.org>
44440
44441         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
44442         correctly.
44443
44444 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44445
44446         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
44447         not gl_GETLOADAVG.  Omit unneeded semicolons.
44448         Problems reported by Ralf Wildenhues in
44449         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44450         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
44451         at the end, which is the usual gnulib style.
44452
44453         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
44454         of doing all the work ourselves.
44455         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
44456         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
44457
44458 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44459
44460         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
44461         Problem reported by Ralf Wildenhues in
44462         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44463
44464         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
44465         HAVE_STRUCT_STATFS_F_FSTYPENAME.
44466
44467 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44468
44469         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
44470         yesterday's patch by changing test -n to test -z.
44471
44472 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44473
44474         * modules/getloadavg (Files): Add m4/getloadavg.m4.
44475         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
44476         the former is now obsolescent.
44477
44478         * modules/chdir-long (Depends-on): Add fcntl.
44479
44480 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44481
44482         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
44483         obsolescent, and programs should use gnulib instead.
44484         * m4/getloadavg.m4: New file, with contents taken from Autoconf
44485         but with prefixes changed.
44486
44487 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44488
44489         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
44490         or stdbool.h, because they might not exist while configuring.
44491
44492         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
44493         Don't include unistd.h or limits.h; not needed, since chdir-long.h
44494         does that for us.
44495         (O_DIRECTORY): Remove.
44496
44497 2006-08-31  Eric Blake  <ebb9@byu.net>
44498
44499         * gnulib-tool: Don't let emacs change spaces to TAB.
44500
44501 2006-08-31  Bruno Haible  <bruno@clisp.org>
44502
44503         * gnulib-tool: When calling func_import more than once, do it in a
44504         subshell.
44505         Reported by Eric Blake <ebb9@byu.net>.
44506
44507 2006-08-31  Bruno Haible  <bruno@clisp.org>
44508
44509         * gnulib-tool (nl): Remove variable.
44510         (sed_transform_lib_file): Use more robust test for config-h module.
44511         (func_import): Fix typo in 2006-08-25 patch.
44512
44513 2006-08-31  Bruno Haible  <bruno@clisp.org>
44514
44515         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
44516         specified, augment Makefile.am variables instead of assigning them.
44517
44518 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44519
44520         Work around a bug in both the Linux and SunOS 64-bit kernels:
44521         nanosleep mishandles sleeps for longer than 2**31 seconds.
44522         Problem reported by Frank v Waveren in
44523         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44524         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
44525         Check for nanosleep bug.
44526         (LIB_NANOSLEEP): Append clock_gettime library if needed.
44527
44528 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44529
44530         Work around a bug in both the Linux and SunOS 64-bit kernels:
44531         nanosleep mishandles sleeps for longer than 2**31 seconds.
44532         Problem reported by Frank v Waveren in
44533         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44534         * lib/nanosleep.c (BILLION): New constant.
44535         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
44536         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
44537         implementation.
44538
44539 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44540
44541         * modules/nanosleep (Depends-on): Add gettime.
44542
44543 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44544         and Simon Josefsson  <jas@extundo.com>
44545         and Oskar Liljeblad  <oskar@osk.mine.nu>
44546
44547         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
44548         * gnulib-tool (func_import): New license type 'unmodifiable license
44549         text'.
44550         * modules/fdl: Use it.  Longer description.
44551         * module/gpl, module/lgpl: New files.
44552
44553 2006-08-30  Jim Meyering  <jim@meyering.net>
44554
44555         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
44556         shadowing the parameter.
44557
44558 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44559
44560         Sync from Libtool:
44561
44562         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44563
44564         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
44565         sharing with gnulib.  Report by Eric Blake.
44566
44567 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44568
44569         * modules/isapipe: New file.
44570         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
44571
44572 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44573
44574         * modules/configmake (Makefile.am): Add a comment, and omit
44575         the CONFIGMAKE_ prefix from generated macro names.  Suggested
44576         by Bruno Haible.
44577
44578 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44579
44580         * m4/isapipe.m4: New file.
44581
44582 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44583
44584         * lib/isapipe.c, lib/isapipe.h: New files.
44585
44586 2006-08-29  Jim Meyering  <jim@meyering.net>
44587
44588         * modules/configmake (Makefile.am): Make configmake.h depend on
44589         Makefile.  Otherwise, a stale configmake.h could hang around.
44590
44591 2006-08-29  Eric Blake  <ebb9@byu.net>
44592
44593         * lib/error.c (error_at_line, print_errno_message): Match libc, after
44594         resolution of upstream bug 3044.
44595
44596 2006-08-29  Bruno Haible  <bruno@clisp.org>
44597
44598         * modules/localcharset (Depends-on): Add configmake.
44599         (Makefile.am): Remove setting of LIBDIR through DEFS.
44600
44601 2006-08-29  Bruno Haible  <bruno@clisp.org>
44602
44603         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
44604         defined.
44605
44606 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44607
44608         * modules/fcntl: New file.
44609         * modules/chdir-safer (Depends-on): Add fcntl.
44610         * modules/fts: Likewise.
44611         * modules/mkdir-p: Likewise.
44612
44613         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
44614         This undoes the most recent change, since we're now addressing the
44615         problem in a different way.
44616
44617         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
44618         into output, since the output might be called Makefile.am even
44619         if $makefile_name is something different.
44620         (func_import): Use $makefile_am rather than
44621         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
44622         empty.
44623
44624         * modules/inttypes (Files): Add m4/inttypes-h.m4.
44625
44626 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44627
44628         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
44629         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
44630         recent change to stdint.m4, since we're now addressing the problem in a
44631         different way.
44632
44633 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44634
44635         * m4/fcntl_h.m4: New file.
44636
44637 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44638
44639         * lib/fcntl_.h: New file.
44640         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
44641         the fcntl module.
44642         * lib/dirchownmod.c: Likewise.
44643         * lib/fts.c: Likewise.
44644
44645         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
44646         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
44647         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
44648         just before including <inttypes.h>, to avoid circular inclusion.
44649
44650 2006-08-28  Jim Meyering  <jim@meyering.net>
44651
44652         * doc/visibility.texi: Actually read and correct the grammar of the
44653         sentence affected by yesterday's change.
44654
44655 2006-08-28  Eric Blake  <ebb9@byu.net>
44656
44657         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
44658         needs wrapper.
44659
44660 2006-08-28  Eric Blake  <ebb9@byu.net>
44661
44662         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
44663
44664 2006-08-28  Eric Blake  <ebb9@byu.net>
44665
44666         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
44667
44668 2006-08-28  Bruno Haible  <bruno@clisp.org>
44669
44670         * modules/c-strstr: New file, from GNU gettext.
44671         * MODULES.html.sh (String handling): Add c-strstr.
44672
44673 2006-08-28  Bruno Haible  <bruno@clisp.org>
44674
44675         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
44676         macros.
44677         Reported by Eric Blake.
44678
44679 2006-08-28  Bruno Haible  <bruno@clisp.org>
44680
44681         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
44682         (VASNPRINTF): Return a string of length > INT_MAX without failing.
44683         * lib/vasprintf.c: Include errno.h, limits.h.
44684         (EOVERFLOW): New fallback definition.
44685         (vasprintf): Test here whether the string length is > INT_MAX.
44686         * lib/vsnprintf.c: Include errno.h, limits.h.
44687         (EOVERFLOW): New fallback definition.
44688         (vsnprintf): Fix bug when generated string was too long for the buffer.
44689         Test here whether the string length is > INT_MAX.
44690
44691 2006-08-28  Bruno Haible  <bruno@clisp.org>
44692
44693         * lib/inttypes_.h (SCNX*): Remove definitions.
44694         Reported by Eric Blake.
44695
44696 2006-08-28  Bruno Haible  <bruno@clisp.org>
44697
44698         * lib/c-strstr.h: New file, from GNU gettext.
44699         * lib/c-strstr.c: New file, from GNU gettext.
44700
44701 2006-08-28  Bruno Haible  <bruno@clisp.org>
44702
44703         * gnulib-tool: Reorder some statements.
44704
44705 2006-08-28  Bruno Haible  <bruno@clisp.org>
44706
44707         * gnulib-tool: New option --makefile-name.
44708         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
44709         $makefile_name.
44710         (func_import): Write $makefile_name to the cache file, and read it from
44711         there unless explicitly specified. Use $makefile_name as file name
44712         instead of Makefile.am. Adjust the recommendations accordingly.
44713
44714 2006-08-28  Bruno Haible  <bruno@clisp.org>
44715
44716         * gnulib-tool (func_verify_module): Check against misapplying patch.
44717
44718 2006-08-28  Bruno Haible  <bruno@clisp.org>
44719
44720         * gnulib-tool (func_relativize, func_relconcat): New functions.
44721         Give an error if --local-dir is given with --update.
44722         Remove trailing slashes from $local_gnulib_dir.
44723         (func_import): Store the relativized $local_gnulib_dir in
44724         gnulib-cache.m4, and read it from there if not specified explicitly.
44725
44726 2006-08-28  Bruno Haible  <bruno@clisp.org>
44727
44728         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
44729         is the current directory. Respect also $local_gnulib_dir.
44730
44731 2006-08-28  Bruno Haible  <bruno@clisp.org>
44732             Simon Josefsson  <jas@extundo.com>
44733
44734         BeOS portability.
44735         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
44736
44737 2006-08-27  Jim Meyering  <jim@meyering.net>
44738
44739         * doc/visibility.texi: Remove duplicate word: "pointer".
44740
44741 2006-08-26  Bruno Haible  <bruno@clisp.org>
44742
44743         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
44744         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
44745         (Makefile.am): Create inttypes.h from inttypes_.h.
44746         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
44747
44748         * modules/imaxabs: New file.
44749
44750         * modules/imaxdiv: New file.
44751
44752 2006-08-26  Bruno Haible  <bruno@clisp.org>
44753
44754         * m4/inttypes.m4: New file.
44755         * m4/_inttypes_h.m4: Remove file.
44756         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
44757         PRI_MACROS_BROKEN.
44758         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
44759
44760         * m4/imaxabs.m4: New file.
44761
44762         * m4/imaxdiv.m4: New file.
44763
44764 2006-08-26  Bruno Haible  <bruno@clisp.org>
44765
44766         * lib/inttypes_.h: New file.
44767         * lib/inttypes.h: Remove file.
44768         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
44769
44770         * lib/imaxabs.c: New file.
44771
44772         * lib/imaxdiv.c: New file.
44773
44774 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44775
44776         New config-h module, so that "make" output needn't be cluttered
44777         by -DHAVE_CONFIG_H.
44778         * MODULES.html.sh (Support for building libraries and executables):
44779         Add config-h.
44780         * modules/config-h: New file.
44781         * gnulib-tool (nl, sed_transform_lib_file): New vars.
44782         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
44783         the config-h module is used.
44784
44785         New configmake module, so that "make" output needn't be cluttered
44786         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
44787         * MODULES.html.sh (Support for building libraries and executables):
44788         Add configmake.
44789         * modules/configmake: New file.
44790
44791 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44792
44793         * m4/config-h.m4: New file.
44794
44795 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44796
44797         * config/srclist.txt: Add elisp-comp.
44798
44799 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44800
44801         * MODULES.html.sh (Support for building libraries and executables):
44802         Add elisp-comp.
44803         * build-aux/elisp-comp: New file.
44804         * modules/elisp-comp: New file.
44805
44806 2006-08-24  Bruno Haible  <bruno@clisp.org>
44807
44808         * gnulib-tool (func_create_testdir): Use non-default values of
44809         sourcebase and m4base.
44810
44811 2006-08-24  Bruno Haible  <bruno@clisp.org>
44812
44813         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
44814         HTML structure.
44815
44816 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
44817
44818         * modules/openat (Depends-on): Add lchown.
44819
44820 2006-08-23  Bruno Haible  <bruno@clisp.org>
44821
44822         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
44823         of gl_LOCK_EARLY instead of gl_LOCK.
44824
44825 2006-08-23  Bruno Haible  <bruno@clisp.org>
44826
44827         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
44828         on OSF/1 to no.
44829         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
44830
44831 2006-08-23  Bruno Haible  <bruno@clisp.org>
44832
44833         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
44834         as unusable.
44835
44836         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
44837         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
44838         (gl_LOCK): New macro.
44839
44840 2006-08-22  Simon Josefsson  <jas@extundo.com>
44841
44842         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
44843         to md5 module.
44844
44845 2006-08-22  Simon Josefsson  <jas@extundo.com>
44846
44847         * MODULES.html.sh: Add "Support for maintaining and release
44848         projects".
44849
44850         * build-aux/gnupload: New file, from coreutils.
44851
44852 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44853
44854         Avoid the need for AC_LIBSOURCES in m4 macros.
44855         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
44856         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
44857         * modules/check-version (EXTRA_DIST): Add check-version.h.
44858         * modules/crc (EXTRA_DIST): Add crc.h.
44859         * modules/des (EXTRA_DIST): Add des.h.
44860         * modules/gc (EXTRA_DIST): Add gc.h.
44861         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
44862         * modules/getline (EXTRA_DIST): Add getline.h.
44863         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
44864         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
44865         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
44866         * modules/md2 (EXTRA_DIST): Add md2.h.
44867         * modules/md4 (EXTRA_DIST): Add md4.h.
44868         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
44869         * modules/read-file (EXTRA_DIST): Add read-file.h.
44870         * modules/readline (EXTRA_DIST): Add readline.h.
44871         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
44872         rijndael-api-fst.h.
44873
44874 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44875
44876         * m4/rijndael.m4 (gl_ARCFOUR):
44877         * m4/arctwo.m4 (gl_ARCTWO):
44878         * m4/check-version.m4 (gl_CHECK_VERSION):
44879         * m4/crc.m4 (gl_CRC):
44880         * m4/des.m4 (gl_DES):
44881         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
44882         * m4/gc.m4 (gl_GC):
44883         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
44884         * m4/getline.m4 (gl_FUNC_GETLINE):
44885         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
44886         * m4/hmac-md5.m4 (gl_HMAC_MD5):
44887         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
44888         * m4/md2.m4 (gl_MD2):
44889         * m4/md4.m4 (gl_MD4):
44890         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
44891         * m4/read-file.m4 (gl_FUNC_READ_FILE):
44892         * m4/readline.m4 (gl_FUNC_READLINE):
44893         * m4/rijndael.m4 (gl_RIJNDAEL):
44894         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
44895         to get the necessary .h files and whatnot.
44896
44897 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44898
44899         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
44900         gnulib rather than the other way around.
44901         * config/srclistvars.sh (COREUTILS): Remove.
44902
44903 2006-08-22  Jim Meyering  <jim@meyering.net>
44904
44905         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
44906
44907         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
44908
44909 2006-08-22  Eric Blake  <ebb9@byu.net>
44910
44911         * modules/regexprops-generic: New file.
44912         * MODULES.html.sh (Support for building documentation): List it.
44913
44914 2006-08-22  Eric Blake  <ebb9@byu.net>
44915
44916         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
44917         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44918         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
44919         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
44920
44921 2006-08-22  Bruno Haible  <bruno@clisp.org>
44922
44923         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
44924         and lib_LTLIBRARIES like the other lib_* variables.
44925
44926 2006-08-22  Bruno Haible  <bruno@clisp.org>
44927
44928         * build-aux/x-to-1.in: New file, from GNU gettext.
44929
44930 2006-08-22  Bruno Haible  <bruno@clisp.org>
44931
44932         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
44933         <utmpx.h> exists.
44934
44935 2006-08-22  Bruno Haible  <bruno@clisp.org>
44936
44937         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
44938         <utmpx.h> exists.
44939
44940 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44941
44942         BeOS portability.
44943         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
44944         exist.
44945         Problem reported by Bruno Haible.
44946
44947 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44948
44949         Avoid the need for AC_LIBSOURCES in m4 macros.
44950         * modules/acl (EXTRA_DIST): Add acl.h.
44951         * modules/argmatch (Files): Add m4/argmatch.m4.
44952         (configure.ac): Add gl_ARGMATCH.
44953         (EXTRA_DIST): Renamed from lib_SOURCES, for
44954         consistency with the other modules.  Remove argmatch.c.
44955         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
44956         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
44957         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
44958         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
44959         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
44960         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
44961         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
44962         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
44963         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
44964         * modules/closeout (EXTRA_DIST): Add closeout.h.
44965         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
44966         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
44967         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
44968         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
44969         dirname.h; remove basename.c and stripslash.c.
44970         * modules/exclude (EXTRA_DIST): Add exclude.h.
44971         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
44972         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
44973         * modules/file-type (EXTRA_DIST): Add file-type.h.
44974         * modules/filemode (EXTRA_DIST): Add filemode.h.
44975         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
44976         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
44977         * modules/fpending (EXTRA_DIST): Add __fpending.h.
44978         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
44979         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
44980         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
44981         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
44982         * modules/getdate (EXTRA_DIST): Add getdate.c.
44983         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
44984         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
44985         * modules/getpass (EXTRA_DIST): Add getpass.h.
44986         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
44987         * modules/group-member (EXTRA_DIST): Add group-member.h.
44988         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
44989         * modules/hash (EXTRA_DIST): Add hash.h.
44990         * modules/human (EXTRA_DIST): Add human.h.
44991         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
44992         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
44993         * modules/lchown (EXTRA_DIST): Add lchown.h.
44994         * modules/long-options (EXTRA_DIST): Add long-options.h.
44995         * modules/lstat (EXTRA_DIST): Add lstat.h.
44996         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
44997         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
44998         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
44999         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
45000         * modules/memxor (EXTRA_DIST): Add memxor.h.
45001         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
45002         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
45003         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
45004         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
45005         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
45006         * modules/physmem (EXTRA_DIST): Add physmem.h.
45007         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
45008         * modules/posixver (EXTRA_DIST): Add posixver.h.
45009         * modules/quote (EXTRA_DIST): Add quote.h.
45010         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
45011         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
45012         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
45013         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
45014         regex_internal.h regexec.c.
45015         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
45016         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
45017         * modules/same (EXTRA_DIST): Add same.h.
45018         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
45019         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
45020         * modules/savedir (EXTRA_DIST): Add savedir.h.
45021         * modules/sha1 (EXTRA_DIST): Add sha1.h.
45022         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
45023         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
45024         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
45025         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
45026         * modules/strdup (EXTRA_DIST): Add strdup.h.
45027         * modules/strftime (EXTRA_DIST): Add strftime.h.
45028         * modules/strndup (EXTRA_DIST): Add strndup.h.
45029         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
45030         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
45031         * modules/time_r (EXTRA_DIST): Add time_r.h.
45032         * modules/timespec (EXTRA_DIST): Add timespec.h.
45033         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
45034         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
45035         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
45036         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
45037         * modules/userspec (EXTRA_DIST): Add userspec.h.
45038         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
45039         * modules/utimens (EXTRA_DIST): Add utimens.h.
45040         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
45041         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
45042         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
45043         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
45044         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
45045         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
45046         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
45047         * modules/yesno (EXTRA_DIST): Add yesno.h.
45048
45049 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
45050
45051         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
45052
45053         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
45054         * m4/dev-ino.m4, same-inode.m4: Remove.
45055
45056         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
45057         * m4/acl.m4 (AC_FUNC_ACL):
45058         * m4/backupfile.m4 (gl_BACKUPFILE):
45059         * m4/c-strtod.m4 (gl_C99_STRTOLD):
45060         * m4/canon-host.m4 (gl_CANON_HOST):
45061         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45062         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
45063         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
45064         * m4/cloexec.m4 (gl_CLOEXEC):
45065         * m4/close-stream.m4 (gl_CLOSE_STREAM):
45066         * m4/closeout.m4 (gl_CLOSEOUT):
45067         * m4/dirfd.m4 (gl_FUNC_DIRFD):
45068         * m4/dirname.m4 (gl_DIRNAME):
45069         * m4/exclude.m4 (gl_EXCLUDE):
45070         * m4/exitfail.m4 (gl_EXITFAIL):
45071         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
45072         * m4/file-type.m4 (gl_FILE_TYPE):
45073         * m4/filemode.m4 (gl_FILEMODE):
45074         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
45075         * m4/fpending.m4 (gl_FUNC_FPENDING):
45076         * m4/fprintftime.m4 (gl_FPRINTFTIME):
45077         * m4/fts.m4 (gl_FUNC_FTS):
45078         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
45079         * m4/getdate.m4 (gl_GETDATE):
45080         * m4/gethrxtime.m4 (gl_GETHRXTIME):
45081         * m4/getpagesize.m4 (gl_GETPAGESIZE):
45082         * m4/getpass.m4 (gl_FUNC_GETPASS):
45083         * m4/gettime.m4 (gl_GETTIME):
45084         * m4/getugroups.m4 (gl_GETUGROUPS):
45085         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
45086         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
45087         * m4/hard-locale.m4 (gl_HARD_LOCALE):
45088         * m4/hash.m4 (gl_HASH):
45089         * m4/idcache.m4 (gl_IDCACHE):
45090         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
45091         * m4/lchown.m4 (gl_FUNC_LCHOWN):
45092         * m4/long-options.m4 (gl_LONG_OPTIONS):
45093         * m4/lstat.m4 (gl_FUNC_LSTAT):
45094         * m4/md5.m4 (gl_MD5):
45095         * m4/memcasecmp.m4 (gl_MEMCASECMP):
45096         * m4/memcoll.m4 (gl_MEMCOLL):
45097         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
45098         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
45099         * m4/memxor.m4 (gl_MEMXOR):
45100         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
45101         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
45102         * m4/modechange.m4 (gl_MODECHANGE):
45103         * m4/mountlist.m4 (gl_MOUNTLIST):
45104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45105         * m4/openat.m4 (gl_FUNC_OPENAT):
45106         * m4/pathmax.m4 (gl_PATHMAX):
45107         * m4/physmem.m4 (gl_PHYSMEM):
45108         * m4/posixtm.m4 (gl_POSIXTM):
45109         * m4/posixver.m4 (gl_POSIXVER):
45110         * m4/quote.m4 (gl_QUOTE):
45111         * m4/quotearg.m4 (gl_QUOTEARG):
45112         * m4/readtokens.m4 (gl_READTOKENS):
45113         * m4/readutmp.m4 (gl_READUTMP):
45114         * m4/regex.m4 (gl_REGEX):
45115         * m4/safe-read.m4 (gl_SAFE_READ):
45116         * m4/safe-write.m4 (gl_SAFE_WRITE):
45117         * m4/same.m4 (gl_SAME):
45118         * m4/save-cwd.m4 (gl_SAVE_CWD):
45119         * m4/savedir.m4 (gl_SAVEDIR):
45120         * m4/settime.m4 (gl_SETTIME):
45121         * m4/sha1.m4 (gl_SHA1):
45122         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
45123         * m4/stat-macros.m4 (gl_STAT_MACROS):
45124         * m4/stat-time.m4 (gl_STAT_TIME):
45125         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
45126         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
45127         * m4/strdup.m4 (gl_FUNC_STRDUP):
45128         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
45129         * m4/strndup.m4 (gl_FUNC_STRNDUP):
45130         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
45131         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
45132         * m4/time_r.m4 (gl_TIME_R):
45133         * m4/timespec.m4 (gl_TIMESPEC):
45134         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
45135         * m4/unlinkdir.m4 (gl_UNLINKDIR):
45136         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
45137         * m4/userspec.m4 (gl_USERSPEC):
45138         * m4/utimecmp.m4 (gl_UTIMECMP):
45139         * m4/utimens.m4 (gl_UTIMENS):
45140         * m4/xalloc.m4 (gl_XALLOC):
45141         * m4/xgetcwd.m4 (gl_XGETCWD):
45142         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
45143         * m4/xreadlink.m4 (gl_XREADLINK):
45144         * m4/xstrtod.m4 (gl_XSTRTOD):
45145         * m4/yesno.m4 (gl_YESNO):
45146         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
45147         to get the necessary .h files and whatnot.
45148
45149 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
45150             Bruno Haible  <bruno@clisp.org>
45151
45152         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
45153         /bin/sh understanding of '!' conditional negation.
45154
45155 2006-08-21  Jim Meyering  <jim@meyering.net>
45156
45157         * modules/openat (Depends-on): Really alphabetize.
45158
45159         * modules/acl (Depends-on): Add error and quote.
45160
45161         * check-module (find_included_lib_files): Add at-func.c to the
45162         ok-to-include-more-than-once white list.
45163
45164         * modules/openat (Depends-on): Add lstat.  Alphabetize.
45165
45166 2006-08-21  Bruno Haible  <bruno@clisp.org>
45167
45168         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45169         Emit a pkgdata_DATA variable only if some snippets add contents to it.
45170         Reported by Martin Lambers <marlam@marlam.de>.
45171
45172 2006-08-21  Bruno Haible  <bruno@clisp.org>
45173
45174         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
45175         specify an installation location, don't emit a noinst_LIBRARIES or
45176         noinst_LTLIBRARIES assignment.
45177
45178 2006-08-21  Bruno Haible  <bruno@clisp.org>
45179
45180         BeOS portability.
45181         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
45182         BeOS has mbrtowc() but no <wctype.h>.
45183
45184 2006-08-21  Bruno Haible  <bruno@clisp.org>
45185
45186         BeOS portability.
45187         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
45188         exist.
45189
45190 2006-08-21  Bruno Haible  <bruno@clisp.org>
45191
45192         BeOS portability.
45193         * lib/mbchar.h: Include <wctype.h> only if it exists.
45194
45195 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45196
45197         Remove files that are no longer needed by their respective modules.
45198         * m4/obstack.m4: Remove.
45199         * m4/strerror_r.m4: Remove.
45200         * m4/uint32_t.m4: Remove.
45201         * m4/uintptr_t.m4: Remove.
45202         * m4/ullong_max.m4: Remove.
45203         * m4/xstrtoimax.m4: Remove.
45204         * m4/xstrtoumax.m4: Remove.
45205
45206         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
45207         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
45208         dependencies now capture this.
45209
45210         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
45211         Do not use AC_LIBSOURCES, since gnulib modules now do this.
45212         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
45213         * m4/human.m4 (gl_HUMAN): Likewise.
45214         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
45215         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
45216
45217         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
45218
45219         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
45220         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
45221         stdint.
45222         * m4/human.m4 (gl_HUMAN): Likewise.
45223         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
45224         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
45225         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45226         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45227         * m4/xstrtol (gl_XSTRTOL): Likewise.
45228
45229         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
45230         AC_TYPE_LONG_LONG_INT.
45231         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
45232         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
45233         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
45234         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
45235
45236         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
45237         on stdbool.
45238
45239         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
45240         (gl_PREREQ_XSTRTOUL): Remove.
45241
45242         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
45243
45244         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
45245         mode.
45246
45247 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45248
45249         Add and change modules to make it easier for coreutils to use
45250         gnulib-tool.
45251         * modules/backupfile (Files): Remove m4/d-ino.m4.
45252         (Depends-on): Add d-ino.
45253         * modules/cycle-check (Depends-on): Add stdint.
45254         (lib_SOURCES): Add cycle-check.h.
45255         * modules/d-ino: New module.
45256         * modules/d-type: New module.
45257         * modules/error (Files): Remove m4/strerror_r.m4.
45258         * modules/filemode (Files): Add m4/st_dm_mode.m4.
45259         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45260         m4/inttypes_h.m4, m4/uintmax_t.m4.
45261         (Depends-on): Add stdint.
45262         (lib_SOURCES): Add fsusage.h.
45263         * modules/getcwd (Files): Remove d-ino.m4.
45264         (Depends-on): Add d-ino.
45265         * modules/getndelim2 (Depends-on): Add stdint.
45266         * modules/glob (Files): Remove m4/d-type.m4.
45267         (Depends-on): Add d-type.
45268         * modules/host-os: New module.
45269         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
45270         m4/inttypes_h.m4, m4/uintmax_t.m4.
45271         * Depends-on: Add stdint.
45272         (lib_SOURCES): Add human.h.
45273         * modules/inttostr (Files): Remove m4/intmax_t.m4,
45274         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
45275         m4/uintmax_t.m4, m4/ulonglong.m4.
45276         (Depends-on): Add stdint.
45277         (EXTRA_DIST): Add inttostr.h.
45278         * modules/lchmod: New module.
45279         * modules/link-follow: New module.
45280         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
45281         (Depends-on): Add lchmod.
45282         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
45283         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
45284         (Depends-on): Add stdint.
45285         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
45286         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
45287         (Depends-on): Add stdint.
45288         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
45289         * modules/perl: New module.
45290         * modules/regex (Depends-on): Add stdint.
45291         * modules/rmdir-errno: New module.
45292         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45293         m4/intmax_t.m4.
45294         (Depends-on): Add stdint.
45295         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45296         m4/uintmax_t.m4.
45297         (Depends-on): Add stdint.
45298         * modules/unlink-busy: New module.
45299         * modules/utimecmp (Depends-on): Add stdint.
45300         * modules/uptime: New module.
45301         * modules/winsz-ioctl: New module.
45302         * modules/winsz-termios: New module.
45303         * modules/xnanosleep (Depends-on): Add nanosleep.
45304         * modules/ullong_max: Remove.
45305         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
45306         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
45307         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
45308         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
45309         (Depends-on): Add inttypes.
45310         (lib_SOURCES): Add xstrtol.h.
45311         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
45312         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
45313         * MODULES.html.sh: Move 'assert' into the assert section.
45314         Move 'dummy' into the linking section.
45315         Remove ullong_max.
45316         Add section for compatibility checks for POSIX:2001 functions,
45317         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
45318         winsz-ioctl, and winsz-termios into it.
45319         Add lchmod.
45320         Add top-level Misc section and put host-os, perl, and uptime
45321         into it.
45322
45323 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45324
45325         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
45326         now assume the stdint module.  Do not include inttypes.h.
45327         * lib/fsusage.h: Likewise.
45328         * lib/getndelim2.c: Likewise.
45329         * lib/human.h: Likewise.
45330         * lib/inttostr.h: Likewise.
45331         * lib/obstack.c: Likewise.
45332         * lib/regex_internal.h: Likewise.
45333         * lib/tempname.c: Likewise.
45334         * lib/utimecmp.c: Likewise.
45335         * lib/xstrtol.h: Likewise.
45336
45337         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
45338
45339         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
45340         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
45341         * lib/xtime.h: Likewise.
45342
45343 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45344
45345         * modules/openat (Files): Add lib/fchmodat.c.
45346         Fixes problem reported by Jay Youngman.
45347
45348 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45349
45350         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
45351         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
45352
45353 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
45354             Bruno Haible  <bruno@clisp.org>
45355
45356         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
45357         and is a script that invokes bison. Tighten the code. Add comments.
45358
45359 2006-08-18  Jim Meyering  <jim@meyering.net>
45360
45361         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
45362         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
45363         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
45364         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
45365
45366 2006-08-18  Bruno Haible  <bruno@clisp.org>
45367
45368         * modules/bison-i18n: New file.
45369         * MODULES.html.sh (Internationalization functions): Add it.
45370
45371 2006-08-18  Bruno Haible  <bruno@clisp.org>
45372
45373         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
45374         sys/statvfs.h. When getmntinfo was found, check its declaration and
45375         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
45376
45377 2006-08-18  Bruno Haible  <bruno@clisp.org>
45378
45379         * m4/bison-i18n.m4: New file, from bison.
45380
45381 2006-08-18  Bruno Haible  <bruno@clisp.org>
45382
45383         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
45384         (ME_DUMMY): Treat "kernfs" as a dummy.
45385         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
45386
45387 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45388
45389         Update from coreutils.
45390
45391         2006-08-15  Jim Meyering  <jim@meyering.net>
45392
45393         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
45394
45395         2006-01-17  Jim Meyering  <jim@meyering.net>
45396
45397         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
45398
45399         2006-01-11  Jim Meyering  <jim@meyering.net>
45400
45401         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
45402         Check for the lchmod function.
45403
45404 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45405
45406         Update from coreutils.
45407
45408         * lib/__fpending.h: Add copyright notice.
45409         * lib/fprintftime.h: Likewise.
45410         * lib/savedir.c: Use (C) in copyright notice.
45411         * lib/savedir.h: Likewise.
45412
45413         2006-08-15  Jim Meyering  <jim@meyering.net>
45414
45415         * lib/at-func.c: New file, with the logic of all emulated at-functions.
45416         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
45417         in support of the EXPECTED_ERRNO macro.
45418         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
45419         definitions.  Instead, define the appropriate symbols and include
45420         "at-func.c".
45421         * lib/mkdirat.c (mkdirat): Likewise.
45422         * lib/fchmodat.c (fchmodat): Likewise.
45423         (ENOSYS): Remove definition.
45424         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
45425         it.  Don't include "unistd--.h" -- it wasn't ever used.
45426
45427         2006-01-17  Jim Meyering  <jim@meyering.net>
45428
45429         Rewrite fts.c not to change the current working directory,
45430         by using openat, fstatat, fdopendir, etc..
45431
45432         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
45433         (HAVE_OPENAT_SUPPORT): Define.
45434         [_LIBC] (fchdir): Don't undef or define; no longer used.
45435         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
45436         Now, this `function' always succeeds, and consumes its file descriptor
45437         parameter -- so callers must not close such FDs.  Update callers.
45438         (diropen_fd, opendirat, cwd_advance_fd): New functions.
45439         (diropen): Add parameter, SP.  Adjust all callers.
45440         Implement using diropen_fd, rather than open.
45441         (fts_open): Initialize new member, fts_cwd_fd.
45442         Remove fts_rft-setting code.
45443         (fts_close): Close fts_cwd_fd, if necessary.
45444         (__opendir2): Define in terms of opendir or opendirat,
45445         depending on whether the FST_NOCHDIR flag is set.
45446         (fts_build): Since fts_safe_changedir consumes its FD, and since
45447         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
45448         and close the dup'd file descriptor upon failure.
45449         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
45450         (fts_safe_changedir): Tweak semantics to reflect that this function
45451         now calls cwd_advance_fd and hence consumes its FD argument.
45452         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
45453         [struct FTS] (fts_rft): Remove now-unused member.
45454         [struct FTS] (fts_cycle.state): Improve comment.
45455
45456         * lib/openat.c (openat_needs_fchdir): New function.
45457         * lib/openat.h (openat_needs_fchdir): Declare it.
45458
45459 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
45460
45461         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
45462         Problem and fix reported by Pádraig Brady in
45463         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
45464
45465 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45466
45467         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
45468
45469 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45470
45471         * lib/memcoll.c (memcoll): Optimize for the common case where the
45472         arguments are bytewise equal.
45473
45474 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45475
45476         * doc/regexprops-generic.texi: Add a copyright notice.
45477
45478 2006-08-15  Bruno Haible  <bruno@clisp.org>
45479
45480         * modules/tmpdir (License): Change to LGPL.
45481
45482 2006-08-15  Bruno Haible  <bruno@clisp.org>
45483
45484         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
45485         module.
45486
45487 2006-08-14  Simon Josefsson  <jas@extundo.com>
45488
45489         * config/srclist.txt: Add gnupload.
45490
45491 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45492
45493         Change copyright notice from LGPL 2 to GPL 2, since that's the
45494         standard form used in the gnulib repository.
45495         * tests/test-lock.c: Likewise.
45496         * tests/test-stdint.c: Likewise.
45497         * tests/test-tls.c: Likewise.
45498
45499         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
45500         prelude-manager.  User shorter URLs for GNU projects, without '?'.
45501         Add copyright notice.
45502
45503         * check-module: Add copyright notice.  Output a copyright
45504         notice if "--version" is specified.
45505         * modules/COPYING: New file.
45506         * tests/test-getaddrinfo.c: Add copyright notice.
45507         * tests/test-verify.c: Likewise.
45508
45509 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45510
45511         Change copyright notice from LGPL 2 to GPL 2, since that's the
45512         standard form used in the gnulib repository.
45513         * lib/lock.c: LGPL -> GPL.
45514         * lib/lock.h: Likewise.
45515         * lib/strnlen1.c: Likewise.
45516         * lib/strnlen1.h: Likewise.
45517         * lib/tls.c: Likewise.
45518         * lib/tls.h: Likewise.
45519         * lib/tmpdir.c: Likewise.
45520
45521         * lib/TODO: Remove; this belongs only in coreutils.
45522
45523 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45524
45525         Add copyright notices to long-enough files that lack them, since
45526         otherwise the files aren't clearly free.  Use the same notice that
45527         getdate.texi already uses.
45528         * doc/alloca-opt.texi: Add copyright notice.
45529         * doc/alloca.texi: Likewise.
45530         * doc/ctime.texi: Likewise.
45531         * doc/functions.texi: Likewise.
45532         * doc/gcd.texi: Likewise.
45533         * doc/gnulib-tool.texi: Likewise.
45534         * doc/inet_ntoa.texi: Likewise.
45535         * doc/visibility.texi: Likewise.
45536
45537         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
45538         * doc/quote.texi: Add copyright notice.
45539
45540         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
45541         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
45542         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
45543         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
45544         is now obsolete, and give a pointer to the Sun list.
45545         Add copyright notice.
45546
45547 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45548
45549         * config/srclistvars.sh: Add copyright notice.
45550
45551 2006-08-14  Eric Blake  <ebb9@byu.net>
45552
45553         Import the following change from libc:
45554
45555         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
45556
45557         Upstream bug 2997.
45558         * lib/misc/error.c: Add space between program name and message if file
45559         name is missing.
45560
45561 2006-08-12  Karl Berry  <karl@gnu.org>
45562
45563         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
45564         remove, these originate in gnulib now.
45565
45566 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45567
45568         * doc/Makefile (standards.info standards.html standards.dvi):
45569         Also depend on make-stds.texi.
45570
45571 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45572
45573         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
45574         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
45575
45576         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
45577         in wchar_t.  Problem reported by Eric Blake.
45578
45579         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
45580         LEN is smaller than SIZE.  Suggested by Bruno Haible.
45581         Also, help the compiler to keep LEN in a register.
45582
45583 2006-08-11  Eric Blake  <ebb9@byu.net>
45584
45585         * users.txt: Sort.  Add tar.
45586
45587 2006-08-11  Bruno Haible  <bruno@clisp.org>
45588
45589         * users.txt: New file.
45590
45591 2006-08-11  Bruno Haible  <bruno@clisp.org>
45592
45593         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
45594         before <wchar.h>. Needed for OSF/1 and BSD/OS.
45595
45596 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45597
45598         * modules/snprintf (Depends-on): Remove minmax.
45599         (Maintainer): Add self and Bruno.
45600
45601 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45602
45603         * lib/.cppi-disable: Add snprintf.h, socket_.h.
45604         * lib/snprintf.c: Include <errno.h> and <limits.h>.
45605         (EOVERFLOW): Define if the system does not.
45606         Do not include "minmax.h"; it wasn't used.
45607         (snprintf): Don't assume size_t promotes to an unsigned type.
45608         Fix bug when generated string was too long for the buffer: the
45609         buffer's contents are supposed to be the initial prefix of the
45610         output.  Don't assume vasnprintf returns EOVERFLOW if the size
45611         exceeds INT_MAX; do the check ourselves.
45612
45613         Import the following changes from libc:
45614
45615         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
45616
45617         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
45618         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
45619         set wc to the byte which couldn't be converted.
45620         (re_string_reconstruct): Don't clear valid_raw_len before calling
45621         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
45622         tip_context using re_string_context_at.
45623
45624         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
45625
45626         * lib/posix/regex.h: g++ still cannot handled [restrict].
45627
45628         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
45629
45630         * lib/posix/regex.h: Remove special handling for VMS.
45631
45632 2006-08-10  Jim Meyering  <jim@meyering.net>
45633
45634         * modules/same-inode: New module.
45635         * modules/dev-ino: New module.
45636         * modules/cycle-check: Depend on these modules, rather than simply
45637         including their .h files.
45638         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
45639         required via m4/cycle-check.m4.
45640         * modules/same: Depend on new same-inode module, rather than
45641         including same-inode.h.
45642         * modules/chdir-safer: New file.
45643
45644         * modules/chown (Depends-on): Add stat-macros.
45645
45646 2006-08-10  Jim Meyering  <jim@meyering.net>
45647
45648         * m4/cycle-check.m4: New file.
45649         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
45650         * m4/dev-ino.m4, m4/same-inode.m4: New files.
45651
45652 2006-08-10  Eric Blake  <ebb9@byu.net>
45653
45654         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
45655         in from original proposal.
45656
45657 2006-08-10  Eric Blake  <ebb9@byu.net>
45658         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45659
45660         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
45661         namespace.
45662
45663 2006-08-10  Bruno Haible  <bruno@clisp.org>
45664
45665         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
45666         as well.
45667
45668 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45669
45670         Sync from coreutils.
45671
45672         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
45673
45674         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
45675         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
45676
45677 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45678
45679         * modules/restrict: Remove; no longer needed now that we assume
45680         Autoconf 2.59 or later.
45681         * MODULES.html.sh: Remove 'restrict'.
45682         * modules/argp (Depends-on): Remove 'restrict'.
45683         * modules/base64 (Depends-on): Likewise.
45684         * modules/gc (Depends-on): Likewise.
45685         * modules/getaddrinfo (Depends-on): Likewise.
45686         * modules/glob (Depends-on): Likewise.
45687         * modules/inet_ntop (Depends-on): Likewise.
45688         * modules/inet_pton (Depends-on): Likewise.
45689         * modules/memxor (Depends-on): Likewise.
45690         * modules/regex (Depends-on): Likewise.
45691         * modules/strtok_r (Depends-on): Likewise.
45692         * modules/time_r (Depends-on): Likewise.
45693
45694 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45695
45696         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
45697         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
45698         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45699         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
45700         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45701         * m4/memxor.m4 (gl_MEMXOR): Likewise.
45702         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
45703         gl_C_RESTRICT replaced by AC_C_RESTRICT.
45704
45705         Merge from coreutils.
45706         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
45707         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
45708         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45709         * m4/time_r.m4 (gl_TIME_R): Likewise.
45710
45711 2006-08-09  Karl Berry  <karl@gnu.org>
45712
45713         * config/srclist.txt: no more gettext-tools, per Bruno.
45714
45715 2006-08-08  Eric Blake  <ebb9@byu.net>
45716
45717         * modules/verror: New module.
45718         * MODULES.html.sh: Document it.
45719
45720 2006-08-08  Eric Blake  <ebb9@byu.net>
45721
45722         * lib/verror.h, lib/verror.c: New files.
45723
45724 2006-08-08  Eric Blake  <ebb9@byu.net>
45725
45726         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
45727         verror_at_line output complies with GNU Coding Standards even when
45728         file is NULL.
45729
45730 2006-08-07  Bruno Haible  <bruno@clisp.org>
45731
45732         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
45733         versions of AIX.
45734         Reported by Ralf Wildenhues.
45735
45736 2006-08-07  Bruno Haible  <bruno@clisp.org>
45737
45738         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
45739         in an AC_DEFUN. Needed so that the autoconf snippets can use
45740         AC_REQUIRE.
45741
45742 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45743
45744         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45745         Initialize pkgdata_DATA.
45746         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
45747         overriding it.
45748
45749 2006-08-06  Eric Blake  <ebb9@byu.net>
45750
45751         * lib/error.h: Fold in some upstream changes from glibc.
45752         * lib/error.c: Likewise.
45753
45754 2006-08-04  Bruno Haible  <bruno@clisp.org>
45755
45756         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45757         Make the mostlyclean-local rule depend on mostlyclean-generic.
45758         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
45759
45760 2006-07-31  Bruno Haible  <bruno@clisp.org>
45761
45762         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
45763         <stdlib.h>, <string.h>.
45764
45765 2006-07-30  Bruno Haible  <bruno@clisp.org>
45766
45767         * modules/readlink (License): Change to LGPL.
45768
45769 2006-07-30  Bruno Haible  <bruno@clisp.org>
45770
45771         * modules/javaversion (Makefile.am): Distribute javaversion.java and
45772         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
45773         set PKGDATADIR to point to it.
45774
45775 2006-07-30  Bruno Haible  <bruno@clisp.org>
45776
45777         * modules/csharpexec (configure.ac): Comment out macro invocation.
45778         * modules/javaexec (configure.ac): Likewise.
45779         * modules/javacomp-script (configure.ac): Likewise.
45780
45781         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
45782
45783 2006-07-30  Bruno Haible  <bruno@clisp.org>
45784
45785         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
45786         linked-list.
45787
45788 2006-07-30  Bruno Haible  <bruno@clisp.org>
45789
45790         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
45791
45792 2006-07-30  Bruno Haible  <bruno@clisp.org>
45793
45794         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45795         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
45796         get removed.
45797
45798 2006-07-29  Bruno Haible  <bruno@clisp.org>
45799
45800         Make it possible for gnulib-tool to work with locally modified or
45801         augmented gnulib repositories.
45802         * gnulib-tool (func_usage): Document --local-dir option.
45803         (local_gnulib_dir): New variable.
45804         Handle --local-dir option.
45805         (func_lookup_file): New function.
45806         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
45807         (func_get_description, func_get_filelist, func_get_description,
45808         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
45809         func_get_automake_snippet, func_get_include_directive,
45810         func_get_license, func_get_maintainer): Use func_lookup_file.
45811         (func_import, func_create_testdir): Use func_lookup_file.
45812
45813 2006-07-29  Bruno Haible  <bruno@clisp.org>
45814
45815         * modules/setenv (Depends-on): Add unistd.
45816
45817 2006-07-29  Bruno Haible  <bruno@clisp.org>
45818
45819         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
45820
45821 2006-07-29  Bruno Haible  <bruno@clisp.org>
45822
45823         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
45824
45825 2006-07-29  Bruno Haible  <bruno@clisp.org>
45826
45827         * gnulib-tool (import, update): If there is no Makefile.am, look at
45828         aclocal.m4, instead of bailing out.
45829
45830 2006-07-29  Bruno Haible  <bruno@clisp.org>
45831
45832         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
45833         Categorize the options by when they are useful.
45834
45835 2006-07-29  Bruno Haible  <bruno@clisp.org>
45836
45837         * gnulib-tool (func_usage): Document option --no-libtool.
45838         Handle option --no-libtool.
45839         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
45840         for changed semantics of $libtool variable.
45841         (func_import): Likewise. If libtool is not used, show this through
45842         an option --no-libtool.
45843         (func_create_testdir): Update.
45844
45845 2006-07-29  Bruno Haible  <bruno@clisp.org>
45846
45847         * gnulib-tool (func_import): Extend error message about missing
45848         --doc-base.
45849
45850 2006-07-29  Bruno Haible  <bruno@clisp.org>
45851
45852         * gnulib-tool (func_import): Don't create the $docbase directory if
45853         there is no file to store there.
45854
45855 2006-07-29  Bruno Haible  <bruno@clisp.org>
45856
45857         * gnulib-tool (autoconf_minversion): If a --dir option is given and
45858         relevant, look for configure.ac there, not in the current directory.
45859         Also use a simple search for AC_PREREQ, not "autoconf --trace".
45860
45861 2006-07-29  Bruno Haible  <bruno@clisp.org>
45862
45863         * gnulib-tool (SORT): New variable.
45864         (func_usage): Undocument --assume-autoconf option.
45865         Remove --assume-autoconf option handling.
45866         (autoconf_minversion): Determine from the contents of configure.ac.
45867         (func_import): Remove autoconf_minversion handling.
45868         Suggested by Eric Blake.
45869
45870 2006-07-29  Bruno Haible  <bruno@clisp.org>
45871
45872         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
45873
45874 2006-07-29  Bruno Haible  <bruno@clisp.org>
45875
45876         * config/srclist.txt (*setenv.[ch]): Remove rules.
45877
45878 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45879
45880         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
45881
45882 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45883
45884         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
45885         arpa/inet.h.
45886
45887 2006-07-28  Simon Josefsson  <jas@extundo.com>
45888
45889         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
45890         * modules/inet_pton (Depends-on): Likewise.
45891
45892 2006-07-28  Simon Josefsson  <jas@extundo.com>
45893
45894         * m4/netinet_in_h.m4: New file.
45895
45896 2006-07-28  Simon Josefsson  <jas@extundo.com>
45897
45898         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
45899         #include's.
45900
45901 2006-07-28  Simon Josefsson  <jas@extundo.com>
45902
45903         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
45904         #include's.
45905
45906 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
45907
45908         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
45909         setgid on directories only if they set these bits.
45910         * lib/modechange.h: Remove obsolete comment about masks.
45911
45912 2006-07-28  Eric Blake  <ebb9@byu.net>
45913
45914         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
45915         macro expansion.
45916
45917 2006-07-28  Bruno Haible  <bruno@clisp.org>
45918
45919         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
45920
45921 2006-07-28  Bruno Haible  <bruno@clisp.org>
45922
45923         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
45924
45925 2006-07-28  Bruno Haible  <bruno@clisp.org>
45926
45927         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45928         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45929         Define fallbacks.
45930         Avoids link error on FreeBSD 4.x.
45931         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45932
45933         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
45934         encoding.
45935         * lib/mbswidth.c (iswcntrl): Likewise.
45936
45937 2006-07-27  Bruno Haible  <bruno@clisp.org>
45938
45939         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
45940         test.
45941
45942 2006-07-27  Bruno Haible  <bruno@clisp.org>
45943
45944         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
45945         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
45946         defined.
45947
45948 2006-07-26  Eric Blake  <ebb9@byu.net>
45949
45950         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
45951
45952 2006-07-26  Eric Blake  <ebb9@byu.net>
45953
45954         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
45955         like mingw that lack mkstemp.
45956         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
45957         avoid compilation warning on mingw.
45958
45959 2006-07-26  Bruno Haible  <bruno@clisp.org>
45960
45961         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
45962         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
45963         INT_FAST*_MIN, INTPTR_MIN.
45964
45965 2006-07-25  Bruno Haible  <bruno@clisp.org>
45966
45967         * modules/version-etc (Depends-on): Add stdarg.
45968
45969 2006-07-25  Bruno Haible  <bruno@clisp.org>
45970
45971         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
45972         complex commands.
45973
45974 2006-07-25  Bruno Haible  <bruno@clisp.org>
45975
45976         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
45977         defined in <stdarg.h> or config.h.
45978
45979 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45980
45981         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
45982         (gl_STDIO_SAFER): Remove.
45983
45984 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45985
45986         * MODULES.html.sh (File stream based Input/Output):
45987         Add fopen-safer, tmpfile-safer; remove stdio-safer.
45988         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
45989         * modules/fopen-safer, modules/tmpfile-safer: New files.
45990         * modules/stdio-safer: Remove.
45991
45992 2006-07-24  Bruno Haible  <bruno@clisp.org>
45993
45994         * modules/tmpdir: New file.
45995         * MODULES.html.sh (File system functions): Add it.
45996
45997 2006-07-24  Bruno Haible  <bruno@clisp.org>
45998
45999         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
46000         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
46001
46002 2006-07-24  Bruno Haible  <bruno@clisp.org>
46003
46004         * modules/clean-temp: New file.
46005
46006 2006-07-24  Bruno Haible  <bruno@clisp.org>
46007
46008         * m4/tmpdir.m4: New file, from GNU gettext.
46009
46010 2006-07-24  Bruno Haible  <bruno@clisp.org>
46011
46012         * lib/tmpdir.h: New file, from GNU gettext.
46013         * lib/tmpdir.c: New file, from GNU gettext.
46014
46015 2006-07-24  Bruno Haible  <bruno@clisp.org>
46016
46017         * lib/clean-temp.h: New file, from GNU gettext.
46018         * lib/clean-temp.c: New file, from GNU gettext.
46019
46020 2006-07-23  Eric Blake  <ebb9@byu.net>
46021
46022         * modules/stdio-safer (Files): Add tmpfile-safer.c.
46023         (Depends-on): Add binary-io.
46024
46025 2006-07-23  Eric Blake  <ebb9@byu.net>
46026
46027         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
46028
46029 2006-07-23  Eric Blake  <ebb9@byu.net>
46030
46031         * lib/tmpfile-safer.c: New file.
46032         * lib/stdio-safer.h (fopen_safer): Add prototype.
46033         * lib/stdio--.h (tmpfile): Make safer.
46034
46035 2006-07-23  Bruno Haible  <bruno@clisp.org>
46036
46037         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
46038         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
46039         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
46040         gl_linked_remove_at): Use it.
46041
46042 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46043         and Simon Josefsson <jas@extundo.com>
46044
46045         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
46046
46047         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
46048
46049 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46050
46051         * modules/close-stream: New file.
46052         * modules/closeout (Description): Make it clear that it exits
46053         with a diagnostic on error.
46054         (Depends-on): Add close-stream.  Remove fpending, stdbool.
46055         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
46056
46057 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46058
46059         * m4/close-stream.m4: New file.
46060
46061 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46062
46063         * lib/close-stream.c, lib/close-stream.h: New files.
46064
46065 2006-07-22  Bruno Haible  <bruno@clisp.org>
46066
46067         Merge from GNU gettext 0.15.
46068
46069         2006-05-01  Bruno Haible  <bruno@clisp.org>
46070
46071                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
46072
46073         2006-07-22  Bruno Haible  <bruno@clisp.org>
46074
46075                 * modules/javaversion: New file.
46076                 * MODULES.html.sh (Java): Add javaversion.
46077
46078         2006-03-12  Bruno Haible  <bruno@clisp.org>
46079
46080                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
46081
46082         2005-12-04  Bruno Haible  <bruno@clisp.org>
46083
46084                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
46085                 (untested).
46086
46087         2006-06-21  Bruno Haible  <bruno@clisp.org>
46088
46089                 Avoid warnings from recent versions of mcs.
46090                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
46091                 -o, -L, -r any more. Use options documented since mcs-1.0
46092                 instead. Similarly for -g.
46093
46094         2005-12-04  Bruno Haible  <bruno@clisp.org>
46095
46096                 * build-aux/csharpcomp.sh.in: Suffix for resources is
46097                 .resources, not .resource.
46098
46099         2005-07-09  Bruno Haible  <bruno@clisp.org>
46100
46101                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
46102                 add a .dll suffix.
46103                 Reported by Mark Junker <mjscod@gmx.de>.
46104
46105         2006-07-22  Bruno Haible  <bruno@clisp.org>
46106
46107                 * modules/gettext: Upgrade to gettext-0.15.
46108                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
46109                 m4/visibility.m4.
46110                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
46111
46112 2006-07-22  Bruno Haible  <bruno@clisp.org>
46113
46114         Merge from GNU gettext 0.15.
46115
46116         2006-03-25  Bruno Haible  <bruno@clisp.org>
46117
46118                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
46119
46120         2006-07-21  Bruno Haible  <bruno@clisp.org>
46121
46122                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
46123                 "1.1".
46124
46125         2006-05-09  Bruno Haible  <bruno@clisp.org>
46126
46127                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
46128                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
46129                 for the conftestver execution.
46130
46131         2006-05-01  Bruno Haible  <bruno@clisp.org>
46132
46133                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
46134                 optional target-version argument. Verify that the compiler
46135                 groks source of the specified source-version, or add -source
46136                 option as necessary. Verify that the compiler produces
46137                 bytecode in the specified target-version, or add -target and
46138                 -source options as necessary. Make the result of the test
46139                 available as variable CONF_JAVAC. Also log error output in
46140                 config.log.
46141
46142         2006-03-11  Bruno Haible  <bruno@clisp.org>
46143
46144                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
46145
46146         2006-05-09  Bruno Haible  <bruno@clisp.org>
46147
46148                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
46149                 CLASSPATH_SEPARATOR to a semicolon.
46150
46151         2006-03-12  Bruno Haible  <bruno@clisp.org>
46152
46153                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
46154                 available as variable CONF_JAVA, for subsequent autoconf
46155                 tests. Also log error output in config.log.
46156
46157         2006-07-19  Bruno Haible  <bruno@clisp.org>
46158
46159                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
46160                 that getline works on glibc2 systems. Needed to avoid trouble
46161                 in relocatable.c.
46162                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
46163
46164         2005-12-04  Bruno Haible  <bruno@clisp.org>
46165
46166                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
46167                 launcher (untested).
46168
46169         2005-12-04  Bruno Haible  <bruno@clisp.org>
46170
46171                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
46172
46173         2006-07-22  Bruno Haible  <bruno@clisp.org>
46174
46175                 * gettext.m4: Update from GNU gettext-0.15.
46176                 * nls.m4: Likewise.
46177                 * po.m4: Likewise.
46178                 * inttypes-pri.m4: Likewise.
46179                 * inttypes-h.m4: Renamed from inttypes.m4.
46180                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
46181
46182 2006-07-22  Bruno Haible  <bruno@clisp.org>
46183
46184         Merge from GNU gettext 0.15.
46185
46186         2005-07-05  Bruno Haible  <bruno@clisp.org>
46187
46188                 * printf-args.c (printf_fetchargs): Work around broken
46189                 definition of wint_t on mingw.
46190
46191         2005-02-12  Bruno Haible  <bruno@clisp.org>
46192
46193                 * xallocsa.h: Add extern "C" for C++.
46194
46195         2006-05-17  Bruno Haible  <bruno@clisp.org>
46196
46197                 Cygwin portability.
46198                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
46199
46200         2006-04-30  Bruno Haible  <bruno@clisp.org>
46201
46202                 * progreloc.c: Include <mach-o/dyld.h> if available.
46203                 (find_executable): Use _NSGetExecutablePath when possible.
46204
46205         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46206
46207                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
46208                 function.
46209
46210         2005-12-29  Bruno Haible  <bruno@clisp.org>
46211
46212                 * progreloc.c (set_program_name_and_installdir): Fix
46213                 compilation error.
46214
46215         2005-12-04  Bruno Haible  <bruno@clisp.org>
46216
46217                 Cygwin portability.
46218                 * progreloc.c: Include <windows.h> also on Cygwin.
46219                 (find_executable): Add support for Cygwin.
46220                 (set_program_name_and_installdir): Handle also platforms with
46221                 nonempty EXEEXT.
46222
46223         2006-07-11  Bruno Haible  <bruno@clisp.org>
46224
46225                 * javacomp.c: Fix a comment.
46226                 Reported by Jim Meyering.
46227
46228         2006-04-30  Bruno Haible  <bruno@clisp.org>
46229
46230                 * javacomp.h (compile_java_class): Add source_version,
46231                 target_version arguments.
46232                 * javacomp.c: Rewritten to choose only a compiler that
46233                 respects the specified source_version and target_version.
46234
46235         2006-06-27  Bruno Haible  <bruno@clisp.org>
46236
46237                 Assume correct S_ISDIR macro.
46238                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
46239
46240         2006-07-22  Bruno Haible  <bruno@clisp.org>
46241
46242                 * javaversion.h: New file, from GNU gettext.
46243                 * javaversion.c: New file, from GNU gettext.
46244                 * javaversion.java: New file, from GNU gettext.
46245                 * javaversion.class: New file, from GNU gettext.
46246
46247         2006-05-17  Bruno Haible  <bruno@clisp.org>
46248
46249                 Cygwin portability.
46250                 * javaexec.c (execute_java_class): Test for jview program
46251                 also on Cygwin.
46252
46253         2006-04-09  Bruno Haible  <bruno@clisp.org>
46254
46255                 * fatal-signal.c: Don't include string.h.
46256                 (at_fatal_signal): Use a copying loop instead of memcpy.
46257
46258         2005-12-04  Bruno Haible  <bruno@clisp.org>
46259
46260                 * csharpexec.c: Add support for 'clix' launcher (untested).
46261                 (execute_csharp_using_sscli): New function.
46262                 (execute_csharp_program): Call it.
46263
46264         2006-06-21  Bruno Haible  <bruno@clisp.org>
46265
46266                 Avoid warnings from recent versions of mcs.
46267                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
46268                 -o, -L, -r any more. Use options documented since mcs-1.0
46269                 instead. Similarly for -g.
46270
46271         2005-07-09  Bruno Haible  <bruno@clisp.org>
46272
46273                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
46274                 add a .dll suffix.
46275                 Reported by Mark Junker <mjscod@gmx.de>.
46276
46277         2006-06-17  Bruno Haible  <bruno@clisp.org>
46278
46279                 * config.charset: Update for NetBSD 3.0.
46280
46281         2006-05-17  Bruno Haible  <bruno@clisp.org>
46282
46283                 Cygwin portability.
46284                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
46285
46286         2006-05-16  Bruno Haible  <bruno@clisp.org>
46287
46288                 * localcharset.c [CYGWIN]: Include <windows.h>.
46289                 (get_charset_aliases): For Cygwin, return the same CPxxx
46290                 aliases list as under WIN32.
46291                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
46292                 the environment variables. Fall back to GetACP().
46293
46294         2006-04-05  Bruno Haible  <bruno@clisp.org>
46295
46296                 * config.charset: Update Juan Manuel Guerrero's address.
46297
46298         2005-02-12  Bruno Haible  <bruno@clisp.org>
46299
46300                 * allocsa.h: Add extern "C" for C++.
46301
46302         2005-02-10  Bruno Haible  <bruno@clisp.org>
46303
46304                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
46305                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
46306
46307         2006-07-22  Bruno Haible  <bruno@clisp.org>
46308
46309                 * gettext.h: Update to GNU gettext-0.15.
46310
46311 2006-07-22  Bruno Haible  <bruno@clisp.org>
46312
46313         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
46314         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
46315         lib-prefix.m4, longdouble.m4, ssize_t.m4.
46316
46317 2006-07-21  Eric Blake  <ebb9@byu.net>
46318
46319         * modules/stdlib-safer: New file.
46320         * MODULES.html.sh (File stream based Input/Output): Add
46321         stdlib-safer.
46322
46323 2006-07-21  Eric Blake  <ebb9@byu.net>
46324
46325         * lib/stdlib-safer.h: New file from coreutils, required by
46326         stdlib--.h.
46327
46328 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46329
46330         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
46331
46332 2006-07-20  Bruno Haible  <bruno@clisp.org>
46333
46334         * gnulib-tool: Recognize new option --assume-autoconf.
46335         (autoconf_minversion): New variable.
46336         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
46337
46338 2006-07-20  Bruno Haible  <bruno@clisp.org>
46339
46340         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
46341
46342 2006-07-19  Derek R. Price  <derek@ximbiot.com>
46343
46344         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
46345         Reindent and repaginate.
46346
46347 2006-07-19  Derek Price  <derek@ximbiot.com>
46348
46349         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
46350         Correct grammar.
46351
46352 2006-07-17  Bruno Haible  <bruno@clisp.org>
46353
46354         * modules/list: New file.
46355         * modules/array-list: New file.
46356         * modules/carray-list, modules/carray-list-tests: New files.
46357         * modules/linked-list, modules/linked-list-tests: New files.
46358         * modules/avltree-list, modules/avltree-list-tests: New files.
46359         * modules/rbtree-list, modules/rbtree-list-tests: New files.
46360         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
46361         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
46362         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
46363         * modules/oset: New file.
46364         * modules/array-oset: New file.
46365         * modules/avltree-oset, modules/avltree-oset-tests: New files.
46366         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
46367         * tests/test-carray_list.c: New file.
46368         * tests/test-linked_list.c: New file.
46369         * tests/test-avltree_list.c: New file.
46370         * tests/test-rbtree_list.c: New file.
46371         * tests/test-linkedhash_list.c: New file.
46372         * tests/test-avltreehash_list.c: New file.
46373         * tests/test-rbtreehash_list.c: New file.
46374         * tests/test-avltree_oset.c: New file.
46375         * tests/test-rbtree_oset.c: New file.
46376         * MODULES.html.sh (Container data structures): New section.
46377
46378 2006-07-17  Bruno Haible  <bruno@clisp.org>
46379
46380         * m4/gl_list.m4: New file.
46381
46382 2006-07-17  Bruno Haible  <bruno@clisp.org>
46383
46384         * lib/gl_list.h: New file.
46385         * lib/gl_list.c: New file.
46386         * lib/gl_array_list.h: New file.
46387         * lib/gl_array_list.c: New file.
46388         * lib/gl_carray_list.h: New file.
46389         * lib/gl_carray_list.c: New file.
46390         * lib/gl_linked_list.h: New file.
46391         * lib/gl_linked_list.c: New file.
46392         * lib/gl_anylinked_list1.h: New file.
46393         * lib/gl_anylinked_list2.h: New file.
46394         * lib/gl_avltree_list.h: New file.
46395         * lib/gl_avltree_list.c: New file.
46396         * lib/gl_anyavltree_list1.h: New file.
46397         * lib/gl_anyavltree_list2.h: New file.
46398         * lib/gl_rbtree_list.h: New file.
46399         * lib/gl_rbtree_list.c: New file.
46400         * lib/gl_anyrbtree_list1.h: New file.
46401         * lib/gl_anyrbtree_list2.h: New file.
46402         * lib/gl_anytree_list1.h: New file.
46403         * lib/gl_anytree_list2.h: New file.
46404         * lib/gl_linkedhash_list.h: New file.
46405         * lib/gl_linkedhash_list.c: New file.
46406         * lib/gl_anyhash_list1.h: New file.
46407         * lib/gl_anyhash_list2.h: New file.
46408         * lib/gl_avltreehash_list.h: New file.
46409         * lib/gl_avltreehash_list.c: New file.
46410         * lib/gl_rbtreehash_list.h: New file.
46411         * lib/gl_rbtreehash_list.c: New file.
46412         * lib/gl_anytreehash_list1.h: New file.
46413         * lib/gl_anytreehash_list2.h: New file.
46414
46415         * lib/gl_oset.h: New file.
46416         * lib/gl_oset.c: New file.
46417         * lib/gl_array_oset.h: New file.
46418         * lib/gl_array_oset.c: New file.
46419         * lib/gl_avltree_oset.h: New file.
46420         * lib/gl_avltree_oset.c: New file.
46421         * lib/gl_rbtree_oset.h: New file.
46422         * lib/gl_rbtree_oset.c: New file.
46423         * lib/gl_anytree_oset.h: New file.
46424
46425 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46426
46427         * m4/mkancesdirs.m4: New file.
46428         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
46429         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
46430         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
46431         it.
46432
46433 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46434
46435         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
46436         * lib/mkancesdirs.h: New files.
46437         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
46438         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
46439         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
46440         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
46441         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
46442         callers changed.  Revamp internals significantly, by not
46443         attempting to create directories that are temporarily more
46444         permissive than the final results.  Do not attempt to use
46445         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
46446         This removes some race conditions, fixes some bugs, and simplifies
46447         things.  Use new dirchownmod function to do owner and mode changes.
46448         * lib/mkdir-p.h: Likewise.
46449         * lib/modechange.c (octal_to_mode): New function.
46450         (struct mode_change): New member mentioned.
46451         (make_node_op_equals): New arg mentioned.  All callers changed.
46452         (mode_compile): Keep track of which mode bits the user has explicitly
46453         mentioned.
46454         (mode_adjust): New arg DIR, so that we implement the X op correctly.
46455         New arg PMODE_BITS, to keep track of which mode bits the user
46456         mentioned; it treats S_ISUID and S_ISGID speciall.
46457         All callers changed.
46458         * lib/modechange.h: Likewise.
46459
46460 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46461
46462         * MODULES.html.sh: Add mkancestors.
46463         * modules/mkancesdirs: New module.
46464         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
46465         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
46466         The chdir-safer and afs files are now orphans; I'll remove them
46467         unless someone speaks up.
46468         Add lib/dirchownmod.c, lib/dirchownmod.h.
46469         (Depends-on): Remove alloca, chown, save-cwd, dirname.
46470         Add lchown, mkancesdirs.
46471         (Maintainer): Add self.
46472
46473 2006-07-15  Karl Berry  <karl@gnu.org>
46474
46475         * gnulib-tool: help message wording/arrangement.
46476
46477 2006-07-14  Simon Josefsson  <jas@extundo.com>
46478
46479         * doc/gnulib.texi (Libtool and Windows): New section.
46480
46481 2006-07-12  Simon Josefsson  <jas@extundo.com>
46482
46483         * modules/gendocs (License): Fix license, approved by Karl.
46484
46485 2006-07-12  Eric Blake  <ebb9@byu.net>
46486
46487         * MODULES.html.sh: Add gendocs.
46488
46489 2006-07-11  Eric Blake  <ebb9@byu.net>
46490
46491         * modules/fdl: New module, to install doc/fdl.texi.
46492         * MODULES.html.sh: Add new section for documentation modules.
46493         * gnulib-tool: Avoid space-tab.
46494         (--doc-base): New option, to manage files from doc.
46495
46496 2006-07-11  Eric Blake  <ebb9@byu.net>
46497
46498         * m4/absolute-header.m4: Fix comments to match recent change.
46499
46500 2006-07-11  Eric Blake  <ebb9@byu.net>
46501
46502         * gnulib-tool: List --doc-base before --tests-base.
46503
46504 2006-07-11  Derek R. Price  <derek@ximbiot.com>
46505
46506         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
46507
46508 2006-07-11  Bruno Haible  <bruno@clisp.org>
46509
46510         * README: Mention where to put documentation.
46511
46512 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46513
46514         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
46515
46516 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46517
46518         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
46519         to stdint.m4.
46520
46521 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46522
46523         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
46524         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
46525         "no/such/file/stdint.h" when there is no such file, so that
46526         the resulting C code can be parsed by dodgy compilers.
46527         Problems reported by Bob Proulx.
46528
46529 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46530
46531         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
46532         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46533         macros into the GNU _D_EXACT_NAMLEN.
46534         * lib/savedir.c:  Likewise.
46535         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
46536
46537 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46538         and Paul Eggert  <eggert@cs.ucla.edu>
46539
46540         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
46541         * m4/savedir.m4:
46542         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46543         macros into the GNU _D_EXACT_NAMLEN.
46544
46545 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46546
46547         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
46548         around the absolute name, to work around a problem with the HP-UX
46549         11.23 native C compiler, reported by Bob Proulx.
46550
46551 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46552
46553         * doc/maintain.texi, make-stds.texi: Sync from
46554         <http://savannah.gnu.org/projects/gnustandards>.
46555
46556 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46557
46558         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
46559
46560 2006-07-09  Jim Meyering  <jim@meyering.net>
46561
46562         * m4/glob.m4: Remove a doubled word in a comment.
46563
46564 2006-07-09  Jim Meyering  <jim@meyering.net>
46565
46566         * lib/argp-pv.c: Remove a doubled word in a comment.
46567         * lib/check-version.c (check_version): Likewise.
46568         * lib/javacomp.c (compile_java_class): Likewise.
46569
46570 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46571
46572         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
46573         for the benefit of people using Autoconf 2.60.  If you want to
46574         support older Autoconf versions you can copy m4/onceonly_2_57.m4
46575         (or m4/onceonly.m4, if pre-2.57) manually.
46576
46577 2006-07-08  Jim Meyering  <jim@meyering.net>
46578
46579         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
46580         comment.
46581         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
46582         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
46583         comment.
46584
46585 2006-07-08  Jim Meyering  <jim@meyering.net>
46586
46587         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
46588
46589 2006-07-07  Simon Josefsson  <jas@extundo.com>
46590
46591         * tests/test-crc.c: Change expected crc value, the test vector
46592         were probably computed using the old broken crc.c?
46593
46594 2006-07-06  Simon Josefsson  <jas@extundo.com>
46595
46596         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
46597         now the canonical place for the M4 file).
46598
46599         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
46600         from the sys_socket dependency now.
46601
46602         * modules/inet_pton (Files): Ditto.
46603
46604         * modules/inet_ntop (Files): Ditto.
46605
46606 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46607
46608         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
46609         not gl_PREREQ_GETUSERSHELL.
46610
46611 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46612
46613         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
46614         with only one argument, for Autoconf 2.60.
46615         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
46616         expand to nothing, so add a shell command to avoid syntax error.
46617         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
46618
46619 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46620
46621         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
46622
46623 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46624
46625         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
46626         no longer needed.  Check for isblank decl.
46627         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
46628         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
46629         of existence.
46630
46631 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46632
46633         * lib/getloadavg.c: Use __VMS, not VMS.
46634         * lib/getopt.c: Likewise.
46635         * lib/getpagesize.h: Likewise.
46636         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
46637         and probably does not work.
46638
46639 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46640
46641         * lib/.cppi-disable: Add wcwidth.
46642         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
46643         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
46644         (ISGRAPH): Remove.  All uses changed to isgraph.
46645         (FOLD) [!defined _LIBC]: Remove special case.
46646         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
46647         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
46648         HAVE_ISBLANK.
46649         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
46650         case.
46651
46652 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46653
46654         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
46655         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
46656         brackets.  Other minor changes to suppress some compiler
46657         warnings.
46658
46659 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46660         and Paul Eggert  <eggert@cs.ucla.edu>
46661
46662         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
46663         of invoking obsolescent AC_HEADER_DIRENT macro.
46664         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46665         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
46666         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46667         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46668         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
46669         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46670         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
46671         * m4/readdir.m4: Remove; no longer needed.
46672
46673 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46674         and Paul Eggert  <eggert@cs.ucla.edu>
46675
46676         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
46677         Don't worry about this obsolete case any more.
46678         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
46679         directories.
46680         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
46681         worry about this obsolete case any more.
46682         * lib/fts.c: Likewise.
46683         * lib/getcwd.c: Likewise.
46684         * lib/glob.h: Likewise.
46685         * lib/savedir.c: Likewise.
46686
46687 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46688
46689         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
46690         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
46691         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
46692         needed.
46693         All uses removed.
46694         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46695         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46696         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
46697         needed.
46698         * m4/getdate.m4 (gl_GETDATE): Likewise.
46699         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46700         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46701         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46702         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46703         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46704         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46705         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
46706         needed.
46707
46708 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46709
46710         * lib/memcasecmp.c: Include <limits.h>.
46711         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
46712         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
46713         Don't assume isdigit succeeds only on '0' through '9'.
46714
46715 2006-07-05  Eric Blake  <ebb9@byu.net>
46716
46717         * modules/getaddrinfo (Depends-on): Add snprintf.
46718
46719 2006-07-05  Eric Blake  <ebb9@byu.net>
46720
46721         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
46722         to avoid 'header present but could not be compiled' on cygwin.
46723
46724 2006-07-05  Eric Blake  <ebb9@byu.net>
46725
46726         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
46727         missing from netdb.h.
46728         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
46729
46730 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46731
46732         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
46733         no longer needed.
46734         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
46735         * m4/getdate.m4 (gl_GETDATE): Likewise.
46736         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46737         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46738         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46739         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46740         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46741
46742 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46743
46744         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
46745         All uses of is_space replaced by isspace.
46746         * lib/exit.h: Don't talk about STDC_HEADERS.
46747         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
46748         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
46749         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
46750         replaced by isprint etc.
46751         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
46752         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46753         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
46754         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
46755         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
46756         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46757
46758 2006-07-05  Bruno Haible  <bruno@clisp.org>
46759
46760         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
46761         the function exists, before testing against AIX.
46762         Reported by Martin Lambers <marlam@marlam.de>.
46763
46764 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46765
46766         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
46767         From Mark D. Baushke.
46768
46769 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46770
46771         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
46772         to the absolute name, not just one, to bypass Sun C 5.8's
46773         "warning: #include of /usr/include/... may be non-portable".
46774
46775 2006-07-04  Eric Blake  <ebb9@byu.net>
46776
46777         * modules/dirname-tests: New test module.
46778         * tests/test-dirname.c: New file, replacing dirname.c
46779         TEST_DIRNAME section that was recently deleted.
46780
46781 2006-07-04  Bruno Haible  <bruno@clisp.org>
46782
46783         Assume ANSI C header files and <ctype.h> functions.
46784         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
46785         (mbsnwidth): Use isprint, iscntrl instead.
46786
46787 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46788
46789         Merge from coreutils.
46790         * MODULES.html.sh: Add xstrtold.
46791         * modules/xstrtold: New file.
46792         * modules/cycle-check (Files): Add lib/same-inode.h.
46793         * modules/dirname (Files): Add m4/double-slash-root.m4.
46794         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
46795         * modules/mkdir-p (Files): Add lib/same-inode.h.
46796         * modules/same (Files): Add lib/same-inode.h.
46797
46798 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46799
46800         * m4/absolute-header.m4: Renamed from full-header-path.m4.
46801         This is to keep the terminology clean; POSIX talks about
46802         "absolute pathnames", not "full pathnames", but the GNU
46803         Coding Standards say to use "path" for something else;
46804         so use "absolute" to keep both sides happy.
46805         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
46806         Set gl_absolute_header, not gl_full_header_path.
46807         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
46808         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
46809         All uses changed.
46810
46811         Merge from coreutils.
46812
46813         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46814
46815         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
46816         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
46817         want to require the building of c-strtod.o.
46818         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
46819         needs -lm directly.
46820         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
46821
46822         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46823
46824         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
46825         --as-needed option if available.  Problem reported by Albert Chin in
46826         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
46827         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
46828         cc merely issues a bunch of annoying warnings for --as-needed
46829         (this problem was reported by Bob Proulx).  Also, try linking with
46830         -lm to detect a bug in binutils 2.16 (this problem was reported
46831         by Ralf Wildenhues).
46832
46833         2006-06-18  Jim Meyering  <jim@meyering.net>
46834
46835         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
46836         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
46837         macro.
46838         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
46839         also check for glibc-2.4's abort-inducing bug.
46840
46841         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
46842         Low-probability clean-up should be to use rmdir to get rid of
46843         the just-created directory, not unlink.
46844
46845         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
46846         configure fail, and request a bug report to inform us about it.
46847         Add a comment that, barring reports to the contrary, in 2007 we'll
46848         assume ftruncate is universally available.
46849
46850         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
46851
46852         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
46853
46854         2006-03-12  Jim Meyering  <jim@meyering.net>
46855
46856         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
46857         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
46858         * m4/same.m4 (gl_SAME): Likewise.
46859         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
46860
46861         2006-03-11  Eric Blake  <ebb9@byu.net>
46862
46863         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
46864         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
46865         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
46866         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
46867
46868 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46869
46870         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
46871         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
46872         reported by Mark D. Baushke, one in
46873         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
46874
46875         Merge from coreutils.
46876
46877         * lib/.cppi-disable: Add stdint_.h.
46878         * lib/.cvsignore: Add stdint.h.
46879
46880         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46881
46882         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
46883         both double and long double versions.
46884         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
46885         * lib/xstrtold.c: New file.
46886         * lib/xstrtod.h (xstrtold): New decl.
46887
46888         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
46889
46890         * lib/filemode.c (setst): Remove.
46891         (strmode): Rewrite to avoid setst.  This makes the code shorter,
46892         (arguably) clearer, and the generated code is a bit smaller on my
46893         Debian GNU/Linux stable x86 host.
46894
46895         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
46896
46897         * lib/filemode.c: Include "filemode.h" first, to test the interface.
46898         Assume that filemode.h includes sys/types.h and sys/stat.h.
46899         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
46900         (ftypelet): Reorder to put common cases first, for efficiency.
46901         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
46902         to do 'M'.
46903         (strmode): Renamed from mode_string, and now stores 12 bytes instead
46904         of 10, for compatibility with FreeBSD.  All callers changed.
46905         (filemodestring): Now stores 12 bytes instead of 10, and sets file
46906         types that can't be deduced solely from st_mode.  First arg is now a
46907         const pointer.
46908         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
46909         (strmode): Renamed from mode_string.
46910         (filemodestring): New decl.
46911         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
46912         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
46913         needed.
46914         (S_ISPORT, S_ISWHT): New macros, if not already defined.
46915
46916         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
46917
46918         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
46919         fsusage.h now does that.  Include fsusage.h first, to test interface.
46920         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
46921         at most one method (the old code could have generated decls that
46922         didn't conform to C89, not that this was ever exercised).
46923         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
46924
46925         2006-03-19  Jim Meyering  <jim@meyering.net>
46926
46927         Work even in a chroot where d_ino values for entries in "/"
46928         don't match the stat.st_ino values for the same names.
46929         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
46930         number, iterate through all entries again, using lstat instead.
46931         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
46932         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
46933
46934         * lib/getcwd.c (__getcwd): Clarify a comment.
46935         Use memcpy in place of a call to strcpy.
46936
46937         2006-03-12  Jim Meyering  <jim@meyering.net>
46938
46939         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
46940         matches that of the current directory (which we're about to chdir ".."
46941         out of), then save the dev-ino of the parent, instead.
46942
46943         * lib/same-inode.h (SAME_INODE): New file/macro.
46944         * lib/chdir-safer.c (SAME_INODE): Remove definition.
46945         Include "same-inode.h", instead.
46946         * lib/same.c: Likewise.
46947         * lib/cycle-check.h: Include "same-inode.h".
46948         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
46949         * lib/cycle-check.c (SAME_INODE): Remove definition.
46950         * lib/root-dev-ino.h: Include "same-inode.h".
46951
46952         2006-03-11  Eric Blake  <ebb9@byu.net>
46953
46954         * lib/same.c (same_name): s/base_name/last_component/
46955         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
46956         * lib/filenamecat.c (file_name_concat): Likewise.
46957
46958         2006-03-11  Eric Blake  <ebb9@byu.net>,
46959                     Paul Eggert  <eggert@cs.ucla.edu>
46960
46961         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
46962         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
46963         drive prefix.
46964         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
46965         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
46966         (last_component): New method.
46967         * lib/dirname.c (dir_len): Determine when drive letters need a
46968         subsequent slash.  Preserve // when it is special.
46969         (dir_name): Don't append dot when drive letter is absolute.
46970         [TEST_DIRNAME]: Move into a full-blown gnulib test.
46971         * lib/basename.c (base_name): New semantics - malloc the result.
46972         Preserve // when it is special.  Preserve relative files that look
46973         like drive letters.
46974         (base_len): Preserve // when it is special.
46975         (last_component): New method, similar to old base_name semantics.
46976         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
46977         base_name.  Strip redundant slashes from ///.
46978
46979 2006-07-03  Jim Meyering  <jim@meyering.net>
46980
46981         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
46982         macro is used before the first cycle_check call.
46983
46984 2006-07-03  Eric Blake  <ebb9@byu.net>
46985
46986         * modules/dirname (Depends-on): Add xstrndup.
46987
46988 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46989
46990         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
46991         test cases, so that config.log is a bit easier to follow.
46992
46993 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46994
46995         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
46996         both are 64 bits, since this seems to be the tradition, and this
46997         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
46998         we ever run into a host that prefers long long to long in this
46999         case, we'll need another configure-time test.  Problem reported by
47000         Jim Meyering.
47001
47002 2006-07-02  Eric Blake  <ebb9@byu.net>
47003
47004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
47005
47006 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47007
47008         * modules/inttypes (Depends-on): No longer depends on stdint.
47009         * modules/stdint (Description): Say more about assumptions.
47010         Say that the fast types might differ.  Say macros are used.
47011         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
47012         (Makefile.am): Revise list of substituted symbols to match
47013         new stdint.m4.
47014         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
47015         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
47016         * tests/test-stdint.c (verify_same_types)
47017         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
47018         the code conforms to C99/C89.
47019         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
47020         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
47021
47022 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47023
47024         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
47025         but fix a bug, by requiring at least 64 bits.
47026         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
47027         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
47028         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
47029         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
47030
47031         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
47032         changes.  Make 2.59 a prerequisite.  Check and substitute for
47033         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
47034         inttypes.h.  Do not use special include files; just use the
47035         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
47036         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
47037         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
47038         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
47039         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
47040         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
47041         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
47042         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
47043         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
47044         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
47045         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
47046         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
47047         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
47048         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
47049         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
47050         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
47051         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
47052         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
47053         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
47054         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
47055         WINT_MAX.  Check for C99 conformance more strictly, by detecting
47056         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
47057         not check for things that C99 does not require, e.g., int8_t.  If
47058         a test isn't needed unless <stdint.h> isn't working, and is
47059         unlikely to be needed for any other reason, then don't do it
47060         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
47061         size_t, since we assume C89 freestanding at least.  Do not check
47062         for sig_atomic_t, wchar_t, or wint_t, since the code now does
47063         the right thing even if the types are not defined.  Instead use:
47064         (gl_STDINT_TYPE_PROPERTIES): New macro.
47065         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
47066         testing whether <sys/types.h> clashes, as Autoconf does this for
47067         us now.  All uses removed.
47068         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
47069         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
47070         (gl_CHECK_TYPE_SAME):
47071         Remove; no longer needed.
47072         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
47073         exists, since we'll return 0 anyway in that case.
47074         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
47075
47076 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
47077
47078         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
47079         possible collision with system files.
47080         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
47081         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
47082         WCHAR_MIN and WCHAR_MAX in this case.
47083         (<stddef.h>): Do not include; no longer needed.
47084         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
47085         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
47086         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
47087         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
47088         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
47089         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
47090         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
47091         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
47092         !defined(__c99))]: Include in this case too, since it's harmless
47093         now.
47094         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
47095         dangerous to do so.
47096         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
47097         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
47098         (_STDINT_MIN, _STDINT_MAX): New macros.
47099         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
47100         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
47101         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
47102         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
47103         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
47104         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
47105         macros, not typedefs; this simplifies things quite a bit.
47106         Use long int for all types narrower than int64_t.
47107         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
47108         Define in terms of long long int or int64_t or long int,
47109         not int64_t or int32_t.  This saves some compile-time testing.
47110         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
47111         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
47112         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
47113         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
47114         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
47115         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
47116         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
47117         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
47118         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
47119         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
47120         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47121         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47122         undef any previous version and define our own version, for
47123         simplicity and consistency with the new macros for types.
47124         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
47125         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
47126         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
47127         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
47128         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
47129         @WINT_T_SUFFIX@ to keep things simple here.
47130         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
47131         Simplify by assuming typical 8/16/32/64 host, since we're
47132         already doing that elsewhere anyway.
47133         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
47134         and assume long long int is 64 bits if available.  This
47135         speeds up 'configure'.
47136
47137 2006-07-01  Eric Blake  <ebb9@byu.net>
47138
47139         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
47140         Reported by Andreas Buening.
47141
47142 2006-07-01  Eric Blake  <ebb9@byu.net>
47143
47144         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
47145
47146 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
47147
47148         * lib/getaddrinfo.c: fixed typo
47149
47150 2006-06-29  Jim Meyering  <jim@meyering.net>
47151
47152         * modules/strftime (Maintainer): Add my name, since with the
47153         FPRINTFTIME changes strftime.c has forked from glibc.
47154
47155 2006-06-29  Eric Blake  <ebb9@byu.net>
47156
47157         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
47158
47159 2006-06-29  Eric Blake  <ebb9@byu.net>
47160
47161         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
47162
47163 2006-06-29  Eric Blake  <ebb9@byu.net>
47164
47165         * lib/stat_.h: New file.
47166
47167 2006-06-29  Eric Blake  <ebb9@byu.net>
47168
47169         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
47170         unused static function.
47171
47172 2006-06-29  Eric Blake  <ebb9@byu.net>
47173
47174         * doc/functions.texi (Function Portability): Document missing lstat
47175         on mingw.
47176
47177 2006-06-29  Eric Blake  <ebb9@byu.net>
47178
47179         * MODULES.html.sh: Add sys_stat.
47180         * modules/sys_stat: New module.
47181         * modules/mkstemp (Depends-on): Add sys_stat.
47182
47183 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47184
47185         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
47186
47187 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47188
47189         * m4/c-bs-a.m4: Removed.
47190
47191 2006-06-29  Derek R. Price  <derek@ximbiot.com>
47192
47193         * lib/strftime.c: Assume strftime() exists.
47194
47195 2006-06-29  Derek Price  <derek@ximbiot.com>
47196
47197         * modules/c-bs-a: Removed - \a is C89.
47198         * MODULES.html.sh: Remove c-bs-a.
47199
47200 2006-06-29  Bruno Haible  <bruno@clisp.org>
47201
47202         * modules/wcwidth (License): Change to LGPL.
47203
47204 2006-06-28  Simon Josefsson  <jas@extundo.com>
47205
47206         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
47207         on _WIN32.
47208
47209         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
47210         getnameinfo.
47211
47212 2006-06-28  Simon Josefsson  <jas@extundo.com>
47213
47214         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
47215
47216 2006-06-28  Simon Josefsson  <jas@extundo.com>
47217
47218         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
47219         functions there.  It will succeed on Windows XP, but on Windows
47220         2000 and (presumably) earlier, it will fail, and use the internal
47221         re-implementation.
47222         (use_win32_p): New function.
47223         (getaddrinfo): Use strtoul on servname, to support numeric ports.
47224         Support AI_NUMERICSERV to disable getservbyname.
47225         (getnameinfo): New function, only supports
47226         NI_NUMERICHOST|NI_NUMERICSERV for now.
47227
47228         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
47229         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
47230         getnameinfo.
47231
47232 2006-06-28  Eric Blake  <ebb9@byu.net>
47233
47234         * modules/wcwidth: New file.
47235         * modules/mbchar (Depends-on): Add wcwidth.
47236         * modules/mbswidth (Depends-on): Add wcwidth.
47237         * MODULES.html.sh: Add wcwidth.
47238
47239 2006-06-28  Eric Blake  <ebb9@byu.net>
47240
47241         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
47242         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
47243
47244 2006-06-28  Eric Blake  <ebb9@byu.net>
47245
47246         * lib/xvasprintf.h: Fix comments.
47247
47248 2006-06-28  Eric Blake  <ebb9@byu.net>
47249
47250         * lib/mbchar.h (wcwidth): Include wcwidth.h.
47251         * lib/mbswidth.c (wcwidth): Move from here...
47252         * lib/wcwidth.h: ...to this new file.
47253
47254 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47255
47256         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
47257
47258         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
47259         it's obsolete.
47260         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
47261
47262 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47263
47264         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
47265         Autoconf 2.60 says this stuff was obsolete.
47266
47267 2006-06-28  Bruno Haible  <bruno@clisp.org>
47268
47269         * modules/wcwidth (Files): Add m4/wchar_t.m4.
47270
47271 2006-06-28  Bruno Haible  <bruno@clisp.org>
47272
47273         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
47274         gt_TYPE_WCHAR_T.
47275
47276 2006-06-28  Bruno Haible  <bruno@clisp.org>
47277
47278         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
47279         declaration for wcwidth.
47280         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
47281
47282 2006-06-28  Bruno Haible  <bruno@clisp.org>
47283
47284         * lib/mkdtemp.c [MINGW]: Include <io.h>.
47285         (mkdir): Define using _mkdir.
47286
47287 2006-06-28  Bruno Haible  <bruno@clisp.org>
47288
47289         * lib/getaddrinfo.h: Fix POSIX URL.
47290         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
47291         _WIN32.
47292         (use_win32_p): Make static.
47293         (getaddrinfo): Reject service name if it is empty or does not consist
47294         solely of decimal digits, or if its value is > 65535.
47295         (getnameinfo): Remove useless casts.
47296
47297 2006-06-27  Simon Josefsson  <jas@extundo.com>
47298
47299         * modules/sys_select: New file, suggested by Bruno Haible, Paul
47300         Eggert and Martin Lambers.
47301
47302 2006-06-27  Simon Josefsson  <jas@extundo.com>
47303
47304         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
47305         Eggert and Martin Lambers.
47306
47307 2006-06-27  Bruno Haible  <bruno@clisp.org>
47308
47309         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
47310         result to 0, not to empty.
47311         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
47312
47313 2006-06-27  Bruno Haible  <bruno@clisp.org>
47314
47315         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
47316
47317 2006-06-26  Simon Josefsson  <jas@extundo.com>
47318
47319         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
47320         present.
47321
47322 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47323
47324         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
47325         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
47326         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
47327
47328 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
47329
47330         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
47331
47332 2006-06-26  Bruno Haible  <bruno@clisp.org>
47333
47334         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
47335
47336 2006-06-26  Bruno Haible  <bruno@clisp.org>
47337
47338         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
47339
47340 2006-06-26  Bruno Haible  <bruno@clisp.org>
47341
47342         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
47343         SGI C compiler in pre-C99 mode.
47344         Suggested by Mark D. Baushke and Larry Jones.
47345
47346 2006-06-26  Bruno Haible  <bruno@clisp.org>
47347
47348         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
47349         WCHAR_MAX.
47350         Reported by Mark D. Baushke and Larry Jones.
47351
47352 2006-06-26  Bruno Haible  <bruno@clisp.org>
47353
47354         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
47355         in pre-C99 mode.
47356         Suggested by Mark D. Baushke and Larry Jones.
47357
47358 2006-06-23  Simon Josefsson  <jas@extundo.com>
47359             Bruno Haible  <bruno@clisp.org>
47360
47361         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
47362         Emit mostlyclean-local rule.
47363         (func_emit_tests_Makefile_am): Likewise.
47364         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
47365
47366 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
47367
47368         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
47369
47370 2006-06-23  Bruno Haible  <bruno@clisp.org>
47371
47372         * tests/test-stdint.c: Update to match ISO C 99 Technical
47373         Corrigendum 1.
47374
47375 2006-06-23  Bruno Haible  <bruno@clisp.org>
47376
47377         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
47378
47379 2006-06-23  Bruno Haible  <bruno@clisp.org>
47380
47381         * lib/stdint_.h: Treat IRIX like OpenBSD.
47382
47383 2006-06-23  Bruno Haible  <bruno@clisp.org>
47384
47385         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
47386         ISO C 99 Technical Corrigendum 1.
47387
47388 2006-06-22  Simon Josefsson  <jas@extundo.com>
47389
47390         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
47391         MinGW.
47392
47393 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47394
47395         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
47396         needed.  Some compiler complained about some of them.  Problem reported
47397         by Larry Jones in
47398         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
47399
47400 2006-06-21  Simon Josefsson  <jas@extundo.com>
47401
47402         * tests/test-getaddrinfo.c: New file.
47403
47404         * modules/getaddrinfo-tests: New file.
47405
47406         * MODULES.html.sh: Add inet_pton.
47407
47408         * modules/inet_pton: New file.
47409
47410 2006-06-21  Simon Josefsson  <jas@extundo.com>
47411
47412         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
47413         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
47414         of using the (limited) gnulib implementation on Windows XP.
47415
47416         * m4/inet_pton.m4: New file.
47417
47418 2006-06-21  Simon Josefsson  <jas@extundo.com>
47419
47420         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
47421         variable.
47422
47423         * lib/socket_.h: Don't define WINVER.
47424
47425         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
47426         slightly modified to work in gnulib.
47427
47428 2006-06-21  Simon Josefsson  <jas@extundo.com>
47429
47430         * doc/gnulib.texi (Windows sockets): Add.
47431
47432 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47433
47434         * lib/read-file.c (fread_file): Start with buffer allocation of
47435         0 bytes rather than 1 byte; this simplifies the code.
47436         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
47437         code to free buffer and save/restore errno.
47438         (internal_read_file): Remove unused local.
47439
47440 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47441
47442         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
47443         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
47444         Problem reported by Denis Excoffier in
47445         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
47446
47447 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47448
47449         * modules/sys_socket, modules/socklen: Include sys/types since
47450         FreeBSD 4.x's sys/socket.h needs it.
47451
47452 2006-06-19  Simon Josefsson  <jas@extundo.com>
47453
47454         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
47455
47456 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47457
47458         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
47459
47460 2006-06-19  Bruno Haible  <bruno@clisp.org>
47461
47462         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
47463         and FULL_PATH_INTTYPES_H in angle brackets.
47464         Reported by Mark D. Baushke <mdb@gnu.org>.
47465
47466 2006-06-17  Eric Blake  <ebb9@byu.net>
47467
47468         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
47469         errno.
47470
47471 2006-06-17  Bruno Haible  <bruno@clisp.org>
47472
47473         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
47474         <sys/inttypes.h>.
47475
47476 2006-06-17  Bruno Haible  <bruno@clisp.org>
47477
47478         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
47479         whether errno is declared. Assume <errno.h> declares errno.
47480
47481 2006-06-17  Bruno Haible  <bruno@clisp.org>
47482
47483         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
47484
47485 2006-06-17  Bruno Haible  <bruno@clisp.org>
47486
47487         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
47488         problem on Solaris 2.5.1.
47489
47490 2006-06-16  Eric Blake  <ebb9@byu.net>
47491
47492         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
47493         * lib/unicodeio.c [!defined errno]: Likewise.
47494         * lib/strtol.c [!defined errno]: Likewise.
47495         * lib/strtod.c [!defined errno]: Likewise.
47496
47497 2006-06-15  Eric Blake  <ebb9@byu.net>
47498
47499         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
47500
47501 2006-06-15  Eric Blake  <ebb9@byu.net>
47502
47503         * config/srclist.txt (ssize_t.m4): Lose sync.
47504
47505 2006-06-15  Bruno Haible  <bruno@clisp.org>
47506
47507         * modules/stdint (Files): Include m4/full-header-path.m4,
47508         m4/size_max.m4, m4/wchar_t.m4.
47509         (Makefile.am): Many more substitutions.
47510         * modules/stdint-tests: New file.
47511         * tests/test-stdint.c: New file.
47512
47513 2006-06-15  Bruno Haible  <bruno@clisp.org>
47514
47515         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
47516         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
47517         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
47518         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
47519         gl_CHECK_TYPE_SAME): New macros.
47520
47521 2006-06-15  Bruno Haible  <bruno@clisp.org>
47522
47523         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
47524
47525 2006-06-15  Bruno Haible  <bruno@clisp.org>
47526
47527         * lib/stdint_.h: Rewritten to be fully auto-configured.
47528         Fixes bug on HP-UX/IA64.
47529
47530 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
47531
47532         * lib/getdate.y (__attribute__): Don't define if already defined.
47533         Problem reported by Larry Jones.
47534         * lib/utimens.c (__attribute__): Likewise.
47535
47536 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
47537
47538         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
47539         reported by Andreas Schwab.
47540
47541 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47542             Bruno Haible  <bruno@clisp.org>
47543
47544         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
47545         check for the declaration of strnlen and a run test that exposes the
47546         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
47547         rpl_strndup.
47548
47549 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47550             Bruno Haible  <bruno@clisp.org>
47551
47552         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
47553
47554 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47555
47556         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
47557         compile test, for Tru64 4.0D.
47558
47559 2006-05-28  Karl Berry  <karl@gnu.org>
47560
47561         * config/srclist.txt (printf-args.c): lose sync.
47562
47563 2006-05-26  Martin Lambers  <marlam@marlam.de>
47564
47565         * lib/getpass.c: Updates the test for the native W32 API, and adds
47566         missing includes, thus fixing compilation warnings.
47567
47568 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47569
47570         * lib/exclude.c (exclude_fnmatch): New function.
47571         (excluded_file_name): Call exclude_fnmatch.
47572         * lib/exclude.h (excluded_file_name): New prototype
47573
47574 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
47575
47576         * lib/tempname.c (small_open, large_open): New macros.
47577         (__open, __open64) [!_LIBC]: Remove.
47578         (__gen_tempname): Use small_open and large_open instead of __open
47579         and __open64.  This fixes a portability bug on HP-UX 11.11i
47580         reported by Simon Wing-Tang in
47581         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
47582
47583 2006-05-24  Bruno Haible  <bruno@clisp.org>
47584
47585         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
47586         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
47587         Reported by Thorsten Maerz <torte@netztorte.de> via
47588         Aaron Stone <aaron@serendipity.cx>.
47589
47590 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47591
47592         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
47593         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
47594         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
47595         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
47596         not really conditional on the cache.
47597         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
47598
47599 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47600
47601         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
47602         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
47603         (my_usleep): Don't mishandle maximum value.
47604
47605 2006-05-19  Jim Meyering  <jim@meyering.net>
47606
47607         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
47608
47609 2006-05-17  Bruno Haible  <bruno@clisp.org>
47610
47611         Cygwin portability.
47612         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
47613
47614 2006-05-17  Bruno Haible  <bruno@clisp.org>
47615
47616         * lib/stdint_.h: Fix recognition of Cygwin.
47617
47618 2006-05-15  Bruno Haible  <bruno@clisp.org>
47619
47620         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
47621         on libtool patch by Ralf Wildenhues.
47622
47623 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47624
47625         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
47626         test for C99 conformance; (bool) 0.5 is an integer constant
47627         expression, but (bool) -0.5 is not.  Problem reported by Fedor
47628         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
47629
47630 2006-05-11  Simon Josefsson  <jas@extundo.com>
47631
47632         * m4/xvasprintf.m4: Fix obvious typo.
47633
47634 2006-05-11  Jim Meyering  <jim@meyering.net>
47635
47636         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
47637         James Lemley.
47638
47639 2006-05-10  Simon Josefsson  <jas@extundo.com>
47640
47641         * lib/md4.c: Typo fix, update copyright years.
47642         (K1, K2): Don't use L because it turn computations into 64-bit on
47643         64-bit platforms.
47644
47645 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
47646
47647         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
47648         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
47649         unwanted sign propagation, e.g., on hosts with 64-bit int.
47650         There still are some problems with reeelly weird theoretical hosts
47651         (e.g., 33-bit int) but it's not worth worrying about now.
47652         * lib/sha1.c (rol): Likewise.
47653         (K1, K2, K3, K4): Remove unnecessary L suffix.
47654
47655 2006-05-10  Bruno Haible  <bruno@clisp.org>
47656
47657         * lib/des.c: Cast to avoid warnings.
47658
47659 2006-05-09  Bruno Haible  <bruno@clisp.org>
47660
47661         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
47662         (Depends-on): Depend also on xsize, stdarg.
47663         (configure.ac): Add gl_XVASPRINTF.
47664
47665 2006-05-09  Bruno Haible  <bruno@clisp.org>
47666
47667         * m4/xvasprintf.m4: New file.
47668
47669 2006-05-09  Bruno Haible  <bruno@clisp.org>
47670
47671         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
47672         (EOVERFLOW): Define fallback value.
47673         (xstrcat): New function.
47674         (xvasprintf): Recognize the special case of a string concatenation.
47675
47676 2006-05-08  Eric Blake  <ebb9@byu.net>
47677
47678         * gnulib-tool (func_version): Base copyright year on CVS date.
47679         (func_emit_copyright_notice): New function.
47680         (func_emit_lib_Makefile_am): Use it.
47681         (func_emit_tests_Makefile_am): Likewise.
47682         (func_import): Likewise.
47683
47684 2006-05-08  Bruno Haible  <bruno@clisp.org>
47685
47686         * modules/stdarg: New file.
47687         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
47688
47689 2006-05-08  Bruno Haible  <bruno@clisp.org>
47690
47691         * m4/stdarg.m4: New file, from GNU gettext.
47692
47693 2006-05-08  Bruno Haible  <bruno@clisp.org>
47694
47695         * config/srclist.txt (build-aux/config.rpath): different from latest
47696         release.
47697
47698 2006-05-08  Bruno Haible  <bruno@clisp.org>
47699
47700         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
47701
47702 2006-05-05  Jim Meyering  <jim@meyering.net>
47703
47704         * m4/warning.m4: New file, derived from bison's file by the same name.
47705
47706 2006-05-03  Bruno Haible  <bruno@clisp.org>
47707
47708         * lib/stdint_.h: Shorter URL.
47709         * lib/inttypes.h: Likewise.
47710
47711 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47712
47713         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
47714
47715 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47716
47717         * lib/verify.h: Document the internals better.  Most of this change
47718         was written by Bruno Haible.
47719
47720 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47721
47722         * doc/verify.texi: New file, partly based on a proposal by
47723         Bruno Haible.
47724
47725 2006-05-02  Bruno Haible  <bruno@clisp.org>
47726
47727         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
47728         test from here...
47729         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
47730
47731 2006-04-29  Bruno Haible  <bruno@clisp.org>
47732
47733         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
47734         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
47735
47736 2006-04-29  Bruno Haible  <bruno@clisp.org>
47737
47738         * gnulib-tool: Make --update option actually work.
47739
47740 2006-04-29  Bruno Haible  <bruno@clisp.org>
47741
47742         * doc/gcd.texi: New file.
47743         * doc/gnulib.texi: Include it.
47744
47745 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
47746
47747         * lib/getdate.y (get_date): When adding relative date, start with the
47748         initial time, not with the result of the first mktime call.
47749
47750 2006-04-25  Bruno Haible  <bruno@clisp.org>
47751
47752         * gnulib-tool (func_import): Output the include directives in three
47753         blocks, sorted separately.
47754         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47755
47756 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47757
47758         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
47759         to define main with arguments, for C++.  Reported by Eric Blake.
47760         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
47761         Prefer 'int main ()' to 'int main (void)', for C++.
47762         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47763         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
47764         for 'main', for C99 and C++.
47765
47766 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47767
47768         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
47769         Don't assume that exit status -1 is valid.
47770         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47771         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47772         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
47773         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
47774         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
47775         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
47776         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
47777         functions can be used without declaring them, or that you can
47778         exit with status -1.
47779         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
47780
47781 2006-04-24  Karl Berry  <karl@gnu.org>
47782
47783         * config/srclist.txt (longdouble.m4): sync lost.
47784
47785 2006-04-24  Eric Blake  <ebb9@byu.net>
47786
47787         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
47788
47789 2006-04-24  Bruno Haible  <bruno@clisp.org>
47790
47791         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
47792         poll() implementation in AIX.
47793         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47794
47795 2006-04-24  Bruno Haible  <bruno@clisp.org>
47796
47797         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
47798         assigned exactly once.
47799
47800 2006-04-23  Claudio Fontana  <claudio@gnu.org>
47801             Bruno Haible  <bruno@clisp.org>
47802
47803         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
47804         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
47805         for AM_CPPFLAGS.
47806
47807 2006-04-23  Bruno Haible  <bruno@clisp.org>
47808
47809         * modules/copy-file: Depend on unistd.
47810         * modules/execute: Likewise.
47811         * modules/fatal-signal: Likewise.
47812         * modules/findprog: Likewise.
47813         * modules/mkdtemp : Likewise.
47814         * modules/pipe: Likewise.
47815         * modules/wait-process: Likewise.
47816
47817 2006-04-23  Bruno Haible  <bruno@clisp.org>
47818
47819         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
47820         condition was already detected.
47821         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47822
47823 2006-04-23  Bruno Haible  <bruno@clisp.org>
47824
47825         * lib/copy-file.c: Include <unistd.h> unconditionally.
47826         * lib/execute.c: Likewise.
47827         * lib/fatal-signal.c: Likewise.
47828         * lib/findprog.c: Likewise.
47829         * lib/mkdtemp.c: Likewise.
47830         * lib/pipe.h: Likewise.
47831         * lib/pipe.c: Likewise.
47832         * lib/wait-process.h: Likewise.
47833
47834 2006-04-23  Bruno Haible  <bruno@clisp.org>
47835
47836         * gnulib-tool (func_usage): Fix --import description. Document
47837         --update.
47838         (func_import): Create temporary file in a temporary directory, if
47839         --dry-run is specified. Silence errors from 'grep' when there are no
47840         m4 files in $m4dir.
47841         (func_create_testdir): Silence errors from 'grep' when there are no
47842         m4 files in $m4dir.
47843         Reported by Karl Berry <karl@freefriends.org>.
47844
47845 2006-04-20  Bruno Haible  <bruno@clisp.org>
47846
47847         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
47848         one argument, so that the code will be portable to Autoconf 2.60.
47849         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
47850         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
47851         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
47852
47853 2006-04-19  Derek Price  <derek@ximbiot.com>
47854             Eric Blake  <ebb9@byu.net>
47855
47856         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
47857         rather than "/full/path.h".  Update comment to match.  Shorten &
47858         generalize m4_translit call via AS_TR_CPP.
47859
47860 2006-04-19  Derek Price  <derek@ximbiot.com>
47861             Eric Blake  <ebb9@byu.net>
47862
47863         * lib/inttypes.h: Correct grammar in comment.
47864
47865 2006-04-18  Derek Price  <derek@ximbiot.com>
47866             Paul Eggert  <eggert@cs.ucla.edu>
47867
47868         * modules/inttypes: New file.
47869         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
47870
47871 2006-04-18  Derek Price  <derek@ximbiot.com>
47872             Paul Eggert  <eggert@cs.ucla.edu>
47873
47874         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
47875         New files.
47876
47877 2006-04-18  Derek Price  <derek@ximbiot.com>
47878             Paul Eggert  <eggert@cs.ucla.edu>
47879
47880         * lib/inttypes.h: New file.
47881         * lib/strtoimax.c: Assume <inttypes.h>.
47882
47883 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
47884
47885         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
47886         isn't mounted.  Problem reported by Kir Kolyshkin.
47887
47888 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47889
47890         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
47891         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
47892         Derek R. Price.
47893         * lib/regex.h (RE_DUP_MAX): Update comment to match current
47894         implementation.
47895
47896 2006-04-12  Eric Blake  <ebb9@byu.net>
47897
47898         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
47899         is now done automatically by the corresponding Autoconf macro.
47900
47901 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47902
47903         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
47904         time_r.h.
47905
47906 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47907
47908         Merge regex changes from libc, removing some of our
47909         POSIX-conformance changes that were rejected and redoing them in a
47910         less-intrusive way.
47911
47912         * lib/regcomp.c (re_compile_internal, init_dfa):
47913         Length arg is now size_t, not Idx.  All uses changed.
47914         (peek_token): Forward decl now says internal_function.
47915         (__re_error_msgid, __re_error_msgid_idx):
47916         Now static rather than extern with attribute_hidden.
47917         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
47918         For some reason libc prefers K&R style defns for external functions.
47919         (regerror) [!defined _LIBC]: Likewise.
47920         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
47921         (seek_collating_symbol_entry, lookup_collation_sequence_value):
47922         (build_range_exp, build_collating_symbol):
47923         Use K&R-style defn.
47924         (re_compile_fastmap): Use '\0' to memset, not 0.
47925         (utf8_sb_map): Make the calculations more obvious.
47926         (init_dfa, parse_bracket_exp, build_charclass_op):
47927         Call calloc and cast result, as glibc does.
47928         (init_word_char, fetch_token, peek_token, peek_token_bracket):
47929         (build_range_exp, build_collating_symbol):
47930         Now internal functions.
47931
47932         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
47933
47934         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
47935         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
47936         Don't depend on VMS; depend on __VMS instead, for POSIX
47937         namespace cleanness.
47938         (regoff_t): Define to ssize_t, not long int.
47939
47940         Remove the REG_ macros named below.  Instead, make the old names
47941         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
47942         __USE_GNU_REGEX.
47943         (REG_BACKSLASH_ESCAPE_IN_LISTS):
47944         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
47945         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
47946         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
47947         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
47948         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
47949         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
47950         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
47951         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
47952         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
47953         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
47954         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
47955         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
47956         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
47957         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
47958         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
47959         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
47960         (REG_NREGS):
47961         Remove.  All uses replaced by the old RE_* names.
47962         (RE_BACKSLASH_ESCAPE_IN_LISTS):
47963         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
47964         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
47965         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
47966         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
47967         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
47968         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
47969         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
47970         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
47971         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
47972         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
47973         Don't bother having these macros be independent of each others'
47974         values, since they no longer exist in the POSIX name space.
47975
47976         Rename the following member names back to their old names,
47977         unless !__USE_GNU_REGEX.  All uses changed back.
47978         (buffer): Renamed from re_buffer.
47979         (allocated): Renamed from re_allocated.
47980         (used): Renamed from re_used.
47981         (syntax): Renamed from re_syntax.
47982         (fastmap): Renamed from re_fastmap.
47983         (translate): Renamed from re_translate.
47984         (can_be_null): Renamed from re_can_be_null.
47985         (regs_allocated): Renamed from re_regs_allocated.
47986         (fastmap_accurate): Renamed from re_fastmap_accurate.
47987         (no_sub): Renamed from re_no_sub.
47988         (not_bol): Renamed from re_not_bol.
47989         (not_eol): Renamed from re_not_eol.
47990         (newline_anchor): Renamed from re_newline_anchor.
47991         (num_regs): Renamed from rm_num_regs.
47992         (start): Renamed from rm_start.
47993         (end): Renamed from rm_end.
47994
47995         (free_state): Move up a bit.
47996
47997         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
47998         #define to be empty.
47999         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
48000         when that is what is intended.
48001         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
48002         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
48003         (MAX): New macro.
48004         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
48005         All uses changed back to re_malloc, etc.  It's now the caller's
48006         responsibility to check for overflow; all callers changed.
48007         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
48008         (re_x2nrealloc): Remove.
48009         (free_state): Remove decl.
48010
48011         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
48012         (re_set_registers, re_exec):
48013         Use K&R-style defn.
48014
48015         2006-01-31  Roland McGrath  <roland@redhat.com>
48016
48017         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
48018         Reported by Mike Frysinger <vapier@gentoo.org>.
48019
48020         2006-01-15  Andreas Jaeger  <aj@suse.de>
48021
48022         [BZ #1950]
48023         * lib/regex_internal.c (re_string_reconstruct): Adjust for
48024         build_wcs_upper_buffer change.
48025         (build_wcs_upper_buffer): Change return type.
48026
48027         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
48028
48029         * lib/regex_internal.h: Include <stdint.h> if available.
48030
48031         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
48032
48033         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
48034
48035         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48036
48037         * lib/regcomp.c: Adjust for changed secondary hash function.
48038
48039         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
48040
48041         * lib/regex.h: Pretty printing.
48042         Clean up namespace a bit.
48043
48044         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
48045
48046         * lib/regexec.c (update_cur_sifted_state, check_arrival,
48047         check_arrival_add_next_nodes): Avoid using uninitialized variable.
48048
48049         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48050                     Ulrich Drepper  <drepper@redhat.com>
48051
48052         [BZ #1302]
48053         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
48054         changed.
48055         (bitset_word_t): Renamed from bitset_word.  All uses changed.
48056
48057         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
48058
48059         [BZ #281]
48060         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
48061         * lib/regcomp.c: Remove unnecessary uses of
48062         unsigned RE_TRANSLATE_TYPE.
48063         * lib/regex_internal.h: Likewise.
48064         * lib/regex_internal.c: Likewise.
48065         * lib/regexec.c: Likewise.
48066         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
48067
48068         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
48069
48070         * lib/regexec.c (find_recover_state): Remove unnecessary
48071         initialization.
48072         (transit_state_bkref): Make DFA a const pointer.
48073         (get_subexp): Likewise.
48074         (check_arrival): Likewise.
48075         (update_cur_sifted_state): Likewise.
48076         (re_search_internal): Likewise.
48077         (prune_impossible_nodes): Likewise.
48078         (acquire_init_state_context): Likewise.
48079         (proceed_next_node): Likewise.
48080         (set_regs): Likewise.
48081         (free_fail_stack_return): Likewise.
48082         (check_arrival_expand_ecl): Mark DFA parameter as const.
48083         (check_arrival_expand_ecl_sub): Likewise.
48084         (check_subexp_limits): Likewise.
48085         (sub_epsilon_src_nodes):  Likewise.
48086         (add_epsilon_src_nodes):  Likewise.
48087         (merge_state_array): Likewise.
48088         (update_regs): Likewise.
48089         (build_trtable): Likewise.
48090         (sift_states_backward): Mark MCTX parameter as const.
48091         (build_sifted_states): Likewise.
48092         (update_cur_sifted_state): Likewise.
48093         (sift_states_mkref): Likewise.
48094         (check_arrival_expand_ecl): Mark eclosure as const.
48095         (check_dst_limits_calc_pos_1): Likewise.
48096         * lib/regex_internal.h (re_match_context_t): Make dfa a const
48097         pointer.
48098
48099         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
48100
48101         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
48102         (transit_state_sb): Likewise.
48103         (transit_state_mb): Likewise.
48104         (sift_states_iter_mb): Likewise.
48105         (check_arrival_add_next_nodes): Likewise.
48106         (check_node_accept_bytes): Change first parameter to pointer-to-const.
48107         [_LIBC] (re_search_2_stub): Use mempcpy.
48108
48109         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
48110         mbrtowc for very simple UTF-8 case.
48111
48112         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
48113         a pointer-to-const.
48114         (re_acquire_state_context): Likewise.
48115         * lib/regex_internal.h: Adjust prototypes.
48116
48117         * lib/regex.c: Prevent using C++ compilers.
48118
48119         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
48120         (re_acquire_state_context): Likewise.
48121
48122 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48123
48124         * modules/regex (Depends-on): Add ssize_t.
48125
48126 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48127
48128         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
48129         translation table.
48130
48131 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
48132
48133         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
48134
48135 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
48136             Bruno Haible  <bruno@clisp.org>
48137
48138         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
48139         <sys/types.h> and <inttypes.h>.
48140
48141 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48142
48143         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
48144         `__error_t_defined', so argp.h will not typedef the former.
48145
48146 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48147
48148         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
48149         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
48150         glibc names.  Even if glibc is changed to conform to POSIX, the
48151         traditional names will be available anyway, since regex depends on
48152         the extensions module.  Also, fix a longstanding typo in the
48153         implementation of Spencer ERE test #75 from grep 2.3.  Problems
48154         reported by Emanuele Giaquinta.  Also, change sense of cached
48155         variable, so that the message makes sense.
48156
48157 2006-03-24  Simon Josefsson  <jas@extundo.com>
48158
48159         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
48160         including some doc fixes.
48161         (base64_encode_alloc): Fix +1 bug on allocation failures.
48162
48163 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48164
48165         * lib/base64.c (base64_encode): Do not read past end of array with
48166         unsanitized input on systems with CHAR_BIT > 8.
48167
48168 2006-03-24  Eric Blake  <ebb9@byu.net>
48169
48170         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
48171
48172 2006-03-22  Karl Berry  <karl@gnu.org>
48173
48174         * config/srclist.txt (*setenv.[ch]): get from coreutils.
48175         * config/srclistvars.sh (COREUTILS): new var.
48176
48177 2006-03-17  Jim Meyering  <jim@meyering.net>
48178
48179         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
48180         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
48181
48182 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48183
48184         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
48185         no longer needs it.  Instead, check that regoff_t is as least
48186         as wide as ptrdiff_t.
48187
48188         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
48189         so that our regex.h stays compatible with the installed regex.
48190         This is helpful for installers who configure --without-included-regex.
48191         Problem reported by Emanuele Giaquinta.
48192
48193 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
48194
48195         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
48196         Typedef to long int, not to off_, as POSIX will likely change
48197         in that direction.
48198
48199 2006-03-15  Eric Blake  <ebb9@byu.net>
48200
48201         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
48202
48203 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48204
48205         * lib/argp-help.c (validate_uparams): Fix typo
48206         * lib/argp-parse.c (argp_default_options): Consistently begin help
48207         messages with a lowercase letter.
48208
48209 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
48210
48211         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
48212         overrun buffers and shouldn't be used (much as gets shouldn't be
48213         used).
48214         * lib/time_r.c (asctime_r, ctime_r): Likewise.
48215
48216 2006-03-08  Simon Josefsson  <jas@extundo.com>
48217
48218         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
48219         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48220
48221 2006-03-08  Simon Josefsson  <jas@extundo.com>
48222
48223         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
48224         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48225
48226 2006-03-08  Simon Josefsson  <jas@extundo.com>
48227
48228         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
48229         signal that configure disabled the device.
48230
48231 2006-03-08  Simon Josefsson  <jas@extundo.com>
48232
48233         * build-aux/maint.mk: Fix refresh-po, to handle no translated
48234         languages.
48235
48236 2006-03-07  Simon Josefsson  <jas@extundo.com>
48237
48238         * modules/getopt (Depends-on): Add unistd.
48239
48240         * modules/unistd: New file.
48241
48242 2006-03-07  Simon Josefsson  <jas@extundo.com>
48243
48244         * modules/gc-random: New file.
48245
48246 2006-03-07  Simon Josefsson  <jas@extundo.com>
48247
48248         * m4/unistd_h.m4: New file.
48249
48250 2006-03-07  Simon Josefsson  <jas@extundo.com>
48251
48252         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
48253         test to be side-effect free by storing the result in the cache
48254         variable gl_cv_lib_readline, and moving the assignment of
48255         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
48256         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48257
48258 2006-03-07  Simon Josefsson  <jas@extundo.com>
48259
48260         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
48261         error on missing devices (the functions will return an error).
48262
48263         * m4/gc.m4: Move random stuff to gc-random.m4
48264
48265 2006-03-07  Simon Josefsson  <jas@extundo.com>
48266
48267         * lib/unistd_.h: New file.
48268
48269 2006-03-07  Simon Josefsson  <jas@extundo.com>
48270
48271         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
48272
48273 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48274
48275         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
48276         Problem reported by Juan Manuel Guerrero.
48277
48278 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48279
48280         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
48281         the unistd module.
48282         * lib/getlogin_r.c: Likewise.
48283         * lib/getlogin_r.h: Likewise.
48284         * lib/glob.c: Likewise.
48285         * lib/pagealign_alloc.c: Likewise.
48286         * lib/unistd_.h: Remove; no longer needed.
48287
48288 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48289
48290         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48291         Add unistd.
48292         * modules/c-stack (Depends-on): Add unistd.
48293         * modules/getlogin_r: Likewise.
48294         * modules/glob: Likewise.
48295         * modules/pagealign_alloc: Likewise.
48296         * modules/unistd (Files): Remove lib/unistd_.h.
48297         (EXTRA_DIST): Remove.
48298         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
48299         need unistd_.h.
48300         (MOSTLYCLEANFILES): Remove unistd.h-t.
48301
48302 2006-03-03  Simon Josefsson  <jas@extundo.com>
48303
48304         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
48305
48306 2006-03-03  Simon Josefsson  <jas@extundo.com>
48307
48308         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
48309         libidn and bison.
48310
48311 2006-03-03  Simon Josefsson  <jas@extundo.com>
48312
48313         * build-aux/maint.mk: Add indent target.
48314
48315 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
48316
48317         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
48318         our replacement poll.h in any case, to avoid a differing
48319         declaration from a system header.  Seen on AIX.
48320
48321 2006-03-01  Simon Josefsson  <jas@extundo.com>
48322
48323         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
48324         <kasal@ucw.cz>.
48325
48326 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48327
48328         * modules/gettime (Depends-on): Add extensions module.
48329         * modules/nanosleep (Depends-on): Likewise.
48330         * modules/settime (Depends-on): Likewise.
48331
48332 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48333
48334         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
48335         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
48336         pedantically.
48337         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48338         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
48339
48340         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
48341         not "==".  Reported by Ralf Wildenhues.
48342
48343 2006-03-01  Karl Berry  <karl@gnu.org>
48344
48345         * doc/Copyright/request-*: new files, synced from gnuorg.
48346
48347 2006-03-01  Karl Berry  <karl@gnu.org>
48348
48349         * config/srclist.txt (Copyright/*): new entries.
48350
48351 2006-02-28  Simon Josefsson  <jas@extundo.com>
48352
48353         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
48354
48355 2006-02-27  Simon Josefsson  <jas@extundo.com>
48356
48357         * lib/base64.h: Indent #define's.  From Jim Meyering
48358         <jim@meyering.net>.
48359
48360 2006-02-27  Jim Meyering  <jim@meyering.net>
48361
48362         Revert the change of 2006-02-24, so these files can continue
48363         to be sync'd from gettext.
48364         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
48365         of `config.h'.
48366
48367 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48368
48369         * modules/intprops: New file.
48370         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48371         Add intprops.
48372         * modules/getloadavg (Files): Remove lib/intprops.h.
48373         (Depends-on): Add intprops.
48374         * modules/human: Likewise.
48375         * modules/inttostr: Likewise.
48376         * modules/openat: Likewise.
48377         * modules/sig2str: Likewise.
48378         * modules/userspec: Likewise.
48379         * modules/utimecmp: Likewise.
48380         * modules/xnanosleep: Likewise.
48381         * modules/xstrtol: Likewise.
48382
48383 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
48384
48385         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
48386         * modules/lock-tests (TESTS): Use $(EXEEXT).
48387         * modules/tls-tests: Likewise.
48388         * modules/argp-tests: Likewise.
48389         (check_PROGRAMS): New var, replacing...
48390         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
48391
48392 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48393
48394         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
48395         `config.h'.
48396
48397 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48398
48399         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
48400
48401 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48402
48403         Sync from coreutils.
48404         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
48405         gl_CHDIR_SAFER.
48406
48407 2006-02-22  Jim Meyering  <jim@meyering.net>
48408
48409         Sync from coreutils.
48410         * m4/chdir-safer.m4: New file.
48411
48412 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48413
48414         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
48415         AT_FDCWD exceeds INT_MAX.
48416         * lib/openat.h (AT_FDCWD): Likewise.
48417
48418 2006-02-17  Eric Blake  <address@hidden>
48419
48420         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
48421
48422 2006-02-16  Simon Josefsson  <jas@extundo.com>
48423
48424         * modules/getaddrinfo (Depends-on): Add sys_socket.
48425
48426 2006-02-15  Simon Josefsson  <jas@extundo.com>
48427
48428         * build-aux/maint.mk: Add dsyntax-check rule.
48429
48430 2006-02-15  Eric Blake  <ebb9@byu.net>
48431
48432         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
48433         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
48434         'present but cannot compile' warnings on cygwin.
48435         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
48436         use ws2tcpip.h if sys/socket.h works.
48437         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
48438         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
48439
48440 2006-02-14  Simon Josefsson  <jas@extundo.com>
48441
48442         * modules/maintainer-makefile (Files): Rename.
48443
48444         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
48445         and (the local) Makefile.cfg to maint-cfg.mk.
48446
48447         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
48448         to the latter.
48449
48450         * modules/maintainer-makefile: New module.
48451
48452         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
48453         severaly stripped to make it possible to build it up from scratch
48454         with reliable tests.
48455
48456         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
48457         fixes to permit overriding the default actions when configure and
48458         makefile are not available.
48459
48460 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48461
48462         Sync from coreutils.
48463         * modules/lstat (Depends-on): Don't depend on xalloc.
48464         (License): Change from GPL to LGPL, since this is now simply a
48465         replacement for a libc function.
48466
48467 2006-02-14  Jim Meyering  <jim@meyering.net>
48468
48469         Sync from coreutils.
48470
48471         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
48472         failure on deficient systems, and simplify gnulib lgpl dependencies.
48473         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
48474         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
48475
48476         * lib/xalloc-die.c: Remove unused definition of N_.
48477
48478 2006-02-14  Jim Meyering  <jim@meyering.net>
48479
48480         Sync from coreutils.
48481         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
48482         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
48483         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
48484         double-quote uses of that variable, to accommodate the rare case in
48485         which getmntent is available in none of the libraries checked.  This
48486         happens at least on FreeBSD 5.0.
48487
48488 2006-02-13  Simon Josefsson  <jas@extundo.com>
48489
48490         * gnulib-tool (Usage): Fix --import, from
48491         karl@freefriends.org (Karl Berry).
48492
48493 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48494
48495         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
48496
48497 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
48498
48499         * lib/argp-namefrob.h: Restore changes accidentally lost during the
48500         "autoupdate" on 2005-12-12.
48501
48502 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48503
48504         * modules/closeout (Depends-on): Remove atexit.
48505
48506 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48507
48508         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
48509         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
48510
48511 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48512
48513         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
48514         __EXTENSIONS__ if this causes compilation to fail.  Problem
48515         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
48516         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
48517
48518 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
48519
48520         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
48521         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
48522         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
48523         All uses changed.
48524
48525 2006-01-26  Simon Josefsson  <jas@extundo.com>
48526
48527         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
48528         prototype is visible on mingw32.
48529
48530         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
48531         for mingw32.
48532
48533         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
48534         mingw32).
48535
48536 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48537
48538         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
48539         attempt to open for write; this always fails, at least on POSIX
48540         hosts.  This reinstates the 2006-01-09 change, which was
48541         inadvertently removed.
48542
48543 2006-01-26  Bruno Haible  <bruno@clisp.org>
48544
48545         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
48546         Reported by Paul Eggert.
48547
48548 2006-01-26  Bruno Haible  <bruno@clisp.org>
48549             Paul Eggert  <eggert@cs.ucla.edu>
48550
48551         * lib/stdbool_.h (_Bool)
48552         [(! (defined __cplusplus || defined __BEOS__)
48553           && !defined __GNUC__
48554           && !(defined __HP_cc || defined __xlc__
48555                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
48556                || defined __sgi))]:
48557         #define to signed char in these cases too; this simplifies
48558         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
48559         etc., separately) and makes it more conservative.
48560
48561 2006-01-25  Simon Josefsson  <jas@extundo.com>
48562
48563         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
48564         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
48565         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
48566
48567 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48568
48569         * lib/argp-namefrob.h: Bugfix. Remove stray #
48570
48571 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48572
48573         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
48574         so that we test the test.
48575         Check for yet another HP-UX cc bug involving *bool |= bool.
48576
48577 2006-01-25  Karl Berry  <karl@gnu.org>
48578
48579         * config/srclist.txt (vasnprintf.c): sync lost.
48580
48581 2006-01-25  Jim Meyering  <jim@meyering.net>
48582
48583         Sync from the stable (b5) branch of coreutils:
48584
48585         * lib/fts.c (fts_children): Don't let close() clobber errno from
48586         failed fchdir().
48587
48588         * lib/fts.c (fts_stat): When following a symlink-to-directory,
48589         don't necessarily interpret stat-fails+lstat-succeeds as indicating
48590         a dangling symlink.  That can also happen at least for ELOOP.
48591         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
48592         FYI, this bug predates the inclusion of fts.c in coreutils.
48593
48594         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
48595         in their own block, so pre-c99 compilers don't object.
48596
48597         Avoid the double-free (first in fts_read, second in fts_close) that
48598         would occur when an `active' directory is made inaccessible (e.g.,
48599         via chmod a-x) during a traversal.
48600         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48601         before returning.  Reproduce this failure by
48602         mkdir -p a/b; cd a; chmod a-x . b
48603         Reported by Stavros Passas.
48604
48605 2006-01-25  Jim Meyering  <jim@meyering.net>
48606
48607         * lib/fileblocks.c: Remove more useless parentheses.
48608         * lib/readutmp.h: Likewise.
48609
48610 2006-01-25  Bruno Haible  <bruno@clisp.org>
48611
48612         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
48613         warnings.
48614         Reported by Paul Eggert.
48615
48616 2006-01-25  Bruno Haible  <bruno@clisp.org>
48617
48618         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
48619         rid of a trap command. For Solaris sh.
48620         Reported by Mark D. Baushke <mdb@gnu.org>.
48621
48622 2006-01-24  Simon Josefsson  <jas@extundo.com>
48623
48624         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
48625         Bruno.
48626
48627 2006-01-24  Karl Berry  <karl@gnu.org>
48628
48629         * config/srclist.txt (argp-namefrob.h): sync lost.
48630
48631 2006-01-24  Jim Meyering  <jim@meyering.net>
48632
48633         * modules/openat (Files): Add lib/intprops.h.
48634         From Mark D. Baushke.
48635
48636 2006-01-24  Jim Meyering  <jim@meyering.net>
48637
48638         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
48639         Reported by Mark D. Baushke.
48640
48641 2006-01-24  Jim Meyering  <jim@meyering.net>
48642
48643         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
48644
48645 2006-01-24  Bruno Haible  <bruno@clisp.org>
48646
48647         * modules/strnlen (Maintainer): Change from glibc to all.
48648
48649 2006-01-24  Bruno Haible  <bruno@clisp.org>
48650
48651         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
48652         Patch by Paul Eggert.
48653
48654 2006-01-24  Bruno Haible  <bruno@clisp.org>
48655
48656         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
48657         already has it.
48658         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
48659         2005-11-26.
48660
48661         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
48662         'signed char' to avoid problems with the built-in _Bool type.
48663         Reported by Paul Eggert on 2005-11-26.
48664
48665 2006-01-24  Bruno Haible  <bruno@clisp.org>
48666
48667         * gnulib-tool (func_import): Avoid constructing complicated sed
48668         expressions inside backquote.
48669         Report and solution by Mark D. Baushke <mdb@gnu.org>.
48670
48671 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
48672
48673         These changes imported from libc.
48674         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
48675         test and two separate function calls.
48676         * lib/strndup.c (__strndup): Add libc_hidden_def.
48677
48678 2006-01-23  Simon Josefsson  <jas@extundo.com>
48679
48680         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
48681         Remove the test_*_SOURCES variable: automake infers it by default.
48682         * modules/tls-tests: Likewise.
48683
48684 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48685
48686         Work around porting bugs reported by Dieter in
48687         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
48688         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
48689         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
48690         Include "getopt.h" first, to check interface.
48691         (getenv): Declare only if defined HAVE_DECL_GETENV &&
48692         !HAVE_DECL_GETENV.
48693         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
48694         (__strndup): Revert to K&R-style function dfns, the glibc style.
48695         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
48696         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
48697         Include strnlen.h first, to get prototype properly.
48698         (strnlen): Renamed from __strnlen.
48699         Remove weak alias.
48700
48701 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48702
48703         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
48704
48705 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48706
48707         * config/srclist.txt: Adjust to reflect glibc reorganization.
48708         This affects only comments.
48709
48710 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48711
48712          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
48713          Reported by Bruce Korb <bkorb@gnu.org>.
48714
48715 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
48716
48717         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
48718         to pacify gcc -Wswitch-default.
48719
48720 2006-01-22  Bruno Haible  <bruno@clisp.org>
48721
48722         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
48723         temporary buffer for sprintf, take into account the precision also
48724         for 'd', 'i', 'u', 'o', 'x', 'X'.
48725
48726 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48727
48728         * modules/argp-tests: New module
48729         * tests/test-argp.c: New file
48730         * tests/test-argp-2.sh: New file
48731
48732 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48733
48734         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
48735         (__argp_base_name): Removed
48736         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
48737         typo.
48738         (__argp_base_name): Provide macro definition or extern declaration
48739         depending on the configuration
48740
48741 2006-01-20  Simon Josefsson  <jas@extundo.com>
48742
48743         * modules/inet_ntop (Depends-on): Depend on sys_socket.
48744
48745 2006-01-20  Simon Josefsson  <jas@extundo.com>
48746
48747         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
48748
48749 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48750
48751         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
48752         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
48753         Suggested by Bruno Haible.
48754
48755 2006-01-20  Karl Berry  <karl@gnu.org>
48756
48757         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
48758         until changes propagate, I guess.
48759
48760 2006-01-19  Simon Josefsson  <jas@extundo.com>
48761
48762         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
48763
48764 2006-01-19  Simon Josefsson  <jas@extundo.com>
48765
48766         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
48767
48768 2006-01-19  Simon Josefsson  <jas@extundo.com>
48769
48770         * gnulib-tool: Set check_PROGRAMS.
48771
48772         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48773         modules/des-tests, modules/gc-arcfour-tests,
48774         modules/gc-arctwo-tests, modules/gc-des-tests,
48775         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48776         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48777         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48778         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48779         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48780         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
48781         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
48782         test_*_SOURCES.
48783
48784 2006-01-18  Simon Josefsson  <jas@extundo.com>
48785
48786         * modules/socklen (Depends-on): Depend on sys_socket.
48787
48788 2006-01-18  Simon Josefsson  <jas@extundo.com>
48789
48790         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48791         modules/des-tests, modules/gc-arcfour-tests,
48792         modules/gc-arctwo-tests, modules/gc-des-tests,
48793         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48794         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48795         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48796         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48797         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48798         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
48799         $(EXEEXT) to automake TESTS variable, for mingw32.
48800
48801 2006-01-17  Simon Josefsson  <jas@extundo.com>
48802
48803         * modules/socklen (Include): Need sys/socket.h.
48804
48805 2006-01-17  Bruno Haible  <bruno@clisp.org>
48806
48807         * modules/ssize_t (Include): Add <sys/types.h>.
48808
48809 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
48810
48811         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
48812         it's not portable and it doesn't work with cross-compiles.
48813         Problem reported by Bruno Haible.  Fix missing-$ typo in
48814         'test "gl_cv_ignore_unused_libraries" ...' that prevented
48815         -zignore from being used with Sun's C compiler.
48816
48817 2006-01-12  Simon Josefsson  <jas@extundo.com>
48818
48819         * lib/base64.c: Fix warning, reported by Bruno Haible
48820         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
48821
48822 2006-01-12  Bruno Haible  <bruno@clisp.org>
48823
48824         * modules/ldd: New file.
48825         * build-aux/ldd.sh.in: New file.
48826         * MODULES.html.sh (Support for building libraries and executables): Add
48827         ldd.
48828
48829 2006-01-12  Bruno Haible  <bruno@clisp.org>
48830
48831         * m4/ldd.m4: New file.
48832
48833 2006-01-12  Bruno Haible  <bruno@clisp.org>
48834
48835         * gnulib-tool (func_import, func_create_testdir): Don't go into an
48836         endless loop while replacing $auxdir with build-aux.
48837
48838 2006-01-11  Simon Josefsson  <jas@extundo.com>
48839
48840         * lib/stdint_.h (SIZE_MAX): Add missing (.
48841
48842 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
48843
48844         Sync from coreutils.
48845         * lib/md5.c: Fix commentary typos.
48846         (alignof, UNALIGNED_P): No need for a GCC-specific version.
48847         * lib/md5.h (__attribute__): Remove; unused.
48848         * lib/sha1.c: Fix commentary to match md5 better.
48849         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
48850         so that we don't need to worry about alignment.  All uses changed.
48851         This merges the 2005-10-28 md5 change into sha1.
48852
48853 2006-01-11  Jim Meyering  <jim@meyering.net>
48854
48855         Sync from coreutils.
48856         * lib/md5.c (OP): Fix spacing.
48857
48858 2006-01-11  Bruno Haible  <bruno@clisp.org>
48859
48860         Ensure automatic ordering between gl_LOCK and gl_ARGP.
48861         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
48862         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
48863
48864 2006-01-11  Bruno Haible  <bruno@clisp.org>
48865
48866         Ensure automatic ordering between gl_LOCK and gl_ARGP.
48867         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
48868         the "early" section as well.
48869
48870 2006-01-11  Bruno Haible  <bruno@clisp.org>
48871
48872         Avoid "ar: no archive members specified" error on MacOS X.
48873         * gnulib-tool (func_modules_add_dummy): New function.
48874         (func_import, func_create_testdir): Invoke it.
48875
48876 2006-01-11  Bruno Haible  <bruno@clisp.org>
48877
48878         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
48879         with $auxdir in AC_CONFIG_FILES statements.
48880
48881 2006-01-11  Bruno Haible  <bruno@clisp.org>
48882
48883         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48884         Initialize also noinst_HEADERS to empty.
48885
48886 2006-01-11  Bruno Haible  <bruno@clisp.org>
48887
48888         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
48889         variables.
48890         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
48891         autoreconf.
48892
48893 2006-01-11  Bruno Haible  <bruno@clisp.org>
48894
48895         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
48896         overridable by the user.
48897         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48898
48899 2006-01-10  Simon Josefsson  <jas@extundo.com>
48900
48901         * modules/sys_socket: New file.
48902
48903 2006-01-10  Simon Josefsson  <jas@extundo.com>
48904
48905         * m4/sys_socket_h.m4: New file.
48906
48907 2006-01-10  Simon Josefsson  <jas@extundo.com>
48908
48909         * lib/socket_.h: New file.
48910
48911 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48912
48913         * modules/readutmp (Maintainer): Add myself.
48914
48915 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48916
48917         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
48918         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
48919         People who are still concerned with buggy memcmp implementations
48920         can invoke gl_FUNC_MEMCMP themselves.
48921
48922 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48923
48924         * lib/regex_internal.h (BITSET_WORD_BITS):
48925         Work around a bug in 64-bit PGC (before version 6.1-2), where the
48926         preprocessor mishandles large unsigned values as if they were signed.
48927         Problem reported by Claudio Fontana in
48928         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
48929
48930 2006-01-10  Jim Meyering  <jim@meyering.net>
48931
48932         Avoid the double-free (first in fts_read, second in fts_close) that
48933         would occur when an `active' directory is made inaccessible (e.g.,
48934         via chmod a-x) during a traversal.
48935         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48936         before returning.  Reproduce this failure by
48937         mkdir -p a/b; cd a; chmod a-x . b
48938         Reported by Stavros Passas.
48939
48940         Sync from coreutils.
48941         * lib/sha1.c: Tweak grammar in a comment.
48942
48943 2006-01-10  Jim Meyering  <jim@meyering.net>
48944
48945         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
48946         Patch by Joerg Sonnenberger.
48947
48948 2006-01-10  Bruno Haible  <bruno@clisp.org>
48949
48950         * modules/readutmp: Depend on module free.
48951         * modules/strtok_r: Depend on module restrict.
48952
48953 2006-01-10  Bruno Haible  <bruno@clisp.org>
48954
48955         * modules/gettext (configure.ac): Add an invocation of
48956         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
48957
48958 2006-01-10  Bruno Haible  <bruno@clisp.org>
48959
48960         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
48961         Reported by Werner Lemberg <wl@gnu.org>.
48962
48963 2006-01-10  Bruno Haible  <bruno@clisp.org>
48964
48965         * lib/localcharset.c: Update from GNU gettext.
48966
48967 2006-01-10  Bruno Haible  <bruno@clisp.org>
48968
48969         * lib/argp.h (__const): Remove macro. Use const instead.
48970         * lib/argp-fmtstream.h (__const): Likewise.
48971         * lib/glob_.h (__const): Remove macro.
48972         * lib/glob-libc.h: Use const instead of __const.
48973
48974 2006-01-10  Bruno Haible  <bruno@clisp.org>
48975
48976         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
48977         variable.
48978         Needed to avoid an automake error regarding the 'gettext' module.
48979
48980 2006-01-09  Simon Josefsson  <jas@extundo.com>
48981
48982         * modules/inet_ntop (Depends-on): Add restrict.
48983
48984 2006-01-09  Simon Josefsson  <jas@extundo.com>
48985
48986         * modules/gc-rijndael-tests (License): Put under LGPL.
48987
48988         * modules/gc-des-tests (License): Likewise.
48989
48990         * modules/gc-arcfour-tests (License): Likewise.
48991
48992         * modules/gc-arctwo-tests (License): Likewise.
48993
48994         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
48995
48996         * modules/gc-hmac-sha1-tests (Files): Likewise.
48997
48998         * modules/gc-hmac-md5-tests (License): Likewise.
48999
49000         * modules/gc-sha1-tests (License): Likewise.
49001
49002         * modules/gc-md5-tests (License): Likewise.
49003
49004         * modules/gc-md4-tests (License): Likewise.
49005
49006         * modules/gc-md2-tests (License): Likewise.
49007
49008         * modules/gc-tests (License): Likewise.
49009
49010         * modules/des-tests (License): Likewise.
49011
49012         * modules/md4-tests (License): Likewise.
49013
49014         * modules/md2-tests (License): Likewise.
49015
49016 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49017
49018         Sync from coreutils:
49019
49020         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
49021         * modules/lib-ignore: New file.
49022         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
49023         chdir-safer.m4, lchmod.m4.
49024         * modules/openat: Add mkdirat.c, openat-priv.h.
49025
49026 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49027
49028         Sync from coreutils.
49029         * m4/lib-ignore.m4: New file.
49030         * m4/lchmod.m4: New file.
49031
49032 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49033
49034         Sync from coreutils.
49035         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
49036         for write access: POSIX says that must fail.
49037         * lib/fts.c (diropen): Likewise.
49038         * lib/save-cwd.c (save_cwd): Likewise.
49039         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
49040         well, for minor improvements on hosts that lack O_DIRECTORY.
49041         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
49042         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
49043         Fall back on chown if open failed with EACCES.
49044
49045         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
49046         Report an error at compile-time if only a 1-second nominal clock
49047         resolution is found.
49048
49049         * lib/lchmod.h: New file.
49050         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
49051         (make_dir_parents): Use lchown rather than chown, and
49052         lchmod rather than chmod.
49053
49054         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
49055         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
49056         "proc" reported by n0dalus.
49057
49058         * lib/mountlist.c: Include <limits.h>.
49059         (dev_from_mount_options)
49060         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
49061         New function.  It no longer assumes "dev=" has the System V meaning
49062         on Linux (since it doesn't).  It also parses "dev=" more carefully.
49063         (read_file_system_list)
49064         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
49065         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
49066         dev= in that case.
49067
49068         * lib/posixtm.h (PDS_PRE_2000): New macro.
49069         * lib/posixtm.c (year): Arg is now syntax_bits rather than
49070         allow_century.  All usages changed.  Reject dates outside the range
49071         1969-1999 if PDS_PRE_2000 is used.
49072
49073 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
49074
49075         Sync from coreutils.
49076         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
49077         (Time of day items): Mention the possibility of leap seconds.
49078         Problem reported by Dr. David Alan Gilbert.
49079
49080 2006-01-09  Jim Meyering  <jim@meyering.net>
49081
49082         Sync from coreutils.
49083
49084         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
49085
49086         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
49087
49088         * lib/modechange.c (mode_compile): Reject an invalid mode string
49089         that starts with an octal digit.  From Andreas Gruenbacher.
49090
49091         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
49092         and dup to open_safer and dup_safer, respectively.
49093         (openat_permissive): Fix typo in comment.
49094
49095         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
49096         "gettext.h"; either no longer needed or are guaranteed by openat.h.
49097         (_): Remove; no longer needed.
49098         (openat): Renamed from rpl_openat; no need for rpl_openat
49099         since openat.h renames openat for us.
49100         Replace most of the body with a call to openat_permissive,
49101         to avoid duplicate code.
49102         Port to (probably hypothetical) environments were mode_t is
49103         wider than int.
49104         (openat_permissive): Require mode arg, so that we can check
49105         types better.  Put it just after flags.  Change cwd failure
49106         indicator from pointer-to-bool to pointer-to-errno-value.
49107         All callers changed.
49108         Invoke openat_save_fail and/or openat_restore_fail if
49109         cwd_errno is null, so that openat can call us.
49110         (openat_permissive, fdopendir, fstatat, unlinkat):
49111         Simplify errno handling to avoid some duplicate code,
49112         as it's OK to set errno on success.
49113         * lib/openat.h: Revamp code so that function macros depend on
49114         __OPENAT_PREFIX only, not also on AT_FDCWD.
49115         (openat_ro): Remove.  Caller changed to use openat_permissive.
49116         (openat_permissive): Now a macro, if not a function.
49117         (openat_restore_fail, openat_save_fail): Now always functions,
49118         since mkdirat needs them even if __OPENAT_PREFIX is defined.
49119
49120         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
49121         and openat.c.
49122         * lib/mkdirat.c: Include openat-priv.h.
49123         Remove definitions of macros defined therein.
49124         * lib/openat.c: Likewise.
49125
49126         * lib/mkdirat.c (mkdirat): New file and function.
49127         * lib/openat.h (mkdirat): Declare.
49128
49129         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
49130
49131         * lib/openat.h (openat_permissive): Declare.
49132         (openat_ro): Define.
49133
49134         * lib/openat.c (EXPECTED_ERRNO): New macro.
49135         (openat_permissive): New function -- used in remove.c rewrite.
49136         (all functions): Set errno just before returning, only if there
49137         was an actual failure.
49138         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
49139
49140         Emulate openat-family functions using Linux's procfs, if possible.
49141         Idea and some code based on Ulrich Drepper's glibc changes.
49142
49143         * lib/openat.c: (BUILD_PROC_NAME): New macro.
49144         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
49145         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
49146         before falling back on save_cwd and restore_cwd.
49147         (fdopendir, fstatat, unlinkat): Likewise.
49148
49149         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
49150         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
49151
49152         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
49153         as second argument to va_arg.  Otherwise, some versions of gcc
49154         warn that `if this code is reached, the program will abort'.
49155
49156 2006-01-09  Jim Meyering  <jim@meyering.net>
49157
49158         Sync from coreutils.
49159         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
49160         Require openat-priv.h.
49161
49162 2006-01-09  Bruno Haible  <bruno@clisp.org>
49163
49164         * modules/strnlen (Include): Use strnlen.h.
49165
49166 2006-01-09  Bruno Haible  <bruno@clisp.org>
49167
49168         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
49169
49170 2006-01-09  Bruno Haible  <bruno@clisp.org>
49171
49172         * lib/sysexit_.h (EX_OK): New macro.
49173         Suggested by Martin Lambers <marlam@marlam.de>.
49174
49175 2006-01-09  Bruno Haible  <bruno@clisp.org>
49176
49177         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
49178         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
49179
49180 2006-01-09  Bruno Haible  <bruno@clisp.org>
49181
49182         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
49183         numbers.
49184
49185 2006-01-09  Bruno Haible  <bruno@clisp.org>
49186
49187         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
49188         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
49189         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
49190         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
49191
49192 2006-01-09  Bruno Haible  <bruno@clisp.org>
49193
49194         * build-aux/javacomp.sh.in: New file, moved from lib/.
49195         * modules/javacomp-script (Files): Update.
49196         (configure.ac): Add AC_CONFIG_FILES invocation.
49197         (EXTRA_DIST): Remove variable.
49198
49199         * build-aux/javaexec.sh.in: New file, moved from lib/.
49200         * modules/javaexec (Files): Update.
49201         (configure.ac): Add AC_CONFIG_FILES invocation.
49202         (EXTRA_DIST): Remove javaexec.sh.in.
49203
49204         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
49205         * modules/csharpcomp-script (Files): Update.
49206         (configure.ac): Add AC_CONFIG_FILES invocation.
49207         (EXTRA_DIST): Remove variable.
49208
49209         * build-aux/csharpexec.sh.in: New file, moved from lib/.
49210         * modules/csharpexec (Files): Update.
49211         (configure.ac): Add AC_CONFIG_FILES invocation.
49212         (EXTRA_DIST): Remove csharpexec.sh.in.
49213
49214 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49215
49216         Sync from coreutils.
49217
49218         Add POSIX ACL support
49219         * lib/acl.h (copy_acl, set_acl): Add declarations.
49220         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
49221         systems other than Linux.
49222         (chmod_or_fchmod): New function: use fchmod when possible,
49223         and chmod otherwise.
49224         (file_has_acl): Add a POSIX ACL implementation, with a
49225         Linux-specific subcase.
49226         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
49227         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
49228         acls are unsupported.
49229         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
49230         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
49231         are unsupported.
49232
49233 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
49234
49235         Sync from coreutils.
49236         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
49237
49238 2006-01-07  Bruno Haible  <bruno@clisp.org>
49239
49240         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
49241         gl_EARLY.
49242
49243 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49244
49245         * lib/strftime.c (tzname): Don't declare if it is already #defined.
49246         Problem reported for Mingw by Mark Junker.
49247
49248 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49249
49250         * README: Gnulib normally doesn't generate a tarball.
49251
49252 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
49253
49254         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
49255         long int, not int, for nanosecond counts, so that people who are
49256         used to POSIX struct timespec won't be surprised.  Reported by Jim
49257         Meyering.
49258
49259 2005-12-28  Bruno Haible  <bruno@clisp.org>
49260
49261         * build-aux/config.rpath: Update from GNU gettext.
49262
49263 2005-12-16  Jim Meyering  <jim@meyering.net>
49264
49265         * modules/fprintftime: New module.
49266         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
49267
49268 2005-12-16  Jim Meyering  <jim@meyering.net>
49269
49270         * m4/fprintftime.m4: New file.
49271
49272 2005-12-16  Jim Meyering  <jim@meyering.net>
49273
49274         * lib/fprintftime.c, lib/fprintftime.h: New files.
49275
49276 2005-12-15  Simon Josefsson  <jas@extundo.com>
49277
49278         * modules/socklen (configure.ac): Fix M4 macro name, to align with
49279         new m4/socklen.m4.
49280
49281 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49282
49283         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
49284         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
49285
49286 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49287
49288         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
49289         * lib/argp-help.c (fill_in_uparams): Check if the constructed
49290         struct uparams is valid. Fall back to the default values if it is
49291         not.
49292
49293 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49294
49295         * modules/argp (Files): Add argp-pin.c
49296         (Depends-on): dirname
49297         (lib_SOURCES): Add argp-pin.c
49298
49299 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49300
49301         * m4/argp.m4:  Check if program_invocation_name and
49302         program_invocation_short_name are declared and define appropriate
49303         macros if they are not.
49304
49305 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49306
49307         * lib/argp-help.c (__argp_base_name): New function
49308         (__argp_short_program_name): Rewrite using __argp_base_name
49309         * lib/argp-namefrob.h: Define program_invocation_name and
49310         program_invocation_short_name if requested
49311         (__argp_base_name): Add prototype
49312         * lib/argp-parse.c (argp_def): Use gettext wrappers
49313         (argp_default_parser): Use __argp_base_name
49314         * lib/argp-pin.c: New file. Defines program_invocation_name and
49315         program_invocation_short_name on systems that lack them.
49316
49317 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49318
49319         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
49320         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49321         porting problem reported by Georg Schwarz in
49322         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49323
49324 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49325
49326         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
49327         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49328         porting problem reported by Georg Schwarz in
49329         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49330
49331 2005-12-05  Bruno Haible  <bruno@clisp.org>
49332
49333         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
49334         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
49335         Reported by Mark Junker <mjscod@gmx.de>.
49336
49337 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
49338
49339         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
49340         Use implementation from Albert Chin, with some
49341         comments/corrections by Stepan Kasal and myself.
49342
49343 2005-12-02  Bruno Haible  <bruno@clisp.org>
49344
49345         * gnulib-tool (func_import): Accept GPLed build tool modules when
49346         --lgpl is given.
49347         * modules/csharpcomp-script: New file.
49348         * modules/csharpcomp: Depend on it.
49349         * modules/javacomp-script: New file.
49350         * modules/javacomp: Depend on it.
49351         Suggested by Simon Josefsson.
49352
49353 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
49354
49355         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
49356         statement, to work around an HP-UX 10.20 compiler bug reported by
49357         Peter O'Gorman.
49358
49359 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49360
49361         * modules/savedir (Depends-on): Add openat.
49362
49363 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49364
49365         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
49366         (uintmax_t) [defined uintmax_t]: Do not declare.
49367         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
49368         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
49369         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
49370         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
49371         sake of portability to weird hosts that C allows (though we don't
49372         know of any practical examples).
49373
49374         * lib/savedir.h (fdsavedir): New decl.
49375         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
49376         contains most of the former guts of savedir.
49377         (savedir): Use savedirstream.
49378         Include "openat.h".
49379
49380 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49381
49382         * modules/obstack (Files): Add m4/ulonglong.m4.
49383         Problem reported by Davide Angelocola.
49384
49385 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49386
49387         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
49388         coreutils no longer futzes with rounding modes.
49389
49390 2005-11-14  Jim Meyering  <jim@meyering.net>
49391
49392         * lib/mkstemp-safer.c: Include <config.h>, required for possible
49393         replacement of mkstemp.
49394
49395 2005-11-10  Simon Josefsson  <jas@extundo.com>
49396
49397         * lib/readline.c: Remove EOL.
49398
49399 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49400
49401         * modules/gethrxtime (Depends-on): Add gettime.
49402
49403 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49404
49405         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
49406         or gettimeofday; no longer needed.
49407
49408 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49409
49410         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
49411         time business.
49412         (gethrxtime) [! (HAVE_NANOUPTIME
49413         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
49414         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
49415         our own approximation.
49416
49417 2005-11-08  Eric Blake  <ebb9@byu.net>
49418
49419         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49420
49421 2005-11-08  Eric Blake  <ebb9@byu.net>
49422
49423         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49424
49425 2005-11-04  Bruno Haible  <bruno@clisp.org>
49426
49427         * gnulib-tool: Implement --update mode.
49428
49429 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49430
49431         Fix porting problem reported by Theodoros V. Kalamatianos.
49432         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
49433         Don't assume that futimes failing means we must fail.
49434
49435 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49436
49437         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
49438         variables to suggest the intended function of the PATH_MAX check.
49439
49440 2005-10-30  Kean Johnston  <jkj@sco.com>
49441
49442         Trivial changes to support SCO systems.
49443         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
49444         as PATH_MAX.
49445         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
49446         where __ptr is null when no I/O is pending.
49447
49448 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49449
49450         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
49451         leave errno alone.  Problem reported by Dmitry V. Levin.
49452
49453 2005-10-28  Simon Josefsson  <jas@extundo.com>
49454
49455         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
49456         Test more.
49457
49458         * tests/test-gc-md2.c, tests/test-md2.c: New files.
49459
49460         * modules/md2, modules/md2-tests: New files.
49461
49462 2005-10-28  Simon Josefsson  <jas@extundo.com>
49463
49464         * m4/inet_ntop.m4: More tests.
49465
49466         * m4/gc-md2.m4, md2.m4: New file.
49467
49468 2005-10-28  Simon Josefsson  <jas@extundo.com>
49469
49470         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
49471         "restrict" keywords, as per POSIX.  Protect the function
49472         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
49473         Don't use K&R prototypes.  Check the sprintf return values.
49474         Re-define EAFNOSUPPORT if not present.  Indent.
49475
49476         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
49477         suggested by Bruno Haible <bruno@clisp.org>.
49478
49479         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
49480
49481         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
49482
49483         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
49484         libgcrypt).
49485
49486         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
49487
49488         * lib/md2.h, lib/md2.c: New files.
49489
49490 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
49491
49492         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
49493         errno alone.  Problem reported by Frederic Jolliton.
49494
49495 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49496
49497         * modules/verify (License): Change from GPL to LGPL.  This is a
49498         tiny module and there are apparently near-equivalents that are
49499         under the BSD license.
49500
49501 2005-10-24  Simon Josefsson  <jas@extundo.com>
49502
49503         * modules/sha1: Relicense to LGPL.
49504
49505 2005-10-24  Simon Josefsson  <jas@extundo.com>
49506
49507         * lib/md4.h: Shrink buffer size, now that we changed the type.
49508
49509 2005-10-23  Simon Josefsson  <jas@extundo.com>
49510
49511         * gnulib-tool (func_import): Fix --tests-base.
49512
49513 2005-10-22  Simon Josefsson  <jas@extundo.com>
49514
49515         * modules/arcfour (Depends-on): Need stdint.
49516
49517 2005-10-22  Simon Josefsson  <jas@extundo.com>
49518
49519         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
49520         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
49521
49522 2005-10-22  Simon Josefsson  <jas@extundo.com>
49523
49524         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
49525         suggested by Bruno Haible <bruno@clisp.org>.
49526
49527 2005-10-22  Simon Josefsson  <jas@extundo.com>
49528
49529         * lib/crc.h: Include stddef.h, for size_t.
49530
49531 2005-10-22  Simon Josefsson  <jas@extundo.com>
49532
49533         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
49534         arcfour_context struct (simplify test vector testing in GNU
49535         Shishi).
49536
49537 2005-10-21  Simon Josefsson  <jas@extundo.com>
49538
49539         * modules/des, modules/des-tests: New files.
49540
49541         * modules/gc-des, modules/gc-des-tests: New files.
49542
49543         * tests/test-des.c, tests/test-gc-des.c: New file.
49544
49545 2005-10-21  Simon Josefsson  <jas@extundo.com>
49546
49547         * modules/arctwo, modules/arctwo-tests: New files.
49548
49549         * tests/test-arctwo.c: New file.
49550
49551         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
49552
49553         * tests/test-gc-arctwo.c: New file.
49554
49555 2005-10-21  Simon Josefsson  <jas@extundo.com>
49556
49557         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
49558         Bruno Haible <bruno@clisp.org>.
49559
49560         * m4/gc-des.m4: New file.
49561
49562 2005-10-21  Simon Josefsson  <jas@extundo.com>
49563
49564         * m4/arctwo.m4: New file.
49565
49566         * m4/gc-arctwo.m4: New file.
49567
49568 2005-10-21  Simon Josefsson  <jas@extundo.com>
49569
49570         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
49571         block.
49572
49573 2005-10-21  Simon Josefsson  <jas@extundo.com>
49574
49575         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
49576         <bruno@clisp.org>.
49577
49578         * lib/hmac-sha1.c (hmac_sha1): Likewise.
49579
49580         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
49581         Bruno Haible <bruno@clisp.org>.
49582
49583         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
49584         <bruno@clisp.org>.
49585
49586 2005-10-21  Simon Josefsson  <jas@extundo.com>
49587
49588         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
49589
49590 2005-10-21  Simon Josefsson  <jas@extundo.com>
49591
49592         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
49593
49594 2005-10-21  Simon Josefsson  <jas@extundo.com>
49595
49596         * lib/des.h, lib/des.c: New files.
49597
49598         * lib/gc-gnulib.c: Support DES.c
49599
49600 2005-10-21  Simon Josefsson  <jas@extundo.com>
49601
49602         * lib/arctwo.h, lib/arctwo.c: New files.
49603
49604         * lib/gc-gnulib.c: Support ARCTWO.
49605
49606 2005-10-21  Simon Josefsson  <jas@extundo.com>
49607
49608         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
49609         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49610
49611 2005-10-21  Simon Josefsson  <jas@extundo.com>
49612
49613         * gnulib-tool (func_import, func_create_testdir): Define automake
49614         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
49615         Makefile.am snippet),
49616         suggested by Bruno Haible <bruno@clisp.org>.
49617
49618         * modules/gc (Makefile.am): Use it.
49619
49620 2005-10-21  Bruno Haible  <bruno@clisp.org>
49621
49622         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
49623         patch.
49624
49625 2005-10-19  Simon Josefsson  <jas@extundo.com>
49626
49627         * tests/test-gc-rijndael.c: New file.
49628
49629         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
49630
49631 2005-10-19  Simon Josefsson  <jas@extundo.com>
49632
49633         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
49634         interface too.
49635
49636 2005-10-19  Simon Josefsson  <jas@extundo.com>
49637
49638         * tests/test-gc-arcfour.c: New file.
49639
49640         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
49641
49642 2005-10-19  Simon Josefsson  <jas@extundo.com>
49643
49644         * modules/gc-md4, modules/gc-md4-tests: New file.
49645
49646         * tests/test-gc-md4.c: New file.
49647
49648 2005-10-19  Simon Josefsson  <jas@extundo.com>
49649
49650         * m4/gc-md4.m4: New file.
49651
49652 2005-10-19  Simon Josefsson  <jas@extundo.com>
49653
49654         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
49655         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
49656         <kasal@ucw.cz>.
49657
49658 2005-10-19  Simon Josefsson  <jas@extundo.com>
49659
49660         * m4/gc-arcfour.m4: New file.
49661
49662         * m4/gc-rijndael.m4: New file.
49663
49664 2005-10-19  Simon Josefsson  <jas@extundo.com>
49665
49666         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
49667
49668 2005-10-19  Simon Josefsson  <jas@extundo.com>
49669
49670         * lib/gc-gnulib.c: Support ARCFOUR.
49671
49672 2005-10-19  Simon Josefsson  <jas@extundo.com>
49673
49674         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
49675         support.
49676
49677         * lib/gc.h: Add ECB enum type.
49678
49679         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
49680
49681 2005-10-18  Simon Josefsson  <jas@extundo.com>
49682
49683         * tests/test-md5.c: New file.
49684
49685         * modules/md5-tests: New file.
49686
49687 2005-10-18  Simon Josefsson  <jas@extundo.com>
49688
49689         * tests/test-md4.c: New file.
49690
49691         * modules/md4, modules/md4-tests: New files.
49692
49693 2005-10-18  Simon Josefsson  <jas@extundo.com>
49694
49695         * m4/md4.m4: New file.
49696
49697 2005-10-18  Simon Josefsson  <jas@extundo.com>
49698
49699         * lib/md4.h, lib/md4.c: New files, based on md5.?.
49700
49701 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
49702
49703         * gnulib-tool (func_create_testdir): Omit the second check whether
49704         BUILT_SOURCES in nonempty.
49705
49706 2005-10-17  Simon Josefsson  <jas@extundo.com>
49707
49708         * tests/test-rijndael.c: New file.
49709
49710 2005-10-17  Simon Josefsson  <jas@extundo.com>
49711
49712         * modules/sha1: Depend on stdint instead of md5.
49713
49714         * modules/md5: Depend on stdint, remove uint32_t.
49715
49716 2005-10-17  Simon Josefsson  <jas@extundo.com>
49717
49718         * modules/gc-sha1-tests: New file.
49719
49720         * tests/test-gc-sha1.c: New file.
49721
49722 2005-10-17  Simon Josefsson  <jas@extundo.com>
49723
49724         * m4/md5.m4: Remove call to uint32_t.m4.
49725
49726 2005-10-17  Simon Josefsson  <jas@extundo.com>
49727
49728         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
49729
49730         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
49731         md5.h.
49732
49733         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
49734
49735         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
49736
49737 2005-10-17  Simon Josefsson  <jas@extundo.com>
49738
49739         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
49740
49741 2005-10-17  Simon Josefsson  <jas@extundo.com>
49742
49743         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
49744
49745 2005-10-17  Simon Josefsson  <jas@extundo.com>
49746
49747         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
49748
49749         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
49750
49751 2005-10-17  Bruno Haible  <bruno@clisp.org>
49752
49753         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
49754         that it can also be used in a test.
49755
49756 2005-10-16  Bruno Haible  <bruno@clisp.org>
49757
49758         * gnulib-tool (func_emit_tests_Makefile_am): Also define
49759         TESTS_ENVIRONMENT, so that individual tests can augment it.
49760
49761         * gnulib-tool (func_create_testdir): Use an intermediate target for
49762         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
49763         macros, like $(ALLOCA_H), which cannot be passed through the command
49764         line.
49765
49766 2005-10-15  Simon Josefsson  <jas@extundo.com>
49767
49768         * modules/rijndael-tests: New file.
49769
49770         * modules/rijndael: New file.
49771
49772 2005-10-15  Simon Josefsson  <jas@extundo.com>
49773
49774         * m4/rijndael.m4: New file.
49775
49776 2005-10-15  Simon Josefsson  <jas@extundo.com>
49777
49778         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
49779
49780         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
49781
49782 2005-10-14  Simon Josefsson  <jas@extundo.com>
49783
49784         * tests/test-arcfour.c: New file.
49785
49786         * modules/arcfour, modules/arcfour-tests: New files.
49787
49788 2005-10-14  Simon Josefsson  <jas@extundo.com>
49789
49790         * m4/arcfour.m4: New file.
49791
49792 2005-10-14  Simon Josefsson  <jas@extundo.com>
49793
49794         * lib/arcfour.h, lib/arcfour.c: New files.
49795
49796 2005-10-14  Roland McGrath  <roland@redhat.com>
49797
49798         Import from libc.  [BZ #1331]
49799         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
49800         macro argument.
49801         Reported by Matej Vela <vela@debian.org>.
49802
49803 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49804
49805         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
49806         include <wchar.h>; no longer needed.
49807
49808 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49809
49810         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
49811
49812 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
49813         and  Ulrich Drepper  <drepper@redhat.com>
49814
49815         Import from libc.
49816         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
49817         instead of inline stream orientation test and two separate
49818         function calls.  Pay no attention to USE_IN_LIBIO.
49819
49820 2005-10-13  Simon Josefsson  <jas@extundo.com>
49821
49822         * modules/gc-hmac-md5-tests: New file.
49823
49824         * tests/test-gc-hmac-sha1.c: New file.
49825
49826         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
49827
49828         * modules/gc-hmac-md5-tests: New file.
49829
49830         * tests/test-gc-md5.c: New file.
49831
49832         * modules/gc-md5-tests: New file.
49833
49834 2005-10-13  Simon Josefsson  <jas@extundo.com>
49835
49836         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
49837         Move memory allocation outside of loop.
49838
49839 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
49840
49841         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
49842         intermediate directory is in a read-only file system.  Problem
49843         reported by Eric Blake.
49844
49845 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
49846
49847         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
49848
49849 2005-10-12  Simon Josefsson  <jas@extundo.com>
49850
49851         * tests/test-hmac-sha1.c: New file.
49852
49853         * modules/hmac-sha1-tests: New file.
49854
49855         * modules/hmac-sha1: New file.
49856
49857 2005-10-12  Simon Josefsson  <jas@extundo.com>
49858
49859         * modules/gc-sha1: New file.
49860
49861 2005-10-12  Simon Josefsson  <jas@extundo.com>
49862
49863         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
49864
49865         * tests/test-gc-pbkdf2-sha1.c: New file.
49866
49867 2005-10-12  Simon Josefsson  <jas@extundo.com>
49868
49869         * modules/gc-md5, modules/gc-hmac-md5: New files.
49870
49871         * modules/gc (Files): Remove md5, memxor and hmac files.
49872
49873 2005-10-12  Simon Josefsson  <jas@extundo.com>
49874
49875         * m4/gc-pbkdf2-sha1.m4: New file.
49876
49877         * m4/gc-hmac-sha1.m4: New file.
49878
49879         * m4/gc-sha1: New file.
49880
49881         * m4/hmac-sha1.m4: New file.
49882
49883 2005-10-12  Simon Josefsson  <jas@extundo.com>
49884
49885         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
49886
49887         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
49888
49889 2005-10-12  Simon Josefsson  <jas@extundo.com>
49890
49891         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
49892         suggested by Bruno Haible <bruno@clisp.org>.
49893
49894 2005-10-12  Simon Josefsson  <jas@extundo.com>
49895
49896         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
49897
49898 2005-10-12  Simon Josefsson  <jas@extundo.com>
49899
49900         * lib/gc-pbkdf2-sha1.c: New file.
49901
49902         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
49903
49904 2005-10-12  Simon Josefsson  <jas@extundo.com>
49905
49906         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
49907
49908         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
49909
49910 2005-10-12  Simon Josefsson  <jas@extundo.com>
49911
49912         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
49913         GC_USE_HMAC_MD5, respectively.
49914
49915         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
49916         (gc_md5): Fix typo.
49917
49918         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
49919
49920         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
49921
49922         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
49923
49924 2005-10-12  Bruno Haible  <bruno@clisp.org>
49925
49926         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
49927         Reported by Stepan Kasal <kasal@ucw.cz>.
49928
49929 2005-10-11  Simon Josefsson  <jas@extundo.com>
49930
49931         * tests/test-crc.c: New file.
49932
49933         * modules/crc, modules/crc-tests: New files.
49934
49935 2005-10-11  Simon Josefsson  <jas@extundo.com>
49936
49937         * m4/crc.m4: New file.
49938
49939 2005-10-11  Simon Josefsson  <jas@extundo.com>
49940
49941         * lib/gc.h: Add gc_hash and gc_hash_buffer.
49942
49943         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
49944
49945         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
49946
49947 2005-10-11  Simon Josefsson  <jas@extundo.com>
49948
49949         * lib/crc.h, lib/crc.c: New files.
49950
49951         * lib/gc.h (gc_hash_buffer): Add doc.
49952
49953 2005-10-11  Bruno Haible  <bruno@clisp.org>
49954
49955         * modules/c-strcasestr: New file.
49956         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
49957
49958 2005-10-11  Bruno Haible  <bruno@clisp.org>
49959
49960         * modules/c-strcase: New file.
49961         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
49962
49963 2005-10-11  Bruno Haible  <bruno@clisp.org>
49964
49965         * lib/strcasecmp.c: Include limits.h.
49966         (strcasecmp): Avoid integer overflow on exotic platforms.
49967         * lib/strncasecmp.c: Include limits.h.
49968         (strncasecmp): Avoid integer overflow on exotic platforms.
49969         Reported by Paul Eggert.
49970
49971 2005-10-11  Bruno Haible  <bruno@clisp.org>
49972
49973         * lib/c-strcasestr.h: New file, from GNU gettext.
49974         * lib/c-strcasestr.c: New file, from GNU gettext.
49975
49976 2005-10-11  Bruno Haible  <bruno@clisp.org>
49977
49978         * lib/c-strcase.h: New file, from GNU gettext.
49979         * lib/c-strcasecmp.c: New file, from GNU gettext.
49980         * lib/c-strncasecmp.c: New file, from GNU gettext.
49981
49982 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
49983
49984         * modules/mempcpy (License): GPL -> LGPL.
49985         * modules/strchrnul (License): Likewise.
49986         * modules/sysexits (License): Likewise.
49987
49988 2005-10-08  Simon Josefsson  <jas@extundo.com>
49989
49990         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
49991
49992 2005-10-07  Simon Josefsson  <jas@extundo.com>
49993
49994         * m4/memxor.m4: Remove gl_C_RESTRICT call.
49995
49996 2005-10-06  Simon Josefsson  <jas@extundo.com>
49997
49998         * tests/test-hmac-md5.c: New file.
49999
50000         * modules/hmac-md5-tests: New file.
50001
50002         * modules/hmac-md5: New file.
50003
50004 2005-10-06  Simon Josefsson  <jas@extundo.com>
50005
50006         * m4/hmac-md5.m4: New file.
50007
50008         * m4/memxor.m4: Require gl_C_RESTRICT.
50009
50010 2005-10-06  Simon Josefsson  <jas@extundo.com>
50011
50012         * lib/memxor.c (memxor): Avoid casts and warnings.
50013
50014 2005-10-06  Simon Josefsson  <jas@extundo.com>
50015
50016         * lib/hmac-md5.c: New file.
50017
50018         * lib/hmac.h: New file.
50019
50020 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50021
50022         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
50023         promotes to int, not unsigned int, to catch the AIX 5.3
50024         compiler bug.
50025
50026 2005-10-05  Simon Josefsson  <jas@extundo.com>
50027
50028         * modules/memxor: New file.
50029
50030         * modules/iconv (Files): Move config.rpath to havelib, it is used
50031         there.
50032
50033         * modules/havelib (Files): Add config.rpath.
50034
50035 2005-10-05  Simon Josefsson  <jas@extundo.com>
50036
50037         * m4/memxor.m4: New file.
50038
50039 2005-10-05  Simon Josefsson  <jas@extundo.com>
50040
50041         * lib/memxor.c (memxor): Fix compiler error.
50042
50043         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
50044         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
50045
50046         * lib/memxor.h, lib/memxor.c: New files.
50047
50048         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
50049         we assume all systems have it, suggested by Jim Meyering
50050         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
50051         any systems lack sys/socket.h; mingw32 is known to lack it, but we
50052         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
50053         same reasons.
50054
50055 2005-10-05  Simon Josefsson  <jas@extundo.com>
50056
50057         * config/srclist.txt: Add glibc bug 1423 for md5.h.
50058
50059 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50060
50061         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
50062         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
50063         needed, since the source code now assumes these .h files.
50064
50065 2005-10-05  Derek Price  <derek@ximbiot.com>
50066
50067         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
50068
50069 2005-10-05  Bruno Haible  <bruno@clisp.org>
50070
50071         * modules/stdint (License): Change to LGPL.
50072
50073 2005-10-04  Simon Josefsson  <jas@extundo.com>
50074
50075         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
50076         D. Baushke" <mdb@gnu.org>.
50077
50078 2005-10-04  Bruno Haible  <bruno@clisp.org>
50079
50080         * lib/verify.h (verify_true): Provide alternative definition for C++.
50081
50082 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
50083
50084         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
50085         (SSIZE_MAX): New macro, if not already defined.
50086         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
50087         than 2 GiB.
50088
50089 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50090
50091         Sync from coreutils.
50092         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
50093         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
50094         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
50095         ULLONG_MAX doesn't work with 2.7.2.1.
50096
50097 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50098
50099         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
50100         From Ben Pfaff.
50101
50102         * modules/exclude (Depends-on): Depend on verify.
50103         * modules/strtoimax (Depends-on): Likewise.
50104         * modules/utimecmp (Depends-on): Likewise.
50105
50106 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
50107
50108         * lib/exclude.c: Include verify.h.
50109         (verify): Remove.  All callers changed to use verify.h's version.
50110         * lib/strtoimax.c: Likewise.
50111         * lib/utimecmp.c: Likewis.e
50112
50113         Sync from coreutils.
50114         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
50115         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
50116         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
50117         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
50118         bother returning ENOSYS if settimeofday or stime fails; just let
50119         them return whatever errno they want to return.
50120         * lib/utimens.c: Include unistd.h, for dup2.
50121         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
50122         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
50123
50124 2005-10-02  Jim Meyering  <jim@meyering.net>
50125
50126         Sync from coreutils.
50127         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
50128         from glibc-2.2.5 that fails for read-only files.
50129
50130 2005-10-02  Jim Meyering  <jim@meyering.net>
50131
50132         Sync from coreutils.
50133         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
50134         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
50135         `#if HAVE_CONFIG_H'.
50136         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
50137         Remove AT_FDCWD test.
50138         Do not consume the fd unless successful.
50139         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
50140         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
50141         block, so that we don't even try to compile it if settimeofday is
50142         available.  This works around a compilation failure on OSF1 V5.1,
50143         due to stime requiring a `long int*' while tv_sec is `int'.
50144
50145 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
50146
50147         Sync from coreutils.
50148         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
50149         against `yes', rather than just testing for nonempty.
50150
50151 2005-10-01  Simon Josefsson  <jas@extundo.com>
50152
50153         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
50154         and Darwin.
50155
50156         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
50157         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
50158         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
50159         freeaddrinfo and gai_strerror are declared by the POSIX headers.
50160         Check if struct addrinfo is declared.
50161
50162 2005-10-01  Simon Josefsson  <jas@extundo.com>
50163
50164         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
50165         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
50166         AI_* and EAI_* definitions.  Protect function declarations.
50167
50168 2005-10-01  Jim Meyering  <jim@meyering.net>
50169
50170         Sync from coreutils.
50171
50172         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
50173         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
50174         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
50175         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50176         in the inet and nsl libraries.  Required on Solaris 5.7.
50177
50178 2005-10-01  Jim Meyering  <jim@meyering.net>
50179
50180         Sync from coreutils.
50181         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
50182         in the inet and nsl libraries.  Required on Solaris 5.7.
50183
50184 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
50185
50186         * lib/getdelim.c (getdelim): Remove unused variables.
50187
50188 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50189
50190         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
50191         so that the code works even with ancient cpp.  Portability problem
50192         with GCC 2.7.2.1 reported by Thomas M.Ott.
50193
50194 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50195
50196         * modules/regex (Depends-on): Add strcase.
50197
50198         * modules/gethostname (Licence): Change from GPL to LGPL, since
50199         gethostname.c is a trivial implementation of a standard library
50200         function.
50201         * modules/poll (License): Change from GPL to LGPL, since it's
50202         derived from LGPL code.
50203
50204 2005-09-27  Jim Meyering  <jim@meyering.net>
50205
50206         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
50207         HAVE_CONFIG_H.
50208
50209         * lib/intprops.h (signed_type_or_expr__): Define.
50210         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
50211         for unsigned types.
50212
50213 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
50214
50215         * lib/verify.h (verify_expr): Remove, replacing with:
50216         (verify_true): New macro that returns true instead of void.
50217         (verify_type__): Remove.
50218         (verify): Use verify_true rather than verify_type__.
50219
50220 2005-09-26  Bruno Haible  <bruno@clisp.org>
50221
50222         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
50223         is necessary.
50224         (lib_SOURCES): Remove mbchar.c.
50225         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
50226         (Files): Add m4/mbrtowc.m4.
50227         * modules/mbiter: Likewise.
50228         * modules/mbuiter: Likewise.
50229
50230 2005-09-26  Bruno Haible  <bruno@clisp.org>
50231
50232         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
50233         compile mbchar.c if they are not both present.
50234         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
50235         * m4/mbiter.m4 (gl_MBITER): Likewise.
50236         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
50237         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
50238         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
50239
50240 2005-09-25  Jim Meyering  <jim@meyering.net>
50241
50242         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
50243         also uses socklen_t.
50244
50245 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
50246
50247         * lib/utimens.c (ENOSYS): Define if not already defined.
50248         (futimens): Support having a null PATH if the file descriptor
50249         is nonnegative.
50250
50251         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
50252         Remove.
50253         (__attribute): Define to empty unless GCC 3.1 or later.
50254         This works around a core dump on OpenBSD 3.4, which has GCC
50255         2.95.3, which dumps core when given __attribute__(()).  It also
50256         simplifies other tests, since we really don't want to bother with
50257         worrying about which ancient version of GCC supported what.
50258         Original problem reported by Yoann Vandoorselaere, with part of
50259         the fix suggested by Derek Price.
50260
50261 2005-09-24  Jim Meyering  <jim@meyering.net>
50262
50263         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
50264         so we can once again use a positive bitfield width of 1 -- now we
50265         don't have to explain why we were using a bitfield width of 2.
50266
50267 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50268
50269         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
50270         and similarly for the other external symbols.  Problem reported
50271         by James Gallager.
50272
50273         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
50274         bug reported by Jim Meyering.
50275
50276         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
50277         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
50278         not needed, since socklen is a prerequisite module.
50279
50280 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50281
50282         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
50283         Problem reported by Eric Blake.
50284         (getaddrinfo): Initialize se so that it's not garbage.
50285         Redo internal storage allocation so that it doesn't make unportable
50286         assumptions about alignment.
50287         Fix a memory leak.
50288
50289         * lib/utimens.c (futimens): Use futimesat if available.
50290         Prefer it to futimes since it doesn't have the futimes bug.
50291
50292         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
50293         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
50294         Instead, declare a function that returns a pointer to an array,
50295         and use verify_type__ to declare the size of the array.
50296         Problem and germ of a solution reported by Bruno Haible.
50297         (verify_type__): Use 2, not 1, for bitfield size, to avoid
50298         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
50299
50300 2005-09-23  Jim Meyering  <jim@meyering.net>
50301
50302         Sync from coreutils.
50303         Correct build failure (socklen_t not defined) on at least
50304         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
50305         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
50306
50307 2005-09-23  Jim Meyering  <jim@meyering.net>
50308
50309         * modules/getaddrinfo (Depends-on): Add socklen.
50310
50311 2005-09-23  Bruno Haible  <bruno@clisp.org>
50312
50313         * tests/test-verify.c: New file.
50314
50315 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50316
50317         Sync from coreutils.
50318
50319         * modules/argmatch (Depends-on): Add verify.
50320         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
50321         unistd-safer.
50322         * modules/save-cwd (Depends-on): Likewise.
50323
50324         * modules/openat (Files): Add lib/openat-die.c.
50325         (Depends-on): Remove error, exitfail.
50326         Add dirname.
50327
50328         * modules/verify: New file.
50329         * MODULES.html.sh (Diagnostics <assert.h>): New section,
50330         with "verify" module.
50331
50332 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50333
50334         Sync from coreutils.
50335
50336         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
50337         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
50338         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
50339         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
50340         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
50341         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
50342         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
50343         Don't bother checking for string.h, stdlib.h, unistd.h.
50344         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
50345         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
50346         module's job.
50347         * m4/jm-macros.m4 (gl_MACROS): Likewise.
50348         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
50349
50350         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
50351         (gl_GETDATE): Use it.
50352
50353         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
50354
50355 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50356
50357         Sync from coreutils.
50358
50359         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
50360         stat-time.h.
50361         * lib/argmatch.h: Include verify.h
50362         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
50363         (ARGMATCH_ASSERT): Remove; unused.
50364         * lib/canonicalize.c: Assume STDC_HEADERS.
50365         * lib/exclude.c: Include "strcase.h".
50366         * lib/regex_internal.h [!defined _LIBC]: Likewise.
50367         * lib/getusershell.c: Include stdio--.h rather than stdio.h
50368         and stdio-safer.h.
50369         (getusershell): Call fopen, not fopen_safer.
50370         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
50371         Do not include unistd-safer.h.
50372         (save_cwd): Don't call fd_safer; no longer needed
50373         now that we include fcntl--.h.
50374
50375         * lib/getdate.y (relative_time): New type.
50376         (RELATIVE_TIME_0): New constant.
50377         (parser_control): Use relative_time instead of doing it ourselves.
50378         (%union): Add new relative_time rel member.
50379         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
50380         Now typeless.
50381         (relunit, relunit_snumber): Now of type rel.
50382         (zone, rel, relunit, get_date): Adjust to above changes.
50383
50384         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
50385         Do not include unistd-safer.h.
50386         (getloadavg): Don't call fd_safer; no longer needed
50387         now that we include fcntl--.h.
50388
50389         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
50390         (make_dir_parents): Treat ENOSYS like EEXIST.
50391
50392         Improve quality of diagnostics on restore_cwd failure.
50393         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
50394         (make_dir_parents): Last arg is now int * (for errno), not bool *.
50395         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
50396         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
50397         each time through the loop.  Do not diagnose restore_cwd failure;
50398         that is the caller's job (and perhaps the caller does not care).
50399
50400         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
50401         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
50402         If the file already exists but is not a directory, don't bother
50403         to try to make its parents.
50404         Close potential file descriptor leak if we can't chdir("/") (!).
50405         Don't always return true if chdir($PWD) fails; return true only
50406         if the requested action was done successfully (except for the
50407         chdir($PWD)).
50408         Don't log final directory unless we actually made it.
50409         Refactor to avoid duplicate code to fix up permissions.
50410         Don't attempt to fix up parent permissions if chdir($PWD) fails.
50411
50412         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
50413         to make it a bit faster and (I hope) clearer.
50414         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
50415         Fix bug in formats like %2N.
50416
50417         * lib/verify.h: New file.
50418
50419 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50420
50421         Sync from coreutils.
50422         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
50423
50424 2005-09-22  Jim Meyering  <jim@meyering.net>
50425
50426         Sync from coreutils.
50427
50428         * m4/lstat.m4 (gl_FUNC_LSTAT):
50429         Use AC_LIBSOURCES to require lstat.c and lstat.h.
50430         Remove obsolete comment.
50431         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
50432         * m4/xstrtod.m4: Likewise.
50433
50434         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
50435
50436 2005-09-22  Jim Meyering  <jim@meyering.net>
50437
50438         Sync from coreutils.
50439
50440         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
50441
50442         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
50443         the .tm_year member, since otherwise gcc-4.0 would now warn about
50444         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
50445
50446         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
50447         order to avoid an unsuppressible warning from gcc on 64-bit systems.
50448
50449         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
50450         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
50451         when run in a time zone for which daylight savings time is in effect
50452         for the starting date.
50453
50454         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
50455         stop us from restricting permissions of just-created absolute-named
50456         directories.
50457         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
50458         to restore initial working directory.
50459         * lib/mkdir-p.c (make_dir_parents): New parameter:
50460         different_working_dir, to tell caller if/when we change the working
50461         directory and are unable to return to the initial one.
50462         * lib/mkdir-p.h (make_dir_parents): Update prototype.
50463         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
50464         `return false'.  This fixes a bug introduced on 2004-07-30.
50465
50466         * lib/openat.c (fdopendir): Be sure to close the supplied
50467         file descriptor before returning.  This makes our replacement
50468         implementation a little closer to Solaris's, where fdopendir
50469         ties the file descriptor to the returned DIR* pointer.
50470         * lib/openat.c (unlinkat): New function.
50471         * lib/openat.h (unlinkat): Add prototype.
50472         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
50473         (openat_restore_fail): Rename from openat_restore_die.
50474         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
50475
50476         Provide an alternative to exiting immediately upon save_cwd or
50477         restore_cwd failure.  Now, an application can arrange e.g.,
50478         to perform a longjump in that case.
50479         * lib/openat.c: Include dirname.h.
50480         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
50481         (rpl_openat, fdopendir, fstatat): Call openat_save_die
50482         and openat_restore_die rather than calling error directly.
50483         Don't include "error.h" or "exitfail.h"; they're no longer needed.
50484
50485         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
50486         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
50487         define.
50488
50489         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
50490         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
50491                             int utc, int nanoseconds);
50492         Background:
50493         date should not have to allocate a megabyte of virtual memory to
50494         handle a format argument like +%1048575T.  When implemented with
50495         strftime, it must allocate such a buffer, use strftime to fill it
50496         in, print it, then free it.
50497         With fprintftime, it simply prints everything and exits.
50498         With no need for memory allocation, that's one fewer way to fail.
50499         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
50500         optional field width, not before, so we accept %9:z, not %:9z.
50501         (my_strftime): Be sure to use L_('x') for literals.
50502
50503         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
50504         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
50505         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
50506         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
50507         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
50508         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
50509         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
50510         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
50511         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
50512         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
50513         * lib/xgethostname.c, lib/xreadlink.c:
50514         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
50515
50516         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
50517         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
50518         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
50519         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50520         and don't include <sys/file.h>).
50521
50522 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
50523
50524         Sync from coreutils.
50525
50526         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
50527         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
50528         [!LDAV_DONE]: Avoid unused variable warning.
50529
50530 2005-09-21  Bruno Haible  <bruno@clisp.org>
50531
50532         * lib/unicodeio.h (unicode_to_mb): New declaration.
50533
50534 2005-09-20  Derek Price  <derek@ximbiot.com>
50535
50536         * lib/getaddrinfo.c: Don't include <netdb.h> included from
50537         getaddrinfo.h.
50538
50539 2005-09-20  Bruno Haible  <bruno@clisp.org>
50540
50541         * gnulib-tool: Remove trailing slashes from the values specified for
50542         --source-base, --m4-base, --tests-base, --aux-dir.
50543         Suggested by Simon Josefsson <jas@extundo.com>.
50544
50545 2005-09-20  Bruno Haible  <bruno@clisp.org>
50546
50547         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
50548         func_modules_to_filelist, func_import, func_create_testdir): Make all
50549         sorting results locale-independent, so that gnulib-cache.m4 doesn't
50550         change when gnulib-tool is invoked in a different locale.
50551
50552 2005-09-19  Simon Josefsson  <jas@extundo.com>
50553
50554         * m4/socklen.m4: Fix typo.
50555
50556 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50557
50558         Use a consistent style for including <config.h>.
50559         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
50560         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
50561         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
50562         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
50563         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
50564         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
50565         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
50566         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
50567         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
50568         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
50569         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
50570         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
50571         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
50572         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
50573         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
50574         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
50575         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
50576         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
50577         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
50578         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
50579         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
50580         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
50581         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
50582         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
50583         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
50584         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
50585         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
50586         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
50587         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
50588         lib/xstrtoumax.c, lib/yesno.c:
50589         Standardize inclusion of config.h.
50590         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
50591         lib/inttostr.h:  Removed inclusion of config.h from header files.
50592         * lib/inttostr.c:  Adjusted in-tree users.
50593         * lib/timespec.h: Remove superfluous warning to include config.h.
50594         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
50595         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
50596         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
50597         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
50598         config.h with HAVE_CONFIG_H.
50599
50600 2005-09-19  Jim Meyering  <jim@meyering.net>
50601
50602         * modules/pathmax (License): Change to LGPL.
50603
50604 2005-09-19  Derek Price  <derek@ximbiot.com>
50605
50606         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
50607
50608 2005-09-19  Bruno Haible  <bruno@clisp.org>
50609
50610         * gnulib-tool (import): Provide default for --tests-base.
50611
50612 2005-09-19  Bruno Haible  <bruno@clisp.org>
50613
50614         * doc/quote.texi: New file, extracted from gnulib.texi.
50615         * doc/ctime.texi: New file, extracted from gnulib.texi.
50616         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
50617         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
50618         * doc/gnulib.texi: Include them.
50619
50620 2005-09-18  Bruno Haible  <bruno@clisp.org>
50621
50622         Portability fix.
50623         * gnulib-tool (func_readlink): New function.
50624         (func_ln_if_changed): Use it.
50625
50626 2005-09-18  Bruno Haible  <bruno@clisp.org>
50627
50628         * gnulib-tool: Support --with-tests also with --import.
50629         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
50630         (func_import): Use variables $testsbase and $inctests. Emit a
50631         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
50632         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
50633         SUBDIRS += $testsdir.
50634         (func_create_testdir): Update.
50635
50636 2005-09-18  Bruno Haible  <bruno@clisp.org>
50637
50638         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
50639         instead of $dry_run.
50640         (func_cp_if_changed, func_mv_if_changed): Remove functions.
50641         (func_ln_if_changed): Don't handle dry-run here.
50642         (func_import): In dry-run mode, detect more precisely which actions
50643         would be performed, and don't use "...ing" verbs.
50644
50645 2005-09-18  Bruno Haible  <bruno@clisp.org>
50646
50647         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
50648         (func_import): Use join on two temporary files instead of three nested
50649         loops, in order to determine which files are new or old.
50650
50651 2005-09-18  Bruno Haible  <bruno@clisp.org>
50652
50653         * gnulib-tool (func_import): Comment out code that spits out the
50654         new files with --dry-run.
50655
50656 2005-09-18  Bruno Haible  <bruno@clisp.org>
50657
50658         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
50659
50660 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50661
50662         * lib/stat-time.h: New file.
50663         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
50664         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
50665         in a different way.
50666         (timespec_cmp): New function.
50667         * lib/utimecmp.c: Include stat-time.h.
50668         (SYSCALL_RESOLUTION): Depend on whether various struct stat
50669         members exist, not on the obsolescent ST_MTIM_NSEC.
50670         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
50671
50672 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50673
50674         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
50675
50676 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50677
50678         * MODULES.html.sh (File system functions): Add stat-time.
50679         * modules/stat-time: New file.
50680         * modules/timespec (Files): Remove m4/st_mtim.m4; this
50681         is now done in a different way, by the stat-time module.
50682         * modules/utimecmp (Depends-on): Add stat-time.
50683
50684 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
50685
50686         * m4/st_mtim.m4: Remove.  Superseded by...
50687         * m4/stat-time.m4: New file.
50688         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
50689         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
50690
50691 2005-09-15  Derek Price  <derek@ximbiot.com>
50692
50693         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
50694
50695 2005-09-15  Derek Price  <derek@ximbiot.com>
50696
50697         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
50698         * lib/regex_internal.c: Ditto, using this...
50699         (__GNUC_PREREQ): ...new macro.
50700         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
50701         using...
50702         (__GNUC_PREREQ): ...this new macro.
50703
50704         * lib/strstr.h: Include string.h. Define strstr as a macro here.
50705
50706 2005-09-15  Derek Price  <derek@ximbiot.com>
50707             Paul Eggert  <eggert@cs.ucla.edu>
50708
50709         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
50710         changes, consolidating in...
50711         * lib/regex_internal.h: ...this file.
50712
50713 2005-09-13  Jim Meyering  <jim@meyering.net>
50714
50715         * lib/canon-host.c: Filter through gnu indent and reword comments
50716         slightly.
50717         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
50718
50719 2005-09-13  Derek Price  <derek@ximbiot.com>
50720
50721         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
50722         failure.
50723         Reported by Jim Meyering  <jim@meyering.net>.
50724
50725 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50726
50727         * lib/base64.c: Typo.
50728         (base64_encode): Put b64str in initialized data section.
50729
50730 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
50731
50732         Merge glibc and coreutils changes into gnulib, plus a few
50733         extra fixes.
50734         * lib/md5.c: Use #error rather than a string.
50735         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
50736         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
50737         (__attribute__): Define to empty for non recent-GCC.
50738         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
50739         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
50740         Renamed from their non-__ counterparts, with new macros replacing
50741         them if not _LIBC.  Add __THROW attribute.
50742         (rol): Remove.
50743         (struct md5_ctx): Align buffer if using GCC.
50744         * lib/sha1.h (struct sha1_ctx): Likewise.
50745         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
50746         The old name was backwards.
50747         (NOTSWAP): Remove; not used.
50748         (rol): New macro, moved here from md5.h.
50749         (sha1_process_block): Remove a FIXME that doesn't make sense.
50750
50751 2005-09-12  Derek Price  <derek@ximbiot.com>
50752
50753         Return usable errors from canon-host.
50754         * lib/canon-host.h: New file.
50755         * lib/canon-host.c (canon_host): Wrap...
50756         (canon_host_r): ...this new function, which now relies exclusively on
50757         getaddrinfo.
50758         (ch_strerror): New function.
50759         (last_cherror): New global.
50760         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
50761         interface.
50762         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
50763         void *.
50764         (freeaddrinfo): Free ai->ai_canonname when set.
50765
50766 2005-09-12  Derek Price  <derek@ximbiot.com>
50767
50768         Make canon-host require getaddrinfo.
50769         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
50770         AC_LIBSOURCE canon-host.h.  Call...
50771         (gl_PREREQ_CANON_HOST): ...this new function, which requires
50772         gl_GETADDRINFO.
50773         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
50774
50775 2005-09-12  Derek Price  <derek@ximbiot.com>
50776
50777         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
50778         LGPL.
50779         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
50780
50781 2005-09-12  Derek Price  <derek@ximbiot.com>
50782
50783         * lib/gai_strerror.c: Include config.h when available.  Include
50784         getaddrinfo.h before other headers to test interface.
50785         Reported by Larry Jones <lawrence.jones@ugs.com>.
50786
50787 2005-09-12  Derek Price  <derek@ximbiot.com>
50788             Paul Eggert  <eggert@cs.ucla.edu>
50789
50790         * modules/glob (Files): Add glob-libc.h.
50791
50792 2005-09-12  Derek Price  <derek@ximbiot.com>
50793             Paul Eggert  <eggert@cs.ucla.edu>
50794
50795         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
50796         glob_.h, glob-libc.h.
50797         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
50798
50799 2005-09-12  Derek Price  <derek@ximbiot.com>
50800             Paul Eggert  <eggert@cs.ucla.edu>
50801
50802         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
50803         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
50804         protecting things that should be done only in gnulib contexts.
50805         * lib/glob_.h: New file, containing only the glob things needed for
50806         gnulib.
50807         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
50808         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
50809         (glob, globfree, glob_pattern_p): Now defined simply in terms of
50810         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
50811         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
50812         and to respect the namespace rules better.
50813
50814 2005-09-08  Simon Josefsson  <jas@extundo.com>
50815
50816         * modules/socklen: New file.
50817
50818 2005-09-08  Simon Josefsson  <jas@extundo.com>
50819
50820         * m4/socklen.m4: New file.
50821
50822 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50823
50824         * modules/utimens (Files): Add m4/utimbuf.m4, since
50825         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
50826         Reported by Sergey Poznyakoff.
50827
50828 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50829
50830         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
50831         definitions, since that's the preferred style in glibc.
50832         Fix a minor spacing issue, and update copyright notice to match
50833         glibc's.
50834
50835 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50836
50837         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
50838
50839 2005-09-06  Simon Josefsson  <jas@extundo.com>
50840
50841         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
50842         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
50843
50844 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50845
50846         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
50847         warning.
50848
50849 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50850
50851         * config/srclist.txt: Add glibc bug 1302.
50852
50853 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50854
50855         Change bitset word type from unsigned int to unsigned long int,
50856         as this has better performance on typical 64-bit hosts.
50857         Port bitset code to hosts with unusual word sizes.
50858         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
50859         (build_collating_symbol):
50860         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
50861         argument is a bitset.  This is merely a style issue, but it makes
50862         it clearer that an entire array is expected.
50863         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
50864         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
50865         Port to the case where bitset_word is not the same as unsigned int.
50866         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
50867         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
50868         Likewise.
50869         * lib/regexec.c (check_dst_limits_calc_pos_1,
50870         check_subexp_matching_top):
50871         (build_trtable, group_nodes_into_DFAstates):
50872         Likewise.
50873         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
50874         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
50875         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
50876         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
50877         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
50878         * lib/regcomp.c (optimize_subexps, lower_subexp):
50879         Work even if bitset_word has holes in its bitwise representation.
50880         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
50881         * lib/regexec.c (check_dst_limits_calc_pos_1,
50882         check_subexp_matching_top):
50883         Likewise.
50884         * lib/regex_internal.c (re_string_reconstruct):
50885         Don't assume UCHAR_MAX == 255.
50886         * lib/regex_internal.h (bitset_set_all): Likewise.
50887         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
50888         All uses changed.
50889         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
50890         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
50891         All uses changed.
50892         (BITSET_WORD_MAX): New macro.
50893         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
50894         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
50895         (bitset_empty, bitset_copy):
50896         Prefer sizeof (bitset) to multiplying it out ourselves.
50897         (bitset_not_merge): Remove; unused.
50898         (bitset_contain): Return bool, not unsigned int with one bit on.
50899         All callers changed.
50900         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
50901         alignment than re_node_set; do this by defining a new internal
50902         type struct dests_alloc and using it to allocate memory.
50903
50904 2005-09-05  Bruno Haible  <bruno@clisp.org>
50905
50906         * gnulib-tool (func_import): Fix comparison in handling of symbolic
50907         links.
50908
50909 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
50910
50911         * modules/size_max (Makefile.am): Add size_max.h
50912
50913 2005-09-04  Derek Price  <derek@ximbiot.com>
50914
50915         * gnulib-tool (func_import): Fix reversed $symbolic logic.
50916
50917 2005-09-03  Simon Josefsson  <jas@extundo.com>
50918
50919         * gnulib-tool: Fix typo.
50920
50921 2005-09-03  Simon Josefsson  <jas@extundo.com>
50922
50923         * config/srclist.txt: Add glibc bug 1293.
50924
50925 2005-09-03  Derek Price  <derek@ximbiot.com>
50926
50927         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
50928         From Larry Jones <lawrence.jones@ugs.com>.
50929
50930 2005-09-02  Simon Josefsson  <jas@extundo.com>
50931
50932         * modules/socklen: New file.
50933
50934 2005-09-02  Simon Josefsson  <jas@extundo.com>
50935
50936         * modules/havelib: New module.
50937
50938         * modules/gettext, modules/iconv, modules/lock, modules/readline:
50939         Use havelib.
50940
50941 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
50942
50943         Check for arithmetic overflow when calculating sizes, to prevent
50944         some buffer-overflow issues.  These patches are conservative, in the
50945         sense that when I couldn't determine whether an overflow was possible,
50946         I inserted a run-time check.
50947         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
50948         macros.
50949         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
50950         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
50951         (re_xnrealloc, re_x2nrealloc): New inline functions.
50952         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
50953         parse_bracket_exp):
50954         (build_equiv_class, build_charclass): Check for arithmetic overflow
50955         in size expression calculations.
50956         * lib/regex_internal.c (re_string_realloc_buffers):
50957         (build_wcs_upper_buffer, re_node_set_add_intersect):
50958         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
50959         (re_dfa_add_node, register_state): Likewise.
50960         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
50961         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
50962         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
50963         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
50964
50965 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
50966
50967         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
50968         m4/ulonglong.m4.  Problem reported by Martin Lambers.
50969
50970 2005-09-02  Bruno Haible  <bruno@clisp.org>
50971
50972         Support for lib vs. lib64 distinction on biarch platforms.
50973         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
50974         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
50975         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
50976
50977 2005-09-02  Bruno Haible  <bruno@clisp.org>
50978
50979         * gnulib-tool (import): In the other first-use case, provide defaults
50980         as well.
50981
50982 2005-09-02  Bruno Haible  <bruno@clisp.org>
50983
50984         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
50985         patches not yet found in the latest gettext release.
50986
50987 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50988
50989         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
50990         to avoid a collision with bits/local_lim.h in glibc.
50991         All uses changed.  Problem reported by Dmitry V. Levin in
50992         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
50993
50994         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
50995         bugs in int versus size_t comparisons.
50996         (re_string_context_at): Fix bug where the code assumed that
50997         Idx is signed.
50998
50999         Use bool where appropriate.
51000         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
51001         All callers changed.
51002         (calc_eclosure_iter): Likewise, for ROOT arg.
51003         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
51004         (build_charclass_op): Likewise, for NON_MATCH arg.
51005         * lib/regex_internal.c (re_string_allocate, re_string_construct):
51006         (re_string_construct_common): Likewise, for ICASE arg.
51007         * lib/regexec.c (re_search_2_stub, re_search_stub):
51008         Likewise, for RET_LEN arg.
51009         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
51010         (set_regs): Likewise, for FL_BACKTRACK arg.
51011         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
51012         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
51013         (calc_eclosure_iter, parse_bracket_exp):
51014         Use bool for internal variables that are booleans.
51015         * lib/regexec.c (re_search_internal, check_matching,
51016         proceed_next_node):
51017         (set_regs, build_sifted_states, sift_states_bkref):
51018         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
51019         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51020         (find_collation_sequence_value):
51021         Likewise.
51022         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
51023         (re_node_set_compare):
51024         Return bool, not int. All callers changed.
51025         * lib/regexec.c (check_halt_node_context, check_dst_limits):
51026         (build_trtable, check_node_accept): Likewise.
51027         * lib/regex_internal.h: Include stdbool.h.
51028
51029         Fix bugs uncovered when converting to bool.
51030         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
51031         failure instead of charging ahead blindly.
51032         * lib/regex_internal.c (register_state): Likewise.
51033         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
51034         for freeing internal storage.
51035         (group_nodes_into_DFA_states): Use unsigned int, not int, for
51036         bitset pieces used as boolean, to avoid undefined behavior
51037         on hosts that do int overflow checking.
51038
51039 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51040
51041         * config/srclist.txt: Add glibc bugs 1285-1287.
51042
51043 2005-09-01  Jim Meyering  <jim@meyering.net>
51044
51045         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
51046         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
51047         Require gl_STAT_MACROS, too.
51048
51049 2005-09-01  Bruno Haible  <bruno@clisp.org>
51050
51051         * gnulib-tool (import): In the first-use case, provide defaults.
51052
51053 2005-09-01  Bruno Haible  <bruno@clisp.org>
51054
51055         * gnulib-tool (func_import): Remove the .tmp files.
51056
51057 2005-09-01  Bruno Haible  <bruno@clisp.org>
51058
51059         * gnulib-tool (func_import): Fix handling of symbolic links.
51060
51061 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51062
51063         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
51064         old glibc regex code mishandles strings longer than 2**31 bytes.
51065         This patch fixes this when the regex code is used in gnulib
51066         (i.e., outside glibc).
51067
51068         This patch should not affect the use of the regex code inside
51069         glibc.  No doubt this problem also needs to be handled for glibc
51070         as well, but the result will be an incompatible change to the
51071         glibc ABI, and the old ABI will have to be supported too.  That
51072         can be the the subject for another patch.
51073
51074         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
51075         governing whether the rest of this patch is active.  By default,
51076         the macro is disabled and the patch has no effect.
51077         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
51078         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
51079         (struct re_pattern_buffer, re_search, re_search_2, re_match):
51080         (re_match_2, re_set_registers): Use the new types.
51081         * lib/regex_internal.h (Idx, re_hashval_t): New types.
51082         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
51083         New macros.
51084         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
51085         (re_string_context_at, bin_tree_t, re_dfastate_t):
51086         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
51087         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
51088         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
51089         (re_string_char_size_at, re_string_wchar_at):
51090         (re_string_elem_size_at):
51091         Use the new types and macros to port to 64-bit hosts.
51092         Use unsigned types for internal values, so that the code
51093         mostly works even for arrays larger than SSIZE_MAX.
51094         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
51095         (search_duplicated_node, calc_eclosure_iter, fetch_number):
51096         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
51097         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
51098         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
51099         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
51100         (calc_inveclosure, parse_dup_op, build_range_exp):
51101         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
51102         (fetch_number, create_token_tree, mark_opt_subexp):
51103         Likewise.
51104         * lib/regex_internal.c (re_string_construct_common,
51105         create_ci_newstate):
51106         (create_cd_newstate, re_string_allocate, re_string_construct):
51107         (re_string_realloc_buffers, build_wcs_upper_buffer):
51108         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51109         (re_string_reconstruct, re_string_peek_byte_case):
51110         (re_string_fetch_byte_case, re_string_context_at):
51111         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51112         (re_node_set_init_copy, re_node_set_add_intersect):
51113         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51114         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51115         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51116         (re_acquire_state, re_acquire_state_context, register_state):
51117         Likewise.
51118         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
51119         search_cur_bkref_entry):
51120         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
51121         (re_search_internal, re_search_2_stub, re_search_stub)
51122         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
51123         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
51124         (update_cur_sifted_state, check_dst_limits):
51125         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51126         (check_subexp_limits, sift_states_bkref, merge_state_array):
51127         (check_subexp_matching_top, get_subexp, get_subexp_sub):
51128         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
51129         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51130         (expand_bkref_cache, check_node_accept_bytes):
51131         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
51132         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
51133         (acquire_init_state_context, check_halt_node_context):
51134         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
51135         (sift_states_backward, clean_state_log_if_needed):
51136         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
51137         (find_recover_state, transit_state_sb, transit_state_mb):
51138         (transit_state_bkref, build_trtable, match_ctx_clean):
51139         Likewise.
51140         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
51141         to work around an assumption that REG_MISSING is negative.
51142
51143         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
51144         (seek_collating_symbol_entry) [defined _LIBC]:
51145         (lookup_collation_sequence_value) [defined _LIBC]:
51146         (build_range_exp, build_collating_symbol) [defined _LIBC]:
51147         Use prototypes rather than old-style function definitions.
51148         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
51149         (transit_state_sb) [0]:
51150         (find_collation_sequence_value) [defined _LIBC]: Likewise.
51151
51152         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
51153         rm_eo.
51154
51155         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
51156         (optimize_subexps, lower_subexp):
51157         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
51158         since the signed shift might overflow.  Use 1u<<31 instead.
51159         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
51160         Likewise.
51161         * lib/regexec.c (check_dst_limits_calc_pos_1,
51162         check_subexp_matching_top): Likewise.
51163
51164         * lib/regcomp.c (optimize_subexps, lower_subexp):
51165         Use CHAR_BIT rather than 8, for clarity.
51166         * lib/regexec.c (check_dst_limits_calc_pos_1):
51167         (check_subexp_matching_top): Likewise.
51168         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
51169         have to worry about portability issues when shifting it left.
51170         Remove no-longer-needed test for table_size > 0.
51171         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
51172         in a word, as the resulting behavior is undefined.
51173         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
51174         in one case, a <= should have been an <, and in another case the
51175         whole test was missing.
51176         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
51177         the standard name CHAR_BIT.
51178         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
51179         this is not true on one's complement and signed-magnitude hosts.
51180
51181         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
51182         next_last_offset.
51183         (struct re_dfa_t): Remove unused member states_alloc.
51184         * lib/regcomp.c (init_dfa): Don't initialize unused members.
51185
51186 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51187
51188         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
51189         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
51190         and large-file glibc and in 32-bit large-file Solaris.
51191
51192 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51193
51194         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
51195         lengths fit in regoff_t; this isn't true if regoff_t is the same
51196         width as size_t.
51197         * lib/regex.c (re_search_internal): 5th arg is LAST_START
51198         (= START + RANGE) instead of RANGE.  This avoids overflow
51199         problems when regoff_t is the same width as size_t.
51200         All callers changed.
51201         (re_search_2_stub): Check for overflow when adding the
51202         sizes of the two strings.
51203         (re_search_stub): Check for overflow when adding START
51204         to RANGE; if it occurs, substitute the extreme value.
51205
51206 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51207
51208         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
51209
51210 2005-08-31  Jim Meyering  <jim@meyering.net>
51211
51212         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
51213         a pointer-to-const.
51214         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
51215         (register_state): Likewise.
51216         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
51217         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
51218         (group_nodes_into_DFAstates): Likewise.
51219
51220 2005-08-31  Jim Meyering  <jim@meyering.net>
51221
51222         * check-module: Add a FIXME comment.
51223
51224 2005-08-31  Eric Blake  <ebb9@byu.net>
51225
51226         * modules/unistd-safer (Files): Add unistd--.h.
51227         * modules/stdio-safer (Files): Add stdio--.h.
51228
51229 2005-08-31  Derek Price  <derek@ximbiot.com>
51230
51231         * lib/getdelim.c (getdelim): Return EOF on EOF.
51232         Reported by Larry Jones <lawrence.jones@ugs.com>.
51233
51234 2005-08-31  Bruno Haible  <bruno@clisp.org>
51235
51236         Avoid unnecessary diffs in the generated lib/Makefile.am.
51237         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
51238         the generated files.
51239         (func_import): Don't set cmd.
51240
51241 2005-08-31  Bruno Haible  <bruno@clisp.org>
51242
51243         * lib/strstr.c: Include <stddef.h>, for NULL.
51244         * lib/strcasestr.c: Likewise.
51245         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51246
51247 2005-08-31  Bruno Haible  <bruno@clisp.org>
51248
51249         * gnulib-tool: New option --macro-prefix.
51250         (func_import): Use macro_prefix.
51251         (import): Handle option --macro-prefix.
51252
51253 2005-08-31  Bruno Haible  <bruno@clisp.org>
51254
51255         * gnulib-tool (import): Rename most ac_* variables to cached_*.
51256         Also use new variables cached_lgpl, cached_libtool.
51257
51258 2005-08-31  Bruno Haible  <bruno@clisp.org>
51259
51260         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
51261         always instantiating them.
51262
51263 2005-08-31  Bruno Haible  <bruno@clisp.org>
51264
51265         * gnulib-tool (func_import): Read the previous cached settings
51266         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
51267         earlier added by gnulib but are now dropped. Warn when a gnulib file
51268         overwrites a non-gnulib file.
51269
51270 2005-08-31  Bruno Haible  <bruno@clisp.org>
51271
51272         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
51273         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
51274         projects that don't keep autogenerated files in CVS. Put into
51275         actioncmd only the specified modules, not the transitive closure.
51276
51277 2005-08-31  Bruno Haible  <bruno@clisp.org>
51278
51279         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
51280         Create directories that shall be filled.
51281         (import): Don't look for gl_* macros in configure.ac. Recurse across
51282         all directories containing a gnulib-cache.m4 files, if meaningful.
51283
51284 2005-08-31  Bruno Haible  <bruno@clisp.org>
51285
51286         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
51287         (import): Set seen_libtool when we see gl_LIBTOOL.
51288
51289 2005-08-31  Bruno Haible  <bruno@clisp.org>
51290
51291         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
51292         declaration macro definitions from generated gnulib.m4.
51293
51294 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
51295
51296         * lib/iconvme.h: Add prototype for iconv_alloc.
51297
51298 2005-08-29  Simon Josefsson  <jas@extundo.com>
51299
51300         * lib/iconvme.c: Fix errno.
51301
51302 2005-08-29  Bruno Haible  <bruno@clisp.org>
51303
51304         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
51305         that it works when the directory contains spaces.
51306
51307 2005-08-29  Bruno Haible  <bruno@clisp.org>
51308
51309         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
51310
51311 2005-08-29  Bruno Haible  <bruno@clisp.org>
51312
51313         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
51314         Emit more advice.
51315
51316 2005-08-29  Bruno Haible  <bruno@clisp.org>
51317         and Stepan Kasal  <kasal@ucw.cz>
51318
51319         * check-module: If more parameters are given, check each of them
51320         separately; add more exceptions, as noted by Jim Meyering.
51321         (check_module): New procedure.
51322         (%exempt_header): Now contains all exceptions.
51323
51324 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
51325
51326         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
51327
51328 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51329
51330         * lib/iconvme.c: Split iconv_string into iconv_alloc.
51331
51332 2005-08-28  Bruno Haible  <bruno@clisp.org>
51333
51334         * m4/gnulib-tool.m4: New file.
51335
51336 2005-08-27  Jim Meyering  <jim@meyering.net>
51337
51338         * modules/unistd-safer (Files): Add pipe-safer.c.
51339         * modules/fcntl-safer (Files): Add creat-safer.c.
51340
51341 2005-08-27  Jim Meyering  <jim@meyering.net>
51342
51343         * m4/stdlib-safer.m4: New file.  From coreutils.
51344         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
51345         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
51346         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
51347         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
51348         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
51349
51350 2005-08-27  Jim Meyering  <jim@meyering.net>
51351
51352         * lib/fopen-safer.c: Merge minor changes from coreutils.
51353         * lib/dup-safer.c: Likewise.
51354         * lib/fd-safer.c: Likewise.
51355
51356         Merge from coreutils.
51357         * lib/stdio--.h: New file.
51358         * lib/stdlib--.h: New file.
51359         * lib/mkstemp-safer.c: New file.
51360
51361         GNU tar needs these.
51362         * lib/pipe-safer.c: New file.
51363         * lib/creat-safer.c: New file.
51364         * lib/fcntl--.h (creat): Define to creat_safer.
51365         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
51366         * lib/unistd--.h (pipe): Define to pipe_safer.
51367         * lib/unistd-safer.h: Declare pipe_safer.
51368
51369 2005-08-26  Simon Josefsson  <jas@extundo.com>
51370
51371         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
51372         Haible <bruno@clisp.org>.
51373
51374 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
51375
51376         * lib/regex_internal.h: Remove all references to
51377         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
51378         or better.
51379         (bitset_not, bitset_merge, bitset_not_merge):
51380         (bitset_mask, re_string_allocate, re_string_construct):
51381         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
51382         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
51383         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
51384         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
51385         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51386         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51387         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
51388         (re_acquire_state_context):
51389         Remove unnecessary forward decls.
51390         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
51391         Put __attribute at function definition,
51392         now that the function decl has been removed.
51393         * lib/regex_internal.c (re_string_peek_byte_case):
51394         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
51395         Likewise.
51396
51397 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
51398
51399         * m4/regex.m4: Add AC_PREREQ(2.50).
51400         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
51401
51402 2005-08-25  Simon Josefsson  <jas@extundo.com>
51403
51404         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
51405         __fsetlocking.
51406
51407 2005-08-25  Simon Josefsson  <jas@extundo.com>
51408
51409         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
51410         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
51411         GLIBC specific code.
51412
51413 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51414
51415         Make regex safe for g++.  This fixes one real bug (an "err"
51416         that should have been "*err").  g++ problem reported by
51417         Sam Steingold.
51418         * lib/regex_internal.h (re_calloc): New macro, consistent with
51419         re_malloc etc.  All callers of calloc changed to use re_calloc.
51420         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
51421         not int.  All callers changed.
51422         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
51423         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
51424         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
51425         (find_recover_state): Change "err" to "*err"; this fixes what
51426         appears to be a real bug.
51427         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
51428         versus int.
51429
51430 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51431
51432         * modules/regex (Depends-on): Add malloc, since the code
51433         assumes that !malloc(0) means failure.
51434
51435 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51436
51437         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
51438
51439         alloca modernization/simplification for regex.
51440         * lib/regex.c: Remove portability cruft for alloca.  This no longer
51441         needs to be at the start of the file, and can be moved into
51442         regex_internal.h and simplified.
51443         * lib/regex_internal.h: Include <alloca.h>.
51444         (__libc_use_alloca) [!defined _LIBC]: New macro.
51445         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
51446         now works outside glibc.
51447
51448 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51449
51450         * config/srclist.txt: Add glibc bugs 1241, 1245.
51451
51452 2005-08-25  Jim Meyering  <jim@meyering.net>
51453
51454         * lib/open-safer.c: Include <config.h>.
51455         Otherwise, we'd lose LARGEFILE support in any file using
51456         e.g. "fcntl--.h"
51457
51458 2005-08-25  Bruno Haible  <bruno@clisp.org>
51459
51460         * m4/minmax.m4: Require autoconf 2.52.
51461         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
51462         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
51463         alternatives of translit over the alphabet.
51464         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
51465
51466 2005-08-24  Simon Josefsson  <jas@extundo.com>
51467
51468         * tests/test-getpass.c: New file.
51469
51470 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51471
51472         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
51473         for GNU regex features.
51474
51475 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51476
51477         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
51478         * lib/regex.h (regerror): Likewise.
51479
51480         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
51481         requires this.  (The code never needed it.)
51482
51483         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
51484         All uses of recently-renamed identifiers changed to use the new,
51485         POSIX-compliant names.  The code will build and run just fine
51486         without these changes, but it's better to eat our own dog food
51487         and use the standard-conforming names.
51488
51489         * lib/regex.h: Fix a multitude of POSIX name space violations.
51490         These changes have an effect only for programs that define
51491         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
51492         do not change anything for programs compiled in the normal way.
51493         Also, there is no effect on the ABI.
51494
51495         (_REGEX_SOURCE): New macro.
51496         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
51497         defined and _GNU_SOURCE is not; this fixes a name space violation.
51498
51499         Rename the following macros to obey POSIX requirements.
51500         The old names are still visible as macros if _REGEX_SOURCE is defined.
51501         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
51502         RE_BACKSLASH_ESCAPE_IN_LISTS.
51503         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
51504         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
51505         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
51506         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
51507         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
51508         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
51509         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
51510         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
51511         (REG_INTERVALS): renamed from RE_INTERVALS.
51512         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
51513         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
51514         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
51515         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
51516         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
51517         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
51518         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
51519         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
51520         RE_UNMATCHED_RIGHT_PAREN_ORD.
51521         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
51522         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
51523         (REG_DEBUG): renamed from RE_DEBUG.
51524         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
51525         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
51526         unusual, since we can't clash with the POSIX REG_ICASE.
51527         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
51528         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
51529         (REG_NO_SUB): renamed from RE_NO_SUB.
51530         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
51531         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
51532         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
51533         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
51534         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
51535         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
51536         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
51537         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
51538         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
51539         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
51540         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
51541         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
51542         RE_SYNTAX_POSIX_MINIMAL_BASIC.
51543         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
51544         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
51545         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
51546         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
51547         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
51548         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
51549         (REG_FIXED): Renamed from REGS_FIXED.
51550         (REG_NREGS): Renamed from RE_NREGS.
51551
51552         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
51553         of other REG_* macros, since POSIX says the user is allowed to
51554         #undef these macros selectively.
51555
51556         (reg_errcode_t): Update comment stating what other tables need
51557         to be consistent.
51558
51559         Rename the following enum values to obey POSIX requirements.
51560         The old names are still visible as macros.
51561         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
51562         is not defined, since GNU is supposed to be a superset of POSIX as
51563         much as possible, and since we want reg_errcode_t to be a signed
51564         type for implementation consistency.
51565         (_REG_NOERROR): Renamed from REG_NOERROR.
51566         (_REG_NOMATCH): Renamed from REG_NOMATCH.
51567         (_REG_BADPAT): Renamed from REG_BADPAT.
51568         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
51569         (_REG_ECTYPE): Renamed from REG_ECTYPE.
51570         (_REG_EESCAPE): Renamed from REG_EESCAPE.
51571         (_REG_ESUBREG): Renamed from REG_ESUBREG.
51572         (_REG_EBRACK): Renamed from REG_EBRACK.
51573         (_REG_EPAREN): Renamed from REG_EPAREN.
51574         (_REG_EBRACE): Renamed from REG_EBRACE.
51575         (_REG_BADBR): Renamed from REG_BADBR.
51576         (_REG_ERANGE): Renamed from REG_ERANGE.
51577         (_REG_ESPACE): Renamed from REG_ESPACE.
51578         (_REG_BADRPT): Renamed from REG_BADRPT.
51579         (_REG_EEND): Renamed from REG_EEND.
51580         (_REG_ESIZE): Renamed from REG_ESIZE.
51581         (_REG_ERPAREN): Renamed from REG_ERPAREN.
51582         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
51583         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
51584         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
51585         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
51586
51587         (_REG_RE_NAME, _REG_RM_NAME): New macros.
51588         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
51589         changed.  But support the old name if the new one is not defined
51590         and if _REGEX_SOURCE.
51591
51592         Change the following member names in struct re_pattern_buffer.
51593         The old names are still supported if !_REGEX_SOURCE.
51594         The new names are always supported, regardless of _REGEX_SOURCE.
51595         (re_buffer): Renamed from buffer.
51596         (re_allocated): Renamed from allocated.
51597         (re_used): Renamed from used.
51598         (re_syntax): Renamed from syntax.
51599         (re_fastmap): Renamed from fastmap.
51600         (re_translate): Renamed from translate.
51601         (re_can_be_null): Renamed from can_be_null.
51602         (re_regs_allocated): Renamed from regs_allocated.
51603         (re_fastmap_accurate): Renamed from fastmap_accurate.
51604         (re_no_sub): Renamed from no_sub.
51605         (re_not_bol): Renamed from not_bol.
51606         (re_not_eol): Renamed from not_eol.
51607         (re_newline_anchor): Renamed from newline_anchor.
51608
51609         Change the following member names in struct re_registers.
51610         The old names are still supported if !_REGEX_SOURCE.
51611         The new names are always supported, regardless of _REGEX_SOURCE.
51612         (rm_num_regs): Renamed from num_regs.
51613         (rm_start): Renamed from start.
51614         (rm_end): Renamed from end.
51615
51616         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
51617         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
51618         Prepend __ to parameter names.
51619
51620         Undo yesterday's changes.
51621
51622 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51623
51624         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
51625         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
51626         lib/regex.c.
51627
51628 2005-08-24  Jim Meyering  <jim@meyering.net>
51629
51630         Sync from coreutils.
51631         * m4/fcntl-safer.m4: New file.
51632
51633         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
51634         and object files for this module.
51635
51636 2005-08-24  Jim Meyering  <jim@meyering.net>
51637
51638         Sync from coreutils.
51639         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
51640
51641 2005-08-24  Jim Meyering  <jim@meyering.net>
51642
51643         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
51644         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
51645
51646 2005-08-24  Jim Meyering  <jim@meyering.net>
51647
51648         * modules/fcntl-safer: New module.
51649         * modules/fts (Depends-on): Add fcntl-safer.
51650         * MODULES.html.sh (File descriptor based Input/Output):
51651         Add fcntl-safer.
51652
51653 2005-08-24  Bruno Haible  <bruno@clisp.org>
51654
51655         Support for unit test modules.
51656         * modules/README: Mention tests modules.
51657         * modules/TEMPLATE-TESTS: New file.
51658         * gnulib-tool: New options --extract-tests-module, --with-tests and
51659         --tests-base (unused for the moment).
51660         (testsbase, inctests): New variables.
51661         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
51662         (func_verify_module): Exclude TEMPLATE-TESTS.
51663         (func_verify_nontests_module, func_verify_tests_module): New functions.
51664         (func_get_dependencies): Add implicit dependency for tests modules.
51665         (func_get_tests_module): New function.
51666         (func_modules_transitive_closure): When --with-tests was specified,
51667         include the unit tests as well, unless explicitly avoided.
51668         (func_emit_lib_Makefile_am): Ignore the tests modules here.
51669         (func_emit_tests_Makefile_am): New function.
51670         (func_create_testdir): When --with-tests was specified, emit a
51671         tests/ directory.
51672         * MODULES.html.sh (Future developments): Update.
51673
51674 2005-08-24  Bruno Haible  <bruno@clisp.org>
51675
51676         * modules/tls-tests: New file.
51677         * tests/test-tls.c: New file, from GNU gettext.
51678
51679 2005-08-24  Bruno Haible  <bruno@clisp.org>
51680
51681         * modules/lock-tests: New file.
51682         * tests/test-lock.c: New file, from GNU gettext.
51683
51684 2005-08-24  Bruno Haible  <bruno@clisp.org>
51685
51686         * lib/lock.h: Add multiple inclusion guard.
51687         * lib/tls.h: Add multiple inclusion guard.
51688
51689 2005-08-24  Bruno Haible  <bruno@clisp.org>
51690
51691         * gnulib-tool: Add support for the --aux-dir option to
51692         --create-testdir, --create-megatestdir, --test, --megatest.
51693         (func_create_testdir, func_create_megatestdir): Optionally emit a
51694         AC_CONFIG_AUX_DIR directive.
51695         (create-testdir, create-megatestdir, test, megatest): Provide a
51696         default value for $auxdir.
51697
51698 2005-08-24  Bruno Haible  <bruno@clisp.org>
51699
51700         * gnulib-tool (import): Use compound statement instead of subshell
51701         where possible.
51702
51703 2005-08-24  Bruno Haible  <bruno@clisp.org>
51704
51705         * gnulib-tool (import): Change --aux-dir default to "build-aux".
51706
51707 2005-08-24  Bruno Haible  <bruno@clisp.org>
51708
51709         * gnulib-tool (func_version): Update.
51710
51711 2005-08-24  Bruno Haible  <bruno@clisp.org>
51712
51713         * gnulib-tool (func_import, func_create_testdir,
51714         func_create_megatestdir): Quote all autoconf macro arguments.
51715
51716 2005-08-24  Bruno Haible  <bruno@clisp.org>
51717
51718         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
51719         option --force, because --force causes the aclocal.m4 of each
51720         subdirectory to be newer than the corresponding config.h.in.
51721
51722 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51723
51724         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
51725         All contents moved to gl_REGEX.
51726         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
51727         assume that it does.
51728
51729 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51730
51731         * lib/regex.h (REG_NOSYS)
51732         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
51733         Define, since POSIX requires it as of 2001.
51734         (_REG_ENOSYS)
51735         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
51736         New private symbol, used to keep the enum signed in all cases.
51737         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
51738         Youngman in
51739         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
51740
51741         * lib/regex_internal.c (re_string_skip_chars, register_state):
51742         (calc_state_hash):
51743         Remove forward decls; no longer needed now that we use prototypes.
51744         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
51745         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
51746         (clean_state_log_if_needed): Likewise.
51747
51748 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51749
51750         * config/srclist.txt: Add glibc bugs 1231-1233.
51751
51752 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51753
51754         Fix problems reported by Sam Steingold in
51755         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
51756         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
51757         assumed that reg_errcode_t is a signed type, which is not
51758         necessarily true if _XOPEN_SOURCE is not defined.
51759         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
51760         since some compilers warn about it otherwise.
51761
51762 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51763
51764         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
51765         (init_word_char, create_initial_state, duplicate_node_closure):
51766         (fetch_token, peek_token_bracket, build_range_exp):
51767         (build_collating_symbol): Remove forward decls; no longer needed
51768         now that we use prototypes.
51769
51770         * lib/regcomp.c:
51771         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
51772         (re_compile_fastmap_iter, regcomp, regerror, regfree):
51773         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
51774         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
51775         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
51776         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
51777         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
51778         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
51779         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
51780         (build_range_exp, build_collating_symbol, parse_bracket_exp):
51781         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
51782         (build_charclass, build_charclass_op, fetch_number, create_tree):
51783         (create_token_tree, mark_opt_subexp, duplicate_tree):
51784         Use prototypes rather than old-style definitions.
51785
51786         * lib/regex_internal.c:
51787         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
51788         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
51789         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51790         (re_string_reconstruct, re_string_peek_byte_case):
51791         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
51792         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51793         (re_node_set_init_copy, re_node_set_add_intersect):
51794         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51795         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51796         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51797         (re_acquire_state, re_acquire_state_context, register_state):
51798         (create_ci_newstate, create_cd_newstate, free_state):
51799         Likewise.
51800         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
51801         re_search_2):
51802         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
51803         (re_search_internal, prune_impossible_nodes):
51804         (acquire_init_state_context, check_matching, static):
51805         (check_halt_node_context, check_halt_state_context, proceed_next_node):
51806         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
51807         (update_regs, sift_states_backward, build_sifted_states):
51808         (clean_state_log_if_needed, merge_state_array):
51809         (update_cur_sifted_state, add_epsilon_src_nodes):
51810         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
51811         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
51812         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
51813         (find_recover_state, check_subexp_matching_top, transit_state_mb):
51814         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
51815         (check_arrival, check_arrival_add_next_nodes):
51816         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51817         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51818         (check_node_accept_bytes, check_node_accept, extend_buffers):
51819         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
51820         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
51821         (sift_ctx_init):
51822         Likewise.
51823
51824         * lib/regex_internal.h:
51825         (re_string_allocate, re_string_construct, re_string_reconstruct):
51826         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
51827         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
51828         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
51829         (re_string_context_at, re_string_peek_byte_case):
51830         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
51831         is defined, since we now use prototypes always.
51832
51833         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
51834         C89 or better.  All uses removed.
51835
51836 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51837
51838         * config/srclist.txt: Add glibc bugs 1220-1227.
51839
51840 2005-08-20  Jim Meyering  <jim@meyering.net>
51841
51842         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
51843         of unused local, dfa.
51844
51845 2005-08-20  Bruno Haible  <bruno@clisp.org>
51846
51847         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
51848
51849 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51850
51851         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
51852         (re_node_set_insert_last, re_dfa_add_node):
51853         Rename local variables to avoid GCC shadowing warnings.
51854
51855 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51856
51857         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
51858         [defined lint]: Suppress bogus uninitialized-variable warnings.
51859
51860         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
51861         and let the caller return REG_ESPACE if out of space.  This
51862         removes an uninitialied-variable warning with GCC 4.0.1, and also
51863         avoids taking the address of a local variable.  All callers
51864         changed.
51865
51866 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51867
51868         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
51869         $LIBCSRC/posix/regexec.c.
51870         Add glibc bug 1217 for regcomp.c.
51871
51872 2005-08-19  Jim Meyering  <jim@meyering.net>
51873
51874         * lib/regexec.c (proceed_next_node): Redo local variables to
51875         avoid GCC shadowing warnings.
51876
51877 2005-08-18  Bruno Haible  <bruno@clisp.org>
51878
51879         * lib/strstr.c (strstr): Fix return value in multibyte case.
51880         * lib/strcasestr.c (strcasestr): Likewise.
51881
51882 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51883
51884         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
51885
51886 2005-08-17  Jim Meyering  <jim@meyering.net>
51887
51888         Make the %s format (seconds since the epoch) work for a negative
51889         number and when used with a zero-padded field width, e.g. %015s.
51890
51891         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
51892         label so that it precedes the code to set `digits'.  Otherwise,
51893         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
51894         print `00-22'.  Now, it prints `-0022', as it should.
51895
51896 2005-08-17  Bruno Haible  <bruno@clisp.org>
51897
51898         * modules/strstr (Files): Add m4/mbrtowc.m4.
51899         (Depends-on): Add mbuiter.
51900
51901 2005-08-17  Bruno Haible  <bruno@clisp.org>
51902
51903         * modules/strcasestr: New file.
51904         * MODULES.html.sh (String handling, based on ANSI C 89): Add
51905         strcasestr.
51906
51907 2005-08-17  Bruno Haible  <bruno@clisp.org>
51908
51909         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
51910
51911 2005-08-17  Bruno Haible  <bruno@clisp.org>
51912
51913         * modules/mbuiter: New file.
51914         * MODULES.html.sh (Extended multibyte and wide character utilities):
51915         Add mbuiter.
51916
51917 2005-08-17  Bruno Haible  <bruno@clisp.org>
51918
51919         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
51920         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
51921
51922 2005-08-17  Bruno Haible  <bruno@clisp.org>
51923
51924         * m4/strcasestr.m4: New file.
51925
51926 2005-08-17  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
51929         * lib/strstr.c: Completely rewritten, with multibyte locale support.
51930
51931 2005-08-17  Bruno Haible  <bruno@clisp.org>
51932
51933         * lib/strcasestr.h: New file.
51934         * lib/strcasestr.c: New file.
51935
51936 2005-08-17  Bruno Haible  <bruno@clisp.org>
51937
51938         * lib/strcasecmp.c: Use mbuiter.h.
51939
51940 2005-08-17  Bruno Haible  <bruno@clisp.org>
51941
51942         * lib/mbuiter.h: New file.
51943
51944 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
51945
51946         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
51947         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
51948         and gl_GETOPT are both invoked via different paths (as happens
51949         with GNU tar CVS because it uses both argp and getopt), the former
51950         wins.
51951
51952 2005-08-16  Bruno Haible  <bruno@clisp.org>
51953
51954         * modules/tls: New file.
51955         * MODULES.html.sh (Multithreading): Add tls.
51956
51957 2005-08-16  Bruno Haible  <bruno@clisp.org>
51958
51959         * modules/strnlen1: New file.
51960         * MODULES.html.sh (String handling): Add strnlen1.
51961
51962 2005-08-16  Bruno Haible  <bruno@clisp.org>
51963
51964         * modules/strcase (Files): Add m4/mbrtowc.m4.
51965         (Depends-on): Add strnlen1, mbchar.
51966
51967 2005-08-16  Bruno Haible  <bruno@clisp.org>
51968
51969         * modules/mbiter: New file.
51970         * MODULES.html.sh (Extended multibyte and wide character utilities):
51971         Add mbiter.
51972
51973 2005-08-16  Bruno Haible  <bruno@clisp.org>
51974
51975         * modules/mbfile: New file.
51976         * MODULES.html.sh (Extended multibyte and wide character utilities):
51977         Add mbfile.
51978
51979 2005-08-16  Bruno Haible  <bruno@clisp.org>
51980
51981         * modules/mbchar: New file.
51982         * MODULES.html.sh (Extended multibyte and wide character utilities):
51983         New section.
51984
51985 2005-08-16  Bruno Haible  <bruno@clisp.org>
51986
51987         * m4/tls.m4: New file, from GNU gettext.
51988
51989 2005-08-16  Bruno Haible  <bruno@clisp.org>
51990
51991         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
51992         always.
51993         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
51994
51995 2005-08-16  Bruno Haible  <bruno@clisp.org>
51996
51997         * m4/mbiter.m4: New file.
51998
51999 2005-08-16  Bruno Haible  <bruno@clisp.org>
52000
52001         * m4/mbfile.m4: New file.
52002
52003 2005-08-16  Bruno Haible  <bruno@clisp.org>
52004
52005         * m4/mbchar.m4: New file.
52006
52007 2005-08-16  Bruno Haible  <bruno@clisp.org>
52008
52009         * lib/tls.h: New file, from GNU gettext.
52010         * lib/tls.c: New file, from GNU gettext.
52011
52012 2005-08-16  Bruno Haible  <bruno@clisp.org>
52013
52014         * lib/strnlen1.h: New file.
52015         * lib/strnlen1.c: New file.
52016
52017 2005-08-16  Bruno Haible  <bruno@clisp.org>
52018
52019         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
52020         (mbi_init): Update.
52021         (mbi_avail, mbi_advance): Let the iteration end before the terminating
52022         NUL byte, not after it.
52023
52024 2005-08-16  Bruno Haible  <bruno@clisp.org>
52025
52026         * lib/strcase.h (strcasecmp): Add note in comments.
52027         * lib/strncasecmp.c: Use code from strcasecmp.c.
52028         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
52029         (strcasecmp): Work correctly in multibyte locales.
52030
52031 2005-08-16  Bruno Haible  <bruno@clisp.org>
52032
52033         * lib/mbiter.h: New file.
52034
52035 2005-08-16  Bruno Haible  <bruno@clisp.org>
52036
52037         * lib/mbfile.h: New file.
52038
52039 2005-08-16  Bruno Haible  <bruno@clisp.org>
52040
52041         * lib/mbchar.h: New file.
52042         * lib/mbchar.c: New file.
52043
52044 2005-08-16  Bruno Haible  <bruno@clisp.org>
52045
52046         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
52047         the valid ones. Makes the comparison operations transitive:
52048         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
52049         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
52050
52051 2005-08-15  Simon Josefsson  <jas@extundo.com>
52052
52053         * modules/ssize_t (License): Change to 'unlimited'.
52054
52055         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
52056
52057 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52058
52059         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
52060         Add comments for each pending glibc patch.
52061
52062 2005-08-15  Bruno Haible  <bruno@clisp.org>
52063
52064         * lib/regex.h (__restrict_arr): Don't define to __restrict if
52065         __cplusplus is defined.
52066
52067 2005-08-14  Jim Meyering  <jim@meyering.net>
52068
52069         Sync from coreutils.
52070
52071         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
52072         Use the hash-table-based cycle-detection code not just when
52073         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
52074         Reported by James Youngman in
52075         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
52076         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
52077         FTS_TIGHT_CYCLE_CHECK.
52078         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
52079         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
52080         once again.
52081         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
52082         * lib/fts.c (fd_safer): Remove decl.
52083         Include fcntl--.h rather than unistd-safer.h
52084         (fts_safe_changedir): Don't call fd_safer; no longer needed
52085         now that we include fcntl--.h.
52086
52087 2005-08-12  Simon Josefsson  <jas@extundo.com>
52088
52089         * modules/getndelim2: Use ssize_t module.
52090         * modules/getnline: Likewise.
52091         * modules/safe-read: Likewise.
52092         * modules/xreadlink: Likewise.
52093
52094         * modules/ssize_t: New file.
52095
52096 2005-08-12  Simon Josefsson  <jas@extundo.com>
52097
52098         * m4/readline.m4: Look for termcap, curses or ncurses if required.
52099
52100 2005-08-12  Simon Josefsson  <jas@extundo.com>
52101
52102         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52103         ssize_t.
52104
52105 2005-08-12  Simon Josefsson  <jas@extundo.com>
52106
52107         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
52108         readline, getdelim and check_version.
52109         (Support for systems lacking ISO C 99: Sizes of integer types):
52110         Add size_max.
52111
52112 2005-08-12  Bruno Haible  <bruno@clisp.org>
52113
52114         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
52115
52116 2005-08-11  Simon Josefsson  <jas@extundo.com>
52117
52118         * modules/readline: New file.
52119
52120         * modules/strnlen (Files): Add strnlen.h.
52121
52122 2005-08-11  Simon Josefsson  <jas@extundo.com>
52123
52124         * m4/readline.m4: New file.
52125
52126 2005-08-11  Simon Josefsson  <jas@extundo.com>
52127
52128         * lib/readline.h, readline.c: New file.
52129
52130 2005-08-11  Simon Josefsson  <jas@extundo.com>
52131
52132         * doc/gnulib.texi (Initial import, Finishing touches): Mention
52133         gl_AVOID.
52134
52135 2005-08-11  Bruno Haible  <bruno@clisp.org>
52136
52137         * lib/strnlen.h (strnlen): Change parameter name to match comment.
52138
52139 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
52140
52141         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
52142
52143 2005-08-10  Simon Josefsson  <jas@extundo.com>
52144
52145         * tests/test-iconvme.c: New file.
52146
52147 2005-08-10  Simon Josefsson  <jas@extundo.com>
52148
52149         * m4/strnlen.m4: New file.
52150
52151         * m4/strndup.m4: Don't check for strnlen declaration, done in
52152         strnlen.m4.
52153
52154 2005-08-10  Simon Josefsson  <jas@extundo.com>
52155
52156         * lib/strndup.c: Use strnlen.h.
52157
52158         * lib/strnlen.h: New file.
52159
52160 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52161
52162         * README: Typos.
52163
52164 2005-08-02  Simon Josefsson  <jas@extundo.com>
52165
52166         * modules/readline: New file.
52167
52168 2005-08-02  Simon Josefsson  <jas@extundo.com>
52169
52170         * modules/getdelim: New file.
52171
52172         * modules/getline: Rewrite, don't use getndelim2.
52173
52174 2005-08-02  Simon Josefsson  <jas@extundo.com>
52175
52176         * m4/getline.m4: Separate out getdelim stuff into separate module.
52177
52178         * m4/getdelim.m4: New file.
52179
52180 2005-08-02  Simon Josefsson  <jas@extundo.com>
52181
52182         * lib/getline.h, getline.c: Rewrite.
52183
52184         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
52185
52186 2005-07-31  Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/lock.h (gl_lock_initializer): New macro.
52189         (gl_lock_define_initialized): Use it.
52190         (gl_rwlock_initializer): New macro.
52191         (gl_rwlock_define_initialized): Use it.
52192         (gl_recursive_lock_initializer): New macro.
52193         (gl_recursive_lock_define_initialized): Use it.
52194
52195 2005-07-30  Karl Berry  <karl@gnu.org>
52196
52197         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
52198         Report from Ben Pfaff, regarding getopt.
52199
52200 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
52201
52202         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
52203         normal way.
52204         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
52205         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
52206         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
52207         (gl_GETOPT): Use the new macros.  Most of the implementation
52208         is moved to the new macros.  This is for programs like Emacs
52209         that don't want all the functionality of gl_GETOPT.
52210
52211 2005-07-26  Bruno Haible  <bruno@clisp.org>
52212
52213         * m4/lock.m4: Update from GNU gettext.
52214
52215 2005-07-26  Bruno Haible  <bruno@clisp.org>
52216
52217         * lib/lock.h: Update from GNU gettext.
52218         * lib/lock.c: Update from GNU gettext.
52219
52220 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
52221
52222         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
52223         obsolescent AC_TRY_RUN.  Include the default includes files, for
52224         'exit'.
52225
52226 2005-07-24  Bruno Haible  <bruno@clisp.org>
52227
52228         * modules/visibility: New file.
52229         * MODULES.html.sh (Misc): Add visibility.
52230
52231 2005-07-24  Bruno Haible  <bruno@clisp.org>
52232
52233         * m4/visibility.m4: New file.
52234
52235 2005-07-24  Bruno Haible  <bruno@clisp.org>
52236
52237         * doc/visibility.texi: New file.
52238
52239 2005-07-22  Bruno Haible  <bruno@clisp.org>
52240
52241         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
52242         $(ALLOCA_H), redundant through BUILT_SOURCES.
52243         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
52244         redundant through BUILT_SOURCES.
52245         * modules/byteswap (Makefile.am): Remove explicit dependency on
52246         $(BYTESWAP_H), redundant through BUILT_SOURCES.
52247         * modules/fnmatch (Makefile.am): Remove explicit dependency on
52248         $(FNMATCH_H), redundant through BUILT_SOURCES.
52249         * modules/getopt (Makefile.am): Remove explicit dependency on
52250         $(GETOPT_H), redundant through BUILT_SOURCES.
52251         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
52252         redundant through BUILT_SOURCES.
52253         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
52254         redundant through BUILT_SOURCES.
52255         * modules/stdbool (Makefile.am): Remove explicit dependency on
52256         $(STDBOOL_H), redundant through BUILT_SOURCES.
52257         * modules/stdint (Makefile.am): Remove explicit dependency on
52258         $(STDINT_H), redundant through BUILT_SOURCES.
52259         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
52260         Remove explicit dependency on $(SYSEXITS_H).
52261         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
52262
52263 2005-07-18  Simon Josefsson  <jas@extundo.com>
52264
52265         * lib/check-version.c (check_version): Accept identical versions too.
52266
52267 2005-07-18  Bruno Haible  <bruno@clisp.org>
52268
52269         * modules/lock: New file.
52270         * MODULES.html.sh (Multithreading): New section.
52271
52272 2005-07-18  Bruno Haible  <bruno@clisp.org>
52273
52274         * m4/lock.m4: New file, from GNU gettext.
52275
52276 2005-07-18  Bruno Haible  <bruno@clisp.org>
52277
52278         * lib/lock.h: New file, from GNU gettext.
52279         * lib/lock.c: New file, from GNU gettext.
52280
52281 2005-07-18  Bruno Haible  <bruno@clisp.org>
52282
52283         * lib/lock.h (gl_once_t): New type.
52284         (gl_once_define, gl_once): New macros.
52285         * lib/lock.c (fresh_once): New variable.
52286         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
52287         functions.
52288
52289 2005-07-16  Simon Josefsson  <jas@extundo.com>
52290
52291         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
52292         workaround, suggested by Bruno.
52293
52294 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52295
52296         * modules/xalloc (Depends-on): Add xalloc-die.
52297         * modules/xvasprintf (Depends-on): Add xalloc-die.
52298
52299 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52300
52301         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
52302         with a minor change.
52303
52304 2005-07-15  Bruno Haible  <bruno@clisp.org>
52305
52306         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
52307         When using lib/poll.c, define poll as rpl_poll.
52308
52309 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
52310
52311         * modules/argp (Depends-on): Remove unlocked-io.
52312
52313 2005-07-14  Derek Price  <derek@ximbiot.com>
52314
52315         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
52316         for glob symlink bug.
52317
52318 2005-07-14  Bruno Haible  <bruno@clisp.org>
52319
52320         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
52321         Instead, test for *_unlocked function declarations directly.
52322
52323 2005-07-11  Simon Josefsson  <jas@extundo.com>
52324
52325         * modules/size_max: New file.
52326
52327         * modules/xsize: Depend on size_max module for size_max.m4.
52328
52329 2005-07-11  Simon Josefsson  <jas@extundo.com>
52330
52331         * lib/size_max.h: New file.
52332
52333 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
52334
52335         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
52336         copyright symbol and the year.
52337         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
52338         (version_etc_va): Use parameterized copyright notice.
52339         Reword to conform to the current GNU coding standards.
52340
52341 2005-07-11  Karl Berry  <karl@gnu.org>
52342
52343         * doc/gnulib.texi (Quoting): new node.
52344         (Initial import): more info, from Patrice.
52345
52346 2005-07-11  Bruno Haible  <bruno@clisp.org>
52347
52348         * gnulib-tool (func_usage): Document option --avoid.
52349         (Command line options): Handle --avoid.
52350         (func_acceptable): New function.
52351         (func_modules_transitive_closure): Use it.
52352
52353 2005-07-11  Bruno Haible  <bruno@clisp.org>
52354
52355         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
52356         Reported by Jim Meyering.
52357
52358 2005-07-10  Bruno Haible  <bruno@clisp.org>
52359
52360         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
52361         Needed when size_t is smaller than 'unsigned int'.
52362         Reported by Paul Eggert.
52363
52364 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52365
52366         * modules/argp (Depends-on): Add unlocked-io
52367
52368 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52369
52370         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
52371         block of defines.
52372
52373 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52374
52375         * config/srclist.txt: Comment out regcomp.c, since we have a porting
52376         fix now.
52377
52378 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
52379         and Paul Eggert  <eggert@cs.ucla.edu>
52380
52381         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
52382         in wint_t, not wchar_t.  Remove now-unnecessary cast.
52383
52384 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52385
52386         * modules/regex (Files): Add lib/regex_internal.c,
52387         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
52388         (Depends-on): Add extensions.
52389         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
52390
52391 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52392
52393         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
52394         pathconf.
52395         * m4/same.m4 (gl_SAME): Likewise.
52396         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
52397
52398         * m4/regex.m4: Adjust to new libc regex implementation.
52399         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
52400         all the .c and .h parts of (the new) regex.
52401         Quote the m4 stuff better.
52402         Check for RE_ICASE bug of old gnulib.
52403         Check for REG_STARTEND of recent libc.
52404         Rename local variables from jm_* to gl_*.
52405         Quote operand of "test -f".
52406         Say "recent enough" version of libc, not "version 2".
52407         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
52408         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
52409         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
52410         Remove check for btowc, isascii.
52411         Require AM_LANGINFO_CODESET.
52412
52413 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52414
52415         * lib/regex.c, regex.h: Sync from libc.
52416         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
52417         * lib/regexec.c:
52418         New files, synced from libc, except that regex_internal.h
52419         currently has a small porting fix.
52420
52421 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52422
52423         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
52424         regex_internal.c, regexec.c.
52425         Add regex_internal.h too, but as a comment, since the libc version
52426         is currently broken in gnulib mode.
52427
52428 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52429
52430         Support programs like Emacs that use gnulib but not gettext.
52431         * MODULES.html.sh (Internationalization functions): Add gettext-h.
52432         * modules/gettext-h: New file.
52433         * modules/gettext (Files): Remove lib/gettext.h.
52434         (Depends-on): Add gettext-h.
52435         (Makefile.am): Remove lib_SOURCES.
52436         * modules/argmatch, modules/c-stack, modules/closeout:
52437         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
52438         * modules/execute, modules/file-type, modules/getaddrinfo:
52439         * modules/getopt, modules/human, modules/javacomp:
52440         * modules/javaexec, modules/mkdir-p, modules/obstack:
52441         * modules/openat, modules/pagealign_alloc, modules/pipe:
52442         * modules/quotearg, modules/regex, modules/rpmatch:
52443         * modules/unicodeio, modules/userspec, modules/version-etc:
52444         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
52445         * modules/xsetenv:
52446         Depend on gettext-h, not gettext.
52447
52448 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52449
52450         * gnulib-tool (func_import): Add support for 'public domain' license.
52451         * modules/alloca, modules/atexit, modules/memmove:
52452         Now public domain, not GPL.
52453         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
52454         * modules/realloc, modules/strerror, modules/strtod:
52455         Now LGPL, not GPL.
52456
52457 2005-07-05  Bruno Haible  <bruno@clisp.org>
52458
52459         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
52460         autoconf CVS. Needed for mingw.
52461
52462 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52463
52464         Remove the dependency of the strftime module on the tzset module.
52465         * modules/strftime (Depends-on): Remove dependency on tzset.
52466
52467 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52468
52469         Remove the dependency of the strftime module on the tzset module.
52470         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
52471         gl_FUNC_TZSET_CLOBBER.
52472
52473 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52474
52475         Remove the dependency of the strftime module on the tzset module.
52476         * lib/strftime.c (my_strftime)
52477         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
52478         Copy the input structure, to work around some of the bug with
52479         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
52480         Solaris releases, you should also use the tzset module, but we won't
52481         require it as a dependency any more since we don't want LGPLed code
52482         to depend on GPLed code.
52483
52484 2005-07-02  Jim Meyering  <jim@meyering.net>
52485
52486         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
52487         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
52488         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
52489         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
52490
52491 2005-07-02  Jim Meyering  <jim@meyering.net>
52492
52493         * lib/backupfile.c (backup_args): Change a `0' to NULL.
52494
52495 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52496
52497         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
52498         declares only 'struct timespec;' (!).
52499
52500 2005-07-01  Jim Meyering  <jim@meyering.net>
52501
52502         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
52503         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
52504         * lib/save-cwd.c, tempname.c:
52505         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52506         and don't include <sys/file.h>).
52507
52508 2005-06-29  Jim Meyering  <jim@meyering.net>
52509
52510         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
52511         type name.  Use the variable name instead.
52512         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
52513         Likewise.
52514
52515 2005-06-28  Simon Josefsson  <jas@extundo.com>
52516
52517         * modules/check-version (Files): Add check-version.m4.
52518
52519 2005-06-28  Simon Josefsson  <jas@extundo.com>
52520
52521         * m4/check-version.m4: New file, suggested by Jim Meyering
52522         <jim@meyering.net>.
52523
52524 2005-06-28  Simon Josefsson  <jas@extundo.com>
52525
52526         * lib/check-version.h, lib/check-version.c: New files.
52527
52528 2005-06-28  Simon Josefsson  <jas@extundo.com>
52529
52530         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
52531         collision with global variable.  Better indentation.  Don't
52532         increment buffer pointer beyond buffer end.  Based on comments
52533         from Paul Eggert <eggert@cs.ucla.edu>.
52534
52535         * lib/base64.h: Indent.
52536
52537 2005-06-28  Simon Josefsson  <jas@extundo.com>
52538
52539         * doc/gnulib.texi (Library version handling): New section.
52540
52541 2005-06-28  Jim Meyering  <jim@meyering.net>
52542
52543         * check-module (find_included_lib_files): Hard-code another
52544         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
52545         but modules/fts-lgpl (correctly) does not list those files.
52546
52547         * modules/canonicalize (Files): Add lib/pathmax.h.
52548
52549 2005-06-25  Simon Josefsson  <jas@extundo.com>
52550
52551         * modules/check-version: New file.
52552
52553 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52554
52555         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
52556         initializer of struct addrinfo, as an indication that we don't
52557         care how many members the structure has.
52558
52559 2005-06-24  Derek Price  <derek@ximbiot.com>
52560         and Bruno Haible  <bruno@clisp.org>
52561
52562         Remove stat module & update lstat.
52563         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
52564         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52565         * m4/stat.m4: Remove this file.
52566
52567 2005-06-24  Derek Price  <derek@ximbiot.com>
52568         and Bruno Haible  <bruno@clisp.org>
52569
52570         Remove stat module & update lstat.
52571         * lib/stat.c: Remove this file...
52572         (slash_aware_lstat): ...moving this content and its support...
52573         * lib/lstat.c (rpl_lstat): ...into here.
52574         * lib/lstat.h: New file.
52575
52576 2005-06-24  Derek Price  <derek@ximbiot.com>
52577         and Bruno Haible  <bruno@clisp.org>
52578
52579         Remove stat module & update lstat.
52580         * config/srclist.txt (libc sources): Remove stat.
52581
52582 2005-06-24  Derek Price  <derek@ximbiot.com>
52583         and Bruno Haible  <bruno@clisp.org>
52584
52585         Remove stat module & update lstat.
52586         * MODULES.html.sh (stat): Remove.
52587         * MODULES.html: Regenerated.
52588         * modules/lstat (Description): Correct function name.
52589         (Files): Add "lstat.h".
52590         (Depends-on): Remove stat, add xalloc, stat-macros.
52591         * modules/stat: Remove this file.
52592         (Include): Add "lstat.h", remove <sys/stat.h>.
52593
52594 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52595
52596         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
52597         (ranged_convert): Don't save conversion in a temporary struct.
52598         This causes a warning with GCC 4.0.0, and anyway in the typical
52599         case it's not worth the extra 100 bytes or so of code.
52600         (ranged_convert, __mktime_internal): When calling a function via a
52601         pointer P, use P () rather than (*P) (), as we now assume C89 or
52602         better.
52603
52604 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52605
52606         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
52607         "who -r" failed to give output.  Problem reported by Tim Waugh.
52608
52609         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
52610         (xcalloc): Use it to avoid needless tests.
52611         Problem reported by Jim Meyering.
52612
52613 2005-06-20  Derek Price  <derek@ximbiot.com>
52614
52615         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
52616         unnecessary for Autoconfs > 2.59c.
52617
52618 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52619
52620         * lib/argp.h (__option_is_short): Check upper limit of
52621         __key. Isprint() requires its argument to have the value
52622         of an unsigned char or EOF.
52623
52624 2005-06-16  Jim Meyering  <jim@meyering.net>
52625
52626         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
52627         when either N or S is zero.
52628
52629 2005-06-16  Derek Price  <derek@ximbiot.com>
52630
52631         * m4/bison.m4: Declare YACC & YFLAGS precious.
52632
52633 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52634
52635         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
52636         multibyte string or pattern, fall back on unibyte matching.
52637         Problem reported by James Youngman.
52638
52639 2005-06-08  Bruno Haible  <bruno@clisp.org>
52640
52641         * modules/csharpcomp: New file.
52642         * MODULES.html.sh (C#): Add csharpcomp.
52643
52644 2005-06-08  Bruno Haible  <bruno@clisp.org>
52645
52646         * m4/csharpcomp.m4: New file, from GNU gettext.
52647
52648 2005-06-08  Bruno Haible  <bruno@clisp.org>
52649
52650         * lib/csharpcomp.h: New file, from GNU gettext.
52651         * lib/csharpcomp.c: New file, from GNU gettext.
52652         * lib/csharpcomp.sh.in: New file, from GNU gettext.
52653
52654 2005-06-08  Bruno Haible  <bruno@clisp.org>
52655
52656         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
52657         warning on mingw.
52658
52659 2005-06-07  Derek Price  <derek@ximbiot.com>
52660
52661         Sync from CVS.
52662         * lib/glob_.h: Indent nested #ifdef.
52663
52664 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52665
52666         Sync from coreutils.
52667         Use "file name" when talking about file names, instead of "filename"
52668         or "path", as per the GNU coding standards.
52669         * lib/mkdir-p.c: Renamed from makepath.c.
52670         (make_dir_parents): Renamed from make_path.  All callers changed.
52671         * lib/mkdir-p.h: Likewise.  All includers changed.
52672         * lib/filenamecat.c: Renamed from path-concat.c.
52673         (file_name_concat): Renamed from path_concat.  All callers changed.
52674         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
52675         * lib/filenamecat.h: Likewise.  All includers changed.
52676         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
52677         in comments or local variable names.
52678         * lib/basename.c: Likewise.
52679         * lib/canonicalize.c, canonicalize.h: Likewise.
52680         * lib/dirname.c, dirname.h: Likewise.
52681         * lib/euidaccess.c: Likewise.
52682         * lib/exclude.c: Likewise
52683         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
52684         * lib/fsusage.c, fsuage.h: Likewise.
52685         * lib/fts.c, fts_.h: Likewise.
52686         * lib/getcwd.c: Likewise.
52687         * lib/getloadavg.c: Likewise.
52688         * lib/mkstemp.c: Likewise.
52689         * lib/mountlist.c, mountlist.h: Likewise.
52690         * lib/openat.c, openat.h: Likewise.
52691         * lib/readlink-stub.c: Likewise.
52692         * lib/readutmp.c, readutmp.h: Likewise.
52693         * lib/rename.c: Likewise.
52694         * lib/rmdir.c: Likewise.
52695         * lib/same.c: Likewise.
52696         * lib/savedir.c: Likewise.
52697         * lib/stripslash.c: Likewise.
52698         * lib/tempname.c: Likewise.
52699         * lib/xreadlink.c: Likewise.
52700         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
52701         All uses changed.
52702         * lib/exclude.h: Likewise.
52703
52704         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
52705         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52706         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
52707         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52708         * lib/pathmax.h: Include <limits.h> unconditionally, since other
52709         files have been getting away with it for years (MORE/BSD 4.3
52710         is extinct now).
52711         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
52712         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52713
52714         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
52715         Define to 256, not 255, as per modern POSIX.
52716
52717 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52718
52719         Sync from coreutils.
52720         Use "file name" when talking about file names, instead of "filename"
52721         or "path", as per the GNU coding standards.
52722         * MODULES.html.sh: mkdir-p renamed from makepath.
52723         filenamecat renamed from path-concat.
52724         * modules/filenamecat: Renamed from modules/path-concat.
52725         (Files): filenamecat.h and filenamecat.c renamed from
52726         path-concat.h and path-concat.c.
52727         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
52728         (Include): filenamecat.h, not path-concat.h.
52729         * modules/mkdir-p: Renamed from modules/makepath.
52730         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
52731         makepath.c.
52732         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
52733         (Include): mkdir-p.h, not makepath.h.
52734
52735 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52736
52737         Sync from coreutils.
52738         * m4/mkdir-p.m4: Renamed from makepath.m4.
52739         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
52740         Rename files from makepath.c to mkdir-p.c, and from
52741         makepath.h to mkdir-p.h.
52742         * m4/filenamecat.m4: Renamed from path-concat.m4.
52743         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
52744         Rename files from path-concat.c to filenamecat.c,
52745         and from path-concat.h to filenamecat.h.
52746         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
52747         "file name" in local variables or comments.
52748         * m4/rename.m4: Likewise.
52749
52750 2005-06-01  Bruno Haible  <bruno@clisp.org>
52751
52752         * modules/csharpexec: New file.
52753         * MODULES.html.sh (C#): New section.
52754
52755 2005-06-01  Bruno Haible  <bruno@clisp.org>
52756
52757         * m4/csharp.m4: New file, from GNU gettext.
52758         * m4/csharpexec.m4: New file, from GNU gettext.
52759
52760 2005-06-01  Bruno Haible  <bruno@clisp.org>
52761
52762         * lib/csharpexec.h: New file, from GNU gettext.
52763         * lib/csharpexec.c: New file, from GNU gettext.
52764         * lib/csharpexec.sh.in: New file, from GNU gettext.
52765
52766 2005-05-31  Derek Price  <derek@ximbiot.com>
52767             Paul Eggert  <eggert@cs.ucla.edu>
52768
52769         Sync from cvs.
52770         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52771
52772 2005-05-31  Derek Price  <derek@ximbiot.com>
52773             Paul Eggert  <eggert@cs.ucla.edu>
52774
52775         Sync from cvs.
52776         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52777
52778 2005-05-29  Derek Price  <derek@ximbiot.com>
52779
52780         * config/srclist.txt (glob_.h, glob.c): Add these files.
52781
52782 2005-05-29  Derek Price  <derek@ximbiot.com>
52783
52784         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
52785         * modules/glob: New file.
52786         * modules/getlogin_r: Add link to POSIX spec in description.
52787
52788 2005-05-29  Derek Price  <derek@ximbiot.com>
52789             Paul Eggert  <eggert@cs.ucla.edu>
52790
52791         * m4/glob.m4: New file.
52792
52793 2005-05-29  Derek Price  <derek@ximbiot.com>
52794             Paul Eggert  <eggert@cs.ucla.edu>
52795
52796         * lib/glob_.h, lib/glob.c: New files.
52797
52798 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52799
52800         * modules/fts (Files): Remove m4/inttypes-pri.m4.
52801         * modules/fts-lgpl (Depends-on): Remove gettext.
52802
52803 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52804
52805         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
52806         and don't require gt_INTTYPES_PRI.
52807
52808 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52809
52810         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
52811
52812         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
52813         the configuration hassle isn't worth it.
52814         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
52815         (LONGEST_MODIFIER, PRIuMAX): Remove.
52816
52817 2005-05-27  Bruno Haible  <bruno@clisp.org>
52818
52819         * lib/getlogin_r.h: Remove second include of <stddef.h>.
52820
52821 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52822
52823         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
52824         _POSIX_PTHREAD_SEMANTICS for Solaris.
52825
52826 2005-05-25  Derek Price  <derek@ximbiot.com>
52827
52828         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
52829
52830 2005-05-25  Derek Price  <derek@ximbiot.com>
52831             Paul Eggert  <eggert@cs.ucla.edu>
52832
52833         * modules/getlogin_r, m4/getlogin_r.m4: New files.
52834         * lib/getlogin_r.c, getlogin_r.h: New files.
52835
52836 2005-05-25  Bruno Haible  <bruno@clisp.org>
52837             Derek Price  <derek@ximbiot.com>
52838
52839         * lib/getlogin_r.h: Simplify API documentation.
52840
52841 2005-05-23  Derek Price  <derek@ximbiot.com>
52842
52843         * modules/minmax (Files): Add m4/minmax.m4.
52844         (configure.ac): Add gl_MINMAX.
52845
52846 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52847
52848         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
52849         so that unistd-safer.h (GPL'ed code) need not be included.
52850
52851 2005-05-22  Bruno Haible  <bruno@clisp.org>
52852
52853         * m4/minmax.m4: New file.
52854         Based on a patch by Derek Price <derek@ximbiot.com>.
52855
52856 2005-05-22  Bruno Haible  <bruno@clisp.org>
52857
52858         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
52859         (INT64_MIN): Fix definition.
52860         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
52861
52862         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
52863         NEED_SIGNED_INT_TYPES.
52864
52865         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
52866         HAVE_SYSTEM_INTTYPES.
52867
52868 2005-05-22  Bruno Haible  <bruno@clisp.org>
52869
52870         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
52871         Also include <sys/param.h> if it defines MIN, MAX.
52872         Based on a patch by Derek Price <derek@ximbiot.com>.
52873
52874 2005-05-21  Jim Meyering  <jim@meyering.net>
52875
52876         * modules/fts (Files): Add m4/inttypes-pri.m4.
52877         (Depends-on): Add lstat and remove gettext.  Alphabetize.
52878
52879 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52880
52881         New fts module.
52882         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
52883         (setup_dir, free_dir): New functions.
52884         (enter_dir, leave_dir): Define trivial
52885         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
52886         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
52887         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
52888         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
52889         Move to fts-cycle.c.
52890         (fts_open): Use setup_dir.
52891         (fts_close): Use free_dir.
52892         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
52893         This adds a label and some gotos, but the alternatives were messier.
52894         Check for memory allocation failure when entering a dir.
52895         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
52896         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
52897         (FTS): New member fts_cycle, that is a union that contains the
52898         old active_dir_ht and cycle_state.  All uses changed to mention
52899         fts_cycle.ht and fts_cycle.state.
52900         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
52901         fts.c, with the following changes:
52902         (setup_dir, free_dir): New functions.
52903         (enter_dir): Now returns bool.  Return true if successful, false
52904         if memory exhausted.  All callers changed.
52905         Do not bother partly cleaning up on
52906         memory allocation failure; that is free_dir's job.
52907         However, free ad if hash_insert fails, to avoid memory leak.
52908         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
52909         fts->fts_options to see which union member to use.
52910
52911 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52912
52913         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
52914         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
52915
52916 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52917
52918         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
52919
52920 2005-05-20  Jim Meyering  <jim@meyering.net>
52921
52922         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
52923         Now a macro, to pacify GCC.
52924
52925 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
52926
52927         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
52928         of -1.
52929
52930 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
52931
52932         * lib/chown.c (rpl_chown): Return -1 on failure.
52933
52934 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52935
52936         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
52937         Don't check for stddef.h.
52938         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
52939         don't use its results.
52940         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
52941         since we include them unconditionally.  Don't require
52942         AM_STDBOOL_H, since stdbool is a prerequisite.
52943         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
52944         since we assume C89 or better.
52945         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
52946         as we don't use their results.
52947         Don't check for fchdir, memmove, memset, strrchr, as we use
52948         them unconditionally.
52949         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
52950         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
52951
52952 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52953
52954         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
52955         Include <stddef.h> unconditionally, since we assume C89 now.
52956         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
52957         * lib/fts.c: Include fts_.h first, to check interface.
52958         Do not include intprops.h; no longer needed.
52959         Include cycle-check.h and hash.h, since fts_.h no longer does.
52960         Remove unnecessary casts of closedir to void.
52961         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
52962         decide whether to decrement nlinks.
52963         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
52964         (FTS): Use struct hash_table * instead of Hash_table, so that
52965         we no longer need to include hash.h here.
52966
52967 2005-05-18  Jim Meyering  <jim@meyering.net>
52968
52969         * modules/dirfd (License): Change to LGPL.  Most of the code
52970         is already in the public domain.
52971
52972 2005-05-18  Jim Meyering  <jim@meyering.net>
52973
52974         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
52975         Reported by Yoann Vandoorselaere.
52976
52977 2005-05-17  Jim Meyering  <jim@meyering.net>
52978
52979         * m4/fts.m4: New file, from coreutils.
52980
52981 2005-05-17  Jim Meyering  <jim@meyering.net>
52982
52983         * lib/fts.c, lib/fts_.h: New files, from coreutils.
52984
52985 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52986
52987         Sync from coreutils.
52988         * m4/unlinkdir.m4: New file.
52989
52990 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52991
52992         Sync from coreutils.
52993         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
52994         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
52995         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
52996         White space changes only.
52997         * lib/makepath.c (make_path): Port to hosts where leading "//" is
52998         special.
52999         * lib/yesno.c: Include getline.h, not ctype.h.
53000         (yesno): Don't remove leading white space; POSIX doesn't allow it.
53001         Use getline to remove arbitrary restriction on response length.
53002
53003 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53004
53005         * config/srclist-update: Spell out "Street" in FSF postal
53006         mail address; this is the style the FSF seems to prefer.
53007
53008         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
53009         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
53010         this updates FSF postal mail address.
53011
53012         Sync from coreutils.
53013         * modules/unlinkdir: New file.
53014         * modules/yesno (Depends-on): Add getline.
53015         * MODULES.html.sh (File system functions): Add unlinkdir.
53016
53017 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53018
53019         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
53020         lib/strsep.h:
53021         Change the initial comment to refer to GPL, not LGPL.
53022         gnulib-tool will change it to LGPL as needed.
53023
53024         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
53025         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
53026         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
53027         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
53028         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
53029         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
53030         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
53031         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
53032         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
53033         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
53034         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
53035         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
53036         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
53037         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
53038         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
53039         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
53040         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
53041         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
53042         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
53043         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
53044         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
53045         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
53046         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
53047         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
53048         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
53049         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
53050         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
53051         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
53052         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
53053         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
53054         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
53055         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
53056         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
53057         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
53058         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
53059         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
53060         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
53061         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
53062         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
53063         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
53064         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
53065         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
53066         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
53067         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
53068         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
53069         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
53070         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
53071         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
53072         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
53073         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
53074         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
53075         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
53076         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
53077         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
53078         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
53079         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
53080         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
53081         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
53082         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
53083         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
53084         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
53085         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
53086         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
53087         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
53088         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
53089         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
53090         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
53091         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
53092         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
53093         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
53094         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
53095         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
53096         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
53097         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
53098         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
53099         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
53100         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
53101         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
53102         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
53103         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
53104         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
53105         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
53106         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
53107         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
53108         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
53109         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
53110         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
53111         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
53112         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
53113         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
53114         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
53115         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
53116         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
53117         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
53118         lib/yesno.c, lib/yesno.h:
53119         Update FSF postal mail address.
53120
53121 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53122
53123         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
53124         tests/test-memmem.c, tests/test-stpncpy.c:
53125         Update FSF postal mail address.
53126
53127 2005-05-13  Bruno Haible  <bruno@clisp.org>
53128
53129         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
53130         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
53131         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
53132         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
53133         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
53134         Add support for 64-bit integers in the MSVC compiler.
53135
53136 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53137
53138         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
53139
53140 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
53141
53142         * gnulib-tool (func_import): Sort and uniquify recommended includes.
53143
53144 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
53145
53146         * doc/getdate.texi (General date syntax): Don't say that date
53147         date --iso-8601=ns generates acceptable dates; it doesn't yet.
53148         Problem reported by Nic Ferrier.
53149
53150 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53151
53152         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
53153         specified in ai_socktype. Fix invalid ai_protocol
53154         check. ai_protocol is usually set to 0 or depending on
53155         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
53156         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
53157         ai_socktype / ai_protocol in the returned addrinfo structure.
53158
53159 2005-05-10  Simon Josefsson  <jas@extundo.com>
53160
53161         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
53162         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53163
53164 2005-05-10  Karl Berry  <karl@gnu.org>
53165
53166         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
53167         (from http://www.gnu.org/licenses).
53168         * doc/COPYING.LIB: also rename to COPYING.LESSER.
53169         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
53170         fdl.texi suffices.
53171
53172 2005-05-10  Karl Berry  <karl@gnu.org>
53173
53174         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
53175         (COPYING.DOC): remove.
53176
53177         * config/srclist-update: new FSF address.
53178
53179 2005-05-10  Derek Price  <derek@ximbiot.com>
53180
53181         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
53182         possible.
53183
53184 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53185             Bruno Haible  <bruno@clisp.org>
53186
53187         * modules/inet_ntop: New file.
53188         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53189         inet_ntop.
53190
53191 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53192             Bruno Haible  <bruno@clisp.org>
53193
53194         * m4/inet_ntop.m4: New file.
53195
53196 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53197             Bruno Haible  <bruno@clisp.org>
53198
53199         * lib/inet_ntop.h: New file.
53200         * lib/inet_ntop.c: New file, from glibc with modifications.
53201
53202 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53203
53204         * modules/time_r (License): Change to LGPL.
53205         * modules/extensions (License): Change to LGPL.  Actually,
53206         the license is more permissive than that, but currently gnulib-tool
53207         doesn't know how to handle more-permissive licenses.
53208
53209         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
53210         Problem reported by Dave Love.
53211
53212 2005-05-08  Jim Meyering  <jim@meyering.net>
53213
53214         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
53215         blank.
53216
53217 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53218
53219         * modules/argmatch (Depends-on): Add stdbool.
53220         * modules/backupfile (Depends-on): Likewise.
53221         * modules/chdir-long (Depends-on): Likewise.
53222         * modules/closeout (Depends-on): Likewise.
53223         * modules/cycle-check (Depends-on): Likewise.
53224         * modules/dirname (Depends-on): Likewise.
53225         * modules/fnmatch (Depends-on): Likewise.
53226         * modules/fsusage (Depends-on): Likewise.
53227         * modules/fwriteerror (Depends-on): Likewise.
53228         * modules/getcwd (Depends-on): Likewise.
53229         * modules/getloadavg (Depends-on): Likewise.
53230         * modules/hard-locale (Depends-on): Likewise.
53231         * modules/makepath (Depends-on): Likewise.
53232         * modules/mountlist (Depends-on): Likewise.
53233         * modules/nanosleep (Depends-on): Likewise.
53234         * modules/posixtm (Depends-on): Likewise.
53235         * modules/quotearg (Depends-on): Likewise.
53236         * modules/readtokens (Depends-on): Likewise.
53237         * modules/readtokens0 (Depends-on): Likewise.
53238         * modules/readutmp (Depends-on): Likewise.
53239         * modules/save-cwd (Depends-on): Likewise.
53240         * modules/strftime (Depends-on): Likewise.
53241         * modules/userspec (Depends-on): Likewise.
53242         * modules/utimecmp (Depends-on): Likewise.
53243         * modules/xgetcwd (Depends-on): Likewise.
53244         * modules/xnanosleep (Depends-on): Likewise.
53245         * modules/xstrtod (Depends-on): Likewise.
53246         * modules/yesno (Depends-on): Likewise.
53247
53248 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53249
53250         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
53251         needless checks.
53252
53253 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53254
53255         Merge from coreutils.  Among other things,
53256         add bulletproofing for cases where stdin, stdout, or stderr are closed.
53257         * lib/fd-safer.c: New file.
53258         * lib/fcntl-safer.h, open-safer.c: Remove.
53259         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
53260         * lib/dup-safer.c: Include unistd-safer.h first.
53261         Don't include errno.h.
53262         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
53263         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
53264         * lib/file-type.c: Rely on file-type.h change.
53265         * lib/getloadavg.c: Include unistd-safer.h.
53266         (getloadavg): Use safer open.
53267         * lib/getusershell.c: Include "stdio-safer.h".
53268         (getusershell): Use safer fopen.
53269         * lib/long-options.c (long_options): Use NULL rather than 0.
53270         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
53271         'free'.
53272         * lib/modechange.c: Likewise.
53273         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
53274         (MODE_DONE): New constant.
53275         (struct mode_change): Remove 'next' member.
53276         (make_node_op_equals): New function; like the old one of the
53277         same name, except it allocates an array.
53278         (mode_compile, mode_create_from_ref): Use it.
53279         (mode_compile): Allocate result as an array, not a linked list.
53280         Parse octal string ourself, so that we catch mistakes like "+0".
53281         (mode_adjust): Arg is an array, not a linked list.
53282         * lib/modechange.c: Include stat-macros.h, xalloc.h.
53283         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
53284         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
53285         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
53286         Remove.  This is now stat-macros.h's job.
53287         (talloc): Remove.  All callers replaced by xalloc, so that
53288         our invokers don't have to worry about reporting memory failures.
53289         (make_node_op_equals): Remove.
53290         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53291         New constants.
53292         (struct mode_change): Moved here from modechange.h.
53293         (mode_append_entry): Remove.
53294         (mode_compile): Remove MASKED_OPS arg, since it encouraged
53295         apps to have incorrect behavior.  Use simpler algorithm for head
53296         and tail.  Don't futz with umask; that's now the job of mode_adjust.
53297         Detect more invalid usages rather than having somewhat-random behavior.
53298         Don't insert an "a=" action, as that leads to incorrect behavior.
53299         (mode_compile, mode_create_from_ref): Return NULL on error instead
53300         of an enum, since now there's only one way to have an error.  All
53301         callers changed.
53302         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
53303         at the correct time.  Simplify calculation of "+u" and its ilk.
53304         Don't mishandle "+X".
53305         (mode_free): Remove "register" and localize decls.
53306         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53307         (struct mode_change): Move to modechange.c; callers don't
53308         need to see this stuff.
53309         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
53310         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
53311         (mode_change, mode_adjust): Reflect the new signatures noted above.
53312         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
53313         that might redefine system include files.
53314         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
53315         (my_usleep): Use NULL rather than (void *) 0.
53316         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
53317         Use siginterrupt to specify that system calls should be interrupted.
53318         (rpl_nanosleep): Move initialization of suspended closer to call of
53319         my_usleep.
53320         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
53321         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
53322         (desirable_utmp_entry): New function.
53323         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
53324         using x2nrealloc, to simplify logic.
53325         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
53326         size calculation.  Do not assume utmp file is a regular file.
53327         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
53328         (READ_UTMP_CHECK_PIDS): New constant.
53329         * lib/save-cwd.c: Include unistd-safer.h.
53330         (save_cwd): Use fd_safer.
53331         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
53332         [!_LIBC] Include "stat-macros.h" instead.
53333         * lib/unistd-safer.h (fd_safer): New decl.
53334
53335 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53336
53337         * modules/getloadavg (Depends-on): Add unistd-safer.
53338         * modules/getusershell (Depends-on): Add stdio-safer.
53339         * modules/lstat (Depends-on): Remove xalloc.
53340         * modules/mkstemp (Depends-on): Add stat-macros.
53341         * modules/modechange (Depends-on): Remove xstrtol.
53342         Add stat-macros, xalloc.
53343         * modules/save-cwd (Depends-on): Add unistd-safer.
53344         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
53345         * modules/unistd-safer (Files): Add lib/fd-safer.c
53346         (Makefile.am): Remove lib_SOURCES.
53347
53348         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
53349         Remove fcntl-safer; unistd-safer supersedes it.
53350
53351 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53352
53353         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
53354         AC_HEADER_STAT.
53355         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
53356         (gl_PREREQ_CHOWN): Remove.
53357         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
53358         it.  Don't require AC_HEADER_STAT.
53359         (gl_PREREQ_LSTAT): Remove.
53360         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
53361         Don't require AC_HEADER_STAT.
53362         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
53363         (gl_PREREQ_RMDIR): Remove.
53364         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
53365         mention stat-macros.h or AC_HEADER_STAT, since we'll make
53366         the stat-macros module a prerequisite.
53367         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
53368         * m4/filemode.m4 (gl_FILEMODE): Likewise.
53369         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
53370         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
53371         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
53372         variable names.
53373         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
53374         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
53375         variable prefixes.
53376         * m4/fcntl-safer.m4: Remove.
53377         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
53378         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
53379         Invoke gl_PREREQ_FD_SAFER.
53380         (gl_PREREQ_FD_SAFER): New macro.
53381         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
53382         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
53383         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
53384         Remove duplicate call to AC_LIBOBJ(readutmp).
53385         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
53386
53387         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
53388         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
53389
53390 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53391
53392         * MODULES.html.sh (Misc): Add byteswap.
53393
53394 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53395
53396         * modules/getcwd (Depends-on): Add extensions.
53397         * modules/openat (Depends-on): Likewise.
53398
53399 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53400
53401         * modules/byteswap: New file.
53402
53403 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53404
53405         * m4/byteswap.m4: New file.
53406
53407 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53408
53409         * lib/byteswap_.h: New file.
53410
53411 2005-04-25  Karl Berry  <karl@gnu.org>
53412
53413         * m4/gettext.m4: Update from GNU gettext 0.14.4.
53414
53415 2005-04-25  Albert Chin  <china@thewrittenword.com>
53416
53417         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
53418         Toolkit C bug.
53419
53420 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
53421
53422         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
53423         (func_ln_if_changed) Remove forcibly for no error message
53424         in case file does not exist.
53425
53426 2005-04-19  Simon Josefsson  <jas@extundo.com>
53427
53428         * gnulib-tool (Options): Make --symlink mean --symbolic.
53429
53430 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
53431
53432         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
53433
53434 2005-04-16  Simon Josefsson  <jas@extundo.com>
53435
53436         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
53437
53438 2005-04-15  Simon Josefsson  <jas@extundo.com>
53439
53440         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
53441
53442 2005-04-15  Simon Josefsson  <jas@extundo.com>
53443
53444         * gnulib-tool: Rename --symlink to --symbolic.
53445
53446 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
53447
53448         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
53449         symbolic links to files instead of copying/moving.  Add --aux-dir,
53450         specifying directory relative --dir where auxiliary build tools
53451         are placed.
53452
53453 2005-04-14  Bruno Haible  <bruno@clisp.org>
53454
53455         * modules/allocsa (License): Change to LGPL.
53456         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53457
53458 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53459
53460         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
53461         that "UTC +1 second" continues to work.  Problem reported
53462         by Dmitry V. Levin.
53463         (relunit_snumber): New rule.
53464         (relunit): Use it.
53465
53466 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
53467
53468         * lib/getdate.y (universal_time_zone_table): New constant.
53469         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
53470         universal_time_zone_table.
53471         (lookup_zone): Prefer universal_time_zone_table to
53472         local_time_zone_table, so that "GMT" time stamps are allowed in
53473         London during the summer.  Problem reported by Ian Abbott.
53474
53475 2005-04-12  Jim Meyering  <jim@meyering.net>
53476
53477         * lib/human.c (humblock): Set *options even when returning due to
53478         xstrtoumax conversion failure.  Thanks to a used-uninitialized
53479         warning from gcc-4.
53480
53481 2005-04-09  Jim Meyering  <jim@meyering.net>
53482
53483         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
53484         -Wuninitialized: initialize tm0.tm_year.
53485
53486 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53487
53488         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
53489         count, since there's no maximum.  All uses changed.
53490         Add member dsts_seen.
53491         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
53492         not being INT_MAX.
53493         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
53494         Use pc_rels_seen to decide whther a date is absolute.
53495
53496         * lib/getdate.y (number): Don't overwrite year.
53497         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
53498         check.
53499
53500 2005-04-02  Simon Josefsson  <jas@extundo.com>
53501
53502         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
53503         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
53504
53505 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
53506
53507         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
53508         where no absolute path name can be longer than PATH_MAX.
53509
53510 2005-03-27  Jim Meyering  <jim@meyering.net>
53511
53512         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
53513
53514 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53515
53516         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
53517         "one's complement" -> "ones' complement" in comment, as per Knuth.
53518         "value of type" -> "type or expression" in comment.
53519         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
53520
53521 2005-03-26  Jim Meyering  <jim@meyering.net>
53522
53523         Comment nits.
53524         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
53525         Correct typos: s/or/of/.
53526
53527 2005-03-26  Jim Meyering  <jim@meyering.net>
53528
53529         * modules/check-include-files: Move to ../ and rename to...
53530         * check-module: ...this.
53531
53532 2005-03-25  Jim Meyering  <jim@meyering.net>
53533
53534         * modules/xvasprintf (Files): Add xalloc.h.
53535
53536 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53537
53538         * modules/gettext (Files): config/config.rpath ->
53539         build-aux/config.rpath
53540         * modules/iconv (Files): Likewise.
53541         Problem reported by Oskar Liljeblad.
53542
53543 2005-03-23  Jim Meyering  <jim@meyering.net>
53544
53545         * modules/check-include-files: New script to check for
53546         missing dependencies, multiple includes, etc.
53547
53548         * modules/c-strtold (Depends-on): Add xalloc.
53549         * modules/c-strtod (Depends-on): Add xalloc.
53550         * modules/hash (Depends-on): Add xalloc.
53551         (Files): Remove lib/xalloc.h.
53552
53553         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
53554         * modules/userspec (Files): Add lib/inttostr.h.
53555
53556 2005-03-23  Jim Meyering  <jim@meyering.net>
53557
53558         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
53559
53560 2005-03-22  Jim Meyering  <jim@meyering.net>
53561
53562         * modules/stat-macros: New module.
53563         * modules/canonicalize, modules/euidaccess, modules/file-type,
53564         * modules/filemode, modules/lchown, modules/makepath,
53565         * modules/rmdir, modules/stat: Depend on new stat-macros module
53566         rather than listing lib/stat-macros.h manually.
53567         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
53568
53569 2005-03-22  Jim Meyering  <jim@meyering.net>
53570
53571         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
53572
53573 2005-03-22  Bruno Haible  <bruno@clisp.org>
53574
53575         * config/srclist.txt: Replace target directory 'config' with
53576         'build-aux'.
53577         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
53578         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
53579         ../build-aux/.
53580
53581 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53582
53583         * modules/chdir-long (Depends-on): Add mempcpy.
53584
53585         * modules/acl, modules/backupfile, modules/c-strtod,
53586         modules/c-strtold, modules/canon-host, modules/canonicalize,
53587         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
53588         modules/exclude, modules/exitfail, modules/file-type,
53589         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
53590         modules/getdate, modules/getline, modules/getpagesize,
53591         modules/getpass, modules/getugroups, modules/group-member,
53592         modules/hard-locale, modules/hash, modules/human, modules/idcache,
53593         modules/inttostr, modules/long-options, modules/makepath,
53594         modules/md5, modules/memcasecmp, modules/memcoll,
53595         modules/modechange, modules/mountlist, modules/path-concat,
53596         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
53597         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
53598         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
53599         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
53600         modules/strftime, modules/strndup, modules/strverscmp,
53601         modules/timespec, modules/unlocked-io, modules/userspec,
53602         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
53603         modules/yesno:
53604         Remove lib_SOURCES line from Makefile.am section, as this is now
53605         done automatically by the corresponding Autoconf macro.
53606
53607 2005-03-21  Jim Meyering  <jim@meyering.net>
53608
53609         Changes imported from coreutils.
53610
53611         * lib/cycle-check.c: Don't include xalloc.h.
53612
53613         * lib/path-concat.c: Don't include assert.h.
53614         (path_concat): Remove assertion that would have triggered
53615         for ABASE starting with more than one slash.
53616         Reported by Andreas Schwab.
53617
53618         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
53619         properly when ABASE is an absolute file name.
53620         Correct the description of this function.
53621         Include <assert.h>.
53622         Add an assertion and a test driver.
53623         This fixes a bug introduced on 2004-07-02.
53624         Andreas Schwab reported the resulting failure of cp --parents:
53625         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
53626
53627 2005-03-21  Jim Meyering  <jim@meyering.net>
53628
53629         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
53630         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
53631
53632 2005-03-21  Jim Meyering  <jim@meyering.net>
53633         and  Paul Eggert  <eggert@cs.ucla.edu>
53634
53635         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
53636         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
53637         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
53638         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
53639         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
53640         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
53641         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
53642         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
53643         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
53644         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
53645         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
53646         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
53647         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
53648         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
53649         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
53650         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
53651         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
53652         for these modules.
53653
53654 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
53655
53656         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
53657         (which shouldn't happen), generate nothing instead of returning 0
53658         immediately, so that nstrftime (NULL, ...) doesn't return 0.
53659
53660 2005-03-16  Bruno Haible  <bruno@clisp.org>
53661
53662         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
53663         HAVE_LONGLONG_64BIT.
53664
53665 2005-03-16  Bruno Haible  <bruno@clisp.org>
53666
53667         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
53668         HAVE_LONGLONG_64BIT.
53669
53670 2005-03-16  Bruno Haible  <bruno@clisp.org>
53671
53672         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
53673         HAVE_LONGLONG_64BIT.
53674
53675 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53676
53677         * lib/strftime.c (my_strftime): Prepend space to format so that we can
53678         reliably distinguish strftime failure from empty output on POSIX
53679         hosts.
53680
53681 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53682
53683         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
53684         (iconv_string): Don't guess a size-zero buffer, as that might cause
53685         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
53686         result would be 'too large', where 'too large' is (heuristically)
53687         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
53688         overflow concerns.  This will prevent some unwanted malloc failures
53689         when the inputs are very large.
53690
53691 2005-03-15  Karl Berry  <karl@gnu.org>
53692
53693         * config/srclist.txt (config.rpath): from gettext.
53694         * config/config.rpath: update.
53695
53696 2005-03-15  Bruno Haible  <bruno@clisp.org>
53697
53698         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
53699         to 'negate'.
53700
53701         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
53702         variable.
53703
53704         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
53705         results.
53706
53707 2005-03-14  Simon Josefsson  <jas@extundo.com>
53708
53709         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
53710         <fx@gnu.org>.
53711
53712 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
53713
53714         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
53715         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
53716         intprops.h.
53717         * lib/strtol.c: Likewise.
53718
53719 2005-03-14  Jim Meyering  <jim@meyering.net>
53720
53721         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
53722         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
53723         to be nonzero so that we (and caller) can detect the difference
53724         between a valid zero-length expansion and an error return, even
53725         when the underlying strftime fails before writing anything into
53726         that location.
53727
53728 2005-03-14  Bruno Haible  <bruno@clisp.org>
53729
53730         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
53731         Update from GNU gettext 0.14.3.
53732
53733 2005-03-10  Jim Meyering  <jim@meyering.net>
53734
53735         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
53736
53737 2005-03-10  Jim Meyering  <jim@meyering.net>
53738
53739         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
53740         so that this module works on systems without fchdir.
53741
53742 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
53743
53744         Factor int-properties macros into a single file, except for
53745         glibc-related files.
53746         * lib/intprops.h: New file.
53747         * lib/getloadavg.c: Include it instead of limits.h.
53748         (INT_STRLEN_BOUND): Remove.
53749         * lib/human.c: Include intprops.h.
53750         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
53751         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
53752         302/1000.
53753         * lib/inttostr.h: Include intprops.h instead of limits.h.
53754         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
53755         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
53756         for consistency with intprops.h.
53757         (time_t_is_integer, twos_complement_arithmetic): Use them.
53758         * lib/sig2str.h: Include <signal.h>, intprops.h.
53759         (INT_STRLEN_BOUND): Remove.
53760         * lib/strftime.c (TYPE_SIGNED): Remove.
53761         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
53762         * lib/strtol.c: Adjust comments to match intprops.h.
53763         * lib/userspec.c: Include intprops.h.
53764         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
53765         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
53766         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
53767         instead of rolling our own expressions.
53768         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
53769
53770         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
53771         instead of int.
53772         (my_strftime): Do not mishandle years close to INT_MAX, by doing
53773         the right thing even if adding 1900 would overflow.  Similarly
53774         for tm_mon + 1 and tm_yday + 1.
53775         Make %Y always equivalent to %C%y, and similarly for %G and %g.
53776         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
53777         (DO_SIGNED_NUMBER): New macro.
53778         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
53779
53780 2005-03-07  Bruno Haible  <bruno@clisp.org>
53781
53782         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
53783
53784 2005-03-07  Bruno Haible  <bruno@clisp.org>
53785
53786         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
53787
53788 2005-03-04  Derek R. Price  <derek@ximbiot.com>
53789
53790         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
53791         (func_import): Only replace files via --import when they have actually
53792         changed.
53793
53794 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53795
53796         * m4/mmap-anon.m4: New file.
53797         * m4/pagealign_alloc.m4: New file.
53798
53799 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53800             Bruno Haible  <bruno@clisp.org>
53801
53802         * modules/pagealign_alloc: New file.
53803         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
53804
53805 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53806             Bruno Haible  <bruno@clisp.org>
53807
53808         * lib/pagealign_alloc.h: New file.
53809         * lib/pagealign_alloc.c: New file.
53810
53811 2005-03-03  Bruno Haible  <bruno@clisp.org>
53812
53813         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
53814         Use an all-permissive copyright notice, recommended by RMS.
53815
53816 2005-03-02  Bruno Haible  <bruno@clisp.org>
53817
53818         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
53819         of AIX, the replacement has to be done only after <string.h> is
53820         included, therefore not in config.h. stpncpy.h does the replacement,
53821         and stpncpy.c uses it.
53822
53823 2005-03-02  Bruno Haible  <bruno@clisp.org>
53824
53825         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
53826         stpncpy.c uses it.
53827
53828 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53829
53830         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
53831         The workaround isn't strictly needed for POSIX conformance, and
53832         it's too much of a pain to configure and maintain.  We'll ask
53833         people to fix their kernels instead.
53834         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
53835         (NANOSLEEP_BUG_WORKAROUND): Remove.
53836         (xnanosleep): Remove the workaround.
53837
53838 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53839
53840         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
53841         Reported by Derek Price.
53842         (Include): Add "timespec.h".
53843
53844         * modules/xnanosleep (Depends-on): Remove gethrxtime.
53845
53846 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53847
53848         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
53849         to detect nanosleep bug.
53850
53851 2005-03-01  Bruno Haible  <bruno@clisp.org>
53852
53853         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
53854
53855 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53856
53857         * modules/gethrxtime: New file.
53858         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
53859         (Depends-on): Add gethrxtime.
53860         (configure.ac): Add gl_XNANOSLEEP.
53861         (Makefile.am): Remove lib_SOURCES line.
53862
53863 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53864
53865         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
53866         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
53867
53868 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53869
53870         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
53871         * lib/timespec.h (gettime): Return void, since it always
53872         succeeds now.  All uses changed.
53873         * lib/gettime.c (gettime) Likewise.
53874         [HAVE_NANOTIME]: Prefer nanotime.
53875         Assume gettimeofday succeeds, as POSIX requires.
53876         Assime time () succeeds, since other code already does.
53877         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
53878         (timespec_subtract): Remove.
53879         (NANOSLEEP_BUG_WORKAROUND): New constant.
53880         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
53881         things considerably.  Use it only on GNU/Linux hosts, since the
53882         workaround shouldn't be needed elsewhere.
53883
53884 2005-02-24  Bruno Haible  <bruno@clisp.org>
53885
53886         * modules/gettext (Files): Add m4/glibc2.m4.
53887
53888 2005-02-24  Bruno Haible  <bruno@clisp.org>
53889
53890         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
53891         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
53892         * m4/progtest.m4:
53893         Update from GNU gettext 0.14.2.
53894         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
53895
53896 2005-02-24  Bruno Haible  <bruno@clisp.org>
53897
53898         * lib/localcharset.c: Update from GNU gettext 0.14.2.
53899         * lib/config.charset: Update from GNU gettext 0.14.2.
53900
53901 2005-02-24  Bruno Haible  <bruno@clisp.org>
53902
53903         * lib/gettext.h: Update from GNU gettext 0.14.2.
53904
53905 2005-02-23  Simon Josefsson  <jas@extundo.com>
53906
53907         * m4/iconvme.m4: New file.
53908
53909 2005-02-23  Jim Meyering  <jim@meyering.net>
53910
53911         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
53912         change.
53913         Thanks to Bruno Haible for catching it.
53914
53915 2005-02-22  Simon Josefsson  <jas@extundo.com>
53916
53917         * modules/iconvme: New file.
53918
53919         * MODULES.html.sh: Add iconvme.
53920
53921 2005-02-22  Simon Josefsson  <jas@extundo.com>
53922
53923         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
53924
53925 2005-02-22  Simon Josefsson  <jas@extundo.com>
53926
53927         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
53928
53929 2005-02-22  Jim Meyering  <jim@meyering.net>
53930
53931         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
53932         s/ifndef/ifdef/.
53933
53934 2005-02-20  Neil Conway  <neilc@samurai.com>
53935
53936         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
53937         returned by OSX/Darwin if the specified buffer is not large
53938         enough for the hostname.
53939
53940 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53941
53942         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
53943         pass it to _help, otherwise the latter coredumps trying to
53944         dereference state.root_argp.
53945
53946 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53947
53948         * modules/chdir-long (Depends-on): Add memrchr.
53949         * modules/memrchr (Files): Add lib/memrchr.h.
53950         (Include): "memrchr.h".
53951
53952 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53953
53954         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
53955
53956 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53957
53958         * lib/memrchr.h: New file.
53959         * lib/chdir-long.c: Include it.
53960         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
53961         Don't bother including stddef.h.
53962
53963 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53964
53965         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
53966         inclusion.
53967         Include <sys/types.h>, for dev_t.
53968         (ME_DUMMY, ME_REMOTE): Move from here....
53969         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
53970         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
53971         Dmitry V. Levin.
53972         Include mountlist.h first, to test the interface.
53973
53974 2005-01-29  Bruno Haible  <bruno@clisp.org>
53975
53976         * lib/progname.c (program_name): Initialize.
53977         Needed when linking statically on MacOS X.
53978
53979 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53980
53981         Sync from coreutils.
53982         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
53983         (Depends-on): Add c-strtod.
53984         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
53985
53986 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53987
53988         Sync from coreutils.
53989         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
53990
53991         Remove files that are specific to coreutils.
53992         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
53993
53994 2005-01-28  Bruno Haible  <bruno@clisp.org>
53995
53996         * modules/javacomp: New file.
53997         * MODULES.html.sh (Java): Add javacomp.
53998
53999 2005-01-28  Bruno Haible  <bruno@clisp.org>
54000
54001         * m4/javacomp.m4: New file, from GNU gettext.
54002
54003 2005-01-28  Bruno Haible  <bruno@clisp.org>
54004
54005         * lib/javacomp.sh.in: New file, from GNU gettext.
54006         * lib/javacomp.h: New file, from GNU gettext.
54007         * lib/javacomp.c: New file, from GNU gettext.
54008
54009 2005-01-26  Simon Josefsson  <jas@extundo.com>
54010
54011         * lib/gai_strerror.c: Use GPL in header.
54012
54013 2005-01-26  Bruno Haible  <bruno@clisp.org>
54014
54015         * modules/javaexec: New file.
54016         * MODULES.html.sh (Java): Add javaexec.
54017
54018 2005-01-26  Bruno Haible  <bruno@clisp.org>
54019
54020         * m4/javaexec.m4: New file, from GNU gettext.
54021
54022 2005-01-26  Bruno Haible  <bruno@clisp.org>
54023
54024         * lib/javaexec.sh.in: New file, from GNU gettext.
54025         * lib/javaexec.h: New file, from GNU gettext.
54026         * lib/javaexec.c: New file, from GNU gettext.
54027
54028 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54029
54030         * modules/lchown (Depends-on): Remove lchown.h
54031
54032 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54033
54034         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
54035         must be defined if the header file was not found, in order
54036         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
54037
54038 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54039
54040         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
54041         initializers for struct pentry_state.
54042         (__argp_error): Check return value of __asprintf
54043         (__argp_failure): Translate error message
54044
54045         * lib/argp-parse.c: Removed braces around the expansion of N_()
54046
54047 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54048
54049         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
54050         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
54051         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
54052         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
54053         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
54054         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
54055         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
54056         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
54057         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
54058         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
54059         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
54060         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
54061         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
54062         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
54063         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
54064         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
54065         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
54066         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
54067         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
54068         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
54069         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
54070         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
54071         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
54072         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
54073         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
54074         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
54075         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
54076         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
54077         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
54078         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
54079         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
54080         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
54081         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
54082         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
54083         xstrtol.m4, xstrtoumax.m4, yesno.m4:
54084         Use an all-permissive copyright notice, recommended by RMS.
54085
54086 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
54087
54088         * modules/chdir-long (Depends-on): Remove mempcpy.
54089
54090 2005-01-21  Jim Meyering  <jim@meyering.net>
54091
54092         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
54093         same value as for Solaris 9.
54094
54095         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
54096         component length.  This included changing the parameter to be
54097         of type `char *' rather than `char const *'.
54098         * lib/chdir-long.h (chdir_long): Update prototype.
54099
54100         * lib/openat.c (fdopendir, fstatat): New functions.
54101         * lib/openat.h: Include headers required for use of DIR and struct
54102         stat.
54103         [AT_SYMLINK_NOFOLLOW]: Define.
54104         (fdopendir, fstatat): Add prototypes.
54105
54106 2005-01-21  Bruno Haible  <bruno@clisp.org>
54107
54108         * modules/classpath: New file.
54109         * MODULES.html.sh (Java): Add classpath.
54110
54111 2005-01-21  Bruno Haible  <bruno@clisp.org>
54112
54113         * lib/classpath.h: New file, from GNU gettext.
54114         * lib/classpath.c: New file, from GNU gettext.
54115
54116 2005-01-20  Simon Josefsson  <jas@extundo.com>
54117
54118         * modules/version-etc-fsf: New file.
54119
54120 2005-01-20  Simon Josefsson  <jas@extundo.com>
54121
54122         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
54123         * lib/version-etc.c: Remove version_etc_copyright.
54124         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
54125         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
54126
54127 2005-01-20  Simon Josefsson  <jas@extundo.com>
54128
54129         * lib/base64.h (isbase64): Add.
54130
54131         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
54132         using a unsigned prototype, don't inline.
54133         (base64_decode): Use it.
54134
54135 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54136
54137         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
54138         it.
54139
54140 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54141
54142         * lib/save-cwd.c (save_cwd): Remove code to support the case
54143         where fchdir is missing or flaky.
54144
54145 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
54146
54147         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
54148
54149 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54150
54151         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
54152         AC_LIBSOURCES now does this.
54153         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
54154         with new ullong_max module.
54155
54156 2005-01-19  Bruno Haible  <bruno@clisp.org>
54157
54158         * modules/sh-quote: New file.
54159         * MODULES.html.sh (Executing programs): Add sh-quote.
54160
54161 2005-01-19  Bruno Haible  <bruno@clisp.org>
54162
54163         * lib/sh-quote.h: New file, from GNU gettext.
54164         * lib/sh-quote.c: New file, from GNU gettext.
54165
54166 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54167
54168         Merge from coreutils.
54169         * m4/ullong_max.m4: New file.
54170         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
54171         (gl_MACROS): Assume localeconv exists.
54172
54173 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54174
54175         Merge changes from coreutils, as described below in several
54176         changelogs dated today.
54177
54178         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
54179         (O_DIRECTORY): Remove; not needed here, since "." must be
54180         a directory.  All uses removed.
54181         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
54182         universal on Suns, and we also need to test for IRIX.
54183         Revamp code to use 'if' rather than '#if'.
54184         Avoid unnecessary comparison of cwd->desc to 0.
54185
54186         * lib/utimens.c (futimens): Robustify the previous patch, by checking
54187         for known valid error numbers rather than observed invalid ones.
54188
54189 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
54190
54191         * modules/ullong_max: New file.
54192
54193         * modules/chdir-long, modules/openat: New files.
54194         * modules/save-cwd (Depends-on): Depend on chdir-long.
54195         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
54196
54197 2005-01-18  Jim Meyering  <jim@meyering.net>
54198
54199         Merge from coreutils.
54200         * m4/chdir-long.m4, m4/openat.m4: New files.
54201         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
54202         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
54203         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
54204         is sane and DOES follow symlinks.  Besides, testing 20 different
54205         systems found no broken chown implementations.
54206         Prompted by a change in rsync's copy of this macro.
54207         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
54208
54209         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
54210
54211         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
54212         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
54213         NULL-means-set-to-current-time semantics.
54214         Remove temporary file immediately, rather than waiting
54215         for configure's at-exit trap code to do it.
54216
54217 2005-01-18  Jim Meyering  <jim@meyering.net>
54218
54219         * lib/version-etc.c (version_etc_copyright): Update copyright date.
54220
54221         * lib/utimens.c (futimens): Account for the fact that futimes
54222         can also fail with errno == ENOSYS or errno == ENOENT.
54223         Patch from Dmitry V. Levin.
54224
54225         Change the name of the robust chdir function from chdir to chdir_long.
54226         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
54227         (restore_cwd): Use chdir_long, not chdir.
54228         * lib/chdir-long.c: Renamed from chdir.c.
54229         * lib/chdir-long.h: Renamed from chdir.h.
54230         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
54231         Hurd.
54232
54233 2005-01-18  Bruno Haible  <bruno@clisp.org>
54234
54235         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
54236         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
54237         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
54238         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
54239         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
54240         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
54241         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
54242         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
54243         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
54244         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
54245         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
54246         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
54247         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
54248         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
54249         Use an all-permissive copyright notice, recommended by RMS.
54250
54251 2005-01-18  Bob Proulx  <bob@proulx.com>
54252
54253         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
54254         simplify offsetof() macro construct to avoid compile failure with
54255         native HP-UX 11.0 ANSI C compiler.
54256
54257 2005-01-17  Bruno Haible  <bruno@clisp.org>
54258
54259         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
54260         redundant because stpncpy.m4 takes care of it.
54261
54262 2005-01-17  Bruno Haible  <bruno@clisp.org>
54263
54264         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
54265
54266 2005-01-17  Bruno Haible  <bruno@clisp.org>
54267
54268         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
54269         used.
54270
54271 2005-01-17  Bruno Haible  <bruno@clisp.org>
54272
54273         * lib/fwriteerror.h (fwriteerror): Change specification to include
54274         fclose.
54275         * lib/fwriteerror.c: Include <stdbool.h>.
54276         (fwriteerror): At the end, close the file stream. Record whether
54277         stdout was already closed.
54278
54279 2005-01-17  Bruno Haible  <bruno@clisp.org>
54280
54281         * lib/execute.c (environ): Declare if needed.
54282         * lib/pipe.c (environ): Likewise.
54283         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
54284
54285 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54286
54287         * modules/argp: Depend on vsnprintf
54288
54289 2005-01-10  Jim Meyering  <jim@meyering.net>
54290
54291         * modules/closeout (Depends-on): Add atexit.
54292
54293 2005-01-06  Bruno Haible  <bruno@clisp.org>
54294
54295         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
54296
54297 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54298
54299         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
54300         definitions to be after all include files, to avoid collisions.
54301         Problem reported by Bob Proulx.
54302
54303 2005-01-04  Jim Meyering  <jim@meyering.net>
54304
54305         Changes imported from coreutils.
54306         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
54307         as the mkstemp template, use a temporary directory and an
54308         8.3-friendly template to avoid trouble on systems like DJGPP.
54309         Reported by Juan M. Guerrero via Stepan Kasal.
54310         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
54311         close. Remove the temporary directory right away, rather than waiting
54312         for configure's at-exit trap code to do it.
54313         Suggestion from Stepan Kasal.
54314
54315 2005-01-01  Simon Josefsson  <jas@extundo.com>
54316
54317         * gnulib-tool: Print #include directives when --import'ing.
54318
54319 2004-12-28  Simon Josefsson  <jas@extundo.com>
54320
54321         * tests/test-base64.c: Include required header files.  Remove
54322         unused variables.
54323
54324 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54325
54326         * modules/error (Depends-on): Remove gettext.
54327
54328 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54329
54330         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
54331         not needed.  This removes a dependency on the gettext module.
54332         [defined _LIBC]: Do not include <libintl.h>; not needed.
54333
54334 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54335
54336         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
54337         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
54338
54339 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54340
54341         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
54342         HAVE_DECL_STRTOLD.
54343
54344 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54345
54346         * modules/getdate (Depends-on): Remove alloca-opt.
54347
54348 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54349
54350         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
54351
54352 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54353
54354         * lib/argp-parse.c: Include <stddef.h>.
54355         (alignof, alignto): New macros.
54356         (parser_init): Don't assume that void * is aligned sufficiently
54357         for struct option.
54358
54359         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
54360         need to extend the stack.
54361         (YYINITDEPTH): New macro, so that the initial stack isn't overly
54362         large.
54363
54364 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54365
54366         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
54367
54368 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54369
54370         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
54371         (2004-10-24) change.  Apparently this was a false alarm.
54372
54373         * modules/getdate: Depend on alloca-opt, not alloca.
54374
54375 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54376
54377         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
54378         Remove now-obsolete comment about AIX.
54379         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
54380         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
54381         (YYMAXDEPTH): New macro.
54382
54383 2004-12-18  Simon Josefsson  <jas@extundo.com>
54384
54385         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
54386
54387 2004-12-18  Bruno Haible  <bruno@clisp.org>
54388
54389         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
54390
54391 2004-12-18  Bruno Haible  <bruno@clisp.org>
54392
54393         * lib/fatal-signal.c (fatal_signals): Make non-const.
54394         (init_fatal_signals): New function.
54395         (uninstall_handlers, install_handlers): Ignore signals that were set to
54396         SIG_IGN.
54397         (at_fatal_signal): Call init_fatal_signals.
54398         (init_fatal_signal_set): Likewise. Ignore signals that were set to
54399         SIG_IGN.
54400         Reported by Paul Eggert.
54401
54402 2004-12-18  Bruno Haible  <bruno@clisp.org>
54403
54404         * doc/alloca.texi: New file.
54405         * doc/alloca-opt.texi: New file.
54406
54407 2004-12-17  Jim Meyering  <jim@meyering.net>
54408
54409         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
54410         Otherwise, install-sh could exit with improper exit status when
54411         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
54412
54413 2004-12-16  Simon Josefsson  <jas@extundo.com>
54414
54415         * tests/test-base64.c: Add license.
54416
54417 2004-12-15  Stepan Kasal  <address@hidden>
54418
54419         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
54420
54421 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
54422
54423         * modules/getcwd (Files): Add m4/d-ino.m4.
54424         Suggested by Mark D. Baushke.
54425
54426 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54427
54428         * lib/getdate.y (textint): New member "negative".
54429         (time_zone_hhmm): New function.
54430         Expect 14 shift-reduce conflicts, not 13.
54431         (o_colon_minutes): New rule.
54432         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
54433         (yylex): Set the "negative" member of signed numbers.
54434
54435 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54436
54437         * doc/getdate.texi (Time of day items, Time zone items):
54438         Describe new formats +00:00, UTC+00:00.
54439
54440 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54441
54442         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
54443         spurious "-l"s.  Problem reported by Stepan Kasal.
54444
54445 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
54446
54447         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
54448         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
54449
54450 2004-12-04  Simon Josefsson  <jas@extundo.com>
54451
54452         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
54453         Vandoorselaere <yoann@prelude-ids.org>.
54454
54455 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54456
54457         Changes imported from coreutils.
54458         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
54459         exist.
54460         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
54461
54462 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54463
54464         Changes imported from coreutils.
54465         * lib/hard-locale.c: Assume <locale.h> exists.
54466         Include "strdup.h".
54467         (GLIBC_VERSION): New macro.
54468         (hard_locale): Assume setlocale exists.
54469         Rewrite to avoid #ifdef.
54470         Use strdup rather than malloc + strcpy.
54471         * lib/human.c: Assume <locale.h> exists.
54472         (human_readable): Assume localeconv exists.
54473
54474 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54475
54476         * modules/hard-locale (Depends-on): Add strdup.
54477
54478 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54479
54480         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
54481         convert T2, not T.  (Imported from libc.)
54482
54483 2004-11-30  Simon Josefsson  <jas@extundo.com>
54484
54485         * modules/restrict (License): Change to LGPL.
54486
54487 2004-11-30  Simon Josefsson  <jas@extundo.com>
54488
54489         * m4/restrict.m4: Add copyright and copying conditions.
54490
54491 2004-11-30  Simon Josefsson  <jas@extundo.com>
54492
54493         * m4/base64.m4: New file.
54494
54495 2004-11-30  Simon Josefsson  <jas@extundo.com>
54496
54497         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
54498         base64.
54499
54500         * tests/test-base64.c: New file.
54501
54502         * modules/base64: New file.
54503
54504 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54505
54506         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
54507         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
54508
54509         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
54510
54511 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54512
54513         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
54514         (__getcwd.c): Don't restore errno; glibc doesn't.
54515         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
54516         first, falling back to our code only if its results look suspicious.
54517         Ensure that the resulting buffer is only as large as necessary.
54518
54519         * lib/readutmp.c: Include readutmp.h first.
54520         Include <errno.h>, since readutmp.h no longer does that.
54521         * lib/readutmp.h: Don't include <errno.h>,
54522         <sys/param.h>, <time.h>; not needed to establish interface.
54523         (errno): Remove decl.
54524         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
54525         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
54526         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
54527
54528 2004-11-28  Simon Josefsson  <jas@extundo.com>
54529
54530         * lib/base64.h, base64.c: New file.
54531
54532 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54533
54534         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
54535
54536 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54537
54538         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
54539         (Depends-on): Remove pathmax, same.  Add mempcpy.
54540         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
54541         (Makefile.am): Append getcwd.h to lib_SOURCES.
54542         (Include): Add getcwd.h.
54543         (Maintainer): Change from Jim Meyering to "all, glibc",
54544         since getdate now uses intended-for-glibc code.
54545         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
54546         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
54547
54548 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54549
54550         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
54551         HP's ANSI C compiler.
54552         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
54553         Declaring int functions causes warnings on some modern systems and
54554         shouldn't be needed to compile on ancient ones.
54555         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
54556         defined.
54557
54558         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
54559         with the following changes.
54560         (__set_errno): Parenthesize properly.
54561         Include <stdbool.h>.
54562         (MIN, MAX, MATCHING_INO): New macros.
54563         (__getcwd): Define with prototype, not K&R form.
54564         Use heuristics to allocate default buffer on stack if possible.
54565         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
54566         behavior, and to avoid the PATH_MAX limit when computing
54567         ../../../../...
54568         Use MATCHING_INO to compare inode number to file.
54569         Check for arithmetic overflow in size calculations.
54570         Fix bug in reallocation of dot array that caused getcwd to fail
54571         on directories nested deeper than 75.
54572         Be more careful about saving errno on error.
54573         Do not use realloc; use only free+malloc, as this is a bit
54574         more flexible and avoids a needless copy operation.
54575         Do not inspect st_dev and st_ino for symbolic links; POSIX
54576         doesn't specify the latter.
54577         Check for closedir errors.
54578         Avoid needless casts.
54579         Use "#ifdef weak_alias" around weak_alias, to be like other
54580         glibc code.
54581         The following changes to getcwd.c have effect only when used in
54582         gnulib; they have no effect inside glibc proper.
54583         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
54584         as alloca isn't used.
54585         (alloca, __alloca): Likewise.
54586         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
54587         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54588         unconditionally, as gnulib assumes C89 or better.
54589         Do not include <sys/param.h>.
54590         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
54591         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
54592         better.
54593         (NULL) [!defined NULL]: Remove; we assume C89 or better.
54594         Include <dirent.h> in a way that is compatible with modern Autoconf.
54595         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
54596         New macros, if not already defined.
54597         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
54598         Use "_LIBC", not "defined _LIBC", for consistency.
54599         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
54600         a mempcpy module.
54601         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
54602         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
54603         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
54604         credit only to Jim Meyering and adjust the copyright dates.
54605         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
54606         <stdlib.h>, <unistd.h>, "pathmax.h".
54607         Instead, include "xgetcwd.h" (first) and "getcwd.h".
54608         (INITIAL_BUFFER_SIZE): Remove.
54609         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
54610
54611 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54612
54613         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
54614         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
54615         Use the _ONCE methods, for efficiency.
54616         Check for fcntl.h.  In test program, include <errno.h>
54617         and <fcntl.h> if available.  Remove old K&R cruft from
54618         test program.  Check for common errors in GNU/Linux,
54619         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
54620         don't do AC_LIBOBJ, as that's getcwd.m4's job.
54621         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
54622         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
54623         name accordingly.
54624         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
54625         accommodate new getcwd.c.
54626         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
54627         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
54628         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
54629         that's all we need now.
54630
54631 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54632
54633         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
54634         argp-parse.c depends on getopt internals, that means we should
54635         always use our getopt, to be on the safe side.
54636         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
54637         order not to spoil the result of an eventual previous invocation
54638         of gl_GETOPT_SUBSTITUTE.
54639
54640 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54641
54642         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
54643         redefinition warnings. To avoid them, include the defines
54644         in `#if !defined __need_getopt ... #endif'. The only place
54645         where __getopt_argv_const is used is in definitions
54646         of getopt_long and getopt_long_only below, which are as well
54647         protected by `#ifndef __need_getopt'.
54648         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
54649         __need_getopt after including <stdio.h> and <unistd.h> These
54650         headers might have defined it.
54651
54652 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54653
54654         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
54655
54656 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54657
54658         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
54659         (futimens): New function, which uses futimes if available.
54660         (futimens, utimens): Support timespec==NULL, with same semantics
54661         as utime and utimens.
54662         * lib/utimens.h (futimens): New decl.
54663
54664 2004-11-23  Jim Meyering  <jim@meyering.net>
54665
54666         * lib/getopt_.h: Remove trailing blanks.
54667
54668 2004-11-23  Jim Meyering  <jim@meyering.net>
54669
54670         * lib/__fpending.c: Add comment.
54671
54672 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54673
54674         * modules/canonicalize (Depends-on): Add xreadlink.
54675         Problem reported by James Youngman.
54676
54677 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54678
54679         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
54680         New macros.
54681         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
54682         optopt): Use them instead of invoking ## directly; otherwise, the
54683         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
54684
54685 2004-11-19  Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/strtok_r.c: Move comments from here...
54688         * lib/strtok_r.h: ... to here.
54689
54690 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54691
54692         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
54693         implementations that mishandle size_t overflow.
54694
54695 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54696
54697         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
54698         might fail.  Problem reported by Yoann Vandoorselaere.
54699         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
54700         implementations that mishandle size_t overflow.
54701
54702 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54703
54704         * modules/canon-host (Depends-on): Add strdup.
54705
54706 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54707
54708         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
54709
54710 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54711
54712         * lib/canon-host.c: Include "strdup.h".
54713         (canon_host): Use getaddrinfo if available, so that IPv6 works.
54714         Use strdup instead of malloc/strcpy to duplicate strings.
54715
54716         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
54717         (human_space_before_unit): New constant.
54718         * lib/human.c (human_readable): Support it.
54719
54720         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
54721         (xgetcwd): Set errno correctly when failing.
54722         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
54723         the failure is actually due to a PATH_MAX problem.
54724
54725         Further getopt changes to make it more likely that glibc will
54726         buy the changes back.
54727         * lib/getopt.c (POSIXLY_CORRECT): New constant.
54728         (getopt): Use it, so to preserve glibc semantic
54729         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
54730         when compiling for libc.
54731         * lib/getopt_.h (__getopt_argv_const): Bring it back.
54732         (getopt_long, getopt_long_only): Use it.
54733
54734         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54735         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
54736         (getopt): Argv is now char * const *, as per standard.
54737         (_getopt_internal_r, _getopt_internal): Argv is now char **,
54738         not char *__getopt_argv_const *.
54739         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54740         _getopt_long_only_r): Likewise.
54741         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
54742         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54743         _getopt_long_r, _getopt_long_only_r): Likewise.
54744         * lib/getopt_.h (__getopt_argv_const): Remove.
54745         (getopt): Argv is now char * const *, as per standard.
54746
54747         * lib/getdate.y (tORDINAL): New token.
54748         (day, relunit): Allow it for relative times.
54749         (relative_time_table): Use tORDINAL for ordinals.
54750
54751 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54752
54753         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
54754         Document that "second" isn't allowed as an ordinal number.
54755
54756 2004-11-16  Jim Meyering  <jim@meyering.net>
54757
54758         * modules/closeout (Depends-on): Add fpending.
54759
54760 2004-11-15  Jim Meyering  <jim@meyering.net>
54761
54762         * lib/closeout.c: Include "__fpending.h" once again.
54763         Include <stdbool.h>.
54764         (close_stdout): Don't fail just because stdout was closed initially,
54765         since some programs don't write to stdout in the normal course of
54766         operation (other than --version and --help), and we don't want this
54767         function to make e.g. `touch file >&-' fail.
54768         But do fail if it was closed and someone has tried to write to it.
54769         E.g., `printf foo >&-' must fail.
54770
54771 2004-11-13  Jim Meyering  <jim@meyering.net>
54772
54773         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
54774
54775 2004-11-12  Simon Josefsson  <jas@extundo.com>
54776
54777         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
54778         small doc fix is still pending.
54779
54780 2004-11-11  Simon Josefsson  <jas@extundo.com>
54781
54782         * modules/strtok_r: New file.
54783
54784         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54785         strtok_r.
54786
54787 2004-11-11  Simon Josefsson  <jas@extundo.com>
54788
54789         * m4/strtok_r.m4: New file.
54790
54791         * m4/getopt.m4: Replace opterr.
54792
54793 2004-11-11  Simon Josefsson  <jas@extundo.com>
54794
54795         * lib/strtok_r.h, strtok_r.c: New file.
54796
54797 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54798
54799         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
54800         of replacing opterr, getopt, etc.  This should handle the
54801         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
54802
54803 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54804
54805         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
54806         we can stop lying to compilers about the constness of argv when we
54807         are compiled outside glibc.
54808         (getopt, getopt_long, getopt_long_only): Use it.
54809         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54810         _getopt_internal, getopt): Likewise.
54811         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54812         _getopt_long_only_r): Likewise.
54813         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54814         _getopt_long_r, _getopt_long_only_r): Likewise.
54815
54816         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
54817         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
54818         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
54819         the other external symbols.
54820         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
54821         declaration, since the above renaming now works around collisions.
54822
54823 2004-11-11  Jim Meyering  <jim@meyering.net>
54824
54825         * lib/linebreak.c: Remove trailing blanks.
54826         * lib/alloca_.h: Likewise.
54827         * lib/acosl.c: Likewise.
54828         * lib/euidaccess.c: Likewise.
54829         * lib/allocsa.h: Likewise.
54830
54831 2004-11-10  Simon Josefsson  <jas@extundo.com>
54832
54833         * m4/getaddrinfo.m4: New file.
54834
54835 2004-11-10  Simon Josefsson  <jas@extundo.com>
54836
54837         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
54838
54839 2004-11-10  Simon Josefsson  <jas@extundo.com>
54840
54841         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54842         getaddrinfo.
54843
54844         * modules/getaddrinfo: New file.
54845
54846 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54847
54848         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
54849
54850 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54851
54852         * lib/mktime.c (SHR): New macro, which is a portable
54853         substitute for >> that should work even on Crays.
54854         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
54855         Problem reported by Mark D. Baushke in
54856         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
54857         * lib/getdate.y (SHR): Likewise.
54858         (tm_diff): Use it.
54859         * lib/strftime.c (SHR): Likewise.
54860         (tm_diff): Use it.
54861         * lib/quotearg.c (struct quoting_options): Use unsigned int for
54862         quote_these_too, so that right shifts are well defined.  All uses
54863         changed.
54864
54865 2004-11-10  Jim Meyering  <jim@meyering.net>
54866
54867         Ensure that no close failure goes unreported.
54868         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
54869         return early when it seems there's nothing to flush.
54870         Don't include __fpending.h.
54871
54872 2004-11-10  Jim Meyering  <jim@meyering.net>
54873
54874         * modules/closeout (Depends-on): Remove fpending.
54875
54876 2004-11-10  Jim Meyering  <jim@meyering.net>
54877
54878         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
54879
54880 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54881
54882         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
54883         gl_FUNC_STRFTIME.
54884         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
54885         and AC_REQUIRE when possible, to avoid duplicate checks.
54886         Check for <wchar.h>.
54887
54888 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54889
54890         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
54891
54892 2004-11-09  Bruno Haible  <bruno@clisp.org>
54893
54894         * m4/sockpfaf.m4: New file.
54895
54896 2004-11-05  Bruno Haible  <bruno@clisp.org>
54897
54898         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
54899         Reported by Mark D. Baushke <mdb@cvshome.org>.
54900
54901 2004-11-04  Bruno Haible  <bruno@clisp.org>
54902
54903         2004-09-11  Bruno Haible  <bruno@clisp.org>
54904                 * allocsa.valgrind: New file.
54905         2004-02-06  Bruno Haible  <bruno@clisp.org>
54906                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
54907                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
54908                 Reported by Christopher Seip <chris.seip@hp.com>.
54909
54910 2004-11-04  Bruno Haible  <bruno@clisp.org>
54911
54912         * modules/allocsa (Files): Add lib/allocsa.valgrind.
54913         (Makefile.am): Distribute it.
54914
54915 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54916
54917         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
54918         with errno == ERANGE if the buffer is too small.
54919         Problem reported by Mark D. Baushke.
54920
54921 2004-11-03  Albert Chin  <china@thewrittenword.com>
54922             Paul Eggert  <eggert@cs.ucla.edu>
54923
54924         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
54925         equivalent, substitute $ac_type for equivalent type rather than
54926         blindly using uint32_t *always* which won't work if uint32_t is not
54927         available.  Define _UINT32_T to work around typedef of uint32_t if
54928         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
54929         2.5.1.
54930
54931 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54932
54933         * m4/jm-macros.m4: Sync from coreutils.
54934         (gl_MACROS): Check for mbrlen, for pathchk.
54935         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
54936
54937 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54938
54939         * lib/xreadlink.c (MAXSIZE): New macro.
54940         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
54941         size does not exceed MAXSIZE.  Avoid cast.
54942         As suggested by Mark D. Baushke in
54943         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
54944         if readlink fails with buffer size just under MAXSIZE, try again
54945         with MAXSIZE.
54946
54947 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54948
54949         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
54950
54951 2004-11-02  Derek R. Price  <derek@ximbiot.com>
54952         and  Paul Eggert  <eggert@cs.ucla.edu>
54953
54954         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
54955         (get_date): Overparenthesize to avoid GCC warning.
54956
54957 2004-11-02  Bruno Haible  <bruno@clisp.org>
54958
54959         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
54960         returns void.
54961
54962 2004-11-02  Bruno Haible  <bruno@clisp.org>
54963
54964         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
54965         function returns void.
54966
54967 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54968
54969         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
54970         fflush_unlocked, flockfile, funlockfile, funlockfile,
54971         fputs_unlocked, putc_unlocked.
54972
54973 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54974
54975         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
54976         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
54977         already declared.
54978
54979 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54980
54981         * modules/getdate (Files): Add doc/getdate.texi.
54982         (Depends-on): Add setenv, xalloc.
54983
54984 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54985
54986         * lib/getdate.y: Add support for TZ="foo" within a date string.
54987         Fix some bugs near time_t boundaries.  Reject dates with
54988         out-of-range components, e.g., "Sept 31".
54989         Include <stdlib.h>, "setenv.h", "xalloc.h".
54990         (ISDIGIT_LOCALE): Remove; unused.
54991         Note that the TZ and time functions used here are not reentrant.
54992         (mktime_ok, get_tz): New functions.
54993         (TZBUFSIZE): New constant.
54994         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
54995         This requires that we sometimes generate our own TZ="XXX..." setting.
54996
54997 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54998
54999         * doc/getdate.texi: New file, from coreutils with modifications for
55000         the new TZ parsing.
55001
55002 2004-10-27  Derek R. Price  <derek@ximbiot.com>
55003
55004         * lib/mktime.c (not_equal_tm): Remove redundant check.
55005
55006 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55007
55008         * modules/regex (lib_SOURCES): Add regex.c.
55009         Reported by James Youngman in
55010         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
55011
55012 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55013
55014         * lib/getdate.y: Use Bison 1.875 features, and some minor
55015         code cleanups.  This change does not affect semantics.
55016         Don't include <stdlib.h>; no longer needed.
55017         Don't include unlocked-io.h; only the "#if TEST" code uses
55018         stdio, and performance isn't crucial there.
55019         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
55020         Bison 1.875 features as described below.
55021         All uses of "PC." replaced by "pc->".
55022         (YYSTYPE): Add a forward declaration.
55023         (yylex, yyerror): Use full prototypes in forward decls.
55024         Use "%pure-parser" rather than obsolescent "%pure_parser".
55025         Use %parse-param and %lex-param instead of obsolescent
55026         YYPARSE_PARAM and YYLEX_PARAM.
55027         (meridian_table, month_and_day_table, time_units_table,
55028         relative_time_table, time_zone_table, military_table,
55029         lookup_zone, lookup_word, get_date):
55030         Use NULL instead of 0 where appropriate.
55031         (to_hour): Avoid abort (), to avoid a dependency on
55032         stdlib.h.
55033         (yyerror, yylex): Now accepts parser_control * arg.
55034         (main) [TEST]: Use '\0' rather than 0 for char.
55035
55036 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55037
55038         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
55039
55040 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
55041
55042         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
55043         It's now the caller's responsibility to handle the case where
55044         !HAVE_GETPAGESIZE && !defined getpagesize.
55045
55046         * lib/mktime.c (leapyear): Arg is long int, not int.
55047
55048 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
55049
55050         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
55051
55052 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55053
55054         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
55055         missing.  Problem reported by James Youngman.
55056
55057 2004-10-16  Simon Josefsson  <jas@extundo.com>
55058
55059         * gnulib-tool: Fix comments.  Fix parse problem.
55060         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
55061
55062 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
55063
55064         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
55065         implementation of getopt_long.  Problem reported by Alexander Taler in:
55066         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
55067
55068 2004-10-15  Bruno Haible  <bruno@clisp.org>
55069
55070         * gnulib-tool: Untabify. Initialize supplied_libname.
55071         (func_usage): More homogenous output.
55072         (func_modules_transitive_closure, func_modules_to_filelist,
55073         func_emit_lib_Makefile_am): New functions.
55074         (func_import): New function, extracted from big case statement. Use
55075         func_get_license, func_modules_transitive_closure,
55076         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
55077         opt_lgpl. Don't use test -a, as it's not portable.
55078         (func_create_testdir): Use func_modules_transitive_closure,
55079         func_modules_to_filelist, func_emit_lib_Makefile_am.
55080
55081 2004-10-15  Bruno Haible  <bruno@clisp.org>
55082
55083         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
55084
55085 2004-10-15  Bruno Haible  <bruno@clisp.org>
55086
55087         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
55088         the portions belonging to each module.
55089         Suggested by Derek Robert Price <derek@ximbiot.com>.
55090
55091 2004-10-12  Simon Josefsson  <jas@extundo.com>
55092
55093         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
55094         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
55095         to real functions.
55096
55097 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55098
55099         * modules/vsnprintf: New file.
55100
55101 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55102
55103         * m4/vsnprintf.m4: New file.
55104
55105 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55106
55107         * lib/vsnprintf.h: New file.
55108         * lib/vsnprintf.c: New file.
55109
55110 2004-10-11  Bruno Haible  <bruno@clisp.org>
55111
55112         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
55113         vsnprintf.
55114
55115 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55116
55117         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
55118
55119 2004-10-07  Bruno Haible  <bruno@clisp.org>
55120
55121         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
55122         fits into the provided buffer.
55123
55124 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55125
55126         * lib/diacrit.c, diacrit.h: Add GPL notice.
55127
55128         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
55129         notice.
55130         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
55131         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
55132         This avoids a potential constant-folding bug.
55133
55134 2004-10-05  Bruno Haible  <bruno@clisp.org>
55135
55136         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
55137         for the declaration of strsep.
55138
55139 2004-10-05  Bruno Haible  <bruno@clisp.org>
55140
55141         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
55142
55143 2004-10-04  Simon Josefsson  <jas@extundo.com>
55144
55145         * modules/memmem: New file.
55146         * tests/test-memmem.c: New file.
55147         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
55148
55149 2004-10-04  Simon Josefsson  <jas@extundo.com>
55150
55151         * m4/memmem.m4: New file.
55152
55153 2004-10-04  Simon Josefsson  <jas@extundo.com>
55154
55155         * lib/memmem.h: New file.
55156         * lib/memmem.c: New file, taken from glibc.
55157
55158 2004-10-04  Simon Josefsson  <jas@extundo.com>
55159
55160         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
55161         '#ifdef USE_UNLOCKED_IO'.
55162
55163 2004-10-04  Simon Josefsson  <jas@extundo.com>
55164
55165         * config/srclist.txt: Add memmem from glibc.
55166
55167 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55168
55169         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
55170
55171         * modules/argmatch, modules/argp, modules/closeout, modules/error,
55172         modules/exclude, modules/getdate, modules/getline,
55173         modules/getndelim2, modules/getpass, modules/getpass-gnu,
55174         modules/getusershell, modules/linebuffer, modules/md5,
55175         modules/mountlist, modules/posixtm, modules/readtokens,
55176         modules/readutmp, modules/regex, modules/sha1,
55177         modules/version-etc, modules/yesno:
55178         Remove dependency on unlocked-io.
55179
55180 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55181
55182         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
55183
55184         * m4/unlocked-io.m4: Add copyright notice.
55185         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
55186
55187 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55188
55189         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
55190         * lib/xmalloc.c (xmemdup): Likewise.
55191         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
55192         XFREE): Remove these long-obsolescent macros.
55193         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
55194         * lib/xstrdup.c: Remove.
55195
55196         * lib/regex.c (re_comp): Cast gettext return value to char *,
55197         Problem reported by Martin Neitzel via Mark D. Baushke.
55198
55199 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
55200
55201         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
55202         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
55203         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
55204         regex.c, sha1.c, version-etc.c, yesno.c:
55205         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
55206         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
55207         the includer's responsibility.
55208
55209         Sync from coreutils.
55210
55211         * lib/modechange.c (mode_compile): Don't decrement a pointer that
55212         points to the start of a string, as the C Standard says the
55213         resulting behavior is undefined.
55214
55215         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
55216         simple -> simple_backups, numbered_existing ->
55217         numbered_existing_backups, numbered -> numbered_backups
55218         to avoid shadowing problems.  All uses changed.
55219         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
55220         * lib/backupfile.c (check_extension, numbered_backup):
55221         Rename locals to avoid shadowing 'basename'.
55222         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
55223         once.
55224
55225         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
55226         * lib/.cvsignore: Add getopt.h.
55227
55228 2004-10-04  Bruno Haible  <bruno@clisp.org>
55229
55230         * modules/README: New file.
55231         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
55232         not a module.
55233
55234 2004-10-02  Jim Meyering  <jim@meyering.net>
55235
55236         * lib/dirfd.h, getpagesize.h: Add copyright notice.
55237
55238 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55239
55240         * modules/strsep: New file.
55241
55242 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55243
55244         * m4/strsep.m4: New file.
55245
55246 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55247
55248         * lib/strsep.h: New file.
55249         * lib/strsep.c: New file.
55250
55251 2004-10-01  Simon Josefsson  <jas@extundo.com>
55252
55253         * lib/snprintf.c (snprintf): Handle size==0.
55254
55255 2004-10-01  Simon Josefsson  <jas@extundo.com>
55256             Bruno Haible  <bruno@clisp.org>
55257
55258         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
55259         (snprintf): Declare 'args'.
55260
55261 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
55262
55263         * lib/snprintf.c: Remove comments as to why each header is needed.
55264
55265 2004-10-01  Bruno Haible  <bruno@clisp.org>
55266
55267         * MODULES.html.sh: Add strsep.
55268
55269 2004-09-30  Simon Josefsson  <jas@extundo.com>
55270
55271         * modules/snprintf: New file.
55272
55273 2004-09-30  Simon Josefsson  <jas@extundo.com>
55274
55275         * m4/snprintf.m4: New file.
55276
55277 2004-09-30  Simon Josefsson  <jas@extundo.com>
55278
55279         * lib/snprintf.h, lib/snprintf.c: New files.
55280
55281 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55282
55283         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
55284         (hol_entry_help): Never translate an empty string.
55285         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
55286         * lib/argp.h (OPTION_NO_TRANS): New option.
55287
55288 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55289
55290         * modules/argp (Maintainer): Replace Simon Josefsson
55291         by Sergey Poznyakoff.
55292
55293 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55294
55295         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
55296         changes merged back into glibc.
55297
55298 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55299
55300         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
55301
55302 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55303
55304         * lib/xvasprintf.c: Include xalloc.h.
55305         (xvasprintf): Use xalloc_die, not xmalloc_die.
55306
55307 2004-09-29  Bruno Haible  <bruno@clisp.org>
55308
55309         * modules/alloca-opt: New file, derived from modules/alloca.
55310         * modules/allocsa: Depend on alloca-opt instead of alloca.
55311         * modules/setenv: Likewise.
55312         * modules/vasnprintf: Likewise.
55313         * MODULES.html.sh: Add alloca-opt.
55314
55315 2004-09-28  Simon Josefsson  <jas@extundo.com>
55316
55317         * gnulib-tool: New parameter --lgpl, to asseert that modules are
55318         LGPL, and to replace license template from GPL to LGPL.
55319
55320 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55321
55322         * modules/dummy: Change license to LGPL.
55323
55324 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55325
55326         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
55327
55328 2004-09-24  Simon Josefsson  <jas@extundo.com>
55329
55330         * modules/minmax (License): Change from GPL to LGPL.
55331
55332 2004-09-23  Simon Josefsson  <jas@extundo.com>
55333
55334         * gnulib-tool (--import): Typo.
55335
55336 2004-09-23  Simon Josefsson  <jas@extundo.com>
55337
55338         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
55339
55340 2004-09-22  Bruno Haible  <bruno@clisp.org>
55341
55342         * modules/*: Add 'License' field.
55343         * gnulib-tool: Accept --extract-license option.
55344         (func_get_license): New function.
55345
55346 2004-09-21  Bruno Haible  <bruno@clisp.org>
55347
55348         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
55349         Reported by Simon Josefsson.
55350
55351 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55352
55353         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
55354         gl_AC_TYPE_LONG_LONG.
55355
55356 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55357
55358         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
55359
55360 2004-09-18  Simon Josefsson  <jas@extundo.com>
55361         and  Paul Eggert  <eggert@cs.ucla.edu>
55362
55363         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
55364         calls with autoreconf.  Define GL_LIB.
55365
55366 2004-09-14  Karl Berry  <karl@gnu.org>
55367
55368         * config/srclist.txt: unsync setenv.c, sigh.
55369
55370 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55371
55372         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
55373         Problem reported by Bruno Haible in:
55374         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
55375
55376 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55377
55378         * config/srclist.txt: Comment out argp-pvh.c.
55379
55380 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55381
55382         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
55383         in case some system header has #define'd it.  Problem reported by
55384         Soeren D. Schulze in
55385         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
55386
55387 2004-09-09  Karl Berry  <karl@gnu.org>
55388
55389         * regex.[ch]: delete from the root.  These were supposed to be
55390                 synced with emacs cvs, but this has not happened for about
55391                 a year, and anyway nothing else uses emacs regex.[ch].
55392                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
55393                 lib/regex[.ch] is untouched.
55394
55395 2004-09-09  Bruno Haible  <bruno@clisp.org>
55396
55397         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
55398
55399 2004-09-09  Bruno Haible  <bruno@clisp.org>
55400
55401         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
55402         modifications.
55403         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
55404
55405 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55406
55407         * modules/xvasprintf: New file.
55408         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
55409
55410 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55411
55412         * lib/xvasprintf.h: New file.
55413         * lib/xvasprintf.c: New file.
55414         * lib/xasprintf.c: New file.
55415
55416 2004-09-08  Bruno Haible  <bruno@clisp.org>
55417
55418         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
55419
55420 2004-09-08  Bruno Haible  <bruno@clisp.org>
55421
55422         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
55423         length is > INT_MAX.
55424         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
55425         more.
55426
55427 2004-09-08  Bruno Haible  <bruno@clisp.org>
55428
55429         * lib/stdint_.h: New file, taken from GNU clisp.
55430
55431 2004-09-08  Bruno Haible  <bruno@clisp.org>
55432             Oskar Liljeblad  <oskar@osk.mine.nu>
55433
55434         * modules/stdint: New file.
55435         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
55436
55437 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55438
55439         Import from coreutils.
55440         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
55441         strings on unbounded length.  alloca's performance benefits aren't
55442         that important here.
55443         (V_STRDUP): Remove.
55444         (parse_with_separator): New function, with most of the internals
55445         of the old parse_user_spec.  Allow user to omit both user and group,
55446         for compatibility with FreeBSD.
55447         Clone only the user name, not the entire spec.
55448         Do not set *uid, *gid unless entirely successful.
55449         Avoid memory leak in some failing cases.
55450         Fix regression for USER.GROUP reported by Dmitry V. Levin in
55451         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
55452         (parse_user_spec): Rewrite to use parse_with_separator.
55453
55454 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55455
55456         * modules/userspec: Don't depend on alloca.
55457
55458 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55459
55460         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
55461
55462 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55463
55464         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
55465         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
55466         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
55467
55468 2004-08-16  Simon Josefsson  <jas@extundo.com>
55469
55470         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
55471         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
55472         Add --dry-run for --import.
55473         Let user provided command line parameters override configure.ac
55474         settings.
55475
55476 2004-08-12  Simon Josefsson  <jas@extundo.com>
55477
55478         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
55479         as discussed with Paul Eggert in threads rooted at
55480         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
55481         and
55482         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
55483         Before, the test was empty, and relied on ELIDE_CODE in source
55484         code.)
55485         (gl_PREREQ_GETOPT): New macro.
55486         (gl_GETOPT): Use them.
55487
55488 2004-08-12  Simon Josefsson  <jas@extundo.com>
55489
55490         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
55491         * lib/getopt_.h: Renamed from getopt.h.
55492
55493 2004-08-12  Simon Josefsson  <jas@extundo.com>
55494
55495         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
55496         Change default library name from libfoo to libgnu.
55497         Now, if you have a configure.ac that says:
55498                 gl_SOURCE_BASE(gl)
55499                 gl_M4_BASE(gl/m4)
55500                 gl_MODULES(error getopt etcetera)
55501                 gl_INIT
55502         you can import all you need by running:
55503                 ../gnulib/gnulib-tool --import
55504
55505         * modules/getopt (Files): Rename getopt.h to getopt_.h.
55506         (Makefile.am): Rewrite, use logic from argz.
55507         (Include): Use <getopt.h> instead of "getopt.h".
55508
55509 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55510
55511         * modules/argp (Files): Add m4/unlocked-io.m4.
55512         (Depends-on): Add extensions.
55513
55514 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55515
55516         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
55517         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
55518         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
55519         Check for program_invocation_name, program_invocation_short_name,
55520         flockfile, funlockfile, features.h, _getopt_long_only_r.
55521
55522 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55523
55524         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
55525         its complicated substitute.
55526         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
55527         and program_invocation_name.
55528         (__argp_basename) [!_LIBC]: Remove; the only use was
55529         replaced by its body.
55530         (__argp_short_program_name): Change condition from
55531         !defined __argp_short_program_name to
55532         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
55533         to match argp-namefrob.h.
55534         (__argp_failure): Don't assume strerror_r returns char *.
55535         * lib/argp-parse.c (N_): Define unconditionally.
55536         (argp_default_options): Fill out initializers with 0 to avoid
55537         gcc warnings.
55538
55539 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55540
55541         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
55542         getopt1.c.
55543
55544 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55545
55546         Merge from coreutils.
55547
55548         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
55549
55550         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
55551         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
55552
55553 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55554
55555         Merge from coreutils.
55556
55557         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
55558         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
55559         for Reliant Unix 5.43.
55560
55561         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
55562         (union fooround): Use uintmax_t, not long int.
55563         The rest is a merge from libc:
55564         [defined _LIBC]: Include <shlib-compat.h>.
55565         (_obstack) [defined _LIBC]: Remove after 2.3.4.
55566
55567         * lib/settime.c (settime): Recode to avoid warning with
55568         Sun Forte C 6U2.
55569
55570         * lib/strverscmp.c: Convert to UTF-8.
55571
55572 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55573
55574         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
55575         m4/uintmax_t.m4.
55576
55577 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55578
55579         * modules/xalloc-die: New file.
55580         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
55581
55582         * modules/md5 (Files): Add m4/uint32_t.m4.
55583         * modules/sha1: Renamed from modules/sha.
55584         (Files):
55585         Rename lib/sha.h to lib/sha1.h.
55586         Rename lib/sha.c to lib/sha1.c.
55587         Rename m4/sha.m4 to m4/sha1.m4.
55588         (lib_SOURCES): Likewise.
55589         (configure.ac): Rename gl_SHA to gl_SHA1.
55590         (Include): sha.h -> sha1.h.
55591
55592 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55593
55594         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
55595         * m4/sha1.m4: Renamed from sha.m4.
55596         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
55597
55598 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55599
55600         * lib/obstack.h (obstack_empty_p):
55601         Don't assume that chunk->contents is suitably aligned.
55602         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
55603         Likewise. Problem reported by Benno in
55604         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
55605
55606         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
55607         readable.  This could be improved further but it'd take some work.
55608
55609 2004-08-08  Simon Josefsson  <jas@extundo.com>
55610
55611         * modules/xgethostname (Depends-on): Remove exit and error (not
55612         used).
55613
55614         * modules/getpass-gnu: Add getpass.h.
55615         (Depends-on): Add stdbool.
55616         * modules/getpass: Add getpass.h.
55617
55618 2004-08-08  Simon Josefsson  <jas@extundo.com>
55619
55620         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
55621         Check getpass declaration.
55622
55623 2004-08-08  Simon Josefsson  <jas@extundo.com>
55624
55625         * lib/xgethostname.c: Don't include error.h (not used).
55626
55627         * lib/getpass.h: Add.
55628         * lib/getpass.c: Include getpass.h first.
55629
55630 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
55631
55632         * lib/xalloc-die.c: New file.
55633         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
55634         All uses removed.
55635         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
55636         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
55637         xalloc-die.c.
55638         (_, N_, xalloc_die): Move to xalloc-die.c.
55639         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
55640         so that we needn't mess with xalloc_msg_memory_exhausted.
55641
55642         * lib/sha1.h: Renamed from sha.h.
55643         (SHA1_H): Renamed from _SHA_H.
55644         (sha1_ctx): Renamed from sha_ctx.
55645         (sha1_init_ctx): Renamed from sha_init_ctx.
55646         (sha1_process_block): Renamed from sha_process_block.
55647         (sha1_process_bytes): Renamed from sha_process_bytes.
55648         (sha1_finish_ctx): Renamed from sha_finish_ctx.
55649         (sha1_read_ctx): Renamed from sha_read_ctx.
55650         (sha1_stream): Renamed from sha_stream.
55651         (sha1_buffer): Renamed from sha_buffer.
55652         * lib/sha1.c: Likewise; renamed from sha.c.
55653         Do not include <sys/types.h>.
55654         Include <stddef.h> rather than <stdlib.h>.
55655
55656 2004-08-08  Bruno Haible  <bruno@clisp.org>
55657
55658         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
55659         FILESYSTEM_PREFIX_LEN.
55660         * lib/progreloc.c: Likewise.
55661         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
55662
55663 2004-08-06  Simon Josefsson  <jas@extundo.com>
55664
55665         * modules/progname (Depends-on): Don't depend on stdbool.
55666
55667 2004-08-06  Simon Josefsson  <jas@extundo.com>
55668
55669         * modules/getsubopt: New file.
55670         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55671         getsubopt.
55672
55673 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55674
55675         More merge from coreutils.
55676
55677         * m4/utimens.m4, m4/utimecmp.m4: New files.
55678         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
55679         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
55680         prereq.m4, sha.m4: Import changes from coreutils.
55681
55682 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55683
55684         More merge from coreutils.
55685         * modules/raise, modules/readtokens0, modules/utimens:
55686         * modules/utimecmp, module/xnanosleep: New files.
55687         * modules/strftime: Add lib/strftime.h.
55688         Change include from <time.h> to "strftime.h".
55689         * modules/yesno: Add lib/yesno.h.
55690         * modules/backupfile: Remove lib/addext.c.
55691         * modules/euidaccess: Add stat-macros.h.
55692         * modules/canonicalize, modules/euidaccess,
55693         modules/filemode, modules/lchown, modules/makepath,
55694         modules/rmdir, modules/stat: Likewise.
55695
55696 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55697
55698         Merge from tar.
55699         * lib/argp-help.c (make_hol, hol_append): Don't assume that
55700         SIZE_MAX is a valid preprocessor constant.
55701         (__argp_basename): Change from "#ifndef _LIBC"
55702         to "#ifndef __argp_short_program_name", so that
55703         we don't compile these functions for tar.
55704
55705         More merges from coreutils.
55706         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
55707         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
55708         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
55709         * lib/addext.c: Remove; no longer needed.
55710         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
55711         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
55712         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
55713         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
55714         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
55715         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
55716         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
55717         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
55718         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
55719         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55720         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
55721         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
55722         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
55723         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
55724         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
55725         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
55726         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
55727         Import changes from coreutils.
55728
55729 2004-08-05  Simon Josefsson  <jas@extundo.com>
55730
55731         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
55732
55733 2004-08-05  Simon Josefsson  <jas@extundo.com>
55734
55735         * m4/getsubopt.m4: New file.
55736
55737 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55738
55739         Merge from coreutils.
55740
55741         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
55742         * m4/getcwd-path-max.m4: New files.
55743
55744         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
55745         FILESYSTEM_PREFIX_LEN ->
55746         FILE_SYSTEM_PREFIX_LEN.
55747         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
55748         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
55749         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
55750         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
55751
55752         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
55753         prerequisite modules now handle the DOS stuff.
55754         Don't check for unistd.h.
55755
55756 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55757
55758         Merge from coreutils.
55759
55760         * lib/.gdb-history: Remove; this doesn't belong here.
55761
55762         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
55763         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
55764         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
55765         * lib/getcwd.c: New files.
55766
55767         * lib/dirname.h: Include <stdbool.h>.
55768         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
55769         for consistency with POSIX terminology.  All uses changed.
55770         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
55771         (strip_trailing_slashes): Use bool for booleans.
55772         * lib/stripslash.c (strip_trailing_slashes): Likewise.
55773
55774         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
55775         sometimes returns a positive errno value even when it succeeds.
55776         (print_errno_message) [!LIBC]: Fall back on strerror if
55777         __strerror_r fails.
55778
55779         * lib/path-concat.c (mempcpy): Don't define if a system header defines
55780         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
55781         (longest_relative_suffix): New function.
55782         (path_concat): Use it.  Assume first argument is not NULL.
55783         Port to DOS.  Omit redundant separators.
55784         Report an error instead of returning NULL.
55785         Use mempcpy instead of memcpy.
55786         (xpath_concat): Remove: not declared or used.
55787
55788         * lib/same.h: Include <stdbool.h>
55789         (same_name): Return bool, not int.
55790         * lib/same.c (same_name): Likewise.
55791         (errno): Don't declare; we assume C89 or better now.
55792
55793         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
55794         if not already defined.
55795
55796         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
55797         * lib/dup-safer.c (errno): Likewise.
55798
55799 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55800
55801         Merge from coreutils.
55802         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
55803         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
55804         * modules/path-concat: Don't depend on strdup.
55805
55806 2004-08-03  Simon Josefsson  <jas@extundo.com>
55807
55808         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
55809         * lib/progname.h: Don't include stdbool.h.
55810
55811 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55812
55813         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
55814         * MODULES.html.sh (func_all_modules): Remove fatal.
55815
55816 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55817
55818         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
55819
55820 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55821
55822         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
55823         working.
55824
55825 2004-08-02  Simon Josefsson  <jas@extundo.com>
55826
55827         * lib/getsubopt.h: New file, with comments from Bruno Haible.
55828         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
55829         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
55830
55831 2004-08-01  Simon Josefsson  <jas@extundo.com>
55832
55833         * lib/xgetdomainname.c: Include stdlib.h, for free().
55834
55835 2004-07-19  Bruno Haible  <bruno@clisp.org>
55836
55837         * MODULES.html.sh (func_all_modules): Add dummy.
55838
55839 2004-07-16  Simon Josefsson  <jas@extundo.com>
55840
55841         * modules/dummy: New file.
55842
55843 2004-07-16  Simon Josefsson  <jas@extundo.com>
55844
55845         * lib/dummy.c: New file.
55846
55847 2004-07-16  Bruno Haible  <bruno@clisp.org>
55848
55849         * lib/backupfile.h: Add extern "C" for C++.
55850         * lib/closeout.h: Likewise.
55851         * lib/copy-file.h: Likewise.
55852         * lib/findprog.h: Likewise.
55853         * lib/full-write.h: Likewise.
55854         * lib/pathname.h: Likewise.
55855         * lib/progname.h: Likewise.
55856         * lib/stpcpy.h: Likewise.
55857         * lib/stpncpy.h: Likewise.
55858         * lib/strcase.h: Likewise.
55859         * lib/strstr.h: Likewise.
55860         * lib/xalloc.h: Likewise.
55861
55862         * lib/mbswidth.h: Add extern "C" for C++.
55863         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
55864
55865 2004-07-13  Robert Millan  <robertmh@gnu.org>
55866
55867         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
55868
55869 2004-07-09  Simon Josefsson  <jas@extundo.com>
55870
55871         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
55872         failed without this.)
55873
55874 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55875
55876         * modules/chown (Files): Add lib/fchown-stub.c, since
55877         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
55878
55879 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55880
55881         * lib/fchown-stub.c: New file.
55882
55883 2004-06-24  Jim Meyering  <jim@meyering.net>
55884
55885         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
55886
55887 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55888
55889         * modules/argz: Omit "#include".
55890
55891         * MODULES.html.sh (func_all_modules): Add calloc, to match
55892         2004-06-01 addition of calloc module.
55893
55894 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55895
55896         * m4/argz.m4: New file, which is autoupdated from libtool.
55897
55898 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55899
55900         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
55901         libtool.
55902
55903 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55904
55905         * config/srclist-update: Don't insist on "USA." before the
55906         close-comment, as libtool omits the period and puts the */ on a
55907         separate line.
55908         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
55909         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
55910
55911 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
55912
55913         * modules/argz: New file.
55914         * MODULES.html.sh (func_all_modules): Add argz.
55915
55916 2004-06-12  Jim Meyering  <jim@meyering.net>
55917         and  Paul Eggert  <eggert@cs.ucla.edu>
55918
55919         * modules/hash (Files): Add lib/xalloc.h.
55920         * modules/pipe (Depends-on): Add wait-process.
55921         * modules/stat (Depends-on): Add xalloc.
55922         * modules/userspec (Files): Add lib/userspec.h.
55923         * modules/xstrto
55924
55925         Upgrade from gettext-0.13.
55926         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
55927         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
55928         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
55929
55930 2004-06-10  Jim Meyering  <jim@meyering.net>
55931
55932         * lib/calloc.c: New file.
55933
55934 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
55935
55936         * lib/getdate.y (yylex): Allow space between sign and number.
55937         Problem reported by Dan Jacobson.
55938
55939 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
55940
55941         Merge from coreutils CVS.
55942
55943         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
55944         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
55945         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
55946         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
55947         xstrtol.m4: Fix copyright date and/or serial number.
55948
55949         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
55950         See if we need an fchown replacement.
55951         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
55952         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
55953         and use the replacement function if we detect either defect.
55954
55955         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
55956         gl_UTIMECMP.
55957
55958 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
55959         and  Jim Meyering  <jim@meyering.net>
55960
55961         Merge from coreutils CVS.
55962
55963         * lib/stat-macros.h: New file, with contents from file-type.h
55964         and coreutils' system.h.
55965         * lib/file-type.c: Include "stat-macros.h".
55966         * lib/file-type.h (file_type): Move all macro definitions to new file,
55967         stat-macros.h.
55968
55969         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
55970         Wrap old code with this conditional.
55971         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
55972         function that does not dereference symlinks.
55973         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
55974
55975         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
55976         dependency problems.
55977         (xreadlink): Accept new arg SIZE, for efficiency.
55978         All decls and uses changed.
55979         * lib/xreadlink.h: Include <stddef.h>, for size_t.
55980
55981         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
55982         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
55983
55984         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
55985         sysexits.h.
55986
55987 2004-06-01  Jim Meyering  <jim@meyering.net>
55988
55989         * m4/calloc.m4: New file.
55990
55991 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
55992
55993         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
55994         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
55995         Also, fix a typo in a diagnostic.
55996
55997 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
55998
55999         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
56000         or AC_FUNC_REALLOC.
56001
56002 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
56003
56004         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
56005         macros to be defined.
56006         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
56007         the allocator returns NULL because the requested size is zero.
56008
56009 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56010
56011         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
56012         var.  Add comment explaining why libc still defines it.  This
56013         merges the following patch from glibc:
56014         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
56015
56016 2004-05-20  Andreas Schwab  <schwab@suse.de>
56017
56018         * m4/free.m4: Replace free if it not known to work, not the other
56019         way round.
56020
56021 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
56022
56023         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
56024         present in glibc since revision 1.1 of this file.
56025         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
56026         obstack_alignment_mask, obstack_alloc, obstack_base,
56027         obstack_blank, obstack_blank_fast, obstack_chunk_size,
56028         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
56029         obstack_grow0, obstack_init, obstack_int_grow,
56030         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
56031         obstack_next_free, obstack_object_size, obstack_ptr_grow,
56032         obstack_ptr_grow_fast, obstack_room): Remove declarations of
56033         nonexistent functions.
56034
56035 2004-05-18  Karl Berry  <karl@gnu.org>
56036
56037         * config/srclist.txt: break link for vasnprintf.c.
56038
56039 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56040
56041         Port obstack to the AS/400, where pointers are 16 bytes wide and
56042         you cannot cast an integer to a valid pointer.  This patch is
56043         currently waiting to be integrated into glibc; see
56044         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
56045
56046         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
56047         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
56048         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
56049         (struct obstack): temp member is now a union of a pointer and
56050         an integer, instead of an integer.  All integer uses changed.
56051         This does not affect the physical layout of struct obstack,
56052         except on hosts (like the AS/400) where the size or alignment of
56053         void * is greater than that of ptrdiff_t.
56054         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
56055         __STDC__)]: Store temporary in pointer member of union, not
56056         integer member.
56057         * lib/obstack.c: Include <stddef.h>, for offsetof.
56058         (struct fooalign): Remove; it doesn't need a name.
56059         (union fooround): Change double to long double, and add void *.
56060         (DEFAULT_ALIGNMENT): Use offsetof to compute.
56061         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
56062         not a macro.  Hence the values are always int; so remove all
56063         casts-to-int in uses.
56064
56065 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
56066
56067         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
56068         we can get this patch merged into glibc.
56069
56070 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56071             Paul Eggert  <eggert@cs.ucla.edu>
56072
56073         * m4/argp: Depend on alloca.
56074
56075 2004-05-17  Derek R. Price  <derek@ximbiot.com>
56076             Paul Eggert  <eggert@cs.ucla.edu>
56077
56078         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
56079         freecoding.
56080
56081 2004-05-17  Bruno Haible  <bruno@clisp.org>
56082
56083         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
56084         precision that consists of a '.' followed by an empty digit string.
56085         Patch by Tor Lillqvist <tml@iki.fi>.
56086
56087 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56088
56089         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
56090         for backward compatibility with older code.  We need our own
56091         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
56092         it under some other name, and our alloca.h will define it.
56093
56094 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
56095             Derek Price  <derek@ximbiot.com>
56096
56097         * lib/alloca.c: Include <alloca.h>, to get our interface.
56098         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
56099         include <alloca.h> first.  Use C89 prototype for alloca; this
56100         requires including <stddef.h> for size_t.  Use extern "C" if C++.
56101         Use #elif for simplicity, since we can assume C89 now.
56102         Don't try to source the system alloca.h since it will not be found
56103         and to prevent recursively including its replacement.
56104         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
56105         * lib/regex.c: Likewise.
56106
56107 2004-05-16  Derek Price  <derek@ximbiot.com>
56108             Paul Eggert  <eggert@cs.ucla.edu>
56109
56110         getline cleanup.  This changes the getndelim2 API: both order of
56111         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
56112         no delimiter).
56113
56114         * lib/getline.c: Don't include stddef.h or stdio.h, since our
56115         interface does that.
56116         (getline): Always use getdelim, so that we don't have two
56117         copies of this code.
56118         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
56119         if available.
56120         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
56121         (GETNDELIM2_MAXIMUM): New macro.
56122         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
56123         instead of the old practice of delim2==0.  All callers changed.
56124         Return -1 on overflow, instead of returning junk.
56125         Do not set *linesize unless allocation succeeds.
56126         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
56127         that we include sys/types.h.
56128         * lib/getnline.h: Likewise.
56129         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
56130         (getndelim2): Reorder arguments.
56131         * lib/getnline.c (getnline, getndelim):
56132         Don't discard the NMAX argument.
56133         (getnline): Invoke getndelim, to avoid code duplication.
56134         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
56135         of (size_t) -1 by callers of the getnline family.
56136
56137 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56138
56139         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
56140         Check for gettimeofday.
56141         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
56142         Check for settimeofday, stime.
56143
56144 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56145
56146         * lib/nanosleep.c (suspended): Change its type from int to
56147         sig_atomic_t volatile.
56148         (first_call): Make it private to rpl_nanosleep, and have it
56149         be zero initially as that's a bit faster.
56150         (my_usleep): Round up fractional times instead of truncating them,
56151         as this is the usual meaning for 'sleep'.
56152
56153         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
56154         doesn't work.
56155         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
56156         (ENOSYS): Define if not defined.
56157         (settime): Fall back on stime if it exists and settimeofday fails.
56158         But don't bother with fallbacks if a method fails with errno == EPERM.
56159
56160 2004-05-11  Jim Meyering  <jim@meyering.net>
56161
56162         Prior to this change, the save_cwd caller required read access to the
56163         current directory on most systems (ones with the fchdir function).
56164
56165         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
56166         fails, try write-only, and finally, resort to using xgetcwd.
56167
56168 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56169
56170         * lib/obstack.c, obstack.h: Import changes from libc.
56171
56172 2004-04-28  Bruno Haible  <bruno@clisp.org>
56173
56174         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
56175         also implicitly appends .exe to executables.
56176         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
56177         accepts Windows pathnames.
56178         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56179         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56180         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
56181         Treat Cygwin like Windows, since it now accepts Windows pathnames.
56182         Reported by Derek Robert Price <derek@ximbiot.com>.
56183
56184 2004-04-21  Karl Berry  <karl@gnu.org>
56185
56186         * config/srclist.txt (localcharset.c): break sync.
56187
56188 2004-04-20  Paul Eggert  <eggert@twinsun.com>
56189
56190         * m4/host-os.m4: Add a copyright notice.
56191
56192 2004-04-20  Jim Meyering  <jim@meyering.net>
56193
56194         Change UTILS_ to gl_ in AC_DEFINE'd names.
56195         Change utils_- and jm_-prefixed variables, too.
56196         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
56197         UTILS_FUNC_MKDIR_TRAILING_SLASH.
56198         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
56199
56200         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
56201         Don't emit trailing blanks.
56202         Also rename jm_-prefixed variables to have gl_ prefix.
56203
56204         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
56205         Also rename jm_-prefixed variables to have gl_ prefix.
56206
56207         * m4/jm-macros.m4: Reflect the renamings.
56208         * m4/prereq.m4: Likewise.
56209
56210 2004-04-20  Jim Meyering  <jim@meyering.net>
56211
56212         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
56213         memory.
56214
56215 2004-04-20  Jim Meyering  <jim@meyering.net>
56216             Bruno Haible  <bruno@clisp.org>
56217
56218         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
56219         memory when realloc fails.
56220
56221 2004-04-19  Jim Meyering  <jim@meyering.net>
56222
56223         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
56224         now that readutmp.c may call `free (0)'.
56225
56226 2004-04-19  Bruno Haible  <bruno@clisp.org>
56227
56228         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
56229         * m4/inttypes_h.m4: Likewise.
56230         * m4/stdint_h.m4: Likewise.
56231         * m4/intmax_t.m4: Likewise.
56232         * m4/uintmax_t.m4: Likewise.
56233
56234 2004-04-18  Jim Meyering  <jim@meyering.net>
56235
56236         * m4/prereq.m4: Don't forbid jm_ prefix.
56237
56238         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
56239         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
56240         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
56241         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
56242         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
56243         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
56244         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
56245         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
56246         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
56247         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
56248         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
56249         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
56250         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
56251         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
56252         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
56253         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
56254         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
56255         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
56256         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
56257
56258 2004-04-18  Jim Meyering  <jim@meyering.net>
56259
56260         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
56261         failure, don't leak memory and do call END_UTMP_ENT.
56262
56263 2004-04-16  Jim Meyering  <jim@meyering.net>
56264
56265         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
56266         coreutils' stat program.
56267         (gl_PREREQ): Don't require jm_PREREQ_STAT.
56268
56269 2004-04-11  Paul Eggert  <eggert@twinsun.com>
56270
56271         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
56272         C89.
56273         (CHAR_BIT): Remove, since we assume C89.
56274         Include <stdint.h> if available, as per current Autoconf CVS advice.
56275
56276 2004-03-31  Jim Meyering  <jim@meyering.net>
56277
56278         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
56279         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
56280         * m4/xalloc.m4: Likewise.
56281
56282 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56283
56284         Merge from coreutils.
56285
56286         * m4/inttostr.m4: New file.
56287         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
56288         Require AM_STDBOOL_H and gl_TIMESPEC instead.
56289         Require gl_CLOCK_TIME.
56290         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
56291
56292 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56293
56294         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
56295         not bool, to be more consistent with Unix conventions.
56296         Suggested by Bruno Haible.
56297
56298         Merge from coreutils.
56299
56300         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
56301         * lib/umaxtostr.c: New files.
56302
56303         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
56304         the usual <time.h> dance.
56305         (get_date): Change signature to support fractional time stamps.
56306         All callers changed.
56307         * lib/getdate.y: Include "getdate.h" first, as we can now
56308         assume C89 and don't need to worry about 'const'.
56309         Similarly, include "unlocked-io.h" near start, not in middle.
56310         Include <limits.h>.
56311         (textint.value): Use long int rather than int.
56312         (textint.digits): Use size_t rather than int.
56313         (BILLION, LOG10_BILLION): New constants.
56314         (parser_control): New member rel_ns.  Members day_ordinal,
56315         time_zone, month, day, hour, minutes, rel_year, rel_month,
56316         rel_day, rel_hour, rel_minutes, rel_seconds
56317         are now long int, not int.  Member seconds is now struct timespec,
56318         not int.  New member timespec_seen.  Members dates_seen, days_seen,
56319         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
56320         not int.
56321         (%union.intval): Now long int, not int.
56322         New member timespec.
56323         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
56324         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
56325         (spec): Now is a timespec or an item list.
56326         (timespec, items): New nonterminals.
56327         (time, rel, relunit, number, get_date):
56328         Add support for fractional seconds.
56329         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
56330         (gmtime, localtime, mktime): Remove decls; not needed with C89.
56331         (to_hour): First arg is now long int, not int.
56332         (to_year): Returns long int, not int.
56333         Don't treat year -70 like 70.
56334         (tm_diff): Returns long int, not int.
56335         (lookup_word): Use bool instead of int when appropriate.
56336         (yylex): Use size_t for count, not int.
56337         Detect overflow when parsing large integer constants.
56338         Add support for fractions.
56339         (get_date): Make pointers 'const' if possible.
56340         Use more-portable code to detect integer overflow.
56341         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
56342         Don't use ctime; it's not reliable if the year has >4 digits.
56343
56344         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
56345         This is for compatibility with BSD.
56346
56347         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
56348         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
56349         From coreutils' system.h.
56350
56351         * lib/userspec.c: Don't include "posixver.h".
56352         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
56353         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
56354         compatible extension.  Simplify code by removing a boolean int
56355         that was always nonzero if a string was nonnull.
56356
56357 2004-03-30  Jim Meyering  <jim@meyering.net>
56358
56359         Merge from coreutils.
56360
56361         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
56362         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
56363         on some systems one must include <grp.h> before it.
56364         Reported by Christian Krackowizer.
56365
56366 2004-03-30  Jim Meyering  <jim@meyering.net>
56367
56368         Merge from coreutils.
56369
56370         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
56371
56372         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
56373         an empty input stream.
56374
56375         * lib/readtokens.c: Include <stdbool.h>.
56376         (readtoken): Use `size_t' rather than int/long.
56377         All callers adjusted.
56378         Use `bool' rather than `int' where appropriate.
56379         Use memset rather than an explicit loop.
56380         Use x2nrealloc rather than xrealloc.
56381         Allow the use of `\0' as a delimiter.
56382         (readtokens): Likewise.
56383         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
56384
56385 2004-03-30  Jim Meyering  <jim@meyering.net>
56386
56387         * m4/realloc.m4: Remove file, since now it does no more than
56388         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
56389         the `configure.ac' section of module/realloc.
56390         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
56391
56392 2004-03-30  Bruno Haible  <bruno@clisp.org>
56393
56394         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
56395         nonnull.
56396
56397 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56398
56399         Merge changes to getloadavg.c from coreutils and Emacs.
56400
56401         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
56402         Define to an expression, not to the empty string.
56403         Include cloexec.h and xalloc.h.
56404         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
56405         Use set_cloexec_flag rather than rolling our own.
56406         * lib/cloexec.c, lib/cloexec.h: New files.
56407
56408 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56409
56410         * m4/cloexec.m4: New file.
56411
56412 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56413
56414         * lib/getopt.h: Sync with libc CVS.
56415
56416 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56417             Bruno Haible  <bruno@clisp.org>
56418
56419         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
56420         mbswidth.
56421
56422 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56423             Bruno Haible  <bruno@clisp.org>
56424
56425         * lib/mbswidth.h: Include <wchar.h> only if
56426         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
56427         <wchar.h>.
56428         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
56429
56430 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56431
56432         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
56433         Sync with libc CVS.
56434         * lib/getopt_int.h: New file, also synced from libc.
56435
56436 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56437
56438         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
56439         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
56440         Bring back getopt.c, getopt.h, getopt1.c.
56441
56442 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56443
56444         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
56445         All uses changed.  Check for sa_sigaction member; this fixes
56446         a bug first reported by Jason Andrade in
56447         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56448
56449 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56450
56451         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
56452         '#if' expressions.  Unlike the code it replaces, it does not
56453         depend on (defined _SC_PAGESIZE).  However, it does depend on
56454         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
56455         first reported by Jason Andrade in
56456         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56457
56458 2004-02-25  Simon Josefsson  <jas@extundo.com>
56459
56460         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
56461
56462 2004-02-25  Simon Josefsson  <jas@extundo.com>
56463
56464         * lib/strdup.h: New file.
56465         * lib/strdup.c: Include it.
56466         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
56467         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
56468
56469 2004-02-23  Karl Berry  <karl@gnu.org>
56470
56471         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
56472         (from fencepost.gnu.org:/gd/gnuorg).
56473
56474 2004-02-23  Karl Berry  <karl@gnu.org>
56475
56476         * config/srclistvars.sh (GNUORG) [karl]: redefine.
56477         * config/srclist.txt: add maintain/standards documents.
56478
56479 2004-02-18  Bruno Haible  <bruno@clisp.org>
56480
56481         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
56482         Reported by Derek Robert Price <derek@ximbiot.com>.
56483
56484 2004-02-16  Karl Berry  <karl@gnu.org>
56485
56486         * config/mkinstalldirs, install-sh: update from automake.
56487
56488 2004-02-06  Karl Berry  <karl@gnu.org>
56489
56490         * m4/po.m4: update from gettext 0.14.1.
56491
56492 2004-02-06  Karl Berry  <karl@gnu.org>
56493
56494         * lib/config.charset: update from gettext 0.14.1.
56495
56496 2004-02-05  Paul Eggert  <eggert@twinsun.com>
56497
56498         Add comments and code, prompted by suggestions from Bruno Haible
56499         for sh-quote.
56500         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
56501         describing the enum quoting_style values.
56502         * lib/quotearg.c (quotearg_alloc): New function.
56503         (quotearg_buffer_restyled): Treat lone { and } as special.
56504         Treat = as special.  Work around bug with older shells
56505         that "see" a '\' that is really the 2nd byte of a multibyte char.
56506         Quote empty string with shell_quoting_style.
56507
56508 2004-02-03  Bruno Haible  <bruno@clisp.org>
56509
56510         * m4/pipe.m4: New file, from GNU gettext.
56511
56512 2004-02-03  Bruno Haible  <bruno@clisp.org>
56513
56514         * lib/pipe.h: New file, from GNU gettext.
56515         * lib/pipe.c: New file, from GNU gettext.
56516
56517 2004-01-27  Bruno Haible  <bruno@clisp.org>
56518
56519         * m4/execute.m4: New file, from GNU gettext.
56520
56521 2004-01-27  Bruno Haible  <bruno@clisp.org>
56522
56523         * lib/execute.h: New file, from GNU gettext.
56524         * lib/execute.c: New file, from GNU gettext.
56525         * lib/w32spawn.h: New file, from GNU gettext.
56526
56527 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56528
56529         Merge from diffutils.
56530
56531         * lib/file-type.c (file_type): Add typed memory objects.
56532         * lib/file-type.h (S_TYPEISTMO): New macro.
56533
56534         * lib/c-stack.h (c_stack_action): Remove argv argument.
56535         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
56536         (die): Don't calculate message unless segv_action returns.
56537         (get_stack_location, min_address_from_argv, max_address_from_argv,
56538         volatile stack_base, volatile_stack_size): Remove.
56539         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
56540         that every segmentation violation is a stack overflow.  (Ouch!)
56541         See Debian bug 136249 (still outstanding) for more info about why
56542         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
56543
56544 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56545
56546         Exit-status fix from coreutils.
56547
56548         Use exit_failure consistently in place of EXIT_FAILURE,
56549         so that program exit statuses are consistent on failure.
56550
56551         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
56552         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
56553         * lib/argmatch.h: Comment fix to match the above.
56554         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
56555         Now a macro referring to exit_failure, instead of a separate
56556         variable.  Include "exitfail.h" to get it.
56557         * lib/xstrtol.h: Include "exitfail.h".
56558         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
56559
56560         * lib/long-options.c (parse_long_options): Use prototype
56561         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
56562         for clarity.
56563
56564 2004-01-21  Jim Meyering  <jim@meyering.net>
56565
56566         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
56567         so as not to conflict with a different-sized __mktime_internal
56568         function in GNU libc.
56569         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
56570         Problem building statically-linked `ls' reported by Michael Brunnbauer.
56571
56572 2004-01-20  Karl Berry  <karl@gnu.org>
56573
56574         * config/config.guess: update from config.
56575
56576         * config/srclistvars.sh: GNUWWWLICENSES for karl.
56577
56578 2004-01-20  Bruno Haible  <bruno@clisp.org>
56579
56580         Safer stack allocation.
56581         * lib/setenv.c: Include allocsa.h.
56582         (alloca): Remove fallback definition.
56583         (freea): Remove macro.
56584         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
56585         instead of freea.
56586
56587 2004-01-20  Bruno Haible  <bruno@clisp.org>
56588
56589         * m4/eealloc.m4: New file, from GNU gettext.
56590
56591 2004-01-20  Bruno Haible  <bruno@clisp.org>
56592
56593         * m4/allocsa.m4: New file, from GNU gettext.
56594
56595 2004-01-20  Bruno Haible  <bruno@clisp.org>
56596
56597         * lib/xallocsa.h: New file, from GNU gettext.
56598         * lib/xallocsa.c: New file, from GNU gettext.
56599
56600 2004-01-20  Bruno Haible  <bruno@clisp.org>
56601
56602         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
56603
56604 2004-01-20  Bruno Haible  <bruno@clisp.org>
56605
56606         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
56607         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
56608         specially.
56609
56610 2004-01-20  Bruno Haible  <bruno@clisp.org>
56611
56612         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
56613         patch.
56614
56615 2004-01-20  Bruno Haible  <bruno@clisp.org>
56616
56617         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
56618
56619 2004-01-20  Bruno Haible  <bruno@clisp.org>
56620
56621         * lib/eealloc.h: New file.
56622
56623 2004-01-20  Bruno Haible  <bruno@clisp.org>
56624
56625         * lib/binary-io.h: Avoid warnings on Cygwin.
56626
56627 2004-01-20  Bruno Haible  <bruno@clisp.org>
56628
56629         * lib/allocsa.h: New file, from GNU gettext.
56630         * lib/allocsa.c: New file, from GNU gettext.
56631
56632 2004-01-18  Karl Berry  <karl@gnu.org>
56633
56634         * doc/gpl.texi, doc/lgpl.texi: new files.
56635
56636 2004-01-18  Karl Berry  <karl@gnu.org>
56637
56638         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
56639         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
56640
56641 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56642
56643         Merge from coreutils.
56644
56645         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
56646         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
56647         (gl_DEFAULT_POSIX2_VERSION): Move
56648         the documentation from 'configure' into 'config.hin',
56649         so that 'configure --help' isn't burdened by it and
56650         we don't have to worry about its formatting there.
56651         Reword the documentation so that it's more succinct
56652         and can be run together into a single paragraph.
56653         * m4/same.m4 (gl_SAME): Check for pathconf.
56654
56655 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56656
56657         Merge from coreutils.
56658
56659         * lib/posixver.c: Include posixver.h.
56660
56661         * lib/same.c: Include <stdbool.h>, <limits.h>.
56662         (_POSIX_NAME_MAX): Define if not defined.
56663         (MIN): New macro.
56664         (same_name): If file names are silently truncated, report
56665         that the file names are the same if they are the same after
56666         the silent truncation.
56667
56668         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
56669         conversion function.
56670         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
56671         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
56672         longer needed.
56673
56674 2004-01-15  Jim Meyering  <jim@meyering.net>
56675
56676         Merge from coreutils.
56677
56678         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
56679         if no library is required.
56680         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
56681         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
56682         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
56683         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
56684         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
56685         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
56686         value, $ac_cv_search_crypt, if it's "none required".
56687         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
56688         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
56689         not gl_FUNC_GETLOADAVG.
56690         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
56691         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
56692
56693 2004-01-15  Jim Meyering  <jim@meyering.net>
56694
56695         Merge from coreutils.
56696
56697         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
56698         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
56699         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
56700
56701         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
56702         optional configure-time default.
56703
56704         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56705
56706         * lib/xreadlink.c (xreadlink): Correct outdated comment.
56707
56708 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
56709
56710         Merge from coreutils.
56711
56712         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
56713         value, $ac_cv_search_nanosleep, if it's "none required".
56714
56715 2004-01-14  Paul Eggert  <eggert@twinsun.com>
56716
56717         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
56718         with like-named macro in fnmatch.c.
56719         (EXT): Use an internal constant instead.
56720
56721         Merge fnmatch patches from glibc.
56722         * lib/fnmatch.c (mbsinit): Remove define.
56723         Add libc_hidden_ver (__fnmatch, fnmatch).
56724         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
56725         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
56726
56727 2004-01-14  Karl Berry  <karl@gnu.org>
56728
56729         * config/install-sh: update from automake.
56730
56731 2004-01-13  Karl Berry  <karl@gnu.org>
56732
56733         * config/install-sh: update from automake.
56734
56735 2004-01-09  Karl Berry  <karl@gnu.org>
56736
56737         * config/install-sh: update from automake.
56738
56739 2004-01-05  Karl Berry  <karl@gnu.org>
56740
56741         * config/config.{sub,guess}: update from config.
56742
56743 2003-12-31  Karl Berry  <karl@gnu.org>
56744
56745         * config/depcomp: update from automake.
56746
56747 2003-12-14  Karl Berry  <karl@gnu.org>
56748
56749         * lib/config.charset: update from gettext-runtime.
56750
56751 2003-12-03  Paul Eggert  <eggert@twinsun.com>
56752
56753         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
56754         Bug reported by Alfred M. Szmidt.
56755
56756 2003-12-03  Bruno Haible  <bruno@clisp.org>
56757
56758         * m4/gettext.m4: Upgrade from gettext-0.13.
56759         * m4/po.m4: Upgrade from gettext-0.13.
56760         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
56761         * m4/intmax.m4: New file, from gettext-0.13.
56762         * m4/printf-posix.m4: New file, from gettext-0.13.
56763
56764 2003-11-29  Karl Berry  <karl@gnu.org>
56765
56766         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
56767
56768 2003-11-25  Paul Eggert  <eggert@twinsun.com>
56769             Bruno Haible  <bruno@clisp.org>
56770
56771         * lib/printf-parse.h: Don't include sys/types.h.
56772         (ARG_NONE): New macro.
56773         (char_directive): Change type of *arg_index fields to size_t.
56774         * lib/printf-parse.c: Don't include sys/types.h.
56775         (SSIZE_MAX): Remove macro.
56776         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
56777         Remove unnecessary overflow check.
56778         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
56779         fields.
56780
56781 2003-11-25  Bruno Haible  <bruno@clisp.org>
56782
56783         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
56784
56785 2003-11-25  Bruno Haible  <bruno@clisp.org>
56786
56787         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
56788         gt_TYPE_SSIZE_T.
56789
56790 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56791
56792         * modules/alloca: Remove dependency on xalloc.
56793
56794 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56795
56796         * lib/alloca.c: Remove dependency on xalloc module.
56797         (xalloc_die): Remove.
56798         (memory_full) [!defined emacs]: New macro.
56799         [!defined emacs]: Don't include xalloc.h.
56800         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
56801         address arithmetic overflows.  Change datatypes a bit to avoid
56802         unnecessary casts.
56803
56804 2003-11-22  Jim Meyering  <jim@meyering.net>
56805
56806         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
56807         s/size/size_t/.
56808
56809 2003-11-21  Karl Berry  <karl@gnu.org>
56810
56811         * config/config.{sub,guess}: update from config.
56812
56813 2003-11-18  Karl Berry  <karl@gnu.org>
56814
56815         * config/config.{sub,guess}: update from config.
56816
56817         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
56818
56819 2003-11-17  Paul Eggert  <eggert@twinsun.com>
56820
56821         * README: Mention that S+T cannot overflow if S is the size of
56822         an existing object and T is sufficiently small.
56823
56824 2003-11-17  Jim Meyering  <jim@meyering.net>
56825
56826         On systems without utime and without a utimes function capable of
56827         dealing with a NULL struct utimbuf* argument, this utime replacement
56828         could -- in unusual circumstances -- leak a file descriptor.
56829         * lib/utime.c: Include <unistd.h> and <errno.h>.
56830         (utime_null): Be sure to close `fd' and to preserve errno.
56831         Reported by Geoff Collyer via Arnold Robbins.
56832
56833 2003-11-17  Bruno Haible  <bruno@clisp.org>
56834
56835         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
56836         (Depends-on): Add xsize.
56837
56838 2003-11-17  Bruno Haible  <bruno@clisp.org>
56839
56840         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
56841
56842 2003-11-17  Bruno Haible  <bruno@clisp.org>
56843
56844         * lib/vasnprintf.c (alloca): Remove fallback definition.
56845         (freea): Remove definition.
56846         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
56847         Reported by Paul Eggert.
56848
56849 2003-11-16  Paul Eggert  <eggert@twinsun.com>
56850             Bruno Haible  <bruno@clisp.org>
56851
56852         Protect against address arithmetic overflow.
56853         * lib/printf-args.h: Include stddef.h.
56854         (arguments): Change type of field 'count' to size_t.
56855         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
56856         'unsigned int' where appropriate.
56857         * lib/printf-parse.h: Include sys/types.h.
56858         (char_directive): Change type of *arg_index fields to ssize_t.
56859         (char_directives): Change type of fields 'count', max_*_length to
56860         size_t.
56861         * lib/printf-parse.c: Include sys/types.h and xsize.h.
56862         (SSIZE_MAX): Define fallback value.
56863         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
56864         instead of 'int' where appropriate. Check a_allocated, d_allocated
56865         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
56866         * lib/vasnprintf.c: Include xsize.h.
56867         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
56868         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
56869         overflow. Avoid wraparound when converting a width or precision from
56870         decimal to binary.
56871
56872 2003-11-16  Bruno Haible  <bruno@clisp.org>
56873
56874         Update from GNU gettext.
56875         * lib/printf-parse.c: Generalize to it can be compiled for wide
56876         strings.
56877         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
56878         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
56879         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
56880         SNPRINTF): New macros.
56881         Don't include <alloca.h> if the file is used inside libintl.
56882         (local_wcslen): New function, for Solaris 2.5.1.
56883         (VASNPRINTF): Use it instead of wcslen.
56884
56885 2003-11-16  Bruno Haible  <bruno@clisp.org>
56886
56887         * lib/xsize.h (xmax): New function.
56888         (xsum, xsum3, xsum4): Declare as "pure" functions.
56889
56890 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56891
56892         * modules/xalloc (Files): Undo latest change, since xalloc.h
56893         no longer needs SIZE_MAX or PTRDIFF_MAX.
56894
56895 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56896
56897         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
56898         gl_PTRDIFF_MAX.
56899
56900 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56901
56902         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
56903         "return", to pacify some unknown compiler.  Problem reported
56904         by Joerg Schilling.
56905
56906 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56907
56908         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
56909         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
56910         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
56911         heuristic is just as accurate as far as we know, and it removes a
56912         dependency on size_max.m4 and ptrdiff_max.m4.
56913
56914 2003-11-11  Bruno Haible  <bruno@clisp.org>
56915
56916         * modules/xsize (Files): Add m4/size_max.m4.
56917         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
56918
56919 2003-11-11  Bruno Haible  <bruno@clisp.org>
56920
56921         * m4/size_max.m4: New file.
56922         * m4/ptrdiff_max.m4: New file.
56923         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
56924         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
56925         (gl_XALLOC): Invoke it.
56926
56927 2003-11-11  Bruno Haible  <bruno@clisp.org>
56928
56929         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
56930         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
56931         defined.
56932
56933 2003-11-10  Paul Eggert  <eggert@twinsun.com>
56934
56935         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
56936         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
56937         rejected some allocations of exactly SIZE_MAX - 2 bytes.
56938         From Bruno Haible.
56939         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
56940         not (size_t) -1, since it's defined here.
56941
56942 2003-11-09  Karl Berry  <karl@gnu.org>
56943
56944         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
56945
56946 2003-11-06  Paul Eggert  <eggert@twinsun.com>
56947
56948         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
56949         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
56950         Reject sizes of exactly SIZE_MAX bytes.
56951         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
56952         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
56953
56954 2003-11-05  Bruno Haible  <bruno@clisp.org>
56955
56956         * lib/xsize.h: Include limits.h, to avoid a possible collision with
56957         SIZE_MAX defined in <limits.h> on Solaris.
56958
56959 2003-11-04  Jim Meyering  <jim@meyering.net>
56960
56961         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
56962         variable names, rather than @VAR@.
56963         * modules/poll: Likewise.
56964
56965 2003-11-04  Bruno Haible  <bruno@clisp.org>
56966
56967         * modules/xsize: New file.
56968         * modules/linebreak: Depend on xsize.
56969         * MODULES.html.sh (func_all_modules): Add xsize.
56970
56971 2003-11-04  Bruno Haible  <bruno@clisp.org>
56972
56973         * m4/xsize.m4: New file.
56974
56975 2003-11-04  Bruno Haible  <bruno@clisp.org>
56976
56977         * lib/xsize.h: New file.
56978         * lib/linebreak.c: Include xsize.h.
56979         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
56980         argument for overflow.
56981         Suggested by Paul Eggert.
56982
56983 2003-11-03  Karl Berry  <karl@gnu.org>
56984
56985         * config/config.{guess,sub}: update from config.
56986
56987 2003-11-03  Jim Meyering  <jim@meyering.net>
56988
56989         * modules/userspec (lib_SOURCES): Add userspec.h.
56990         (Include): Add "userspec.h".
56991         Improve description.
56992
56993 2003-11-03  Jim Meyering  <jim@meyering.net>
56994
56995         * lib/userspec.c: Include "userspec.h".
56996         * lib/userspec.h: New file.
56997
56998 2003-11-03  Bruno Haible  <bruno@clisp.org>
56999
57000         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
57001
57002 2003-11-03  Bruno Haible  <bruno@clisp.org>
57003
57004         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
57005         available, to avoid (extremely rare) race condition.
57006         Suggested by Paul Eggert.
57007
57008 2003-11-02  Karl Berry  <karl@gnu.org>
57009
57010         * config/srclist.txt (vasprintf.c): sync broken, sigh.
57011
57012 2003-10-31  Paul Eggert  <eggert@twinsun.com>
57013
57014         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
57015         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
57016         (read_filesystem_list): Set and use me_type_malloced.
57017         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
57018         whatever the type happens to be), for brevity and consistency.
57019         Check for size calculation overflow on Alphas running OSF/1.
57020
57021 2003-10-31  Jim Meyering  <jim@meyering.net>
57022
57023         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
57024
57025         * lib/linebuffer.c: Include <string.h> for declaration of memset.
57026
57027 2003-10-30  Paul Eggert  <eggert@twinsun.com>
57028             Bruno Haible  <bruno@clisp.org>
57029
57030         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
57031         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
57032
57033 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57034
57035         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
57036         netbsd*-gnu*.  Suggested by Robert Millan.
57037
57038 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57039
57040         * modules/group-member: Depend on stdbool.
57041
57042 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57043
57044         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
57045
57046 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57047
57048         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
57049         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
57050         after the 'gnu' in these cases.  This fixes some bugs in the
57051         previous change, and is based on suggestions by Robert Millan.
57052
57053 2003-10-29  Paul Eggert  <eggert@twinsun.com>
57054
57055         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
57056         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
57057         no longer needed.
57058         * lib/quotearg.c (quotearg_n_options): Use it.
57059         * lib/group-member.c: Include <stdbool.h>.
57060         (free_group_info): Arg is now const *; don't free arg.
57061         (get_group_info): Now returns bool and accepts struct group_info *,
57062         rather than returning a malloc'ed struct group_info *.
57063         All uses changed.  Check for overflow in internal size calculation.
57064
57065         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
57066         rather than xmalloc/xrealloc.
57067         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
57068         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
57069         conformance bug: the old code used a pointer after freeing the
57070         storage that it addressed.
57071         * lib/hash.c (hash_initialize): Simplify the code by using
57072         xalloc_oversized rather than doing it by hand.
57073         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
57074         the buffer preserved.  Use free and xmalloc instead.
57075         * lib/quotearg.c (quotearg_n_options): Likewise.
57076         Use a simpler test for size overflow.  Don't use xalloc_oversized
57077         because unsigned int might be wider than size_t (!); this suggests
57078         that we should switch from unsigned int to size_t for slot numbers.
57079
57080 2003-10-28  Paul Eggert  <eggert@twinsun.com>
57081
57082         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
57083         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
57084         NetBSD kernels.  Requested by Richard Stallman.
57085
57086 2003-10-27  Paul Eggert  <eggert@twinsun.com>
57087
57088         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
57089         to allocate the returned structure.  Do not allocate a subarray,
57090         as x2nrealloc will do that.
57091         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
57092         instead of xnrealloc.
57093         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
57094
57095 2003-10-27  Bruno Haible  <bruno@clisp.org>
57096
57097         * lib/stdbool_.h: Better support for BeOS.
57098
57099 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57100
57101         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
57102         now uses inline.
57103
57104 2003-10-26  Paul Eggert  <eggert@twinsun.com>
57105
57106         * lib/xalloc.h (xalloc_oversized): New static inline function, for
57107         callers that want to do their own size-overflow checking.  Include
57108         <stdbool.h>, since xalloc_oversized returns bool.
57109         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
57110         to use xalloc_oversized.
57111
57112         Add two functions x2realloc, x2nrealloc, for programs that grow
57113         arrays dynamically by doubling their sizes.
57114         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
57115         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
57116         New functions.
57117
57118         Port to C99 semantics for 'inline' of external functions.
57119         Bug reported by Bruno Haible.
57120         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
57121         with the old contents of xnmalloc.
57122         (xnmalloc, xmalloc): Use it.
57123         (xnrealloc_inline): New static inline function,
57124         with the old contents of xnrealloc.
57125         (xnrealloc, xrealloc): Use it.
57126
57127         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
57128         that.
57129
57130 2003-10-26  Karl Berry  <karl@gnu.org>
57131
57132         * config/srclist.txt (COPYING.DOC): no longer available from
57133         /gd/gnuorg; don't know where the ultimate source is.
57134
57135 2003-10-25  Paul Eggert  <eggert@twinsun.com>
57136
57137         Fix several address-calculation bugs in the hash modules,
57138         plus some minor code cleanup.
57139
57140         * lib/hash.h: Include <stdbool.h>, for bool.
57141         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
57142         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
57143         hash_get_n_entries, hash_get_max_bucket_length,
57144         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
57145         hash_rehash): Use size_t rather than unsigned.
57146         * lib/hash.c (struct hash_table, hash_get_n_buckets,
57147         hash_get_n_buckets_used, hash_get_n_entries,
57148         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
57149         hash_get_entries, hash_do_for_each, hash_string, is_prime,
57150         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
57151         Likewise.
57152         (SIZE_MAX): Define if not defined.
57153         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
57154         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
57155         hash_print):
57156         Use const * when possible.
57157         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
57158         (check_tuning): Fix bug: if tuning parameters were very close to
57159         0 or 1, rounding errors could have caused subscript violations.
57160         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
57161         (hash_initialize): Add 'fail:' label
57162         to free table and return NULL, and use it to simplify code.
57163         Use calloc rather than clearing the storage ourself.
57164         (hash_initialize, hash_rehash): Check for arithmetic overflow in
57165         buffer size calculations.
57166         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
57167         Include <stddef.h>, for size_t.
57168         * lib/hash-pjw.c (hash_pjw): Likewise.
57169         Switch to method described by Bruno Haible.
57170         Include <limits.h>, for CHAR_BIT.
57171         (SIZE_BITS): New macro.
57172
57173 2003-10-23  Paul Eggert  <eggert@twinsun.com>
57174
57175         * m4/getline.m4 (AM_FUNC_GETLINE):
57176         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
57177         hosts.  Problem reported by Derek Robert Price in
57178         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
57179         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
57180         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
57181
57182 2003-10-21  Paul Eggert  <eggert@twinsun.com>
57183
57184         * lib/getndelim2.c (getndelim2): When size calculation overflows,
57185         ceiling the allocation at NMAX bytes rather than silently
57186         discarding input bytes before NMAX is reached.  This makes
57187         a difference only if NMAX exceeds SIZE_MAX / 2.
57188
57189         * lib/obstack.c: Merge from glibc.
57190         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
57191         Add libc_hidden_def (_obstack_newchunk).
57192         (_obstack_free) [! defined _LIBC]: Remove.
57193         [defined _LIBC]: Make a strong alias from obstack_free, rather than
57194         a clone of the function body.
57195         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
57196         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
57197
57198         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
57199         glibc.
57200         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
57201         arg to memcpy.
57202
57203         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
57204         (obstack_ptr_grow_fast, obstack_int_grow_fast):
57205         Don't use lvalue casts, as GCC plans to remove support for them
57206         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
57207         was also present in the non-GCC version, indicating that this
57208         code had always been buggy and had never been widely used.
57209         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
57210         Use the fast variant of each macro, rather than copying the
57211         definiens of the fast variant; that way, we'll be more likely to
57212         catch future bugs in the fast variants.
57213
57214 2003-10-20  Bruno Haible  <bruno@clisp.org>
57215
57216         * modules/wait-process: New file.
57217         * MODULES.html.sh (func_all_modules): Add wait-process.
57218
57219 2003-10-20  Bruno Haible  <bruno@clisp.org>
57220
57221         * m4/wait-process.m4: New file.
57222
57223 2003-10-20  Bruno Haible  <bruno@clisp.org>
57224
57225         * lib/wait-process.h: New file, from GNU gettext.
57226         * lib/wait-process.c: New file, from GNU gettext.
57227
57228 2003-10-19  Jim Meyering  <jim@meyering.net>
57229
57230         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
57231         HPUX 10.20.
57232
57233 2003-10-18  Karl Berry  <karl@gnu.org>
57234
57235         * config/config.guess: update from config.
57236
57237 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57238
57239         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
57240         (getgroups): First arg is int, not size_t.
57241         Don't let 'free' mangle errno.
57242
57243 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57244
57245         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
57246
57247 2003-10-16  Karl Berry  <karl@gnu.org>
57248
57249         * config/config.{guess,sub}: update from config.
57250
57251 2003-10-16  Jim Meyering  <jim@meyering.net>
57252
57253         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
57254         memcpy.
57255
57256 2003-10-15  Paul Eggert  <eggert@twinsun.com>
57257
57258         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
57259         (SIZE_MAX): Remove.
57260         (new_exclude, add_exclude_file): Initial size no longer needs to
57261         be a power of 2.
57262         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
57263         our own address arithmetic overflow checking.
57264
57265         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
57266         (fnmatch): Do not alloca more than 2000 wide characters;
57267         instead, use malloc for large buffers.
57268         Check for address arithmetic overflow, and return -1
57269         with errno set to ENOMEM in that case.
57270         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
57271         (NEW_PATTERN): Do not alloca more than 8000 bytes;
57272         instead, return -1.  Check for address arithmetic overflow.
57273
57274 2003-10-14  Paul Eggert  <eggert@twinsun.com>
57275
57276         Handle invalid suffixes and overflow independently, so that
57277         callers can treat them independently as needed.  Fix some bugs in
57278         suffix handling, e.g., "100k@" was not diagnosed as an invalid
57279         suffix for a human-readable blocksize.  The major caller-visible
57280         change is the addition of a new
57281         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
57282         that both overflow and suffix chars were found.
57283
57284         * lib/human.c (humblock): Don't check separately for invalid suffix
57285         char; that is xstrtoumax's job (now that its bug is fixed).
57286         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
57287         INTMAX_MAX]: New macros.
57288         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
57289         TYPE_MAXIMUM): New macros.
57290         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
57291         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
57292         if overflow occurs, as it's what __strtol does and it's more useful
57293         in practice.
57294         (__xstrtol): If __strtol reports some error other than ERANGE,
57295         reflect it to the caller as LONGINT_INVALID.  If it reports
57296         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
57297         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
57298         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
57299         value.
57300         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
57301         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
57302         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
57303         [defined UINTMAX_MAX]: New macros.
57304
57305 2003-10-14  Bruno Haible  <bruno@clisp.org>
57306
57307         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
57308
57309 2003-10-14  Bruno Haible  <bruno@clisp.org>
57310
57311         * m4/sig_atomic_t: New file, from GNU gettext.
57312         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
57313
57314 2003-10-14  Bruno Haible  <bruno@clisp.org>
57315
57316         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
57317         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
57318         Also use volatile where needed.
57319
57320 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57321
57322         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
57323         Change maintainer from Bruno Haible to 'all'.
57324
57325 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57326
57327         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
57328
57329 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57330
57331         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
57332         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
57333         and define in terms of the other primitives.
57334         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
57335         (SIZE_MAX): Define if not already defined.
57336         (array_size_overflow): New function.
57337         (xalloc_die): Abort instead of exiting if 'error' returns.
57338         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
57339         (xmalloc, xrealloc): Use them.
57340         (xcalloc): Check for address arithmetic overflow.
57341         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
57342         a bit faster than strcpy.
57343
57344 2003-10-10  Simon Josefsson  <jas@extundo.com>
57345
57346         * modules/argp (Depends-on): Add restrict and strcase.
57347
57348 2003-10-10  Simon Josefsson  <jas@extundo.com>
57349
57350         * m4/argp.m4: Add AC_C_INLINE.
57351
57352 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57353
57354         Merge getpass from libc, plus a few fixes.
57355
57356         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
57357         Include <stdbool.h>.
57358         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
57359         __fsetlocking to empty.
57360         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
57361         do include <bits/libc-lock.h>.
57362         Do not include <fcntl.h>; not needed.
57363         [_LIBC]: Include <wchar.h>.
57364         (NOTCANCEL_MODE): New macro.
57365         (flockfile, funlockfile) [_LIBC]: New macros.
57366         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
57367         [!_LIBC]: New macros.
57368         (call_fclose): New function.
57369         (getpass): Use it.  Save tty stream separately; this simplifies the
57370         code and makes it more reliable if stdin happens to equal stdout.
57371         Invoke __fsetlocking on tty.
57372         Handle thread cancellation if needed.
57373         Namespace cleanup (use __tcgetattr, __getline).
57374         Use bool for Booleans.
57375         [USE_IN_LIBIO]: Handle wide streams.
57376         [!_LIBC]: Unconditionally do the fseek, since we don't know what
57377         stream might go where.
57378
57379         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
57380         doesn't have to include <stdio.h> before us.
57381         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
57382         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
57383         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
57384         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
57385         if not declared, so that we can use getpass.c code from libc without
57386         rewriting it.
57387         (flockfile, ftrylockfile, funlockfile): New macros.
57388
57389 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57390
57391         * modules/getpass: Depend on stdbool.
57392
57393 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57394
57395         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
57396
57397 2003-10-07  Karl Berry  <karl@gnu.org>
57398
57399         * config/config.{guess,sub}: update from config.
57400
57401 2003-10-06  Jim Meyering  <jim@meyering.net>
57402             Bruno Haible  <bruno@clisp.org>
57403
57404         This lets translators provide better translations for the
57405         "Written by ..." part of --version output.
57406         * lib/version-etc.h: Include stdarg.h.
57407         (version_etc_copyright): Declare as readonly.
57408         (version_etc): Make this function variadic with a NULL-terminated list
57409         of author name strings.
57410         (version_etc_va): New declaration.
57411         * lib/version-etc.c: Include stdarg.h, stdlib.h.
57412         (version_etc_copyright): Declare as readonly.
57413         (version_etc_va): New function. Provide a different translatable string
57414         for each possible number of authors < 10. Abbreviate when there are 10
57415         authors or more.
57416         (version_etc): Make this function variadic. Call version_etc_va.
57417         Suggestion from Gary V. Vaughan.
57418
57419         * lib/long-options.h (parse_long_options): Change prototype: the
57420         authors string is moved to the end and becomes variadic.
57421         * lib/long-options.c: Include stdarg.h.
57422         (parse_long_options): Make this function variadic, too.
57423         Call version_etc_va, not version_etc.
57424
57425 2003-10-06  Bruno Haible  <bruno@clisp.org>
57426
57427         * modules/version-etc-2: Remove file.
57428         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
57429
57430 2003-10-06  Bruno Haible  <bruno@clisp.org>
57431
57432         * modules/fatal-signal: New file.
57433         * MODULES.html.sh (func_all_modules): Add fatal-signal.
57434
57435 2003-10-06  Bruno Haible  <bruno@clisp.org>
57436
57437         * m4/fatal-signal.m4: New file.
57438         * m4/signalblocking.m4: New file, from GNU gettext.
57439
57440 2003-10-06  Bruno Haible  <bruno@clisp.org>
57441
57442         * lib/version-etc-2.h: Remove file.
57443         * lib/version-etc-2.c: Remove file.
57444
57445 2003-10-06  Bruno Haible  <bruno@clisp.org>
57446
57447         * lib/fatal-signal.h: New file, from GNU gettext.
57448         * lib/fatal-signal.c: New file, from GNU gettext.
57449
57450 2003-10-05  Paul Eggert  <eggert@twinsun.com>
57451
57452         * README: Rework advice for preventing empty .o files.
57453         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
57454         not <sys/types.h>.
57455
57456 2003-10-04  Karl Berry  <karl@gnu.org>
57457
57458         * lib/argp*: update from libc.
57459
57460 2003-10-04  Karl Berry  <karl@gnu.org>
57461
57462         * config/config.{guess,sub}: update from config.
57463
57464 2003-10-02  Bruno Haible  <bruno@clisp.org>
57465
57466         * modules/lchown (Include): Add lchown.h.
57467         * modules/time_r (Include): Use "..." syntax.
57468         * modules/xgetdomainname (Include): Add xgetdomainname.h.
57469
57470 2003-10-01  Simon Josefsson  <jas@extundo.com>
57471
57472         * MODULES.html.sh (func_all_modules): Move gethostname from section
57473         'based on' to section 'lacking' POSIX:2001.
57474
57475 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
57476
57477         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
57478         to output mode on the same stream.
57479
57480 2003-09-29  Paul Eggert  <eggert@twinsun.com>
57481
57482         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
57483         Fix arg typo in previous patch.
57484
57485 2003-09-28  Jim Meyering  <jim@meyering.net>
57486
57487         * lib/error.c: Correct cpp indentation.
57488
57489 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57490
57491         * modules/free: New file.
57492
57493 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57494
57495         * m4/free.m4: New file.
57496
57497 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57498
57499         * lib/minmax.h (MIN, MAX)
57500         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
57501         Omit the special code that used __typeof__, since we worry that
57502         it could be more trouble than it's worth.  See:
57503         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
57504         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
57505
57506         * lib/free.c: New file.
57507
57508 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
57509
57510         Trivial fixes to Makefile.am parts of module listings.
57511         * modules/strstr: Append strstr.h to lib_SOURCES.
57512         * modules/strcase: Likewise, for strcase.h.
57513
57514 2003-09-27  Karl Berry  <karl@gnu.org>
57515
57516         * config/mkinstalldirs: update from automake.
57517
57518 2003-09-26  Paul Eggert  <eggert@twinsun.com>
57519
57520         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
57521         (error_tail): Do not loop, reallocating temporary buffer, since
57522         the output cannot contain more wide characters than the input
57523         contains bytes, the size must be big enough already.  This avoids
57524         one potential size overflow calculation.  Check for size overflow
57525         when calculating temporary buffer size.  Free temporary buffer
57526         when done, if it was allocated with malloc; this plugs a memory
57527         leak.  Remove casts from void * to pointers, that are no longer
57528         needed now that we're assuming C89 or better.
57529
57530         Merge error changes from glibc.
57531
57532         * lib/error.c, error.h: Update copyright notice header to match glibc.
57533         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
57534         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
57535         Disable cancellation while printing error.
57536         * lib/error.h: Prepend __ to parameter names.
57537
57538 2003-09-26  Jim Meyering  <jim@meyering.net>
57539
57540         * lib/error.c (error_tail): Move some declarations
57541         into inner scope where the local variables are used.
57542
57543 2003-09-26  Bruno Haible  <bruno@clisp.org>
57544
57545         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
57546         stpncpy().
57547         Don't define stpncpy through config.h; it's now done through stpncpy.h.
57548
57549 2003-09-26  Bruno Haible  <bruno@clisp.org>
57550
57551         * lib/stpncpy.h (gnu_stpncpy): New declaration.
57552         (stpncpy): Define as alias for gnu_stpncpy.
57553         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
57554
57555 2003-09-25  Simon Josefsson  <jas@extundo.com>
57556
57557         * lib/xgetdomainname.h: New file.
57558         * lib/xgetdomainname.c: New file.
57559
57560 2003-09-25  Simon Josefsson  <jas@extundo.com>
57561             Bruno Haible  <bruno@clisp.org>
57562
57563         * modules/getdomainname: New file.
57564         * modules/xgetdomainname: New file.
57565         * MODULES.html.sh (func_all_modules): Add getdomainname,
57566         xgetdomainname.
57567
57568 2003-09-25  Simon Josefsson  <jas@extundo.com>
57569             Bruno Haible  <bruno@clisp.org>
57570
57571         * m4/getdomainname.m4: New file.
57572
57573 2003-09-25  Simon Josefsson  <jas@extundo.com>
57574             Bruno Haible  <bruno@clisp.org>
57575
57576         * lib/getdomainname.h: New file.
57577         * lib/getdomainname.c: New file.
57578
57579 2003-09-25  Karl Berry  <karl@gnu.org>
57580
57581         * lib/argp-fmtstream.c, argp-help.c: update from libc.
57582
57583 2003-09-25  Karl Berry  <karl@gnu.org>
57584
57585         * config/install-sh: update from automake.
57586
57587 2003-09-25  Bruno Haible  <bruno@clisp.org>
57588
57589         * modules/version-etc-2: New file, from modules/version-etc with
57590         modifications.
57591         * MODULES.html.sh (func_all_modules): Add version-etc-2.
57592
57593 2003-09-25  Bruno Haible  <bruno@clisp.org>
57594
57595         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
57596         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
57597
57598 2003-09-24  Simon Josefsson  <jas@extundo.com>
57599
57600         * modules/xgethostname: Add xgethostname.h.
57601
57602 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57603
57604         * lib/linebuffer.c (freebuffer): Don't free the argument, just
57605         the buffer associated with the argument.  Bug reported by
57606         Simon Josefsson.
57607
57608 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57609
57610         * README: Document assumptions that 'int' is at least 32 bits
57611         wide, that integer arithmetic is 2's complement without overflow,
57612         that there are no holes in integer values, that adding sizes of
57613         two nonoverlapping objects can't overflow, and that all-bits-zero
57614         yields scalar zero.  Fix spelling and capitalization typos.
57615
57616 2003-09-19  Karl Berry  <karl@gnu.org>
57617
57618         * lib/argp.h: update from libc.
57619
57620 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57621
57622         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
57623         to avoid spurious warnings like "AC_RUN_IFELSE was called before
57624         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
57625
57626 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57627
57628         * gnulib-tool: Use "test -h", not "test -L", for portability
57629         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
57630         (tags_regexp): Remove, since \| doesn't conform to POSIX.
57631         (sed_extract_prog): Issue s commands one-by-one, rather than
57632         using \| in one s command.
57633
57634 2003-09-16  Paul Eggert  <eggert@twinsun.com>
57635
57636         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
57637         input error, instead of returning NULL the next time we are called
57638         (and therefore losing track of errno).
57639
57640 2003-09-16  Bruno Haible  <bruno@clisp.org>
57641
57642         * gnulib-tool (func_create_testdir): Warn about duplicated
57643         dependencies.
57644
57645 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57646
57647         * modules/argmatch, modules/fatal, modules/obstack,
57648         modules/xalloc, modules/xgethostname: Sort dependencies by
57649         importance, not alphabetically.
57650
57651 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57652
57653         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
57654         fails, so that the caller gets the proper errno.
57655
57656         * lib/readutmp.c (read_utmp): Likewise.
57657         Check for fstat error.  Close stream and free storage
57658         when failing.
57659
57660 2003-09-14  Karl Berry  <karl@gnu.org>
57661
57662         * config/srclist.txt (strdup.c): disable for c89 changes.
57663
57664 2003-09-14  Jim Meyering  <jim@meyering.net>
57665
57666         * lib/getloadavg.c: Correct cpp indentation.
57667         * lib/strdup.c: Likewise.
57668         * lib/vasnprintf.c: Likewise.
57669
57670 2003-09-14  Bruno Haible  <bruno@clisp.org>
57671
57672         * modules/fwriteerror: New file.
57673         * MODULES.html.sh (func_all_modules): Add fwriteerror.
57674
57675 2003-09-14  Bruno Haible  <bruno@clisp.org>
57676
57677         * lib/fwriteerror.h: New file.
57678         * lib/fwriteerror.c: New file.
57679
57680 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57681
57682         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
57683         modules/xgethostname, modules/xalloc: Depend on exit.
57684
57685 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57686
57687         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
57688
57689         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
57690         and AC_MINIX, too, so that their extensions are available.
57691
57692         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
57693         This macro has been superseded by gl_BACKUPFILE.
57694
57695         More patches to assume C89 or better.
57696
57697         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
57698
57699         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
57700         unconditionally.
57701         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
57702         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
57703         Include <string.h>, <stdlib.h> unconditionally.
57704         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
57705         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
57706         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
57707         headers or for string.h.
57708         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
57709         or strtoul.
57710
57711         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
57712         headers.
57713         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
57714         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57715         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
57716         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
57717         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57718         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
57719         memcpy, memset.
57720         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
57721         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
57722         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
57723         strtol.
57724         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
57725         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
57726         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
57727         strtoul.
57728
57729 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57730
57731         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
57732         * lib/obstack.c [!defined _LIBC]: Likewise.
57733         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
57734         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
57735         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
57736
57737         More changes to assume C89 or better.
57738
57739         * lib/error.c (error_tail): Assume vprintf.
57740
57741         * lib/argmatch.c (getenv): Remove decl.
57742         * lib/progreloc.c (get_full_program_name): Define via prototype.
57743         * lib/setenv.c (clearenv): Likewise.
57744         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
57745         needed.
57746         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
57747         (malloc, memcpy): Remove decls.
57748         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
57749         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
57750         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57751         (memcpy): Remove macro.
57752         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
57753         (__P): Remove.  All uses removed.
57754         (PTR): Remove.  All uses changed to void *.
57755         (CHAR_BIT, NULL): Remove.
57756         (spaces, zeros, memset_space, memset_zero)
57757         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
57758         Remove.
57759         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
57760         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
57761         Define with prototype.
57762         Remove now-unnecessary prototype decl.
57763         (extra_args_spec): Assume ANSI C.  All uses changed.
57764         (extra_args_spec_iso): Remove.
57765         (my_strftime, emacs_strftimeu): Define via prototype.
57766         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
57767         unconditionally.
57768         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
57769         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
57770         (strtoul, strtol): Remove decls.
57771         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
57772         LONG_MAX): Remove.
57773         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57774         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
57775         (LOCALE_PARAM_PROTO): New macro.
57776         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
57777         (INTERNAL (strtol), strtol): Define with a prototype.
57778         (PARAMS): Remove.  All uses removed.
57779         * lib/tempname.c: Include <string.h> unconditionally.
57780         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
57781         * lib/xgethostname.c (main): Define with a prototype.
57782         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
57783         Include <stdlib.h> unconditionally.
57784         (calloc, malloc, realloc, free): Remove decls.
57785         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
57786         Include <stdlib.h> unconditionally.  Sort include file names.
57787         (strtod): Remove.
57788         (xstrtod): Define with a prototype.
57789         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
57790         (strtol, strtoul): Remove decls.
57791
57792 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57793
57794         More patches to assume C89 or better.
57795         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
57796         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
57797         string.h, memchr, STDC_HEADERS.
57798
57799 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57800
57801         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
57802         Include <stdlib.h>, <string.h> unconditionally.
57803         Remove now-unnecessary cast to char *.
57804         * lib/strnlen.c: Include <string.h> unconditionally.
57805         * lib/yesno.c (yesno): Define with a prototype.
57806
57807 2003-09-11  Bruno Haible  <bruno@clisp.org>
57808
57809         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
57810
57811 2003-09-10  Jim Meyering  <jim@meyering.net>
57812
57813         * lib/error.c: Correct indentation of cpp directives.
57814
57815 2003-09-10  Bruno Haible  <bruno@clisp.org>
57816
57817         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
57818         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
57819         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
57820         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
57821         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
57822         <stdlib.h> and <string.h> checks.
57823         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
57824         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
57825
57826 2003-09-10  Bruno Haible  <bruno@clisp.org>
57827
57828         * lib/strcspn.c: Include <string.h> unconditionally.
57829         * lib/strpbrk.c: Include <string.h> unconditionally.
57830         * lib/strstr.c: Include <string.h> unconditionally.
57831         * lib/unicodeio.c: Include <string.h> unconditionally.
57832         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
57833         * lib/unsetenv.c: Likewise.
57834         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
57835         * lib/yesno.c: Include <stdlib.h> unconditionally.
57836         (rpmatch): Add prototype.
57837
57838 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57839
57840         More patches to assume C89 or better.
57841         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
57842         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
57843         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
57844         or for string.h.
57845         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
57846         stdlib.h.
57847         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
57848         C headers.
57849         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
57850         string.h.
57851         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
57852         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
57853         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
57854         or for string.h.
57855         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
57856         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
57857         C headers.
57858         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
57859         memcpy.
57860         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
57861         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
57862         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
57863         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
57864         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
57865         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
57866         string.h, free.
57867         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
57868         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
57869         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
57870         C headers, or for string.h.
57871         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
57872         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
57873         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
57874         headers, memory.h, stdlib.h, string.h, strings.h.
57875         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
57876         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
57877         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
57878         strchr.
57879         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
57880         headers, memory.h, string.h.
57881         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
57882         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
57883         free.
57884         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
57885         headers.
57886         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
57887         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
57888         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
57889         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
57890         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
57891
57892 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57893
57894         More K&R removal.
57895
57896         * lib/acosl.c (main): Use a prototype.
57897         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
57898         tanl.c: Likewise.
57899
57900         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
57901
57902         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
57903         (getopt, etopt_long, getopt_long_only, _getopt_internal)
57904         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
57905         with a prototype.
57906         * lib/getopt.c (const): Remove macro.
57907         Include <string.h> unconditionally.
57908         (my_index): Remove; all uses changed to strchr.
57909         (strlen): Remove decl.
57910         (exchange): Remove forward decl; no longer needed.
57911         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
57912         Define with prototype.
57913         * lib/getopt1.c (const): Remove macro.
57914         (getopt_long, getopt_long_only, main): Define with prototype.
57915
57916         * lib/getugroups.c: Include <string.h> unconditionally.
57917
57918         * lib/getusershell.c: Include <stdlib.h> unconditionally.
57919         (getusershell, setusershell, endusershell, readname, main):
57920         Define with prototypes.
57921
57922         * lib/group-member.c: Include group-member.h first.
57923         Include <stdlib.h> unconditionally.
57924
57925         * lib/hard-locale.c: Include hard-locale.h first.
57926         Include <stdlib.h>, <string.h> unconditionally.
57927
57928         * lib/hash.c (free, malloc): Remove decls.
57929         Include <stdlib.h> unconditionally.
57930
57931         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
57932         (getenv): Do not declare.
57933
57934         * lib/idcache.c: Include <string.h> unconditionally.
57935
57936         * lib/long-options.c: Include long-options.h first, to test interface.
57937         Include <stdlib.h> unconditionally.
57938
57939         * lib/makepath.c: Include makepath.h first, to test interface.
57940         Include <stdlib.h> and <string.h> unconditionally.
57941
57942         * lib/linebuffer.c: Include <stdlib.h>.
57943         (free): Remove decl.
57944
57945         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
57946         stddef.h. rpl_malloc returns void *, not char *.
57947         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
57948         prototype.
57949
57950         * lib/md5.h: Include <limits.h> unconditionally.
57951         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
57952         (__P): Remove; all uses removed.
57953         * lib/md5.c: Include "md5.h" first.
57954         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
57955         md5_buffer, md5_process_bytes, md5_process_block):
57956         Define with prototypes.
57957         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
57958         * lib/sha.c: Include "sha.h" first.
57959         Include <stdlib.h>, <string.h> unconditionally.
57960
57961         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
57962         * lib/memcmp.c (__ptr_t): Likewise.
57963         * lib/memrchr.c (__ptr_t): Likewise.
57964         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
57965         Include <string.h> unconditionally.
57966         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
57967         * lib/memchr.c: Include <stdlib.h> unconditionally.
57968         * lib/memchr.c (LONG_MAX): Remove.
57969         * lib/memrchr.c (LONG_MAX): Likewise.
57970         * lib/memchr.c (__memchr): Define via a prototype.
57971         * lib/memrchr.c (__memrchr): Likewise.
57972         * lib/memcmp.c (__P): Remove, and remove all uses.
57973         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
57974         Remove forward decls; no longer needed.
57975         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
57976         Use types required by C89 in prototype.
57977
57978         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
57979         * lib/savedir.c: Likewise.
57980         * lib/mkdir.c (free): Remove decl.
57981         * lib/rmdir.c (rmdir): Define with a prototype.
57982         * lib/savedir.c: Include savedir.h first, to test interface.
57983
57984         * lib/mktime.c (STDC_HEADERS): Remove.
57985         Include <stdlib.h>, <string.h> unconditionally.
57986
57987         * lib/modechange.c: Include <stdlib.h> unconditionally.
57988         (malloc): Remove decl.
57989
57990         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
57991         (free): Remove decl.
57992
57993         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
57994         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
57995         (This type really should be intptr_t, but that's a C99ism.)
57996         (_obstack_memcpy): Remove: all uses changed to memcpy.
57997         Include <string.h> unconditionally.
57998         (struct obstack): Assume __STDC__ for types of members
57999         chunkfun, freefun, extra_arg.
58000         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
58001         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
58002         obstack_begin, obstack_specify_allocation,
58003         obstack_specify_allocation_with_arg, obstack_chunkfun,
58004         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
58005         Remove unprototyped decls and the macros that use them.
58006         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
58007         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
58008         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
58009         (defined __STDC__ && __STDC__)]:
58010         Remove nonprototyped code.
58011         Include <stdlib.h> unconditionally.
58012         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
58013         _obstack_allocated_p, _obstack_free, obstack_free,
58014         _obstack_memory_used, print_and_abort):
58015         Define using prototypes.
58016         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
58017         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
58018         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
58019         obstack_next_free, obstack_object_size, obstack_room) [0]:
58020         Remove unused, unprototyped code.
58021
58022         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
58023
58024         * lib/physmem.c (physmem_total, physmem_available, main): Define
58025         with prototypes.
58026
58027         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
58028         (main): Define with a prototype.
58029
58030         * lib/posixver.c (getenv): Remove decl.
58031
58032         * lib/putenv.c (malloc): Returns void *, not char *.
58033         Include <string.h> unconditionally.
58034         (strchr, memcpy, NULL): Do not define.
58035
58036         * lib/readtokens.c: Include readtokens.h first, to test interface.
58037         Include <stdlib.h>, <string.h> unconditionally.
58038         (init_tokenbuffer): Define with a prototype.
58039
58040         * lib/regex.c (PARAMS): Remove.  All uses removed.
58041         All uses of _RE_ARGS removed, too.
58042         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58043         unconditionally.
58044         (bzero): Assume memset exists.
58045         (memcmp, memcpy, NULL): Remove.
58046         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
58047         char, or assignments to local vars of type signed char.
58048         (init_syntax_once, PREFIX(extract_number_and_incr),
58049         PREFIX(print_partial_compiled_pattern),
58050         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
58051         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
58052         PREFIX(regex_grow_registers), PREFIX(regex_compile),
58053         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
58054         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
58055         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
58056         wcs_compile_range, byte_compile_range, truncate_wchar,
58057         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
58058         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
58059         count_mbs_length, wcs_re_match_2_internal,
58060         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
58061         PREFIX(alt_match_null_string_p),
58062         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
58063         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
58064         regfree, PREFIX(extract_number)): Define with prototype.  Remove
58065         now-unnecessary declaration, if any.
58066         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
58067         regcomp, regexec):
58068         Remove now-unnecessary casts among pointer types.
58069         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
58070
58071         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
58072         (free): Remove decl.
58073
58074         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
58075
58076         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
58077         (free): Remove decl.
58078
58079         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
58080         * lib/xgetcwd.c: Likewise.
58081
58082         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
58083         (free): Remove decl.
58084
58085         * lib/strchrnul.c (strchrnul): Define with a prototype.
58086         Fix bug: c_in was not converted to char before searching.
58087
58088         The following changes are not K&R related:
58089
58090         * lib/group-member.h: Include <sys/types.h>, so that this file is
58091         self-contained.
58092         * lib/makepath.h: Likewise.
58093
58094         * lib/getusershell.c (readname, default_index, line_size, readname):
58095         Use size_t, not int, for sizes.
58096         (readname): If the size overflows, report an error instead of
58097         looping forever.
58098
58099 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58100
58101         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
58102         libc.
58103
58104 2003-09-09  Paul Eggert  <eggert@twinsun.com>
58105
58106         * README: New section: portability guidelines.
58107
58108 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58109
58110         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
58111         C89 spec.
58112
58113 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
58114
58115         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
58116
58117 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58118
58119         Assume C89 or better; remove K&R cruft.
58120         A few of these changes were first proposed by Derek Robert Price
58121         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
58122
58123         * lib/addext.c: Include <string.h> unconditionally.
58124         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
58125         Don't declare getenv or malloc.
58126
58127         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
58128         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
58129         (NULL): Remove.
58130         (find_stack_direction, alloca): Use prototypes.
58131
58132         * lib/atexit.c (atexit): Define using a prototype.
58133
58134         * lib/basename.c, dirname.c, stripslash.c:
58135         Include <string.h> unconditionally.
58136
58137         * lib/bcopy.c: Include <stddef.h>.
58138         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
58139
58140         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
58141
58142         * lib/error.h (error, error_at_line, error_print_progname)
58143         [! (defined (__STDC__) && __STDC__)]: Remove decls.
58144         * lib/error.c: Include error.h first, to check interface.
58145         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58146         (VA_START): Remove; all uses changeed to va_start.
58147         (exit, strerror): Remove decls.
58148         (error_print_progname): Prototype uncondionally.
58149         Don't include <errno.h>; no longer needed.
58150         (private_strerror): Remove.
58151         (error_tail): Always define.
58152         (error, error_at_line): Assume C89 or better; always use prototypes.
58153         * lib/fatal.c: Include "fatal.h" first, to test interface.
58154         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
58155         (VA_START): Remove; all uses changed to va_start.
58156         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
58157         this case.
58158         (exit): Remove decl.
58159         (fatal): Prototype unconditionally.  Assume va_start works.
58160         Abort at end, to pacify gcc.
58161
58162         * lib/euidaccess.c (main): Define with a prototype.
58163
58164         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
58165
58166         * lib/exitfail.c: Include <stdlib.h> unconditionally.
58167
58168         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
58169         prototypes.
58170         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
58171         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
58172         (getenv): Remove decl.
58173         (fnmatch): Define using a prototype.
58174         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
58175         (FCT): Define using a prototype.
58176
58177         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
58178
58179         * lib/gethostname.c: Include <stddef.h>.
58180         (gethostname): Define with prototype.  Length is size_t, not int.
58181
58182 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58183
58184         Assume C89 or better; remove K&R cruft.
58185         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
58186         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
58187         string.h, getenv, malloc.
58188         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
58189         headers.
58190         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
58191         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
58192         do not check for strerror.
58193         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
58194         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
58195         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
58196         do not check for doprnt or vprintf.
58197         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
58198         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
58199
58200 2003-09-08  Paul Eggert  <eggert@twinsun.com>
58201
58202         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
58203         getversion.c should have been removed then, but was accidentally
58204         preserved.
58205
58206         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
58207         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
58208
58209 2003-09-08  Karl Berry  <karl@gnu.org>
58210
58211         * config/config.sub, config.guess, srclistvars.sh: update from savannah
58212                 config, forget about prep.
58213
58214         * config/depcomp, missing: update from automake.
58215
58216 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58217
58218         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
58219         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58220
58221 2003-09-07  Paul Eggert  <eggert@twinsun.com>
58222
58223         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
58224         copy_tm_result.  Bug reported by Simon Josefsson in
58225         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
58226
58227 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58228
58229         * m4/time_r.m4: New file.
58230         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
58231         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
58232         is. Check for timegm declaration.
58233         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
58234         Do not check for gmtime_r.
58235         Replace mktime if __mktime_internal does not exist and if mktime
58236         hasn't been replaced already.
58237
58238 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58239
58240         * lib/time_r.c, lib/time_r.h: New files.
58241
58242         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
58243         __localtime_r.
58244         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
58245         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
58246
58247         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
58248         __gmtime_r.
58249         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
58250         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
58251         Include <time_r.h>.
58252
58253         * lib/timegm.c: Switch to glibc implementation, with the following
58254         changes:
58255         [defined HAVE_CONFIG_H]: Include <config.h>.
58256         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
58257         (__mktime_internal) [!defined _LIBC]: New decl.
58258         (__gmtime_r) [!defined _LIBC]: New macro and function.
58259         (timegm): Use a prototype, since gnulib assumes C89.
58260         Do not bother declaring tmp to be const, as it's not really usefu.
58261         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
58262         (timegm): Declare only if HAVE_DECL_TIMEGM.
58263
58264 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58265
58266         * MODULES.html.sh (func_all_modules): Add time_r.
58267         * modules/time_r: New file.
58268         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
58269         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
58270
58271 2003-09-03  Paul Eggert  <eggert@twinsun.com>
58272
58273         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
58274         Bug reported by Lute Kamstra in
58275         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
58276
58277         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
58278         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
58279         course with correspondingly smaller numbers for tomorrow and
58280         yesterday.  From Tadayoshi Funaba.  Originally installed into
58281         sh-utils on 1999-08-07, but the patch got lost (I guess during the
58282         coreutils merge?).
58283
58284 2003-08-31  Simon Josefsson  <jas@extundo.com>
58285
58286         * modules/timegm: New file.
58287         * MODULES.html.sh (func_all_modules): Add timegm.
58288
58289 2003-08-31  Simon Josefsson  <jas@extundo.com>
58290
58291         * m4/timegm.m4: New file.
58292
58293 2003-08-31  Simon Josefsson  <jas@extundo.com>
58294
58295         * lib/timegm.h: New file.
58296         * lib/timegm.c: New file.  Based on
58297         wget-1.8.2/src/http.c:mktime_from_utc.
58298
58299 2003-08-31  Karl Berry  <karl@gnu.org>
58300
58301         * lib/argp.h: update from libc.
58302
58303 2003-08-28  Bruno Haible  <bruno@clisp.org>
58304
58305         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
58306         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
58307         followed by '#define fnmatch fnmatch_posix' gives an error.
58308
58309 2003-08-28  Bruno Haible  <bruno@clisp.org>
58310
58311         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
58312         warning on QNX, which defines O_BINARY to 000000.
58313
58314 2003-08-27  Jim Meyering  <jim@meyering.net>
58315
58316         * m4/mkstemp.m4: Require that the system mkstemp be able to create
58317         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
58318         would fail after 32.  Reported by Danny Levinson.  Details here:
58319         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
58320
58321 2003-08-24  Bruno Haible  <bruno@clisp.org>
58322
58323         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
58324         MSVC7 <stdio.h> is included later.
58325
58326 2003-08-22  Simon Josefsson  <jas@extundo.com>
58327
58328         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
58329
58330 2003-08-20  Karl Berry  <karl@gnu.org>
58331
58332         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
58333
58334 2003-08-20  Bruno Haible  <bruno@clisp.org>
58335
58336         * modules/progname: New file.
58337         * MODULES.html.sh (func_all_modules): Add progname.
58338
58339 2003-08-20  Bruno Haible  <bruno@clisp.org>
58340
58341         * lib/progname.h: New file, from GNU gettext.
58342         * lib/progname.c: New file, from GNU gettext.
58343         * lib/progreloc.c: New file, from GNU gettext.
58344
58345 2003-08-19  Jim Meyering  <jim@meyering.net>
58346
58347         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
58348         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
58349
58350 2003-08-19  Bruno Haible  <bruno@clisp.org>
58351
58352         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
58353         more.
58354
58355 2003-08-19  Bruno Haible  <bruno@clisp.org>
58356
58357         * lib/xstrdup.c: Assume <string.h> exists.
58358
58359 2003-08-18  Paul Eggert  <eggert@twinsun.com>
58360
58361         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
58362         in makefile rules.
58363
58364 2003-08-18  Jim Meyering  <jim@meyering.net>
58365
58366         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
58367         * m4/lib-ld.m4: Likewise.
58368
58369 2003-08-18  Jim Meyering  <jim@meyering.net>
58370
58371         * lib/setenv.h: Indent nested cpp directive.
58372         * lib/vasnprintf.c: Remove trailing blanks.
58373
58374 2003-08-17  Simon Josefsson  <jas@extundo.com>
58375
58376         * modules/xstrndup: New file.
58377         * MODULES.html.sh (func_all_modules): Add xstrndup.
58378
58379 2003-08-17  Simon Josefsson  <jas@extundo.com>
58380
58381         * modules/argp: Fix autoconf macro name. Add more dependencies.
58382
58383 2003-08-17  Simon Josefsson  <jas@extundo.com>
58384
58385         * m4/xstrndup.m4: New file.
58386
58387 2003-08-17  Simon Josefsson  <jas@extundo.com>
58388
58389         * m4/argp.m4: New file.
58390
58391 2003-08-17  Simon Josefsson  <jas@extundo.com>
58392             Bruno Haible  <bruno@clisp.org>
58393
58394         * lib/xstrndup.h: New file.
58395         * lib/xstrndup.c: New file.
58396
58397 2003-08-17  Bruno Haible  <bruno@clisp.org>
58398
58399         * modules/strndup (Files, Include): Add lib/strndup.h.
58400
58401 2003-08-17  Bruno Haible  <bruno@clisp.org>
58402
58403         * modules/euidaccess (Files): Add lib/euidaccess.h.
58404
58405 2003-08-17  Bruno Haible  <bruno@clisp.org>
58406
58407         * lib/strndup.h: New file.
58408
58409 2003-08-17  Bruno Haible  <bruno@clisp.org>
58410
58411         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
58412         like AC_GNU_SOURCE.
58413         * modules/extensions (configure.ac): Comment out the invocation of
58414         gl_USE_SYSTEM_EXTENSIONS.
58415
58416 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58417
58418         Merges from coreutils, etc.
58419         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
58420         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
58421         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
58422         fixing a typo.
58423         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
58424         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
58425
58426 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58427
58428         Document merge from coreutils.
58429         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
58430         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
58431         * modules/utime: Add m4/utimes-null.m4.
58432
58433 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58434
58435         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
58436         space, undoing this 2003-08-12 change:
58437         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58438
58439 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58440
58441         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
58442         strtoul.c from libc, undoing this 2003-08-12 change:
58443         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58444
58445 2003-08-16  Jim Meyering  <jim@meyering.net>
58446
58447         Merges from coreutils.
58448         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
58449         prefix.  Adjust cache variables similarly.  Create 500 rather than
58450         just 300 files, to exercise bug on Darwin6.5, too.
58451         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
58452         $missing_dir.
58453         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
58454         AM_SYS_POSIX_TERMIOS.
58455         Reported by mkc@mathdogs.com.
58456         Also change use of $am_cv_sys_posix_termios
58457         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
58458         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
58459         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
58460         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
58461         in /proc/mounts until it finds one with matching device number.  This
58462         is unnecessary when the FILE argument *is* a mount point.  No stat call
58463         is necessary in that case.  So, disable the statvfs-testing code on
58464         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
58465         as RedHat bug# 84846.
58466         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58467         to 1MB, so as not to render systems with no stack size limit (e.g.,
58468         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58469         Include <unistd.h>.  On some systems,
58470         it is required for the definition of _SC_PAGESIZE.
58471
58472 2003-08-16  Jim Meyering  <jim@meyering.net>
58473
58474         Merge from coreutils.
58475         * lib/xstrtoimax.c: #else #if -> #elif.
58476         * lib/xstrtoumax.c: Likewise.
58477
58478 2003-08-16  Jim Meyering  <jim@meyering.net>
58479
58480         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
58481         * m4/utimes.m4: Removed.
58482         * m4/utimes-null.m4: Renamed from utimes.m4.
58483
58484         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58485         to 1MB, so as not to render systems with no stack size limit (e.g.,
58486         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58487         Include <unistd.h>.  On some systems,
58488         it is required for the definition of _SC_PAGESIZE.
58489
58490 2003-08-16  Jim Meyering  <jim@meyering.net>
58491         and Paul Eggert  <eggert@cs.ucla.edu>
58492
58493         Merges from coreutils, etc.
58494
58495         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
58496         using the latest version from cvs.  This avoids problems with #line
58497         directives using a vendor (Sun) compiler.
58498         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
58499         Don't set GETGROUPS_LIB here; now it's
58500         done via getgroups.m4's wrapper function.
58501         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
58502         rather than just in sh-util/configure.in, so that the
58503         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
58504         same.
58505         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
58506         AC_FUNC_GETLOADAVG where to find getloadavg.c.
58507         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
58508         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
58509         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
58510         Remove code that is now done by the newly-required macros.
58511         Append $(EXEEXT) to DF_PROG.
58512         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
58513         Do not invoke or require the following here,
58514         since prereq.m4 or some gnulib .m4 now does this for us:
58515         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
58516         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
58517         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
58518         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
58519         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
58520         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
58521         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
58522         AC_FUNC_OBSTACK.
58523         Do not replace the following functions, as this is now the job
58524         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
58525         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
58526         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
58527         atexit getpass, strdup, getpagesize.
58528         Replace 'raise'.
58529         Do not check for the following functions, as this is now the job
58530         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
58531         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
58532         setregid.
58533         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
58534         Check for sys/sysctl.h.
58535         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
58536         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
58537         of checking for ssize_t ourselves.
58538
58539         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
58540         Require every macro that gnulib/modules/* suggests for us.
58541         (jm_PREREQ_ADDEXT): New macro.
58542         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
58543         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
58544
58545         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
58546         (gl_PHYSMEM): Use it.
58547         Also check for `table' function.
58548         Check for new headers and functions.
58549         Add check for sys/sysmp.h.
58550         With suggestions from Kaveh Ghazi.
58551         Ignore headers that are present but cannot be compiled.  This
58552         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
58553         C 5.4.
58554
58555 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58556
58557         Document merge from coreutils.
58558         * modules/userspec: Depend on posixver.
58559         * modules/strftime: Depend on tzset.
58560
58561 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58562
58563         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
58564         rather than tab, after '#' in shell-script copyright notices.
58565         Suggested by Bruno Haible.
58566
58567 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58568
58569         * config/srclist-update: Use three spaces, rather than tab, after '#'
58570         in shell-script copyright notices.  Suggested by Bruno Haible.
58571         Remove unnecessary parenthesization in regular expression.
58572
58573 2003-08-15  Jim Meyering  <jim@meyering.net>
58574
58575         Merge from coreutils.
58576         * lib/xgethostname.c: Include <stdlib.h>.
58577         (xghostname): Don't exit for anything other than memory-related
58578         failure; just return NULL.
58579         * lib/userspec.c: Include "posixver.h".
58580         (parse_user_spec): Accept `.' as a separator only
58581         in pre-POSIX-200112 mode.
58582         * lib/strtoimax.c: Use #elif rather than #else #if.
58583         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
58584         Remove function, now that we can rely on a working tzset function.
58585         [!_LIBC]: Ensure that the required autoconf test has been run.
58586         [!defined _NL_CURRENT && HAVE_STRFTIME]:
58587         Use underlying_strftime for %r.
58588         * lib/sha.c: Merge in some clean-up and optimization changes from
58589         glibc.
58590         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
58591         Ensure that it is a multiple of 64.
58592         Rearrange loop exit tests so as to avoid performing an
58593         additional fread after encountering an error or EOF.
58594         * lib/realloc.c: Update copyright date.
58595
58596 2003-08-15  Jim Meyering  <jim@meyering.net>
58597         and Paul Eggert  <eggert@twinsun.com>
58598
58599         Merge from coreutils.
58600         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
58601         member but strut utmpx does not.  Needed for AIX 4.3.3.
58602         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
58603
58604 2003-08-15  Jim Meyering  <jim@meyering.net>
58605         and Paul Eggert  <eggert@cs.ucla.edu>
58606
58607         Merges from coreutils, etc.
58608         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
58609         Require gl_FUNC_TZSET_CLOBBER.
58610         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
58611         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
58612         members.
58613
58614 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58615
58616         Help the merge from coreutils.
58617         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
58618         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
58619         * m4/tzset.m4: Use it too.
58620
58621 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58622
58623         * modules/tzset: New file.
58624
58625 2003-08-14  Jim Meyering  <jim@meyering.net>
58626
58627         Merges from coreutils.
58628         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
58629         variable names, rather than @FNMATCH_H@.
58630         * modules/alloca: Likewise for $(ALLOCA_H).
58631
58632         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
58633         the three copies of the literal target, `fnmatch.h'.
58634         * modules/alloca (alloca.h): Likewise.
58635
58636 2003-08-14  Jim Meyering  <jim@meyering.net>
58637
58638         Merge from coreutils.
58639         * m4/tzset.m4: New file.
58640         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
58641         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
58642         otherwise, AIX 5.1 systems would end up using the latter.
58643         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
58644         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
58645         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
58646         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
58647
58648 2003-08-14  Jim Meyering  <jim@meyering.net>
58649
58650         Merge from coreutils.
58651         * lib/obstack.h: Whitespace changes.
58652         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
58653         and xcalloc return values.
58654         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
58655         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
58656         hang on OSF/1 5.1 for DIR on both local and remote file systems.
58657         Reported by (and fix confirmed by) Nelson H. F. Beebe.
58658         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
58659         error from mntctl.
58660         Use mntctl's return value to drive the entry-processing loop, since
58661         we can't rely on the value of the vmt_length member in the last
58662         entry.  On some systems doing so could result in exhausting
58663         virtual memory.  Based in part on a patch from Mike Jetzer.
58664
58665 2003-08-14  Jim Meyering  <jim@meyering.net>
58666         and Paul Eggert  <eggert@twinsun.com>
58667
58668         Merges from coreutils, plus other fixes.
58669         * lib/physmem.c: Merge in portability changes from gcc/libiberty
58670         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
58671         for credits and details.  Thanks to Kaveh Ghazi for helping
58672         to keep these files in sync.
58673         (ARRAY_SIZE): Define it.
58674         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
58675         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
58676         (memcasecmp): Don't assume size_t fits in unsigned int.
58677         Remove casts and duplicate code.
58678         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
58679         (memcpy): Remove definition.
58680         Merge in some clean-up and optimization changes from glibc.
58681         [BLOCKSIZE]: Move definition to top of file.
58682         Ensure that it is a multiple of 64.
58683         Rearrange loop exit tests so as to avoid performing an
58684         additional fread after encountering an error or EOF.
58685         * lib/md5.h (md5_uintptr): Define.
58686         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
58687         return to the initial working directory.  Preserve errno
58688         for caller.
58689         * lib/idcache.c: Include "xalloc.h".
58690         (xmalloc, xrealloc): Remove decls.
58691         (getuser): Remove casts no longer required in C89.
58692         * lib/human.c: Include stdio.h, for sprintf.
58693         * lib/group-member.c: Include "xalloc.h".
58694         (xmalloc, xrealloc): Remove decls.
58695         (get_group_info): Remove casts no longer required in C89.
58696         * lib/getusershell.c (readname): Remove casts no longer required in
58697         C89.
58698         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
58699         * lib/getline.c: Whitespace fix, from coreutils.
58700
58701 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58702
58703         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
58704         Check for isascii.
58705
58706         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58707         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58708         Undo previous (whitespace-only) change.
58709
58710 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58711
58712         * lib/exclude.c: Include <ctype.h>
58713         (IN_CTYPE_DOMAIN): New macro.
58714         (is_space): New fn.
58715         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
58716         and empty lines.
58717
58718         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58719         Undo previous (whitespace-only) change.
58720
58721 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58722
58723         * config/srclist-update: Change update back to the old behavior,
58724         leaving whitespace alone.  Use one 'sed' command rather than a
58725         pipeline.
58726         (fixlicense): Now a variable, not a function.
58727         (remove_trailing_blanks): Remove.
58728         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
58729         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58730         Undo previous (whitespace-only) change.
58731
58732 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58733
58734         Merge from coreutils.
58735         * modules/euidaccess: Add lib_SOURCES, include for new
58736         file euidaccess.h
58737
58738 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58739
58740         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58741         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58742         Normalize leading white space and remove trailing white space.
58743
58744         Merge from coreutils
58745         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
58746
58747         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
58748         0.12.1.  These files are now being upgraded automatically by
58749         ../config/srclist-update.
58750
58751 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58752
58753         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58754         Normalize leading white space and remove trailing white space.
58755         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
58756         notice, as per ../config/srclist-update.
58757
58758         Merge from coreutils.
58759         * lib/euidaccess.h: New file.
58760         * lib/euidaccess.c: Include it.
58761         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
58762         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
58763         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
58764
58765 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58766
58767         * config/srclist-update: Add copyright notice.
58768         (remove_id_lines, remove_trailing_blanks): New constants.
58769         (fixfile): Use them to normalize spacing a bit in copied files.
58770         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58771         Normalize leading white space and remove trailing white space.
58772
58773         * config/texinfo.tex: Sync with texinfo.
58774
58775         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
58776         strtoul.c from libc, to merge coreutils whitespace changes.
58777
58778         * config/srclist.txt: Get the following m4 files from gettext:
58779         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
58780         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
58781         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
58782         wint_t.m4.
58783
58784 2003-08-12  Karl Berry  <karl@gnu.org>
58785
58786         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
58787         been made.
58788
58789 2003-08-11  Paul Eggert  <eggert@twinsun.com>
58790
58791         * modules/gnu-source, m4/gnu-source.m4:
58792         Remove; we're assuming Autoconf 2.54 or later now.
58793         Suggested by Bruno Haible.
58794         * MODULES.html.sh (func_all_modules): Remove gnu-source.
58795
58796 2003-08-11  Bruno Haible  <bruno@clisp.org>
58797
58798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
58799
58800 2003-08-11  Bruno Haible  <bruno@clisp.org>
58801
58802         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
58803         (vasnprintf): Use it instead of wcslen.
58804
58805 2003-08-11  Bruno Haible  <bruno@clisp.org>
58806
58807         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
58808         value to ensure that _Bool promotes to int. Use #define for _Bool when
58809         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
58810
58811 2003-08-10  Karl Berry  <karl@gnu.org>
58812
58813         * lib/regex.h: update from libc (whitespace fix).
58814
58815 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58816
58817         Merge some files from coreutils.  These changes were
58818         originally made by Jim Meyering.
58819         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
58820         many older Unixes require this.
58821         * lib/alloca.c (alloca): Remove cast to argument of free;
58822         no longer needed in C89.
58823         * lib/alloca_.h, regex.h: Fix white space to match
58824         what GNU indent does.
58825
58826 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58827
58828         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
58829         apparently Emacs's Unicode mode got confused before my 2003-08-05
58830         checkin.
58831
58832 2003-08-08  Paul Eggert  <eggert@twinsun.com>
58833
58834         * m4/extensions.m4: New file.
58835         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
58836         Require gl_USE_SYSTEM_EXTENSIONS.
58837         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
58838         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
58839
58840 2003-08-08  Paul Eggert  <eggert@twinsun.com>
58841
58842         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
58843         * modules/extensions, modules/gnu-source: New files.
58844         * modules/timespec, modules/unlocked-io: Depend on extensions.
58845
58846 2003-08-07  Paul Eggert  <eggert@twinsun.com>
58847
58848         * modules/restrict: New file.
58849         * MODULES.html.sh (func_all_modules): Add restrict.
58850         * modules/regex: Depend on restrict.
58851
58852 2003-08-07  Paul Eggert  <eggert@twinsun.com>
58853
58854         * m4/restrict.m4: New file.
58855         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
58856
58857 2003-08-07  Bruno Haible  <bruno@clisp.org>
58858
58859         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
58860         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
58861
58862 2003-08-07  Bruno Haible  <bruno@clisp.org>
58863
58864         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
58865         makes the module 'getndelim2' compatible with the module 'getline'.
58866
58867 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58868
58869         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
58870         byte with "\201" to avoid glitches when editing that source file
58871         with multi-gnome-terminal.
58872
58873 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58874
58875         * lib/bumpalloc.h: Remove.
58876
58877 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58878
58879         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
58880         * modules/bumpalloc: Remove.
58881
58882 2003-08-04  Paul Eggert  <eggert@twinsun.com>
58883
58884         * lib/getloadavg.c: Change copyright notice and spacing to conform to
58885         GNU coding style.
58886
58887         Merge from coreutils.
58888         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
58889         1. From glibc.
58890         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
58891         from Karl Berry, implemented by Jim Meyering.
58892         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
58893         from Dmitry V. Levin.
58894         Remove anachronistic cast of xrealloc.
58895         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
58896         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
58897         type. Otherwise, it wouldn't compile with at least /bin/cc on
58898         ymp-cray-unicos9.0.2.X.
58899         Combine two mostly-identical uses of alloca into one.
58900         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
58901
58902 2003-08-04  Dave Love  <d.love@dl.ac.uk>
58903
58904         [From Emacs.]
58905
58906         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
58907         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
58908         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
58909         obsolete NLIST_NAME_UNION.
58910         [__GNU__]: Undef BSD and FSCALE.
58911         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
58912
58913 2003-08-03  Paul Eggert  <eggert@twinsun.com>
58914
58915         * lib/stdbool_.h (_Bool): Make it signed char, instead of
58916         an enum type, so that it's guaranteed to promote to int.  See:
58917         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
58918
58919 2003-08-03  Karl Berry  <karl@gnu.org>
58920
58921         * config/depcomp: update from automake.
58922
58923 2003-07-31  Paul Eggert  <eggert@twinsun.com>
58924
58925         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
58926         (strerror): Don't assume that a printable int fits in 14 bytes.
58927
58928 2003-07-31  Bruno Haible  <bruno@clisp.org>
58929
58930         * modules/getpass-gnu: New file.
58931         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
58932
58933 2003-07-31  Bruno Haible  <bruno@clisp.org>
58934
58935         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
58936
58937 2003-07-24  Karl Berry  <karl@gnu.org>
58938
58939         * config/missing: update from automake.
58940
58941 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
58942             Bruno Haible  <bruno@clisp.org>
58943
58944         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
58945         * lib/getline.c (getline, getdelim): Likewise.
58946         Remove _GNU_SOURCE define; now it's defined in config.h through
58947         m4/getline.m4.
58948
58949 2003-07-23  Karl Berry  <karl@gnu.org>
58950
58951         * config/config.sub: update from prep.
58952
58953 2003-07-22  Paul Eggert  <eggert@twinsun.com>
58954
58955         * modules/xalloc (Depends-on): Add exitfail.
58956         * modules/xmemcoll: Likewise.
58957
58958 2003-07-22  Paul Eggert  <eggert@twinsun.com>
58959
58960         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
58961         over-parenthesization in macros.
58962
58963         Sync with coreutils.
58964
58965         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
58966         required by C99.
58967
58968         Use `exit_failure' for xalloc and xmemcoll instead of their own
58969         private exit-failure variables.
58970         * lib/xalloc.h (xalloc_exit_failure): Remove.
58971         * lib/xmalloc.c: Likewise.  Include exitfail.h.
58972         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
58973         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
58974         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
58975         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
58976
58977 2003-07-20  Jim Meyering  <jim@meyering.net>
58978
58979         * modules/closeout (Depends-on): Add exitfail.
58980         Suggestion from Bruno Haible.
58981
58982 2003-07-19  Karl Berry  <karl@gnu.org>
58983
58984         * config/config.sub: update from prep.
58985
58986 2003-07-18  Paul Eggert  <eggert@twinsun.com>
58987
58988         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
58989         Remove.
58990         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
58991         to test that it can stand by itself.  Include "exitfail.h".
58992         Clients should set exit_failure instead.
58993         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
58994
58995 2003-07-18  Bruno Haible  <bruno@clisp.org>
58996
58997         * modules/getndelim2: New file.
58998         * modules/getline: Share files with module getndelim2.
58999         * modules/getnline: Depend on getndelim2 instead of sharing files with
59000         it. Add getnline.c to lib_SOURCES.
59001         * MODULES.html.sh (func_all_modules): Add getndelim2.
59002
59003 2003-07-18  Bruno Haible  <bruno@clisp.org>
59004
59005         * m4/getndelim2.m4: New file.
59006         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
59007         invoke gl_PREREQ_GETNDELIM2.
59008         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
59009         gl_PREREQ_GETNDELIM2.
59010         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
59011         gl_GETNDELIM2.
59012
59013 2003-07-18  Bruno Haible  <bruno@clisp.org>
59014
59015         * lib/getndelim2.h: New file.
59016         * lib/getndelim2.c: Make into a module of its own. Include config.h,
59017         getndelim2.h.
59018         (getndelim2): Make non-static. Change return type to ssize_t.
59019         * lib/getline.h: Change argument names.
59020         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
59021         * lib/getnline.c: Include getndelim2.h.
59022
59023 2003-07-18  Andreas Schwab  <schwab@suse.de>
59024
59025         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
59026
59027 2003-07-17  Karl Berry  <karl@gnu.org>
59028
59029         * config/config.sub: update from prep.
59030
59031 2003-07-17  Bruno Haible  <bruno@clisp.org>
59032
59033         * modules/getnline: New file.
59034         * modules/getline: Add lib/getndelim2.c to source file list.
59035         * MODULES.html.sh (func_all_modules): Add getnline.
59036
59037 2003-07-17  Bruno Haible  <bruno@clisp.org>
59038
59039         * m4/getnline.m4: New file.
59040
59041 2003-07-17  Bruno Haible  <bruno@clisp.org>
59042
59043         * m4/Makefile.am.in: Remove file.
59044         * m4/Makefile.am: Remove file.
59045         * m4/Makefile.in: Remove file.
59046
59047 2003-07-17  Bruno Haible  <bruno@clisp.org>
59048
59049         * lib/getnline.h: New file.
59050         * lib/getnline.c: New file.
59051         * lib/getndelim2.c: New file, extracted from getline.c.
59052         (getndelim2): Renamed from getdelim2, with added nmax argument.
59053         * lib/getline.c: Include getndelim2.c.
59054         (getdelim2): Moved out to getndelim2.c.
59055         (getline, getdelim): Update.
59056
59057 2003-07-17  Bruno Haible  <bruno@clisp.org>
59058
59059         * lib/Makefile.am: Remove file.
59060         * lib/Makefile.in: Remove file.
59061
59062 2003-07-17  Bruno Haible  <bruno@clisp.org>
59063
59064         * configure.in: Remove file.
59065         * Makefile.in: Remove file.
59066
59067 2003-07-17  Bruno Haible  <bruno@clisp.org>
59068
59069         * MODULES.html.sh: Put the </BODY> right before </HTML>.
59070
59071 2003-07-16  Karl Berry  <karl@gnu.org>
59072
59073         * config/srclist-update: was running fixlicense twice, which caused
59074                 texinfo.tex to be nullified for some reason.  Simplify,
59075                 $gplsrc is no longer needed as far as I can see?
59076
59077 2003-07-16  Jim Meyering  <jim@meyering.net>
59078
59079         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
59080
59081 2003-07-15  Paul Eggert  <eggert@twinsun.com>
59082
59083         * config/srclist.txt: Get the following files from gettext-runtime/intl
59084         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
59085         ref-del.sin.  From Bruno Haible.
59086         * config/srclist-update (fixfile): Change grep pattern again, since the
59087         previous fix didn't work (there was another trailing $).  Use
59088         '[$]' to escape the $s.
59089
59090 2003-07-15  Karl Berry  <karl@gnu.org>
59091
59092         * lib/vasnprintf.c: update from gettext.
59093
59094 2003-07-15  Karl Berry  <karl@gnu.org>
59095
59096         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
59097         gets expanded when surrounded by '$'.
59098
59099 2003-07-15  Jim Meyering  <jim@meyering.net>
59100
59101         * modules/save-cwd: Don't depend on error.  From Derek Price.
59102
59103 2003-07-15  Jim Meyering  <jim@meyering.net>
59104
59105         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
59106
59107 2003-07-14  Simon Josefsson  <jas@extundo.com>
59108
59109         * modules/mempcpy: New file.
59110         * MODULES.html.sh (func_all_modules): Add mempcpy.
59111
59112 2003-07-14  Simon Josefsson  <jas@extundo.com>
59113
59114         * m4/mempcpy.m4: New file.
59115
59116 2003-07-14  Simon Josefsson  <jas@extundo.com>
59117
59118         * lib/mempcpy.h: New file.
59119         * lib/mempcpy.c: New file.
59120
59121 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59122
59123         * modules/getdate, modules/posixtm: Depend on mktime.
59124
59125 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59126
59127         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
59128         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
59129         unicodeio.c, unicodeio.h, unlocked-io.h:
59130         Switch from LGPL to GPL.
59131
59132 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59133
59134         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
59135         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
59136         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
59137         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
59138         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
59139         updated automatically by ../config/srclist-update.  This changes
59140         their license from LPGL to GPL.
59141
59142 2003-07-14  Paul Eggert  <eggert@twinsun.com>
59143
59144         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
59145         assumed to refer to the root of the most recent stable gettext version.
59146         * config/srclistvars.sh: Add defaults for eggert.
59147         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
59148         Match "This program" as well as "The program".  This is needed
59149         for gettext.
59150
59151 2003-07-14  Jim Meyering  <jim@meyering.net>
59152
59153         Don't emit diagnostics.  Let callers do that.
59154         * lib/save-cwd.c: Don't include "error.h".
59155         (save_cwd): Don't call error.  Ensure that errno is valid
59156         when returning nonzero.
59157
59158         * lib/save-cwd.h (restore_cwd): Update prototype.
59159         * lib/save-cwd.c (restore_cwd): Remove two parameters.
59160         Simplify.  Don't call error upon failure.  Let callers do that.
59161         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
59162         when auditing is enabled.  But don't bother updating the #if.
59163
59164 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
59165
59166         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
59167         it breaks C++ compilation.
59168         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
59169
59170 2003-07-10  Simon Josefsson  <jas@extundo.com>
59171
59172         * modules/strchrnul (Makefile.am): Add strchrnul.h.
59173
59174 2003-07-10  Jim Meyering  <jim@meyering.net>
59175
59176         * m4/clock_time.m4: Remove trailing blank.
59177         * m4/intmax_t.m4: Likewise.
59178
59179 2003-07-10  Jim Meyering  <jim@meyering.net>
59180
59181         * lib/vasnprintf.c: Remove trailing blanks.
59182         Make cpp indentation consistent.
59183
59184 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59185
59186         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
59187         posixver.c, strftime.c, strnlen.c, strverscmp.c:
59188         Switch from LGPL to GPL.
59189
59190 2003-07-09  Paul Eggert  <eggert@twinsun.com>
59191
59192         * config/srclist.txt: Sort sublists.  Add
59193         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
59194         that differ from gnulib for one reason or another; we'd like this list
59195         to be smaller but for now let's document what we have.
59196
59197 2003-07-08  Paul Eggert  <eggert@twinsun.com>
59198
59199         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
59200         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
59201         and sweeter "eval x=$x".
59202         * config/srclist.txt: Get lib/argp* from glibc.
59203
59204 2003-07-07  Paul Eggert  <eggert@twinsun.com>
59205
59206         * lib/mktime.c: Fix some boundary cases and remove need for floating
59207         point.
59208
59209         Issue a compile-time diagnostic if time_t is floating point, or if
59210         two's complement arithmetic is not in effect, or if arithmetic
59211         right shift does not propagate the sign.  These assumptions were
59212         all in the original code but they weren't checked.
59213
59214         (TIME_T_MIDPOINT, verify): New macros.
59215         (__isleap): Remove; it has integer overflow problems.
59216         (leapyear): New function, without those problems.
59217         (ydhms_tm_diff): Remove; splitting into two parts.
59218         (ydhms_diff): New function, containing the arithmetic part of
59219         the old ydhms_tm_diff function.  Issue a compile-time
59220         diagnostic if we are not using C99 integer division.
59221         Avoid casts when possible.
59222         (guess_time_tm): New function, containing the checking part of
59223         the old ydhms_tm_diff function.  Return the new value, rather than
59224         the difference between it and the old.  Accept a new argument T
59225         so that *T specifies the old value.  Check for overflow in the result.
59226
59227         (__mktime_internal): Use a time_t offset, not a long int offset.
59228         This undoes the 2003-06-04 change, which is no longer needed now
59229         that we have better overflow checking.
59230         (localtime_offset): Likewise.
59231
59232         (__mktime_internal): Avoid harmful overflow on hosts where time_t
59233         and long are 64-bit but int is only 32-bit.
59234         (ydhms_diff): Use long int to store year1 and yday1.
59235         Issue a compile-time diagnostic if long int is not wide enough.
59236
59237         (__mktime_internal): Use long int to store adjusted year and yday.
59238         Use plain C rather than preprocessor commands, if that doesn't
59239         affect efficiency.
59240         Check for overflow (and try to repair) after each probe
59241         rather than checking only at the very end.  This avoids some bugs
59242         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
59243         does not equal GMT offset at maximum time).
59244         Use integer to check for overflow rather than floating point; this
59245         is more portable to non-IEEE hosts, and is a tad faster.
59246         When we detect that we are oscillating between two values,
59247         don't check whether tm_isdst has the requested value, since
59248         we already know the answer.  When tm_isdst has the wrong value,
59249         use a different heuristic to find the right one, based on the
59250         extreme values actually observed in practice in tz2003a,
59251         rather than the (overly optimistic) "previous 3 calendar quarters".
59252
59253         (not_equal_tm, print_tm, check_result): Use "const T" rather than
59254         "T const" to accommodate glibc style.
59255         (check_result): Use less-confusing report format.  "long" -> "long int.
59256         (main): Likewise.
59257         Don't loop if the iteration overflows time_t.
59258         Allow a negative step in the iteration.
59259
59260 2003-07-06  Karl Berry  <karl@gnu.org>
59261
59262         * config/depcomp: update from automake.
59263         * config/config.sub: update from prep.
59264
59265 2003-07-03  Karl Berry  <karl@gnu.org>
59266
59267         * config/config.guess: update from prep.
59268
59269 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59270
59271         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
59272         xreadlink.c now includes it unconditionally.
59273
59274 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59275
59276         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
59277         having it depend on HAVE_SYS_TYPES_H.
59278
59279 2003-07-01  Bruno Haible  <bruno@clisp.org>
59280
59281         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
59282         <sys/types.h> should be sufficient.
59283         Reported by Paul Eggert.
59284
59285 2003-06-26  Karl Berry  <karl@gnu.org>
59286
59287         * config/depcomp: update from automake.
59288
59289 2003-06-26  Bruno Haible  <bruno@clisp.org>
59290
59291         * modules/human: Depend on module stdbool.
59292
59293 2003-06-25  Bruno Haible  <bruno@clisp.org>
59294
59295         * modules/readlink: New file.
59296         * modules/xreadlink: Depend on it.
59297         * MODULES.html.sh (func_all_modules): Add readlink.
59298
59299 2003-06-25  Bruno Haible  <bruno@clisp.org>
59300
59301         * m4/readlink.m4: New file.
59302
59303 2003-06-25  Bruno Haible  <bruno@clisp.org>
59304
59305         * lib/readlink.c: New file.
59306
59307 2003-06-22  Karl Berry  <karl@gnu.org>
59308
59309         * config/srclist.txt: update mkinstalldirs from automake.
59310         * config/mkinstalldirs: update.
59311
59312 2003-06-22  Bruno Haible  <bruno@clisp.org>
59313
59314         Portability to mingw32.
59315         * m4/ssize_t.m4: New file, from GNU gettext.
59316         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
59317         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
59318
59319 2003-06-22  Bruno Haible  <bruno@clisp.org>
59320
59321         * modules/safe-read: Add m4/ssize_t.m4.
59322         * modules/xreadlink: Add m4/ssize_t.m4.
59323
59324 2003-06-20  Bruno Haible  <bruno@clisp.org>
59325
59326         Assume C89, so PARAMS isn't needed.
59327         * lib/unicodeio.h (PARAMS): Remove.
59328         * lib/unicodeio.c: Don't use PARAMS.
59329
59330 2003-06-18  Karl Berry  <karl@gnu.org>
59331
59332         * config/config.{guess,sub}: update from prep.
59333
59334 2003-06-18  Jim Meyering  <jim@meyering.net>
59335
59336         Merge changes from coreutils.
59337         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
59338         Remove explicit declarations of xmalloc and realloc.
59339         Include xalloc.h.
59340         (read_utmp): Remove anachronistic cast of xmalloc.
59341
59342 2003-06-17  Paul Eggert  <eggert@twinsun.com>
59343
59344         Assume C89, so PARAMS isn't needed.
59345         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
59346         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
59347         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
59348         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
59349         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
59350         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
59351         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
59352         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
59353         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
59354         lib/xstrtod.h, lib/xstrtol.h: Likewise.
59355         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
59356         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
59357         no longer needed. Anyway, config.h should always be included before any
59358         other file.
59359
59360 2003-06-11  Simon Josefsson  <jas@extundo.com>
59361
59362         * modules/sysexits: New file.
59363         * MODULES.html.sh (func_all_modules): Add sysexits.
59364
59365 2003-06-11  Simon Josefsson  <jas@extundo.com>
59366
59367         * lib/sysexit_.h: New file.
59368
59369 2003-06-11  Derek Price  <derek@ximbiot.com>
59370
59371         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
59372         necessary.
59373
59374 2003-06-11  Bruno Haible  <bruno@clisp.org>
59375
59376         * m4/sysexits.m4: New file.
59377
59378 2003-06-10  Simon Josefsson  <jas@extundo.com>
59379
59380         * lib/argp.h: New file, from glibc.
59381         * lib/argp-ba.c: New file, from glibc.
59382         * lib/argp-eexst.c: New file, from glibc.
59383         * lib/argp-fmtstream.c: New file, from glibc.
59384         * lib/argp-fmtstream.h: New file, from glibc.
59385         * lib/argp-fs-xinl.c: New file, from glibc.
59386         * lib/argp-help.c: New file, from glibc.
59387         * lib/argp-namefrob.h: New file, from glibc.
59388         * lib/argp-parse.c: New file, from glibc.
59389         * lib/argp-pv.c: New file, from glibc.
59390         * lib/argp-pvh.c: New file, from glibc.
59391         * lib/argp-xinl.c: New file, from glibc.
59392
59393 2003-06-10  Simon Josefsson  <jas@extundo.com>
59394
59395         * modules/strchrnul: New file.
59396
59397 2003-06-10  Simon Josefsson  <jas@extundo.com>
59398
59399         * modules/argp: New file.
59400
59401 2003-06-10  Simon Josefsson  <jas@extundo.com>
59402
59403         * m4/strchrnul.m4: New file.
59404
59405 2003-06-10  Simon Josefsson  <jas@extundo.com>
59406
59407         * lib/strchrnul.h: New file.
59408         * lib/strchrnul.c: New file.
59409
59410 2003-06-10  Bruno Haible  <bruno@clisp.org>
59411
59412         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
59413
59414 2003-06-07  Karl Berry  <karl@gnu.org>
59415
59416         * config/config.{guess,sub}: update from prep.
59417
59418 2003-06-07  Jim Meyering  <jim@meyering.net>
59419
59420         * modules/strtod: Use $(...) notation, not @...@ for
59421         AC_REPLACE'd variables.
59422         * modules/localcharset: Likewise.
59423
59424 2003-06-07  Jim Meyering  <jim@meyering.net>
59425
59426         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
59427         in place of my name in the copyright comment.
59428         Remove definition and uses of __P.
59429
59430         From coreutils.
59431         * lib/stat.c: Don't declare xmalloc explicitly.
59432         Instead, include "xalloc.h".
59433         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
59434         xrealloc, and xcalloc return values.
59435         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
59436         Improve comment.
59437         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
59438
59439 2003-06-07  Bruno Haible  <bruno@clisp.org>
59440
59441         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
59442         avoid AC_CONFIG_LINKS.
59443         * modules/fnmatch (Makefile.am): Use explicit creation rule for
59444         fnmatch.h, to avoid AC_CONFIG_LINKS.
59445         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
59446
59447 2003-06-07  Bruno Haible  <bruno@clisp.org>
59448
59449         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
59450         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
59451         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59452         directory.
59453         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
59454         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59455         directory.
59456
59457 2003-06-06  Jim Meyering  <jim@meyering.net>
59458
59459         Merge from coreutils.
59460         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
59461         Consolidate declarations and initializations of *_base* locals.
59462
59463         Merge from coreutils.
59464         This avoids a core dump on systems without GNU putenv,
59465         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
59466         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
59467         (unsetenv): New static function, from GNU libc.
59468         (rpl_putenv): Use it.
59469
59470         * lib/modechange.c: Remove trailing blanks.
59471
59472         Merge from coreutils.
59473         * lib/fsusage.c: Remove declaration of statfs.
59474         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
59475
59476         * lib/posixtm.c: Include <stdbool.h> unconditionally.
59477
59478 2003-06-06  Jim Meyering  <jim@meyering.net>
59479
59480         * lib/stdbool_.h: Renamed from stdbool.h.in.
59481
59482 2003-06-06  Jim Meyering  <jim@meyering.net>
59483             Bruno Haible  <bruno@clisp.org>
59484
59485         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
59486         Adjust Makefile.am snippet not to redirect directly to target.
59487         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
59488
59489 2003-06-05  Paul Eggert  <eggert@twinsun.com>
59490
59491         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
59492         mismatch, look in future quarters as well as past.  This fixes a
59493         bug when processing fall-backwards gaps immediately after a long
59494         period of daylight-saving time.
59495
59496         * lib/mktime.c: Assume freestanding C89 or better.
59497         (HAVE_LIMITS_H): Remove.  Assume it's 1.
59498         (__P): Remove; not used.
59499         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
59500         (mktime, not_equal_tm, print_tm, check_result,
59501         main): Use prototypes.  Use const * where appropriate.
59502         (main): Fix typo in testing code that uncovered by above changes.
59503         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
59504
59505 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59506
59507         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
59508         locale.h, localeconv.  This merges changes from coreutils.
59509
59510         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
59511         It can be removed after the next Autoconf is released.
59512         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
59513         needed.
59514
59515 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59516
59517         * lib/mktime.c: Fix Debian bug 177940
59518         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
59519         (localtime_offset): Now long int, not time_t, because we want it
59520         to be guaranteed to be signed.  All uses changed.
59521         (__mktime_internal): If overflow would occur when adding offset,
59522         don't add it.
59523
59524         Merge 'human' changes from coreutils.  Rewrite to support
59525         locale-specific notations like thousands separators.
59526         * lib/human.c: Simplify authorship notice.
59527         Include human.h immediately after config.h.
59528         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
59529         <limits.h>: Do not include, since human.h does.
59530         (SIZE_MAX, UINTMAX_MAX): New macros.
59531         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
59532         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
59533         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
59534         (power_letter): Renamed from suffixes.
59535         (generate_suffix_backwards): Remove.
59536         (adjust_value): Now takes int style (because of human.h changes)
59537         and long double value (for greater precision on some platforms).
59538         (group_number): New function.
59539         (human_readable): Use it.  Use integer options, not enum.
59540         Put the options before the sizes in the arg list.
59541         Support all the new options.
59542         The old human_readable function has been removed;
59543         use inttostr.h instead.
59544         (human_readable, default_block_size, humblock):
59545         Use uintmax_t, not int, for block sizes.
59546         (human_readable_inexact, block_size_types): Remove.
59547         (block_size_opts): New constant.
59548         (human_options): Renamed from human_block_size, with new signature
59549         that allows block sizes up to UINTMAX_MAX.  All callers changed.
59550         * lib/human.h: Add copyright and authorship notice.
59551         Include <limits.h> and <stdbool.h> unconditionally.
59552         (PARAMS): Remove.  All uses removed.
59553         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
59554         (enum human_inexact_style): Remove tag; now a nameless enum.
59555         (human_floor, human_ceiling, human_round_to_even): Now have
59556         values 2, 0, 1 rather than -1, 1, 0.
59557         (human_group_digits, human_suppress_point_zero, human_autoscale,
59558         human_base_1024, human_SI, human_B): New constants.
59559         (human_readable_inexact, human_block_size): Remove.
59560         (human_readable): Size args are now uintmax_t, not int.
59561         (human_options): New decl.
59562
59563         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
59564         unnecessary now that we assume C89 or better.  This change
59565         imported from coreutils.
59566
59567         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59568         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
59569         in the 2003-05-30 sync from glibc.
59570
59571         .h files should stand alone, but we shouldn't include <sys/types.h>
59572         if we can get away with just <stddef.h>.
59573
59574         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
59575         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
59576         rather than <sys/types.h>, as we merely need size_t.
59577         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
59578         to get size_t.
59579         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
59580         Include <stdio.h>, to get FILE.
59581         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
59582         memcasecmp.h has included <stddef.h> and all we need is size_t.
59583         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
59584         our interface, instead of including <sys/types.h>
59585
59586 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59587
59588         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
59589         now, as glibc mktime is buggy on non-glibc systems.
59590
59591 2003-06-03  Karl Berry  <karl@gnu.org>
59592
59593         * config/config.sub: update from prep.
59594
59595 2003-06-02  Paul Eggert  <eggert@twinsun.com>
59596
59597         [from coreutils]
59598         Fix some minor time-related bugs with POSIX time arguments.
59599         Some valid time stamps were being rejected (notably -1, and
59600         time stamps before 1900 on 64-bit hosts).  And some invalid
59601         time stamps were being accepted, e.g. September 31.
59602
59603         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
59604         that we can return (time_t) -1 successfully.
59605         * lib/posixtm.c: Likewise.
59606         [HAVE_STDBOOL_H]: Include <stdbool.h>.
59607         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
59608         (t): Remove static var.
59609         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
59610         of static var.  All uses changed.
59611         (year): Do not reject years before 1900; they can occur with
59612         64-bit time_t.
59613         (posix_time_parse): Do not check for out-of-range components;
59614         that is now the caller's responsibility, since our checks were
59615         only approximations.
59616         (posixtime): Use mktime to check for out-of-range components,
59617         since it knows them exactly.
59618         If mktime returns (time_t) -1, check whether an error actually occurred
59619         by invoking localtime on -1.
59620         (main) [TEST_POSIXTIME]: Check for input data errors, and report
59621         posixtime failures better.
59622         Improve the test data (in comments only).
59623
59624 2003-06-02  Karl Berry  <karl@gnu.org>
59625
59626         * config/mkinstalldirs (version): new variable.
59627         (--version): new option.
59628         (usage): improve message.
59629
59630 2003-05-30  Karl Berry  <karl@gnu.org>
59631
59632         * lib/mktime.c: update from libc.
59633
59634 2003-05-30  Bruno Haible  <bruno@clisp.org>
59635
59636         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
59637         * config/config.rpath: Upgrade to gettext-0.12.1.
59638
59639 2003-05-30  Bruno Haible  <bruno@clisp.org>
59640
59641         * m4/gettext.m4: Upgrade to gettext-0.12.1.
59642         * m4/nls.m4: New file, from gettext-0.12.1.
59643         * m4/po.m4: New file, from gettext-0.12.1.
59644         * m4/progtest.m4: Upgrade to gettext-0.12.1.
59645
59646 2003-05-30  Bruno Haible  <bruno@clisp.org>
59647
59648         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
59649         * lib/localcharset.h: Likewise.
59650         * lib/localcharset.c: Likewise.
59651
59652 2003-05-29  Karl Berry  <karl@gnu.org>
59653
59654         * config/config.rpath: update from gettext.
59655
59656 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59657
59658         Assume the headers required for C89 freestanding compilers.
59659         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
59660         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
59661         * m4/human.m4 (gl_HUMAN): Likewise.
59662         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
59663         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
59664         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59665         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
59666         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59667         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
59668
59669 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59670
59671         Assume the headers required for C89 freestanding compilers.
59672         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
59673         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
59674         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
59675         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
59676         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
59677         define, since <limits.h> is guaranteed to do that.
59678         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
59679         * lib/exclude.c: Include <stdbool.h> unconditionally.
59680         * lib/tempname.c: Include <stddef.h> unconditionally.
59681         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
59682         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
59683         <stddef.h> does that.
59684         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
59685         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
59686         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
59687         needed.
59688         * lib/xstrtol.c: Likewise.
59689         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
59690         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
59691
59692         * lib/addext.c (addext): Use assignment rather than cast, to avoid
59693         warnings on some platforms.
59694
59695         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59696         arbitrarily.
59697
59698 2003-05-26  Jim Meyering  <jim@meyering.net>
59699
59700         Merge in a change from coreutils:
59701         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
59702         that is guaranteed to be `no'.  Use `no_such_member' to indicate
59703         that condition, rather than `-1' which is slightly misleading.
59704         Change the name of the cache variable to have the gl_ prefix.
59705         Prompted by a patch from Richard Dawe for DJGPP.
59706
59707 2003-05-24  Karl Berry  <karl@gnu.org>
59708
59709         * config/config.guess: update from prep.
59710
59711 2003-05-22  Karl Berry  <karl@gnu.org>
59712
59713         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
59714
59715 2003-05-20  Karl Berry  <karl@gnu.org>
59716
59717         * config/config.guess: update from prep.
59718
59719 2003-05-18  Karl Berry  <karl@gnu.org>
59720
59721         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
59722         might actually be set by the user.
59723
59724         * config/depcomp, install-sh, mdate-sh: update from automake.
59725
59726 2003-05-17  Bruno Haible  <bruno@clisp.org>
59727
59728         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
59729         invalid expansion for AC_EGREP_CPP.
59730         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
59731         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
59732         Suggested by Akim Demaille <akim@epita.fr> in
59733         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
59734
59735 2003-05-12  Jim Meyering  <jim@meyering.net>
59736
59737         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
59738         the space-padded-by-default conversion specifiers, %e, %k, %l.
59739
59740 2003-05-12  Bruno Haible  <bruno@clisp.org>
59741
59742         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
59743         the string is longer than 4 KB.
59744
59745 2003-05-11  Karl Berry  <karl@gnu.org>
59746
59747         * config/config.{guess,sub}: update from prep.
59748
59749 2003-05-09  Bruno Haible  <bruno@clisp.org>
59750
59751         * modules/error: Add m4/strerror_r.m4 to file list.
59752
59753 2003-05-03  Bruno Haible  <bruno@clisp.org>
59754
59755         Upgrade to Unicode-4.0.
59756         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
59757         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
59758         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
59759         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
59760         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
59761         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
59762         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
59763         Change width of U+E0100..U+E01EF from 1 to 0.
59764
59765 2003-04-25  Jim Meyering  <jim@meyering.net>
59766
59767         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
59768         of type size_t, not int.
59769
59770 2003-04-25  Bruno Haible  <bruno@clisp.org>
59771
59772         * lib/copy-file.c: Include <stddef.h>, for size_t.
59773
59774 2003-04-21  Paul Eggert  <eggert@twinsun.com>
59775
59776         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
59777         code which expansion is under static control.  Patch imported from
59778         Akim Demaille's patch to Bison; see
59779         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
59780
59781 2003-04-14  Bruno Haible  <bruno@clisp.org>
59782
59783         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
59784
59785 2003-04-11  Jim Meyering  <jim@meyering.net>
59786
59787         Merge changes from Coreutils.
59788
59789         2003-03-22  Jim Meyering  <jim@meyering.net>
59790
59791         * lib/strftime.c (widen): Cast alloca return value to proper type.
59792
59793         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
59794
59795         From GNU libc.
59796         * lib/strftime.c (my_strftime): Handle very large width
59797         specifications for numeric values correctly.  Improve checks for
59798         overflow.
59799
59800         2003-01-19  Jim Meyering  <jim@meyering.net>
59801
59802         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
59803         definitions.
59804         (nl_get_alt_digit) [! defined my_strftime]: Define.
59805         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
59806         _nl_get_alt_digit and _nl_get_walt_digit.
59807
59808         * lib/strftime.c (my_strftime): Merge in locale-related changes from
59809         libc. These changes have no effect outside of _LIBC.
59810
59811 2003-04-10  Bruno Haible  <bruno@clisp.org>
59812
59813         * modules/findprog: New file.
59814         * MODULES.html.sh (func_all_modules): Add it.
59815
59816 2003-04-10  Bruno Haible  <bruno@clisp.org>
59817
59818         * m4/findprog.m4: New file.
59819         * m4/eaccess.m4: New file.
59820
59821 2003-04-10  Bruno Haible  <bruno@clisp.org>
59822
59823         * lib/findprog.h: New file, from GNU gettext.
59824         * lib/findprog.c: New file, from GNU gettext.
59825
59826 2003-04-05  Jim Meyering  <jim@meyering.net>
59827
59828         Merge changes from Coreutils.
59829
59830         * lib/exclude.h (PARAMS): Remove definition and uses.
59831         * lib/exclude.c: Remove uses of `PARAMS'.
59832
59833         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
59834         Add test-cases for DOS filenames. Declare program_name.
59835         (main): Set up program_name.  Patch by Rich Dawe.
59836
59837         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
59838         error from mntctl.
59839         Use mntctl's return value to drive the entry-processing loop, since
59840         we can't rely on the value of the vmt_length member in the last
59841         entry.  On some systems doing so could result in exhausting
59842         virtual memory.  Based in part on a patch from Mike Jetzer.
59843
59844 2003-04-04  Bruno Haible  <bruno@clisp.org>
59845
59846         * modules/linebreak: New file.
59847         * MODULES.html.sh (func_all_modules): Add it.
59848
59849 2003-04-04  Bruno Haible  <bruno@clisp.org>
59850
59851         * m4/linebreak.m4: New file.
59852
59853 2003-04-04  Bruno Haible  <bruno@clisp.org>
59854
59855         * lib/linebreak.h: New file, from GNU gettext.
59856         * lib/linebreak.c: New file, from GNU gettext with slight
59857         modifications.
59858         * lib/lbrkprop.h: New file, from GNU gettext.
59859
59860 2003-04-03  Bruno Haible  <bruno@clisp.org>
59861
59862         * modules/utf8-ucs4: New file.
59863         * modules/utf16-ucs4: New file.
59864         * modules/ucs4-utf8: New file.
59865         * modules/ucs4-utf16: New file.
59866         * MODULES.html.sh (func_all_modules): Add them.
59867
59868 2003-04-03  Bruno Haible  <bruno@clisp.org>
59869
59870         * m4/utf-ucs4.m4: New file.
59871         * m4/ucs4-utf.m4: New file.
59872
59873 2003-04-03  Bruno Haible  <bruno@clisp.org>
59874
59875         * lib/utf8-ucs4.h: New file, from GNU gettext.
59876         * lib/utf16-ucs4.h: New file, from GNU gettext.
59877         * lib/ucs4-utf8.h: New file, from GNU gettext.
59878         * lib/ucs4-utf16.h: New file, from GNU gettext.
59879
59880 2003-04-02  Bruno Haible  <bruno@clisp.org>
59881
59882         * modules/binary-io: New file.
59883         * MODULES.html.sh (func_all_modules): Add it.
59884
59885 2003-04-02  Bruno Haible  <bruno@clisp.org>
59886
59887         * lib/binary-io.h: New file, from GNU gettext.
59888
59889 2003-04-01  Bruno Haible  <bruno@clisp.org>
59890
59891         * modules/pathname: New file.
59892         * MODULES.html.sh (func_all_modules): Add it.
59893
59894 2003-04-01  Bruno Haible  <bruno@clisp.org>
59895
59896         * lib/pathname.h: New file, from GNU gettext.
59897         * lib/concatpath.c: New file, from GNU gettext.
59898
59899 2003-03-30  Bruno Haible  <bruno@clisp.org>
59900
59901         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
59902
59903 2003-03-30  Bruno Haible  <bruno@clisp.org>
59904
59905         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
59906         function chown() doesn't exist.
59907
59908 2003-03-28  Bruno Haible  <bruno@clisp.org>
59909
59910         * modules/copy-file: New file.
59911         * MODULES.html.sh (func_all_modules): Add it.
59912
59913 2003-03-28  Bruno Haible  <bruno@clisp.org>
59914
59915         * m4/copy-file.m4: New file.
59916
59917 2003-03-28  Bruno Haible  <bruno@clisp.org>
59918
59919         * lib/copy-file.h: New file, from GNU gettext.
59920         * lib/copy-file.c: New file, from GNU gettext.
59921
59922 2003-03-18  Jim Meyering  <jim@meyering.net>
59923
59924         * lib/quote.c (quote_n): Fix typo in comment.
59925
59926 2003-03-18  Bruno Haible  <bruno@clisp.org>
59927
59928         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
59929         checking.
59930         * m4/onceonly_2_57.m4: Likewise.
59931
59932 2003-03-17  Bruno Haible  <bruno@clisp.org>
59933
59934         * m4/onceonly.m4: Require autoconf 2.54 or newer.
59935         (m4_quote): Remove macro.
59936         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
59937
59938 2003-03-14  Jim Meyering  <jim@meyering.net>
59939
59940         Merge changes from Coreutils.
59941         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
59942         to be const, in order to avoid warnings.
59943         (obstack_room): Likewise.
59944         (obstack_empty_p): Likewise.
59945
59946 2003-03-14  Bruno Haible  <bruno@clisp.org>
59947
59948         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
59949         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
59950
59951 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59952
59953         Merge changes from Bison.
59954         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
59955         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
59956         when compiling Bison 1.875's `bitset bset = obstack_alloc
59957         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
59958         * lib/hash.c: Include <stdbool.h> unconditionally.
59959
59960 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59961
59962         * m4/onceonly.m4 (m4_quote): New macro.
59963         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
59964         Quote AC_FOREACH variable-expansions properly.
59965
59966 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59967
59968         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
59969
59970 2003-03-09  Paul Eggert  <eggert@twinsun.com>
59971
59972         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
59973         Reported by Bruce Becker; see:
59974         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
59975
59976 2003-03-03  Paul Eggert  <eggert@twinsun.com>
59977             Bruno Haible  <bruno@clisp.org>
59978
59979         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
59980         Reported by John Hughes, see
59981         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
59982
59983 2003-02-20  Bruno Haible  <bruno@clisp.org>
59984
59985         * MODULES.html.sh (func_all_modules): Add poll.
59986
59987 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59988
59989         * modules/poll: New file.
59990
59991 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59992
59993         * lib/poll_.h: New file.
59994         * lib/poll.c: New file.
59995
59996 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59997
59998         * m4/poll.m4: New file.
59999
60000 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60001
60002         * modules/mathl: New file.
60003
60004 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60005
60006         * lib/mathl.h: New file.
60007         * lib/acosl.c: New file.
60008         * lib/asinl.c: New file.
60009         * lib/atanl.c: New file.
60010         * lib/ceill.c: New file.
60011         * lib/cosl.c: New file.
60012         * lib/expl.c: New file.
60013         * lib/floorl.c: New file.
60014         * lib/frexpl.c: New file.
60015         * lib/ldexpl.c: New file.
60016         * lib/logl.c: New file.
60017         * lib/sincosl.c: New file.
60018         * lib/sinl.c: New file.
60019         * lib/sqrtl.c: New file.
60020         * lib/tanl.c: New file.
60021         * lib/trigl.c: New file.
60022         * lib/trigl.h: New file.
60023
60024 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
60025
60026         * m4/mathl.m4: New file.
60027
60028 2003-02-18  Bruno Haible  <bruno@clisp.org>
60029
60030         * MODULES.html.sh (func_all_modules): Add mathl.
60031
60032 2003-02-17  Bruno Haible  <bruno@clisp.org>
60033
60034         * modules/mkdtemp: New module.
60035         * MODULES.html.sh (func_all_modules): Add it.
60036
60037 2003-02-17  Bruno Haible  <bruno@clisp.org>
60038
60039         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
60040
60041 2003-02-17  Bruno Haible  <bruno@clisp.org>
60042
60043         * lib/mkdtemp.h: New file, from GNU gettext.
60044         * lib/mkdtemp.c: New file, from GNU gettext.
60045
60046 2003-02-02  Jim Meyering  <jim@meyering.net>
60047
60048         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
60049         e.g. glibc-2.2.93.
60050
60051 2003-01-31  Bruno Haible  <bruno@clisp.org>
60052
60053         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
60054         'rpl_rename'.
60055         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
60056         'rpl_strnlen'.
60057         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
60058         'rpl_strtod'.
60059         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
60060         'rpl_utime'.
60061
60062 2003-01-31  Bruno Haible  <bruno@clisp.org>
60063
60064         * lib/rename.c: #undef rename before defining rpl_rename.
60065         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
60066
60067 2003-01-30  Bruno Haible  <bruno@clisp.org>
60068
60069         * modules/vasnprintf, modules/vasprintf: New modules.
60070         * MODULES.html.sh (func_all_modules): Add them.
60071
60072 2003-01-30  Bruno Haible  <bruno@clisp.org>
60073
60074         * m4/signed.m4: New file, from GNU gettext.
60075         * m4/longdouble.m4: New file, from GNU gettext.
60076         * m4/wchar_t.m4: New file, from GNU gettext.
60077         * m4/wint_t.m4: New file, from GNU gettext.
60078         * m4/vasnprintf.m4: New file.
60079         * m4/vasprintf.m4: New file.
60080
60081 2003-01-30  Bruno Haible  <bruno@clisp.org>
60082
60083         * lib/printf-args.h: New file, from GNU gettext.
60084         * lib/printf-args.c: New file, from GNU gettext.
60085         * lib/printf-parse.h: New file, from GNU gettext.
60086         * lib/printf-parse.c: New file, from GNU gettext.
60087         * lib/vasnprintf.h: New file, from GNU gettext.
60088         * lib/vasnprintf.c: New file, from GNU gettext.
60089         * lib/asnprintf.c: New file, from GNU gettext.
60090         * lib/vasprintf.h: New file, from GNU gettext with modifications.
60091         * lib/vasprintf.c: New file, from GNU gettext.
60092         * lib/asprintf.c: New file, from GNU gettext.
60093
60094 2003-01-29  Bruno Haible  <bruno@clisp.org>
60095
60096         * modules/stpncpy: New module.
60097         * MODULES.html.sh (func_all_modules): Add it.
60098
60099 2003-01-29  Bruno Haible  <bruno@clisp.org>
60100
60101         * m4/stpncpy.m4: New file.
60102
60103 2003-01-29  Bruno Haible  <bruno@clisp.org>
60104
60105         * lib/stpncpy.h: New file, from GNU gettext with modifications.
60106         * lib/stpncpy.c: New file, from GNU gettext with modifications.
60107
60108 2003-01-28  Bruno Haible  <bruno@clisp.org>
60109
60110         * modules/c-ctype: New module.
60111         * MODULES.html.sh (func_all_modules): Add it.
60112
60113 2003-01-28  Bruno Haible  <bruno@clisp.org>
60114
60115         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
60116         Paul Eggert.
60117         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
60118         Paul Eggert.
60119
60120 2003-01-27  Bruno Haible  <bruno@clisp.org>
60121
60122         * modules/xsetenv: New module.
60123         * MODULES.html.sh (func_all_modules): Add it.
60124
60125 2003-01-27  Bruno Haible  <bruno@clisp.org>
60126
60127         * lib/xsetenv.h: New file, from GNU gettext.
60128         * lib/xsetenv.c: New file, from GNU gettext.
60129
60130 2003-01-23  Jim Meyering  <jim@meyering.net>
60131
60132         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
60133         from working on systems without dirfd (at least Irix and OSF1/Tru64).
60134
60135 2003-01-23  Bruno Haible  <bruno@clisp.org>
60136
60137         * modules/minmax: New module.
60138         * MODULES.html.sh (func_all_modules): Add it.
60139
60140 2003-01-23  Bruno Haible  <bruno@clisp.org>
60141
60142         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
60143         Eggert.
60144
60145 2003-01-22  Bruno Haible  <bruno@clisp.org>
60146
60147         * modules/exit: New module.
60148         * MODULES.html.sh (func_all_modules): Add it.
60149
60150 2003-01-22  Bruno Haible  <bruno@clisp.org>
60151
60152         * lib/exit.h: New file, from GNU gettext.
60153
60154 2003-01-19  Bruno Haible  <bruno@clisp.org>
60155
60156         * gnulib-tool: Recognize option --extract-maintainer.
60157         (func_get_maintainer): New function.
60158         * modules/*: Add Maintainer entry.
60159
60160 2003-01-16  Jim Meyering  <jim@meyering.net>
60161
60162         * m4/regex.m4: The `regex' struct is both input and output.
60163         Initialize it before each use.  Patch by Tim Waugh.
60164
60165 2003-01-16  Bruno Haible  <bruno@clisp.org>
60166
60167         * MODULES.html.sh: Add a table of contents. Add the module name as
60168         leftmost column. Add hyperlinks.
60169
60170 2003-01-15  Bruno Haible  <bruno@clisp.org>
60171
60172         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
60173
60174 2003-01-15  Bruno Haible  <bruno@clisp.org>
60175
60176         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
60177         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
60178         suffix.
60179
60180 2003-01-15  Bruno Haible  <bruno@clisp.org>
60181
60182         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
60183
60184 2003-01-15  Bruno Haible  <bruno@clisp.org>
60185
60186         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
60187         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
60188
60189 2003-01-14  Jim Meyering  <jim@meyering.net>
60190
60191         * lib/same.c (same_name): Tweak a comment.
60192
60193 2003-01-14  Bruno Haible  <bruno@clisp.org>
60194
60195         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
60196         when a string comparison is sufficient.
60197
60198 2003-01-14  Bruno Haible  <bruno@clisp.org>
60199
60200         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
60201         'unsigned int'.
60202
60203 2003-01-14  Bruno Haible  <bruno@clisp.org>
60204
60205         * lib/hash-pjw.c: Add comment about low quality of this function.
60206
60207 2003-01-13  Bruno Haible  <bruno@clisp.org>
60208
60209         * modules/stpcpy: Distribute lib/stpcpy.h.
60210         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
60211
60212 2003-01-13  Bruno Haible  <bruno@clisp.org>
60213
60214         * modules/*: Add a description.
60215         * modules/strpbrk: Fix Makefile.am snippet.
60216         * modules/strtoimax: Fix dependencies.
60217         * modules/strtoumax: Likewise.
60218
60219 2003-01-13  Bruno Haible  <bruno@clisp.org>
60220
60221         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
60222         * modules/alloca (Makefile.am): All object files depend on alloca.h.
60223         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
60224
60225 2003-01-13  Bruno Haible  <bruno@clisp.org>
60226
60227         * gnulib-tool (func_create_testdir): Store config/* files in the main
60228         directory.
60229         * config.rpath: Move to ...
60230         * config/config.rpath: ... here.
60231         * modules/gettext: Contains config/config.rpath, not config.rpath.
60232         * modules/iconv: Likewise.
60233
60234 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60235
60236         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60237         to avoid collisions with libcurses and libreadline.
60238
60239         * m4/getstr.m4: Remove.
60240         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
60241
60242 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60243
60244         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60245         to avoid collisions with libcurses and libreadline.
60246
60247         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
60248         * lib/getstr.h, getstr.c: Remove.
60249         * lib/getline.c: Include "getline.h", to check interface.
60250         Move body of old getstr.c here: this defines MIN_CHUNK and
60251         declares getdelim2, which is renamed from getstr.
60252         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
60253
60254         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
60255         All uses changed.
60256         * lib/linebuffer.h: Likewise.
60257         (readline): Remove backward-compatibility macro.
60258
60259 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60260
60261         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60262         to avoid collisions with libcurses and libreadline.
60263         * getstr: Remove.
60264         * MODULES.html.sh: Remove getstr.
60265         * modules/getline: Depend on unlocked-io, not getstr.
60266
60267 2003-01-12  Jim Meyering  <jim@meyering.net>
60268
60269         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
60270
60271 2003-01-10  Bruno Haible  <bruno@clisp.org>
60272
60273         * modules/alloca: Change Makefile.am requirements. Simplify Include
60274         requirements. Add lib/alloca_.h to file list.
60275
60276 2003-01-10  Bruno Haible  <bruno@clisp.org>
60277
60278         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
60279
60280 2003-01-10  Bruno Haible  <bruno@clisp.org>
60281
60282         * lib/alloca_.h: New file.
60283         * lib/getdate.y: Unconditionally include alloca.h.
60284         * lib/makepath.c: Likewise.
60285         * lib/setenv.c: Likewise.
60286         * lib/userspec.c: Likewise.
60287
60288 2003-01-09  Karl Berry  <karl@gnu.org>
60289
60290         * MODULES.html.sh: include `dirname $0` in PATH, to find
60291         gnulib-tool.
60292
60293 2003-01-09  Bruno Haible  <bruno@clisp.org>
60294
60295         * modules/stdbool: Change configure.ac, Makefile.am requirements.
60296         Simplify Include requirements. Add lib/stdbool.h.in to file list.
60297
60298 2003-01-09  Bruno Haible  <bruno@clisp.org>
60299
60300         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
60301
60302 2003-01-09  Bruno Haible  <bruno@clisp.org>
60303
60304         * lib/stdbool.h.in: New file.
60305
60306 2003-01-09  Bruno Haible  <bruno@clisp.org>
60307
60308         * gnulib-tool (func_all_modules): Ignore files ending in ~.
60309         * MODULES.html.sh: Likewise.
60310
60311 2003-01-08  Jim Meyering  <jim@meyering.net>
60312
60313         * lib/full-write.c: Undefine and define-away `const' after inclusion
60314         of errno.h, not before.  Suggestion from Bruno Haible.
60315
60316 2003-01-08  Bruno Haible  <bruno@clisp.org>
60317
60318         * modules/full-read: Depend on full-write.
60319
60320 2003-01-08  Bruno Haible  <bruno@clisp.org>
60321
60322         * lib/safe-read.c: Include specification header first, to ensure its
60323         selfcontainedness.
60324         * lib/full-write.c: Likewise.
60325
60326 2003-01-07  Jim Meyering  <jim@meyering.net>
60327
60328         * lib/full-write.c: Rework so that it may serve to define full_read,
60329         too.
60330         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
60331
60332 2003-01-07  Bruno Haible  <bruno@clisp.org>
60333
60334         * lib/strtoimax.c: Include <stdint.h> as an alternative to
60335         <inttypes.h>.
60336         * lib/xstrtol.h: Likewise.
60337         * lib/xstrtoimax.c: Likewise.
60338         * lib/xstrtoumax.c: Likewise.
60339         * lib/human.h: Likewise.
60340
60341         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
60342         on systems that have <inttypes.h> but not <stdint.h>.
60343
60344 2003-01-07  Bruno Haible  <bruno@clisp.org>
60345
60346         * MODULES.html.sh: Add copyright notice.
60347         (missed_files): Omit CVS directory entries.
60348         (func_module): Make it work with sed-3.02.
60349         * MODULES.txt: Remove file.
60350
60351 2003-01-06  Jim Meyering  <jim@meyering.net>
60352
60353         * lib/version-etc.c: Update year in translatable copyright string.
60354
60355 2003-01-03  Karl Berry  <karl@gnu.org>
60356
60357         * config/config.{guess,sub}: update from prep.
60358
60359 2003-01-02  Karl Berry  <karl@gnu.org>
60360
60361         * doc/COPYING.DOC: belatedly updated to 1.2.
60362
60363 2003-01-01  Karl Berry  <karl@gnu.org>
60364
60365         * gnulib-tool (func_verify_module): report module name $module in
60366         error message, not $1.
60367         * gnulib-tool (create-testdir): don't complain if destdir couldn't
60368         be created, only if it doesn't exist.
60369         * gnulib-tool (last_checkin_date): don't expand the $Date here.
60370
60371 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60372
60373         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
60374
60375 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60376
60377         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
60378         memcmp if strcoll doesn't work.
60379
60380 2002-12-31  Bruno Haible  <bruno@clisp.org>
60381
60382         * lib/utime.c (utime_null): No need to call ftruncate if the file was
60383         nonempty.
60384
60385 2002-12-31  Bruno Haible  <bruno@clisp.org>
60386
60387         * lib/memcoll.c (STRCOLL): New macro.
60388         (memcoll): Use it.
60389
60390 2002-12-31  Bruno Haible  <bruno@clisp.org>
60391
60392         * lib/localcharset.h: New file.
60393         * lib/localcharset.c: Include it.
60394         * lib/unicodeio.c: Likewise.
60395
60396 2002-12-31  Bruno Haible  <bruno@clisp.org>
60397
60398         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
60399         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
60400
60401 2002-12-31  Bruno Haible  <bruno@clisp.org>
60402
60403         * lib/getline.h: Include <stddef.h>, for size_t.
60404
60405         * lib/unicodeio.h: Include <stddef.h>, for size_t.
60406         * lib/unicodeio.c: Don't include <stddef.h>.
60407
60408 2002-12-31  Bruno Haible  <bruno@clisp.org>
60409
60410         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
60411         HAVE_TM_ZONE.
60412
60413 2002-12-24  Karl Berry  <karl@gnu.org>
60414
60415         * config/config.guess: update from prep.
60416
60417 2002-12-24  Bruno Haible  <bruno@clisp.org>
60418
60419         General infrasructure.
60420         * m4/README: Rewritten.
60421         * m4/onceonly.m4: New file.
60422         * m4/onceonly_2_57.m4: New file.
60423
60424         Module atexit.
60425         * m4/atexit.m4: New file.
60426
60427         Module strtod.
60428         * m4/strtod.m4: New file.
60429
60430         Module strtol.
60431         * m4/strtol.m4: New file.
60432
60433         Module strtoul.
60434         * m4/strtoul.m4: New file.
60435
60436         Module memchr.
60437         * m4/memchr.m4: New file.
60438
60439         Module memcmp.
60440         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
60441         (jm_FUNC_MEMCMP): Invoke it.
60442
60443         Module memcpy.
60444         * m4/memcpy.m4: New file.
60445
60446         Module memmove.
60447         * m4/memmove.m4: New file.
60448
60449         Module memset.
60450         * m4/memset.m4: New file.
60451
60452         Module strcspn.
60453         * m4/strcspn.m4: New file.
60454
60455         Module strpbrk.
60456         * m4/strpbrk.m4: New file.
60457
60458         Module strstr.
60459         * m4/strstr.m4: New file.
60460
60461         Module strerror.
60462         * m4/strerror.m4: New file.
60463
60464         Module mktime.
60465         * m4/mktime.m4: Renamed from jm-mktime.m4.
60466         (gl_PREREQ_MKTIME): New macro.
60467         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
60468
60469         Module malloc.
60470         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
60471         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
60472         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
60473
60474         Module realloc.
60475         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
60476         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
60477         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
60478
60479         Module strftime.
60480         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
60481         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
60482         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
60483         gl_TM_GMTOFF.
60484         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
60485
60486         Module xalloc.
60487         * m4/xalloc.m4: New file.
60488
60489         Module alloca.
60490         * m4/alloca.m4: New file.
60491
60492         Module putenv.
60493         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
60494         (jm_FUNC_PUTENV): Invoke it.
60495
60496         Module setenv.
60497         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
60498         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
60499         when invoked twice.
60500         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
60501         gt_FUNC_SETENV.
60502
60503         Module memrchr.
60504         * m4/memrchr.m4: New file.
60505
60506         Module stpcpy.
60507         * m4/stpcpy.m4: New file.
60508
60509         Module strcase.
60510         * m4/strcase.m4: New file.
60511
60512         Module strdup.
60513         * m4/strdup.m4: New file.
60514
60515         Module strnlen.
60516         * m4/strnlen.m4: New file.
60517
60518         Module strndup.
60519         * m4/strndup.m4: New file.
60520
60521         Module xstrtod.
60522         * m4/xstrtod.m4: New file.
60523
60524         Module xstrtol.
60525         * m4/xstrtol.m4: New file.
60526
60527         Module getdate.
60528         * m4/getdate.m4: New file.
60529
60530         Module unlocked-io.
60531         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
60532         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
60533         * m4/jm-glibc-io.m4n: Remove file.
60534
60535         Module long-options.
60536         * m4/long-options.m4: New file.
60537
60538         Module md5.
60539         * m4/md5.m4: New file.
60540
60541         Module sha.
60542         * m4/sha.m4: New file.
60543
60544         Module getstr.
60545         * m4/getstr.m4: New file.
60546
60547         Module getline.
60548         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
60549         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
60550         <sys/types.h>, for size_t. Use the function name gnu_getline, not
60551         simply getline. Infoke gl_PREREQ_GETLINE.
60552
60553         Module obstack.
60554         * m4/obstack.m4: New file.
60555
60556         Module hash.
60557         * m4/hash.m4: New file.
60558
60559         Module readtokens.
60560         * m4/readtokens.m4: New file.
60561
60562         Module strverscmp.
60563         * m4/strverscmp.m4: New file.
60564
60565         Module stdbool.
60566         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
60567         OSF/1.
60568
60569         Module strtoll.
60570         * m4/strtoll.m4: New file.
60571
60572         Module strtoull.
60573         * m4/strtoull.m4: New file.
60574
60575         Module strtoimax.
60576         * m4/strtoimax.m4: New file.
60577
60578         Module strtoumax.
60579         * m4/strtoumax.m4: New file.
60580
60581         Module xstrtoimax.
60582         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
60583         jm_AC_PREREQ_XSTRTOIMAX.
60584         Moved the strtol prerequisites to strtol.m4.
60585         Moved the strtoll prerequisites to strtoll.m4.
60586         Moved the strtoimax prerequisites to strtoimax.m4.
60587
60588         Module xstrtoumax.
60589         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
60590         jm_AC_PREREQ_XSTRTOUMAX.
60591         Moved the strtoul prerequisites to strtoul.m4.
60592         Moved the strtoull prerequisites to strtoull.m4.
60593         Moved the strtoumax prerequisites to strtoumax.m4.
60594
60595         Module chown.
60596         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
60597         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
60598
60599         Module dup2.
60600         * m4/dup2.m4: New file.
60601
60602         Module ftruncate.
60603         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
60604         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
60605
60606         Module getgroups.
60607         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
60608         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
60609
60610         Module gettimeofday.
60611         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
60612         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
60613         gl_PREREQ_GETTIMEOFDAY.
60614
60615         Module mkdir.
60616         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
60617         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
60618
60619         Module mkstemp.
60620         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
60621         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
60622         jm_AC_TYPE_UINTMAX_T.
60623         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
60624
60625         Module stat.
60626         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
60627         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
60628
60629         Module lstat.
60630         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
60631         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
60632
60633         Module timespec.
60634         * m4/timespec.m4 (gl_TIMESPEC): New macro.
60635         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
60636         * m4/st_mtim.m4: Indentation.
60637
60638         Module nanosleep.
60639         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
60640         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
60641         gl_PREREQ_NANOSLEEP.
60642
60643         Module regex.
60644         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
60645         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
60646         (gl_REGEX): New macro.
60647
60648         Module rename.
60649         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
60650         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
60651
60652         Module rmdir.
60653         * m4/rmdir.m4: New file.
60654
60655         Module utime.
60656         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
60657         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
60658         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
60659
60660         Module dirname.
60661         * m4/dirname.m4: New file.
60662
60663         Module getopt.
60664         * m4/getopt.m4: New file.
60665
60666         Module unistd-safer.
60667         * m4/unistd-safer.m4: New file.
60668
60669         Module fnmatch.
60670         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
60671         declaration.
60672         (gl_PREREQ_FNMATCH_EXTRA): New macro.
60673         (gl_FUNC_FNMATCH_POSIX): New macro.
60674         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
60675         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
60676         simply fnmatch.
60677
60678         Module exclude.
60679         * m4/exclude.m4: New file.
60680
60681         Module human.
60682         * m4/human.m4: New file.
60683
60684         Module acl.
60685         * m4/acl.m4: Nop.
60686
60687         Module backupfile.
60688         * m4/backupfile.m4: New file.
60689         * m4/d-ino.m4: Indentation.
60690
60691         Module fsusage.
60692         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
60693         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
60694         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
60695
60696         Module dirfd.
60697         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
60698         requirements.
60699
60700         Module euidaccess.
60701         * m4/euidaccess.m4: New file.
60702
60703         Module file-type.
60704         * m4/file-type.m4: New file.
60705
60706         Module fileblocks.
60707         * m4/fileblocks.m4: New file.
60708
60709         Module filemode.
60710         * m4/filemode.m4: New file.
60711
60712         Module isdir.
60713         * m4/isdir.m4: New file.
60714
60715         Module lchown.
60716         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
60717         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
60718
60719         Module makepath.
60720         * m4/makepath.m4: New file.
60721
60722         Module modechange.
60723         * m4/modechange.m4: New file.
60724
60725         Module mountlist.
60726         * m4/mountlist.m4: New file.
60727         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
60728         Indentation.
60729
60730         Module path-concat.
60731         * m4/path-concat.m4: New file.
60732
60733         Module pathmax.
60734         * m4/pathmax.m4: New file.
60735
60736         Module same.
60737         * m4/same.m4: New file.
60738
60739         Module save-cwd.
60740         * m4/save-cwd.m4: New file.
60741
60742         Module savedir.
60743         * m4/savedir.m4: New file.
60744
60745         Module xgetcwd.
60746         * m4/xgetcwd.m4: New file.
60747         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
60748
60749         Module xreadlink.
60750         * m4/xreadlink.m4: New file.
60751
60752         Module safe-read.
60753         * m4/safe-read.m4: New file.
60754
60755         Module safe-write.
60756         * m4/safe-write.m4: New file.
60757
60758         Module closeout.
60759         * m4/closeout.m4: New file.
60760
60761         Module stdio-safer.
60762         * m4/stdio-safer.m4: New file.
60763
60764         Module getpass.
60765         * m4/getpass.m4: New file.
60766
60767         Module getugroups.
60768         * m4/getugroups.m4: New file.
60769
60770         Module group-member.
60771         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
60772         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
60773
60774         Module idcache.
60775         * m4/idcache.m4: New file.
60776
60777         Module userspec.
60778         * m4/userspec.m4: New file.
60779
60780         Module gettime.
60781         * m4/clock_time.m4: New file.
60782         * m4/gettime.m4: New file.
60783
60784         Module settime.
60785         * m4/settime.m4: New file.
60786
60787         Module posixtm.
60788         * m4/posixtm.m4: New file.
60789
60790         Module gethostname.
60791         * m4/gethostname.m4: New file.
60792
60793         Module canon-host.
60794         * m4/canon-host.m4: New file.
60795
60796         Module gettext.
60797         * m4/codeset.m4: New file, from gettext-0.11.5.
60798         * m4/gettext.m4: New file, from gettext-0.11.5.
60799         * m4/glibc21.m4: New file, from gettext-0.11.5.
60800         * m4/iconv.m4: New file, from gettext-0.11.5.
60801         * m4/intdiv0.m4: New file, from gettext-0.11.5.
60802         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
60803         * m4/inttypes.m4: New file, from gettext-0.11.5.
60804         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
60805         * m4/isc-posix.m4: New file, from gettext-0.11.5.
60806         * m4/lcmessage.m4: New file, from gettext-0.11.5.
60807         * m4/lib-ld.m4: New file, from gettext-0.11.5.
60808         * m4/lib-link.m4: New file, from gettext-0.11.5.
60809         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
60810         * m4/progtest.m4: New file, from gettext-0.11.5.
60811         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
60812         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
60813         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
60814
60815         Module localcharset.
60816         * m4/localcharset.m4: New file.
60817
60818         Module hard-locale.
60819         * m4/hard-locale.m4: New file.
60820
60821         Module mbswidth.
60822         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
60823         onceonly macros.
60824         * m4/mbrtowc.m4: Add comment.
60825
60826         Module memcasecmp.
60827         * m4/memcasecmp.m4: New file.
60828
60829         Module memcoll.
60830         * m4/memcoll.m4: New file.
60831
60832         Module unicodeio.
60833         * m4/unicodeio.m4: New file.
60834
60835         Module rpmatch.
60836         * m4/rpmatch.m4: New file.
60837
60838         Module yesno.
60839         * m4/yesno.m4: New file.
60840
60841         Module exitfail.
60842         * m4/exitfail.m4: New file.
60843
60844         Module c-stack.
60845         * m4/c-stack.m4 (gl_C_STACK): New macro.
60846         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
60847
60848         Module error.
60849         * m4/error.m4 (gl_ERROR): New macro.
60850         (jm_PREREQ_ERROR): Use onceonly macros.
60851
60852         Module fatal.
60853         * m4/fatal.m4: New file.
60854
60855         Module getloadavg.
60856         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
60857         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
60858
60859         Module getpagesize.
60860         * m4/getpagesize.m4: New file.
60861
60862         Module getusershell.
60863         * m4/getusershell.m4: New file.
60864
60865         Module physmem.
60866         * m4/physmem.m4: New file.
60867
60868         Module posixver.
60869         * m4/posixver.m4: New file.
60870
60871         Module quotearg.
60872         * m4/quotearg.m4: New file.
60873
60874         Module quote.
60875         * m4/quote.m4: New file.
60876
60877         Module readutmp.
60878         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
60879
60880         Module sig2str.
60881         * m4/sig2str.m4: New file.
60882
60883         Other.
60884         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
60885         ulonglong.m4.
60886         * m4/intmax_t.m4: New file.
60887         * m4/d-type.m4: Indentation.
60888         * m4/jm-macros.m4: Update.
60889         * m4/prereq.m4 (jm_PREREQ): Update.
60890         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
60891         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
60892         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
60893         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
60894         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
60895         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
60896         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
60897         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
60898         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
60899         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
60900         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
60901         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
60902         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
60903         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
60904         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
60905         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
60906         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
60907         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
60908         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
60909
60910 2002-12-24  Bruno Haible  <bruno@clisp.org>
60911
60912         * MODULES.txt: Update according to m4/ changes.
60913
60914         Module gettext.
60915         * config.rpath: New file, from gettext-0.11.5.
60916
60917         * modules/*: New module descriptions.
60918         * gnulib-tool: New file.
60919         * MODULES.html.sh: New file.
60920
60921 2002-12-21  Karl Berry  <karl@gnu.org>
60922
60923         * doc/fdl.texi: update to version 1.2.
60924
60925 2002-12-19  Karl Berry  <karl@gnu.org>
60926
60927         * config/config.guess: update from prep.
60928
60929 2002-12-18  Bruno Haible  <bruno@clisp.org>
60930
60931         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
60932         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
60933
60934 2002-12-17  Bruno Haible  <bruno@clisp.org>
60935
60936         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
60937         stdlib.h, string.h.
60938
60939 2002-12-17  Bruno Haible  <bruno@clisp.org>
60940
60941         * lib/canon-host.c (strdup): Remove unused declaration.
60942
60943         * lib/fsusage.c: Include full_read.h.
60944         (get_fs_usage): Use full_read instead of safe_read.
60945
60946         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
60947
60948 2002-12-12  Karl Berry  <karl@gnu.org>
60949
60950         * config/config.guess: update from prep.
60951
60952 2002-12-11  Bruno Haible  <bruno@clisp.org>
60953
60954         * m4/setenv.m4: New file, from gettext-0.11.5.
60955
60956 2002-12-11  Bruno Haible  <bruno@clisp.org>
60957
60958         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
60959         not unsetenv().
60960         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
60961         modifications:
60962
60963         2002-12-11  Bruno Haible  <bruno@clisp.org>
60964
60965                 * setenv.c (alloca): Fall back to malloc.
60966                 (freea): New macro.
60967                 (setenv): Use freea() to free memory allocated with alloca().
60968
60969         2002-11-13  Bruno Haible  <bruno@clisp.org>
60970
60971                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
60972                 function declarations.
60973                 * unsetenv.c (unsetenv): Likewise.
60974
60975         2002-03-04  Bruno Haible  <bruno@clisp.org>
60976
60977                 Portability to AIX 4.3.3.
60978                 * unsetenv.c: New file, extracted from setenv.c.
60979                 * setenv.c: Move the unsetenv() function to unsetenv.c.
60980
60981         2001-12-20  Bruno Haible  <bruno@clisp.org>
60982
60983                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
60984                 use malloc instead. For SunOS 4.
60985
60986         2001-12-11  Bruno Haible  <bruno@clisp.org>
60987
60988                 * setenv.c: Declare alloca.
60989                 (compar_fn_t): New typedef.
60990                 (KNOWN_VALUE, STORE_VALUE): Use it.
60991
60992         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
60993         setenv.h.
60994
60995 2002-12-10  Paul Eggert  <eggert@twinsun.com>
60996
60997         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
60998         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
60999         Choose values that are less likely to collide with system fnmatch
61000         options.
61001         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
61002         defined (e.g., a pure POSIX system).
61003         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
61004         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
61005
61006 2002-12-06  Paul Eggert  <eggert@twinsun.com>
61007
61008         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
61009         a pain in practice to deal with generated m4 files.  This change
61010         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
61011
61012         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
61013         and jm-glibc-io.m4, as they are no longer a special case.
61014         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
61015         kludge and the auto-generation stuff.  Check only whether the
61016         functions are declared, not whether they exist, since older hosts
61017         that don't declare the functions can't use the optimization anyway.
61018
61019 2002-12-06  Jim Meyering  <jim@meyering.net>
61020
61021         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
61022
61023         Merge in changes from libc's misc/error.c, in preparation
61024         for the merge of gnulib's changes back into libc.
61025
61026         * lib/error.c (_): Define only if not already defined.
61027         Move definition to follow all #include directives.
61028         Include unlocked-io.h only if !_LIBC.
61029         [_LIBC]: Include <libio/libioP.h>.
61030         [USE_IN_LIBIO]: Include <libio/iolibio.h>
61031         (fflush): Tweak definition to use INTUSE.
61032         (putc): Define.
61033
61034 2002-12-05  Paul Eggert  <eggert@twinsun.com>
61035
61036         * lib/alloca.c [defined emacs]: Include "lisp.h".
61037         (xalloc_die) [defined emacs]: New macro.
61038         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
61039         [! defined emacs]: Include <xalloc.h>.
61040         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
61041         (pointer): Typedef to POINTER_TYPE *.
61042         (malloc): Remove decl; we now always use xmalloc.
61043         (alloca): Use old-style definition, since Emacs needs this.
61044         Check for arithmetic overflow when computing combined size.
61045
61046 2002-12-04  Paul Eggert  <eggert@twinsun.com>
61047
61048         Do not generate unlocked-io.h automatically, since it's easier to
61049         maintain it by hand.
61050
61051         * lib/unlocked-io.h: New file, from GNU diffutils,
61052         but with proper copyright notice and attribution.
61053         * lib/gen-uio: Remove.
61054         * lib/Makefile.am: Add copyright notice.
61055         (libfetish_a_SOURCES): Add unlocked-io.h.
61056         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
61057         (DISTCLEANFILES, io_functions): Remove macros.
61058         (EXTRA_DIST): Remove gen_uio.
61059         (unlocked-io.h): Remove rule.
61060
61061 2002-12-04  Jim Meyering  <jim@meyering.net>
61062
61063         Reflect the fact that stat.c and lstat.c are no longer generated.
61064         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
61065         (DISTCLEANFILES): Likewise.
61066         (EXTRA_DIST): Likewise.
61067         (all_local): Don't depend on stat.c or lstat.c.
61068         (stat.c, lstat.c): Remove rules.
61069         (EXTRA_DIST): Remove xstat.in.
61070
61071         * lib/xstat.in: Remove file.  Contents moved into stat.c.
61072         * lib/stat.c: New file.  Contents mostly from xstat.in.
61073         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
61074         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
61075
61076         * lib/safe-read.c: Rework so that it may serve to define safe_write,
61077         too.
61078         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
61079
61080 2002-12-03  Jim Meyering  <jim@meyering.net>
61081
61082         * lib/safe-read.c, safe-write.c: Change variable names and comments,
61083         but not semantics, to minimize the differences between these two files.
61084         (safe_read): Change comment to mention SAFE_READ_ERROR.
61085
61086         * lib/safe-read.c (IS_EINTR): Define.
61087         (safe_read): Use IS_EINTR in place of in-function cpp directives.
61088
61089 2002-12-02  Jim Meyering  <jim@meyering.net>
61090
61091         * lib/safe-read.c (EINTR): Define.
61092         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
61093         (INT_MAX): Provide fallback.
61094         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
61095
61096         * lib/safe-read.h (SAFE_READ_ERROR): Define.
61097
61098 2002-12-02  Bruno Haible  <bruno@clisp.org>
61099
61100         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
61101         Define, taken from safe-read.c.
61102         (INT_MAX): Provide fallback.
61103         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
61104         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
61105
61106         * lib/safe-read.c (EINTR): Remove definition.
61107         (safe_read): Don't use EINTR if it is absent.
61108
61109 2002-12-01  Jim Meyering  <jim@meyering.net>
61110
61111         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
61112         zero.
61113         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
61114
61115 2002-11-27  Paul Eggert  <eggert@twinsun.com>
61116
61117         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
61118         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
61119         with `if (! (value < limit)) abort ();', for readability.
61120
61121 2002-11-26  Karl Berry  <karl@gnu.org>
61122
61123         * lib/strdup.c: copy from libc again, with jim's ok.
61124         * lib/.cppi-disable: re-add strdup.c
61125
61126 2002-11-25  Karl Berry  <karl@gnu.org>
61127
61128         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
61129         instead of "strtol.c".
61130
61131 2002-11-25  Karl Berry  <karl@gnu.org>
61132
61133         * config/install-sh: update from automake for variable quoting, $0 in
61134         error msgs, etc.
61135
61136         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
61137         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
61138         entry.
61139
61140 2002-11-25  Jim Meyering  <jim@meyering.net>
61141
61142         * lib/mktime.c: Sync from libc, now that it has the latest fix.
61143
61144 2002-11-24  Karl Berry  <karl@gnu.org>
61145
61146         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
61147         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
61148
61149 2002-11-24  Jim Meyering  <jim@meyering.net>
61150
61151         Update from coreutils:
61152
61153         * lib/mktime.c: Merge in changes from libc.
61154
61155         Avoid a link-time failure on some Linux systems.
61156         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
61157         (otherwise).
61158         (__mon_yday): Declare with the STATIC attribute.
61159         (__mktime_internal): Likewise.
61160         Based on a report from Greg Schafer.
61161
61162 2002-11-23  Jim Meyering  <jim@meyering.net>
61163
61164         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
61165         Use `unsigned', not `int', as type of index.
61166
61167         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
61168
61169         * lib/fsusage.c: Remove unneeded parentheses around operands of
61170         `defined'.
61171
61172 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61173
61174         * lib/quotearg.h: Allow multiple inclusion by surrounding with
61175         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
61176         so that we can be included first.
61177         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
61178         * lib/quotearg.c: Include quotearg.h immediately after config.h.
61179         No need to include stddef.h or sys/types.h any more.
61180         Surround local include files with "", not "<>".
61181         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
61182         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
61183         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
61184         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
61185         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
61186         (ISPRINT): Remove; no longer needed now that we assume C89.
61187
61188         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
61189         Preserve errno.
61190
61191         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
61192         quotearg_char): Use SIZE_MAX rather than
61193         (size_t) -1 when we are talking about "infinity".
61194
61195         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
61196
61197 2002-11-22  Paul Eggert  <eggert@twinsun.com>
61198
61199         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
61200         hint that one should use `if (! x) abort ();' rather than `assert
61201         (x);', and anyway it's one less thing to worry about configuring.
61202         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
61203         hash_rehash, hash_insert): Use abort rather than assert.
61204
61205 2002-11-22  Bruno Haible  <bruno@clisp.org>
61206
61207         * lib/safe-read.h: Assume C89. Add comments.
61208         (safe_read): Change return type to size_t.
61209         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
61210         byte counts > SSIZE_MAX correctly.
61211         * lib/safe-write.h: New file.
61212         * lib/safe-write.c: New file.
61213         * lib/full-read.h: New file.
61214         * lib/full-read.c: New file.
61215         * lib/full-write.h: Assume C89. Add comments.
61216         * lib/full-write.c: Include safe-write.h.
61217         (full_write): Rewritten to use safe_write.
61218         Suggested by Jim Meyering and Paul Eggert.
61219
61220 2002-11-21  Jim Meyering  <jim@meyering.net>
61221
61222         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
61223
61224         Merge in changes from the coreutils.
61225
61226         2002-09-25  Paul Eggert  <eggert@twinsun.com>
61227         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
61228         <stdint.h>.
61229         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
61230         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
61231         int.  Work more efficiently if X is the same width as uintmax_t.
61232         Do not compare X to -1, to avoid bogus compiler warning.
61233         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
61234         Don't assume that f_frsize and f_bsize are the same type.
61235
61236         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
61237         warning on FreeBSD.
61238
61239         * lib/makepath.c (make_path): Restore umask *before* creating the final
61240         component.
61241         (make_path): Minor reformatting.
61242
61243         * lib/xmalloc.c: Adjust to work with new autoconf macros,
61244         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
61245         HAVE_MALLOC/HAVE_REALLOC.
61246
61247         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
61248         dummy ones.  At least on GNU/Linux systems, `auto' means something
61249         else.
61250         From Michael Stone.
61251
61252 2002-11-21  Bruno Haible  <bruno@clisp.org>
61253
61254         Remove case insensitive option matching.
61255         * lib/argmatch.h (argcasematch): Remove declaration.
61256         (ARGCASEMATCH): Remove macro.
61257         (__xargmatch_internal): Remove case_sensitive argument.
61258         (XARGMATCH): Update.
61259         (XARGCASEMATCH): Remove macro.
61260         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
61261         case_sensitive argument.
61262         (argcasematch): Remove function.
61263         (__xargmatch_internal): Remove case_sensitive argument.
61264         (main): Use XARGMATCH instead of XARGCASEMATCH.
61265
61266         * lib/xmalloc.c: Change compile-time error message. Add comment about
61267         required autoconf version.
61268
61269 2002-11-20  Paul Eggert  <eggert@twinsun.com>
61270
61271         Merge argmatch cleanups from Bison.  Assume C89.
61272
61273         * lib/argmatch.c: Include config.h here, not in argmatch.h.
61274         Include stdlib.h, for EXIT_FAILURE.
61275         Always include <string.h>, since we assume C89.
61276         (EXIT_FAILURE): Remove pre-C89 bug workaround.
61277         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
61278         Include <stddef.h> instead, since it's all we need for size_t.
61279         (PARAMS): Remove.  All uses removed.
61280         (ARRAY_CARDINALITY): Do not bother to #undef.
61281         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
61282         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61283         Remove unnecessary parentheses.
61284         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61285         Insert necessary parentheses.
61286         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
61287         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
61288
61289 2002-11-19  Bruno Haible  <bruno@clisp.org>
61290
61291         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
61292         * lib/mbswidth.h: Include <stddef.h>, for size_t.
61293
61294         * lib/mbswidth.h (PARAMS): Remove macro.
61295         (mbswidth, mbsnwidth): Use ANSI C function declarations.
61296         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
61297
61298         * lib/gcd.h (PARAMS): Remove macro.
61299         (gcd): Use ANSI C function declarations.
61300         * lib/gcd.c (gcd): Likewise.
61301
61302 2002-11-15  Bruno Haible  <bruno@clisp.org>
61303
61304         * lib/strcspn.c: Include <stddef.h>.
61305         (strcspn): Use ANSI C function declaration. Change return type to
61306         size_t. Use NULL.
61307         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
61308         (strpbrk): Use NULL.
61309         * lib/strpbrk.h (PARAMS): Remove macro.
61310         (strpbrk): Use ANSI C function declaration.
61311         * lib/strstr.c: Don't include <sys/types.h>.
61312         * lib/strstr.h (PARAMS): Remove macro.
61313         (strstr): Use ANSI C function declarations.
61314
61315 2002-11-14  Karl Berry  <karl@gnu.org>
61316
61317         * config/mkinstalldirs: `do' on separate line, instead of
61318         `for var; do'.
61319
61320 2002-11-06  Bruno Haible  <bruno@clisp.org>
61321
61322         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
61323         * lib/gcd.c (gcd): Likewise.
61324
61325 2002-11-05  Bruno Haible  <bruno@clisp.org>
61326
61327         * lib/gcd.h: New file, from gettext-0.11.5.
61328         * lib/gcd.c: New file, from gettext-0.11.5.
61329
61330 2002-11-05  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61333         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61334         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61335         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61336
61337         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
61338         <libintl.h>.
61339         * lib/makepath.c: Include gettext.h instead of <locale.h> and
61340         <libintl.h>.
61341
61342         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
61343         * lib/human.c: Include gettext.h instead of <libintl.h>.
61344         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
61345         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
61346         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
61347         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
61348         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
61349         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
61350         (textdomain): Remove definition.
61351         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
61352
61353         * lib/long-options.c: Remove include of <libintl.h> and definition of
61354         _.
61355         * lib/same.c: Remove include of <libintl.h> and definition of _.
61356
61357 2002-11-04  Owen Taylor  <otaylor@redhat.com>
61358
61359         * lib/config.charset: A few additions for Solaris.
61360
61361 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61362
61363         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
61364         * lib/localcharset.c (locale_charset): Declare as extern "C".
61365
61366 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61367
61368         * lib/config.charset: msdos in uk_UA uses CP1125.
61369
61370 2002-11-04  Bruno Haible  <bruno@clisp.org>
61371
61372         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
61373         * lib/strcase.h: New file, from GNU gettext-0.11.5.
61374         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
61375         * lib/strstr.h: New file, from GNU gettext-0.11.5.
61376         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
61377
61378 2002-11-04  Bruno Haible  <bruno@clisp.org>
61379
61380         * lib/localcharset.c (locale_charset): Don't return an empty string.
61381
61382 2002-11-04  Bruno Haible  <bruno@clisp.org>
61383
61384         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
61385         aliases.
61386
61387 2002-11-04  Bruno Haible  <bruno@clisp.org>
61388
61389         * lib/config.charset: Update for newest glibc. Add canonical names
61390         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
61391
61392 2002-11-04  Bruno Haible  <bruno@clisp.org>
61393
61394         * lib/config.charset: Add support for NetBSD.
61395
61396 2002-11-04  Bruno Haible  <bruno@clisp.org>
61397
61398         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
61399
61400 2002-11-01  Bruno Haible  <bruno@clisp.org>
61401
61402         * configure.in: Add AC_CONFIG_AUX_DIR call.
61403         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
61404         test/Makefile.
61405         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
61406
61407 2002-09-28  Karl Berry  <karl@gnu.org>
61408
61409         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
61410         installed automake until the next release, since changes have been
61411         made.
61412
61413 2002-09-25  Karl Berry  <karl@gnu.org>
61414
61415         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
61416         * lib/getopt*: copy from libc/posix.
61417         * lib/gettext.h: copy from gettext.
61418         * lib/.cppi-disable: add strdup.c, gettext.h.
61419
61420 2002-09-25  Karl Berry  <karl@gnu.org>
61421
61422         * config/srclist.txt: enable gettext.h check.
61423         * config/config.{guess,sub}: update from prep.
61424         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
61425                 from automake 1.6.3.
61426         See srclist*.
61427
61428 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
61429
61430         * regex.c (PATFETCH): Remove the translating fetch.
61431         (PATFETCH_RAW): Rename to PATFETCH.
61432         (set_image_of_range): New fun.
61433         (SET_RANGE_TABLE_WORK_AREA): Use it.
61434         (regex_compile): Don't translate the pattern chars so eagerly.
61435         Only do it when inserting an `exactn' bytecode or when handling
61436         a char-range.
61437         (mutually_exclusive_p): Avoid empty statement.
61438
61439 2002-07-06  Jim Meyering  <meyering@lucent.com>
61440
61441         * m4/README: Don't mention Makefile.am.in.
61442         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
61443
61444 2002-07-01  Jim Meyering  <meyering@lucent.com>
61445
61446         * lib/c-stack.c: Include sys/time.h.
61447         From Volker Borchert.
61448
61449 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61450
61451         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
61452
61453 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61454
61455         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
61456         New macro.  Use it uniformly instead of
61457         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
61458         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
61459         reported by Vin Shelton.
61460
61461 2002-06-22  Paul Eggert  <eggert@twinsun.com>
61462
61463         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
61464         Do not assume SA_SIGINFO behavior.
61465         Bug reported by Jim Meyering on NetBSD 1.5.2.
61466
61467 2002-06-22  Jim Meyering  <meyering@lucent.com>
61468
61469         * m4/c-stack.m4: New file, from diffutils-2.8.2.
61470         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
61471
61472         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
61473         now that configure.ac uses AC_GNU_SOURCE.
61474         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
61475         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
61476
61477         Update to latest tools.  Suggestions from Paul Eggert.
61478         * m4/stdbool.m4: New file, from diffutils-2.8.2.
61479         * m4/gnu-source.m4: Update from diffutils-2.8.2.
61480         * m4/fnmatch.m4: Likewise.
61481         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
61482         to AC_HEADER_STDBOOL
61483
61484 2002-06-22  Jim Meyering  <meyering@lucent.com>
61485
61486         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
61487         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
61488
61489 2002-06-22  Jim Meyering  <meyering@lucent.com>
61490
61491         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
61492
61493         * lib/exitfail.c, exitfail.h: Likewise.
61494         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
61495
61496         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
61497         of fnmatch.h.
61498         (EXTRA_DIST): Add fnmatch_loop.c.
61499         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
61500
61501         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
61502         * lib/fnmatch.c: Update from diffutils-2.8.2.
61503         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
61504         * lib/fnmatch.h: Remove file.
61505
61506 2002-06-21  Jim Meyering  <meyering@lucent.com>
61507
61508         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
61509         * m4/mbrtowc.m4: Likewise.
61510
61511         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
61512         * m4/mbswidth.m4: Reflect name change:
61513         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
61514         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
61515
61516         * m4/lib-link.m4: Update from gettext-0.11.2.
61517         * m4/gettext.m4: Likewise.
61518
61519         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
61520         From Alfred M. Szmidt.
61521
61522 2002-06-18  Paul Eggert  <eggert@twinsun.com>
61523
61524         * lib/file-type.h: Report an error if neither S_ISREG nor
61525         S_IFREG is defined, instead of using a test specific to glibc
61526         2.2.  This should be safe, since POSIX requires S_ISREG and
61527         Unix Version 7 had S_IFREG.  We don't need to check for
61528         <sys/types.h> since we don't use any symbols that it defines.
61529
61530 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
61531
61532         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
61533         $@-t, so that each temporary file name is unique and valid in the first
61534         8 characters, for operation under DOS.
61535
61536 2002-06-15  Paul Eggert  <eggert@twinsun.com>
61537
61538         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
61539
61540 2002-06-15  Jim Meyering  <meyering@lucent.com>
61541
61542         Work even with DJGPP 2.03, which lacks support for symlinks.
61543         From Richard Dawe.
61544         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
61545         is defined.
61546         * lib/lchown.c (S_ISLNK): Likewise.
61547
61548 2002-06-15  Jim Meyering  <meyering@lucent.com>
61549
61550         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
61551         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
61552         have been included before this file.
61553
61554 2002-06-14  Jim Meyering  <meyering@lucent.com>
61555
61556         * lib/file-type.h: Use the version from diffutils-2.8.2.
61557         * lib/file-type.c: Likewise.
61558
61559 2002-06-07  Jim Meyering  <meyering@lucent.com>
61560
61561         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
61562         They're needed at least for NetBSD 1.5.2.
61563         ($statxfs_includes): Include those same headers.
61564         ($statxfs_includes): Include sys/vfs.h if available.
61565         ($statxfs_includes): Likewise for sys/statvfs.h.
61566         Check for the following members in both structs statfs and statvfs:
61567         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
61568
61569 2002-06-01  Jim Meyering  <meyering@lucent.com>
61570
61571         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
61572         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
61573
61574 2002-05-28  Jim Meyering  <meyering@lucent.com>
61575
61576         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
61577         Reported by Volker Borchert.
61578
61579 2002-05-27  Jim Meyering  <meyering@lucent.com>
61580
61581         Fix a problem seen only on nonconforming systems whereby ls.c's
61582         use of localtime, and then of gettimeofday would cause trouble:
61583         the localtime call used to initialize rpl_gettimeofday's save
61584         mechanism would clobber ls's current local time information so
61585         that in any long listing the first file would always be listed
61586         with date 1970-01-01.  Analysis by Volker Borchert.
61587
61588         * lib/gettimeofday.c (localtime): Undefine.
61589         (rpl_localtime): New function.
61590
61591 2002-05-27  Jim Meyering  <meyering@lucent.com>
61592
61593         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
61594         localtime.
61595
61596         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
61597         use the replacement function; it wouldn't resolve at link time.
61598         Reported by Volker Borchert.
61599
61600 2002-05-22  Jim Meyering  <meyering@lucent.com>
61601
61602         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
61603         file-type.h.
61604         * lib/file-type.h: New file.
61605         * lib/file-type.c (file_type): New file/function.  Extracted from
61606         diffutils.
61607
61608 2002-04-30  Jim Meyering  <meyering@lucent.com>
61609
61610         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
61611
61612 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61613
61614         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
61615
61616 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61617
61618         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
61619         Do not check for alloca.h (no longer used) or stdbool.h (was never
61620         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
61621
61622 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61623
61624         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
61625
61626 2002-04-29  Jim Meyering  <meyering@lucent.com>
61627
61628         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
61629         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
61630         Use AC_FUNC_STRNLEN here instead.
61631
61632         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
61633         With autoconf-2.53a, it's part of AC_PROG_CC.
61634
61635 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61636
61637         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
61638         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
61639
61640 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61641
61642         * lib/sig2str.h, lib/sig2str.c: New files.
61643         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
61644
61645 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61646
61647         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
61648         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
61649         of 127, since 64 is the largest conceivable number for ancient
61650         nonstandard hosts.
61651         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
61652
61653 2002-04-28  Jim Meyering  <meyering@lucent.com>
61654
61655         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
61656
61657 2002-04-24  Jim Meyering  <meyering@lucent.com>
61658
61659         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
61660         (jm_PREREQ): Use it.
61661
61662         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
61663         mach/mach.h fcntl.h.
61664         Check for this function: setlocale.
61665
61666 2002-04-24  Jim Meyering  <meyering@lucent.com>
61667
61668         * lib/gettext.h: New file, from Gettext.
61669         * lib/Makefile.am (INCLUDES): Remove -I../intl.
61670         (libfetish_a_SOURCES): Add gettext.h.
61671
61672 2002-04-16  Jim Meyering  <meyering@lucent.com>
61673
61674         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
61675         ut_pid, ut_id, ut_exit.
61676
61677 2002-04-16  Jim Meyering  <meyering@lucent.com>
61678
61679         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
61680         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
61681         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
61682
61683 2002-04-12  Jim Meyering  <meyering@lucent.com>
61684
61685         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
61686         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
61687         existence of the getmntinfo function.  Needed for Darwin 5.3.
61688
61689         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
61690         This is necessary at least on Darwin 5.3.
61691
61692         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
61693         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
61694         strnlen.o in the library, and that makes some versions of ranlib
61695         object.
61696
61697 2002-04-12  Jim Meyering  <meyering@lucent.com>
61698
61699         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
61700
61701 2002-04-09  Jim Meyering  <meyering@lucent.com>
61702
61703         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
61704         to be more precise.  Rather than saying we're checking whether the
61705         function `works', say what we're testing.
61706         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
61707         Reported by Bruno Haible.
61708
61709 2002-03-10  Jim Meyering  <meyering@lucent.com>
61710
61711         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
61712         Suggestion from Santiago Vila.
61713
61714 2002-03-08  Jim Meyering  <meyering@lucent.com>
61715
61716         * lib/rename.c: Mention that this wrapper is needed also on
61717         mips-dec-ultrix4.4 systems.
61718
61719 2002-03-02  Jim Meyering  <meyering@lucent.com>
61720
61721         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
61722         not HAVE_CLOCK_SETTIME.
61723
61724 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61725
61726         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
61727         Check for clock_settime.
61728
61729 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61730
61731         * lib/nanosleep.h: Rename to....
61732         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
61733
61734         * lib/gettime.c: New file.
61735         * lib/settime.c: New file.
61736         * lib/stime.c: Remove.
61737
61738         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
61739         timespec.h.  Remove nanosleep.h.
61740
61741 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61742
61743         * m4/acl.m4: New file.
61744         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
61745         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
61746
61747 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61748
61749         * lib/acl.c, lib/acl.h: New files.
61750         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
61751
61752 2002-02-24  Jim Meyering  <meyering@lucent.com>
61753
61754         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
61755         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
61756         cause trouble.  Reported by Nelson Beebe.
61757
61758 2002-02-23  Paul Eggert  <eggert@twinsun.com>
61759
61760         * lib/path-concat.c (xpath_concat): Reorder code to pacify
61761         compilers that don't know that xalloc_die never returns.
61762
61763 2002-02-20  Jim Meyering  <meyering@lucent.com>
61764
61765         * lib/getdate.c: Regenerate using bison-1.33.
61766
61767 2002-02-17  Jim Meyering  <meyering@lucent.com>
61768
61769         * config/config.guess (main): Don't use `head -1'; it's no longer
61770         portable. Use `sed 1q' instead.
61771
61772 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
61773
61774         * m4/codeset.m4: Upgrade to gettext-0.11.
61775         * m4/gettext.m4: Upgrade to gettext-0.11.
61776         * m4/glibc21.m4: Upgrade to gettext-0.11.
61777         * m4/iconv.m4: Upgrade to gettext-0.11.
61778         * m4/isc-posix.m4: Upgrade to gettext-0.11.
61779         * m4/lcmessage.m4: Upgrade to gettext-0.11.
61780         * m4/lib-ld.m4: New file, from gettext-0.11.
61781         * m4/lib-link.m4: New file, from gettext-0.11.
61782         * m4/lib-prefix.m4: New file, from gettext-0.11.
61783         * m4/progtest.m4: Upgrade to gettext-0.11.
61784
61785 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61786
61787         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
61788         (jm_PREREQ): Use it.
61789
61790 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61791
61792         * lib/posixver.c, lib/posixver.h: New files.
61793         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61794
61795 2002-02-02  Paul Eggert  <eggert@twinsun.com>
61796             Bruno Haible  <bruno@clisp.org>
61797
61798         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
61799         (fwrite_success_callback): New declaration.
61800         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
61801         print_unicode_char. Call failure callback instead of error.
61802         (fwrite_success_callback): New function.
61803         (exit_failure_callback): New function.
61804         (fallback_failure_callback): New function.
61805         (print_unicode_char): Call unicode_to_mb.
61806
61807 2002-01-26  Jim Meyering  <meyering@lucent.com>
61808
61809         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
61810         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
61811
61812 2002-01-26  Jim Meyering  <meyering@lucent.com>
61813
61814         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
61815
61816 2002-01-22  Paul Eggert  <eggert@twinsun.com>
61817
61818         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
61819
61820 2002-01-22  Jim Meyering  <meyering@lucent.com>
61821
61822         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
61823         Otherwise, some versions of automake would omit the rule that makes
61824         Makefile from Makefile.in.
61825
61826 2002-01-21  Paul Eggert  <eggert@twinsun.com>
61827
61828         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
61829         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61830         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
61831         (memcoll): Set errno to zero if there is no error.
61832
61833         * lib/quotearg.c (quotearg_buffer_restyled):
61834         Fix bug with quoting buffers containing NUL when backslashing escapes.
61835         This bug was exposed by the other changes in this patch.
61836         (quotearg_n_options): New arg ARGSIZE.
61837         All callers changed.
61838         (quoting_options_from_style): New function.
61839         (quotearg_n_style): Use it.
61840         (quotearg_n_style_mem): New function.
61841
61842         * lib/quotearg.h (quotearg_n_style_mem): New function.
61843
61844 2002-01-19  Jim Meyering  <meyering@lucent.com>
61845
61846         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
61847         Remove useless quotes: DF_PROG="df".
61848         * m4/strnlen.m4: New file.
61849
61850 2002-01-16  Paul Eggert  <eggert@twinsun.com>
61851
61852         * lib/backupfile.c (ISDIGIT): Comment fix.
61853         * lib/getdate.y (ISDIGIT): Likewise.
61854         * lib/posixtm.c (ISDIGIT, year): Likewise.
61855         * lib/strverscmp.c (ISDIGIT): Likewise.
61856         * lib/userspec.c (ISDIGIT): Likewise.
61857
61858 2002-01-16  Jim Meyering  <meyering@lucent.com>
61859
61860         * lib/getdate.y: Add three semicolons, each just before a closing
61861         brace. Bison (as of version 1.31) no longer papers over that mistake.
61862
61863 2002-01-05  Jim Meyering  <meyering@lucent.com>
61864
61865         * lib/version-etc.c (version_etc_copyright): Update copyright year.
61866
61867 2001-12-19  Paul Eggert  <eggert@twinsun.com>
61868
61869         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
61870         not silently exit merely because the output buffer happens to
61871         have nothing pending.
61872
61873 2001-12-18  Paul Eggert  <eggert@twinsun.com>
61874
61875         See the big note in ../ChangeLog.
61876         * lib/human.c (suffixes): Prefer K to k for 1024.
61877         (generate_suffix_backwards): New function.
61878         (human_readable_inexact): Use it.
61879         * lib/xstrtol.c (__xstrtol): If there is no number but there
61880         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
61881         Accept 'K' as well as 'k'.
61882
61883 2001-12-15  Jim Meyering  <meyering@lucent.com>
61884
61885         * lib/regex.h (__restrict_arr): Update from libc.
61886
61887         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
61888         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
61889         (STREQ): Define.
61890
61891 2001-12-14  Jim Meyering  <meyering@lucent.com>
61892
61893         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
61894         Suggestion from Bruno Haible.
61895
61896 2001-12-10  Jim Meyering  <meyering@lucent.com>
61897
61898         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
61899         xrealloc, Instead, include "xalloc.h".
61900         (initbuffer): Don't cast xmalloc return value to char*.
61901         (readline): Reword comment.
61902         Don't cast xrealloc return value to char*
61903         Return NULL, not 0.
61904
61905 2001-12-09  Jim Meyering  <meyering@lucent.com>
61906
61907         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
61908         about `signed and unsigned type in conditional expression'.
61909         * lib/posixtm.c (posix_time_parse): Likewise.
61910
61911         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
61912
61913         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
61914         to avoid a pedantic warning.
61915
61916         * lib/getstr.c: Don't include assert.h.
61917         (getstr): Remove warning-evoking assertions.
61918         Return -1 if offset parameter is out of bounds.
61919         Change the type of a local from int to size_t.
61920
61921         * lib/strftime.c (my_strftime_localtime_r): Include this function
61922         definition in the `#if ! HAVE_TM_GMTOFF' block.
61923
61924         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
61925         Include xalloc.h instead.
61926
61927 2001-12-02  Jim Meyering  <meyering@lucent.com>
61928
61929         * lib/tempname.c: Don't declare getenv, thus reverting the change of
61930         2001-11-18.  It's no longer necessary, now that stdlib.h is always
61931         included.
61932
61933         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
61934         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
61935
61936 2001-11-30  Akim Demaille  <akim@epita.fr>
61937
61938         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
61939         before being defined.
61940
61941 2001-11-27  Paul Eggert  <eggert@twinsun.com>
61942
61943         * lib/quotearg.h (quotearg_n, quotearg_n_style):
61944         First arg is int, not unsigned.
61945         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
61946         (SIZE_MAX, UINT_MAX): New macros.
61947         (quotearg_n_options): Abort if N is negative.
61948         Avoid overflow check on hosts where size_t is 64 bits and int
61949         is 32 bits, as overflow is impossible there.
61950         Fix off-by-one typo that caused unnecessary reallocation.
61951
61952 2001-11-27  Jim Meyering  <meyering@lucent.com>
61953
61954         * lib/tempname.c: Merge with version from libc.
61955         * lib/regex.c: Likewise.
61956
61957         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
61958         systems for which STDC_HEADERS is 0, it was not included, resulting in
61959         a warning about an integer-to-pointer conversion problem with getenv.
61960         Reported by Volker Borchert.
61961
61962 2001-11-26  Jim Meyering  <meyering@lucent.com>
61963
61964         * lib/gtod.h: Remove file.
61965         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
61966         * lib/gettimeofday.c: Don't include gtod.h.
61967         (GTOD_init): Remove function.
61968         (rpl_gettimeofday): Do its job here instead, rather than aborting.
61969         Suggestion from Volker Borchert.
61970
61971 2001-11-23  Jim Meyering  <meyering@lucent.com>
61972
61973         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
61974         it.
61975         * lib/hash.c (struct hash_table): Define it here instead.
61976
61977 2001-11-22  Jim Meyering  <meyering@lucent.com>
61978
61979         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
61980
61981 2001-11-20  Jim Meyering  <meyering@lucent.com>
61982
61983         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
61984         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
61985
61986 2001-11-19  Jim Meyering  <meyering@lucent.com>
61987
61988         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
61989         directory.  Use "conftestXXXXXX" as the template.
61990         Suggestion from Paul Eggert.
61991
61992         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
61993         immediately, so the test doesn't mistakenly hit the max-open-files
61994         limit.
61995
61996 2001-11-18  Paul Eggert  <eggert@twinsun.com>
61997
61998         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
61999         (TEMPORARIES): New macro.
62000         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
62001         removes an artificial limitation (e.g. HP-UX 10.20, where
62002         TMP_MAX is 17576).
62003
62004 2001-11-18  Jim Meyering  <meyering@lucent.com>
62005
62006         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
62007
62008 2001-11-18  Jim Meyering  <meyering@lucent.com>
62009
62010         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
62011         on SunOS 4.
62012
62013         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
62014         files will be created before anything else.
62015
62016 2001-11-17  Paul Eggert  <eggert@twinsun.com>
62017
62018         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
62019         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
62020
62021 2001-11-17  Jim Meyering  <meyering@lucent.com>
62022
62023         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
62024         Prompted by a report from Bob Proulx.
62025
62026         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
62027         Instead, require UTILS_FUNC_MKSTEMP.
62028
62029 2001-11-17  Jim Meyering  <meyering@lucent.com>
62030
62031         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
62032         Now, that's done as part of AC_FUNC_STRTOD.
62033
62034 2001-11-17  Jim Meyering  <meyering@lucent.com>
62035
62036         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
62037         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
62038         rather than group writable.  Patch by Juan F. Codagnone.
62039
62040         * lib/readtokens.c: Remove explicit declarations of xmalloc and
62041         xrealloc, Instead, include "xalloc.h".
62042
62043         * lib/mountlist.c: Include unlocked-io.h after all system headers.
62044         Remove explicit declarations of xmalloc, xrealloc,
62045         and xstrdup.  Instead, include "xalloc.h".
62046
62047         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
62048         unlocked-io.h.
62049         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
62050         Likewise.
62051         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
62052
62053         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
62054         Reported by Padraig Brady.
62055
62056         * lib/mkstemp.c: #undef mkstemp.
62057         Include config.h.
62058         (rpl_mkstemp): Rename from mkstemp.
62059         Protoize.
62060
62061 2001-11-16  Jim Meyering  <meyering@lucent.com>
62062
62063         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
62064         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
62065         determine the amount of total physical memory, use pstat_getstatic.
62066         HPUX-11 doesn't define _SC_PHYS_PAGES.
62067         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
62068         If sysconf couldn't be used to determine the amount of available
62069         physical memory, use both pstat_getstatic and pstat_getdynamic.
62070         Based on a patch from Bob Proulx.
62071
62072 2001-11-10  Jim Meyering  <meyering@lucent.com>
62073
62074         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
62075         (jm_PREREQ): Use it.
62076
62077 2001-11-09  Jim Meyering  <meyering@lucent.com>
62078
62079         * m4/jm-macros.m4: Require autoconf-2.52f.
62080         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
62081         Use these AC_-prefixed names, not the AM_-prefixed ones.
62082
62083         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
62084
62085 2001-11-05  Jim Meyering  <meyering@lucent.com>
62086
62087         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
62088
62089 2001-11-04  Jim Meyering  <meyering@lucent.com>
62090
62091         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
62092         $DEFS.
62093
62094 2001-11-03  Jim Meyering  <meyering@lucent.com>
62095
62096         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
62097         of AC_DEFUN.
62098
62099         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
62100         know the name of the variable in the macro definition.
62101
62102 2001-11-03  Jim Meyering  <meyering@lucent.com>
62103
62104         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
62105         in argmatch_to_argument call.
62106
62107         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
62108         argument.
62109
62110         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
62111         e.g., a fault due to an attempt to free a NULL pointer.
62112
62113 2001-11-01  Jim Meyering  <meyering@lucent.com>
62114
62115         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
62116         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
62117
62118 2001-11-01  Jim Meyering  <meyering@lucent.com>
62119
62120         * lib/dirfd.c, lib/dirfd.h: New files.
62121         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
62122
62123         * lib/hash.c (hash_print) [TESTING]: Clean up.
62124
62125 2001-10-22  Paul Eggert  <eggert@twinsun.com>
62126
62127         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
62128         to avoid a warning if -Wall.
62129
62130 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
62131
62132         * README: New file
62133         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
62134         (per RMS's instructions, this is now the canonical source)
62135         * lgpl/, gpl/: New directories.
62136
62137 2001-10-21  Paul Eggert  <eggert@twinsun.com>
62138
62139         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
62140
62141 2001-10-21  Jim Meyering  <meyering@lucent.com>
62142
62143         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
62144         this code would end up calling gettext even in packages built
62145         with --disable-nls.
62146         * lib/getopt.c (_): Likewise.
62147         * lib/regex.c (_): Likewise.
62148
62149 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62150
62151         * m4/error.m4 (jm_PREREQ_ERROR):
62152         Do not invoke AC_CHECK_FUNCS with strerror_r, as
62153         AC_FUNC_STRERROR_R does that.
62154         Check for strerror declaration.
62155
62156         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
62157         are supposed to have them these days.
62158         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
62159         Merge changes from latest Autoconf CVS.
62160         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
62161         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
62162         POSIX decided to standardize on the int flavor of strerror_r.
62163
62164 2001-10-20  Paul Eggert  <eggert@twinsun.com>
62165
62166         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
62167         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
62168         Use strerror_r that is only a macro, even if it is not a function.
62169         (strerror): Check for HAVE_DECL_STRERROR before declaring.
62170         (private_strerror): Use prototypes, not old-style function definition.
62171         (print_errno_message): New function.
62172         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
62173         char*-flavored one.
62174         (error_tail, error, error_at_line): Use it.
62175
62176 2001-10-11  Jim Meyering  <meyering@lucent.com>
62177
62178         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
62179         and quote_n (1, ... to avoid clobbering a buffer.
62180
62181 2001-10-05  Jim Meyering  <meyering@lucent.com>
62182
62183         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
62184         hash-pjw.h.
62185         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
62186         * lib/hash-pjw.h: New file.
62187
62188 2001-09-30  Jim Meyering  <meyering@lucent.com>
62189
62190         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
62191         `struct fsstat' has the `f_fstypename' member.
62192         Use that to define FS_TYPE, which is now used to make
62193         the getfsstat link test tighter.
62194
62195 2001-09-30  Jim Meyering  <meyering@lucent.com>
62196
62197         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
62198         Include <sys/ucred.h>, for Apple Darwin.
62199         Include sys/mount.h and sys/fs_types.h only if available.
62200         (FS_TYPE): Define.
62201         (read_filesystem_list): Use FS_TYPE.
62202
62203 2001-09-29  Paul Eggert  <eggert@twinsun.com>
62204
62205         * lib/exclude.c (excluded_filename): 0 -> false, since it's
62206         a boolean context.
62207
62208 2001-09-29  Jim Meyering  <meyering@lucent.com>
62209
62210         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62211         [one-argument getmntent function]): Include stdio.h before mntent.h.
62212         SunOS 4.1.x needs it for the declaration of `FILE'.
62213         Patch by Volker Borchert.
62214
62215         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
62216         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
62217         sys/fs_types.h, and make the link-test for getfsstat guard #include
62218         directives with appropriate #if HAVE_*_H tests so that we can
62219         detect getfsstat on Apple Darwin1.3.7 systems.
62220         Reported by Nelson Beebe.
62221         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
62222
62223 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62224
62225         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62226         #defines strtoimax.  Also treat the other strto* functions
62227         like strtoimax.
62228
62229         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62230         Check for strtoul and strtoumax,
62231         as those declarations are made even in the signed case.
62232         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
62233         Likewise, for strtol and strtoimax.
62234
62235 2001-09-28  Paul Eggert  <eggert@twinsun.com>
62236
62237         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
62238         #defines strtoimax.  Also treat the other strto* functions
62239         like strtoimax.
62240
62241         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
62242         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
62243         (strtoimax, strtoumax): Do not declare if already defined as a macro.
62244
62245 2001-09-26  Jim Meyering  <meyering@lucent.com>
62246
62247         Most macros in unlocked-io.h had the wrong number of arguments.
62248         * lib/gen-uio: New script.
62249         (USE_UNLOCKED_IO): Define to 1 if not already defined.
62250         * lib/unlocked-io.hin: Remove file.
62251         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
62252         rather than trying to embed it here.
62253         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
62254         Reported by Padraig Brady.
62255
62256 2001-09-25  Volker Borchert  <bt@teknon.de>
62257
62258         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
62259         `result'.
62260
62261 2001-09-24  Jim Meyering  <meyering@lucent.com>
62262
62263         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
62264
62265 2001-09-23  Jim Meyering  <meyering@lucent.com>
62266
62267         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
62268         instead of the mere test for existence of mntent.h.  The latter
62269         would get a false-positive on AIX 3.4 systems.
62270         In the outer getmntent if-block, don't die if neither of the getmntent
62271         tests succeeds.  Instead, just fall through and continue with the
62272         remaining tests.
62273
62274 2001-09-23  Jim Meyering  <meyering@lucent.com>
62275
62276         * lib/mountlist.c: Remove useless parentheses in #if directives.
62277         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
62278         the deprecated MOUNTED symbol is no longer defined in mntent.h.
62279
62280 2001-09-22  Jim Meyering  <meyering@lucent.com>
62281
62282         * m4/gettext.m4: New file.  From gettext.
62283         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
62284         * m4/progtest.m4: Likewise
62285         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
62286         * m4/glibc21.m4: Likewise.
62287
62288         * m4/libintl.m4: Remove.  No longer used.
62289
62290 2001-09-22  Jim Meyering  <meyering@lucent.com>
62291
62292         * lib/localcharset.c: Update from latest gettext.
62293         * lib/config.charset: Likewise.
62294
62295 2001-09-20  Jim Meyering  <meyering@lucent.com>
62296
62297         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
62298         strtoimax.
62299         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
62300         strtoumax.
62301
62302 2001-09-20  Jim Meyering  <meyering@lucent.com>
62303
62304         * lib/xstrtol.c (strtoimax): Guard declaration with
62305         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
62306         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
62307         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
62308         (strtoumax): Likewise, for completeness (it wasn't necessary).
62309
62310 2001-09-17  Paul Eggert  <eggert@twinsun.com>
62311
62312         * lib/strtoimax.c (HAVE_LONG_LONG):
62313         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
62314         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
62315         to work around bug in IBM C compiler.
62316
62317 2001-09-17  Jim Meyering  <meyering@lucent.com>
62318
62319         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
62320         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
62321         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
62322         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
62323         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
62324         whenever the right hand side need not be expanded by the shell.
62325
62326 2001-09-16  Paul Eggert  <eggert@twinsun.com>
62327
62328         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
62329         library.  It's not correct, as some older glibcs are buggy.
62330         fnmatch wasn't fixed until glibc 2.2.
62331
62332         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
62333         special shell magic here.
62334
62335 2001-09-16  Jim Meyering  <meyering@lucent.com>
62336
62337         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
62338         * m4/jm-macros.m4: Require it.
62339
62340 2001-09-16  Jim Meyering  <meyering@lucent.com>
62341
62342         * lib/mkdir.c: New file.
62343
62344 2001-09-15  Jim Meyering  <meyering@lucent.com>
62345
62346         * m4/jm-macros.m4: Check for help2man.
62347
62348 2001-09-11  Jim Meyering  <meyering@lucent.com>
62349
62350         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
62351         The body, by Paul Eggert, was moved here from configure.in.
62352         * m4/jm-macros.m4: Require UTILS_HOST_OS.
62353
62354 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62355
62356         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
62357         (jm_PREREQ): Use it.
62358
62359 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62360
62361         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
62362         Use ssize_t, not int, to store result of readlink.
62363         Check for ssize_t overflow as well as size_t overflow,
62364         as POSIX says the result of readlink is implementation-defined
62365         when ssize_t overflows.
62366         Remove unnecessary cast to char*.
62367         Use free+malloc instead of realloc, as the storage doesn't need
62368         to be preserved and it's clearer and can be more efficient that way.
62369         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
62370         * lib/xreadlink.h (xreadlink): Update prototype.
62371
62372 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62373
62374         * lib/xgetcwd.c: Revert some of the previous change; intead,
62375         fix the HAVE_GETCWD_NULL code to behave more like the
62376         !HAVE_GETCWD_NULL code used to.
62377
62378         Include "xalloc.h".
62379         (xgetcwd): Do not return NULL when memory is exhausted; instead,
62380         invoke xalloc_die.
62381
62382 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62383
62384         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
62385         sys/param.h, as pathmax.h includes them.
62386
62387 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62388
62389         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
62390         (jm_PREREQ_XGETCWD): New macro.
62391
62392         * m4/getcwd.m4: New file.
62393
62394 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62395
62396         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
62397         like the HAVE_GETCWD_NULL code.
62398         Include pathmax.h if not HAVE_GETCWD.
62399         Do not include xalloc.h.
62400         (INITIAL_BUFFER_SIZE): New symbol.
62401         Do not use xmalloc / xrealloc, since the caller is responsible for
62402         handling errors.  Preserve errno around `free' during failure.
62403         Do not overrun buffer when using getwd.
62404
62405 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62406
62407         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
62408         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
62409         getcwd (NULL, 0).
62410
62411 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62412
62413         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
62414         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
62415         spotted by Jim Meyering.
62416
62417 2001-09-03  Jim Meyering  <meyering@lucent.com>
62418
62419         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
62420         failure.
62421
62422 2001-09-02  Jim Meyering  <meyering@lucent.com>
62423
62424         * lib/error.c: Update from GNU libc.
62425
62426 2001-09-01  Jim Meyering  <meyering@lucent.com>
62427
62428         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
62429         Used by df.
62430
62431 2001-09-01  Jim Meyering  <meyering@lucent.com>
62432
62433         * lib/xreadlink.c: New file.
62434         * lib/xreadlink.h: New file.
62435         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
62436         xreadlink.h.
62437
62438         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
62439         doesn't conflict with sparc Solaris 7's definition in
62440         /usr/include/sys/int_types.h.
62441
62442         * lib/exclude.c: Use `""', not `<>' to #include non-system header
62443         files.
62444         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
62445         and strncasecmp as r-values.  Unixware didn't have declarations.
62446
62447 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62448
62449         * lib/xstrtol.h: Add copyright notice.
62450         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
62451         LONGINT_INVALID_SUFFIX_CHAR.
62452
62453 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62454
62455         * lib/xstrtol.c (strtoimax): New decl.
62456
62457 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62458
62459         * lib/xgetcwd.c: Don't include pathmax.h.
62460         Include stdlib.h and unistd.h if available.
62461         Include xalloc.h.
62462         (xmalloc, xstrdup, free): Remove decls.
62463         (xgetcwd): Don't assume sizes fit in unsigned.
62464         Check for overflow when computing sizes.
62465         Simplify reallocation code.
62466
62467 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62468
62469         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
62470         a directory's st_size can have an arbitrary value, so the old
62471         usage could waste an arbitrary amount of memory.  All uses
62472         changed.
62473         * lib/savedir.h: Update prototype.
62474
62475 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62476
62477         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
62478
62479         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
62480         old strtoimax.c.
62481
62482         Also, make the following further changes to make this file's
62483         configuration more similar to that of strtol.c:
62484         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
62485         (strtoumax, uintmax_t, strtoull, strtol): Remove.
62486         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
62487         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
62488         changed to signed values.
62489
62490         And make the following changes as well:
62491         Fix copyright notice, as 1999 was missing.
62492         (verify): New macro.
62493         (strtoimax): Check sizes at compile-time, not run-time.
62494         Prefer strtol to strtoll if both work.
62495         (main): Remove; it was not that useful and was a pain to maintain.
62496
62497         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
62498
62499 2001-08-31  Jim Meyering  <meyering@lucent.com>
62500
62501         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
62502         Use an initial, malloc'd, buffer of length 128 rather than
62503         a statically allocated one of length 1024.
62504
62505 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62506
62507         Simplify code, partly by assuming autoconf 2.52 semantics.
62508
62509         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
62510
62511         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
62512         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
62513         All uses removed.
62514         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
62515         Move AC_REQUIRE to next-to-top level, to avoid confusion.
62516         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
62517         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
62518         jm_AC_HEADER_INTTYPES_H.
62519         * m4/jm-macros.m4 (jm_MACROS): Likewise.
62520
62521         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
62522
62523         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62524         Quote first arg of AC_DEFUN.
62525         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
62526         since they are needed to parse the include file even if we need
62527         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
62528         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
62529         but with opposite signedness.
62530
62531 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62532
62533         Merge 'exclude' changes from tar 1.13.22.
62534         This fixes one or two unlikely storage allocation overflow bugs,
62535         but doesn't change user-visible behavior otherwise.
62536
62537 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62538
62539         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
62540         (jm_PREREQ_EXCLUDE): New macro.
62541
62542 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62543
62544         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
62545         tm to be declared.
62546
62547 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62548
62549         * lib/hash.c: Remove '2001' from copyright notice.
62550
62551 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62552
62553         * lib/full-write.h: New file.
62554         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
62555         * lib/full-write.c: Correct credits, as cccp.c no longer
62556         exists and anyway it was so heavily changed from the old cccp
62557         code as to be unrecognizable.  Include full-write.h.
62558         (full_write) Return size_t, with short writes meaning failure.
62559         All callers changed.  This fixes a bug with large buffers
62560         on 64-bit hosts.
62561         * lib/utime.c: Include full-write.h.
62562
62563 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62564
62565         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
62566         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
62567         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
62568         Include if available.
62569         (<xalloc.h>): Include
62570         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
62571         (verify): New macro.  Use it to verify that EXCLUDE macros do not
62572         collide with FNM macros.
62573         (struct patopts): New struct.
62574         (struct exclude): Use it, as exclude patterns now come with options.
62575         (new_exclude): Support above changes.
62576         (new_exclude, add_exclude_file):
62577         Initial size must now be a power of two to simplify overflow checking.
62578         (free_exclude, fnmatch_no_wildcards): New function.
62579         (excluded_filename): No longer requires options arg, as the options
62580         are determined by add_exclude.  Now returns bool, not int.
62581         (excluded_filename, add_exclude):
62582         Add support for the fancy new exclusion options.
62583         (add_exclude, add_exclude_file): Now takes int options arg.
62584         Check for arithmetic overflow when computing sizes.
62585         (add_exclude_file): xrealloc might modify errno, so don't
62586         realloc until after errno might be used.
62587
62588         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
62589         New macros.
62590         (free_exclude): New decl.
62591         (add_exclude, add_exclude_file): Now takes int options arg.
62592         (excluded_filename): No longer requires options arg, as the options
62593         are determined by add_exclude.  Now returns bool, not int.
62594
62595 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62596
62597         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
62598
62599 2001-08-27  Jim Meyering  <meyering@lucent.com>
62600
62601         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
62602
62603         * lib/version-etc.c (N_): Remove definition.
62604         Revert most of last change.
62605         Instead, simply don't mark the `Copyright...' string for translation.
62606         Based on advice from Paul Eggert.
62607
62608         * lib/strtoxmax.c: Tweak comment.
62609
62610 2001-08-26  Jim Meyering  <meyering@lucent.com>
62611
62612         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
62613
62614         * m4/xstrtoimax.m4: New file.
62615         * m4/xstrtoumax.m4: Add comments explaining why we
62616         AC_REPLACE_FUNCS(strtol).
62617
62618 2001-08-26  Jim Meyering  <meyering@lucent.com>
62619
62620         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
62621         of copyright with `%s' so translators don't get an untranslated
62622         message in 2002.
62623         (COPYRIGHT_YEAR): Define.
62624         (version_etc): Use fprintf rather than fputs.
62625         Suggestion from Ulrich Drepper.
62626
62627         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
62628
62629         * lib/strtoll.c: New file, from GNU libc.
62630         * lib/xstrtoimax.c: New file.
62631
62632         * lib/xstrtol.h: Add xstrtoimax.
62633         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
62634         * lib/strtoimax.c: New file.  Likewise, but first define
62635         STRTOUXMAX_SIGNED.
62636
62637         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
62638         ...
62639         * lib/strtoxmax.c: ... then renamed to this.
62640
62641 2001-08-18  Paul Eggert  <eggert@twinsun.com>
62642
62643         * m4/inttypes.m4: Add AC_PREREQ(2.13).
62644         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
62645         (jm_AC_TYPE_INTMAX_T): New macro.
62646         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
62647
62648         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
62649
62650         * m4/longlong.m4: Renamed from ulonglong.m4.
62651         * m4/inttypes.m4: Renamed from inttypes_h.m4.
62652         * m4/uintmax_t.m4: Removed.
62653
62654 2001-08-13  Paul Eggert  <eggert@twinsun.com>
62655
62656         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
62657         Port to Solaris 8, where 'sed' requires a space after the 'r'
62658         command, and where sh dislikes "$/".  Clean up the spacing a bit.
62659         Redirect output to $tmp just once.
62660
62661 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
62662
62663         * lib/addext.c (<errno.h>): Include.
62664         (errno): Declare if not defined.
62665         (addext): Work correctly when pathconf returns -1 and leaves
62666         errno alone because there is no limit.  Also, work even if
62667         pathconf returns a value greater than SIZE_MAX.
62668
62669 2001-08-12  Jim Meyering  <meyering@lucent.com>
62670
62671         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
62672         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
62673         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
62674         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
62675         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
62676         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
62677         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
62678         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
62679         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
62680         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
62681         utime.m4, utimes.m4, xstrtoumax.m4:
62682         Quote the first argument in each use of AC_DEFUN.
62683
62684 2001-08-12  Jim Meyering  <meyering@lucent.com>
62685
62686         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
62687         Simply `return getcwd (NULL, 0);'.
62688         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
62689         Use 1300 as initial value for length, not PATH_MAX.
62690
62691         * lib/pathmax.h: Clean up cpp syntax.
62692
62693 2001-08-12  Jim Meyering  <meyering@lucent.com>
62694
62695         * lib/gettimeofday.c: New file.
62696         * lib/gtod.h: New file.
62697         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
62698
62699 2001-08-05  Jim Meyering  <meyering@lucent.com>
62700
62701         * m4/jm-macros.m4: Require autoconf-2.52.
62702
62703 2001-08-04  Jim Meyering  <meyering@lucent.com>
62704
62705         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
62706         stmt, to get in sync with glibc.
62707
62708 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62709
62710         The following changes are from gettext 0.10.39 as maintained by
62711         Bruno Haible.
62712
62713         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
62714         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
62715         with inverted sense.  All uses changed.
62716
62717         * lib/mbswidth.c: Don't include <limits.h>.
62718         Include <stdlib.h> and <string.h> unconditionally.
62719         (iswcntrl, mbsinit, ISCNTRL): New macros.
62720         (mbsnwidth): Use K&R style function declarations.
62721         Don't bother checking for MB_LEN_MAX == 1, since the compiler
62722         can optimize it when MB_CUR_MAX == 1.
62723         The width of control characters is zero, not 1.
62724
62725 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62726
62727         The following changes are from gettext 0.10.39 as maintained by
62728         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
62729
62730         * m4/codeset.m4: Upgrade to serial AM1.
62731         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
62732         all uses changed.  Quote first arg of AC_DEFUN.
62733         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
62734
62735         * m4/iconv.m4: Upgrade to serial AM2.
62736         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
62737         Add --with-libconv-prefix.
62738         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
62739         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
62740         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
62741         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
62742         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
62743
62744         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
62745         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
62746         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
62747         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
62748         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
62749         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
62750         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
62751         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
62752         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62753
62754         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
62755         string.h any more.
62756
62757         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
62758         not the default value.
62759
62760         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
62761         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
62762         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
62763         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
62764         Also check for iswcntrl, used for wcwidth fallback.
62765         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
62766         to Autoconf 2.13.
62767
62768 2001-08-03  Jim Meyering  <meyering@lucent.com>
62769
62770         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
62771         as it was in the original.  Reported by Paul Eggert.
62772
62773 2001-07-16  Jim Meyering  <meyering@lucent.com>
62774
62775         * m4/gettimeofday.m4: New file.
62776         Prompted by a report from Bernhard Baehr.
62777
62778 2001-07-15  Jim Meyering  <meyering@lucent.com>
62779
62780         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
62781         stuff. Now it's in ../Makefile.cfg.
62782
62783 2001-07-15  Jim Meyering  <meyering@lucent.com>
62784
62785         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
62786         (BUILT_SOURCES): Add unlocked-io.h.
62787         (io_functions): Define.
62788         (unlocked-io.h): New rule.
62789         (DISTCLEANFILES): Add unlocked-io.h.
62790         (all-local): Depend on unlocked-io.h, to ensure it is created.
62791
62792         * lib/unlocked-io.hin: New file
62793
62794         * lib/regex.c: Update from glibc.
62795
62796 2001-07-05  Jim Meyering  <meyering@lucent.com>
62797
62798         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
62799         recommendation.
62800         (libfetish_a_SOURCES): Put all .h files here instead.
62801         Remove a thus-exposed (better checks in automake) duplicate and
62802         two unnecessary .h files.
62803
62804 2001-07-04  Jim Meyering  <meyering@lucent.com>
62805
62806         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
62807         that generates jm-glibc-io.m4 so that it doesn't trigger any make
62808         distcheck failure.
62809
62810 2001-07-02  Jim Meyering  <meyering@lucent.com>
62811
62812         The following changes were prompted by suggestions from Bruno Haible.
62813
62814         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
62815         is now generated.
62816         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
62817         definition of EXTRA_DIST.
62818         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
62819         ensure that the generated file is created/updated whenever the list
62820         of $(unlocked_functions) is changed.
62821         (jm-glibc-io.m4): New rule.
62822         (unlocked-io.h): New rule -- currently unused.
62823
62824 2001-06-24  Jim Meyering  <meyering@lucent.com>
62825
62826         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
62827         unmatched right bracket, rather than kludging it with an extra,
62828         falsely-matching quote in a comment.  Patch by Akim Demaille.
62829
62830 2001-06-11  Jim Meyering  <meyering@lucent.com>
62831
62832         * lib/regex.c: Update from GNU libc.
62833
62834 2001-05-27  Jim Meyering  <meyering@lucent.com>
62835
62836         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
62837         Check for ut_type in struct utmp.
62838
62839 2001-05-27  Jim Meyering  <meyering@lucent.com>
62840
62841         * lib/readutmp.h (UT_TYPE): Define.
62842
62843 2001-05-24  Jim Meyering  <meyering@lucent.com>
62844
62845         * lib/argmatch.c: Include "quote.h".
62846         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
62847         quote function.  Reported by Göran Uddeborg.
62848
62849 2001-05-22  Jim Meyering  <meyering@lucent.com>
62850
62851         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
62852         now that we use the package-supplied version unconditionally.
62853         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
62854
62855 2001-05-21  Jim Meyering  <meyering@lucent.com>
62856
62857         * m4/regex.m4: Change a couple backticks to single quotes to avoid
62858         shell syntax errors.
62859
62860 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
62861
62862         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
62863
62864 2001-05-20  Paul Eggert  <eggert@twinsun.com>
62865
62866         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
62867         Don't bother to check library strftime, since
62868         we'll be using our own my_strftime function anyway.
62869         Define my_strftime instead of strftime.
62870
62871 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
62872
62873         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
62874         which is not yet declared.
62875
62876 2001-05-15  Jim Meyering  <meyering@lucent.com>
62877
62878         * m4/regex.m4: Use proper quoting so brackets appear in the test
62879         program.
62880         Reported by, and with help from, Bruno Haible.
62881
62882 2001-05-13  Jim Meyering  <meyering@lucent.com>
62883
62884         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
62885         undefined.
62886
62887 2001-05-11  Paul Eggert  <eggert@twinsun.com>
62888
62889         dirname code cleanup.  base_name now behaves more compatibly
62890         with POSIX basename when given file names that have trailing
62891         slashes, and similarly for dir_name.  Add new primitives
62892         base_len and dir_len.  Put the directory-name-related decls
62893         into dirname.h.
62894
62895         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
62896         * lib/backupfile.c (base_name): Likewise.
62897         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
62898         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
62899         * lib/makepath.c (strip_trailing_slashes): Likewise.
62900         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
62901         ISSLASH): Likewise.
62902         * lib/rename.c (strip_trailing_slashes): Likewise.
62903         * lib/same.c (base_name): Likewise.
62904         * lib/stripslash.c (ISSLASH): Likewise.
62905
62906         * lib/addext.c: Include <dirname.h> after size_t is defined.
62907         * lib/backupfile.c: Likewise.
62908
62909         * lib/addext.c (addext): Use base_len to trim redundant
62910         trailing slashes instead of doing it ourselves.
62911         But do not trim the last slash if it is not redundant.
62912
62913         * lib/backupfile.c (find_backup_file_name,
62914         max_backup_version): Use base_len instead of rolling it ourselves.
62915         Handle the case of "" and (on DOS) "C:" correctly.
62916
62917         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
62918         needed. Include <string.h>, <dirname.h>.
62919         (base_name): Allow file names ending in slashes, other than names
62920         that are all slashes.  In this case, return the basename followed
62921         by the slashes.  This is more general, and can be used in places
62922         where the original base_name purposely had an assertion failure.
62923         (base_len): New function.
62924
62925         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
62926         Do not include <assert.h>; no longer needed.
62927         Include xalloc.h.
62928         (memrchr): Remove decl.
62929         (dir_name_r): Remove.
62930         (dir_len): Renamed from dirlen.  All callers changed.
62931         Rewrite in terms of base_name, for simplicity and consistency.
62932         (dir_name): Never return NULL.  All callers changed.
62933         Do not include <stdlib.h> in test program; no longer needed.
62934         return 0; is fine for test program.
62935
62936         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
62937         New macros.
62938         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
62939
62940         * lib/path-concat.c (path_concat): Use base_len to compute
62941         base length, not strlen; this means we cannot rely on memcpy
62942         to null-terminate.
62943
62944         * lib/same.c (STREQ): Remove.
62945         (same_name): Handle the case where the basename ends in trailing '/'.
62946
62947         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
62948         a slash was stripped.  Do not strip the last slash after a
62949         file system prefix.
62950
62951 2001-05-11  Paul Eggert  <eggert@twinsun.com>
62952
62953         * lib/Makefile.am (libfetish_a_SOURCES):
62954         Add strftime.c, since we now compile it on all hosts.
62955
62956         * lib/strftime.c (my_strftime):
62957         Define to nstrftime if emacs, but only if my_strftime is not defined.
62958         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
62959         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
62960         Add one more extra argument: a nanoseconds value.
62961         All uses changed.
62962         (ns): New macro.
62963         (my_strftime function): Add %N format.
62964         (emacs_strftimeu): Renamed from emacs_strftime,
62965         with extra ut argument.
62966
62967 2001-05-09  Paul Eggert  <eggert@twinsun.com>
62968
62969         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
62970
62971 2001-04-21  Jim Meyering  <meyering@lucent.com>
62972
62973         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
62974         doesn't interfere.
62975
62976 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
62977
62978         * m4/ftruncate.m4: Check for chsize.
62979         Link with ftruncate.o unconditionally if ftruncate is missing.
62980         This was required when cross-compiling to i586-mingw32msvc.
62981
62982 2001-04-08  Jim Meyering  <meyering@lucent.com>
62983
62984         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
62985         recomputed; that's necessary when the offset spans a DST transition.
62986         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
62987
62988 2001-04-02  Jim Meyering  <meyering@lucent.com>
62989
62990         * lib/regex.h, regex.c: Update from GNU libc.
62991
62992 2001-03-24  Jim Meyering  <meyering@lucent.com>
62993
62994         * m4/jm-macros.m4: Require autoconf-2.49d.
62995
62996 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
62997
62998         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
62999
63000 2001-03-19  Paul Eggert  <eggert@twinsun.com>
63001
63002         * lib/version-etc.c (version_etc_copyright): Update to 2001.
63003
63004 2001-03-17  Jim Meyering  <meyering@lucent.com>
63005
63006         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
63007         now that the version in autoconf is equivalent.
63008         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
63009
63010         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
63011         Suggestion from Akim Demaille.
63012
63013         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
63014         (jm_PREREQ_TEMPNAME): New function.
63015
63016 2001-03-16  Paul Eggert  <eggert@twinsun.com>
63017
63018         * lib/tempname.c (uint64_t): Define to uintmax_t if
63019         not defined, and if UINT64_MAX is not defined.
63020         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
63021         Reported by John David Anglin.
63022
63023 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
63024
63025         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
63026         resolve alias if codeset is empty.
63027         * lib/config.charset (BeOS): Use wildcard syntax.
63028
63029 2001-03-13  Jim Meyering  <meyering@lucent.com>
63030
63031         * lib/path-concat.c (path_concat)
63032         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
63033         concatenating e.g., `C:' and `foo'.
63034         From Bruno Haible.
63035
63036 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63037
63038         * lib/localcharset.c (locale_charset): Don't use
63039         setlocale(LC_CTYPE,NULL). Don't return NULL.
63040         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
63041
63042 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
63043
63044         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
63045         support for DOS/DJGPP.
63046
63047 2001-03-01  Paul Eggert  <eggert@twinsun.com>
63048
63049         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
63050         lacks mkstemp.  Compile our own tempname.c if we compile our own
63051         mkstemp.c, as mkstemp relies on tempname.
63052
63053 2001-03-01  Jim Meyering  <meyering@lucent.com>
63054
63055         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
63056         AH_VERBATIM really does output its argument verbatim.
63057
63058 2001-02-28  Paul Eggert  <eggert@twinsun.com>
63059
63060         * lib/Makefile.am (libfetish_a_SOURCES):
63061         Add dup-safer.c, fopen-safer.c.
63062         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
63063
63064         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
63065         * lib/unistd-safer.h: New files.
63066
63067 2001-02-25  Paul Eggert  <eggert@twinsun.com>
63068
63069         The mkstemp replacement is taken from glibc 2.2.2, with some
63070         portability fixes for use outside glibc, as follows:
63071
63072         * lib/tempname.c (struct_stat64): New macro.
63073         (direxists, __gen_tempname): Use it.
63074         This avoids a portability problem with Solaris 8.
63075
63076         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
63077         (<stddef.h>, <stdint.h>, <string.h>):
63078         Include only if STDC_HEADERS || _LIBC.
63079         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
63080         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
63081         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
63082         (__set_errno): Define this macro if <errno.h> doesn't.
63083         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
63084         Define these macros if <stdio.h> doesn't.
63085         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
63086         Define these macros if <sys/stat.h>
63087         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
63088         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
63089         __xstat64): Define if not _LIBC.
63090         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
63091         (__gen_tempname): Invoke gettimeofday only if
63092         HAVE_GETTIMEOFDAY || _LIBC;
63093         otherwise, fall back on plain "time".
63094         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
63095
63096         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
63097
63098         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
63099
63100 2001-02-18  Paul Eggert  <eggert@twinsun.com>
63101
63102         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
63103
63104 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63105
63106         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
63107         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
63108         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
63109         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63110
63111 2001-02-17  Paul Eggert  <eggert@twinsun.com>
63112
63113         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
63114         Remove workaround macros for hosts that have mbrtowc but not
63115         mbstate_t, as we now insist on proper declarations for both
63116         before using mbrtowc.
63117
63118 2001-02-17  Jim Meyering  <meyering@lucent.com>
63119
63120         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
63121         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
63122         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
63123         UnixWare 7.1.1.
63124
63125         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
63126         rather than AC_CACHE_VAL.
63127
63128 2001-02-17  Jim Meyering  <meyering@lucent.com>
63129
63130         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
63131         around included file name.
63132
63133         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
63134
63135         * lib/strftime.c: Update from GNU libc (the only changes were to
63136         comments).
63137
63138 2001-02-17  Jim Meyering  <meyering@lucent.com>
63139
63140         * lib/regex.c: Update from libc.
63141
63142 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
63143
63144         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
63145         clash.
63146
63147 2001-02-16  Paul Eggert  <eggert@twinsun.com>
63148
63149         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
63150         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
63151         Reported by Mark Hounschell via Paul Eggert.
63152
63153 2001-02-07  Jim Meyering  <meyering@lucent.com>
63154
63155         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
63156
63157 2001-02-05  Jim Meyering  <meyering@lucent.com>
63158
63159         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
63160         it includes the patch required for `large file' support with at least
63161         HP-UX's 10.20 /bin/cc.
63162
63163 2001-02-03  Jim Meyering  <meyering@lucent.com>
63164
63165         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
63166         AS_IF, now that it works once again (mysteriously).
63167         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63168
63169 2001-01-30  Jim Meyering  <meyering@lucent.com>
63170
63171         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
63172         * m4/chown.m4: Rename conftestchown to conftest.chown.
63173         * m4/rename.m4: s/conftestdir/conftest.d1/ and
63174         s/conftestdir2/conftest.d2/.
63175         * m4/utimes.m4: s/conftestdata/conftest.data/
63176         Inspired by Pavel Roskin's change in autoconf.
63177
63178 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
63179
63180         * lib/config.charset: Update for FreeBSD 4.2.
63181
63182 2001-01-27  Jim Meyering  <meyering@lucent.com>
63183
63184         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
63185         a use of AS_IF.
63186         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
63187
63188 2001-01-26  Jim Meyering  <meyering@lucent.com>
63189
63190         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
63191         quotearg.c includes it.
63192
63193 2001-01-26  Jim Meyering  <meyering@lucent.com>
63194
63195         * lib/quotearg.c: Include stddef.h.
63196         * lib/quote.c: Include stddef.h.
63197         Reported by Axel Kittenberger.
63198
63199         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
63200         line in double quotes so that it evokes a better diagnostic.
63201         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
63202         Reported by Axel Kittenberger.
63203
63204 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
63205
63206         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
63207         as if it was a `charset'.
63208
63209 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63210
63211         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
63212         has const.
63213
63214 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
63215
63216         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
63217         to avoid a warning.  Add back 'const' to inptr.
63218
63219 2001-01-20  Jim Meyering  <meyering@lucent.com>
63220
63221         Be sure that headers are checked before used in code compiled
63222         for the type checks.
63223         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
63224         In place of that, invoke jm_CHECK_ALL_TYPES.
63225         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
63226         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
63227         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
63228         The check for ssize_t was mistakenly run before the test for unistd.h.
63229
63230         The configure-time check for stdbool.h was missing.
63231         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
63232         (jm_PREREQ_HASH): New function.
63233
63234 2001-01-17  Jim Meyering  <meyering@lucent.com>
63235
63236         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
63237         for autoconf-2.49c.
63238         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
63239
63240 2001-01-16  Jim Meyering  <meyering@lucent.com>
63241
63242         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
63243         From Bruno Haible.
63244
63245 2001-01-14  Jim Meyering  <meyering@lucent.com>
63246
63247         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
63248         foo and bar.  Create conftestdir/ in the script, not in the C code.
63249         Remove directories in the script, not in the C code.
63250         Remove conftestdir{,2} before trying to create the directory.
63251         Make the entire configure script fail if the mkdir fails.
63252
63253 2001-01-14  Jim Meyering  <meyering@lucent.com>
63254
63255         * lib/rename.c: New file.  From Volker Borchert.
63256         Include stdlib.h, string.h or strings.h, and xalloc.h.
63257         Use strip_trailing_slashes rather than open-coding it.
63258
63259 2001-01-03  Paul Eggert  <eggert@twinsun.com>
63260
63261         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
63262
63263 2001-01-03  Jim Meyering  <meyering@lucent.com>
63264
63265         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
63266         of local `inptr' to avoid warning with some system declarations of
63267         iconv.
63268
63269 2001-01-02  Volker Borchert  <bt@teknon.de>
63270
63271         * m4/rename.m4: New file.
63272         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
63273
63274 2001-01-01  Jim Meyering  <meyering@lucent.com>
63275
63276         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
63277         even on systems with utmpx.h.  It's necessary for the declaration of
63278         utmp's ut_user member.  Reported by Andreas Jaeger.
63279
63280         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
63281         available. They are required for the declarations of getgrgid and
63282         getpwuid resp.
63283         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
63284         Reported by Andreas Jaeger.
63285
63286 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
63287
63288         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
63289         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
63290         so `make install' also works in VPATH builds.
63291
63292 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
63293
63294         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
63295         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
63296         can be used in subdirectories.
63297
63298 2000-12-29  Paul Eggert  <eggert@twinsun.com>
63299
63300         * lib/modechange.c: Do not assume that mode_t uses the
63301         traditional octal encoding.  E.g. "chmod 1 FOO" should set
63302         the other-execute bit of FOO even if S_IXOTH != 1.
63303
63304         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
63305         WOTH, XOTH, ALLM): New macros.
63306         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
63307          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
63308         Use them.
63309         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
63310         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
63311         (mode_compile):
63312         No need to use uintmax_t; unsigned long is long enough.
63313         Don't bother to get suffix since we don't use it.
63314
63315 2000-12-26  Jim Meyering  <meyering@lucent.com>
63316
63317         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
63318         better with autoheader.
63319
63320 2000-12-24  Jim Meyering  <meyering@lucent.com>
63321
63322         * lib/hash.c (is_prime): Return explicit boolean values.
63323         (hash_get_first): Return NULL to appease Irix5.6's 89.
63324         Reported by Nelson Beebe.
63325
63326 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
63327
63328         * lib/localcharset.c (locale_charset): Add support for Win32.
63329
63330 2000-12-18  Paul Eggert  <eggert@twinsun.com>
63331
63332         * lib/physmem.h, lib/physmem.c: New files.
63333
63334         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
63335         (noinst_HEADERS): Add physmem.h.
63336
63337         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
63338         't' for compatibility with Solaris 8 sort.
63339
63340 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
63341
63342         * lib/config.charset: Add support for BeOS.
63343
63344 2000-12-17  Jim Meyering  <meyering@lucent.com>
63345
63346         * m4/dos.m4 (jm_AC_DOS): New file and macro.
63347         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
63348
63349 2000-12-16  Jim Meyering  <meyering@lucent.com>
63350
63351         This bug had a serious impact on chown: `chown N:M FILE' (for integer
63352         N and M) would have treated it like `chown N:N FILE'.
63353
63354         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
63355
63356 2000-12-16  Jim Meyering  <meyering@lucent.com>
63357
63358         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
63359         SHELLS_FILE to a file name that's useful on djgpp systems.
63360         Include stdlib.h.
63361         (ADDITIONAL_DEFAULT_SHELLS): Define.
63362         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
63363         Based mostly on a patch from Prashant TR.
63364
63365 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
63366
63367         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
63368         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
63369         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
63370
63371 2000-12-08  Andreas Schwab  <schwab@suse.de>
63372
63373         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
63374         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
63375
63376 2000-12-07  Jim Meyering  <meyering@lucent.com>
63377
63378         * lib/stripslash.c (ISSLASH): Define.
63379         (strip_trailing_slashes): Use ISSLASH rather than comparing against
63380         `/'.
63381         From Prashant TR.
63382
63383         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
63384         (dir_name_r): Declare this function as static.
63385         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
63386         manifest itself on a name containing a mix of slashes and
63387         backslashes.
63388         Make this function work with names starting with a DOS-style
63389         drive letter and colon prefix.
63390         (dir_name): Append `.' if necessary.
63391         Based mostly on patches from Prashant TR and Eli Zaretskii.
63392
63393         * lib/dirname.h (dir_name_r): Remove prototype.
63394
63395 2000-12-06  Paul Eggert  <eggert@twinsun.com>
63396
63397         * m4/off_t-format.m4: Remove this file.
63398         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
63399
63400 2000-12-06  Jim Meyering  <meyering@lucent.com>
63401
63402         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
63403         replacement strtoull, we may well need the replacement strtoul, too.
63404         Check for declarations of strtoul and strtoull.
63405         Check for strtol.  Mainly as a cue to cause automake to include
63406         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
63407         Check for limits.h -- strtol.c needs it.
63408
63409 2000-12-05  Jim Meyering  <meyering@lucent.com>
63410
63411         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
63412
63413 2000-12-04  Jim Meyering  <meyering@lucent.com>
63414
63415         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
63416         Also include memory.h, stdlib.h, unistd.h if appropriate.
63417         Reported by Andreas Jaeger (conflicting declaration of malloc).
63418
63419 2000-12-02  Jim Meyering  <meyering@lucent.com>
63420
63421         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
63422         * m4/jm-macros.m4 (jm_MACROS): require it.
63423
63424 2000-12-02  Jim Meyering  <meyering@lucent.com>
63425
63426         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
63427
63428 2000-12-01  Paul Eggert  <eggert@twinsun.com>
63429
63430         * lib/memrchr.c: Include <config.h> before any system include file.
63431
63432 2000-11-30  Jim Meyering  <meyering@lucent.com>
63433
63434         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
63435
63436 2000-11-30  Jim Meyering  <meyering@lucent.com>
63437
63438         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
63439
63440 2000-11-29  Paul Eggert  <eggert@twinsun.com>
63441
63442         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
63443
63444 2000-11-26  Jim Meyering  <meyering@lucent.com>
63445
63446         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
63447
63448 2000-11-22  Paul Eggert  <eggert@twinsun.com>
63449
63450         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
63451         size of (size_t) -1; it's not portable.
63452
63453 2000-11-17  Jim Meyering  <meyering@lucent.com>
63454
63455         * lib/strstr.c: Update from GNU libc.
63456
63457 2000-11-17  Akim Demaille  <akim@epita.fr>
63458
63459         * lib/obstack.h: Formatting changes.
63460         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
63461         prevent type checking.
63462         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
63463         cast the value to (void *): assigning a `foo *' to a `void *'
63464         variable is valid.
63465         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
63466
63467 2000-11-16  Jim Meyering  <meyering@lucent.com>
63468
63469         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
63470
63471 2000-11-11  Jim Meyering  <meyering@lucent.com>
63472
63473         * lib/error.c: Add a couple #includes, merging from GNU libc version.
63474
63475 2000-11-10  Jim Meyering  <meyering@lucent.com>
63476
63477         * lib/obstack.h: Update from GNU libc.
63478         * lib/obstack.c: Likewise.
63479
63480 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
63481
63482         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
63483
63484 2000-11-06  Paul Eggert  <eggert@twinsun.com>
63485
63486         * lib/getusershell.c (setusershell): Use rewind rather than
63487         fseek/fseeko, to avoid configuration hassles with fseeko.
63488         Don't bother opening SHELLS_FILE if shellstream is NULL;
63489         it's not necessary.
63490
63491 2000-11-05  Jim Meyering  <meyering@lucent.com>
63492
63493         * lib/makepath.h (make_dir): Declare.
63494         * lib/makepath.c (make_dir): Remove `static' attribute.
63495         Tweak a comment.
63496
63497 2000-11-04  Jim Meyering  <meyering@lucent.com>
63498
63499         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
63500
63501 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
63502
63503         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
63504         last one in a bucket, advance to the next bucket.
63505
63506 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
63507
63508         * lib/fnmatch.c: Do not comment out all the code if we are using
63509         the GNU C library, because in some cases we are replacing buggy
63510         code in the GNU C library itself.
63511
63512 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
63513
63514         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
63515         (regex_compile): Catch bogus \(\1\).
63516
63517 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63518
63519         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
63520         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
63521         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
63522
63523 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63524
63525         * lib/error.h, getline.h, modechange.h:
63526         Remove "2000" from Copyright line, as the file hasn't been
63527         changed this year other than in the copyright notice.
63528
63529         * lib/xalloc.h: Add "2000" to Copyright line, as this file
63530         was changed this year.
63531
63532 2000-10-29  Jim Meyering  <meyering@lucent.com>
63533
63534         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
63535         renaming.
63536         * m4/ls-mntd-fs.m4: Likewise
63537
63538 2000-10-29  Jim Meyering  <meyering@lucent.com>
63539
63540         * lib/xstat.in: Fix grammar in comment.
63541
63542 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
63543
63544         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
63545         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
63546         doesn't define __restrict_arr.
63547
63548 2000-10-28  Jim Meyering  <meyering@lucent.com>
63549
63550         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
63551         (jm_PREREQ_MEMCHR): New function.
63552
63553 2000-10-28  Jim Meyering  <meyering@lucent.com>
63554
63555         * lib/memchr.c: Update from libc.
63556         Adjust for portability:
63557         [HAVE_STDLIB_H]: Include stdlib.h.
63558         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
63559         Undef __memchr, too.
63560         [!weak_alias]: Define __memchr to memchr.
63561
63562         * lib/regex.c: Update from libc.
63563         * lib/regex.h: Likewise.
63564         * lib/getopt1.c: Likewise.
63565         * lib/memcmp.c: Likewise.
63566
63567         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
63568         Avoid using fseek, when possible -- it's broken by design.
63569         Patch by Ulrich Drepper.
63570
63571 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
63572
63573         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
63574         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
63575         Giving in to popular pressure to shut up the compiler with casts.
63576
63577 2000-10-26  Jim Meyering  <meyering@lucent.com>
63578
63579         * lib/strftime.c: Update from libc.
63580
63581 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
63582
63583         * regex.c: More `unsigned char' -> `re_char' changes.
63584         Also change several `int' into `re_wchar_t'.
63585         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
63586         (PUSH_FAILURE_POINTER): Don't cast any more.
63587         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
63588         We want GCC to complain, since this piece of code makes
63589         re_match non-reentrant, which *should* be fixed.
63590         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
63591         (EXTEND_BUFFER): Use RETALLOC.
63592         (SET_LIST_BIT): Don't cast.
63593         (re_wchar_t): New type.
63594         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
63595         that those two functions will always properly return.
63596         (IMMEDIATE_QUIT_CHECK): Cast to void.
63597         (analyse_first): Use recursion rather than an explicit stack.
63598         (re_compile_fastmap): Can't fail anymore.
63599         (re_search_2): Don't check re_compile_fastmap for failure.
63600         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
63601         Now also sets the new value (passed in a new argument).
63602         (re_match_2_internal): Use it.
63603         Also, use a new var `reg' of type size_t when looping through regs
63604         rather than reuse the inappropriate `mcnt'.
63605
63606 2000-10-25  Jim Meyering  <meyering@lucent.com>
63607
63608         * lib/obstack.c: Update from libc.
63609
63610 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
63611
63612         * regex.c (regex_compile): Change the way of handling a range from
63613         a char less than 256 to a char not less than 256.
63614
63615 2000-10-24  Andrew Innes  <andrewi@gnu.org>
63616
63617         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
63618         NT-Emacs only.
63619         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
63620         so that re_search functions only quit when callers expect them to.
63621
63622 2000-10-23  Jim Meyering  <meyering@lucent.com>
63623
63624         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
63625         wrong.  That set_locale call must not have any side effects.
63626         From Paul Eggert.
63627
63628 2000-10-22  Jim Meyering  <meyering@lucent.com>
63629
63630         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
63631         [CYCLIC]: Remove now-unused definition.
63632
63633         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
63634         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
63635         Suggestion from Ulrich Drepper.
63636
63637 2000-10-21  Jim Meyering  <meyering@lucent.com>
63638
63639         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
63640         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
63641         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
63642
63643 2000-10-21  Jim Meyering  <meyering@lucent.com>
63644
63645         * lib/dirname.c (memrchr): Declare if necessary.
63646         (dir_name): Remove the restriction that there be no
63647         trailing slashes.  Now, this code skips past them, effectively
63648         ignoring them.
63649         [TEST_DIRNAME] (main): New unit tests.
63650
63651         * lib/memrchr.c: New file from GNU libc.
63652         Undef __memrchr, too.
63653         [!weak_alias]: Define __memrchr to memrchr.
63654         Guard weak_alias use with `#ifdef weak_alias'.
63655
63656 2000-10-21  Jim Meyering  <meyering@lucent.com>
63657
63658         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
63659         (dir_name): Use dir_name_r.
63660         * lib/dirname.h (dir_name_r): Declare it.
63661
63662 2000-10-17  Jim Meyering  <meyering@lucent.com>
63663
63664         * lib/quote.h (PARAMS): Define and use.
63665         Reported by Akim Demaille.
63666
63667         * lib/getopt.c: Update from libc.
63668
63669 2000-10-16  Jim Meyering  <meyering@lucent.com>
63670
63671         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
63672         setlocale.
63673         From Jan Fedak.
63674
63675 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
63676
63677         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
63678
63679 2000-09-25  Jim Meyering  <meyering@lucent.com>
63680
63681         * lib/md5.h (rol): Define (from GnuPG).
63682
63683         * lib/sha.c: Give credit (GnuPG) where due.
63684         (M): Use rol rather than open-coding it.
63685         Add a FIXME comment.
63686
63687 2000-09-21  Jim Meyering  <meyering@lucent.com>
63688
63689         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
63690         Reported by Michael Stone.
63691
63692 2000-09-20  Jim Meyering  <meyering@lucent.com>
63693
63694         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
63695         (noinst_HEADERS): Add sha.h.
63696         Based on code from Scott G. Miller and from GnuPG.
63697
63698 2000-09-18  Jim Meyering  <meyering@lucent.com>
63699
63700         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
63701         LIBS. Otherwise, everyone ends up linking with -lelf for some
63702         configurations.
63703         Reported by Mike Stone.
63704
63705 2000-09-15  Jim Meyering  <meyering@lucent.com>
63706
63707         * lib/regex.c: Update from libc.
63708
63709 2000-09-10  Jim Meyering  <meyering@lucent.com>
63710
63711         * lib/getopt.c (_getopt_internal): Update from glibc.
63712
63713 2000-09-09  Jim Meyering  <meyering@lucent.com>
63714
63715         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
63716         think it should be used as a general replacement for isascii.
63717         * lib/fnmatch.c: Likewise.
63718         * lib/mbswidth.c: Likewise
63719         * lib/regex.c: Likewise.
63720
63721         Don't use atoi.
63722         * lib/userspec.c: Include sys/param.h and limits.h.
63723         Include xstrtol.h.
63724         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63725         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
63726         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
63727         UID, GID.  Check range.
63728
63729 2000-09-06  Jim Meyering  <meyering@lucent.com>
63730
63731         * lib/getopt.c (_getopt_internal): Update from glibc.
63732
63733 2000-08-30  Jim Meyering  <meyering@lucent.com>
63734
63735         * lib/strftime.c: Merge in changes from GNU libc.
63736
63737 2000-08-26  Jim Meyering  <meyering@lucent.com>
63738
63739         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
63740         * m4/fpending.m4: New file.
63741
63742 2000-08-26  Jim Meyering  <meyering@lucent.com>
63743
63744         * lib/closeout.c: Include "__fpending.h".
63745         (close_stdout_status): Return right away if there's nothing to flush.
63746
63747         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
63748         * lib/__fpending.c: New file.
63749         * lib/__fpending.h: New file.
63750
63751 2000-08-20  Jim Meyering  <meyering@lucent.com>
63752
63753         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
63754         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
63755         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
63756
63757 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
63758
63759         Improve fileutils installation on systems where running
63760         programs (like install) can't be unlinked.
63761         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
63762         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
63763
63764 2000-08-07  Paul Eggert  <eggert@twinsun.com>
63765
63766         Standardize on "memory exhausted" instead of "Memory exhausted"
63767         or "virtual memory exhausted".
63768         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
63769         "virtual memory exhausted".
63770         * lib/same.c (same_name): Invoke xalloc_die instead of printing
63771         our own message.
63772         * lib/userspec.c (parse_user_spec): Likewise.
63773         * lib/bumpalloc.h: comment fix
63774         * lib/same.c, userspec.c: Include xalloc.h.
63775
63776         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
63777         not char *const and pointing to a constant array.
63778         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
63779         (xrealloc): Comment fix.
63780
63781         * lib/userspec.c (parse_user_spec):
63782         Don't translate a message until just before returning,
63783         to avoid unnecessary translation.
63784
63785 2000-08-07  Jim Meyering  <meyering@lucent.com>
63786
63787         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
63788         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
63789         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
63790         getgroups.c, gethostname.c, getopt.h, group-member.c,
63791         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
63792         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
63793         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
63794         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
63795         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
63796         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
63797         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
63798         yesno.c: Back out Copyright date changes for each file with no change
63799         this year.  This eases coordination with other programs using the same
63800         source code modules.  From Paul Eggert.
63801
63802 2000-08-06  Paul Eggert  <eggert@twinsun.com>
63803
63804         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
63805         not char, for compatibility with glibc 2.1.3 strftime.c.
63806
63807 2000-08-03  Greg McGary  <greg@mcgary.org>
63808
63809         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
63810         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
63811         (EXTEND_BUFFER): Use them.
63812
63813 2000-08-01  Jim Meyering  <meyering@lucent.com>
63814
63815         * lib/dirname.c (ISSLASH): Define.
63816         (BACKSLASH_IS_PATH_SEPARATOR): Define.
63817         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
63818         both `\' and `/' may be use as path separators.
63819         Based on a patch from Prashant TR.
63820
63821 2000-07-31  Paul Eggert  <eggert@twinsun.com>
63822
63823         * lib/quotearg.c (quotearg_n_options): Don't make the initial
63824         slot vector a constant, since it might get modified.
63825
63826 2000-07-31  Jim Meyering  <meyering@lucent.com>
63827
63828         * lib/xmalloc.c: Use `virtual memory exhausted', not
63829         `Memory exhausted'.
63830         * lib/obstack.c (print_and_abort): Likewise.
63831
63832 2000-07-30  Paul Eggert  <eggert@twinsun.com>
63833
63834         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
63835         buffer, so that the caller can always quote one small
63836         component of a "memory exhausted" message in slot 0.
63837         From a suggestion by Jim Meyering.
63838
63839 2000-07-30  Jim Meyering  <meyering@lucent.com>
63840
63841         * lib/makepath.c (make_path): Quote the other instance, too.
63842
63843         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
63844         (STATIC_BUF_SIZE): Define.
63845         (quotearg_n_options): Use only statically allocated storage when
63846         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
63847         than STATIC_BUF_SIZE.
63848
63849 2000-07-29  Jim Meyering  <meyering@lucent.com>
63850
63851         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
63852         * lib/dirname.c (dir_name): Likewise.
63853
63854         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
63855         `/'.
63856
63857         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
63858         (dir_name): Assert that there are no trailing slashes.
63859
63860 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
63861
63862         * lib/mbswidth.h (mbswidth): Add a flags argument.
63863         (mbswidth): New declaration.
63864         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
63865         * lib/mbswidth.c (mbswidth): Add a flags argument.
63866         (mbsnwidth): New function.
63867
63868 2000-07-24  Jim Meyering  <meyering@lucent.com>
63869
63870         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
63871
63872 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63873
63874         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
63875
63876 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63877
63878         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
63879         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
63880         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
63881         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
63882         invoke multibyte primitives.
63883
63884 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63885
63886         * lib/quotearg.c:
63887         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
63888         so that mbstate_t is always defined.
63889
63890         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
63891         be 1 in at least one GCC installation, and this configuration
63892         error is likely to be common.  Ignoring MB_LEN_MAX hurts
63893         performance on hosts that have mbrtowc but have only unibyte
63894         locales, but I assume these hosts are rare.
63895
63896 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63897
63898         * lib/mbswidth.c (_XOPEN_SOURCE):
63899         Don't define; this causes problems on Solaris 7.
63900         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
63901
63902 2000-07-23  Jim Meyering  <meyering@lucent.com>
63903
63904         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
63905         too: getgrgid, getpwuid, getuid.
63906
63907 2000-07-23  Jim Meyering  <meyering@lucent.com>
63908
63909         * lib/basename.c (base_name): Add an assertion.
63910
63911 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
63912
63913         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
63914         shadow its mbsinit function.
63915
63916 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
63917
63918         * lib/mbswidth.h: New file.
63919         * lib/mbswidth.c: New file.
63920         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
63921         (noinst_HEADERS): Add mbswidth.h.
63922
63923 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
63924
63925         * lib/config.charset: Add support for FreeBSD. Improve support for
63926         HP-UX and IRIX 6.
63927
63928 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
63929
63930         * m4/mbswidth.m4: New file.
63931         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
63932
63933 2000-07-15  Jim Meyering  <meyering@lucent.com>
63934
63935         * lib/makepath.c: Include quote.h.
63936         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
63937         corresponding argument in a `quote (...)' call.
63938         Give better diagnostics.
63939
63940         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
63941         (noinst_HEADERS): Add quote.h.
63942
63943         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
63944         from tar's src/misc.c.
63945         * lib/quote.h: New file.  Prototypes for same.
63946
63947 2000-07-14  Paul Eggert  <eggert@twinsun.com>
63948
63949         From a suggestion by Bruno Haible.
63950         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
63951         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
63952         to decide whether to define the BeOS workaround macro;
63953         this adjusts to the change to AC_MBSTATE_T.
63954
63955 2000-07-14  Jim Meyering  <meyering@lucent.com>
63956
63957         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
63958         jm_AC_TYPE_UINTMAX_T.
63959
63960 2000-07-13  Paul Eggert  <eggert@twinsun.com>
63961
63962         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
63963
63964         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
63965         quotearg_buffer_restyled): Add support for
63966         clocale_quoting_style.  Undo previous change to
63967         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
63968         and "{RIGHT QUOTATION MARK}" msgids.
63969
63970 2000-07-10  Paul Eggert  <eggert@twinsun.com>
63971
63972         From a suggestion by Bruno Haible.
63973         * m4/mbstate_t.m4 (AC_MBSTATE_T):
63974         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
63975         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
63976         and mbstate_t, to a single-part test that simply defines mbstate_t.
63977         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
63978         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
63979
63980 2000-07-10  Jim Meyering  <meyering@lucent.com>
63981
63982         * m4/strerror_r.m4: Mirror the correction made in autoconf.
63983
63984         * m4/gnu-source.m4: Output to confdefs.h directly.
63985         Suggestion from Akim Demaille.
63986
63987 2000-07-09  Paul Eggert  <eggert@twinsun.com>
63988
63989         The old behavior of quoting `like this' doesn't look good with
63990         newer, ISO-style fonts.  See:
63991         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
63992
63993         Instead, quote "like this" by default.  Let the translator
63994         tailor the locale-specific quoting behavior by providing
63995         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
63996
63997         * lib/quotearg.c (N_): New macro.
63998         (gettext_default): New function.
63999         (quotearg_buffer_restyled): Use
64000         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
64001         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
64002
64003 2000-07-09  Jim Meyering  <meyering@lucent.com>
64004
64005         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
64006         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
64007
64008         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
64009         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
64010
64011 2000-07-09  Jim Meyering  <meyering@lucent.com>
64012
64013         * lib/Most files: Update copyright dates to include 2000.
64014
64015 2000-07-08  Jim Meyering  <meyering@lucent.com>
64016
64017         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
64018         if not defined.
64019         (xgethostname): Remove now-unnecessary #ifdef.
64020         Move declaration of `err' into loop where it's used.
64021
64022 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64023         and Bruno Haible  <haible@clisp.cons.org>
64024
64025         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
64026         only if the test for an object-type mbstate_t fails.  This
64027         prevents us from mistakenly reporting that mbstate_t is a
64028         system object type after we "#define mbstate_t int" to work
64029         around its lack.
64030
64031 2000-07-05  Paul Eggert  <eggert@twinsun.com>
64032         and Bruno Haible  <haible@clisp.cons.org>
64033
64034         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
64035
64036 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64037
64038         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
64039         to strerror_r.
64040         Include <ctype.h> for use of isalpha.
64041
64042 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64043
64044         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
64045         by allocating a larger buffer. Test the gethostname return value for
64046         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
64047         returns an error and ENAMETOOLONG isn't defined.
64048
64049 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
64050
64051         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
64052         dimension.
64053
64054 2000-07-04  Jim Meyering  <meyering@lucent.com>
64055
64056         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
64057         of the deprecated AC_CHECKING.
64058
64059 2000-07-04  Jim Meyering  <meyering@lucent.com>
64060
64061         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
64062         Reported by Bruno Haible.
64063
64064 2000-07-04  Jim Meyering  <meyering@lucent.com>
64065
64066         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
64067         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
64068         lacks mbrtowc.
64069
64070 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64071
64072         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
64073         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
64074
64075 2000-07-03  Paul Eggert  <eggert@twinsun.com>
64076         and Bruno Haible  <haible@clisp.cons.org>
64077
64078         * lib/quotearg.c (mbrtowc):
64079         Assign to *pwc, and return 1 only if result is nonzero.
64080         (iswprint): Use ISPRINT when substituting our own mbrtowc.
64081
64082 2000-07-03  Jim Meyering  <meyering@lucent.com>
64083
64084         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
64085
64086 2000-07-03  Jim Meyering  <meyering@lucent.com>
64087
64088         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
64089         This is necessary to get a definition of e.g., UTMP_FILE on
64090         HP-UX 10.20.
64091         From Bob Proulx.
64092
64093 2000-07-02  Jim Meyering  <meyering@lucent.com>
64094
64095         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
64096
64097         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
64098         AC_LIBOBJ(function_name).
64099         * m4/chown.m4: Likewise.
64100         * m4/fnmatch.m4: Likewise.
64101         * m4/ftruncate.m4: Likewise.
64102         * m4/getgroups.m4: Likewise.
64103         * m4/getline.m4: Likewise.
64104         * m4/group-member.m4: Likewise.
64105         * m4/jm-macros.m4: Likewise.
64106         * m4/lstat.m4: Likewise.
64107         * m4/malloc.m4: Likewise.
64108         * m4/memcmp.m4: Likewise.
64109         * m4/nanosleep.m4: Likewise.
64110         * m4/putenv.m4: Likewise.
64111         * m4/realloc.m4: Likewise.
64112         * m4/regex.m4: Likewise.
64113         * m4/stat.m4: Likewise.
64114         * m4/strftime.m4: Likewise.
64115
64116 2000-07-02  Jim Meyering  <meyering@lucent.com>
64117
64118         * lib/quotearg.c (mbstate_t): Don't define here.
64119
64120 2000-07-02  Jim Meyering  <meyering@lucent.com>
64121
64122         * lib/nanosleep.c (SIGCONT): Define if not already defined.
64123
64124 2000-07-01  Jim Meyering  <meyering@lucent.com>
64125
64126         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
64127
64128 2000-07-01  Jim Meyering  <meyering@lucent.com>
64129
64130         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
64131         problem.
64132
64133 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64134
64135         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
64136         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
64137
64138 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
64139
64140         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
64141         per change in ../m4/ls-mntd-fs.m4.
64142         (read_filesystem_list): Ignore symbolic links.
64143
64144 2000-06-29  Jim Meyering  <meyering@lucent.com>
64145
64146         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
64147         for declaration of strcmp.
64148
64149         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
64150
64151         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
64152         Avoid warning by casting result to `char *' to remove `const'.
64153
64154 2000-06-28  Jim Meyering  <meyering@lucent.com>
64155
64156         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
64157         included by quotearg.c, for which we perform this test.  From
64158         Bruno Haible.
64159
64160 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64161
64162         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
64163         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
64164         <utmpx.h> exists, put readutmp.o into LIBOBJS.
64165
64166 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
64167
64168         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
64169
64170 2000-06-26  Paul Eggert  <eggert@twinsun.com>
64171
64172         savedir now sets errno on failure and invokes xmalloc to get memory.
64173         Fix a couple of other minor bugs while we're at it.
64174
64175         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
64176         (NAMLEN): Remove macro.
64177         (malloc, realloc): Remove decls.
64178         (stpcpy): Likewise.
64179         ("xalloc.h"): Include.
64180         (NAME_SIZE_DEFAULT): New macro.
64181         (savedir): Use xmalloc / xrealloc to allocate memory.
64182         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
64183         Skip "" directory entries.
64184         Use strlen to calculate directory entry length, since the old method
64185         is rarely used these days and isn't worth supporting.
64186         Don't use a pointer after freeing it.
64187         Check for integer overflow when calculating allocation size.
64188         Use memcpy to copy entries, instead of stpcpy.
64189         Set errno properly when returning NULL.
64190         Check for readdir error.
64191
64192 2000-06-26  Jim Meyering  <meyering@lucent.com>
64193
64194         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
64195
64196 2000-06-25  Jim Meyering  <meyering@lucent.com>
64197
64198         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
64199         Linux header bug when _XOPEN_SOURCE is defined to 500.
64200
64201 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64202
64203         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
64204         deficiency.
64205
64206 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
64207
64208         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
64209         Include xalloc.h.
64210         Don't include <stdlib.h>.  Don't declare malloc, realloc.
64211
64212 2000-06-24  Jim Meyering  <meyering@lucent.com>
64213
64214         * m4/strerror_r.m4: Revive this file -- to try out an experimental
64215         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
64216         for which strerror does return char*, but which lacks a conveniently
64217         accessible declaration of the function.  If the compile-test says
64218         strerror_r doesn't work, then resort to a `run'-test that works on
64219         BeOS and segfaults on DEC Unix.
64220
64221 2000-06-24  Jim Meyering  <meyering@lucent.com>
64222
64223         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
64224
64225 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64226
64227         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
64228         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
64229
64230 2000-06-23  Paul Eggert  <eggert@twinsun.com>
64231
64232         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
64233         (mbrtowc, mbstate_t): Define substitutes if
64234         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
64235         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
64236         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
64237
64238 2000-06-23  Jim Meyering  <meyering@lucent.com>
64239
64240         * m4/afs.m4: Add missing AC_MSG_RESULT.
64241         Reported by Bruno Haible.
64242
64243         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
64244         Suggestion from Bruno Haible.
64245
64246 2000-06-23  Jim Meyering  <meyering@lucent.com>
64247
64248         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
64249
64250 2000-06-21  Jim Meyering  <meyering@lucent.com>
64251
64252         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
64253
64254 2000-06-21  Jim Meyering  <meyering@lucent.com>
64255
64256         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
64257         (noinst_HEADERS): Add getstr.h.
64258
64259         * lib/getline.c (getstr): Move into a separate file.
64260         * lib/getstr.c (getstr): New file, extracted from getline.c, with
64261         the following changes: new parameter, delim2; both delim[12]
64262         parameters have type `int', not `char'.  The latter would lose
64263         with 8-bit delimiters.
64264         * lib/getstr.h: New file.
64265
64266 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64267
64268         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
64269         than 1024, return a memory chunk of least possible size, instead
64270         of size PATH_MAX + 2. In the loop, increment the size proportionally.
64271         Use free/xmalloc instead of xrealloc to avoid copying for very long
64272         paths.
64273
64274 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64275
64276         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
64277         the empty string.
64278
64279 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64280
64281         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
64282         address, not strdup.  Include <stdlib.h> and don't declare free().
64283
64284 2000-06-19  Jim Meyering  <meyering@lucent.com>
64285
64286         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
64287
64288 2000-06-18  Jim Meyering  <meyering@lucent.com>
64289
64290         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
64291
64292         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
64293         `checking whether...' message to be consistent with that of the
64294         lstat test.
64295
64296 2000-06-18  Jim Meyering  <meyering@lucent.com>
64297
64298         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
64299         Besides, these days every porting target provides a mkdir function.
64300
64301         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
64302         needed. (this snippet comes from src/system.h).
64303
64304 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
64305
64306         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
64307
64308 2000-06-15  Paul Eggert  <eggert@twinsun.com>
64309
64310         * lib/human.c (adjust_value): New function.
64311         (human_readable_inexact): Apply rounding style even when
64312         printing approximate values.
64313
64314 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64315
64316         * lib/human.c (human_readable_inexact): Allow an input block
64317         size that is not a multiple of the output block size, and vice versa.
64318         Reported by Piergiorgio Sartor.
64319
64320 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64321
64322         * lib/getdate.y (get_date): Apply relative times after time
64323         zone indicator, not before.  Reported by Todd A. Jacobs.
64324
64325 2000-06-13  Jim Meyering  <meyering@lucent.com>
64326
64327         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
64328
64329         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
64330
64331 2000-06-12  Paul Eggert  <eggert@twinsun.com>
64332
64333         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
64334
64335 2000-06-12  Jim Meyering  <meyering@lucent.com>
64336
64337         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
64338         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
64339         optional argument.
64340         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
64341         the optional argument, `lib'.
64342
64343 2000-06-08  Jim Meyering  <meyering@lucent.com>
64344
64345         * m4/largefile.m4: Remove file (now that it's part of autoconf).
64346
64347 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64348
64349         Rewrite largefile configuration so that we don't need to run
64350         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
64351         AC_CANONICAL_HOST in configure.in -- jmm]
64352
64353         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
64354         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
64355         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
64356         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
64357         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
64358         All uses changed.
64359         Instead of inspecting the output of getconf, try to compile the
64360         test program without and with the macro definition.
64361         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
64362         for getconf.  Instead, check for the needed flags by compiling
64363         test programs.
64364
64365 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64366
64367         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
64368
64369 2000-06-04  Jim Meyering  <meyering@lucent.com>
64370
64371         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
64372         SunOS 4.1.4 for which gid_t is an unsigned type.
64373
64374 2000-06-03  Jim Meyering  <meyering@lucent.com>
64375
64376         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
64377         now that autoconf requires that.
64378
64379         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
64380         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
64381         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
64382
64383 2000-06-03  Jim Meyering  <meyering@lucent.com>
64384
64385         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
64386
64387 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64388
64389         * m4/glibc21.m4: New file.
64390         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
64391
64392 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64393
64394         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
64395         newer, don't install charset.alias.
64396         * lib/config.charset: Change the Linux/glibc rules so they become empty
64397         on glibc-2.1 or newer.
64398
64399 2000-06-02  Jim Meyering  <meyering@lucent.com>
64400
64401         * lib/mountlist.c: Back out last change.  Instead, do this...
64402         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
64403         me_dummy member using the same `ignore'-testing code.
64404         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
64405         fs_type strings.
64406         From Mark D. Roth.
64407
64408 2000-05-29  Jim Meyering  <meyering@lucent.com>
64409
64410         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
64411         mounts with the `ignore' attribute.  Based on a patch from
64412         Mark D. Roth.
64413
64414 2000-05-28  Jim Meyering  <meyering@lucent.com>
64415
64416         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
64417         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64418         * m4/stat.m4: Likewise.
64419         * m4/lstat.m4: Likewise.
64420         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
64421
64422         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
64423         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
64424
64425 2000-05-26  Jim Meyering  <meyering@lucent.com>
64426
64427         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
64428
64429 2000-05-24  Jim Meyering  <meyering@lucent.com>
64430
64431         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
64432         autoconf requires that.
64433         * m4/lib-check.m4: Likewise.
64434         * m4/jm-macros.m4: Likewise.
64435         * m4/strftime.m4: Likewise.
64436
64437         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
64438         AC_CHECK_DECLS, now that autoconf requires that.
64439
64440 2000-05-22  Jim Meyering  <meyering@lucent.com>
64441
64442         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64443         * m4/lstat.m4: Likewise.
64444
64445 2000-05-22  Jim Meyering  <meyering@lucent.com>
64446
64447         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
64448
64449 2000-05-20  Jim Meyering  <meyering@lucent.com>
64450
64451         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
64452         (jm_PREREQ): Use it.
64453
64454 2000-05-18  Jim Meyering  <meyering@lucent.com>
64455
64456         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
64457         back, too, since it may have been modified by allocate_entry.
64458         (hash_delete): Rewrite to use neither the assignment operator
64459         nor the comma operator in an if-expression.
64460
64461 2000-05-15  Paul Eggert  <eggert@twinsun.com>
64462
64463         * lib/closeout.c:
64464         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
64465         Remove; no longer needed.
64466         "quotearg.h": Add include.
64467         (file_name): Do not bother to explicitly initialize to NULL; it's less
64468         efficient on some hosts.
64469         (close_stdout_status): Remove test as to whether stdout was already
64470         closed; it breaks for the case "echo x | sort >&-".
64471         Quote file name colons.
64472         Do not assume that _("write error") lacks format strings.
64473
64474 2000-05-15  Jim Meyering  <meyering@lucent.com>
64475
64476         * lib/version-etc.c (version_etc_copyright): Update the copyright
64477         string used in all --version output.
64478
64479 2000-05-14  Jim Meyering  <meyering@lucent.com>
64480
64481         * lib/closeout.c (close_stdout_set_file_name): New function.
64482         (close_stdout_status): Use new file-scoped global.
64483         Return right away if fstat says the stdout file descriptor is invalid.
64484         * lib/closeout.h (close_stdout_set_file_name): Declare.
64485
64486 2000-05-10  Jim Meyering  <meyering@lucent.com>
64487
64488         * lib/closeout.c [default_exit_status]: New file-scoped variable.
64489         (close_stdout_set_status): New function.
64490         * lib/closeout.h (close_stdout_set_status): Declare.
64491
64492 2000-05-09  Jim Meyering  <meyering@lucent.com>
64493
64494         * m4/gettext.m4: Rename this...
64495         * m4/libintl.m4: ...to this.
64496
64497 2000-05-08  Jim Meyering  <meyering@lucent.com>
64498
64499         * lib/long-options.c: Don't include closeout.h.
64500         (parse_long_options): Don't call close_stdout for --version.
64501
64502 2000-05-06  Paul Eggert  <eggert@twinsun.com>
64503
64504         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
64505         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
64506         2.1.3 bug.  This avoids a clash when files like regex.c define
64507         _GNU_SOURCE.
64508
64509 2000-05-06  Jim Meyering  <meyering@lucent.com>
64510
64511         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
64512         (AC_REPLACE_FUNCS): Add strnlen.
64513
64514         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
64515         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
64516
64517         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
64518         AC_SEARCH_LIBS call for nanosleep.
64519         (LIB_NANOSLEEP): Set and AC_SUBST.
64520
64521 2000-05-06  Jim Meyering  <meyering@lucent.com>
64522
64523         * lib/strnlen.c: Undefine __strnlen and strnlen.
64524         [!weak_alias]: Define __strnlen to strnlen.
64525
64526         * lib/atexit.c: New file, from libiberty.
64527
64528 2000-05-06  Jim Meyering  <meyering@lucent.com>
64529
64530         * lib/closeout.c (close_stdout_status): Also check for errors on the
64531         stderr stream.
64532
64533 2000-05-05  Jim Meyering  <meyering@lucent.com>
64534
64535         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
64536         AC_SEARCH_LIBS call for clock_gettime.
64537         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
64538
64539         * m4/search-libs.m4: Update from autoconf.
64540
64541         su doesn't work on Solaris 2.6.
64542         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
64543         <shadow.h>.  Reported by Dragos Harabor.
64544
64545 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
64546
64547         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
64548         memcpy instead of xmalloc, xrealloc, path_concat.
64549         (locale_charset): Treat empty environment variables as absent.
64550         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
64551
64552 2000-05-04  Jim Meyering  <meyering@lucent.com>
64553
64554         * lib/getopt.c: Update from glibc.
64555         * lib/obstack.c: Likewise.
64556         * lib/obstack.h: Likewise.
64557         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
64558         file
64559
64560         * lib/regex.h: Likewise.
64561         * lib/strndup.c: Likewise.
64562         * lib/strnlen.c: New file, from glibc.
64563
64564 2000-05-03  Jim Meyering  <meyering@lucent.com>
64565
64566         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
64567
64568 2000-05-02  Paul Eggert  <eggert@twinsun.com>
64569
64570         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
64571         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
64572         compile-time test, rather than inspecting host and OS, to
64573         decide whether to define _LARGEFILE_SOURCE.
64574
64575 2000-05-01  Jim Meyering  <meyering@lucent.com>
64576
64577         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
64578
64579         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
64580         Based on a patch from Bruno Haible.
64581
64582 2000-05-01  Jim Meyering  <meyering@lucent.com>
64583
64584         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
64585
64586 2000-04-29  Jim Meyering  <meyering@lucent.com>
64587
64588         * lib/path-concat.c: Declare strdup only if it's not defined.
64589         * lib/canon-host.c: Likewise.
64590
64591 2000-04-28  Jim Meyering  <meyering@lucent.com>
64592
64593         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
64594         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
64595         is included first, then limits.h is included by locale.h by libintl.h.
64596         From John David Anglin.
64597
64598 2000-04-25  Jim Meyering  <meyering@lucent.com>
64599
64600         * lib/makepath.c (S_IRWXUGO): Define.
64601         (make_path): Always perform explicit chmod if MODE specifies any
64602         of the `special' permission bits.  Prompted by a bug report against
64603         install from Mate Wierdl and Joost van Baal.
64604
64605 2000-04-18  Jim Meyering  <meyering@lucent.com>
64606
64607         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
64608         (jm_PREREQ): Use it.
64609
64610 2000-04-18  Jim Meyering  <meyering@lucent.com>
64611
64612         * lib/README: New file.
64613
64614         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
64615         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
64616
64617 2000-04-17  Jim Meyering  <meyering@lucent.com>
64618
64619         Get it right :-)
64620         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
64621         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
64622         Suggestion from Akim Demaille.
64623
64624 2000-04-17  Jim Meyering  <meyering@lucent.com>
64625
64626         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
64627         the definition of it to rpl_strftime also defined-away the system's
64628         declaration.
64629
64630 2000-04-15  Jim Meyering  <meyering@lucent.com>
64631
64632         Use `C' to denote so-called `contiguous' files, the same way
64633         that tar does.
64634         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
64635         (ftypelet): Use S_ISCTG.
64636         From Michael Deutschmann.
64637
64638 2000-04-14  Jim Meyering  <meyering@lucent.com>
64639
64640         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
64641         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
64642         clobbered.
64643
64644 2000-04-14  Jim Meyering  <meyering@lucent.com>
64645
64646         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
64647
64648 2000-04-13  Jim Meyering  <meyering@lucent.com>
64649
64650         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
64651         AH_VERBATIM to insert required #ifndef into config.h.in.
64652         Suggestion from Akim Demaille.
64653
64654 2000-04-12  Jim Meyering  <meyering@lucent.com>
64655
64656         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
64657         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
64658         Christian Krackowizer.
64659
64660         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
64661         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
64662         (AC_SYS_LARGEFILE): Require.
64663         (AM_C_PROTOTYPES): Require.
64664
64665 2000-04-08  Jim Meyering  <meyering@lucent.com>
64666
64667         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
64668         names don't conflict.  Reported by Eli Zaretskii.
64669
64670 2000-04-07  Jim Meyering  <meyering@lucent.com>
64671
64672         * lib/putenv.c: Move inclusion of errno.h so it follows that of
64673         sys/types.h, to work around system header problems on AIX 3.2.5.
64674         From Bruno Haible.
64675
64676 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
64677
64678         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
64679         bug.  Deal with the different error behavior of Irix iconv.
64680
64681 2000-04-05  Paul Eggert  <eggert@twinsun.com>
64682
64683         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
64684         IRIX if the installer said otherwise.
64685
64686 2000-04-05  Jim Meyering  <meyering@lucent.com>
64687
64688         Portability tweaks required for ultrix4.3.
64689         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
64690         (jm_CHECK_DECLS): Add getutent to the list of functions.
64691         (_jm_DECL_HEADERS): Add utmpx.h.
64692         From John David Anglin.
64693
64694         * m4/strftime.m4: Back out the 2000-04-02 change.
64695         Instead of that change, simply undefine putenv in the test program.
64696
64697 2000-04-05  Jim Meyering  <meyering@lucent.com>
64698
64699         Portability tweaks required for ultrix4.3.
64700         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
64701         getutent.
64702         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
64703         * lib/canon-host.c: Declare strdup.
64704         * lib/path-concat.c: Likewise.
64705         From John David Anglin.
64706
64707 2000-04-04  Jim Meyering  <meyering@lucent.com>
64708
64709         Be more DOS 8.3-friendly.
64710         * lib/ref-add.sin: Renamed from ref-add.sed.in.
64711         * lib/ref-del.sin: Renamed from ref-del.sed.in.
64712         * lib/Makefile.am: Reflect renaming.
64713         Reported by Eli Zaretskii.
64714
64715         Use a temporary file name that won't clash with `charset.alias'
64716         in the DOS 8.3 name space.
64717         * lib/Makefile.am (charset_tmp): Define.
64718         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
64719         (uninstall-local): Likewise.
64720         Reported by Eli Zaretskii.
64721
64722 2000-04-03  Jim Meyering  <meyering@lucent.com>
64723
64724         * m4/gettext.m4: Fix typo in comment.
64725
64726         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
64727         textutils/configure.in).  Suggestion from Paul Eggert.
64728         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
64729
64730 2000-04-02  Paul Eggert  <eggert@twinsun.com>
64731
64732         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
64733         variable in the shell rather than using putenv, which isn't
64734         portable.  This avoids the configure-time inter-test dependency
64735         on the potentially-renamed putenv function.
64736
64737 2000-03-30  Paul Eggert  <eggert@twinsun.com>
64738
64739         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
64740         before checking struct stat.st_blksize, so that
64741         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
64742
64743 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64744
64745         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
64746         since strftime.c uses HAVE_STRFTIME to decide whether to use
64747         the underlying strftime.
64748
64749 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64750
64751         * lib/time/strftime.c (my_strftime): Make sure we call the system
64752         strftime, not ourselves, when invoking the underlying strftime.
64753
64754 2000-03-24  Jim Meyering  <meyering@lucent.com>
64755
64756         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
64757         (charset_alias): Define.
64758         (install-exec-local): Factor out common code.
64759         (uninstall-local): Split lines longer than 80.
64760         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
64761         (SUFFIXES): Define.
64762         (.sed.in.sed): New rule.  Don't redirect directly to $@.
64763         (CLEANFILES): Add ref-add.sed and ref-del.sed.
64764
64765 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
64766
64767         * lib/config.charset: Output a line containing "Packages using this
64768         file".
64769         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
64770         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
64771         ref-del.sed): New rules.
64772
64773 2000-03-17  Jim Meyering  <meyering@lucent.com>
64774
64775         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
64776         Otherwise, include <strings.h>
64777
64778 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
64779
64780         * lib/unicodeio.c (utf8_wctomb): New function.
64781         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
64782         format instead of in UCS-4 with platform dependent endianness.
64783
64784 2000-03-10  Jim Meyering  <meyering@lucent.com>
64785
64786         * m4/lib-check.m4: Look for getspnam in -lgen, too.
64787         From Marco Franzen.
64788
64789 2000-03-07  Paul Eggert  <eggert@twinsun.com>
64790
64791         * lib/savedir.c (savedir): Work even if directory size is
64792         negative; this can happen with some screwy NFS configurations.
64793
64794 2000-03-06  Jim Meyering  <meyering@lucent.com>
64795
64796         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
64797         if it's NULL (because we ran out of memory).  From Bruno Haible.
64798
64799 2000-03-05  Jim Meyering  <meyering@lucent.com>
64800
64801         * lib/localcharset.c ("path-concat.h"): Include.
64802         (get_charset_aliases): Use path_concat instead of ANSI string
64803         concatenation.
64804
64805         * lib/unicodeio.h (PARAMS): Define.
64806         Use it to guard prototype.
64807
64808 2000-03-04  Jim Meyering  <meyering@lucent.com>
64809
64810         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
64811         for lib/localcharset.c.
64812
64813 2000-03-04  Jim Meyering  <meyering@lucent.com>
64814
64815         * lib/Makefile.am (install-exec-local): Create $(libdir) before
64816         installing into it.
64817         (uninstall-local): Uncomment this rule so `make distcheck' works
64818         once again.
64819
64820         * lib/unicodeio.c (<errno.h>): Include it.
64821         (errno): Declare if not defined.
64822
64823         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
64824
64825         * lib/config.charset: New version, incorporating remarks from a linux
64826         i18n mailing list.  From Bruno Haible.
64827
64828 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
64829
64830         * m4/codeset.m4: New file.
64831         * m4/iconv.m4: New file.
64832         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
64833
64834 2000-03-03  Jim Meyering  <meyering@lucent.com>
64835
64836         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
64837
64838 2000-03-02  Jim Meyering  <meyering@lucent.com>
64839
64840         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
64841         the messages come out on separate lines.
64842
64843         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
64844         rather than jm_CHECK_DECLARATIONS.
64845         * m4/decl.m4: Remove now-unused file.
64846
64847         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
64848         geteuid.
64849
64850 2000-03-02  Jim Meyering  <meyering@lucent.com>
64851
64852         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
64853
64854 2000-03-01  Jim Meyering  <meyering@lucent.com>
64855
64856         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
64857         * lib/unicodeio.c: Likewise.
64858
64859 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
64860
64861         * lib/config.charset: New file.
64862         * lib/localcharset.c: New file.
64863         * lib/unicodeio.h, lib/unicodeio.c: New files.
64864         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
64865         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
64866         (noinst_HEADERS): Add unicodeio.h.
64867         (all-local, install-exec-local, charset.alias): New targets.
64868
64869 2000-02-28  Paul Eggert  <eggert@twinsun.com>
64870
64871         * lib/quotearg.c (ALERT_CHAR): New macro.
64872         (quotearg_buffer_restyled): Use it.
64873
64874 2000-02-27  Jim Meyering  <meyering@lucent.com>
64875
64876         * m4/check-decl.m4: Add getenv to the list.
64877
64878 2000-02-27  Jim Meyering  <meyering@lucent.com>
64879
64880         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
64881         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
64882
64883         * lib/backupfile.c: Guard inclusion of stdlib.h with
64884         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
64885         Declare malloc if needed.
64886
64887         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
64888         `#ifndef HAVE_DECL..'
64889         now that autoconf always defines the HAVE_DECL_ symbols.
64890         * lib/human.c: Likewise.
64891         * lib/same.c: Likewise.
64892         * lib/strtoumax.c: Likewise.
64893
64894         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
64895         declaration check was not run.
64896         * lib/hash.c: Likewise.
64897         * lib/human.c: Likewise.
64898         * lib/same.c: Likewise.
64899         * lib/strtoumax.c: Likewise.
64900
64901         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
64902         `.', then first look up the entire `.'-containing string as a login
64903         name.
64904
64905 2000-02-23  Jim Meyering  <meyering@lucent.com>
64906
64907         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
64908         in place of my hack.
64909
64910 2000-02-18  Paul Eggert  <eggert@twinsun.com>
64911
64912         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
64913         (textint): New typedef.
64914         (parser_control): Member year changed from int to textint.
64915         All uses changed.
64916         (YYSTYPE): Removed; replaced by %union with int and textint members.
64917         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
64918         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
64919         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
64920         (tSNUMBER, tUNUMBER): Now of type <textintval>.
64921         (date, number, to_year): Use width of number in digits, not its value,
64922         to determine whether it's a 2-digit year, or a 2-digit time.
64923         (yylex): Store number of digits of numeric tokens.
64924         Reported by John Kendall.
64925
64926         (parser_control): Changed from struct parser_control to typedef (for
64927         consistency).  All uses changed.
64928
64929         (tID): Removed; not used.
64930         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
64931
64932 2000-02-14  Paul Eggert  <eggert@twinsun.com>
64933
64934         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
64935         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
64936
64937 2000-02-12  Jim Meyering  <meyering@lucent.com>
64938
64939         * lib/userspec.c (ISDIGIT): Define it.
64940         (isdigit): Remove definition.
64941         (is_number): Use ISDIGIT, not isdigit.
64942         <libintl.h>: Include.
64943         (_ and N_): Define.
64944         (parse_user_spec): Mark translatable strings.
64945
64946 2000-02-10  Jim Meyering  <meyering@lucent.com>
64947
64948         With these changes, nanosleep.[ch] are finally enough like the other
64949         lib/* replacement files to compile on a few more losing systems.
64950
64951         * lib/nanosleep.h: Don't include config.h.
64952         Remove prototype from declaration of nanosleep.
64953         (PARAMS): Remove now-unneeded definition.
64954         * lib/nanosleep.c: #undef nanosleep.
64955         (rpl_nanosleep): Rename from nanosleep.
64956
64957 2000-02-10  Jim Meyering  <meyering@lucent.com>
64958
64959         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
64960         gnu_nanosleep to rpl_nanosleep.
64961
64962 2000-02-09  Jim Meyering  <meyering@lucent.com>
64963
64964         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
64965         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
64966
64967 2000-02-08  Akim Demaille  <akim@epita.fr>
64968
64969         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
64970         `[' and `]' and remove uses of `changequote'.
64971         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
64972         (AC_SYS_LARGEFILE): Likewise.
64973         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
64974         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
64975         of changequote.
64976         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
64977         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
64978         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
64979         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
64980
64981 2000-02-05  Jim Meyering  <meyering@lucent.com>
64982
64983         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
64984         Remove explicit use of AC_HEADER_TIME.  It is required by
64985         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
64986         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
64987         in autoconf whereby the expansion of the latter ended up preceding
64988         the expansion of its prerequisite, AC_HEADER_TIME.
64989         Reported by Volker Borchert.
64990
64991 2000-02-03  Jim Meyering  <meyering@lucent.com>
64992
64993         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
64994
64995 2000-02-03  Jim Meyering  <meyering@lucent.com>
64996
64997         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
64998         rather than with `#if HAVE_UTMPNAME'.
64999
65000 2000-02-02  Jim Meyering  <meyering@lucent.com>
65001
65002         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
65003         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
65004         Reported by Eli Zaretskii.
65005
65006 2000-02-01  Jim Meyering  <meyering@lucent.com>
65007
65008         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
65009
65010 2000-01-31  Jim Meyering  <meyering@lucent.com>
65011
65012         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
65013         functions.  Add the time.h and sys/time.h headers along with the
65014         AC_REQUIRE'ment of AC_HEADER_TIME.
65015
65016 2000-01-31  Jim Meyering  <meyering@lucent.com>
65017
65018         * lib/nanosleep.h (nanosleep): Guard declaration with
65019         `#if ! HAVE_DECL_NANOSLEEP'.
65020         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
65021         the declaration in that vendor's sys/timers.h.
65022         Reported by Christian Krackowizer.
65023
65024         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
65025         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
65026         (ISPRINT): Likewise.
65027         Reported by Tom Tromey.
65028
65029 2000-01-30  Jim Meyering  <meyering@lucent.com>
65030
65031         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
65032
65033         * m4/prereq.m4 (utmp_includes): Define.
65034         Check for ut_user and ut_name members in both struct utmpx
65035         and struct utmp.
65036
65037 2000-01-30  Jim Meyering  <meyering@lucent.com>
65038
65039         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
65040         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
65041         header files where only utmpx.ut_user is declared.
65042
65043         * lib/readutmp.h (UT_USER): Define.
65044
65045 2000-01-29  Jim Meyering  <meyering@lucent.com>
65046
65047         * m4/lib-check.m4: New file containing library-related checks from
65048         fileutils and sh-utils (textutils had none).
65049
65050 2000-01-28  Jim Meyering  <meyering@lucent.com>
65051
65052         * m4/perl.m4: Change format of warning message to look more like that
65053         from the missing script.  Suggestion from François Pinard.
65054
65055 2000-01-25  Jim Meyering  <meyering@lucent.com>
65056
65057         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
65058         well as time.h in the compile check.
65059         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
65060         Fix typo in cross-compiling case: s/yes/no/.
65061
65062 2000-01-23  Jim Meyering  <meyering@lucent.com>
65063
65064         * m4/jm-macros.m4: Move df-related tests here from
65065         fileutils/configure.in
65066
65067         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
65068         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
65069
65070         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
65071         s/space/ac_fsusage_space/.
65072         (jm_FILE_SYSTEM_USAGE): Take two parameters.
65073
65074         * m4/ftruncate.m4: New file (derived from part of
65075         fileutils/configure.in).
65076         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
65077         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
65078
65079         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
65080         AC_SUBST these here, rather than just in sh-util/configure.in, so
65081         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
65082         all the same.
65083         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
65084         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
65085         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
65086         (AC_SUBST(POW_LIBM)): Likewise.
65087         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
65088
65089 2000-01-23  Jim Meyering  <meyering@lucent.com>
65090
65091         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
65092         obstack.c.
65093
65094 2000-01-22  Jim Meyering  <meyering@lucent.com>
65095
65096         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
65097
65098         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
65099
65100         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
65101         configure.in
65102         (AC_CHECK_HEADERS): Likewise for sh-utils.
65103         (AC_CHECK_HEADERS): Likewise for textutils.
65104         Merge the three lists of headers.
65105
65106         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
65107         from fileutils' configure.in.
65108
65109         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
65110         code. Moved tests into their own function (_jm_DECL_HEADERS) in
65111         check-decl.m4.
65112
65113         * m4/check-decl.m4: Use #if rather than #ifdef.
65114         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
65115         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
65116         (_jm_DECL_HEADERS): Define new function.
65117         (jm_CHECK_DECLARATIONS): Require it.
65118
65119 2000-01-22  Jim Meyering  <meyering@lucent.com>
65120
65121         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
65122         [! HAVE_DECL_STRTOULL]: Declare strtoull.
65123         Required for some AIX systems.  Reported by Christian Krackowizer.
65124         [TESTING] (main): New function.
65125
65126         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
65127         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
65128         letters.
65129
65130         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
65131         iswprint.
65132
65133         * lib/strverscmp.c (ISDIGIT): Define.
65134         (strverscmp): Use ISDIGIT, not isdigit.
65135
65136 2000-01-19  Jim Meyering  <meyering@lucent.com>
65137
65138         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
65139         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
65140         defines `struct timespec' in <sys/time.h>
65141
65142         * m4/c-bs-a.m4: Remove uses of changequote altogether.
65143         Thanks to Akim for explaining.
65144
65145 2000-01-17  Paul Eggert  <eggert@twinsun.com>
65146
65147         * lib/nanosleep.c (nanosleep):
65148         Don't use SA_INTERRUPT to decide whether to call sigaction, as
65149         POSIX.1 doesn't require SA_INTERRUPT and some systems
65150         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
65151         it's been part of POSIX.1 since day 1 (in 1988).
65152
65153 2000-01-17  Jim Meyering  <meyering@lucent.com>
65154
65155         * lib/interlock: Remove unused file.  Reported by François Pinard.
65156
65157 2000-01-16  Paul Eggert  <eggert@twinsun.com>
65158
65159         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
65160         alert, backslash, formfeed, and vertical tab unnecessarily in
65161         shell quoting style.
65162
65163 2000-01-16  Jim Meyering  <meyering@lucent.com>
65164
65165         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
65166         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
65167         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
65168         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
65169
65170 2000-01-16  Jim Meyering  <meyering@lucent.com>
65171
65172         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
65173         because the latter didn't work.
65174
65175 2000-01-15  Jim Meyering  <meyering@lucent.com>
65176
65177         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
65178         (AC_REPLACE_FUNCS): Add memcpy and memset.
65179         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
65180         Add strpbrk.
65181         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
65182
65183 2000-01-12  Jim Meyering  <meyering@lucent.com>
65184
65185         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
65186         (jm_PREREQ): Use it.
65187         (jm_PREREQ_READUTMP): New macro.
65188         (jm_PREREQ): Use it.
65189
65190 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65191
65192         Quote multibyte characters correctly.
65193         * m4/c-bs-a.m4: New file.
65194         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
65195         (jm_PREREQ): Use it.
65196
65197 2000-01-11  Paul Eggert  <eggert@twinsun.com>
65198
65199         * m4/uintmax_t.m4: Port to autoconf 2.13.
65200
65201 2000-01-08  Jim Meyering  <meyering@ascend.com>
65202
65203         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
65204         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
65205
65206 2000-01-04  Jim Meyering  <meyering@ascend.com>
65207
65208         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
65209         jm_STRUCT_DIRENT_D_TYPE.
65210         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
65211         jm_STRUCT_DIRENT_D_INO.
65212         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
65213         jm_STRUCT_UTIMBUF.
65214         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
65215         renamings.
65216         * m4/utime.m4: Likewise.
65217
65218         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
65219         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
65220
65221 2000-01-03  Paul Eggert  <eggert@twinsun.com>
65222
65223         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
65224         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
65225
65226 2000-01-02  Jim Meyering  <meyering@ascend.com>
65227
65228         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
65229         remember if this is necessary.
65230
65231 1999-12-26  Jim Meyering  <meyering@ascend.com>
65232
65233         * m4/jm-macros.m4: Use it here.
65234         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
65235
65236 1999-12-23  Jim Meyering  <meyering@ascend.com>
65237
65238         * m4/jm-macros.m4: Check for clock_gettime (moved from
65239         fileutils/configure.in)
65240         Check for gettimeofday.
65241
65242 1999-12-20  Jim Meyering  <meyering@ascend.com>
65243
65244         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
65245         autoconf-2.14a-1999-12-20.
65246
65247 1999-12-19  Jim Meyering  <meyering@ascend.com>
65248
65249         * m4/lstat-slash.m4: New file.
65250         * m4/jm-macros.m4: Use the new macro:
65251         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65252
65253 1999-12-07  Jim Meyering  <meyering@ascend.com>
65254
65255         * m4/perl.m4: Require that File::Compare be available, too.
65256         Too many systems seem to lack it.
65257
65258         * m4/strftime.m4: Add checks for most of the cpp macros tested in
65259         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
65260
65261 1999-11-18  Paul Eggert  <eggert@twinsun.com>
65262
65263         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
65264         problem with the QNX 4.25 shell, which doesn't propagate exit
65265         status of failed commands inside shell assignments.
65266
65267 1999-11-17  Jim Meyering  <meyering@ascend.com>
65268
65269         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
65270
65271 1999-11-07  Jim Meyering  <meyering@ascend.com>
65272
65273         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
65274
65275 1999-11-06  Jim Meyering  <meyering@ascend.com>
65276
65277         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
65278         * m4/jm-macros.m4 (jm_MACROS): Use it here.
65279
65280 1999-11-05  Jim Meyering  <meyering@ascend.com>
65281
65282         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
65283         configure.in of textutils, fileutils, and sh-utils into this one
65284         (shared between those packages) file.
65285         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
65286         AC_STRUCT_ST_BLKSIZE.
65287
65288 1999-11-03  Jim Meyering  <meyering@ascend.com>
65289
65290         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
65291         of AC_CHECK_TYPE checks includes unistd.h.
65292         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
65293         Suggestion from Akim Demaille.
65294
65295 1999-10-30  Jim Meyering  <meyering@ascend.com>
65296
65297         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
65298         m4-quoted string.
65299         * m4/ls-mntd-fs.m4: Likewise.
65300         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
65301         * m4/jm-winsz1.m4: Likewise.
65302
65303         * m4/const.m4: Remove file, since the fix made it into the experimental
65304         version of autoconf.
65305         * m4/mktime.m4: Likewise.
65306
65307         * m4/check-type.m4: Remove file, now that the latest version of
65308         AC_CHECK_TYPE takes a third arg to specify additional #includes.
65309
65310         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
65311         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
65312         AC_CHECK_TYPE.
65313
65314 1999-10-04  Jim Meyering  <meyering@ascend.com>
65315
65316         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
65317
65318 1999-09-22  Paul Eggert  <eggert@twinsun.com>
65319
65320         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
65321         2.95.1 bug with HP-UX 10.20.
65322
65323 1999-09-17  Jim Meyering  <meyering@ascend.com>
65324
65325         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
65326         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
65327         due to missing strdup (against sh-utils-2.0).
65328
65329 1999-08-29  Jim Meyering  <meyering@ascend.com>
65330
65331         * m4/jm-macros.m4: Require jm_BISON.
65332         * m4/bison.m4: New file.
65333
65334 1999-08-17  Paul Eggert  <eggert@twinsun.com>
65335
65336         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
65337         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
65338
65339 1999-08-05  Jim Meyering  <meyering@ascend.com>
65340
65341         * m4/getline.m4: Rename test file from conftestdata to conftest.data
65342         to avoid conflicts with `conftest' on 8+3 filesystems.
65343         Suggestion from Eli Zaretskii.
65344
65345 1999-08-04  Jim Meyering  <meyering@ascend.com>
65346
65347         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
65348         fileutils and sh-utils (textutils's getline test was inadequate).
65349         (AM_FUNC_GETLINE): Run this test.
65350         (AC_CHECK_FUNCS): Check for getdelim.
65351         Reported by Bob Proulx.
65352
65353 1999-08-02  Jim Meyering  <meyering@ascend.com>
65354
65355         * m4/jm-macros.m4: Add a comment.
65356
65357 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65358
65359         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
65360         <inttypes.h> defines strtoumax as a macro (and not as a
65361         function).
65362
65363 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65364
65365         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
65366         that we can shift, multiply and divide unsigned long long
65367         values; Ultrix cc can't do it.
65368
65369 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65370
65371         * m4/mktime.m4: New file, which is a preview of what should appear
65372         in the next public autoconf release.
65373
65374 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65375
65376         * m4/lfs.m4: Remove this file.
65377         * m4/largefile.m4: New file.  It contains the old contents of
65378         lfs.m4, except that all names with prefix AC_LFS have been
65379         changed to use the prefix AC_SYS_LARGEFILE instead, to be
65380         compatible with future autoconf versions.  Also, some minor m4
65381         quoting problems have been fixed.
65382
65383 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65384
65385         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
65386         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
65387         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
65388         and simplify the shell code.
65389
65390 1999-08-01  Jim Meyering  <meyering@ascend.com>
65391
65392         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
65393         m4.
65394
65395 1999-07-20  Jim Meyering  <meyering@ascend.com>
65396
65397         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
65398
65399 1999-07-15  Jim Meyering  <meyering@ascend.com>
65400
65401         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
65402
65403 1999-05-22  Jim Meyering  <meyering@ascend.com>
65404
65405         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
65406
65407 1999-05-20  Jim Meyering  <meyering@ascend.com>
65408
65409         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
65410         Add a colon after each `then' in case $4 is empty.
65411
65412 1999-05-16  Jim Meyering  <meyering@ascend.com>
65413
65414         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
65415
65416 1999-05-10  Jim Meyering  <meyering@ascend.com>
65417
65418         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
65419
65420         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
65421         AC_FUNC_MKTIME.
65422
65423 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
65424
65425         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
65426
65427 1999-05-04  Paul Eggert  <eggert@twinsun.com>
65428
65429         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
65430         not CPPFLAGS, so that linking works correctly in IRIX.
65431
65432 1999-04-30  Paul Eggert  <eggert@twinsun.com>
65433
65434         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
65435
65436 1999-04-20  Paul Eggert  <eggert@twinsun.com>
65437
65438         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
65439         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
65440         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
65441         jm_AC_TYPE_UNSIGNED_LONG_LONG.
65442         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
65443
65444         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
65445
65446 1999-04-20  Jim Meyering  <meyering@ascend.com>
65447
65448         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
65449         AC_REPLACE xstroull if necessary.  From Paul Eggert.
65450         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
65451
65452 1999-04-18  Jim Meyering  <meyering@ascend.com>
65453
65454         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
65455         * m4/jm-macros.m4: Use it.
65456
65457 1999-04-06  Jim Meyering  <meyering@ascend.com>
65458
65459         * m4/strftime.m4: Remove test for %f.
65460
65461 1999-03-29  Jim Meyering  <meyering@ascend.com>
65462
65463         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
65464         superset of the AC_TYPE_* checks in the textutils, fileutils,
65465         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
65466         AC_TYPE_PID_T.
65467
65468 1999-03-28  Jim Meyering  <meyering@ascend.com>
65469
65470         * m4/jm-macros.m4: Define GNU_PACKAGE here.
65471         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
65472         replaced e.g., in the *.sh files of the sh-utils.
65473
65474 1999-03-20  Jim Meyering  <meyering@ascend.com>
65475
65476         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
65477         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
65478         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
65479
65480 1999-03-19  Jim Meyering  <meyering@ascend.com>
65481
65482         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
65483
65484 1999-03-12  Jim Meyering  <meyering@ascend.com>
65485
65486         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
65487
65488 1999-03-07  Jim Meyering  <meyering@ascend.com>
65489
65490         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
65491         declared.
65492
65493 1999-02-17  Jim Meyering  <meyering@ascend.com>
65494
65495         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
65496         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
65497
65498 1999-02-07  Jim Meyering  <meyering@ascend.com>
65499
65500         * m4/group-member.m4: New file -- extracted from sh-utils'
65501         configure.in.
65502
65503         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
65504         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
65505
65506 1999-02-06  Jim Meyering  <meyering@ascend.com>
65507
65508         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
65509         * m4/fnmatch.m4: Likewise.
65510         * m4/getgroups.m4: Likewise.
65511         * m4/lstat.m4: Likewise.
65512         * m4/malloc.m4: Likewise.
65513         * m4/putenv.m4: Likewise.
65514         * m4/realloc.m4: Likewise.
65515         * m4/regex.m4: Likewise.
65516         * m4/stat.m4: Likewise.
65517         * m4/strftime.m4: Likewise.
65518         Suggestion from Alain Magloire.
65519
65520         * m4/chown.m4: Use `.$ac_objext', not `.o'.
65521         * m4/fnmatch.m4: Likewise.
65522         * m4/getgroups.m4: Likewise.
65523         * m4/getline.m4: Likewise.
65524         * m4/lstat.m4: Likewise.
65525         * m4/malloc.m4: Likewise.
65526         * m4/memcmp.m4: Likewise.
65527         * m4/putenv.m4: Likewise.
65528         * m4/realloc.m4: Likewise.
65529         * m4/regex.m4: Likewise.
65530         * m4/stat.m4: Likewise.
65531         * m4/strftime.m4: Likewise.
65532         Suggestion from Alain Magloire.
65533
65534         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
65535         an argument.
65536
65537         * m4/regex.m4: Add a run-time Test for proper operation of
65538         re_compile_pattern.
65539
65540 1999-01-31  Jim Meyering  <meyering@ascend.com>
65541
65542         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
65543
65544 1999-01-30  Jim Meyering  <meyering@ascend.com>
65545
65546         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
65547
65548         * m4/jm-mktime.m4: Make this a wrapper around the official
65549         AM_FUNC_MKTIME rather than my private copy, now that the official one
65550         is up to date.
65551         * m4/mktime.m4: Remove file.
65552
65553         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
65554         * m4/uptime.m4: Likewise.
65555         * m4/uintmax_t.m4: Likewise.
65556
65557 1999-01-28  Jim Meyering  <meyering@ascend.com>
65558
65559         * m4/jm-macros.m4: Use jm_AFS.
65560         * m4/afs.m4: New file (from fileutils' configure.in).
65561
65562         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
65563         * m4/chown.m4: Likewise.
65564         * m4/d-ino.m4: Likewise.
65565         * m4/d-type.m4: Likewise.
65566         * m4/fnmatch.m4: Likewise.
65567         * m4/getgroups.m4: Likewise.
65568         * m4/gettext.m4: Likewise.
65569         * m4/jm-mktime.m4: Likewise.
65570         * m4/jm-winsz2.m4: Likewise.
65571         * m4/lcmessage.m4: Likewise.
65572         * m4/ls-mntd-fs.m4: Likewise.
65573         * m4/malloc.m4: Likewise.
65574         * m4/memcmp.m4: Likewise.
65575         * m4/putenv.m4: Likewise.
65576         * m4/realloc.m4: Likewise.
65577         * m4/st_mtim.m4: Likewise.
65578         * m4/strftime.m4: Likewise.
65579
65580 1999-01-16  Jim Meyering  <meyering@ascend.com>
65581
65582         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
65583         (ARGMATCH_DIE_DECL): Define.
65584
65585 1999-01-12  Jim Meyering  <meyering@ascend.com>
65586
65587         * m4/Makefile.am.in: Rewrite to avoid using fmt.
65588         Reported by Lars Hecking.
65589
65590 1999-01-10  Jim Meyering  <meyering@ascend.com>
65591
65592         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
65593         gross kludge.
65594         * m4/inttypes_h.m4: Likewise.
65595         * m4/lstat.m4: Likewise.
65596         * m4/malloc.m4: Likewise.
65597         * m4/readdir.m4: Likewise.
65598         * m4/realloc.m4: Likewise.
65599         * m4/st_dm_mode.m4: Likewise.
65600         * m4/stat.m4: Likewise.
65601         * m4/utimbuf.m4: Likewise.
65602         * m4/utimes.m4: Likewise.
65603
65604         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
65605         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
65606         comments in config.h.in are meaningful.
65607
65608         * m4/jm-macros.m4: Require autoconf-2.13 here.
65609
65610         * m4/regex.m4: By default, don't use the included regex.c on systems
65611         with glibc 2.  Suggestion from Uli Drepper.
65612
65613 1999-01-02  Jim Meyering  <meyering@ascend.com>
65614
65615         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
65616
65617 1998-12-18  Jim Meyering  <meyering@ascend.com>
65618
65619         * m4/Makefile.am.in (Makefile.am): Simplify rule.
65620         Based on a suggestion from Lars Hecking.
65621
65622 1998-11-16  Paul Eggert  <eggert@twinsun.com>
65623
65624         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
65625
65626 1998-11-16  Jim Meyering  <meyering@ascend.com>
65627
65628         * m4/lfs.m4: Double-quote the `uname...` expression.
65629
65630 1998-11-14  Jim Meyering  <meyering@ascend.com>
65631
65632         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
65633         * m4/stat.m4: Likewise.
65634
65635 1998-11-03  Jim Meyering  <meyering@ascend.com>
65636
65637         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
65638         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
65639
65640 1998-10-18  Jim Meyering  <meyering@ascend.com>
65641
65642         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
65643
65644 1998-10-17  Jim Meyering  <meyering@ascend.com>
65645
65646         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
65647         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
65648         calls for those previously hard-coded headers.  Instead, take a new
65649         parameter.
65650         (jm_CHECK_DECLARATIONS): Reflect interface change.
65651         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
65652         (jm_CHECK_DECL_LOCALTIME_R): New macro.
65653
65654         * m4/mktime.m4: Test for spring-forward gap before long-running test.
65655
65656 1998-10-14  Jim Meyering  <meyering@ascend.com>
65657
65658         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
65659         instead of "TZ=America/Vancouver".  From Paul Eggert.
65660
65661 1998-10-11  Jim Meyering  <meyering@ascend.com>
65662
65663         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
65664         This adds a test for a recently added compatibility fix for mktime.c.
65665         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
65666
65667 1998-09-27  Jim Meyering  <meyering@ascend.com>
65668
65669         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
65670
65671         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
65672         ../configure.in, including a change from Gordon Matzigkeit to allow
65673         cross-compiling for the Hurd.
65674
65675         * m4/glibc.m4: New file/macro to test for the GNU C Library
65676         versions 1 and 2.  From Gordon Matzigkeit.
65677         Indent.
65678
65679 1998-09-21  Jim Meyering  <meyering@ascend.com>
65680
65681         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
65682
65683 1998-08-18  Paul Eggert  <eggert@twinsun.com>
65684
65685         Port nanosecond-resolution times to UnixWare 2.1.2 and
65686         pedantic Solaris 2.6.
65687
65688         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
65689         AC_STRUCT_ST_MTIM.
65690         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
65691         Generate name of ns member, instead of just 1 or undef.
65692         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
65693
65694 1998-08-15  Jim Meyering  <meyering@ascend.com>
65695
65696         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
65697         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
65698         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
65699         instead of jm_TYPE_SSIZE_T.
65700
65701 1998-08-12  Jim Meyering  <meyering@ascend.com>
65702
65703         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
65704
65705 1998-08-02  Jim Meyering  <meyering@ascend.com>
65706
65707         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
65708         in acconfig.h manually.
65709
65710 1998-07-31  Paul Eggert  <eggert@twinsun.com>
65711
65712         * m4/st_mtim.m4: New file.
65713
65714 1998-07-28  Jim Meyering  <meyering@ascend.com>
65715
65716         * m4/utimes.m4: Undef stat.
65717
65718 1998-07-25  Jim Meyering  <meyering@ascend.com>
65719
65720         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
65721         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
65722
65723 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
65724
65725         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
65726         uid and gid actually remain unchanged.
65727
65728 1998-07-07  Jim Meyering  <meyering@ascend.com>
65729
65730         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
65731
65732 1998-07-04  Jim Meyering  <meyering@ascend.com>
65733
65734         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
65735         to prove that this macro can be used in packages without regex.c.
65736
65737 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
65738
65739         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
65740         is to be used.
65741
65742 1998-07-03  Jim Meyering  <meyering@ascend.com>
65743
65744         * m4/gettext.m4: Add -lintl if it's found to be necessary.
65745
65746         * m4/gettext.m4: New file -- from gettext-0.10.35.
65747         * m4/lcmessage.m4: Likewise.
65748         * m4/progtest.m4: Likewise.
65749
65750         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
65751         * m4/jm-macros.m4: Require the new macro.
65752
65753 1998-06-29  Jim Meyering  <meyering@ascend.com>
65754
65755         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
65756         for the definition of NGROUPS (used in a system header included
65757         by sys/mount.h).
65758
65759 1998-06-28  Jim Meyering  <meyering@ascend.com>
65760
65761         * m4/ls-mntd-fs.m4: New file.
65762         * m4/fstypename.m4: New file.
65763
65764         * m4/jm-macros.m4: Require the new macro.
65765         * m4/jm-glibc-io.m4: New file.
65766
65767 1998-05-19  Jim Meyering  <meyering@ascend.com>
65768
65769         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
65770         * m4/lchown.m4: New file.
65771
65772         * m4/Makefile.am.in: New file.
65773         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
65774
65775 1998-05-14  Jim Meyering  <meyering@ascend.com>
65776
65777         * m4/Makefile.am (EXTRA_DIST): Add them.
65778         * m4/jm-macros.m4: New file.
65779         * m4/utimbuf.m4: New file.
65780
65781 1998-05-12  Jim Meyering  <meyering@ascend.com>
65782
65783         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
65784
65785 1998-05-11  Jim Meyering  <meyering@ascend.com>
65786
65787         * m4/isc-posix.m4: New file.
65788
65789 1998-05-10  Jim Meyering  <meyering@ascend.com>
65790
65791         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
65792
65793 1998-05-09  Jim Meyering  <meyering@ascend.com>
65794
65795         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
65796         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
65797         with automake.
65798
65799         * m4/ssize_t.m4: New file.
65800         * m4/mktime.m4: Remove file -- the new automake has this now.
65801
65802 1998-04-26  Jim Meyering  <meyering@ascend.com>
65803
65804         * m4/assert.m4: New file.
65805         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
65806
65807 1998-04-05  Jim Meyering  <meyering@ascend.com>
65808
65809         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
65810         (jm_PREREQ): Use it here.
65811
65812 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
65813
65814         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
65815         in acconfig.h.
65816
65817 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
65818
65819         * m4/prereq.m4: New file.
65820         * m4/error.m4: New file.
65821         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
65822
65823 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
65824
65825         * m4/getline.m4: Don't set am_cv_func_working_getline before the
65826         cache-check for the same variable -- that defeated the purpose of
65827         the test; the test program was never run.  This was a problem only
65828         on systems with losing getline functions -- HP-UX 10.20 is one.
65829         Reported by Bjorn Helgaas.
65830
65831 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
65832
65833         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
65834
65835 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
65836
65837         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
65838
65839         * m4/const.m4: New file.  Use an initializer in this declaration
65840         typedef int charset[2]; const charset x;
65841         Reported by Bob Glickstein.
65842
65843 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
65844
65845         * m4/chown.m4: Fix reversed types on -1 args to chown.
65846         From Kaveh Ghazi.
65847
65848 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
65849
65850         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
65851         Add lseek and memchr.
65852
65853         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
65854         T.E.Dickey <dickey@clark.net> said that some older preprocessors
65855         have a 20-character limit on names.
65856
65857 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
65858
65859         * m4/inttypes_h.m4: New file.
65860         * m4/uintmax_t.m4: New file.
65861         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
65862
65863
65864         -----
65865
65866         Local Variables:
65867         coding: utf-8
65868         End:
65869
65870         Copyright (C) 1997-2010 Free Software Foundation, Inc.
65871
65872         Copying and distribution of this file, with or without
65873         modification, are permitted provided the copyright notice
65874         and this notice are preserved.