maint.mk: add a PATH crosschecking syntax-check rule
[pspp] / ChangeLog
1 2010-04-07  Jim Meyering  <meyering@redhat.com>
2
3         maint.mk: add a PATH crosschecking syntax-check rule
4         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
5         Useful if you use a test like the one in help-version (coreutils,
6         diffutils, grep, gzip) that ensures $(VERSION) matches what is
7         printed by prog --version.
8
9 2010-04-06  Bruno Haible  <bruno@clisp.org>
10
11         Fix link error on mingw.
12         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
13         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
14
15 2010-04-06  Bruno Haible  <bruno@clisp.org>
16
17         Assume rmdir exists.
18         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
19
20 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
21
22         doc: update users.txt
23         * users.txt: Add gcal.
24
25 2010-04-06  Jim Meyering  <meyering@redhat.com>
26
27         init.sh: simply unset TMPDIR rather than risking env -i
28         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
29         although it probably works fine on all Unix-based systems, some
30         systems (Cygwin?) cannot tolerate a totally cleared environment.
31         Suggestion from Eric Blake.
32
33 2010-04-06  Jim Meyering  <meyering@redhat.com>
34
35         init.sh: portability fix: use env's POSIX-specified -i option not -u
36         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
37         than unportable env -u.  Solaris 5.11's env lacks support for -u.
38
39 2010-04-05  Bruno Haible  <bruno@clisp.org>
40
41         btowc: Work around Cygwin 1.7.2 bug.
42         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
43         does not map NUL to 0.
44         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
45
46 2010-04-05  Bruno Haible  <bruno@clisp.org>
47
48         Make the multithread modules work on Cygwin 1.7.2.
49         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
50         imported symbols can be declared weak, so that it returns "no" on
51         Cygwin 1.7.2.
52
53 2010-04-05  Bruno Haible  <bruno@clisp.org>
54
55         Use the module 'strncat'.
56         * modules/unistr/u8-strncat (Depends-on): Add strncat.
57
58         Tests for module 'strncat'.
59         * modules/strncat-tests: New file.
60         * tests/test-strncat.c: New file.
61
62         New module 'strncat'.
63         * lib/string.in.h (strncat): New declaration.
64         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
65         * m4/strncat.m4: New file, based on m4/memchr.m4.
66         * modules/strncat: New file.
67         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
68         is declared.
69         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
70         REPLACE_STRNCAT.
71         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
72         REPLACE_STRNCAT.
73         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
74         module.
75         * tests/test-string-c++.cc: Check signature of strncat.
76
77 2010-04-05  Jim Meyering  <meyering@redhat.com>
78
79         xstrtoumax-tests: convert to use init.sh
80         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
81         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
82         Use Exit, not exit.
83         Remove uses of $EXEEXT and "./" to run a program in the current dir.
84
85         xstrtoimax-tests: convert to use init.sh
86         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
87         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
88         Use Exit, not exit.
89         Remove uses of $EXEEXT and "./" to run a program in the current dir.
90
91 2010-04-05  Bruno Haible  <bruno@clisp.org>
92
93         sys_socket: Avoid #define replacements in C++ mode.
94         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
95         warning to the function if possible, rather than #defining the symbol
96         to a dysfunctional alias.
97
98 2010-04-05  Bruno Haible  <bruno@clisp.org>
99
100         fseeko: Fix C++ test error on mingw.
101         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
102         gl_FUNC_FSEEKO.
103         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
104         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
105         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
106         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
107
108 2010-04-05  Bruno Haible  <bruno@clisp.org>
109
110         duplocale: Improve test output.
111         * tests/test-duplocale.c (main): Print reason for skipped test.
112
113 2010-04-05  Bruno Haible  <bruno@clisp.org>
114
115         Assume rmdir exists.
116         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
117         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
118
119 2010-04-05  Bruno Haible  <bruno@clisp.org>
120
121         Fix link error on Solaris 8 with cc.
122         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
123
124 2010-04-05  Bruno Haible  <bruno@clisp.org>
125
126         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
127         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
128
129 2010-04-05  Bruno Haible  <bruno@clisp.org>
130
131         vasprintf: Update documentation.
132         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
133
134 2010-04-05  Bruno Haible  <bruno@clisp.org>
135
136         ptsname: Improve test.
137         * tests/test-ptsname.c (main): Also try the various master names of BSD
138         systems.
139
140 2010-04-05  Bruno Haible  <bruno@clisp.org>
141
142         memchr: Avoid a possible C++ test error.
143         * lib/string.in.h (memchr): Provide declaration if function is missing.
144         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
145         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
146         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
147         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
148
149 2010-04-05  Bruno Haible  <bruno@clisp.org>
150
151         strtok_r: Improve idiom.
152         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
153         AC_LIBOBJ is used.
154
155 2010-04-05  Bruno Haible  <bruno@clisp.org>
156
157         strdup: Improve idiom.
158         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
159         AC_LIBOBJ is used.
160         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
161         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
162         when AC_LIBOBJ is used.
163
164 2010-04-05  Bruno Haible  <bruno@clisp.org>
165
166         mbsinit, mbrtowc, wcrtomb: Improve idioms.
167         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
168         don't set REPLACE_MBSINIT to 1.
169         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
170         don't set REPLACE_MBRTOWC to 1.
171         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
172         exist, don't set REPLACE_MBSRTOWCS to 1.
173         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
174         exist, don't set REPLACE_MBSNRTOWCS to 1.
175         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
176         don't set REPLACE_WCRTOMB to 1.
177         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
178         exist, don't set REPLACE_WCSRTOMBS to 1.
179         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
180         exist, don't set REPLACE_WCSNRTOMBS to 1.
181
182 2010-04-05  Bruno Haible  <bruno@clisp.org>
183
184         ldexpl: Improve idiom.
185         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
186         make sure to set HAVE_DECL_LDEXPL to 0.
187
188 2010-04-05  Jim Meyering  <meyering@redhat.com>
189
190         xstrtol-tests: convert to use init.sh
191         * modules/xstrtol-tests (Files): Add tests/init.sh.
192         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
193         Use Exit, not exit.
194         Remove uses of $EXEEXT and "./" to run a program in the current dir.
195
196         atexit-tests: convert to use init.sh
197         * modules/atexit-tests (Files): Add tests/init.sh.
198         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
199         Use Exit, not exit.
200         Remove uses of $EXEEXT and "./" to run a program in the current dir.
201
202         init.sh: fix typo
203         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
204
205         init.sh: make it easier for a test script to write to the tty, ...
206         when using automake's parallel-tests mode.
207         * tests/init.sh (stderr_fileno_): Define overridable variable.
208         (warn_): New function, to use it.
209         (fail_, skip_, framework_failure_): Use warn_.
210
211 2010-04-04  Bruno Haible  <bruno@clisp.org>
212
213         btowc: Avoid warning.
214         * lib/btowc.c: Include <stdlib.h>.
215         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
216
217 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
218             Bruno Haible  <bruno@clisp.org>
219
220         wchar: Port to NetBSD 1.5.
221         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
222         * lib/wctype.in.h (WEOF): Likewise.
223
224 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
225             Bruno Haible  <bruno@clisp.org>
226
227         Port extended stdio to NetBSD 1.5.
228         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
229         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
230         older.
231
232 2010-04-04  Bruno Haible  <bruno@clisp.org>
233
234         string: Remove unused substitution.
235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
236         HAVE_DECL_STRERROR.
237         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
238
239 2010-04-04  Bruno Haible  <bruno@clisp.org>
240
241         strtod: Avoid a possible C++ test error.
242         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
243         set REPLACE_STRTOD.
244
245 2010-04-04  Bruno Haible  <bruno@clisp.org>
246
247         strerror: Update documentation.
248         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
249
250 2010-04-04  Bruno Haible  <bruno@clisp.org>
251
252         stdio: Fix some C++ test errors on Solaris 8 with GCC.
253         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
254         _GL_CXXALIAS_SYS_CAST.
255
256 2010-04-04  Bruno Haible  <bruno@clisp.org>
257
258         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
259         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
260         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
261         REPLACE_FREXPL to 1.
262         * doc/posix-functions/frexpl.texi: Update documentation.
263
264 2010-04-04  Bruno Haible  <bruno@clisp.org>
265
266         math: Fix some C++ test errors on Solaris 8 and Cygwin.
267         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
268
269 2010-04-04  Bruno Haible  <bruno@clisp.org>
270
271         Implement nanosleep for native Windows.
272         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
273
274 2010-04-04  Bruno Haible  <bruno@clisp.org>
275
276         math: Fix some C++ test errors on Solaris 8.
277         * lib/math.in.h (truncf, trunc): Use simpler idiom.
278
279 2010-04-04  Bruno Haible  <bruno@clisp.org>
280
281         math: Fix some C++ test errors on Cygwin.
282         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
283         truncl): Provide declaration if the system does not have it.
284         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
285         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
286         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
287         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
288         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
289         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
290         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
291         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
292         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
293         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
294         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
295         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
296         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
297         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
298         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
299         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
300         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
301         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
302         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
303         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
304         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
305         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
306
307 2010-04-04  Bruno Haible  <bruno@clisp.org>
308
309         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
310         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
311         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
312         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
313         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
314         * m4/isinf.m4 (gl_ISINF): Likewise.
315         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
316
317 2010-04-04  Bruno Haible  <bruno@clisp.org>
318
319         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
320         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
321
322 2010-04-04  Bruno Haible  <bruno@clisp.org>
323
324         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
325         * modules/tmpfile (configure.ac): Update.
326
327         tmpfile: Fix C++ test error on mingw.
328         * lib/stdio.in.h (tmpfile): New declaration.
329         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
330         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
331         * modules/tmpfile (Depends-on): Add stdio.
332         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
333         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
334         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
335         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
336         REPLACE_TMPFILE.
337         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
338
339 2010-04-04  Bruno Haible  <bruno@clisp.org>
340
341         ioctl: Fix C++ test error on mingw.
342         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
343         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
344         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
345
346 2010-04-03  Bruno Haible  <bruno@clisp.org>
347
348         wcwidth: Fix C++ test error on mingw.
349         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
350         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
351         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
352
353 2010-04-03  Bruno Haible  <bruno@clisp.org>
354
355         nanosleep: Fix C++ test error on mingw.
356         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
357         * lib/time.in.h (nanosleep): Use modern idiom.
358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
359         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
360         REPLACE_NANOSLEEP to 1.
361         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
362         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
363
364 2010-04-03  Bruno Haible  <bruno@clisp.org>
365
366         strptime: Fix C++ test error on mingw.
367         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
368         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
369         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
370         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
371         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
372         not REPLACE_STRPTIME.
373         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
374         REPLACE_STRPTIME.
375
376 2010-04-03  Bruno Haible  <bruno@clisp.org>
377
378         timegm: Fix C++ test error on mingw.
379         * lib/time.in.h (timegm): Use modern idiom.
380         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
381         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
382         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
383         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
384
385 2010-04-03  Bruno Haible  <bruno@clisp.org>
386
387         timegm: Assume declaration if function exists.
388         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
389         if it exists. Don't clobber ac_cv_func_timegm.
390
391 2010-04-03  Bruno Haible  <bruno@clisp.org>
392
393         time_r: Fix C++ test error on mingw.
394         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
395         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
396         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
397         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
398         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
399
400 2010-04-03  Bruno Haible  <bruno@clisp.org>
401
402         time_r: Minor updates.
403         * modules/time_r (Description): Mention the provided functions.
404         * lib/time_r.c: Don't include <string.h>.
405         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
406         * doc/posix-functions/localtime_r.texi: Likewise.
407
408 2010-04-03  Bruno Haible  <bruno@clisp.org>
409
410         time: Fix regression introduced on 2010-03-08.
411         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
412         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
413
414 2010-04-03  Jim Meyering  <meyering@redhat.com>
415
416         maint.mk: don't silently disable project-specific syntax-check rules
417         * top/maint.mk (_prohibit_regexp): Define, to help people realize
418         that they need to convert their project-specific syntax-check rules
419         to use the new _sc_search_regexp.
420
421 2010-04-03  Bruno Haible  <bruno@clisp.org>
422
423         fchdir: Fix regression introduced on 2010-03-08.
424         * lib/unistd.in.h (fchdir): Fix declaration.
425         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
427         REPLACE_FCHDIR.
428         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
429         REPLACE_FCHDIR.
430
431 2010-04-03  Bruno Haible  <bruno@clisp.org>
432
433         getpagesize: Fix C++ test error on mingw.
434         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
435         system does not declare the function.
436         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
437         declared.
438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
439         HAVE_DECL_GETPAGESIZE.
440         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
441
442 2010-04-03  Bruno Haible  <bruno@clisp.org>
443
444         stdio: Make C++ tests work on mingw.
445         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
446         does not declare the function.
447
448 2010-04-03  Bruno Haible  <bruno@clisp.org>
449
450         ftello: Fix C++ test error on mingw.
451         * lib/stdio.in.h (ftello): Use modern idiom.
452         * lib/ftello.c (ftello): Renamed from rpl_ftello.
453         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
454         is missing and that it needs to be replaced.
455         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
457         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
458
459 2010-04-03  Bruno Haible  <bruno@clisp.org>
460
461         fseeko: Fix C++ test error on mingw.
462         * lib/stdio.in.h (fseeko): Use modern idiom.
463         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
464         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
465         is missing and that it needs to be replaced.
466         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
468         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
469
470 2010-04-03  Bruno Haible  <bruno@clisp.org>
471
472         mkstemp: Fix C++ test error on mingw.
473         * lib/stdlib.in.h (mkstemp): Use modern idiom.
474         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
475         function is missing and that it needs to be replaced.
476         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
477         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
478
479 2010-04-03  Bruno Haible  <bruno@clisp.org>
480
481         stpncpy: Fix C++ test error on mingw.
482         * lib/string.in.h (stpncpy): Use modern idiom.
483         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
484         function is missing and that it needs to be replaced.
485         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
486         REPLACE_STPNCPY.
487         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
488
489 2010-04-03  Bruno Haible  <bruno@clisp.org>
490
491         sys_stat: Fix C++ test error on mingw.
492         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
493         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
494
495 2010-04-03  Bruno Haible  <bruno@clisp.org>
496
497         pty: Update doc.
498         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
499
500 2010-04-03  Bruno Haible  <bruno@clisp.org>
501
502         unistd: Fix C++ test error on mingw.
503         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
504
505 2010-04-03  Bruno Haible  <bruno@clisp.org>
506
507         Update doc regarding mingw.
508         * doc/glibc-functions/openpty.texi: Update regarding mingw.
509         * doc/glibc-functions/login_tty.texi: Likewise.
510         * doc/glibc-functions/forkpty.texi: Likewise.
511
512 2010-04-03  Bruno Haible  <bruno@clisp.org>
513
514         stdlib: Avoid compilation failure of c-strtold on mingw.
515         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
516
517 2010-04-03  Bruno Haible  <bruno@clisp.org>
518
519         locale: Make C++ tests work on Cygwin and mingw.
520         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
521         cannot provide the function.
522         Reported by Simon Josefsson.
523
524 2010-04-03  Bruno Haible  <bruno@clisp.org>
525
526         localename: Port to MacOS X 10.6.
527         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
528         memory layout of the locales in MacOS X 10.6 as well.
529         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
530
531 2010-04-02  Bruno Haible  <bruno@clisp.org>
532
533         gnulib-tool: Ensure that long-running tests are executed last.
534         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
535         running tests after the one for the other tests.
536
537 2010-04-02  Bruno Haible  <bruno@clisp.org>
538
539         gnulib-tool: Ensure the tests in the main directory are executed first.
540         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
541         start with the current directory.
542
543 2010-04-02  Bruno Haible  <bruno@clisp.org>
544
545         Tests for module 'havelib', moved here from GNU gettext.
546         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
547         modifications.
548         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
549         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
550         with modifications.
551         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
552         modifications.
553         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
554         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
555         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
556         with modifications.
557         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
558         with modifications.
559         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
560         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
561         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
562         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
563         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
564         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
565         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
566         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
567         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
568         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
569         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
570         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
571         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
572         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
573         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
574         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
575         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
576         with modifications.
577         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
578         with modifications.
579         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
580         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
581         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
582         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
583         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
584         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
585         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
586         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
587         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
588         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
589         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
590         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
591         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
592         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
593         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
594         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
595         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
596         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
597         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
598         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
599         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
600         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
601         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
602         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
603         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
604         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
605         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
606         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
607         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
608         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
609         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
610         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
611         * tests/havelib/rpathx/rpathx.c: New file, from
612         gettext/autoconf-lib-link.
613         * tests/havelib/rpathx/Makefile.am: New file, from
614         gettext/autoconf-lib-link.
615         * tests/havelib/rpathx/configure.ac: New file, from
616         gettext/autoconf-lib-link with modifications.
617         * tests/havelib/rpathy/rpathy.c: New file, from
618         gettext/autoconf-lib-link.
619         * tests/havelib/rpathy/Makefile.am: New file, from
620         gettext/autoconf-lib-link.
621         * tests/havelib/rpathy/configure.ac: New file, from
622         gettext/autoconf-lib-link with modifications.
623         * tests/havelib/rpathz/rpathz.c: New file, from
624         gettext/autoconf-lib-link.
625         * tests/havelib/rpathz/Makefile.am: New file, from
626         gettext/autoconf-lib-link.
627         * tests/havelib/rpathz/configure.ac: New file, from
628         gettext/autoconf-lib-link with modifications.
629         * tests/havelib/rpathlx/usex.c: New file, from
630         gettext/autoconf-lib-link.
631         * tests/havelib/rpathlx/Makefile.am: New file, from
632         gettext/autoconf-lib-link.
633         * tests/havelib/rpathlx/configure.ac: New file, from
634         gettext/autoconf-lib-link with modifications.
635         * tests/havelib/rpathly/usey.c: New file, from
636         gettext/autoconf-lib-link.
637         * tests/havelib/rpathly/Makefile.am: New file, from
638         gettext/autoconf-lib-link.
639         * tests/havelib/rpathly/configure.ac: New file, from
640         gettext/autoconf-lib-link with modifications.
641         * tests/havelib/rpathlz/usez.c: New file, from
642         gettext/autoconf-lib-link.
643         * tests/havelib/rpathlz/Makefile.am: New file, from
644         gettext/autoconf-lib-link.
645         * tests/havelib/rpathlz/configure.ac: New file, from
646         gettext/autoconf-lib-link with modifications.
647         * tests/havelib/rpathlyx/usey.c: New file, from
648         gettext/autoconf-lib-link.
649         * tests/havelib/rpathlyx/Makefile.am: New file, from
650         gettext/autoconf-lib-link.
651         * tests/havelib/rpathlyx/configure.ac: New file, from
652         gettext/autoconf-lib-link with modifications.
653         * tests/havelib/rpathlzyx/usez.c: New file, from
654         gettext/autoconf-lib-link.
655         * tests/havelib/rpathlzyx/Makefile.am: New file, from
656         gettext/autoconf-lib-link.
657         * tests/havelib/rpathlzyx/configure.ac: New file, from
658         gettext/autoconf-lib-link with modifications.
659         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
660         with modifications.
661
662 2010-04-02  Bruno Haible  <bruno@clisp.org>
663
664         gnulib-tool: Create distributed built sources also for the tests.
665         * gnulib-tool (func_create_testdir): Also generate distributed built
666         sources in the tests directory.
667
668 2010-04-02  Bruno Haible  <bruno@clisp.org>
669
670         gnulib-tool: Obey user's environment variables.
671         * gnulib-tool (func_create_testdir): When creating built sources,
672         respect the environment variables for autoconf, automake, etc. given by
673         the user.
674
675 2010-04-02  Bruno Haible  <bruno@clisp.org>
676
677         gnulib-tool: Provide the value of --m4-base to modules.
678         * gnulib-tool (func_import, func_create_testdir): Emit a definition
679         of gl_m4_base.
680
681 2010-04-02  Eric Blake  <eblake@redhat.com>
682
683         maint.mk: fix some fallout
684         * NEWS: Document the incompatible change, and its effect on cfg.mk.
685         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
686
687 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
688
689         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
690         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
691         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
692         (sc_cast_of_x_alloc_return_value): Likewise.
693         (sc_cast_of_alloca_return_value): Likewise.
694         (sc_space_tab): Likewise.
695         (sc_prohibit_atoi_atof): Likewise.
696         (sc_prohibit_magic_number_exit): Likewise.
697         (sc_error_exit_success): Likewise.
698         (sc_file_system): Likewise.
699         (sc_prohibit_have_config_h): Likewise.
700         (sc_require_config_h): Likewise.
701         (sc_prohibit_HAVE_MBRTOWC): Likewise.
702         (sc_obsolete_symbols): Likewise.
703         (sc_changelog): Likewise.
704         (sc_program_name): Likewise.
705         (sc_the_the): Likewise.
706         (sc_trailing_blank): Likewise.
707         (sc_two_space_separator_in_usage): Likewise.
708         (sc_useless_cpp_parens): Likewise.
709         (sc_GPL_version): Likewise.
710         (sc_GFDL_version): Likewise.
711         (sc_texinfo_acronym): Likewise.
712         (sc_prohibit_cvs_keyword): Likewise.
713         (sc_prohibit_stat_st_blocks): Likewise.
714         (sc_prohibit_S_IS_definition): Likewise.
715         (sc_redundant_const): Likewise.
716         (sc_makefile_TAB_only_indentation): Likewise.
717         (sc_m4_quote_check): Likewise.
718         (sc_makefile_path_separator_check): Likewise.
719         (sc_copyright_check): Likewise.
720         (sc_Wundef_boolean): Likewise.
721         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
722
723         maint.mk: match 0 or more whitespace-before-function-call '('
724         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
725         that have zero or two-and-more spaces between the function name
726         and the open parenthesis.
727         (sc_error_message_warn_fatal): Likewise.
728         (sc_error_message_uppercase): Likewise.
729         (sc_error_message_period): Likewise.
730
731 2010-03-31  Eric Blake  <eblake@redhat.com>
732
733         maint.mk: check for [ as well as test
734         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
735         Based on a libvirt report by Matthias Bolte.
736
737         gnumakefile: don't squelch _version output
738         * top/GNUmakefile (_version): Create one-shot dependency rather
739         than using $(shell) when version must be regenerated.
740         (_autoreconf): Run verbosely, by default.
741
742         sys_time: avoid compiler warnings
743         * lib/sys_time.in.h (includes): Ensure gcc pragma is
744         unconditional, fixing regression from 2010-03-29.
745         Reported by Simon Josefsson.
746
747 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
748
749         maint.mk: s/_header_without_use/_sc_header_without_use/
750         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
751         (sc_prohibit_assert_without_use): Use the new name.
752         (sc_prohibit_close_stream_without_use): Likewise.
753         (sc_prohibit_getopt_without_use): Likewise.
754         (sc_prohibit_quotearg_without_use): Likewise.
755         (sc_prohibit_quote_without_use): Likewise.
756         (sc_prohibit_long_options_without_use): Likewise.
757         (sc_prohibit_inttostr_without_use): Likewise.
758         (sc_prohibit_ignore_value_without_use): Likewise.
759         (sc_prohibit_error_without_use): Likewise.
760         (sc_prohibit_xalloc_without_use): Likewise.
761         (sc_prohibit_hash_without_use): Likewise.
762         (sc_prohibit_hash_pjw_without_use): Likewise.
763         (sc_prohibit_safe_read_without_use): Likewise.
764         (sc_prohibit_argmatch_without_use): Likewise.
765         (sc_prohibit_canonicalize_without_use): Likewise.
766         (sc_prohibit_root_dev_ino_without_use): Likewise.
767         (sc_prohibit_openat_without_use): Likewise.
768         (sc_prohibit_c_ctype_without_use): Likewise.
769         (sc_prohibit_signal_without_use): Likewise.
770         (sc_prohibit_intprops_without_use): Likewise.
771
772 2010-03-30  Eric Blake  <eblake@redhat.com>
773
774         maint: improve module indicators
775         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
776         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
777         columns, and avoid extra macro expansion.
778
779         fdopendir: work around FreeBSD bug
780         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
781         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
782         * modules/dirent (Makefile.am): Substitute it.
783         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
784         declaration.
785         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
786         fix.
787         Reported by Christian Weisgerber <naddy@mips.inka.de>.
788
789 2010-03-29  Bruno Haible  <bruno@clisp.org>
790
791         Emit #pragma system_header after the inclusion guard, not before.
792         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
793         guard that spans the entire file, not before. This enables an
794         optimization in GCC's preprocessor.
795         * lib/ctype.in.h: Likewise.
796         * lib/dirent.in.h: Likewise.
797         * lib/errno.in.h: Likewise.
798         * lib/float.in.h: Likewise.
799         * lib/getopt.in.h: Likewise.
800         * lib/iconv.in.h: Likewise.
801         * lib/langinfo.in.h: Likewise.
802         * lib/locale.in.h: Likewise.
803         * lib/math.in.h: Likewise.
804         * lib/netdb.in.h: Likewise.
805         * lib/netinet_in.in.h: Likewise.
806         * lib/pty.in.h: Likewise.
807         * lib/sched.in.h: Likewise.
808         * lib/se-selinux.in.h: Likewise.
809         * lib/search.in.h: Likewise.
810         * lib/spawn.in.h: Likewise.
811         * lib/stdarg.in.h: Likewise.
812         * lib/stdint.in.h: Likewise.
813         * lib/string.in.h: Likewise.
814         * lib/strings.in.h: Likewise.
815         * lib/sys_file.in.h: Likewise.
816         * lib/sys_ioctl.in.h: Likewise.
817         * lib/sys_time.in.h: Likewise.
818         * lib/sys_times.in.h: Likewise.
819         * lib/sys_utsname.in.h: Likewise.
820         * lib/sys_wait.in.h: Likewise.
821         * lib/sysexits.in.h: Likewise.
822         * lib/wctype.in.h: Likewise.
823
824 2010-03-28  James Youngman  <jay@gnu.org>
825
826         save-cwd: don't leak a file descriptor when the caller execs.
827         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
828         saved file descriptor.
829         * modules/save-cwd (Depends-on): Depend on cloexec.
830
831 2010-03-29  Bruno Haible  <bruno@clisp.org>
832
833         Remove vestiges of fts-lgpl module.
834         * lib/fts_.h: Assume GNULIB_FTS is 1.
835         * lib/fts.c: Likewise.
836         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
837
838 2010-03-28  Bruno Haible  <bruno@clisp.org>
839
840         Fix definition of tests witness macro.
841         * gnulib-tool (func_import): Fix definition of witness macro.
842
843 2010-03-28  Bruno Haible  <bruno@clisp.org>
844
845         Fix ioctl's protoype on glibc systems.
846         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
847         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
848         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
849         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
850         signature. If not, arrange to replace the ioctl function.
851         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
852         REPLACE_IOCTL.
853         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
854         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
855         Reported by Ludovic Courtès <ludo@gnu.org>.
856
857 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
858
859         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
860         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
861         made it so grep -r --include=GLOB* ... did not work.
862
863 2010-03-26  Jim Meyering  <meyering@redhat.com>
864             Eric Blake  <eblake@redhat.com>
865
866         maint.mk: prohibit use of test's -o and -a operators
867         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
868
869 2010-03-28  Bruno Haible  <bruno@clisp.org>
870
871         Remove unused GNULIB_XYZ macro definitions.
872         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
873         invocation.
874
875 2010-03-28  Bruno Haible  <bruno@clisp.org>
876
877         Mark privileged tests modules.
878         * modules/idpriv-drop-tests (Status): New section.
879         * modules/idpriv-droptemp-tests (Status): New section.
880
881 2010-03-28  Bruno Haible  <bruno@clisp.org>
882
883         Split C++ tests into separate tests modules.
884         * modules/dirent-c++-tests: New file, extracted from
885         modules/dirent-tests.
886         * modules/dirent-tests: Depend on it.
887         * modules/fcntl-h-c++-tests: New file, extracted from
888         modules/fcntl-h-tests.
889         * modules/fcntl-h-tests: Depend on it.
890         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
891         * modules/glob-tests: Depend on it.
892         * modules/iconv-h-c++-tests: New file, extracted from
893         modules/iconv-h-tests.
894         * modules/iconv-h-tests: Depend on it.
895         * modules/langinfo-c++-tests: New file, extracted from
896         modules/langinfo-tests.
897         * modules/langinfo-tests: Depend on it.
898         * modules/locale-c++-tests: New file, extracted from
899         modules/locale-tests.
900         * modules/locale-tests: Depend on it.
901         * modules/math-c++-tests: New file, extracted from modules/math-tests.
902         * modules/math-tests: Depend on it.
903         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
904         * modules/pty-tests: Depend on it.
905         * modules/search-c++-tests: New file, extracted from
906         modules/search-tests.
907         * modules/search-tests: Depend on it.
908         * modules/signal-c++-tests: New file, extracted from
909         modules/signal-tests.
910         * modules/signal-tests: Depend on it.
911         * modules/spawn-c++-tests: New file, extracted from
912         modules/spawn-tests.
913         * modules/spawn-tests: Depend on it.
914         * modules/stdio-c++-tests: New file, extracted from
915         modules/stdio-tests.
916         * modules/stdio-tests: Depend on it.
917         * modules/stdlib-c++-tests: New file, extracted from
918         modules/stdlib-tests.
919         * modules/stdlib-tests: Depend on it.
920         * modules/string-c++-tests: New file, extracted from
921         modules/string-tests.
922         * modules/string-tests: Depend on it.
923         * modules/sys_ioctl-c++-tests: New file, extracted from
924         modules/sys_ioctl-tests.
925         * modules/sys_ioctl-tests: Depend on it.
926         * modules/sys_select-c++-tests: New file, extracted from
927         modules/sys_select-tests.
928         * modules/sys_select-tests: Depend on it.
929         * modules/sys_socket-c++-tests: New file, extracted from
930         modules/sys_socket-tests.
931         * modules/sys_socket-tests: Depend on it.
932         * modules/sys_stat-c++-tests: New file, extracted from
933         modules/sys_stat-tests.
934         * modules/sys_stat-tests: Depend on it.
935         * modules/sys_time-c++-tests: New file, extracted from
936         modules/sys_time-tests.
937         * modules/sys_time-tests: Depend on it.
938         * modules/time-c++-tests: New file, extracted from modules/time-tests.
939         * modules/time-tests: Depend on it.
940         * modules/unistd-c++-tests: New file, extracted from
941         modules/unistd-tests.
942         * modules/unistd-tests: Depend on it.
943         * modules/wchar-c++-tests: New file, extracted from
944         modules/wchar-tests.
945         * modules/wchar-tests: Depend on it.
946         * modules/wctype-c++-tests: New file, extracted from
947         modules/wctype-tests.
948         * modules/wctype-tests: Depend on it.
949         Reported by Simon Josefsson.
950
951 2010-03-28  Bruno Haible  <bruno@clisp.org>
952
953         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
954         * gnulib-tool (func_exists_module): New function, extracted from
955         func_verify_module.
956         (func_verify_module): Use it.
957         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
958         'foo' only if 'foo' exists.
959         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
960         module.
961
962 2010-03-28  Bruno Haible  <bruno@clisp.org>
963
964         gnulib-tool: Add support for special categories of tests.
965         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
966         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
967         (func_usage): Document them.
968         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
969         inc_unportable_tests, inc_all_tests): New variables.
970         (func_acceptable): Consider these variables.
971         (func_modules_transitive_closure): Make it work when the 'Status' field
972         consists of multiple words.
973         (func_import): Store and restore the values of inc_cxx_tests,
974         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
975         inc_all_tests in gnulib-comp.m4.
976         (func_create_testdir): Set inc_all_tests to true.
977         * doc/gnulib.texi (Extra tests modules): New section.
978         Suggested by Jim Meyering.
979
980 2010-03-28  Bruno Haible  <bruno@clisp.org>
981
982         ansi-c++-opt: Allow turning off the C++ build by default.
983         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
984         gl_CXX_CHOICE_DEFAULT_NO is defined.
985         Requested by Eric Blake.
986
987 2010-03-28  Bruno Haible  <bruno@clisp.org>
988
989         unistd: Avoid #define replacements in C++ mode.
990         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
991         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
992         setsockopt, shutdown, select): In C++, attach a warning to the function
993         if possible, rather than #defining the symbol to a dysfunctional alias.
994         Reported by John W. Eaton <jwe@gnu.org>.
995
996 2010-03-28  Bruno Haible  <bruno@clisp.org>
997
998         Fix link errors on mingw.
999         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
1000         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
1001         $(LIBSOCKET).
1002         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
1003         $(LIBSOCKET).
1004
1005 2010-03-28  Bruno Haible  <bruno@clisp.org>
1006             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1007
1008         lib-ignore: Determine different options for different compilers.
1009         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
1010         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
1011         Add comments.
1012         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
1013         * NEWS: Mention the change.
1014
1015 2010-03-27  Bruno Haible  <bruno@clisp.org>
1016
1017         Remove unused GNULIB_XYZ macro definitions.
1018         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
1019         * modules/fseek (configure.ac): Likewise.
1020         * modules/ioctl (configure.ac): Likewise.
1021         * modules/open (configure.ac): Likewise.
1022         * modules/stdlib-safer (configure.ac): Likewise.
1023
1024 2010-03-27  Bruno Haible  <bruno@clisp.org>
1025
1026         Add a remark about certain modules.
1027         * modules/malloc (Comment): New section.
1028         * modules/realloc (Comment): Likewise.
1029         * modules/sigpipe (Comment): Likewise.
1030
1031 2010-03-27  Bruno Haible  <bruno@clisp.org>
1032
1033         Resolve conflict between the two kinds of module indicators.
1034         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
1035         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
1036         * modules/canonicalize (configure.ac): Invoke
1037         gl_MODULE_INDICATOR_FOR_TESTS.
1038         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
1039         GNULIB_XYZ.
1040         * tests/test-dirent-c++.cc: Likewise.
1041         * tests/test-dirent-safer.c: Likewise.
1042         * tests/test-dup2.c: Likewise.
1043         * tests/test-fchdir.c: Likewise.
1044         * tests/test-fcntl-h-c++.cc: Likewise.
1045         * tests/test-getopt.c: Likewise.
1046         * tests/test-getopt.h: Likewise.
1047         * tests/test-langinfo-c++.cc: Likewise.
1048         * tests/test-locale-c++.cc: Likewise.
1049         * tests/test-math-c++.cc: Likewise.
1050         * tests/test-pty-c++.cc: Likewise.
1051         * tests/test-search-c++.cc: Likewise.
1052         * tests/test-signal-c++.cc: Likewise.
1053         * tests/test-spawn-c++.cc: Likewise.
1054         * tests/test-stdio-c++.cc: Likewise.
1055         * tests/test-stdlib-c++.cc: Likewise.
1056         * tests/test-string-c++.cc: Likewise.
1057         * tests/test-sys_ioctl-c++.cc: Likewise.
1058         * tests/test-sys_select-c++.cc: Likewise.
1059         * tests/test-sys_socket-c++.cc: Likewise.
1060         * tests/test-sys_stat-c++.cc: Likewise.
1061         * tests/test-sys_time-c++.cc: Likewise.
1062         * tests/test-time-c++.cc: Likewise.
1063         * tests/test-unistd-c++.cc: Likewise.
1064         * tests/test-wchar-c++.cc: Likewise.
1065         * tests/uninorm/test-u8-nfc.c: Likewise.
1066         * tests/uninorm/test-u8-nfd.c: Likewise.
1067         * tests/uninorm/test-u8-nfkc.c: Likewise.
1068         * tests/uninorm/test-u8-nfkd.c: Likewise.
1069         * tests/uninorm/test-u16-nfc.c: Likewise.
1070         * tests/uninorm/test-u16-nfd.c: Likewise.
1071         * tests/uninorm/test-u16-nfkc.c: Likewise.
1072         * tests/uninorm/test-u16-nfkd.c: Likewise.
1073         * tests/uninorm/test-u32-nfc.c: Likewise.
1074         * tests/uninorm/test-u32-nfc-big.c: Likewise.
1075         * tests/uninorm/test-u32-nfd.c: Likewise.
1076         * tests/uninorm/test-u32-nfd-big.c: Likewise.
1077         * tests/uninorm/test-u32-nfkc.c: Likewise.
1078         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
1079         * tests/uninorm/test-u32-nfkd.c: Likewise.
1080         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
1081         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1082
1083 2010-03-27  Bruno Haible  <bruno@clisp.org>
1084
1085         Distinguish two kinds of module indicators.
1086         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
1087         gl_MODULE_INDICATOR.
1088         (gl_MODULE_INDICATOR): New macro.
1089         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
1090         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
1091         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1092         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1093         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1094         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1095         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1096         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1097         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1098         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1099         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1100         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1101         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1102         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1103         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1104         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1105         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1106         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1107         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1108         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1109         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1110         * modules/cloexec (configure.ac): Likewise.
1111         * modules/getopt-gnu (configure.ac): Likewise.
1112         * modules/uninorm/u8-normalize (configure.ac): Likewise.
1113         * modules/uninorm/u16-normalize (configure.ac): Likewise.
1114         * modules/uninorm/u32-normalize (configure.ac): Likewise.
1115         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
1116
1117 2010-03-27  Bruno Haible  <bruno@clisp.org>
1118
1119         New module description field 'Comment'.
1120         * gnulib-tool: New option --extract-comment.
1121         (func_usage): Document it.
1122         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
1123         (func_get_comment): New function.
1124         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
1125
1126 2010-03-27  Bruno Haible  <bruno@clisp.org>
1127
1128         Addendum to 2010-02-07 commit.
1129         * gnulib-tool (func_usage): Document --extract-applicability option.
1130
1131 2010-03-27  Bruno Haible  <bruno@clisp.org>
1132
1133         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
1134         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
1135         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
1136         rather than link errors.
1137
1138 2010-03-27  Bruno Haible  <bruno@clisp.org>
1139
1140         Avoid side effects from tests-related modules on the compilation of lib.
1141         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
1142         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
1143         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
1144         parameter. Emit into AM_CPPFLAGS a definition of the designated C
1145         macro.
1146         (func_import): Define a witness macro. Assign it a value that depends
1147         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
1148         tests-related modules.
1149         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
1150         Reported by Jim Meyering.
1151
1152 2010-03-27  Bruno Haible  <bruno@clisp.org>
1153
1154         Factorize common .m4 code.
1155         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
1156         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
1157         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
1158         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
1159         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
1160         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
1161         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
1162         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
1163         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
1164         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
1165         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
1166         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
1167         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
1168         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
1169         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
1170         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
1171         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
1172         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
1173         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
1174         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
1175         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
1176         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
1177         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
1178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
1179         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
1180         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
1181         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
1182         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
1183         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
1184         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
1185         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
1186         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
1187
1188 2010-03-27  Bruno Haible  <bruno@clisp.org>
1189
1190         Fix a compilation error on Cygwin with g++ >= 4.3.
1191         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
1192         if it is undefined or if we alias it to chmod.
1193         (lstat): Don't warn about the use of this function if it is undefined
1194         or if we alias it to stat.
1195         Reported by Simon Josefsson.
1196
1197 2010-03-27  Bruno Haible  <bruno@clisp.org>
1198
1199         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
1200         * modules/getlogin (configure.ac): Update.
1201
1202         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
1203         * modules/getlogin_r (configure.ac): Update.
1204
1205         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
1206         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
1207         * modules/inet_ntop (configure.ac): Update.
1208
1209         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
1210         * modules/inet_pton (configure.ac): Update.
1211
1212         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
1213         * modules/mbslen (configure.ac): Update.
1214
1215         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
1216         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
1217         * modules/forkpty (configure.ac): Update.
1218         * modules/openpty (configure.ac): Update.
1219
1220 2010-03-26  Simon Josefsson  <simon@josefsson.org>
1221
1222         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
1223         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
1224
1225 2010-03-25  Eric Blake  <eblake@redhat.com>
1226
1227         maint: use pragma consistently across replacement headers
1228         * lib/ctype.in.h (system_header): Hoist for consistent placement.
1229         * lib/dirent.in.h (system_header): Likewise.
1230         * lib/errno.in.h (system_header): Likewise.
1231         * lib/float.in.h (system_header): Likewise.
1232         * lib/getopt.in.h (system_header): Likewise.
1233         * lib/iconv.in.h (system_header): Likewise.
1234         * lib/inttypes.in.h (system_header): Likewise.
1235         * lib/langinfo.in.h (system_header): Likewise.
1236         * lib/locale.in.h (system_header): Likewise.
1237         * lib/math.in.h (system_header): Likewise.
1238         * lib/netdb.in.h (system_header): Likewise.
1239         * lib/netinet_in.in.h (system_header): Likewise.
1240         * lib/pty.in.h (system_header): Likewise.
1241         * lib/sched.in.h (system_header): Likewise.
1242         * lib/se-selinux.in.h (system_header): Likewise.
1243         * lib/search.in.h (system_header): Likewise.
1244         * lib/spawn.in.h (system_header): Likewise.
1245         * lib/stdarg.in.h (system_header): Likewise.
1246         * lib/stdint.in.h (system_header): Likewise.
1247         * lib/string.in.h (system_header): Likewise.
1248         * lib/strings.in.h (system_header): Likewise.
1249         * lib/sys_file.in.h (system_header): Likewise.
1250         * lib/sys_ioctl.in.h (system_header): Likewise.
1251         * lib/sys_socket.in.h (system_header): Likewise.
1252         * lib/sys_times.in.h (system_header): Likewise.
1253         * lib/sys_utsname.in.h (system_header): Likewise.
1254         * lib/sys_wait.in.h (system_header): Likewise.
1255         * lib/sysexits.in.h (system_header): Likewise.
1256         * lib/unistd.in.h (system_header): Likewise.
1257         * lib/wctype.in.h (system_header): Likewise.
1258
1259         arpa/inet: fix mingw compilation warning
1260         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
1261         Reported by Matthew Bolte.
1262
1263 2010-03-25  Bruno Haible  <bruno@clisp.org>
1264
1265         Avoid collision between gnulib wrapper and libintl wrapper.
1266         * lib/printf.c (printf): Don't define if a printf wrapper is already
1267         defined in intl/printf.c.
1268         Reported by Michel Boaventura <michel@michelboaventura.com>.
1269
1270 2010-03-25  Bruno Haible  <bruno@clisp.org>
1271
1272         Use ANSI C.
1273         * lib/readutmp.h (getutent): Provide ANSI C prototype.
1274
1275 2010-03-25  Bruno Haible  <bruno@clisp.org>
1276
1277         Minor formatting changes.
1278         * lib/acosl.c: Insert space before function argument list.
1279         * lib/argz.c: Likewise.
1280         * lib/asinl.c: Likewise.
1281         * lib/expl.c: Likewise.
1282         * lib/gen-uni-tables.c: Likewise.
1283         * lib/gettext.h: Likewise.
1284         * lib/glthread/lock.h: Likewise.
1285         * lib/tanl.c: Likewise.
1286         * lib/uniname/uniname.c: Likewise.
1287         * tests/test-idpriv-drop.c: Likewise.
1288         * tests/test-idpriv-droptemp.c: Likewise.
1289         * tests/test-lock.c: Likewise.
1290         * tests/test-tls.c: Likewise.
1291         * lib/argp-help.c: Insert space before function-like macro argument
1292         list.
1293         * lib/memcmp.c: Likewise.
1294         * tests/test-base64.c: Likewise.
1295         * lib/localename.c: Insert space before sizeof's argument list.
1296         * lib/safe-alloc.h: Likewise.
1297         * lib/file-set.h: Insert space before macro argument list.
1298         * tests/test-argp.c: Likewise.
1299         * lib/argp-namefrob.h: Insert space before function parameter list.
1300         * lib/getaddrinfo.c: Likewise.
1301         * lib/netdb.in.h: Likewise.
1302         * lib/parse-duration.h: Likewise.
1303         * lib/parse-duration.c: Likewise.
1304         * lib/poll.c: Likewise.
1305         * lib/select.c: Likewise.
1306         * lib/trim.h: Likewise.
1307         * tests/test-usleep.c: Likewise.
1308         * lib/ldexpl.c: Insert space before function parameter list and before
1309         function argument list.
1310         * lib/logl.c: Likewise.
1311         * lib/sqrtl.c: Likewise.
1312         * lib/trim.c: Likewise.
1313         * lib/cosl.c: Use GNU style indentation. Insert space before function
1314         argument list.
1315         * lib/sinl.c: Likewise.
1316         * lib/tsearch.c: Insert space after 'for'.
1317         Reported by Jim Meyering.
1318
1319 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
1320
1321         * maint.mk (sc_Wundef_boolean): Check for the presence of the
1322         config header before grepping, as it's not present before
1323         autoreconf/configure are run.  Reported by Simon Josefsson.
1324
1325 2010-03-23  Bruno Haible  <bruno@clisp.org>
1326
1327         pt_chown: Make it work with automake < 1.11.
1328         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
1329         Reported by Simon Josefsson.
1330
1331 2010-03-23  Bruno Haible  <bruno@clisp.org>
1332
1333         pt_chown: Don't depend on GPLed modules.
1334         * lib/pt_chown.c: Don't include idpriv.h.
1335         (main): Don't drop privileges.
1336         * modules/pt_chown (Depends-on): Remove idpriv-drop.
1337         Reported by Simon Josefsson.
1338
1339 2010-03-24  Simon Josefsson  <simon@josefsson.org>
1340
1341         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
1342         suggestions from karl@freefriends.org (Karl Berry).
1343
1344 2010-03-22  Eric Blake  <eblake@redhat.com>
1345
1346         gethostname: further tweaks
1347         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
1348         are overriding gethostname.
1349         Suggested by Bruno Haible.
1350
1351 2010-03-21  Bruno Haible  <bruno@clisp.org>
1352
1353         Fix comments.
1354         * lib/forkpty.c (rpl_forkpty): Fix comment.
1355         * lib/openpty.c (rpl_openpty): Likewise.
1356         Reported by Eric Blake.
1357
1358 2010-03-22  Eric Blake  <eblake@redhat.com>
1359
1360         gethostname: fix build on mingw
1361         * lib/unistd.in.h (includes): Work around fact that mingw
1362         <winsock2.h> re-includes <unistd.h>, by avoiding any
1363         redeclarations if we are being included by <winsock2.h>.
1364         Reported by Matthias Bolte.
1365
1366 2010-03-21  Bruno Haible  <bruno@clisp.org>
1367
1368         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1369         * lib/forkpty.c (forkpty): New replacement function, from glibc with
1370         modifications.
1371         * lib/pty.in.h (forkpty): Update declaration. Add comments.
1372         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
1373         provide the replacement.
1374         * modules/forkpty (Depends-on): Add openpty, login_tty.
1375         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
1376         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
1377         * doc/glibc-functions/forkpty.texi: More supported platforms.
1378         * config/srclist.txt: Add forkpty.c (commented).
1379
1380 2010-03-21  Bruno Haible  <bruno@clisp.org>
1381
1382         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
1383         (Makefile.am): Verify that PTY_LIB is defined.
1384
1385         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
1386
1387 2010-03-21  Bruno Haible  <bruno@clisp.org>
1388
1389         Tests for module 'login_tty'.
1390         * modules/login_tty-tests: New file.
1391         * tests/test-login_tty.c: New file.
1392
1393         New module 'login_tty'.
1394         * lib/login_tty.c: New file.
1395         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
1396         * modules/login_tty: New file.
1397         * doc/glibc-functions/login_tty.texi: Mention the new module.
1398
1399 2010-03-21  Bruno Haible  <bruno@clisp.org>
1400
1401         login_tty: Documentation.
1402         * doc/glibc-functions/login_tty.texi: New file.
1403         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
1404
1405 2010-03-21  Bruno Haible  <bruno@clisp.org>
1406
1407         pty: Consistent macro naming.
1408         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
1409         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
1410         * modules/pty (configure.ac): Update.
1411
1412 2010-03-21  Bruno Haible  <bruno@clisp.org>
1413
1414         Tests for openpty: Make stricter.
1415         * tests/test-openpty.c (main): Add test of canonical processing and
1416         erase.
1417         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
1418
1419         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
1420         * lib/openpty.c (openpty): New replacement function.
1421         * lib/pty.in.h: Include <termios.h>.
1422         (openpty): Update declaration. Add comments.
1423         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
1424         is not declared, arrange to provide the replacement. Check for _getpty
1425         and posix_openpt.
1426         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
1427         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
1428         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
1429         * modules/pty-tests (test_pty_c___LDADD): New variable.
1430         * doc/glibc-functions/openpty.texi: More supported platforms.
1431
1432 2010-03-21  Bruno Haible  <bruno@clisp.org>
1433
1434         setenv: Tweaks.
1435         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
1436         the test program.
1437         * doc/posix-functions/setenv.texi: Update platforms list.
1438
1439 2010-03-21  Bruno Haible  <bruno@clisp.org>
1440
1441         New module 'unlockpt'.
1442         * lib/unlockpt.c: New file, from glibc with modifications.
1443         * m4/unlockpt.m4: New file.
1444         * modules/unlockpt: New file.
1445         * lib/stdlib.in.h (unlockpt): New declaration.
1446         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
1447         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
1448         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
1449         HAVE_UNLOCKPT.
1450         * doc/posix-functions/unlockpt.texi: Mention the new module.
1451         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
1452         * config/srclist.txt: Add unlockpt.c (commented).
1453
1454 2010-03-21  Jim Meyering  <meyering@redhat.com>
1455
1456         maint.mk: prohibit inclusion of "intprops.h" without use
1457         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
1458
1459 2010-03-21  Bruno Haible  <bruno@clisp.org>
1460
1461         New module 'grantpt'.
1462         * lib/grantpt.c: New file, from glibc with modifications.
1463         * m4/grantpt.m4: New file.
1464         * modules/grantpt: New file.
1465         * lib/stdlib.in.h (grantpt): New declaration.
1466         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
1467         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
1468         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
1469         HAVE_GRANTPT.
1470         * doc/posix-functions/grantpt.texi: Mention the new module.
1471         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
1472         * config/srclist.txt: Add grantpt.c (commented).
1473
1474 2010-03-21  Bruno Haible  <bruno@clisp.org>
1475
1476         New module 'pt_chown'.
1477         * lib/pt_chown.c: New file, from glibc with modifications.
1478         * lib/pty-private.h: New file, from glibc with modifications.
1479         * modules/pt_chown: New file.
1480         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
1481
1482 2010-03-21  Bruno Haible  <bruno@clisp.org>
1483
1484         Tests for module 'ptsname'.
1485         * modules/ptsname-tests: New file.
1486         * tests/test-ptsname.c: New file.
1487
1488         New module 'ptsname'.
1489         * lib/ptsname.c: New file, from glibc with modifications.
1490         * m4/ptsname.m4: New file.
1491         * modules/ptsname: New file.
1492         * lib/stdlib.in.h (ptsname): New declaration.
1493         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
1494         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
1495         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
1496         HAVE_PTSNAME.
1497         * doc/posix-functions/ptsname.texi: Mention the new module.
1498         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
1499         * config/srclist.txt: Add ptsname.c (commented).
1500
1501 2010-03-21  Bruno Haible  <bruno@clisp.org>
1502
1503         Tests for module 'ttyname_r'.
1504         * modules/ttyname_r-tests: New file.
1505         * tests/test-ttyname_r.c: New file.
1506
1507         New module 'ttyname_r'.
1508         * lib/ttyname_r.c: New file.
1509         * m4/ttyname_r.m4: New file.
1510         * modules/ttyname_r: New file.
1511         * lib/unistd.in.h (ttyname_r): New declaration.
1512         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
1513         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
1514         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
1515         HAVE_TTYNAME_R.
1516         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
1517         * doc/posix-functions/ttyname_r.texi: Mention the new module.
1518
1519 2010-03-20  Bruno Haible  <bruno@clisp.org>
1520
1521         signal: Undefine macro definitions in C++ mode.
1522         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
1523         sigfillset): Undefine macro definitions from the system header in C++
1524         mode.
1525         Reported by John W. Eaton <jwe@gnu.org>.
1526
1527 2010-03-20  Bruno Haible  <bruno@clisp.org>
1528
1529         Ensure no #include statements inside extern "C" { ... }.
1530         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
1531         contain #include statements.
1532         * lib/time.in.h: Likewise.
1533
1534 2010-03-20  Bruno Haible  <bruno@clisp.org>
1535
1536         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
1537         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
1538         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
1539         Reported by John W. Eaton <jwe@gnu.org>.
1540
1541 2010-03-20  Bruno Haible  <bruno@clisp.org>
1542
1543         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
1544         Reported by Jim Meyering.
1545
1546 2010-03-20  Bruno Haible  <bruno@clisp.org>
1547
1548         pipe: Set errno upon failure.
1549         * lib/pipe.h: Specify that when -1 is returned, errno is set.
1550         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
1551         errno value in error message.
1552
1553 2010-03-20  Bruno Haible  <bruno@clisp.org>
1554             Jim Meyering  <meyering@redhat.com>
1555
1556         lchown: Avoid "unused variable" warning.
1557         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
1558
1559 2010-03-20  Bruno Haible  <bruno@clisp.org>
1560
1561         Work around unlink() bug on MacOS X 10.5.6.
1562         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
1563         attempting to unlink a parent directory.
1564         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
1565         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
1566         activate for the replacement function.
1567         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
1568
1569 2010-03-20  Bruno Haible  <bruno@clisp.org>
1570
1571         Fix link errors on Solaris 8.
1572         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
1573         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
1574
1575 2010-03-19  Jim Meyering  <meyering@redhat.com>
1576
1577         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
1578         The _LIBC implementation of build_range_exp correctly honors the
1579         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
1580         However, the non-_LIBC implementation would ignore that syntax-bit
1581         flag and return REG_ERANGE unconditionally.
1582         This change makes it honor that flag.
1583         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
1584         Make two pointer parameters "const".
1585         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
1586         (parse_bracket_exp): Update caller.
1587
1588         regex.m4: correct the reversed range endpoint ([b-a]) test
1589         * m4/regex.m4: When requiring that [b-a] evoke failure,
1590         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
1591         test pass once again for x86-based systems.
1592
1593 2010-03-19  Bruno Haible  <bruno@clisp.org>
1594
1595         scandir: Fix link error on Solaris 8.
1596         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
1597         macros.
1598
1599 2010-03-19  Bruno Haible  <bruno@clisp.org>
1600
1601         getusershell: Fix documentation.
1602         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
1603         module.
1604         * doc/glibc-functions/setusershell.texi: Likewise.
1605
1606         getusershell: Provide declaration, missing on Solaris 9.
1607         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
1608         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
1609         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
1610         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
1611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1612         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
1613         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
1614         HAVE_GETUSERSHELL.
1615         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
1616
1617 2010-03-19  Bruno Haible  <bruno@clisp.org>
1618
1619         wctype: Provide iswblank function.
1620         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
1621         exists and is fine.
1622         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
1623         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
1624         * tests/test-wctype.c (main): Re-enable the iswblank tests.
1625         * doc/posix-functions/iswblank.texi: Update.
1626
1627 2010-03-19  Bruno Haible  <bruno@clisp.org>
1628
1629         Tests of module 'pty' in C++ mode.
1630         * modules/pty-tests: New file.
1631         * tests/test-pty-c++.cc: New file.
1632         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
1633
1634 2010-03-19  Eric Blake  <eblake@redhat.com>
1635
1636         logb: fix documentation
1637         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
1638         1.5 declaration bug.
1639
1640         forkpty, openpty: prefer glibc's const-safe prototype
1641         * lib/forkpty.c (rpl_forkpty): New file.
1642         * lib/openpty.c (rpl_openpty): Likewise.
1643         * modules/forkpty (Files): Distribute it.
1644         * modules/openpty (Files): Likewise.
1645         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
1646         check...
1647         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
1648         replacement for for non-const BSD signature.
1649         * modules/pty (Makefile.am): Substitute witnesses.
1650         * lib/pty.in.h (forkpty, openpty): Declare replacements.
1651         * tests/test-forkpty.c: Update signature check.
1652         * tests/test-openpty.c: Likewise.
1653         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
1654         * doc/glibc-functions/openpty.texi (openpty): Likewise.
1655
1656         forkpty, openpty: split functions into new modules
1657         * modules/pty (Makefile.am): Substitute new witnesses.
1658         (Libraries): Move library detection...
1659         * modules/forkpty: ...into new module.
1660         * modules/openpty: Another new module.
1661         * modules/pty-tests: Rename and split...
1662         * modules/forkpty-tests: ...to this...
1663         * modules/openpty-tests: ...and this.
1664         * tests/test-pty.c: Rename and split...
1665         * tests/test-forkpty.c: ...to this...
1666         * tests/test-openpty.c: ...and this.
1667         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
1668         (gl_PTY): Split library searching...
1669         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
1670         (gl_FORKPTY, gl_OPENPTY): New macros.
1671         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
1672         * NEWS: Mention the split.
1673         * MODULES.html.sh (Misc): Document the modules.
1674         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
1675         * doc/glibc-functions/openpty.texi (openpty): Likewise.
1676
1677         pty: improve replacement header
1678         * lib/pty.in.h: New file.
1679         * modules/pty (Files): Ship it.
1680         (Makefile.am): Always build replacement.
1681         * m4/pty.m4: Rename...
1682         * m4/pty_h.m4: ...to this.
1683         (gl_PTY): Modernize setting of witness macros; update check of
1684         forkpty to take proper advantage of cache.
1685         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
1686
1687         getopt: avoid compiler warning
1688         * lib/getopt.c (attribute_hidden): Remove unused macro.
1689
1690 2010-03-18  Bruno Haible  <bruno@clisp.org>
1691
1692         Fix link errors on Solaris 8.
1693         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
1694         * modules/search-tests (test_search_c___LDADD): Likewise.
1695         * modules/signal-tests (test_signal_c___LDADD): Likewise.
1696         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
1697         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
1698         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
1699         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
1700         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
1701         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
1702
1703 2010-03-18  Bruno Haible  <bruno@clisp.org>
1704
1705         Fix bug introduced on 2010-03-14.
1706         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
1707         (gl_SPAWN_H): Require it.
1708         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
1709         Reported by Simon Josefsson.
1710
1711 2010-03-18  Bruno Haible  <bruno@clisp.org>
1712
1713         Fix typo introduced on 2009-12-31.
1714         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
1715         posix_spawn_file_actions_adddup2.
1716
1717 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
1718         and Eric Blake  <eblake@redhat.com>
1719
1720         test-vc-list-files-git: make more robust
1721         * tests/test-vc-list-files-git.sh: Unset problematic environment
1722         variables.  Chain commands together.
1723
1724 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
1725
1726         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
1727         `AC_CHECK_DECL' invocation.
1728
1729 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
1730
1731         * lib/inttostr.c (inttostr): Make sure the invocation of verify
1732         appears before executable statements. Suggested by Petr Sumbera
1733         <Petr.Sumbera@Sun.COM>.
1734
1735 2010-03-14  Bruno Haible  <bruno@clisp.org>
1736
1737         * tests/test-flock.c (test_exclusive): Comment out a test that causes
1738         portability problems. Instead use a simpler test.
1739         (main): Check that invalid arguments are rejected only on Linux.
1740
1741 2010-03-14  Bruno Haible  <bruno@clisp.org>
1742
1743         Fix bug introduced on 2009-12-31.
1744         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
1745         gl_PREREQ_SYS_H_WINSOCK2 always.
1746         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
1747         SYS_SOCKET_H variable.
1748         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
1749         Update comments.
1750         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
1751         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
1752         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1753         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1754         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
1755
1756 2010-03-14  Bruno Haible  <bruno@clisp.org>
1757
1758         Fix values returned by sinl, cosl.
1759         * lib/trigl.h: Add specification comments.
1760         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
1761         that combines the values from the precomputed table with the values of
1762         the Chebyshev polynomials.
1763
1764 2010-03-14  Bruno Haible  <bruno@clisp.org>
1765
1766         Fix compilation error when modules 'posix_spawn[p]' are not used.
1767         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
1768         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
1769
1770 2010-03-14  Bruno Haible  <bruno@clisp.org>
1771
1772         Fix compilation error on mingw when module 'time_r' is not used.
1773         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
1774         is 1.
1775         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
1776         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
1777         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
1778         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
1779
1780 2010-03-14  Bruno Haible  <bruno@clisp.org>
1781
1782         Fix compilation error with Sun C.
1783         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
1784         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
1785         instead of GCC specific ULONG_LONG_MAX.
1786         * lib/xstrtoll.c: Likewise.
1787         * lib/xstrtoull.c: Likewise.
1788
1789 2010-03-13  Bruno Haible  <bruno@clisp.org>
1790
1791         Allow the user to disable C++ code and tests.
1792         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
1793         (gl_PROG_ANSI_CXX): Require it.
1794
1795 2010-03-13  Bruno Haible  <bruno@clisp.org>
1796
1797         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
1798         cases.
1799
1800 2010-03-13  Bruno Haible  <bruno@clisp.org>
1801
1802         Test that gnulib does not break the standard C++ headers.
1803         * tests/test-locale-c++2.cc: New file.
1804         * modules/locale-tests (Files): Add it.
1805         (Makefile.am): Compile it for test-locale-c++.
1806         * tests/test-math-c++2.cc: New file.
1807         * modules/math-tests (Files): Add it.
1808         (Makefile.am): Compile it for test-math-c++.
1809         * tests/test-signal-c++2.cc: New file.
1810         * modules/signal-tests (Files): Add it.
1811         (Makefile.am): Compile it for test-signal-c++.
1812         * tests/test-stdio-c++2.cc: New file.
1813         * modules/stdio-tests (Files): Add it.
1814         (Makefile.am): Compile it for test-stdio-c++.
1815         * tests/test-stdlib-c++2.cc: New file.
1816         * modules/stdlib-tests (Files): Add it.
1817         (Makefile.am): Compile it for test-stdlib-c++.
1818         * tests/test-string-c++2.cc: New file.
1819         * modules/string-tests (Files): Add it.
1820         (Makefile.am): Compile it for test-string-c++.
1821         * tests/test-time-c++2.cc: New file.
1822         * modules/time-tests (Files): Add it.
1823         (Makefile.am): Compile it for test-time-c++.
1824         Reported by John W. Eaton <jwe@gnu.org>.
1825
1826 2010-03-13  Bruno Haible  <bruno@clisp.org>
1827
1828         * gnulib-tool (func_usage): Clarify which options are available for
1829         --create-testdir and --create-megatestdir.
1830
1831 2010-03-13  Bruno Haible  <bruno@clisp.org>
1832
1833         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
1834         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
1835         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
1836         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
1837         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
1838         when appropriate.
1839         Reported by Jim Meyering.
1840
1841 2010-03-12  Simon Josefsson  <simon@josefsson.org>
1842
1843         * gnulib-tool (func_import): Explain origin of code.
1844
1845 2010-03-12  Bruno Haible  <bruno@clisp.org>
1846
1847         Fix problem with automake's definition of CXXLINK.
1848         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
1849         Reported by Simon Josefsson and Ludovic Courtès.
1850
1851 2010-03-12  Bruno Haible  <bruno@clisp.org>
1852
1853         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
1854         stable releases.
1855
1856 2010-03-11  Bruno Haible  <bruno@clisp.org>
1857
1858         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
1859         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
1860         whether the system provides one variant or multiple variants of the
1861         function.
1862         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
1863         C++ compilers.
1864         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
1865         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
1866         Reported by Jim Meyering.
1867
1868 2010-03-09  Simon Josefsson  <simon@josefsson.org>
1869
1870         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
1871
1872 2010-03-08  Bruno Haible  <bruno@clisp.org>
1873
1874         gnulib-tool: Add support for --libtool in --create-testdir.
1875         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
1876         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
1877
1878 2010-03-08  Eric Blake  <eblake@redhat.com>
1879
1880         gnulib-tool.texi: mention possibility of git submodule
1881         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
1882         submodules.
1883         * doc/.gitignore: Ignore another generated file.
1884
1885 2010-03-08  Karl Berry  <karl@gnu.org>
1886
1887         * doc/gnulib-tool.texi (VCS Issues): Mention third option
1888         of committing gnulib files while skipping others.
1889
1890 2010-03-07  Bruno Haible  <bruno@clisp.org>
1891
1892         Tests of module 'wctype' in C++ mode.
1893         * tests/test-wctype-c++.cc: New file.
1894         * modules/wctype-tests (Files): Add it and tests/signature.h.
1895         (Depends-on): Add ansi-c++-opt.
1896         (Makefile.am): Arrange to compile and run test-wctype-c++.
1897
1898         Tests of module 'wchar' in C++ mode.
1899         * tests/test-wchar-c++.cc: New file.
1900         * modules/wchar-tests (Files): Add it and tests/signature.h.
1901         (Depends-on): Add ansi-c++-opt.
1902         (Makefile.am): Arrange to compile and run test-wchar-c++.
1903         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
1904         gl_MODULE_INDICATOR.
1905
1906         Tests of module 'unistd' in C++ mode.
1907         * tests/test-unistd-c++.cc: New file.
1908         * modules/unistd-tests (Files): Add it and tests/signature.h.
1909         (Depends-on): Add ansi-c++-opt.
1910         (Makefile.am): Arrange to compile and run test-unistd-c++.
1911         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
1912         gl_MODULE_INDICATOR.
1913
1914         Tests of module 'time' in C++ mode.
1915         * tests/test-time-c++.cc: New file.
1916         * modules/time-tests (Files): Add it and tests/signature.h.
1917         (Depends-on): Add ansi-c++-opt.
1918         (Makefile.am): Arrange to compile and run test-time-c++.
1919         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
1920
1921         Tests of module 'sys_time' in C++ mode.
1922         * tests/test-sys_time-c++.cc: New file.
1923         * modules/sys_time-tests (Files): Add it and tests/signature.h.
1924         (Depends-on): Add ansi-c++-opt.
1925         (Makefile.am): Arrange to compile and run test-sys_time-c++.
1926         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
1927         gl_MODULE_INDICATOR.
1928
1929         Tests of module 'sys_stat' in C++ mode.
1930         * tests/test-sys_stat-c++.cc: New file.
1931         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
1932         (Depends-on): Add ansi-c++-opt.
1933         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
1934         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
1935         gl_MODULE_INDICATOR.
1936
1937         Tests of module 'sys_socket' in C++ mode.
1938         * tests/test-sys_socket-c++.cc: New file.
1939         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
1940         (Depends-on): Add ansi-c++-opt.
1941         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
1942         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
1943         gl_MODULE_INDICATOR.
1944
1945         Tests of module 'sys_select' in C++ mode.
1946         * tests/test-sys_select-c++.cc: New file.
1947         * modules/sys_select-tests (Files): Add it and tests/signature.h.
1948         (Depends-on): Add ansi-c++-opt.
1949         (Makefile.am): Arrange to compile and run test-sys_select-c++.
1950         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
1951         gl_MODULE_INDICATOR.
1952
1953         Tests of module 'sys_ioctl' in C++ mode.
1954         * tests/test-sys_ioctl-c++.cc: New file.
1955         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
1956         (Depends-on): Add ansi-c++-opt.
1957         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
1958         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
1959         gl_MODULE_INDICATOR.
1960
1961         Tests of module 'string' in C++ mode.
1962         * tests/test-string-c++.cc: New file.
1963         * modules/string-tests (Files): Add it and tests/signature.h.
1964         (Depends-on): Add ansi-c++-opt.
1965         (Makefile.am): Arrange to compile and run test-string-c++.
1966         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
1967         gl_MODULE_INDICATOR.
1968
1969         Tests of module 'stdlib' in C++ mode.
1970         * tests/test-stdlib-c++.cc: New file.
1971         * modules/stdlib-tests (Files): Add it and tests/signature.h.
1972         (Depends-on): Add ansi-c++-opt.
1973         (Makefile.am): Arrange to compile and run test-stdlib-c++.
1974         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
1975         gl_MODULE_INDICATOR.
1976
1977         Tests of module 'stdio' in C++ mode.
1978         * tests/test-stdio-c++.cc: New file.
1979         * modules/stdio-tests (Files): Add it and tests/signature.h.
1980         (Depends-on): Add ansi-c++-opt.
1981         (Makefile.am): Arrange to compile and run test-stdio-c++.
1982         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
1983         gl_MODULE_INDICATOR.
1984
1985         Tests of module 'spawn' in C++ mode.
1986         * tests/test-spawn-c++.cc: New file.
1987         * modules/spawn-tests (Files): Add it and tests/signature.h.
1988         (Depends-on): Add ansi-c++-opt.
1989         (Makefile.am): Arrange to compile and run test-spawn-c++.
1990         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
1991         gl_MODULE_INDICATOR.
1992
1993         Tests of module 'signal' in C++ mode.
1994         * tests/test-signal-c++.cc: New file.
1995         * modules/signal-tests (Files): Add it and tests/signature.h.
1996         (Depends-on): Add ansi-c++-opt.
1997         (Makefile.am): Arrange to compile and run test-signal-c++.
1998         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
1999         gl_MODULE_INDICATOR.
2000
2001         Tests of module 'search' in C++ mode.
2002         * tests/test-search-c++.cc: New file.
2003         * modules/search-tests (Files): Add it and tests/signature.h.
2004         (Depends-on): Add ansi-c++-opt.
2005         (Makefile.am): Arrange to compile and run test-search-c++.
2006         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
2007         gl_MODULE_INDICATOR.
2008
2009         Tests of module 'math' in C++ mode.
2010         * tests/test-math-c++.cc: New file.
2011         * modules/math-tests (Files): Add it and tests/signature.h.
2012         (Depends-on): Add ansi-c++-opt.
2013         (Makefile.am): Arrange to compile and run test-math-c++.
2014         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
2015
2016         Tests of module 'locale' in C++ mode.
2017         * tests/test-locale-c++.cc: New file.
2018         * modules/locale-tests (Files): Add it and tests/signature.h.
2019         (Depends-on): Add ansi-c++-opt.
2020         (Makefile.am): Arrange to compile and run test-locale-c++.
2021         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
2022         gl_MODULE_INDICATOR.
2023
2024         Tests of module 'langinfo' in C++ mode.
2025         * tests/test-langinfo-c++.cc: New file.
2026         * modules/langinfo-tests (Files): Add it and tests/signature.h.
2027         (Depends-on): Add ansi-c++-opt.
2028         (Makefile.am): Arrange to compile and run test-langinfo-c++.
2029         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
2030         gl_MODULE_INDICATOR.
2031
2032         Tests of module 'iconv-h' in C++ mode.
2033         * tests/test-iconv-h-c++.cc: New file.
2034         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
2035         (Depends-on): Add ansi-c++-opt.
2036         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
2037
2038         Tests of module 'glob' in C++ mode.
2039         * tests/test-glob-c++.cc: New file.
2040         * modules/glob-tests (Files): Add it.
2041         (Depends-on): Add ansi-c++-opt.
2042         (Makefile.am): Arrange to compile and run test-glob-c++.
2043
2044         Tests of module 'fcntl-h' in C++ mode.
2045         * tests/test-fcntl-h-c++.cc: New file.
2046         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
2047         (Depends-on): Add ansi-c++-opt.
2048         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
2049         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
2050         gl_MODULE_INDICATOR.
2051
2052         Tests of module 'dirent' in C++ mode.
2053         * tests/test-dirent-c++.cc: New file.
2054         * modules/dirent-tests (Files): Add it and tests/signature.h.
2055         (Depends-on): Add ansi-c++-opt.
2056         (Makefile.am): Arrange to compile and run test-dirent-c++.
2057         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
2058         gl_MODULE_INDICATOR.
2059
2060         New module 'ansi-c++-opt'.
2061         * modules/ansi-c++-opt: New file.
2062         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
2063
2064         Document C++ namespace mode.
2065         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
2066
2067         wctype: Avoid #define replacements in C++ mode.
2068         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
2069         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
2070         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
2071         In C++, define a namespaced alias symbol.
2072         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
2073         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
2074         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
2075         rule.
2076
2077         wchar: Avoid #define replacements in C++ mode.
2078         * lib/wchar.in.h: Include c++defs.h.
2079         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
2080         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
2081         symbol.
2082         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
2083         * modules/wchar (Depends-on): Add c++defs.
2084         (Makefile.am): Update wchar.h rule.
2085
2086         unistd: Avoid #define replacements in C++ mode.
2087         * lib/unistd.in.h: Include c++defs.h.
2088         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
2089         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
2090         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
2091         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
2092         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
2093         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
2094         symbol.
2095         (environ): Update.
2096         * modules/unistd (Depends-on): Add c++defs.
2097         (Makefile.am): Update unistd.h rule.
2098
2099         time: Avoid #define replacements in C++ mode.
2100         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
2101         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
2102         define a namespaced alias symbol.
2103         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
2104         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
2105         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
2106         * modules/time (Depends-on): Add c++defs, warn-on-use.
2107         (Makefile.am): Update time.h rule.
2108         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
2109         * modules/nanosleep (configure.ac): Likewise.
2110         * modules/strptime (configure.ac): Likewise.
2111         * modules/timegm (configure.ac): Likewise.
2112
2113         sys_time: Avoid #define replacements in C++ mode.
2114         * lib/sys_time.in.h: Include c++defs.h.
2115         (gettimeofday): In C++, define a namespaced alias symbol.
2116         * modules/sys_time (Depends-on): Add c++defs.
2117         (Makefile.am): Update sys/time.h rule.
2118
2119         sys_stat: Avoid #define replacements in C++ mode.
2120         * lib/sys_stat.in.h: Include c++defs.h.
2121         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
2122         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
2123         namespaced alias symbol.
2124         In C++, define a namespaced alias symbol.
2125         * modules/sys_stat (Depends-on): Add c++defs.
2126         (Makefile.am): Update sys/stat.h rule.
2127
2128         sys_socket: Avoid #define replacements in C++ mode.
2129         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
2130         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
2131         definitions also when the system has a <sys/socket.h>.
2132         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2133         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
2134         In C++, define a namespaced alias symbol.
2135         * modules/sys_socket (Depends-on): Add c++defs.
2136         (Makefile.am): Update sys/socket.h rule.
2137
2138         sys_select: Avoid #define replacements in C++ mode.
2139         * lib/sys_select.in.h: Include c++defs.h. Enable the function
2140         definitions also when the system has a <sys/select.h>.
2141         (select): In C++, define a namespaced alias symbol.
2142         * modules/sys_select (Depends-on): Add c++defs.
2143         (Makefile.am): Update sys/select.h rule.
2144
2145         sys_ioctl: Avoid #define replacements in C++ mode.
2146         * lib/sys_ioctl.in.h: Include c++defs.h.
2147         (ioctl): In C++, define a namespaced alias symbol.
2148         * modules/sys_ioctl (Depends-on): Add c++defs.
2149         (Makefile.am): Update sys/ioctl.h rule.
2150
2151         string: Avoid #define replacements in C++ mode.
2152         * lib/string.in.h: Include c++defs.h.
2153         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
2154         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
2155         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
2156         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
2157         strsignal, strverscmp): In C++, define a namespaced alias symbol.
2158         * modules/string (Depends-on): Add c++defs.
2159         (Makefile.am): Update string.h rule.
2160
2161         stdlib: Avoid #define replacements in C++ mode.
2162         * lib/stdlib.in.h: Include c++defs.h.
2163         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
2164         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
2165         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
2166         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
2167         symbol.
2168         * modules/stdlib (Depends-on): Add c++defs.
2169         (Makefile.am): Update stdlib.h rule.
2170
2171         stdio: Avoid #define replacements in C++ mode.
2172         * lib/stdio.in.h: Include c++defs.h.
2173         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
2174         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
2175         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
2176         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
2177         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
2178         namespaced alias symbol.
2179         * modules/stdio (Depends-on): Add c++defs.
2180         (Makefile.am): Update stdio.h rule.
2181
2182         spawn: Avoid #define replacements in C++ mode.
2183         * lib/spawn.in.h: Include c++defs.h.
2184         (posix_spawn, posix_spawnp, posix_spawnattr_init,
2185         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
2186         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
2187         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
2188         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
2189         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
2190         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
2191         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
2192         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
2193         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
2194         In C++, define a namespaced alias symbol.
2195         * modules/spawn (Depends-on): Add c++defs.
2196         (Makefile.am): Update spawn.h rule.
2197
2198         signal: Avoid #define replacements in C++ mode.
2199         * lib/signal.in.h: Include c++defs.h.
2200         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
2201         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
2202         namespaced alias symbol.
2203         * modules/signal (Depends-on): Add c++defs.
2204         (Makefile.am): Update signal.h rule.
2205
2206         search: Avoid #define replacements in C++ mode.
2207         * lib/search.in.h: Include c++defs.h.
2208         (_gl_search_compar_fn, _gl_search_action_fn): New types.
2209         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
2210         symbol.
2211         * modules/search (Depends-on): Add c++defs.
2212         (Makefile.am): Update search.h rule.
2213
2214         math: Avoid #define replacements in C++ mode.
2215         * lib/math.in.h: Include c++defs.h.
2216         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
2217         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
2218         trunc, truncl): In C++, define a namespaced alias symbol.
2219         * modules/math (Depends-on): Add c++defs.
2220         (Makefile.am): Update math.h rule.
2221
2222         locale: Avoid #define replacements in C++ mode.
2223         * lib/locale.in.h: Include c++defs.h.
2224         (duplocale): In C++, define a namespaced alias symbol.
2225         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
2226         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
2227         * modules/locale (Depends-on): Add c++defs.
2228         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
2229
2230         langinfo: Avoid #define replacements in C++ mode.
2231         * lib/langinfo.in.h: Include c++defs.h.
2232         (nl_langinfo): In C++, define a namespaced alias symbol.
2233         * modules/langinfo (Depends-on): Add c++defs.
2234         (Makefile.am): Update langinfo.h rule.
2235
2236         iconv-h: Avoid #define replacements in C++ mode.
2237         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
2238         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
2239         symbol.
2240         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
2241         whenever iconv is present.
2242         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
2243         (Makefile.am): Update iconv.h rule.
2244
2245         glob: Avoid #define replacements in C++ mode.
2246         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
2247         (_gl_glob_errfunc_fn): New type.
2248         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
2249         symbol.
2250         * modules/glob (Depends-on): Add c++defs, warn-on-use.
2251         (Makefile.am): Update glob.h rule.
2252
2253         fcntl-h: Avoid #define replacements in C++ mode.
2254         * lib/fcntl.in.h: Include c++defs.h.
2255         (fcntl, open, openat): In C++, define a namespaced alias symbol.
2256         * modules/fcntl-h (Depends-on): Add c++defs.
2257         (Makefile.am): Update fcntl.h rule.
2258
2259         dirent: Avoid #define replacements in C++ mode.
2260         * lib/dirent.in.h: Include c++defs.h.
2261         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
2262         namespaced alias symbol.
2263         (dirfd): Update declaration.
2264         * modules/dirent (Depends-on): Add c++defs.
2265         (Makefile.am): Update dirent.h rule.
2266
2267         ctype: Make it usable in C++ code.
2268         * lib/ctype.in.h: Include c++defs.h.
2269         (isblank): Declare as extern "C".
2270         * modules/ctype (Depends-on): Add c++defs.
2271         (Makefile.am): Update ctype.h rule.
2272
2273         New module 'c++defs'.
2274         * modules/c++defs: New file.
2275         * build-aux/c++defs.h: New file.
2276         Reported by John W. Eaton <jwe@gnu.org>.
2277
2278 2010-03-07  Bruno Haible  <bruno@clisp.org>
2279
2280         logb: Provide missing declaration for Cygwin.
2281         * lib/math.in.h (logb): New declaration.
2282         * m4/logb.m4: New file.
2283         * modules/logb (Files): Add m4/logb.m4.
2284         (Depends-on): Add math.
2285         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
2286         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
2287         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
2288         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
2289         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
2290
2291 2010-03-07  Bruno Haible  <bruno@clisp.org>
2292
2293         Fix test-cond link error.
2294         * tests/test-cond.c: Include <stdio.h>.
2295
2296 2010-03-07  Bruno Haible  <bruno@clisp.org>
2297
2298         Fix test-dirent-safer link error.
2299         * modules/dirent-safer-tests (Makefile.am): Define
2300         test_dirent_safer_LDADD.
2301
2302 2010-03-07  Bruno Haible  <bruno@clisp.org>
2303
2304         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
2305         among default module list.
2306
2307 2010-03-07  Bruno Haible  <bruno@clisp.org>
2308
2309         Fix link error on platforms with GNU libiconv.
2310         * modules/unistr/u8-strcoll-tests (Makefile): Define
2311         test_u8_strcoll_LDADD.
2312         * modules/unistr/u16-strcoll-tests (Makefile): Define
2313         test_u16_strcoll_LDADD.
2314         * modules/unistr/u32-strcoll-tests (Makefile): Define
2315         test_u32_strcoll_LDADD.
2316
2317 2010-03-07  Bruno Haible  <bruno@clisp.org>
2318
2319         Use POSIX declarations for socket functions.
2320         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
2321         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
2322         rpl_sendto): Change declaration to match POSIX.
2323         * lib/connect.c (rpl_connect): Likewise.
2324         * lib/accept.c (rpl_accept): Likewise.
2325         * lib/bind.c (rpl_bind): Likewise.
2326         * lib/getpeername.c (rpl_getpeername): Likewise.
2327         * lib/getsockname.c (rpl_getsockname): Likewise.
2328         * lib/recv.c (rpl_recv): Likewise.
2329         * lib/send.c (rpl_send): Likewise.
2330         * lib/recvfrom.c (rpl_recvfrom): Likewise.
2331         * lib/sendto.c (rpl_sendto): Likewise.
2332
2333 2010-03-06  Bruno Haible  <bruno@clisp.org>
2334
2335         Clarify access, euidaccess, faccessat.
2336         * doc/posix-functions/faccessat.texi: Mention security problem under
2337         "Other problems", not "Portability problems".
2338         * doc/posix-functions/access.texi: Likewise. Mention a related security
2339         problem.
2340         * doc/glibc-functions/euidaccess.texi: Mention security problems.
2341         * lib/euidaccess.c: Add comments about platforms.
2342         * lib/unistd.in.h (access, euidaccess): Add warnings.
2343
2344 2010-03-07  Bruno Haible  <bruno@clisp.org>
2345
2346         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
2347         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
2348         (POSIX_SPAWN_SETSCHEDULER): Likewise.
2349         (POSIX_SPAWN_USEVFORK): Define in a way that works when
2350         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2351         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
2352         declare when POSIX_SPAWN_SETSCHEDULER is zero.
2353         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
2354         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
2355         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
2356         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
2357         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
2358         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
2359         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
2360         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
2361         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
2362         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
2363         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
2364         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
2365         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
2366         Likewise.
2367         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
2368         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
2369         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
2370         Likewise.
2371         * tests/test-spawn.c (main): Make it work when
2372         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
2373
2374 2010-03-07  Bruno Haible  <bruno@clisp.org>
2375
2376         Fix incorrect Makefile.am generation in German locale.
2377         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2378         Execute sed command with character range in C locale.
2379
2380 2010-03-06  Bruno Haible  <bruno@clisp.org>
2381
2382         Tests for module 'iconv-h'.
2383         * modules/iconv-h-tests: New file.
2384         * tests/test-iconv-h.c: New file.
2385
2386         New module 'iconv-h'.
2387         * modules/iconv-h: New file.
2388         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
2389         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
2390         (configure.ac): Remove gl_ICONV_H.
2391         (Makefile.am): Remove rule for iconv.h.
2392
2393 2010-03-06  Bruno Haible  <bruno@clisp.org>
2394
2395         More consistent naming of *.m4 files.
2396         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
2397         * modules/wctype (Files): Update.
2398
2399         More consistent naming of *.m4 files.
2400         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
2401         * modules/wchar (Files): Update.
2402
2403 2010-03-06  Jim Meyering  <meyering@redhat.com>
2404
2405         euidaccess: relax license to LGPLv2+
2406         * modules/euidaccess (License): Relax to LGPLv2+.
2407
2408 2010-03-06  Bruno Haible  <bruno@clisp.org>
2409
2410         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
2411         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
2412         (Makefile.am): Augment lib_SOURCES instead.
2413
2414 2010-03-04  Jim Meyering  <meyering@redhat.com>
2415
2416         utime: remove obsolete module
2417         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
2418         unnecessary for years, and has been marked as obsolete for 10 months.
2419         * modules/utime: Remove file.
2420         * lib/utime.c: Remove file.
2421         * m4/utime.m4: Remove file.
2422         * m4/utimes-null.m4: Remove file.
2423         * doc/posix-functions/utime.texi (utime): Remove reference to
2424         the module.  Move the sole "fixed by gnulib" item into the
2425         "problems not fixed by Gnulib" list.
2426         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
2427
2428 2010-03-05  Simon Josefsson  <simon@josefsson.org>
2429
2430         * modules/exit (License): Relax license to LGPLv2+.
2431         (Status): Mark as obsolete.
2432         * NEWS: Mention deprecated 'exit' module.
2433         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
2434         of now obsolete 'exit'.
2435
2436 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2437
2438         fts-lgpl: remove unused module
2439         * modules/fts-lgpl: Remove.
2440         * MODULES.html.sh (func_all_modules): Adjust.
2441         * check-module (find_included_lib_files): Adjust.
2442         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
2443
2444 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
2445
2446         copy-acl: enhance Solaris ACL error handling
2447         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
2448         * lib/set-mode-acl.c (qset_acl): Likewise.
2449
2450 2010-03-02  Bruno Haible  <bruno@clisp.org>
2451
2452         spawn: Don't override the system defined values on FreeBSD 8.
2453         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
2454         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
2455         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
2456         if HAVE_POSIX_SPAWN is 1.
2457         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
2458
2459 2010-03-01  Bruno Haible  <bruno@clisp.org>
2460
2461         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
2462         regarding Automake.
2463
2464 2010-02-25  Bruno Haible  <bruno@clisp.org>
2465
2466         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
2467         * gnulib-tool: Define 'echo' as a function only before the ksh alias
2468         setting, not afterwards.
2469         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2470
2471 2010-02-24  Eric Blake  <eblake@redhat.com>
2472
2473         bootstrap, git-version-gen: use timestamp
2474         * build-aux/git-version-gen (scriptversion): Force UTC.
2475         * build-aux/bootstrap (scriptversion): New variable.
2476
2477         bootstrap: allow older git
2478         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
2479         older than 1.6.4.  Requested by the libvirt project.
2480
2481 2010-02-23  Eric Blake  <eblake@redhat.com>
2482
2483         warn-on-use: work with old autoconf
2484         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
2485         AS_VAR semantics of autoconf 2.60.
2486         Reported by Bruno Haible.
2487
2488         bootstrap: improve some comments
2489         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
2490         clarification comments.
2491
2492         gettimeofday: provide correct function
2493         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
2494         when replacement is declared, otherwise provide gettimeofday.
2495         Reported by Michael Goffioul.
2496
2497 2010-02-23  Jim Meyering  <meyering@redhat.com>
2498
2499         lib-ignore: relax license to "unlimited", not LGPLv2+
2500         * modules/lib-ignore (License): Relax to "unlimited".
2501
2502 2010-02-23  Jim Meyering  <meyering@redhat.com>
2503
2504         lib-ignore: relax license to LGPLv2+
2505         * modules/lib-ignore (License): Relax to LGPLv2+.
2506
2507 2010-02-22  Eric Blake  <eblake@redhat.com>
2508
2509         lseek: avoid bash 3.2 broken pipe bug
2510         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
2511         warning from bash 3.2.
2512         Reported by Ben Pfaff, with analysis from Bruno Haible.
2513
2514         bootstrap: support non-FSF copyright holder
2515         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
2516         bootstrap.conf override of COPYRIGHT_HOLDER.
2517         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
2518
2519         bootstrap: interoperate with gettext 0.14.1
2520         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
2521
2522         bootstrap: allow for alternate submodule location
2523         * build-aux/bootstrap (gnulib_path): New variable; use instead of
2524         hardcoding submodule location.
2525         (gnulib_mk): Allow direct use of Makefile.am.
2526
2527         bootstrap: use GNULIB_SRCDIR to reduce disk usage
2528         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
2529         rather than reconfiguring where the submodule points.
2530
2531         gettimeofday: restore support for platforms that lack function
2532         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
2533         replacement if function is missing.
2534         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
2535         * modules/sys_time (Makefile.am): Substitute it.
2536         * lib/sys_time.in.h (gettimeofday): Check it.
2537         Reported by Michael Goffioul.
2538
2539 2010-02-21  Bruno Haible  <bruno@clisp.org>
2540
2541         * lib/stdio.in.h (obstack_printf): Fix typo.
2542
2543 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
2544
2545         vc-list-files: use bzr ls's -R option
2546         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
2547         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
2548
2549 2010-02-21  Jim Meyering  <meyering@redhat.com>
2550
2551         init.sh: fix EXEEXT shims to work also for names like test-prog
2552         * tests/init.sh: Re-exec a better shell, when needed.
2553         If the current shell lacks support for posix $(...), an init.sh-using
2554         test will now try to find a shell that supports that.  If EXEEXT is
2555         nonempty, we also require support for hyphen-in-alias-name and shell
2556         substitutions like ${var#glob}.  Failure to find such a shell results
2557         in a skipped test.
2558
2559 2010-02-21  Bruno Haible  <bruno@clisp.org>
2560
2561         Really work around around "broken pipe" error message from bash 3.2.
2562         * gnulib-tool (func_reset_sigpipe): Remove function.
2563         (echo): In bash 3.2, define to a function that uses printf.
2564         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
2565
2566 2010-02-20  Bruno Haible  <bruno@clisp.org>
2567
2568         Restore support for automake 1.9.6 with autoconf 2.61.
2569         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
2570         Reported by James Youngman <jay@gnu.org>.
2571
2572 2010-02-20  Bruno Haible  <bruno@clisp.org>
2573
2574         Improve *printf warning condition.
2575         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
2576         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
2577         and the function is overridden due to SIGPIPE emulation.
2578
2579 2010-02-20  Bruno Haible  <bruno@clisp.org>
2580
2581         * lib/stdio.in.h: Tweak comments.
2582
2583 2010-02-19  Bruno Haible  <bruno@clisp.org>
2584
2585         Make it easier to find modules. New gnulib-tool option '--find'.
2586         * gnulib-tool: New option --find.
2587         (func_usage): Document it.
2588         (func_sanitize_modulelist): New function, extracted from
2589         func_all_modules.
2590         (func_all_modules): Invoke it.
2591         * doc/gnulib-tool.texi (Which modules?): New node.
2592
2593 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
2594
2595         * lib/sys_select.in.h: Provide select replacement even if
2596         sys/select.h exists on a system, for Interix.
2597
2598 2010-02-18  Jim Meyering  <meyering@redhat.com>
2599
2600         init.sh: don't use $(...) just yet
2601         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
2602         to accommodate e.g., Solaris' /bin/sh.
2603
2604 2010-02-17  Bruno Haible  <bruno@clisp.org>
2605
2606         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
2607         Reported by Ludovic Courtès <ludo@gnu.org>.
2608
2609 2010-02-16  Simon Josefsson  <simon@josefsson.org>
2610
2611         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
2612         linking with -lintl.
2613
2614 2010-02-17  Simon Josefsson  <simon@josefsson.org>
2615
2616         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
2617         if not provided by the system's netdb.h.  Reported by
2618         ludo@gnu.org (Ludovic Courtès).
2619
2620 2010-02-15  Jim Meyering  <meyering@redhat.com>
2621
2622         init.sh: improve portability and efficiency
2623         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
2624         "dummy" in a for loop.
2625         Use '!', not '^' to select the complement of a character set used
2626         in a "case" statement.
2627         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
2628         Suggestions from Eric Blake.
2629
2630         init.sh: automatically accommodate programs with the .exe suffix
2631         Automatically arrange for an invocation of "prog" to execute the
2632         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
2633         may use the simpler "prog", yet still work when built on a system
2634         that requires specifying the added suffix.
2635         Do this by constructing a function named "prog" that invokes
2636         "prog.exe" for each .exe file in selected directories.
2637         * tests/init.sh (find_exe_basenames_): New function.
2638         (create_exe_shim_functions_): New function.
2639         (path_prepend_): Use it.
2640
2641         maint.mk: mark syntax-check sc_*.m rules as .PHONY
2642         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
2643         "make -t syntax-check" doesn't create a ton of sc_*.m files.
2644
2645 2010-02-14  Jim Meyering  <meyering@redhat.com>
2646
2647         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
2648         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
2649         (sc_prohibit_hash_pjw_without_use): New rule.
2650
2651         maint.mk: allow the default upload destination dir to be overridden
2652         * top/maint.mk (upload_dest_dir_): Define with a default that
2653         preserves the status quo.
2654         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
2655         Reported by Peter Simons.
2656
2657         maint.mk: prohibit inclusion of "hash.h" without_use
2658         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
2659
2660 2010-02-10  Jim Meyering  <meyering@redhat.com>
2661
2662         maint.mk: prohibit inclusion of "ignore-value.h" without_use
2663         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
2664
2665 2010-02-09  Eric Blake  <ebb9@byu.net>
2666         and Bruno Haible  <bruno@clisp.org>
2667
2668         obstack-printf-posix: ensure declaration
2669         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
2670         extracted from gl_FUNC_OBSTACK_PRINTF.
2671         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
2672         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
2673         Likewise.
2674         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
2675         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
2676         0.
2677
2678 2010-02-08  Bruno Haible  <bruno@clisp.org>
2679
2680         gnulib-tool: Fix typo in 2010-02-07 commit.
2681         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
2682         Reported by Eric Blake.
2683
2684 2010-02-07  Bruno Haible  <bruno@clisp.org>
2685
2686         gnulib-tool: Fix up caching patches.
2687         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
2688         option --no-cache. Use associative arrays when supported by the shell.
2689         (sed_comments): New variable.
2690         (modcache): Renamed from do_cache.
2691         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
2692         abbreviate unnecessarily.
2693         (have_associative): New variable.
2694         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
2695         way also for ksh and zsh.
2696         (func_init_sed_convert_to_cache_statements): New function, extracted
2697         from func_cache_lookup_module. Add support for associative arrays.
2698         Don't set the c_MODULE_cached variable here. Ignore all lines before
2699         the first field header. Remove only the final newline, not all trailing
2700         newlines. Support empty fields correctly. Limit the use of 'eval' to
2701         assignments.
2702         (func_get_description, func_get_status, func_get_notice,
2703         func_get_applicability, func_get_filelist, func_get_dependencies,
2704         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
2705         func_get_automake_snippet, func_get_include_directive,
2706         func_get_link_directive, func_get_license, func_get_maintainer):
2707         Update documentation. List the unoptimized code first. Add support for
2708         associative arrays. Limit the use of 'eval' to assignments.
2709         (func_get_applicability): Undo stylistic pessimisations.
2710         (func_get_automake_snippet, func_get_include_directive): Reduce code
2711         duplication.
2712         (func_modules_transitive_closure, func_modules_add_dummy,
2713         func_modules_notice, func_modules_to_filelist, func_add_file,
2714         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
2715         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
2716         func_create_testdir, func_create_megatestdir): Update documentation.
2717
2718 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2719
2720         * gnulib-tool (func_cache_lookup_module): Store the module name
2721         belonging to the cache variable; error out if two different
2722         module names map to the same cache variable name.
2723
2724 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2725
2726         gnulib-tool: Make caching optional.
2727         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
2728         Update matching short versions of --no-changelog.
2729         (func_usage): Update.
2730         (sed_extract_cache_prog): Renamed from ...
2731         (sed_extract_prog): ... this; revert to old extraction script.
2732         (func_get_description, func_get_status)
2733         (func_get_notice, func_get_applicability, func_get_filelist)
2734         (func_get_dependencies, func_get_autoconf_early_snippet)
2735         (func_get_autoconf_snippet, func_get_automake_snippet)
2736         (func_get_include_directive, func_get_link_directive)
2737         (func_get_license, func_get_maintainer): If $do_cache is false,
2738         use old, non-caching extraction scripts.
2739         Suggestion by Bruno Haible.
2740
2741 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2742
2743         gnulib-tool: cache module metainformation.
2744         * gnulib-tool (sed_extract_prog): Match newline before each
2745         header, and rewrite header to a shell variable suffix.
2746         (func_cache_var, func_cache_lookup_module): New functions,
2747         to turn a module name into a cache variable prefix, and to
2748         look up and cache module metainformation.
2749         (func_get_description, func_get_status)
2750         (func_get_notice, func_get_applicability, func_get_filelist)
2751         (func_get_dependencies, func_get_autoconf_early_snippet)
2752         (func_get_autoconf_snippet, func_get_automake_snippet)
2753         (func_get_include_directive, func_get_link_directive)
2754         (func_get_license, func_get_maintainer): Use
2755         func_cache_lookup_module.
2756
2757 2010-02-07  Bruno Haible  <bruno@clisp.org>
2758
2759         fnctl: Fix missing dependency.
2760         * modules/fcntl (Depends-on): Add getdtablesize.
2761         Reported by John W. Eaton <jwe@gnu.org>.
2762
2763 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
2764
2765         Argp: fix recognition of short alias options.
2766
2767         * lib/argp-parse.c (convert_options): Fix improper use of
2768         `|' between character values.
2769         * tests/test-argp.c (group1_option): New alias option
2770         --read (-r).
2771         (group1_parser): Special handling for 'r'.
2772         (test15): New test case.
2773         (test_fun): Add test15.
2774         * tests/test-argp-2.sh: Update expected --help and --usage
2775         outputs.
2776
2777 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
2778
2779         * tests/test-argp.c: Fix indentation.
2780
2781 2010-02-04  Eric Blake  <ebb9@byu.net>
2782
2783         gettimeofday: expose type of second argument
2784         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
2785         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
2786         * tests/test-gettimeofday.c: Use it to silence warning.
2787         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
2788         the issue.
2789
2790 2010-02-03  Jim Meyering  <meyering@redhat.com>
2791
2792         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
2793         * lib/regcomp.c (TYPE_SIGNED): Define.
2794         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
2795
2796         regcomp.c: avoid a new -Wshadow warning
2797         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
2798
2799 2010-02-01  Jim Meyering  <meyering@redhat.com>
2800
2801         removing useless parentheses in cpp #define directives
2802         For motivation, see commit c0221df4, "define STREQ(a,b)
2803         consistently, removing useless parentheses"
2804         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
2805         * lib/mountlist.c (MNT_IGNORE): Likewise.
2806         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
2807
2808 2010-02-01  Eric Blake  <ebb9@byu.net>
2809
2810         sys_time: use link-warning
2811         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
2812         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
2813         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
2814         * modules/sys_time (Depends-on): Add warn-on-use.
2815         (Makefile.am): Always build replacement.
2816         (configure.ac): Update substitutions.
2817         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
2818         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
2819         bother with SYS_TIME_H.
2820         * modules/gettimeofday (configure.ac): Declare indicator.
2821         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
2822         in use.
2823
2824         closein-tests: silence compiler warning
2825         * tests/test-closein.c (main): Ignore fread result.
2826         * modules/closein-tests (Depends-on): Add ignore-value.
2827
2828         tests: silence warning about system return
2829         * tests/test-areadlink-with-size.c (main): Ignore system result.
2830         * tests/test-areadlink.c (main): Likewise.
2831         * tests/test-areadlinkat-with-size.c (main): Likewise.
2832         * tests/test-areadlinkat.c (main): Likewise.
2833         * tests/test-canonicalize-lgpl.c (main): Likewise.
2834         * tests/test-canonicalize.c (main): Likewise.
2835         * tests/test-chown.c (main): Likewise.
2836         * tests/test-fchownat.c (main): Likewise.
2837         * tests/test-fdutimensat.c (main): Likewise.
2838         * tests/test-fstatat.c (main): Likewise.
2839         * tests/test-futimens.c (main): Likewise.
2840         * tests/test-lchown.c (main): Likewise.
2841         * tests/test-link.c (main): Likewise.
2842         * tests/test-linkat.c (main): Likewise.
2843         * tests/test-lstat.c (main): Likewise.
2844         * tests/test-mkdir.c (main): Likewise.
2845         * tests/test-mkdirat.c (main): Likewise.
2846         * tests/test-mkfifo.c (main): Likewise.
2847         * tests/test-mkfifoat.c (main): Likewise.
2848         * tests/test-mknod.c (main): Likewise.
2849         * tests/test-readlink.c (main): Likewise.
2850         * tests/test-remove.c (main): Likewise.
2851         * tests/test-rename.c (main): Likewise.
2852         * tests/test-renameat.c (main): Likewise.
2853         * tests/test-rmdir.c (main): Likewise.
2854         * tests/test-symlink.c (main): Likewise.
2855         * tests/test-symlinkat.c (main): Likewise.
2856         * tests/test-unlink.c (main): Likewise.
2857         * tests/test-unlinkat.c (main): Likewise.
2858         * tests/test-utimens.c (main): Likewise.
2859         * tests/test-utimensat.c (main): Likewise.
2860         * modules/areadlink-tests (Depends-on): Add ignore-value.
2861         * modules/areadlink-with-size-tests (Depends-on): Likewise.
2862         * modules/areadlinkat-tests (Depends-on): Likewise.
2863         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
2864         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2865         * modules/canonicalize-tests (Depends-on): Likewise.
2866         * modules/chown-tests (Depends-on): Likewise.
2867         * modules/fdutimensat-tests (Depends-on): Likewise.
2868         * modules/futimens-tests (Depends-on): Likewise.
2869         * modules/lchown-tests (Depends-on): Likewise.
2870         * modules/link-tests (Depends-on): Likewise.
2871         * modules/linkat-tests (Depends-on): Likewise.
2872         * modules/lstat-tests (Depends-on): Likewise.
2873         * modules/mkdir-tests (Depends-on): Likewise.
2874         * modules/mkfifo-tests (Depends-on): Likewise.
2875         * modules/mkfifoat-tests (Depends-on): Likewise.
2876         * modules/mknod-tests (Depends-on): Likewise.
2877         * modules/openat-tests (Depends-on): Likewise.
2878         * modules/readlink-tests (Depends-on): Likewise.
2879         * modules/remove-tests (Depends-on): Likewise.
2880         * modules/rename-tests (Depends-on): Likewise.
2881         * modules/renameat-tests (Depends-on): Likewise.
2882         * modules/rmdir-tests (Depends-on): Likewise.
2883         * modules/symlink-tests (Depends-on): Likewise.
2884         * modules/symlinkat-tests (Depends-on): Likewise.
2885         * modules/unlink-tests (Depends-on): Likewise.
2886         * modules/utimens-tests (Depends-on): Likewise.
2887         * modules/utimensat-tests (Depends-on): Likewise.
2888
2889 2010-01-31  Bruno Haible  <bruno@clisp.org>
2890
2891         Perform the same test for many <math.h> functions.
2892         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
2893         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
2894         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
2895         of gl_MATHFUNC.
2896         * modules/acos (configure.ac): Likewise.
2897         * modules/asin (configure.ac): Likewise.
2898         * modules/atan (configure.ac): Likewise.
2899         * modules/atan2 (configure.ac): Likewise.
2900         * modules/cbrt (configure.ac): Likewise.
2901         * modules/copysign (configure.ac): Likewise.
2902         * modules/cos (configure.ac): Likewise.
2903         * modules/cosh (configure.ac): Likewise.
2904         * modules/erf (configure.ac): Likewise.
2905         * modules/erfc (configure.ac): Likewise.
2906         * modules/exp (configure.ac): Likewise.
2907         * modules/fmod (configure.ac): Likewise.
2908         * modules/hypot (configure.ac): Likewise.
2909         * modules/j0 (configure.ac): Likewise.
2910         * modules/j1 (configure.ac): Likewise.
2911         * modules/jn (configure.ac): Likewise.
2912         * modules/lgamma (configure.ac): Likewise.
2913         * modules/log (configure.ac): Likewise.
2914         * modules/log10 (configure.ac): Likewise.
2915         * modules/log1p (configure.ac): Likewise.
2916         * modules/pow (configure.ac): Likewise.
2917         * modules/remainder (configure.ac): Likewise.
2918         * modules/sin (configure.ac): Likewise.
2919         * modules/sinh (configure.ac): Likewise.
2920         * modules/tan (configure.ac): Likewise.
2921         * modules/tanh (configure.ac): Likewise.
2922         * modules/y0 (configure.ac): Likewise.
2923         * modules/y1 (configure.ac): Likewise.
2924         * modules/yn (configure.ac): Likewise.
2925         Suggested by Paolo Bonzini.
2926
2927 2010-01-31  Bruno Haible  <bruno@clisp.org>
2928
2929         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
2930
2931 2010-01-31  Bruno Haible  <bruno@clisp.org>
2932
2933         Work around getdelim() bug on FreeBSD 8.0.
2934         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
2935         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
2936         not work.
2937         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
2938         is 1.
2939         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
2940         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
2941         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
2942         a non-zero size.
2943         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
2944
2945 2010-01-31  Bruno Haible  <bruno@clisp.org>
2946
2947         Work around getline() bug on FreeBSD 8.0.
2948         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
2949         and a non-zero size.
2950         * tests/test-getline.c (main): Likewise.
2951         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
2952         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
2953
2954 2010-01-28  Eric Blake  <ebb9@byu.net>
2955
2956         regex: fix build failure
2957         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
2958         platforms.
2959
2960 2010-01-28  Jim Meyering  <meyering@redhat.com>
2961
2962         regex: do not ignore memory allocation failure
2963         * lib/regex_internal.c (create_cd_newstate): Detect
2964         re_node_set_init_copy failure.   Extracted from glibc commit
2965         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
2966
2967         regex: sync more white-space changes from libc
2968         * lib/regex_internal.c: White-space only changes.
2969         * lib/regexec.c: Likewise.
2970
2971         regex: add many uses of __attribute_warn_unused_result__
2972         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
2973         * lib/regexec.c: Likewise.
2974         Extracted from a messy glibc commit.
2975
2976         regcomp.c: spelling and merge-artifact from glibc
2977         * lib/regcomp.c: Merge remainder of glibc's
2978         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
2979
2980         regcomp.c: sync white-space changes from glibc
2981         * lib/regcomp.c: Merge to accommodate white space
2982         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
2983
2984         regcomp.c: do not ignore internal return values
2985         * lib/regcomp.c: Do not ignore internal return values.
2986         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
2987         but without its white-space changes and spelling fixes.
2988
2989         regex_internal.h: define __attribute_warn_unused_result__
2990         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
2991
2992         maint: add a syntax-check rule to check for vulnerable Makefile.in
2993         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
2994
2995 2010-01-27  Jim Meyering  <meyering@redhat.com>
2996
2997         ncftpput-ftp: clean up spaces
2998         * build-aux/ncftpput-ftp: Make Copyright line consistent.
2999         Remove trailing blanks.
3000
3001 2010-01-27  Simon Josefsson  <simon@josefsson.org>
3002
3003         * build-aux/git-version-gen: Fix copyright statement.
3004         * build-aux/gnupload: Likewise.
3005         * tests/test-arcfour.c: Likewise.
3006         * tests/test-arctwo.c: Likewise.
3007         * tests/test-count-one-bits.c: Likewise.
3008         * tests/test-crc.c: Likewise.
3009         * tests/test-des.c: Likewise.
3010         * tests/test-gc-arcfour.c: Likewise.
3011         * tests/test-gc-arctwo.c: Likewise.
3012         * tests/test-gc-des.c: Likewise.
3013         * tests/test-gc-hmac-md5.c: Likewise.
3014         * tests/test-gc-hmac-sha1.c: Likewise.
3015         * tests/test-gc-md2.c: Likewise.
3016         * tests/test-gc-md4.c: Likewise.
3017         * tests/test-gc-md5.c: Likewise.
3018         * tests/test-gc-pbkdf2-sha1.c: Likewise.
3019         * tests/test-gc-rijndael.c: Likewise.
3020         * tests/test-gc-sha1.c: Likewise.
3021         * tests/test-gc.c: Likewise.
3022         * tests/test-gethostname.c: Likewise.
3023         * tests/test-gettimeofday.c: Likewise.
3024         * tests/test-hash.c: Likewise.
3025         * tests/test-hmac-md5.c: Likewise.
3026         * tests/test-hmac-sha1.c: Likewise.
3027         * tests/test-md2.c: Likewise.
3028         * tests/test-md4.c: Likewise.
3029         * tests/test-md5.c: Likewise.
3030         * tests/test-memchr.c: Likewise.
3031         * tests/test-memchr2.c: Likewise.
3032         * tests/test-memcmp.c: Likewise.
3033         * tests/test-memmem.c: Likewise.
3034         * tests/test-memrchr.c: Likewise.
3035         * tests/test-rawmemchr.c: Likewise.
3036         * tests/test-read-file.c: Likewise.
3037         * tests/test-rijndael.c: Likewise.
3038         * tests/test-sockets.c: Likewise.
3039         * tests/test-strchrnul.c: Likewise.
3040         * tests/test-strstr.c: Likewise.
3041         * tests/test-strtod.c: Likewise.
3042         * build-aux/ncftpput-ftp: Likewise.
3043
3044 2010-01-26  Eric Blake  <ebb9@byu.net>
3045
3046         ignore-value: update recommended header name
3047         * modules/ignore-value (Include): Only use <> for headers that
3048         exist in glibc.
3049
3050 2010-01-26  Jim Meyering  <meyering@redhat.com>
3051
3052         test-userspec.c: avoid compiler warnings
3053         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
3054         and "initialization discards qualifiers..." warnings.
3055         Put the first "uid" in its own scope, and make char* members "const".
3056
3057 2010-01-25  Bruno Haible  <bruno@clisp.org>
3058
3059         gnulib-tool: Make warning diagnostics consistent.
3060         * gnulib-tool (func_warning): New function.
3061         Use it everywhere where gnulib-tool produces output to stderr and it is
3062         not a fatal error.
3063
3064 2010-01-25  Bruno Haible  <bruno@clisp.org>
3065
3066         Fix test dependencies.
3067         * modules/xstrtol-tests (Depends-on): Add inttypes.
3068         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
3069
3070 2010-01-25 Pádraig Brady <P@draigBrady.com>
3071
3072         syntax-check: detect incorrect boolean macro values in config.h
3073         * modules/maintainer-makefile (configure.ac): Parameterize the location
3074         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
3075         The logic is from Eric Blake and the location indicated by Jim Meyering.
3076         Note the more natural CONFIG_HEADER name is prohibited by automake
3077         for backwards compatibility reasons.
3078         * top/maint.mk (sc_Wundef_boolean): New rule.
3079
3080 2010-01-25  Jim Meyering  <meyering@redhat.com>
3081
3082         bootstrap: detect MacOS 10.6's shasum, too
3083         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
3084         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
3085
3086 2010-01-23  Jim Meyering  <meyering@redhat.com>
3087
3088         xstrtoll: new module
3089         * modules/xstrtoll: New file.
3090         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
3091         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
3092         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
3093         ./configure fails if you use this module and lack "long long".
3094         * modules/xstrtoll-tests: New module.
3095         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
3096         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
3097         new init.sh-based test framework.
3098
3099 2010-01-24  Bruno Haible  <bruno@clisp.org>
3100
3101         Tests for module 'yn'.
3102         * modules/yn-tests: New file.
3103         * tests/test-yn.c: New file.
3104
3105         Tests for module 'y1'.
3106         * modules/y1-tests: New file.
3107         * tests/test-y1.c: New file.
3108
3109         Tests for module 'y0'.
3110         * modules/y0-tests: New file.
3111         * tests/test-y0.c: New file.
3112
3113         Tests for module 'tanh'.
3114         * modules/tanh-tests: New file.
3115         * tests/test-tanh.c: New file.
3116
3117         Tests for module 'tan'.
3118         * modules/tan-tests: New file.
3119         * tests/test-tan.c: New file.
3120
3121         Tests for module 'sqrt'.
3122         * modules/sqrt-tests: New file.
3123         * tests/test-sqrt.c: New file.
3124
3125         Tests for module 'sinh'.
3126         * modules/sinh-tests: New file.
3127         * tests/test-sinh.c: New file.
3128
3129         Tests for module 'sin'.
3130         * modules/sin-tests: New file.
3131         * tests/test-sin.c: New file.
3132
3133         Tests for module 'rint'.
3134         * modules/rint-tests: New file.
3135         * tests/test-rint.c: New file.
3136
3137         Tests for module 'remainder'.
3138         * modules/remainder-tests: New file.
3139         * tests/test-remainder.c: New file.
3140
3141         Tests for module 'pow'.
3142         * modules/pow-tests: New file.
3143         * tests/test-pow.c: New file.
3144
3145         Tests for module 'nextafter'.
3146         * modules/nextafter-tests: New file.
3147         * tests/test-nextafter.c: New file.
3148
3149         Tests for module 'modf'.
3150         * modules/modf-tests: New file.
3151         * tests/test-modf.c: New file.
3152
3153         Tests for module 'logb'.
3154         * modules/logb-tests: New file.
3155         * tests/test-logb.c: New file.
3156
3157         Tests for module 'log1p'.
3158         * modules/log1p-tests: New file.
3159         * tests/test-log1p.c: New file.
3160
3161         Tests for module 'log10'.
3162         * modules/log10-tests: New file.
3163         * tests/test-log10.c: New file.
3164
3165         Tests for module 'log'.
3166         * modules/log-tests: New file.
3167         * tests/test-log.c: New file.
3168
3169         Tests for module 'lgamma'.
3170         * modules/lgamma-tests: New file.
3171         * tests/test-lgamma.c: New file.
3172
3173         Tests for module 'ldexp'.
3174         * modules/ldexp-tests: New file.
3175         * tests/test-ldexp.c: New file.
3176
3177         Tests for module 'jn'.
3178         * modules/jn-tests: New file.
3179         * tests/test-jn.c: New file.
3180
3181         Tests for module 'j1'.
3182         * modules/j1-tests: New file.
3183         * tests/test-j1.c: New file.
3184
3185         Tests for module 'j0'.
3186         * modules/j0-tests: New file.
3187         * tests/test-j0.c: New file.
3188
3189         Tests for module 'hypot'.
3190         * modules/hypot-tests: New file.
3191         * tests/test-hypot.c: New file.
3192
3193         Tests for module 'fmod'.
3194         * modules/fmod-tests: New file.
3195         * tests/test-fmod.c: New file.
3196
3197         Tests for module 'fabs'.
3198         * modules/fabs-tests: New file.
3199         * tests/test-fabs.c: New file.
3200
3201         Tests for module 'exp'.
3202         * modules/exp-tests: New file.
3203         * tests/test-exp.c: New file.
3204
3205         Tests for module 'erfc'.
3206         * modules/erfc-tests: New file.
3207         * tests/test-erfc.c: New file.
3208
3209         Tests for module 'erf'.
3210         * modules/erf-tests: New file.
3211         * tests/test-erf.c: New file.
3212
3213         Tests for module 'cosh'.
3214         * modules/cosh-tests: New file.
3215         * tests/test-cosh.c: New file.
3216
3217         Tests for module 'cos'.
3218         * modules/cos-tests: New file.
3219         * tests/test-cos.c: New file.
3220
3221         Tests for module 'copysign'.
3222         * modules/copysign-tests: New file.
3223         * tests/test-copysign.c: New file.
3224
3225         Tests for module 'cbrt'.
3226         * modules/cbrt-tests: New file.
3227         * tests/test-cbrt.c: New file.
3228
3229         Tests for module 'atan2'.
3230         * modules/atan2-tests: New file.
3231         * tests/test-atan2.c: New file.
3232
3233         Tests for module 'atan'.
3234         * modules/atan-tests: New file.
3235         * tests/test-atan.c: New file.
3236
3237         Tests for module 'asin'.
3238         * modules/asin-tests: New file.
3239         * tests/test-asin.c: New file.
3240
3241         Tests for module 'acos'.
3242         * modules/acos-tests: New file.
3243         * tests/test-acos.c: New file.
3244
3245 2010-01-24  Bruno Haible  <bruno@clisp.org>
3246
3247         Fix tests for common <math.h> functions.
3248         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
3249         code snippet that references the function pointer, rather than merely
3250         calling the function. Substitute the FUNC_LIBM variable.
3251         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
3252         * modules/acos (configure.ac): Likewise.
3253         * modules/asin (configure.ac): Likewise.
3254         * modules/atan (configure.ac): Likewise.
3255         * modules/atan2 (configure.ac): Likewise.
3256         * modules/cbrt (configure.ac): Likewise.
3257         * modules/copysign (configure.ac): Likewise.
3258         * modules/cos (configure.ac): Likewise.
3259         * modules/cosh (configure.ac): Likewise.
3260         * modules/erf (configure.ac): Likewise.
3261         * modules/erfc (configure.ac): Likewise.
3262         * modules/exp (configure.ac): Likewise.
3263         * modules/fabs (configure.ac): Likewise.
3264         * modules/fmod (configure.ac): Likewise.
3265         * modules/hypot (configure.ac): Likewise.
3266         * modules/j0 (configure.ac): Likewise.
3267         * modules/j1 (configure.ac): Likewise.
3268         * modules/jn (configure.ac): Likewise.
3269         * modules/ldexp (configure.ac): Likewise.
3270         * modules/lgamma (configure.ac): Likewise.
3271         * modules/log (configure.ac): Likewise.
3272         * modules/log10 (configure.ac): Likewise.
3273         * modules/log1p (configure.ac): Likewise.
3274         * modules/logb (configure.ac): Likewise.
3275         * modules/modf (configure.ac): Likewise.
3276         * modules/nextafter (configure.ac): Likewise.
3277         * modules/pow (configure.ac): Likewise.
3278         * modules/remainder (configure.ac): Likewise.
3279         * modules/rint (configure.ac): Likewise.
3280         * modules/sin (configure.ac): Likewise.
3281         * modules/sinh (configure.ac): Likewise.
3282         * modules/tan (configure.ac): Likewise.
3283         * modules/tanh (configure.ac): Likewise.
3284         * modules/y0 (configure.ac): Likewise.
3285         * modules/y1 (configure.ac): Likewise.
3286         * modules/yn (configure.ac): Likewise.
3287
3288 2010-01-24  Bruno Haible  <bruno@clisp.org>
3289
3290         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
3291         * tests/test-acosl.c (x): New variable.
3292         (main): Store argument in x and fetch it from x.
3293         * tests/test-asinl.c (x): New variable.
3294         (main): Store argument in x and fetch it from x.
3295         * tests/test-atanl.c (x): New variable.
3296         (main): Store argument in x and fetch it from x.
3297         * tests/test-cosl.c (x): New variable.
3298         (main): Store argument in x and fetch it from x.
3299         * tests/test-expl.c (x): New variable.
3300         (main): Store argument in x and fetch it from x.
3301         * tests/test-logl.c (x): New variable.
3302         (main): Store argument in x and fetch it from x.
3303         * tests/test-sinl.c (x): New variable.
3304         (main): Store argument in x and fetch it from x.
3305         * tests/test-sqrtl.c (x): New variable.
3306         (main): Store argument in x and fetch it from x.
3307         * tests/test-tanl.c (x): New variable.
3308         (main): Store argument in x and fetch it from x.
3309
3310 2010-01-24  Bruno Haible  <bruno@clisp.org>
3311
3312         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
3313         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
3314         assignments to the initial TESTS_ENVIRONMENT.
3315         * doc/gnulib.texi (Unit test modules): Document it.
3316         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
3317         TESTS_ENVIRONMENT.
3318         * modules/btowc-tests (Makefile.am): Likewise.
3319         * modules/c-stack-tests (Makefile.am): Likewise.
3320         * modules/c-strcase-tests (Makefile.am): Likewise.
3321         * modules/copy-file-tests (Makefile.am): Likewise.
3322         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
3323         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
3324         * modules/mbrtowc-tests (Makefile.am): Likewise.
3325         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3326         * modules/mbscasestr-tests (Makefile.am): Likewise.
3327         * modules/mbschr-tests (Makefile.am): Likewise.
3328         * modules/mbscspn-tests (Makefile.am): Likewise.
3329         * modules/mbsinit-tests (Makefile.am): Likewise.
3330         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3331         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
3332         * modules/mbspbrk-tests (Makefile.am): Likewise.
3333         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3334         * modules/mbsrchr-tests (Makefile.am): Likewise.
3335         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
3336         * modules/mbsspn-tests (Makefile.am): Likewise.
3337         * modules/mbsstr-tests (Makefile.am): Likewise.
3338         * modules/nl_langinfo-tests (Makefile.am): Likewise.
3339         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
3340         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3341         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3342         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3343         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3344         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
3345         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3346         * modules/wcrtomb-tests (Makefile.am): Likewise.
3347         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
3348         * modules/wcsrtombs-tests (Makefile.am): Likewise.
3349         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
3350         assignments from TESTS_ENVIRONMENT.
3351         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
3352         augmentation.
3353         * modules/argp-version-etc-tests (Makefile.am): Likewise.
3354         * modules/atexit-tests (Makefile.am): Likewise.
3355         * modules/binary-io-tests (Makefile.am): Likewise.
3356         * modules/closein-tests (Makefile.am): Likewise.
3357         * modules/dprintf-posix-tests (Makefile.am): Likewise.
3358         * modules/exclude-tests (Makefile.am): Likewise.
3359         * modules/fflush-tests (Makefile.am): Likewise.
3360         * modules/fpending-tests (Makefile.am): Likewise.
3361         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3362         * modules/freadahead-tests (Makefile.am): Likewise.
3363         * modules/freadptr-tests (Makefile.am): Likewise.
3364         * modules/freadseek-tests (Makefile.am): Likewise.
3365         * modules/fseek-tests (Makefile.am): Likewise.
3366         * modules/fseeko-tests (Makefile.am): Likewise.
3367         * modules/ftell-tests (Makefile.am): Likewise.
3368         * modules/ftello-tests (Makefile.am): Likewise.
3369         * modules/idpriv-drop-tests (Makefile.am): Likewise.
3370         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
3371         * modules/lseek-tests (Makefile.am): Likewise.
3372         * modules/parse-duration-tests (Makefile.am): Likewise.
3373         * modules/perror-tests (Makefile.am): Likewise.
3374         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
3375         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
3376         * modules/pipe-tests (Makefile.am): Likewise.
3377         * modules/pread-tests (Makefile.am): Likewise.
3378         * modules/printf-posix-tests (Makefile.am): Likewise.
3379         * modules/select-tests (Makefile.am): Likewise.
3380         * modules/sigpipe-tests (Makefile.am): Likewise.
3381         * modules/tsearch-tests (Makefile.am): Likewise.
3382         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
3383         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
3384         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3385         * modules/uniwidth/width-tests (Makefile.am): Likewise.
3386         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
3387         * modules/version-etc-tests (Makefile.am): Likewise.
3388         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3389         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3390         * modules/xalloc-die-tests (Makefile.am): Likewise.
3391         * modules/xprintf-posix-tests (Makefile.am): Likewise.
3392         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3393         * modules/xstrtol-tests (Makefile.am): Likewise.
3394         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3395         * modules/yesno-tests (Makefile.am): Likewise.
3396         Suggested by Jim Meyering.
3397
3398 2010-01-24  Bruno Haible  <bruno@clisp.org>
3399
3400         More documentation.
3401         * doc/gnulib.texi (Writing modules): New chapter.
3402         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
3403         the new chapter.
3404
3405 2010-01-24  Jim Meyering  <meyering@redhat.com>
3406
3407         maint.mk: do not prepend "./" after filtering
3408         * top/maint.mk (_prepend_srcdir_prefix): New variable
3409         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
3410         "./" when $(srcdir) is ".".
3411
3412         define STREQ(a,b) consistently, removing useless parentheses
3413         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
3414         since the only risk is that "a" or "b" contains an unparenthesized
3415         comma, but if either did that, STREQ would have 3 or more arguments.
3416         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
3417         * lib/fts.c (STREQ): Remove unnecessary parentheses.
3418         * lib/hash-triple.c (STREQ): Likewise.
3419         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
3420         * lib/getugroups.c (STREQ): Likewise.
3421
3422 2010-01-23  Jim Meyering  <meyering@redhat.com>
3423
3424         maint.mk: fix syntax-check in a non-srcdir build directory
3425         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
3426         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
3427
3428 2010-01-22  Jim Meyering  <meyering@redhat.com>
3429
3430         userspec: add unit tests
3431         * tests/test-userspec.c: New file.
3432         * modules/userspec-tests: Likewise.
3433
3434 2010-01-21  Jim Meyering  <meyering@redhat.com>
3435
3436         maint.mk: handle source file names containing "." robustly
3437         * top/maint.mk (_dot_escaped_srcdir): Define.
3438         (VC_LIST): Use it in LHS of sed substitution.
3439
3440 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
3441
3442         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
3443         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
3444         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
3445         from a non-srcdir build.
3446
3447 2010-01-20  Eric Blake  <ebb9@byu.net>
3448
3449         warn-on-use: use instead of link-warning
3450         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
3451         * modules/unistd (Depends-on, Makefile.am): Likewise.
3452         * modules/arpa_inet (Depends-on): Replace link-warning with
3453         warn-on-use.
3454         (Makefile.am): Update rules accordingly.
3455         * modules/ctype (Depends-on, Makefile.am): Likewise.
3456         * modules/dirent (Depends-on, Makefile.am): Likewise.
3457         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
3458         * modules/inttypes (Depends-on, Makefile.am): Likewise.
3459         * modules/langinfo (Depends-on, Makefile.am): Likewise.
3460         * modules/locale (Depends-on, Makefile.am): Likewise.
3461         * modules/math (Depends-on, Makefile.am): Likewise.
3462         * modules/search (Depends-on, Makefile.am): Likewise.
3463         * modules/signal (Depends-on, Makefile.am): Likewise.
3464         * modules/spawn (Depends-on, Makefile.am): Likewise.
3465         * modules/stdlib (Depends-on, Makefile.am): Likewise.
3466         * modules/string (Depends-on, Makefile.am): Likewise.
3467         * modules/strings (Depends-on, Makefile.am): Likewise.
3468         * modules/sys_file (Depends-on, Makefile.am): Likewise.
3469         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
3470         * modules/sys_select (Depends-on, Makefile.am): Likewise.
3471         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
3472         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
3473         * modules/sys_times (Depends-on, Makefile.am): Likewise.
3474         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
3475         * modules/wchar (Depends-on, Makefile.am): Likewise.
3476         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
3477         should be poisoned.
3478         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
3479         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
3480         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
3481         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
3482         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
3483         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3484         * m4/math_h.m4 (gl_MATH_H): Likewise.
3485         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3486         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
3487         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3488         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3489         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3490         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
3491         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
3492         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
3493         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3494         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3495         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
3496         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
3497         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3498         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3499         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3500         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3501         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
3502         GL_LINK_WARNING.
3503         * lib/ctype.in.h: Likewise.
3504         * lib/dirent.in.h: Likewise.
3505         * lib/fcntl.in.h: Likewise.
3506         * lib/inttypes.in.h: Likewise.
3507         * lib/langinfo.in.h: Likewise.
3508         * lib/locale.in.h: Likewise.
3509         * lib/math.in.h: Likewise.
3510         * lib/search.in.h: Likewise.
3511         * lib/signal.in.h: Likewise.
3512         * lib/spawn.in.h: Likewise.
3513         * lib/stdio.in.h: Likewise.
3514         * lib/stdlib.in.h: Likewise.
3515         * lib/string.in.h: Likewise.
3516         * lib/strings.in.h: Likewise.
3517         * lib/sys_file.in.h: Likewise.
3518         * lib/sys_ioctl.in.h: Likewise.
3519         * lib/sys_select.in.h: Likewise.
3520         * lib/sys_socket.in.h: Likewise.
3521         * lib/sys_stat.in.h: Likewise.
3522         * lib/sys_times.in.h: Likewise.
3523         * lib/sys_utsname.in.h: Likewise.
3524         * lib/unistd.in.h: Likewise.
3525         * lib/wchar.in.h: Likewise.
3526
3527 2010-01-20  Bruno Haible  <bruno@clisp.org>
3528
3529         Avoid duplicate -lm.
3530         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
3531         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
3532         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
3533         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
3534         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
3535         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
3536         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
3537         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
3538         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
3539         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
3540         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
3541         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3542         Reported by Paolo Bonzini.
3543
3544 2010-01-19  Bruno Haible  <bruno@clisp.org>
3545
3546         langinfo, nl_langinfo: Relicense under LGPLv2+.
3547         * modules/langinfo (License): Change to LGPLv2+.
3548         * modules/nl_langinfo (License): Likewise.
3549         Patch by David Lutterkort <lutter@redhat.com>.
3550
3551 2010-01-19  Bruno Haible  <bruno@clisp.org>
3552
3553         Avoid compilation error with cc on OSF/1 5.1.
3554         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
3555         statement, not before.
3556         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3557
3558 2010-01-18  Bruno Haible  <bruno@clisp.org>
3559
3560         Avoid a link error due to the __printf__ symbol.
3561         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
3562         and 2.6.x.
3563         (__format__, __printf__): Remove definitions.
3564         * lib/argp-fmtstream.h: Likewise.
3565         * lib/argp.h: Likewise.
3566         * lib/error.h: Likewise.
3567         * lib/vasnprintf.h: Likewise.
3568         * lib/xprintf.h: Likewise.
3569         * lib/xvasprintf.h: Likewise.
3570         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3571
3572 2010-01-18  Bruno Haible  <bruno@clisp.org>
3573
3574         Tests for module 'tanl'.
3575         * modules/tanl-tests: New file.
3576         * tests/test-tanl.c: New file.
3577
3578         Tests for module 'sqrtl'.
3579         * modules/sqrtl-tests: New file.
3580         * tests/test-sqrtl.c: New file.
3581
3582         Tests for module 'sinl'.
3583         * modules/sinl-tests: New file.
3584         * tests/test-sinl.c: New file.
3585
3586         Tests for module 'logl'.
3587         * modules/logl-tests: New file.
3588         * tests/test-logl.c: New file.
3589
3590         Tests for module 'expl'.
3591         * modules/expl-tests: New file.
3592         * tests/test-expl.c: New file.
3593
3594         Tests for module 'cosl'.
3595         * modules/cosl-tests: New file.
3596         * tests/test-cosl.c: New file.
3597
3598         Tests for module 'atanl'.
3599         * modules/atanl-tests: New file.
3600         * tests/test-atanl.c: New file.
3601
3602         Tests for module 'asinl'.
3603         * modules/asinl-tests: New file.
3604         * tests/test-asinl.c: New file.
3605
3606         Tests for module 'acosl'.
3607         * modules/acosl-tests: New file.
3608         * tests/test-acosl.c: New file.
3609
3610         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
3611         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3612         tanl): Use the standard gnulib idiom.
3613         * lib/cosl.c: Don't include trigl.c and sincosl.c.
3614         * lib/sinl.c: Likewise.
3615         * lib/tanl.c: Don't include trigl.c.
3616         (kernel_tanl): Make static.
3617         * lib/sincosl.c: Include trigl.h first.
3618         * lib/trigl.c: Likewise.
3619         * m4/acosl.m4: New file.
3620         * m4/asinl.m4: New file.
3621         * m4/atanl.m4: New file.
3622         * m4/cosl.m4: New file.
3623         * m4/expl.m4: New file.
3624         * m4/logl.m4: New file.
3625         * m4/sinl.m4: New file.
3626         * m4/sqrtl.m4: New file.
3627         * m4/tanl.m4: New file.
3628         * m4/mathl.m4: Remove file.
3629         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
3630         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
3631         Don't initialize GNULIB_MATHL.
3632         * modules/acosl: New file.
3633         * modules/asinl: New file.
3634         * modules/atanl: New file.
3635         * modules/cosl: New file.
3636         * modules/expl: New file.
3637         * modules/logl: New file.
3638         * modules/sinl: New file.
3639         * modules/sqrtl: New file.
3640         * modules/tanl: New file.
3641         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
3642         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
3643         substitute GNULIB_MATHL.
3644         * modules/mathl: Rewritten.
3645         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
3646         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
3647         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
3648         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
3649         * doc/posix-functions/expl.texi: Mention the 'expl' module.
3650         * doc/posix-functions/logl.texi: Mention the 'logl' module.
3651         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
3652         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
3653         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
3654
3655 2010-01-18  Bruno Haible  <bruno@clisp.org>
3656
3657         sqrt: Make gl_FUNC_SQRT requirable.
3658         * m4/sqrt.m4: New file.
3659         * modules/sqrt (Files): Add it.
3660         (configure.ac): Invoke gl_FUNC_SQRT.
3661
3662 2010-01-18  Bruno Haible  <bruno@clisp.org>
3663
3664         New modules for common <math.h> functions.
3665         * m4/mathfunc.m4: New file.
3666         * modules/acos: New file.
3667         * modules/asin: New file.
3668         * modules/atan: New file.
3669         * modules/atan2: New file.
3670         * modules/cbrt: New file.
3671         * modules/copysign: New file.
3672         * modules/cos: New file.
3673         * modules/cosh: New file.
3674         * modules/erf: New file.
3675         * modules/erfc: New file.
3676         * modules/exp: New file.
3677         * modules/fabs: New file.
3678         * modules/fmod: New file.
3679         * modules/hypot: New file.
3680         * modules/j0: New file.
3681         * modules/j1: New file.
3682         * modules/jn: New file.
3683         * modules/ldexp: New file.
3684         * modules/lgamma: New file.
3685         * modules/log: New file.
3686         * modules/log10: New file.
3687         * modules/log1p: New file.
3688         * modules/logb: New file.
3689         * modules/modf: New file.
3690         * modules/nextafter: New file.
3691         * modules/pow: New file.
3692         * modules/remainder: New file.
3693         * modules/rint: New file.
3694         * modules/sin: New file.
3695         * modules/sinh: New file.
3696         * modules/sqrt: New file.
3697         * modules/tan: New file.
3698         * modules/tanh: New file.
3699         * modules/y0: New file.
3700         * modules/y1: New file.
3701         * modules/yn: New file.
3702         * doc/posix-functions/acos.texi: Mention the 'acos' module.
3703         * doc/posix-functions/asin.texi: Mention the 'asin' module.
3704         * doc/posix-functions/atan.texi: Mention the 'atan' module.
3705         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
3706         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
3707         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
3708         * doc/posix-functions/cos.texi: Mention the 'cos' module.
3709         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
3710         * doc/posix-functions/erf.texi: Mention the 'erf' module.
3711         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
3712         * doc/posix-functions/exp.texi: Mention the 'exp' module.
3713         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
3714         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
3715         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
3716         * doc/posix-functions/j0.texi: Mention the 'j0' module.
3717         * doc/posix-functions/j1.texi: Mention the 'j1' module.
3718         * doc/posix-functions/jn.texi: Mention the 'jn' module.
3719         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
3720         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
3721         * doc/posix-functions/log.texi: Mention the 'log' module.
3722         * doc/posix-functions/log10.texi: Mention the 'log10' module.
3723         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
3724         * doc/posix-functions/logb.texi: Mention the 'logb' module.
3725         * doc/posix-functions/modf.texi: Mention the 'modf' module.
3726         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
3727         * doc/posix-functions/pow.texi: Mention the 'pow' module.
3728         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
3729         * doc/posix-functions/rint.texi: Mention the 'rint' module.
3730         * doc/posix-functions/sin.texi: Mention the 'sin' module.
3731         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
3732         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
3733         * doc/posix-functions/tan.texi: Mention the 'tan' module.
3734         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
3735         * doc/posix-functions/y0.texi: Mention the 'y0' module.
3736         * doc/posix-functions/y1.texi: Mention the 'y1' module.
3737         * doc/posix-functions/yn.texi: Mention the 'yn' module.
3738
3739 2010-01-18  Jim Meyering  <meyering@redhat.com>
3740
3741         ignore-value: relax license to LGPLv2+
3742         * modules/ignore-value (License): Relax to LGPLv2+.
3743
3744         getdate: don't leak when TZ contains two or more '"'s
3745         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
3746         double quote in TZ after the first one.
3747
3748         readtokens: do not leak internal token_lengths buffer
3749         * lib/readtokens.c (readtokens): Free the local, lengths,
3750         when the supplied "token_lengths" parameter is NULL.
3751
3752 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3753
3754         Fix a couple of missing LIBTHREAD link failures on AIX.
3755         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
3756         $(LIBTHREAD).
3757         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
3758
3759         Link test-poll against INET_PTON_LIB.
3760         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
3761         for inet_pton on Solaris 10.
3762
3763 2010-01-17  Bruno Haible  <bruno@clisp.org>
3764
3765         unistdio/*-sprintf: Fix typo in module description.
3766         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
3767         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
3768         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
3769         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
3770         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
3771         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
3772         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
3773         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3774
3775 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3776
3777         gnulib-tool: fix filelist for AIX, HP-UX ksh.
3778         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
3779         variables in shell case patterns, for AIX and HP-UX ksh.
3780
3781         Split large sed scripts, for HP-UX sed.
3782         * modules/stdio: Split sed scripts around 50 sed commands,
3783         to avoid HP-UX limit of 99 commands, in the near future.
3784         * modules/string: Likewise.
3785         * modules/unistd: Likewise.
3786
3787         gnulib-tool: avoid writing in the current directory.
3788         * gnulib-tool (func_emit_lib_Makefile_am)
3789         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
3790         not in the current directory, so concurrent gnulib-tool
3791         instances do not interfere.
3792
3793 2010-01-16  Jim Meyering  <meyering@redhat.com>
3794
3795         doc: update users.txt
3796         * users.txt: Add grep.
3797         (diffutils, gzip): Update URLs.
3798
3799 2010-01-12  Bruno Haible  <bruno@clisp.org>
3800
3801         posix_spawn: Avoid test failure on Cygwin.
3802         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
3803         characters.
3804         Reported by Simon Josefsson.
3805
3806 2010-01-12  Bruno Haible  <bruno@clisp.org>
3807
3808         * tests/test-cond.c (main): When skipping the test, show the reason.
3809
3810 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3811
3812         * lib/striconv.c (str_cd_iconv): Avoid if before free.
3813
3814 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3815
3816         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
3817         VC_LIST_ALWAYS_EXCLUDE_REGEX.
3818
3819 2010-01-12  Eric Blake  <ebb9@byu.net>
3820
3821         build: guarantee AS_VAR_IF
3822         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
3823         (gl_AS_VAR_IF): Move...
3824         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
3825         Reported by Simon Josefsson.
3826
3827 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3828
3829         * lib/stdio.in.h: Fix typo.
3830
3831 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3832
3833         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
3834         libgpg-error.
3835
3836 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3837
3838         * tests/test-xalloc-die.sh: Use $EXEEXT.
3839
3840 2010-01-12  Simon Josefsson  <simon@josefsson.org>
3841             Bruno Haible  <bruno@clisp.org>
3842
3843         getlogin, getlogin_r: Avoid test failure.
3844         * tests/test-getlogin.c: Include <stdio.h>.
3845         (main): Skip the test when the function fails because stdin is not a
3846         tty.
3847         * tests/test-getlogin_r.c: Include <stdio.h>.
3848         (main): Skip the test when the function fails because stdin is not a
3849         tty.
3850
3851 2010-01-11  Eric Blake  <ebb9@byu.net>
3852
3853         tests: avoid more large file warnings
3854         * tests/test-fflush.c: Avoid warning about ftell use.
3855         * tests/test-fseek.c: Avoid warning about fseek use.
3856
3857 2010-01-10  Bruno Haible  <bruno@clisp.org>
3858
3859         nproc: Work better on Linux when /proc and /sys are not mounted.
3860         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
3861         as lower bound when, on glibc/Linux systems,
3862         sysconf (_SC_NPROCESSORS_CONF) returns 1.
3863         Suggested by Pádraig Brady <P@draigbrady.com>.
3864         Reported by Dmitry V. Levin <ldv@altlinux.org>.
3865
3866         nproc: Refactor.
3867         * lib/nproc.c (num_processors_via_affinity_mask): New function,
3868         extracted from num_processors.
3869         (num_processors): Call it.
3870
3871 2010-01-11  Jim Meyering  <meyering@redhat.com>
3872
3873         utimecmp: avoid new warning from upcoming gcc-4.5.0
3874         * lib/utimecmp.c (BILLION): Define using #define rather than an
3875         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
3876
3877 2010-01-11  Eric Blake  <ebb9@byu.net>
3878
3879         math: add portability warnings for classification macros
3880         * modules/math (Depends-on): Add warn-on-use.
3881         (Makefile.am): Provide new substitutions.
3882         * m4/math_h.m4 (gl_MATH_H): Require inline.
3883         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
3884         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
3885         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
3886         implement warnings.
3887
3888         unistd: warn on use of environ without module
3889         * modules/unistd (Depends-on): Add warn-on-use.
3890         (Makefile.am): Provide new substitutions.
3891         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
3892         * lib/unistd.in.h (environ): Wrap with a warning helper function.
3893
3894         stdio: warn on suspicious uses
3895         * modules/stdio (Depends-on): Add warn-on-use.
3896         (Makefile.am): Provide new substitutions.
3897         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
3898         fseeko.
3899         * lib/stdio.in.h (gets): Always warn on use.
3900         (fseek, ftell): Adjust when warnings are issued, and honor
3901         _GL_NO_LARGE_FILES as a way to silence the warning.
3902         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
3903         any warning about large file offsets.
3904         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
3905         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
3906         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
3907         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
3908         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
3909         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
3910         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
3911         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
3912
3913         warn-on-use: new module
3914         * modules/warn-on-use: New file.
3915         * build-aux/warn-on-use.h: Likewise.
3916         * m4/warn-on-use.m4: Likewise.
3917         * MODULES.html.sh (Support for building): Mention it.
3918
3919 2010-01-10  Bruno Haible  <bruno@clisp.org>
3920
3921         Tests for module 'unistr/u32-strdup'.
3922         * modules/unistr/u32-strdup-tests: New file.
3923         * tests/unistr/test-u32-strdup.c: New file.
3924
3925         Tests for module 'unistr/u16-strdup'.
3926         * modules/unistr/u16-strdup-tests: New file.
3927         * tests/unistr/test-u16-strdup.c: New file.
3928
3929         Tests for module 'unistr/u8-strdup'.
3930         * modules/unistr/u8-strdup-tests: New file.
3931         * tests/unistr/test-u8-strdup.c: New file.
3932         * tests/unistr/test-strdup.h: New file.
3933
3934         Tests for module 'unistr/u32-strncmp'.
3935         * modules/unistr/u32-strncmp-tests: New file.
3936         * tests/unistr/test-u32-strncmp.c: New file.
3937
3938         Tests for module 'unistr/u16-strncmp'.
3939         * modules/unistr/u16-strncmp-tests: New file.
3940         * tests/unistr/test-u16-strncmp.c: New file.
3941
3942         Tests for module 'unistr/u8-strncmp'.
3943         * modules/unistr/u8-strncmp-tests: New file.
3944         * tests/unistr/test-u8-strncmp.c: New file.
3945         * tests/unistr/test-strncmp.h: New file.
3946
3947         Tests for module 'unistr/u32-strcoll'.
3948         * modules/unistr/u32-strcoll-tests: New file.
3949         * tests/unistr/test-u32-strcoll.c: New file.
3950
3951         Tests for module 'unistr/u16-strcoll'.
3952         * modules/unistr/u16-strcoll-tests: New file.
3953         * tests/unistr/test-u16-strcoll.c: New file.
3954
3955         Tests for module 'unistr/u8-strcoll'.
3956         * modules/unistr/u8-strcoll-tests: New file.
3957         * tests/unistr/test-u8-strcoll.c: New file.
3958
3959         Tests for module 'unistr/u32-strcmp'.
3960         * modules/unistr/u32-strcmp-tests: New file.
3961         * tests/unistr/test-u32-strcmp.c: New file.
3962         * tests/unistr/test-u32-strcmp.h: New file.
3963
3964         Tests for module 'unistr/u16-strcmp'.
3965         * modules/unistr/u16-strcmp-tests: New file.
3966         * tests/unistr/test-u16-strcmp.c: New file.
3967         * tests/unistr/test-u16-strcmp.h: New file.
3968
3969         Tests for module 'unistr/u8-strcmp'.
3970         * modules/unistr/u8-strcmp-tests: New file.
3971         * tests/unistr/test-u8-strcmp.c: New file.
3972         * tests/unistr/test-u8-strcmp.h: New file.
3973         * tests/unistr/test-strcmp.h: New file.
3974
3975         Tests for module 'unistr/u32-strncat'.
3976         * modules/unistr/u32-strncat-tests: New file.
3977         * tests/unistr/test-u32-strncat.c: New file.
3978
3979         Tests for module 'unistr/u16-strncat'.
3980         * modules/unistr/u16-strncat-tests: New file.
3981         * tests/unistr/test-u16-strncat.c: New file.
3982
3983         Tests for module 'unistr/u8-strncat'.
3984         * modules/unistr/u8-strncat-tests: New file.
3985         * tests/unistr/test-u8-strncat.c: New file.
3986         * tests/unistr/test-strncat.h: New file.
3987
3988         Tests for module 'unistr/u32-strcat'.
3989         * modules/unistr/u32-strcat-tests: New file.
3990         * tests/unistr/test-u32-strcat.c: New file.
3991
3992         Tests for module 'unistr/u16-strcat'.
3993         * modules/unistr/u16-strcat-tests: New file.
3994         * tests/unistr/test-u16-strcat.c: New file.
3995
3996         Tests for module 'unistr/u8-strcat'.
3997         * modules/unistr/u8-strcat-tests: New file.
3998         * tests/unistr/test-u8-strcat.c: New file.
3999         * tests/unistr/test-strcat.h: New file.
4000
4001         Tests for module 'unistr/u32-stpncpy'.
4002         * modules/unistr/u32-stpncpy-tests: New file.
4003         * tests/unistr/test-u32-stpncpy.c: New file.
4004
4005         Tests for module 'unistr/u16-stpncpy'.
4006         * modules/unistr/u16-stpncpy-tests: New file.
4007         * tests/unistr/test-u16-stpncpy.c: New file.
4008
4009         Tests for module 'unistr/u8-stpncpy'.
4010         * modules/unistr/u8-stpncpy-tests: New file.
4011         * tests/unistr/test-u8-stpncpy.c: New file.
4012         * tests/unistr/test-stpncpy.h: New file.
4013
4014         Tests for module 'unistr/u32-strncpy'.
4015         * modules/unistr/u32-strncpy-tests: New file.
4016         * tests/unistr/test-u32-strncpy.c: New file.
4017
4018         Tests for module 'unistr/u16-strncpy'.
4019         * modules/unistr/u16-strncpy-tests: New file.
4020         * tests/unistr/test-u16-strncpy.c: New file.
4021
4022         Tests for module 'unistr/u8-strncpy'.
4023         * modules/unistr/u8-strncpy-tests: New file.
4024         * tests/unistr/test-u8-strncpy.c: New file.
4025         * tests/unistr/test-strncpy.h: New file.
4026
4027         Tests for module 'unistr/u32-stpcpy'.
4028         * modules/unistr/u32-stpcpy-tests: New file.
4029         * tests/unistr/test-u32-stpcpy.c: New file.
4030
4031         Tests for module 'unistr/u16-stpcpy'.
4032         * modules/unistr/u16-stpcpy-tests: New file.
4033         * tests/unistr/test-u16-stpcpy.c: New file.
4034
4035         Tests for module 'unistr/u8-stpcpy'.
4036         * modules/unistr/u8-stpcpy-tests: New file.
4037         * tests/unistr/test-u8-stpcpy.c: New file.
4038         * tests/unistr/test-stpcpy.h: New file.
4039
4040         Tests for module 'unistr/u32-strcpy'.
4041         * modules/unistr/u32-strcpy-tests: New file.
4042         * tests/unistr/test-u32-strcpy.c: New file.
4043
4044         Tests for module 'unistr/u16-strcpy'.
4045         * modules/unistr/u16-strcpy-tests: New file.
4046         * tests/unistr/test-u16-strcpy.c: New file.
4047
4048         Tests for module 'unistr/u8-strcpy'.
4049         * modules/unistr/u8-strcpy-tests: New file.
4050         * tests/unistr/test-u8-strcpy.c: New file.
4051         * tests/unistr/test-strcpy.h: New file.
4052
4053         Tests for module 'unistr/u32-strnlen'.
4054         * modules/unistr/u32-strnlen-tests: New file.
4055         * tests/unistr/test-u32-strnlen.c: New file.
4056
4057         Tests for module 'unistr/u16-strnlen'.
4058         * modules/unistr/u16-strnlen-tests: New file.
4059         * tests/unistr/test-u16-strnlen.c: New file.
4060
4061         Tests for module 'unistr/u8-strnlen'.
4062         * modules/unistr/u8-strnlen-tests: New file.
4063         * tests/unistr/test-u8-strnlen.c: New file.
4064         * tests/unistr/test-strnlen.h: New file.
4065
4066         Tests for module 'unistr/u32-strlen'.
4067         * modules/unistr/u32-strlen-tests: New file.
4068         * tests/unistr/test-u32-strlen.c: New file.
4069
4070         Tests for module 'unistr/u16-strlen'.
4071         * modules/unistr/u16-strlen-tests: New file.
4072         * tests/unistr/test-u16-strlen.c: New file.
4073
4074         Tests for module 'unistr/u8-strlen'.
4075         * modules/unistr/u8-strlen-tests: New file.
4076         * tests/unistr/test-u8-strlen.c: New file.
4077
4078         Tests for module 'unistr/u32-prev'.
4079         * modules/unistr/u32-prev-tests: New file.
4080         * tests/unistr/test-u32-prev.c: New file.
4081
4082         Tests for module 'unistr/u16-prev'.
4083         * modules/unistr/u16-prev-tests: New file.
4084         * tests/unistr/test-u16-prev.c: New file.
4085
4086         Tests for module 'unistr/u8-prev'.
4087         * modules/unistr/u8-prev-tests: New file.
4088         * tests/unistr/test-u8-prev.c: New file.
4089
4090         Tests for module 'unistr/u32-next'.
4091         * modules/unistr/u32-next-tests: New file.
4092         * tests/unistr/test-u32-next.c: New file.
4093
4094         Tests for module 'unistr/u16-next'.
4095         * modules/unistr/u16-next-tests: New file.
4096         * tests/unistr/test-u16-next.c: New file.
4097
4098         Tests for module 'unistr/u8-next'.
4099         * modules/unistr/u8-next-tests: New file.
4100         * tests/unistr/test-u8-next.c: New file.
4101
4102         Tests for module 'unistr/u32-strmbtouc'.
4103         * modules/unistr/u32-strmbtouc-tests: New file.
4104         * tests/unistr/test-u32-strmbtouc.c: New file.
4105
4106         Tests for module 'unistr/u16-strmbtouc'.
4107         * modules/unistr/u16-strmbtouc-tests: New file.
4108         * tests/unistr/test-u16-strmbtouc.c: New file.
4109
4110         Tests for module 'unistr/u8-strmbtouc'.
4111         * modules/unistr/u8-strmbtouc-tests: New file.
4112         * tests/unistr/test-u8-strmbtouc.c: New file.
4113
4114         Tests for module 'unistr/u32-strmblen'.
4115         * modules/unistr/u32-strmblen-tests: New file.
4116         * tests/unistr/test-u32-strmblen.c: New file.
4117
4118         Tests for module 'unistr/u16-strmblen'.
4119         * modules/unistr/u16-strmblen-tests: New file.
4120         * tests/unistr/test-u16-strmblen.c: New file.
4121
4122         Tests for module 'unistr/u8-strmblen'.
4123         * modules/unistr/u8-strmblen-tests: New file.
4124         * tests/unistr/test-u8-strmblen.c: New file.
4125
4126         Tests for module 'unistr/u32-cpy-alloc'.
4127         * modules/unistr/u32-cpy-alloc-tests: New file.
4128         * tests/unistr/test-u32-cpy-alloc.c: New file.
4129
4130         Tests for module 'unistr/u16-cpy-alloc'.
4131         * modules/unistr/u16-cpy-alloc-tests: New file.
4132         * tests/unistr/test-u16-cpy-alloc.c: New file.
4133
4134         Tests for module 'unistr/u8-cpy-alloc'.
4135         * modules/unistr/u8-cpy-alloc-tests: New file.
4136         * tests/unistr/test-u8-cpy-alloc.c: New file.
4137         * tests/unistr/test-cpy-alloc.h: New file.
4138
4139         Tests for module 'unistr/u32-mbsnlen'.
4140         * modules/unistr/u32-mbsnlen-tests: New file.
4141         * tests/unistr/test-u32-mbsnlen.c: New file.
4142
4143         Tests for module 'unistr/u16-mbsnlen'.
4144         * modules/unistr/u16-mbsnlen-tests: New file.
4145         * tests/unistr/test-u16-mbsnlen.c: New file.
4146
4147         Tests for module 'unistr/u8-mbsnlen'.
4148         * modules/unistr/u8-mbsnlen-tests: New file.
4149         * tests/unistr/test-u8-mbsnlen.c: New file.
4150
4151         Tests for module 'unistr/u32-chr'.
4152         * modules/unistr/u32-chr-tests: New file.
4153         * tests/unistr/test-u32-chr.c: New file.
4154
4155         Tests for module 'unistr/u16-chr'.
4156         * modules/unistr/u16-chr-tests: New file.
4157         * tests/unistr/test-u16-chr.c: New file.
4158
4159         Tests for module 'unistr/u8-chr'.
4160         * modules/unistr/u8-chr-tests: New file.
4161         * tests/unistr/test-u8-chr.c: New file.
4162         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
4163
4164         Tests for module 'unistr/u32-cmp2'.
4165         * modules/unistr/u32-cmp2-tests: New file.
4166         * tests/unistr/test-u32-cmp2.c: New file.
4167
4168         Tests for module 'unistr/u16-cmp2'.
4169         * modules/unistr/u16-cmp2-tests: New file.
4170         * tests/unistr/test-u16-cmp2.c: New file.
4171
4172         Tests for module 'unistr/u8-cmp2'.
4173         * modules/unistr/u8-cmp2-tests: New file.
4174         * tests/unistr/test-u8-cmp2.c: New file.
4175         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
4176
4177         Tests for module 'unistr/u32-cmp'.
4178         * modules/unistr/u32-cmp-tests: New file.
4179         * tests/unistr/test-u32-cmp.c: New file.
4180
4181         Tests for module 'unistr/u16-cmp'.
4182         * modules/unistr/u16-cmp-tests: New file.
4183         * tests/unistr/test-u16-cmp.c: New file.
4184
4185         Tests for module 'unistr/u8-cmp'.
4186         * modules/unistr/u8-cmp-tests: New file.
4187         * tests/unistr/test-u8-cmp.c: New file.
4188         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
4189
4190         Tests for module 'unistr/u32-set'.
4191         * modules/unistr/u32-set-tests: New file.
4192         * tests/unistr/test-u32-set.c: New file.
4193
4194         Tests for module 'unistr/u16-set'.
4195         * modules/unistr/u16-set-tests: New file.
4196         * tests/unistr/test-u16-set.c: New file.
4197
4198         Tests for module 'unistr/u8-set'.
4199         * modules/unistr/u8-set-tests: New file.
4200         * tests/unistr/test-u8-set.c: New file.
4201         * tests/unistr/test-set.h: New file.
4202
4203         Tests for module 'unistr/u32-move'.
4204         * modules/unistr/u32-move-tests: New file.
4205         * tests/unistr/test-u32-move.c: New file.
4206
4207         Tests for module 'unistr/u16-move'.
4208         * modules/unistr/u16-move-tests: New file.
4209         * tests/unistr/test-u16-move.c: New file.
4210
4211         Tests for module 'unistr/u8-move'.
4212         * modules/unistr/u8-move-tests: New file.
4213         * tests/unistr/test-u8-move.c: New file.
4214         * tests/unistr/test-move.h: New file.
4215
4216         Tests for module 'unistr/u32-cpy'.
4217         * modules/unistr/u32-cpy-tests: New file.
4218         * tests/unistr/test-u32-cpy.c: New file.
4219
4220         Tests for module 'unistr/u16-cpy'.
4221         * modules/unistr/u16-cpy-tests: New file.
4222         * tests/unistr/test-u16-cpy.c: New file.
4223
4224         Tests for module 'unistr/u8-cpy'.
4225         * modules/unistr/u8-cpy-tests: New file.
4226         * tests/unistr/test-u8-cpy.c: New file.
4227         * tests/unistr/test-cpy.h: New file.
4228
4229 2010-01-09  Bruno Haible  <bruno@clisp.org>
4230
4231         Tests for module 'unistr/u32-uctomb'.
4232         * modules/unistr/u32-uctomb-tests: New file.
4233         * tests/unistr/test-u32-uctomb.c: New file.
4234
4235         Tests for module 'unistr/u16-uctomb'.
4236         * modules/unistr/u16-uctomb-tests: New file.
4237         * tests/unistr/test-u16-uctomb.c: New file.
4238
4239         Tests for module 'unistr/u8-uctomb'.
4240         * modules/unistr/u8-uctomb-tests: New file.
4241         * tests/unistr/test-u8-uctomb.c: New file.
4242
4243         Tests for module 'unistr/u32-mbtoucr'.
4244         * modules/unistr/u32-mbtoucr-tests: New file.
4245         * tests/unistr/test-u32-mbtoucr.c: New file.
4246
4247         Tests for module 'unistr/u16-mbtoucr'.
4248         * modules/unistr/u16-mbtoucr-tests: New file.
4249         * tests/unistr/test-u16-mbtoucr.c: New file.
4250
4251         Tests for module 'unistr/u8-mbtoucr'.
4252         * modules/unistr/u8-mbtoucr-tests: New file.
4253         * tests/unistr/test-u8-mbtoucr.c: New file.
4254
4255         Tests for module 'unistr/u32-mbtouc'.
4256         * modules/unistr/u32-mbtouc-tests: New file.
4257         * tests/unistr/test-u32-mbtouc.c: New file.
4258
4259         Tests for module 'unistr/u16-mbtouc'.
4260         * modules/unistr/u16-mbtouc-tests: New file.
4261         * tests/unistr/test-u16-mbtouc.c: New file.
4262
4263         Tests for module 'unistr/u8-mbtouc'.
4264         * modules/unistr/u8-mbtouc-tests: New file.
4265         * tests/unistr/test-u8-mbtouc.c: New file.
4266
4267         Tests for module 'unistr/u32-mbtouc-unsafe'.
4268         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
4269         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
4270         * tests/unistr/test-u32-mbtouc.h: New file.
4271
4272         Tests for module 'unistr/u16-mbtouc-unsafe'.
4273         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
4274         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
4275         * tests/unistr/test-u16-mbtouc.h: New file.
4276
4277         Tests for module 'unistr/u8-mbtouc-unsafe'.
4278         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
4279         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
4280         * tests/unistr/test-u8-mbtouc.h: New file.
4281
4282         Tests for module 'unistr/u32-mblen'.
4283         * modules/unistr/u32-mblen-tests: New file.
4284         * tests/unistr/test-u32-mblen.c: New file.
4285
4286         Tests for module 'unistr/u16-mblen'.
4287         * modules/unistr/u16-mblen-tests: New file.
4288         * tests/unistr/test-u16-mblen.c: New file.
4289
4290         Tests for module 'unistr/u8-mblen'.
4291         * modules/unistr/u8-mblen-tests: New file.
4292         * tests/unistr/test-u8-mblen.c: New file.
4293
4294         Tests for module 'unistr/u32-to-u16'.
4295         * modules/unistr/u32-to-u16-tests: New file.
4296         * tests/unistr/test-u32-to-u16.c: New file.
4297
4298         Tests for module 'unistr/u32-to-u8'.
4299         * modules/unistr/u32-to-u8-tests: New file.
4300         * tests/unistr/test-u32-to-u8.c: New file.
4301
4302         Tests for module 'unistr/u16-to-u32'.
4303         * modules/unistr/u16-to-u32-tests: New file.
4304         * tests/unistr/test-u16-to-u32.c: New file.
4305
4306         Tests for module 'unistr/u16-to-u8'.
4307         * modules/unistr/u16-to-u8-tests: New file.
4308         * tests/unistr/test-u16-to-u8.c: New file.
4309
4310         Tests for module 'unistr/u8-to-u32'.
4311         * modules/unistr/u8-to-u32-tests: New file.
4312         * tests/unistr/test-u8-to-u32.c: New file.
4313
4314         Tests for module 'unistr/u8-to-u16'.
4315         * modules/unistr/u8-to-u16-tests: New file.
4316         * tests/unistr/test-u8-to-u16.c: New file.
4317
4318         Tests for module 'unistr/u32-check'.
4319         * modules/unistr/u32-check-tests: New file.
4320         * tests/unistr/test-u32-check.c: New file.
4321
4322         Tests for module 'unistr/u16-check'.
4323         * modules/unistr/u16-check-tests: New file.
4324         * tests/unistr/test-u16-check.c: New file.
4325
4326         Tests for module 'unistr/u8-check'.
4327         * modules/unistr/u8-check-tests: New file.
4328         * tests/unistr/test-u8-check.c: New file.
4329
4330         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
4331         (category_equals): New function.
4332         (main): Add more tests.
4333         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
4334
4335         * tests/unictype/test-bidi_byname.c (main): Add more tests.
4336
4337 2010-01-10  Bruno Haible  <bruno@clisp.org>
4338
4339         unistr/u*-strcoll: Try harder to distinguish different strings.
4340         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
4341         compare s1 and s2 to see if they are different.
4342
4343 2010-01-10  Bruno Haible  <bruno@clisp.org>
4344
4345         unistr/u*-stpncpy: Fix the return value.
4346         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
4347         description of the return value consistent with stpncpy in glibc.
4348         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
4349         written non-NUL unit.
4350
4351 2010-01-10  Bruno Haible  <bruno@clisp.org>
4352
4353         unistr/u*-next: Add missing dependencies.
4354         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
4355         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
4356         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
4357
4358 2010-01-10  Bruno Haible  <bruno@clisp.org>
4359
4360         unistr/u8-mbsnlen: Fix return value for incomplete character.
4361         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
4362         u8_mblen.
4363         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
4364         Remove unistr/u8-mblen.
4365         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
4366         u16_mblen.
4367         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
4368         Remove unistr/u16-mblen.
4369
4370 2010-01-10  Bruno Haible  <bruno@clisp.org>
4371
4372         wchar: Fix compilation error when <wchar.h> is used from coreutils.
4373         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
4374         Reported by Brian Gough <bjg@gnu.org> and
4375         Chris Clayton <chris2553@googlemail.com> via
4376         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
4377
4378 2010-01-09  Bruno Haible  <bruno@clisp.org>
4379
4380         unistr/u16-to-u32: Reject invalid input.
4381         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
4382         u16_mbtouc.
4383         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
4384         Remove unistr/u16-mbtouc.
4385
4386         unistr/u16-to-u8: Reject invalid input.
4387         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
4388         u16_mbtouc.
4389         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
4390         Remove unistr/u16-mbtouc.
4391
4392         unistr/u8-to-u32: Reject invalid input.
4393         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
4394         u8_mbtouc.
4395         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
4396         Remove unistr/u8-mbtouc.
4397
4398         unistr/u8-to-u16: Reject invalid input.
4399         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
4400         u8_mbtouc.
4401         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
4402         Remove unistr/u8-mbtouc.
4403
4404 2010-01-09  Bruno Haible  <bruno@clisp.org>
4405
4406         Tests for module 'getlogin'.
4407         * modules/getlogin-tests: New file.
4408         * tests/test-getlogin.c: New file.
4409
4410         New module 'getlogin'.
4411         * lib/unistd.in.h (getlogin): New declaration.
4412         * lib/getlogin.c: New file.
4413         * m4/getlogin.m4: New file.
4414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
4415         HAVE_GETLOGIN.
4416         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
4417         HAVE_GETLOGIN.
4418         * modules/getlogin: New file.
4419         * doc/posix-functions/getlogin.texi: Mention the new module.
4420         Reported by John W. Eaton <jwe@gnu.org>.
4421
4422 2010-01-09  Bruno Haible  <bruno@clisp.org>
4423
4424         getlogin_r: Support for native Windows.
4425         * lib/getlogin_r.c: Include <windows.h>
4426         (getlogin_r): Implement for native Windows.
4427         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
4428         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
4429         via John W. Eaton <jwe@gnu.org>.
4430
4431 2010-01-09  Bruno Haible  <bruno@clisp.org>
4432
4433         getlogin_r: Small fixes.
4434         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
4435         succeeds.
4436         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
4437         before testing whether getlogin_r is declared. No need to set
4438         HAVE_DECL_GETLOGIN_R to 1.
4439         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
4440
4441 2010-01-09  Bruno Haible  <bruno@clisp.org>
4442
4443         * lib/unistd.in.h (getlogin_r): Add comment.
4444
4445 2010-01-09  Bruno Haible  <bruno@clisp.org>
4446
4447         Tests for module 'getlogin_r'.
4448         * modules/getlogin_r-tests: New file.
4449         * tests/test-getlogin_r.c: New file.
4450
4451 2010-01-09  Jim Meyering  <meyering@redhat.com>
4452
4453         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
4454         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
4455         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
4456
4457 2010-01-08  Simon Josefsson  <simon@josefsson.org>
4458
4459         * lib/dup2.c (rpl_dup2): Improve comment.
4460
4461 2010-01-08  Eric Blake  <ebb9@byu.net>
4462
4463         maint.mk: allow packages to add makefile @@ exceptions
4464         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
4465         (sc_makefile_check): Rename...
4466         (sc_makefile_at_at_check): ...to this, and use hook.
4467
4468         dup2: work around mingw bug
4469         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
4470         Reported by Simon Josefsson.
4471
4472 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
4473
4474         glob: Fix C++ compilation.
4475         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
4476         C++.
4477
4478 2010-01-07  Bruno Haible  <bruno@clisp.org>
4479
4480         Fix indentation of wctype.in.h, broken since 2007-01-06.
4481         * lib/wctype.in.h: Fix indentation of preprocessor directives.
4482
4483 2010-01-07  Bruno Haible  <bruno@clisp.org>
4484
4485         mbslen: Avoid collision with system function.
4486         * lib/string.in.h [MirBSD]: Include <wchar.h>.
4487         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
4488         * m4/mbslen.m4: New file.
4489         * modules/mbslen (Files): Add it.
4490         (configure.ac): Invoke gl_MBSLEN.
4491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
4492         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
4493         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
4494         via Ian Beckwith <ianb@erislabs.net>.
4495
4496 2010-01-07  Bruno Haible  <bruno@clisp.org>
4497
4498         dirent: Document the last fix.
4499         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
4500
4501 2010-01-07  Bruno Haible  <bruno@clisp.org>
4502
4503         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
4504         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
4505         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
4506         va_list are defined.
4507         * doc/posix-headers/stdio.texi: Document the bug of missing types.
4508         Reported by Eric Blake.
4509
4510 2010-01-07  Bruno Haible  <bruno@clisp.org>
4511
4512         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
4513         * modules/xlist (Depends-on): Add 'list',
4514         * modules/xoset (Depends-on): Add 'oset'.
4515         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4516
4517 2010-01-07  Bruno Haible  <bruno@clisp.org>
4518
4519         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
4520         * doc/posix-functions/strncasecmp.texi: Likewise.
4521
4522 2010-01-07  Bruno Haible  <bruno@clisp.org>
4523
4524         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
4525
4526 2010-01-07  John W. Eaton  <jwe@octave.org>
4527
4528         wctype: allow C++ use
4529         * lib/wctype.in.h: Add extern "C" block for C++.
4530
4531 2010-01-06  Eric Blake  <ebb9@byu.net>
4532
4533         maint.mk: detect incorrect GFDL usage
4534         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
4535
4536 2010-01-06  Jim Meyering  <meyering@redhat.com>
4537         and Eric Blake  <ebb9@byu.net>
4538
4539         maint.mk: ignore multi-line copyright in NEWS
4540         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
4541
4542 2010-01-06  Eric Blake  <ebb9@byu.net>
4543
4544         select: add missing dependency
4545         * modules/select-tests (Depends-on): Move sockets dependency...
4546         * modules/select (Depends-on): ...here.
4547         Reported by Ian Beckwith.
4548
4549         doc: regenerate INSTALL
4550         * doc/INSTALL: Reflect recent autoconf update.
4551         * doc/INSTALL.ISO: Likewise.
4552         * doc/INSTALL.UTF-8: Likewise.
4553
4554         pread: fix compilation on glibc
4555         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
4556         Reported by Ralf Wildenhues.
4557
4558         dirent: fix test failure
4559         * lib/dirent.in.h (includes): Guarantee ino_t.
4560         Reported by Ralf Wildenhues.
4561
4562 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
4563
4564         linkat, renameat: avoid bad free
4565         * lib/at-func2.c (at_func2): Fix typo.
4566         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
4567
4568 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4569
4570         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
4571         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
4572         to avoid failure of symlink test later.
4573
4574 2010-01-06  Eric Blake  <ebb9@byu.net>
4575
4576         stdio, unistd: guarantee ssize_t
4577         * lib/unistd.in.h (includes): Ensure that types required by POSIX
4578         2008 are exposed when needed.
4579         * lib/stdio.in.h (includes): Likewise.
4580         Reported by Ralf Wildenhues.
4581
4582 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
4583
4584         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
4585         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
4586         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
4587
4588 2010-01-06  Jim Meyering  <meyering@redhat.com>
4589
4590         readtokens: this module *does* require xalloc.h
4591         It uses only functions that were omitted by the old syntax-check rule.
4592         * lib/readtokens.c: Include "xalloc.h" once again.
4593         * modules/readtokens (Depends-on): Add xalloc.
4594         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
4595
4596 2010-01-05  Eric Blake  <ebb9@byu.net>
4597
4598         maint: support 'make announcement' from a VPATH build
4599         * top/maint.mk (announcement): Look for correct NEWS file.
4600
4601 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
4602
4603         utimens (fdutimens): ignore a negative FD, per contract
4604         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
4605         when we have a valid file descriptor.  Otherwise, using a brand
4606         new glibc (with just-patched futimens that now fails with EBADF)
4607         would cause this function to fail with ENOSYS.
4608         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
4609         See also http://bugzilla.redhat.com/552320.
4610
4611 2010-01-05  Eric Blake  <ebb9@byu.net>
4612
4613         strcase: document what it provides
4614         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
4615         gnulib module.
4616         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
4617         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
4618
4619 2010-01-05  Jim Meyering  <meyering@redhat.com>
4620
4621         maint: remove useless inclusions of "xalloc.h"
4622         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
4623         * lib/readtokens.c: Likewise.
4624         * lib/same.c: Likewise.
4625         * modules/getloadavg (Depends-on): Remove xalloc.
4626         * modules/readtokens: Likewise.
4627         * modules/same: Likewise.
4628
4629         maint.mk: include 4 more function names in alloca.h-checking regexp
4630         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
4631         regexp.  Before, we would give a false-positive (saying alloca.h
4632         is included unnecessarily) when the only uses involved omitted symbols.
4633
4634         xalloc.h: use consistent formatting
4635         * lib/xalloc.h: Move declarations to start in the first column.
4636
4637 2010-01-05  Eric Blake  <ebb9@byu.net>
4638
4639         mkdir: avoid xalloc
4640         * lib/mkdir.c (includes): Drop unused header.
4641         Reported by John W. Eaton.
4642
4643 2010-01-04  Jim Meyering  <meyering@redhat.com>
4644
4645         nl_langinfo: avoid configure-time syntax error
4646         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
4647         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
4648         the empty string.  Don't let that provoke a shell syntax error.
4649
4650         regcomp, regexec, fnmatch: avoid array bounds read error
4651         * lib/regcomp.c (build_equiv_class): From glibc:
4652         Use only the low 24 bits of a findidx return value as an index
4653         into the weights array.  Patch by Ulrich Drepper:
4654         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
4655         * lib/regexec.c (check_node_accept_bytes): Likewise.
4656         * lib/fnmatch_loop.c (FCT): Likewise.
4657
4658         regcomp: skip collseq lookup when there are no rules
4659         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
4660         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
4661
4662         regcomp: recognize ill-formed { } expressions
4663         * lib/regcomp.c (parse_dup_op): From glibc:
4664         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
4665
4666         regcomp: fix typo in comment
4667         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
4668         s/satisfy/satisfies/.
4669
4670         regcomp: sync from glibc: remove dead store
4671         * lib/regcomp.c (duplicate_node_closure): Remove useless
4672         search_duplicated_node call and dead store.
4673
4674         regcomp: sync from glibc; always use nl_langinfo
4675         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
4676         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
4677         * modules/regex (Depends-on): Add nl_langinfo.
4678
4679 2010-01-04  Eric Blake  <ebb9@byu.net>
4680
4681         fdopendir: fix configure test
4682         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
4683
4684 2010-01-01  Bruno Haible  <bruno@clisp.org>
4685
4686         wchar: Remove unused configure check.
4687         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
4688
4689 2010-01-01  Eric Blake  <ebb9@byu.net>
4690
4691         headers: make check of system header explicit
4692         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
4693         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
4694         ourselves.
4695         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4696         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4697         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
4698         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
4699         internals.
4700         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
4701         missing.
4702         Suggested by Bruno Haible.
4703
4704 2010-01-01  Jim Meyering  <meyering@redhat.com>
4705
4706         ChangeLog: tweak to eliminate unnecessary copyright line
4707         * ChangeLog: Remove a copyright line that was mistakenly updated
4708         by today's update-copyright run.  Reported by Eric Blake.
4709
4710         test-update-copyright: don't let envvar setting cause test failure
4711         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
4712
4713 2010-01-01  Bruno Haible  <bruno@clisp.org>
4714
4715         localename: Avoid gcc warning.
4716         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
4717         function if it is not used.
4718
4719 2010-01-01  Jim Meyering  <meyering@redhat.com>
4720
4721         update nearly all FSF copyright year lists to include 2010
4722         Use the same procedure as for 2009, outlined in
4723         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
4724
4725         version-etc: set COPYRIGHT_YEAR to 2010
4726         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
4727
4728 2009-12-31  Eric Blake  <ebb9@byu.net>
4729
4730         doc: correct availability of cygwin 1.5.x getopt
4731         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
4732         variables.
4733         * doc/posix-functions/opterr.texi (opterr): Likewise.
4734         * doc/posix-functions/optind.texi (optind): Likewise.
4735         * doc/posix-functions/optopt.texi (optopt): Likewise.
4736         * doc/posix-functions/tzname.texi (tzname): Likewise.
4737
4738         openat: update maintainer
4739         * modules/openat (Maintainer): Add myself.
4740
4741         utimens: avoid shadowing warning
4742         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
4743         buffers into one, to avoid shadowing, as well as avoiding a
4744         redundant stat.
4745         Reported by Jim Meyering.
4746
4747         test-dup2: avoid compiler warning
4748         * tests/test-dup2.c (is_inheritable): Only define if used.
4749
4750 2010-01-01  Bruno Haible  <bruno@clisp.org>
4751
4752         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
4753         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
4754         defined, use wctomb instead of wcrtomb.
4755
4756 2010-01-01  Bruno Haible  <bruno@clisp.org>
4757
4758         iconv: Reject native Solaris iconv.
4759         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
4760         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
4761
4762 2009-12-31  Bruno Haible  <bruno@clisp.org>
4763
4764         * tests/test-signal.c (main): Remove test of 'SIG'.
4765
4766 2009-12-31  Bruno Haible  <bruno@clisp.org>
4767
4768         spawn: Fix incomplete fix.
4769         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
4770         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
4771         warnings for GNULIB_POSIXCHECK again.
4772         Reported by Eric Blake.
4773
4774 2009-12-31  Bruno Haible  <bruno@clisp.org>
4775
4776         Avoid namespace pollution on glibc systems.
4777         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
4778         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
4779         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
4780         glibc systems.
4781
4782 2009-12-31  Bruno Haible  <bruno@clisp.org>
4783
4784         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
4785         (gl_REPLACE_WCHAR_H): Turn into a no-op.
4786         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
4787         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
4788         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
4789         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
4790         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
4791
4792 2009-12-31  Bruno Haible  <bruno@clisp.org>
4793
4794         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
4795         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
4796         afterwards.
4797
4798 2009-12-31  Bruno Haible  <bruno@clisp.org>
4799
4800         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
4801         SYS_UTSNAME_H.
4802
4803 2009-12-31  Bruno Haible  <bruno@clisp.org>
4804
4805         spawn: Fix misapplied patch.
4806         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
4807         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
4808         warnings for GNULIB_POSIXCHECK.
4809
4810 2009-12-31  Bruno Haible  <bruno@clisp.org>
4811
4812         times: Update after sys_times changed.
4813         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
4814         * modules/times (Files): Add it.
4815         (configure.ac): Invoke gl_FUNC_TIMES.
4816
4817 2009-12-31  Bruno Haible  <bruno@clisp.org>
4818
4819         Use AC_C_INLINE where necessary.
4820         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
4821         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
4822         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
4823         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
4824         * m4/mbfile.m4 (gl_MBFILE): Likewise.
4825         * m4/mbiter.m4 (gl_MBITER): Likewise.
4826         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
4827         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
4828         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
4829         * modules/u64 (configure.ac): Likewise.
4830
4831 2009-12-31  Bruno Haible  <bruno@clisp.org>
4832
4833         Use AC_C_INLINE instead of module 'inline' where possible.
4834         * modules/inline (Description): Clarify purpose.
4835         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
4836         * modules/count-one-bits (Depends-on): Remove inline.
4837         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
4838         * modules/openat (Depends-on): Remove inline.
4839         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
4840         instead of depending on module 'inline'.
4841         * modules/filevercmp (Depends-on, configure.ac): Likewise.
4842         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
4843         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
4844         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
4845         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
4846         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
4847         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
4848         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
4849         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
4850         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
4851         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
4852         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
4853         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
4854         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
4855         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
4856         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
4857         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
4858         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
4859         Likewise.
4860         * modules/unictype/property-ascii-hex-digit (Depends-on,
4861         configure.ac): Likewise.
4862         * modules/unictype/property-bidi-arabic-digit (Depends-on,
4863         configure.ac): Likewise.
4864         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
4865         configure.ac): Likewise.
4866         * modules/unictype/property-bidi-block-separator (Depends-on,
4867         configure.ac): Likewise.
4868         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
4869         configure.ac): Likewise.
4870         * modules/unictype/property-bidi-common-separator (Depends-on,
4871         configure.ac): Likewise.
4872         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
4873         Likewise.
4874         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
4875         configure.ac): Likewise.
4876         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
4877         configure.ac): Likewise.
4878         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
4879         configure.ac): Likewise.
4880         * modules/unictype/property-bidi-european-digit (Depends-on,
4881         configure.ac): Likewise.
4882         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
4883         configure.ac): Likewise.
4884         * modules/unictype/property-bidi-left-to-right (Depends-on,
4885         configure.ac): Likewise.
4886         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
4887         configure.ac): Likewise.
4888         * modules/unictype/property-bidi-other-neutral (Depends-on,
4889         configure.ac): Likewise.
4890         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
4891         Likewise.
4892         * modules/unictype/property-bidi-segment-separator (Depends-on,
4893         configure.ac): Likewise.
4894         * modules/unictype/property-bidi-whitespace (Depends-on,
4895         configure.ac): Likewise.
4896         * modules/unictype/property-combining (Depends-on, configure.ac):
4897         Likewise.
4898         * modules/unictype/property-composite (Depends-on, configure.ac):
4899         Likewise.
4900         * modules/unictype/property-currency-symbol (Depends-on,
4901         configure.ac): Likewise.
4902         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
4903         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
4904         Likewise.
4905         * modules/unictype/property-default-ignorable-code-point (Depends-on,
4906         configure.ac): Likewise.
4907         * modules/unictype/property-deprecated (Depends-on, configure.ac):
4908         Likewise.
4909         * modules/unictype/property-diacritic (Depends-on, configure.ac):
4910         Likewise.
4911         * modules/unictype/property-extender (Depends-on, configure.ac):
4912         Likewise.
4913         * modules/unictype/property-format-control (Depends-on, configure.ac):
4914         Likewise.
4915         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
4916         Likewise.
4917         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
4918         Likewise.
4919         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
4920         Likewise.
4921         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
4922         Likewise.
4923         * modules/unictype/property-hyphen (Depends-on, configure.ac):
4924         Likewise.
4925         * modules/unictype/property-id-continue (Depends-on, configure.ac):
4926         Likewise.
4927         * modules/unictype/property-id-start (Depends-on, configure.ac):
4928         Likewise.
4929         * modules/unictype/property-ideographic (Depends-on, configure.ac):
4930         Likewise.
4931         * modules/unictype/property-ids-binary-operator (Depends-on,
4932         configure.ac): Likewise.
4933         * modules/unictype/property-ids-trinary-operator (Depends-on,
4934         configure.ac): Likewise.
4935         * modules/unictype/property-ignorable-control (Depends-on,
4936         configure.ac): Likewise.
4937         * modules/unictype/property-iso-control (Depends-on, configure.ac):
4938         Likewise.
4939         * modules/unictype/property-join-control (Depends-on, configure.ac):
4940         Likewise.
4941         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
4942         Likewise.
4943         * modules/unictype/property-line-separator (Depends-on, configure.ac):
4944         Likewise.
4945         * modules/unictype/property-logical-order-exception (Depends-on,
4946         configure.ac): Likewise.
4947         * modules/unictype/property-lowercase (Depends-on, configure.ac):
4948         Likewise.
4949         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
4950         * modules/unictype/property-non-break (Depends-on, configure.ac):
4951         Likewise.
4952         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
4953         Likewise.
4954         * modules/unictype/property-numeric (Depends-on, configure.ac):
4955         Likewise.
4956         * modules/unictype/property-other-alphabetic (Depends-on,
4957         configure.ac): Likewise.
4958         * modules/unictype/property-other-default-ignorable-code-point
4959         (Depends-on, configure.ac): Likewise.
4960         * modules/unictype/property-other-grapheme-extend (Depends-on,
4961         configure.ac): Likewise.
4962         * modules/unictype/property-other-id-continue (Depends-on,
4963         configure.ac): Likewise.
4964         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
4965         Likewise.
4966         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
4967         Likewise.
4968         * modules/unictype/property-other-math (Depends-on, configure.ac):
4969         Likewise.
4970         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
4971         Likewise.
4972         * modules/unictype/property-paired-punctuation (Depends-on,
4973         configure.ac): Likewise.
4974         * modules/unictype/property-paragraph-separator (Depends-on,
4975         configure.ac): Likewise.
4976         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
4977         Likewise.
4978         * modules/unictype/property-pattern-white-space (Depends-on,
4979         configure.ac): Likewise.
4980         * modules/unictype/property-private-use (Depends-on, configure.ac):
4981         Likewise.
4982         * modules/unictype/property-punctuation (Depends-on, configure.ac):
4983         Likewise.
4984         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
4985         Likewise.
4986         * modules/unictype/property-radical (Depends-on, configure.ac):
4987         Likewise.
4988         * modules/unictype/property-sentence-terminal (Depends-on,
4989         configure.ac): Likewise.
4990         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
4991         Likewise.
4992         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
4993         * modules/unictype/property-terminal-punctuation (Depends-on,
4994         configure.ac): Likewise.
4995         * modules/unictype/property-titlecase (Depends-on, configure.ac):
4996         Likewise.
4997         * modules/unictype/property-unassigned-code-value (Depends-on,
4998         configure.ac): Likewise.
4999         * modules/unictype/property-unified-ideograph (Depends-on,
5000         configure.ac): Likewise.
5001         * modules/unictype/property-uppercase (Depends-on, configure.ac):
5002         Likewise.
5003         * modules/unictype/property-variation-selector (Depends-on,
5004         configure.ac): Likewise.
5005         * modules/unictype/property-white-space (Depends-on, configure.ac):
5006         Likewise.
5007         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
5008         Likewise.
5009         * modules/unictype/property-xid-start (Depends-on, configure.ac):
5010         Likewise.
5011         * modules/unictype/property-zero-width (Depends-on, configure.ac):
5012         Likewise.
5013         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
5014         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
5015         Likewise.
5016
5017 2009-12-31  Bruno Haible  <bruno@clisp.org>
5018
5019         Remove unnecessary AC_C_INLINE invocation.
5020         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
5021         since 2009-08-21.
5022
5023 2009-12-31  Jim Meyering  <meyering@redhat.com>
5024
5025         maint.mk: don't require explicit gpg_key_ID in cfg.mk
5026         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
5027         With this change, we can all remove the gpg_key_ID = ... definition
5028         from our respective cfg.mk files.
5029
5030         maint.mk: create announcement template in ~/, not in /tmp
5031         * top/maint.mk (emit_upload_commands): Adjust.
5032         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
5033         Remove temporary file, .ci-msg.
5034
5035 2009-12-31  Eric Blake  <ebb9@byu.net>
5036
5037         link-warning: always build headers with link warnings
5038         * modules/arpa_inet (Makefile.am): Always build replacement
5039         header.
5040         * modules/ctype (Makefile.am): Likewise.
5041         * modules/dirent (Makefile.am): Likewise.
5042         * modules/inttypes (Makefile.am): Likewise.
5043         * modules/langinfo (Makefile.am): Likewise.
5044         * modules/locale (Makefile.am): Likewise.
5045         * modules/spawn (Makefile.am): Likewise.
5046         * modules/sys_file (Makefile.am): Likewise.
5047         * modules/sys_ioctl (Makefile.am): Likewise.
5048         * modules/sys_select (Makefile.am): Likewise.
5049         * modules/sys_socket (Makefile.am): Likewise.
5050         * modules/sys_times (Makefile.am): Likewise.
5051         * modules/sys_utsname (Makefile.am): Likewise.
5052         * modules/sys_wait (Makefile.am): Likewise.
5053         * modules/wchar (Makefile.am): Likewise.
5054         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
5055         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
5056         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
5057         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
5058         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
5059         Likewise.
5060         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5061         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5062         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
5063         Likewise.
5064         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
5065         Likewise.
5066         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5067         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
5068         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
5069         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5070         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5071         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5072         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5073         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
5074         (gl_WCHAR_H_DEFAULTS): Likewise.
5075
5076 2009-12-31  Eric Blake  <ebb9@byu.net>
5077
5078         signal, spawn: use link warnings
5079         * lib/signal.in.h (sigset_t): Make unconditional.
5080         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
5081         (sigpending, sigprocmask, sigaction): Add link warnings.
5082         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
5083         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
5084         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
5085         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
5086         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
5087         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
5088         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
5089         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
5090         (posix_spawn_file_actions_destroy)
5091         (posix_spawn_file_actions_addopen)
5092         (posix_spawn_file_actions_addclose)
5093         (posix_spawn_file_actions_adddup2): Likewise.
5094         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
5095         * tests/test-signal.c (main): Enhance test.
5096
5097         spawn: improve wrapper support
5098         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
5099         (gl_SPAWN_H_DEFAULTS): New defaults.
5100         * modules/spawn (Makefile.am): Substitute them.
5101         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
5102         Only declare if missing or broken.
5103
5104         sys_times, sys_utsname: use include_next
5105         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
5106         header.
5107         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
5108         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
5109         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
5110         * modules/sys_times (Depends-on): Add include_next.
5111         (Makefile.am): Substitute additional values.
5112         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5113         * lib/sys_times.in.h (includes): Include native header, if
5114         available.
5115         * lib/sys_utsname.in.h (includes): Likewise.
5116         * tests/test-sys_times.c (main): Enhance test.
5117
5118         fdutimensat: revert prior patch
5119         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
5120         utimens.h.
5121         Reported by Bruno Haible.
5122
5123 2009-12-30  Eric Blake  <ebb9@byu.net>
5124
5125         sys_wait: drop link-warning dependency
5126         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
5127         link-warning efforts.
5128         * lib/sys_wait.in.h: Likewise.
5129
5130         fdutimensat: remove bogus dependency
5131         * modules/fdutimensat (Depends-on): Drop inline.
5132
5133         unistd: fix typo
5134         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
5135
5136 2009-12-30  Bruno Haible  <bruno@clisp.org>
5137
5138         Fix compilation error with Solaris cc.
5139         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
5140         * lib/unicase/u16-is-invariant.c: Likewise.
5141         * lib/unicase/u32-is-invariant.c: Likewise.
5142         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
5143
5144 2009-12-30  Bruno Haible  <bruno@clisp.org>
5145
5146         Fix test crash.
5147         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
5148         locales.
5149         Reported by Simon Josefsson <simon@josefsson.org>.
5150
5151 2009-12-30  Bruno Haible  <bruno@clisp.org>
5152
5153         Fix compilation error on most platforms.
5154         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
5155         Reported by Simon Josefsson <simon@josefsson.org>
5156         and Nelson H. F. Beebe <beebe@math.utah.edu>.
5157
5158 2009-12-30  Eric Blake  <ebb9@byu.net>
5159
5160         futimens, utimensat: work around ntfs-3g bug
5161         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
5162         a ctime bug is present, and expand workaround to cover ntfs-3g.
5163         * lib/utimens.c (fdutimens, lutimens): Likewise.
5164         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
5165         (validate_timespec): Adjust return value.
5166         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
5167         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5168         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
5169
5170 2009-12-29  Eric Blake  <ebb9@byu.net>
5171
5172         link-warning: make usage consistent
5173         * modules/ctype (Depends-on): Add link-warning.
5174         (Makefile.am): Update rules accordingly.
5175         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5176         * modules/locale (Depends-on, Makefile.am): Likewise.
5177         * modules/sys_file (Makefile.am): Likewise.
5178         * modules/getopt-posix (Makefile.am): Delete unused link warning
5179         efforts.
5180         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
5181         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
5182         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
5183         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
5184
5185         stdio: remove unused variables
5186         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
5187         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
5188         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5189
5190         tests: test more substitute headers
5191         * modules/ctype-tests: New file.
5192         * modules/dirent-tests: Likewise.
5193         * modules/spawn-tests: Likewise.
5194         * modules/sys_file-tests: Likewise.
5195         * modules/sys_ioctl-tests: Likewise.
5196         * modules/sys_wait-tests: Likewise.
5197         * tests/test-ctype.c: Likewise.
5198         * tests/test-dirent.c: Likewise.
5199         * tests/test-spawn.c: Likewise.
5200         * tests/test-sys_file.c: Likewise.
5201         * tests/test-sys_ioctl.c: Likewise.
5202         * tests/test-sys_wait.c: Likewise.
5203         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
5204         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
5205         whether or not flock is in use.
5206
5207         tests: remove License section from module
5208         * modules/arpa_inet-tests: Remove unneeded section.
5209         * modules/byteswap-tests: Likewise.
5210         * modules/ceilf-tests: Likewise.
5211         * modules/ceill-tests: Likewise.
5212         * modules/crypto/des-tests: Likewise.
5213         * modules/crypto/gc-arcfour-tests: Likewise.
5214         * modules/crypto/gc-arctwo-tests: Likewise.
5215         * modules/crypto/gc-des-tests: Likewise.
5216         * modules/crypto/gc-hmac-md5-tests: Likewise.
5217         * modules/crypto/gc-hmac-sha1-tests: Likewise.
5218         * modules/crypto/gc-md2-tests: Likewise.
5219         * modules/crypto/gc-md4-tests: Likewise.
5220         * modules/crypto/gc-md5-tests: Likewise.
5221         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
5222         * modules/crypto/gc-rijndael-tests: Likewise.
5223         * modules/crypto/gc-sha1-tests: Likewise.
5224         * modules/crypto/gc-tests: Likewise.
5225         * modules/crypto/md2-tests: Likewise.
5226         * modules/crypto/md4-tests: Likewise.
5227         * modules/fcntl-h-tests: Likewise.
5228         * modules/floorf-tests: Likewise.
5229         * modules/floorl-tests: Likewise.
5230         * modules/frexp-nolibm-tests: Likewise.
5231         * modules/frexp-tests: Likewise.
5232         * modules/frexpl-nolibm-tests: Likewise.
5233         * modules/frexpl-tests: Likewise.
5234         * modules/getaddrinfo-tests: Likewise.
5235         * modules/inttypes-tests: Likewise.
5236         * modules/isfinite-tests: Likewise.
5237         * modules/isinf-tests: Likewise.
5238         * modules/ldexpl-tests: Likewise.
5239         * modules/locale-tests: Likewise.
5240         * modules/math-tests: Likewise.
5241         * modules/netdb-tests: Likewise.
5242         * modules/netinet_in-tests: Likewise.
5243         * modules/printf-frexp-tests: Likewise.
5244         * modules/printf-frexpl-tests: Likewise.
5245         * modules/priv-set-tests: Likewise.
5246         * modules/random_r-tests: Likewise.
5247         * modules/round-tests: Likewise.
5248         * modules/roundf-tests: Likewise.
5249         * modules/roundl-tests: Likewise.
5250         * modules/search-tests: Likewise.
5251         * modules/select-tests: Likewise.
5252         * modules/signal-tests: Likewise.
5253         * modules/stdbool-tests: Likewise.
5254         * modules/stddef-tests: Likewise.
5255         * modules/stdint-tests: Likewise.
5256         * modules/stdio-tests: Likewise.
5257         * modules/stdlib-tests: Likewise.
5258         * modules/string-tests: Likewise.
5259         * modules/strings-tests: Likewise.
5260         * modules/sys_select-tests: Likewise.
5261         * modules/sys_socket-tests: Likewise.
5262         * modules/sys_stat-tests: Likewise.
5263         * modules/sys_time-tests: Likewise.
5264         * modules/sys_utsname-tests: Likewise.
5265         * modules/sysexits-tests: Likewise.
5266         * modules/time-tests: Likewise.
5267         * modules/trunc-tests: Likewise.
5268         * modules/truncf-tests: Likewise.
5269         * modules/truncl-tests: Likewise.
5270         * modules/tsearch-tests: Likewise.
5271         * modules/unistd-tests: Likewise.
5272         * modules/wchar-tests: Likewise.
5273         * modules/wctype-tests: Likewise.
5274
5275         tests: fix license on several tests
5276         * tests/test-des.c: Update to GPLv3+.
5277         * tests/test-flock.c: Likewise.
5278         * tests/test-fsync.c: Likewise.
5279         * tests/test-futimens.h: Likewise.
5280         * tests/test-gc-arcfour.c: Likewise.
5281         * tests/test-gc-arctwo.c: Likewise.
5282         * tests/test-gc-des.c: Likewise.
5283         * tests/test-gc-hmac-md5.c: Likewise.
5284         * tests/test-gc-hmac-sha1.c: Likewise.
5285         * tests/test-gc-md2.c: Likewise.
5286         * tests/test-gc-md4.c: Likewise.
5287         * tests/test-gc-md5.c: Likewise.
5288         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5289         * tests/test-gc-rijndael.c: Likewise.
5290         * tests/test-gc-sha1.c: Likewise.
5291         * tests/test-gc.c: Likewise.
5292         * tests/test-getcwd.c: Likewise.
5293         * tests/test-link.c: Likewise.
5294         * tests/test-link.h: Likewise.
5295         * tests/test-lutimens.h: Likewise.
5296         * tests/test-md2.c: Likewise.
5297         * tests/test-md4.c: Likewise.
5298         * tests/test-mkdir.h: Likewise.
5299         * tests/test-rename.c: Likewise.
5300         * tests/test-rename.h: Likewise.
5301         * tests/test-safe-alloc.c: Likewise.
5302         * tests/test-utimens-common.h: Likewise.
5303         * tests/test-utimens.h: Likewise.
5304
5305         maint: sync license texts
5306         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
5307         * doc/gpl-3.0.texi: Revert copyright year update.
5308         * doc/lgpl-3.0.texi: Likewise.
5309
5310 2009-12-29  Jim Meyering  <meyering@redhat.com>
5311
5312         update nearly all FSF copyright year lists to include 2009
5313         The files named by the following are exempted:
5314             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
5315               test -f "$dst" && { echo "$dst"; continue; }
5316               test -d "$dst" || continue
5317               echo "$dst"/$(basename "$src")
5318             done > exempt
5319             git ls-files tests/unictype >> exempt
5320         In the remaining files, convert to all-interval notation if
5321         - there is already at least one year interval like 2000-2003
5322         - the file is maintained by me
5323         - the file is in lib/uni*/, where that style already prevails
5324         Otherwise, use update-copyright's default.
5325
5326 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5327         and Eric Blake  <ebb9@byu.net>
5328
5329         tests: don't require debug system() to pass
5330         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
5331         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5332         * tests/test-unlink.h (test_unlink_func): Likewise.
5333         * tests/test-fstatat.c (main): ...into callers.
5334         * tests/test-lstat.c (main): Likewise.
5335         * tests/test-rmdir.c (main): Likewise.
5336         * tests/test-unlink.c (main): Likewise.
5337         * tests/test-unlinkat.c (main): Likewise.
5338         * tests/test-areadlink-with-size.c (main): Don't require a
5339         debug-only system call to pass, aiding cross-testing to mingw.
5340         * tests/test-areadlink.c (main): Likewise.
5341         * tests/test-areadlinkat-with-size.c (main): Likewise.
5342         * tests/test-areadlinkat.c (main): Likewise.
5343         * tests/test-canonicalize-lgpl.c (main): Likewise.
5344         * tests/test-canonicalize.c (main): Likewise.
5345         * tests/test-chown.c (main): Likewise.
5346         * tests/test-fchownat.c (main): Likewise.
5347         * tests/test-lchown.c (main): Likewise.
5348         * tests/test-fdutimensat.c (main): Likewise.
5349         * tests/test-futimens.c (main): Likewise.
5350         * tests/test-link.c (main): Likewise.
5351         * tests/test-linkat.c (main): Likewise.
5352         * tests/test-mkdir.c (main): Likewise.
5353         * tests/test-mkdirat.c (main): Likewise.
5354         * tests/test-mkfifo.c (main): Likewise.
5355         * tests/test-mkfifoat.c (main): Likewise.
5356         * tests/test-mknod.c (main): Likewise.
5357         * tests/test-readlink.c (main): Likewise.
5358         * tests/test-remove.c (main): Likewise.
5359         * tests/test-rename.c (main): Likewise.
5360         * tests/test-renameat.c (main): Likewise.
5361         * tests/test-symlink.c (main): Likewise.
5362         * tests/test-symlinkat.c (main): Likewise.
5363         * tests/test-utimens.c (main): Likewise.
5364         * tests/test-utimensat.c (main): Likewise.
5365
5366 2009-12-29  Simon Josefsson  <simon@josefsson.org>
5367
5368         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
5369         on $(UNUSED_PARAMETER_H) to avoid build failure.
5370
5371 2009-12-28  Jim Meyering  <meyering@redhat.com>
5372
5373         update-copyright: you may specify a max. line length other than 72
5374         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
5375
5376         maint: use consistent FSF copyright line syntax
5377         * lib/posixtm.c: Add missing comma in FSF copyright line.
5378         * lib/posixtm.h: Likewise.
5379         * lib/getugroups.c: Add missing ", Inc.".
5380
5381         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
5382         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
5383         FSF copyright line.  Remove trailing blanks.
5384
5385 2009-12-28  Eric Blake  <ebb9@byu.net>
5386
5387         test-dup2: reduce dependencies
5388         * modules/cloexec (Configure.ac): Set witness.
5389         * modules/dup2-tests (Depends-on): Drop cloexec.
5390         * tests/test-dup2.c (main): Skip portion of test if cloexec module
5391         not present.
5392         Suggested by Bruno Haible.
5393
5394 2009-12-26  Bruno Haible  <bruno@clisp.org>
5395
5396         Remove an unneeded dependency.
5397         * modules/fseterr (Depends-on): Remove dup2.
5398
5399 2009-12-26  Eric Blake  <ebb9@byu.net>
5400
5401         tests: use macros.h in more places
5402         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
5403         (ASSERT_STREAM): Provide default of stderr.
5404         * tests/test-dirent-safer.c: Include macros.h, using alternate
5405         stream for assertions.
5406         * tests/test-dup-safer.c: Likewise.
5407         * tests/test-freopen-safer.c: Likewise.
5408         * tests/test-getopt.c: Likewise.
5409         * tests/test-openat-safer.c: Likewise.
5410         * tests/test-pipe.c: Likewise.
5411         * tests/test-popen-safer.c: Likewise.
5412         * modules/dirent-safer-tests (Files): Include macros.h.
5413         * modules/unistd-safer-tests (Files): Likewise.
5414         * modules/freopen-safer-tests (Files): Likewise.
5415         * modules/getopt-posix-tests (Files): Likewise.
5416         * modules/openat-safer-tests (Files): Likewise.
5417         * modules/pipe-tests (Files): Likewise.
5418
5419 2009-12-26  Bruno Haible  <bruno@clisp.org>
5420
5421         javacomp: Portability fix.
5422         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
5423         that it also works on Solaris.
5424
5425 2009-12-26  Bruno Haible  <bruno@clisp.org>
5426
5427         localename: Fix storage allocation of gl_locale_name_thread's result.
5428         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
5429         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
5430         all platforms that have 'uselocale'.
5431         (gl_locale_name_thread_unsafe): New function, extracted from
5432         gl_locale_name_thread.
5433         (gl_locale_name_thread): Call struniq on all platforms that have
5434         'uselocale'.
5435         * tests/test-localename.c (test_locale_name_thread): Check that the
5436         resulting strings are permanently allocated.
5437         * modules/localename-tests (Depends-on): Add strdup.
5438
5439 2009-12-26  Bruno Haible  <bruno@clisp.org>
5440
5441         * tests/test-localename.c (categories): Fill in the strings.
5442
5443 2009-12-26  Jim Meyering  <meyering@redhat.com>
5444
5445         isdir: complete the removal of m4/isdir.m4
5446         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
5447
5448         isdir: clean up, since at least grep still uses it
5449         * lib/isdir.c: Include "isdir.h".
5450         (S_ISDIR): Remove now-unneeded definition.
5451         * modules/isdir (Files): Add lib/isdir.h.
5452         * lib/isdir.h: New file, with declaration.
5453         * m4/isdir.m4: Remove file -- unneeded.
5454
5455 2009-12-25  Bruno Haible  <bruno@clisp.org>
5456
5457         selinux-h: Make generated .h files standalone.
5458         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
5459         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
5460         * lib/se-selinux.in.h: Likewise.
5461         * modules/selinux-h (Depends-on): Add unused-parameter.
5462         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
5463         selinux/selinux.h and selinux/context.h.
5464         Suggested by Eric Blake.
5465
5466 2009-12-25  Bruno Haible  <bruno@clisp.org>
5467
5468         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
5469         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
5470         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
5471         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
5472         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
5473
5474 2009-12-24  Bruno Haible  <bruno@clisp.org>
5475
5476         openat: Fix warning.
5477         * lib/openat-proc.c: Include <unistd.h>.
5478
5479 2009-12-24  Bruno Haible  <bruno@clisp.org>
5480
5481         New module 'unused-parameter'.
5482         * build-aux/unused-parameter.h: New file, extracted from earlier
5483         gnulib-common.m4.
5484         * modules/unused-parameter: New file.
5485         * lib/unistr.h: Include unused-parameter.h.
5486         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
5487         _GL_UNUSED.
5488         * modules/unistr/base (Depends-on): Add unused-parameter.
5489
5490 2009-12-24  Bruno Haible  <bruno@clisp.org>
5491
5492         Add missing dependencies to 'extensions' module.
5493         * m4/extensions.m4: Add comment.
5494         * modules/accept4 (Depends-on): Add extensions.
5495         * modules/dup3 (Depends-on): Likewise.
5496         * modules/fcntl (Depends-on): Likewise.
5497         * modules/futimens (Depends-on): Likewise.
5498         * modules/mknod (Depends-on): Likewise.
5499         * modules/pipe2 (Depends-on): Likewise.
5500         * modules/stat-time (Depends-on): Likewise.
5501         * modules/strcasestr-simple (Depends-on): Likewise.
5502         * modules/strsignal (Depends-on): Likewise.
5503         * modules/utimensat (Depends-on): Likewise.
5504         * modules/localcharset (Depends-on): Likewise. Needed because of
5505         gl_FCNTL_O_FLAGS.
5506         * modules/wcrtomb (Depends-on): Likewise. Needed because of
5507         AC_TYPE_MBSTATE_T.
5508         * modules/wcsnrtombs (Depends-on): Likewise.
5509         * modules/wcsrtombs (Depends-on): Likewise.
5510
5511 2009-12-24  Bruno Haible  <bruno@clisp.org>
5512
5513         binary-io: Avoid gcc warning due to SET_BINARY.
5514         * lib/binary-io.h (SET_BINARY): Cast the result to void.
5515         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
5516
5517 2009-12-24  Bruno Haible  <bruno@clisp.org>
5518
5519         Avoid future namespace pollution on glibc systems.
5520         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
5521         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
5522         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
5523         glibc systems.
5524
5525 2009-12-24  Bruno Haible  <bruno@clisp.org>
5526
5527         Refactor common macros used in tests.
5528         * tests/macros.h: New file.
5529         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
5530         and/or <stdlib.h>, if appropriate.
5531         (ASSERT, SIZEOF): Remove macros.
5532         * tests/test-areadlink-with-size.c: Likewise.
5533         * tests/test-areadlinkat.c: Likewise.
5534         * tests/test-areadlinkat-with-size.c: Likewise.
5535         * tests/test-argmatch.c: Likewise.
5536         * tests/test-argv-iter.c: Likewise.
5537         * tests/test-array-mergesort.c: Likewise.
5538         * tests/test-array_list.c: Likewise.
5539         * tests/test-array_oset.c: Likewise.
5540         * tests/test-avltree_list.c: Likewise.
5541         * tests/test-avltree_oset.c: Likewise.
5542         * tests/test-avltreehash_list.c: Likewise.
5543         * tests/test-base64.c: Likewise.
5544         * tests/test-binary-io.c: Likewise.
5545         * tests/test-bitrotate.c: Likewise.
5546         * tests/test-btowc.c: Likewise.
5547         * tests/test-byteswap.c: Likewise.
5548         * tests/test-c-ctype.c: Likewise.
5549         * tests/test-c-stack.c: Likewise.
5550         * tests/test-c-strcasecmp.c: Likewise.
5551         * tests/test-c-strcasestr.c: Likewise.
5552         * tests/test-c-strncasecmp.c: Likewise.
5553         * tests/test-c-strstr.c: Likewise.
5554         * tests/test-canonicalize-lgpl.c: Likewise.
5555         * tests/test-canonicalize.c: Likewise.
5556         * tests/test-carray_list.c: Likewise.
5557         * tests/test-ceilf1.c: Likewise.
5558         * tests/test-ceilf2.c: Likewise.
5559         * tests/test-ceill.c: Likewise.
5560         * tests/test-chown.c: Likewise.
5561         * tests/test-cloexec.c: Likewise.
5562         * tests/test-copy-acl.c: Likewise.
5563         * tests/test-copy-file.c: Likewise.
5564         * tests/test-count-one-bits.c: Likewise.
5565         * tests/test-dprintf-posix.c: Likewise.
5566         * tests/test-dup2.c: Likewise.
5567         * tests/test-dup3.c: Likewise.
5568         * tests/test-duplocale.c: Likewise.
5569         * tests/test-fbufmode.c: Likewise.
5570         * tests/test-fchdir.c: Likewise.
5571         * tests/test-fchownat.c: Likewise.
5572         * tests/test-fcntl-safer.c: Likewise.
5573         * tests/test-fcntl.c: Likewise.
5574         * tests/test-fdopendir.c: Likewise.
5575         * tests/test-fdutimensat.c: Likewise.
5576         * tests/test-fflush2.c: Likewise.
5577         * tests/test-file-has-acl.c: Likewise.
5578         * tests/test-filevercmp.c: Likewise.
5579         * tests/test-flock.c: Likewise.
5580         * tests/test-floorf1.c: Likewise.
5581         * tests/test-floorf2.c: Likewise.
5582         * tests/test-floorl.c: Likewise.
5583         * tests/test-fnmatch.c: Likewise.
5584         * tests/test-fopen.h: Likewise.
5585         * tests/test-fpending.c: Likewise.
5586         * tests/test-fprintf-posix.c: Likewise.
5587         * tests/test-fpurge.c: Likewise.
5588         * tests/test-freadable.c: Likewise.
5589         * tests/test-freadahead.c: Likewise.
5590         * tests/test-freading.c: Likewise.
5591         * tests/test-freadptr.c: Likewise.
5592         * tests/test-freadptr2.c: Likewise.
5593         * tests/test-freadseek.c: Likewise.
5594         * tests/test-freopen.c: Likewise.
5595         * tests/test-frexp.c: Likewise.
5596         * tests/test-frexpl.c: Likewise.
5597         * tests/test-fseek.c: Likewise.
5598         * tests/test-fseeko.c: Likewise.
5599         * tests/test-fstatat.c: Likewise.
5600         * tests/test-fstrcmp.c: Likewise.
5601         * tests/test-fsync.c: Likewise.
5602         * tests/test-ftell.c: Likewise.
5603         * tests/test-ftello.c: Likewise.
5604         * tests/test-func.c: Likewise.
5605         * tests/test-futimens.c: Likewise.
5606         * tests/test-fwritable.c: Likewise.
5607         * tests/test-fwriting.c: Likewise.
5608         * tests/test-getcwd.c: Likewise.
5609         * tests/test-getdate.c: Likewise.
5610         * tests/test-getdelim.c: Likewise.
5611         * tests/test-getdtablesize.c: Likewise.
5612         * tests/test-getgroups.c: Likewise.
5613         * tests/test-getline.c: Likewise.
5614         * tests/test-getndelim2.c: Likewise.
5615         * tests/test-glob.c: Likewise.
5616         * tests/test-hash.c: Likewise.
5617         * tests/test-i-ring.c: Likewise.
5618         * tests/test-iconv-utf.c: Likewise.
5619         * tests/test-iconv.c: Likewise.
5620         * tests/test-idpriv-drop.c: Likewise.
5621         * tests/test-idpriv-droptemp.c: Likewise.
5622         * tests/test-inet_ntop.c: Likewise.
5623         * tests/test-inet_pton.c: Likewise.
5624         * tests/test-isblank.c: Likewise.
5625         * tests/test-isfinite.c: Likewise.
5626         * tests/test-isinf.c: Likewise.
5627         * tests/test-isnan.c: Likewise.
5628         * tests/test-isnand.h: Likewise.
5629         * tests/test-isnanf.h: Likewise.
5630         * tests/test-isnanl.h: Likewise.
5631         * tests/test-lchown.c: Likewise.
5632         * tests/test-ldexpl.c: Likewise.
5633         * tests/test-link.c: Likewise.
5634         * tests/test-linkat.c: Likewise.
5635         * tests/test-linked_list.c: Likewise.
5636         * tests/test-linkedhash_list.c: Likewise.
5637         * tests/test-localename.c: Likewise.
5638         * tests/test-lseek.c: Likewise.
5639         * tests/test-lstat.c: Likewise.
5640         * tests/test-mbmemcasecmp.c: Likewise.
5641         * tests/test-mbmemcasecoll.c: Likewise.
5642         * tests/test-mbrtowc.c: Likewise.
5643         * tests/test-mbscasecmp.c: Likewise.
5644         * tests/test-mbscasestr1.c: Likewise.
5645         * tests/test-mbscasestr2.c: Likewise.
5646         * tests/test-mbscasestr3.c: Likewise.
5647         * tests/test-mbscasestr4.c: Likewise.
5648         * tests/test-mbschr.c: Likewise.
5649         * tests/test-mbscspn.c: Likewise.
5650         * tests/test-mbsinit.c: Likewise.
5651         * tests/test-mbsncasecmp.c: Likewise.
5652         * tests/test-mbsnrtowcs.c: Likewise.
5653         * tests/test-mbspbrk.c: Likewise.
5654         * tests/test-mbspcasecmp.c: Likewise.
5655         * tests/test-mbsrchr.c: Likewise.
5656         * tests/test-mbsrtowcs.c: Likewise.
5657         * tests/test-mbsspn.c: Likewise.
5658         * tests/test-mbsstr1.c: Likewise.
5659         * tests/test-mbsstr2.c: Likewise.
5660         * tests/test-mbsstr3.c: Likewise.
5661         * tests/test-memchr.c: Likewise.
5662         * tests/test-memchr2.c: Likewise.
5663         * tests/test-memcmp.c: Likewise.
5664         * tests/test-memmem.c: Likewise.
5665         * tests/test-memrchr.c: Likewise.
5666         * tests/test-mkdir.c: Likewise.
5667         * tests/test-mkdirat.c: Likewise.
5668         * tests/test-mkfifo.c: Likewise.
5669         * tests/test-mkfifoat.c: Likewise.
5670         * tests/test-mknod.c: Likewise.
5671         * tests/test-nanosleep.c: Likewise.
5672         * tests/test-nl_langinfo.c: Likewise.
5673         * tests/test-obstack-printf.c: Likewise.
5674         * tests/test-open.c: Likewise.
5675         * tests/test-openat.c: Likewise.
5676         * tests/test-pipe-filter-gi1.c: Likewise.
5677         * tests/test-pipe-filter-gi2-main.c: Likewise.
5678         * tests/test-pipe-filter-ii1.c: Likewise.
5679         * tests/test-pipe-filter-ii2-main.c: Likewise.
5680         * tests/test-pipe2.c: Likewise.
5681         * tests/test-popen.h: Likewise.
5682         * tests/test-posixtm.c: Likewise.
5683         * tests/test-pread.c: Likewise.
5684         * tests/test-printf-frexp.c: Likewise.
5685         * tests/test-printf-frexpl.c: Likewise.
5686         * tests/test-printf-posix.c: Likewise.
5687         * tests/test-priv-set.c: Likewise.
5688         * tests/test-quotearg.c: Likewise.
5689         * tests/test-random_r.c: Likewise.
5690         * tests/test-rawmemchr.c: Likewise.
5691         * tests/test-rbtree_list.c: Likewise.
5692         * tests/test-rbtree_oset.c: Likewise.
5693         * tests/test-rbtreehash_list.c: Likewise.
5694         * tests/test-readlink.c: Likewise.
5695         * tests/test-remove.c: Likewise.
5696         * tests/test-rename.c: Likewise.
5697         * tests/test-renameat.c: Likewise.
5698         * tests/test-rmdir.c: Likewise.
5699         * tests/test-round1.c: Likewise.
5700         * tests/test-roundf1.c: Likewise.
5701         * tests/test-roundl.c: Likewise.
5702         * tests/test-safe-alloc.c: Likewise.
5703         * tests/test-sameacls.c: Likewise.
5704         * tests/test-set-mode-acl.c: Likewise.
5705         * tests/test-setenv.c: Likewise.
5706         * tests/test-sigaction.c: Likewise.
5707         * tests/test-signbit.c: Likewise.
5708         * tests/test-sleep.c: Likewise.
5709         * tests/test-snprintf-posix.c: Likewise.
5710         * tests/test-snprintf.c: Likewise.
5711         * tests/test-sprintf-posix.c: Likewise.
5712         * tests/test-stat-time.c: Likewise.
5713         * tests/test-stat.c: Likewise.
5714         * tests/test-strcasestr.c: Likewise.
5715         * tests/test-strchrnul.c: Likewise.
5716         * tests/test-strerror.c: Likewise.
5717         * tests/test-striconv.c: Likewise.
5718         * tests/test-striconveh.c: Likewise.
5719         * tests/test-striconveha.c: Likewise.
5720         * tests/test-strsignal.c: Likewise.
5721         * tests/test-strstr.c: Likewise.
5722         * tests/test-strtod.c: Likewise.
5723         * tests/test-strverscmp.c: Likewise.
5724         * tests/test-symlink.c: Likewise.
5725         * tests/test-symlinkat.c: Likewise.
5726         * tests/test-trunc1.c: Likewise.
5727         * tests/test-trunc2.c: Likewise.
5728         * tests/test-truncf1.c: Likewise.
5729         * tests/test-truncf2.c: Likewise.
5730         * tests/test-truncl.c: Likewise.
5731         * tests/test-uname.c: Likewise.
5732         * tests/test-unlink.c: Likewise.
5733         * tests/test-unlinkat.c: Likewise.
5734         * tests/test-unsetenv.c: Likewise.
5735         * tests/test-usleep.c: Likewise.
5736         * tests/test-utimens.c: Likewise.
5737         * tests/test-utimensat.c: Likewise.
5738         * tests/test-vasnprintf-posix.c: Likewise.
5739         * tests/test-vasnprintf-posix2.c: Likewise.
5740         * tests/test-vasnprintf.c: Likewise.
5741         * tests/test-vasprintf-posix.c: Likewise.
5742         * tests/test-vasprintf.c: Likewise.
5743         * tests/test-vdprintf-posix.c: Likewise.
5744         * tests/test-vfprintf-posix.c: Likewise.
5745         * tests/test-vprintf-posix.c: Likewise.
5746         * tests/test-vsnprintf-posix.c: Likewise.
5747         * tests/test-vsnprintf.c: Likewise.
5748         * tests/test-vsprintf-posix.c: Likewise.
5749         * tests/test-wcrtomb.c: Likewise.
5750         * tests/test-wcsnrtombs.c: Likewise.
5751         * tests/test-wcsrtombs.c: Likewise.
5752         * tests/test-wctype.c: Likewise.
5753         * tests/test-wcwidth.c: Likewise.
5754         * tests/test-xfprintf-posix.c: Likewise.
5755         * tests/test-xmemdup0.c: Likewise.
5756         * tests/test-xprintf-posix.c: Likewise.
5757         * tests/test-xvasprintf.c: Likewise.
5758         * tests/unicase/test-locale-language.c: Likewise.
5759         * tests/unicase/test-mapping-part1.h: Likewise.
5760         * tests/unicase/test-predicate-part1.h: Likewise.
5761         * tests/unicase/test-u8-casecmp.c: Likewise.
5762         * tests/unicase/test-u8-casecoll.c: Likewise.
5763         * tests/unicase/test-u8-casefold.c: Likewise.
5764         * tests/unicase/test-u8-is-cased.c: Likewise.
5765         * tests/unicase/test-u8-is-casefolded.c: Likewise.
5766         * tests/unicase/test-u8-is-lowercase.c: Likewise.
5767         * tests/unicase/test-u8-is-titlecase.c: Likewise.
5768         * tests/unicase/test-u8-is-uppercase.c: Likewise.
5769         * tests/unicase/test-u8-tolower.c: Likewise.
5770         * tests/unicase/test-u8-totitle.c: Likewise.
5771         * tests/unicase/test-u8-toupper.c: Likewise.
5772         * tests/unicase/test-u16-casecmp.c: Likewise.
5773         * tests/unicase/test-u16-casecoll.c: Likewise.
5774         * tests/unicase/test-u16-casefold.c: Likewise.
5775         * tests/unicase/test-u16-is-cased.c: Likewise.
5776         * tests/unicase/test-u16-is-casefolded.c: Likewise.
5777         * tests/unicase/test-u16-is-lowercase.c: Likewise.
5778         * tests/unicase/test-u16-is-titlecase.c: Likewise.
5779         * tests/unicase/test-u16-is-uppercase.c: Likewise.
5780         * tests/unicase/test-u16-tolower.c: Likewise.
5781         * tests/unicase/test-u16-totitle.c: Likewise.
5782         * tests/unicase/test-u16-toupper.c: Likewise.
5783         * tests/unicase/test-u32-casecmp.c: Likewise.
5784         * tests/unicase/test-u32-casecoll.c: Likewise.
5785         * tests/unicase/test-u32-casefold.c: Likewise.
5786         * tests/unicase/test-u32-is-cased.c: Likewise.
5787         * tests/unicase/test-u32-is-casefolded.c: Likewise.
5788         * tests/unicase/test-u32-is-lowercase.c: Likewise.
5789         * tests/unicase/test-u32-is-titlecase.c: Likewise.
5790         * tests/unicase/test-u32-is-uppercase.c: Likewise.
5791         * tests/unicase/test-u32-tolower.c: Likewise.
5792         * tests/unicase/test-u32-totitle.c: Likewise.
5793         * tests/unicase/test-u32-toupper.c: Likewise.
5794         * tests/unicase/test-ulc-casecmp.c: Likewise.
5795         * tests/unicase/test-ulc-casecoll.c: Likewise.
5796         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
5797         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
5798         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
5799         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
5800         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
5801         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
5802         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
5803         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
5804         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
5805         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
5806         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
5807         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
5808         * tests/unictype/test-bidi_byname.c: Likewise.
5809         * tests/unictype/test-bidi_name.c: Likewise.
5810         * tests/unictype/test-bidi_of.c: Likewise.
5811         * tests/unictype/test-bidi_test.c: Likewise.
5812         * tests/unictype/test-block_list.c: Likewise.
5813         * tests/unictype/test-block_of.c: Likewise.
5814         * tests/unictype/test-block_test.c: Likewise.
5815         * tests/unictype/test-categ_and.c: Likewise.
5816         * tests/unictype/test-categ_and_not.c: Likewise.
5817         * tests/unictype/test-categ_byname.c: Likewise.
5818         * tests/unictype/test-categ_name.c: Likewise.
5819         * tests/unictype/test-categ_none.c: Likewise.
5820         * tests/unictype/test-categ_of.c: Likewise.
5821         * tests/unictype/test-categ_or.c: Likewise.
5822         * tests/unictype/test-categ_test_withtable.c: Likewise.
5823         * tests/unictype/test-combining.c: Likewise.
5824         * tests/unictype/test-decdigit.c: Likewise.
5825         * tests/unictype/test-digit.c: Likewise.
5826         * tests/unictype/test-mirror.c: Likewise.
5827         * tests/unictype/test-numeric.c: Likewise.
5828         * tests/unictype/test-pr_byname.c: Likewise.
5829         * tests/unictype/test-pr_test.c: Likewise.
5830         * tests/unictype/test-predicate-part1.h: Likewise.
5831         * tests/unictype/test-scripts.c: Likewise.
5832         * tests/unictype/test-sy_c_ident.c: Likewise.
5833         * tests/unictype/test-sy_java_ident.c: Likewise.
5834         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
5835         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
5836         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
5837         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
5838         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
5839         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
5840         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
5841         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
5842         * tests/uninorm/test-canonical-decomposition.c: Likewise.
5843         * tests/uninorm/test-compat-decomposition.c: Likewise.
5844         * tests/uninorm/test-composition.c: Likewise.
5845         * tests/uninorm/test-decomposing-form.c: Likewise.
5846         * tests/uninorm/test-decomposition.c: Likewise.
5847         * tests/uninorm/test-u8-nfc.c: Likewise.
5848         * tests/uninorm/test-u8-nfd.c: Likewise.
5849         * tests/uninorm/test-u8-nfkc.c: Likewise.
5850         * tests/uninorm/test-u8-nfkd.c: Likewise.
5851         * tests/uninorm/test-u8-normcmp.c: Likewise.
5852         * tests/uninorm/test-u8-normcoll.c: Likewise.
5853         * tests/uninorm/test-u16-nfc.c: Likewise.
5854         * tests/uninorm/test-u16-nfd.c: Likewise.
5855         * tests/uninorm/test-u16-nfkc.c: Likewise.
5856         * tests/uninorm/test-u16-nfkd.c: Likewise.
5857         * tests/uninorm/test-u16-normcmp.c: Likewise.
5858         * tests/uninorm/test-u16-normcoll.c: Likewise.
5859         * tests/uninorm/test-u32-nfc.c: Likewise.
5860         * tests/uninorm/test-u32-nfd.c: Likewise.
5861         * tests/uninorm/test-u32-nfkc.c: Likewise.
5862         * tests/uninorm/test-u32-nfkd.c: Likewise.
5863         * tests/uninorm/test-u32-normalize-big.c: Likewise.
5864         * tests/uninorm/test-u32-normcmp.c: Likewise.
5865         * tests/uninorm/test-u32-normcoll.c: Likewise.
5866         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
5867         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
5868         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
5869         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
5870         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
5871         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
5872         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
5873         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
5874         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
5875         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
5876         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
5877         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
5878         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
5879         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
5880         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
5881         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
5882         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
5883         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
5884         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
5885         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
5886         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
5887         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
5888         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
5889         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
5890         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
5891         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
5892         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
5893         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
5894         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
5895         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
5896         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
5897         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
5898         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
5899         * tests/uniwidth/test-u8-strwidth.c: Likewise.
5900         * tests/uniwidth/test-u8-width.c: Likewise.
5901         * tests/uniwidth/test-u16-strwidth.c: Likewise.
5902         * tests/uniwidth/test-u16-width.c: Likewise.
5903         * tests/uniwidth/test-u32-strwidth.c: Likewise.
5904         * tests/uniwidth/test-u32-width.c: Likewise.
5905         * tests/uniwidth/test-uc_width.c: Likewise.
5906         * tests/uniwidth/test-uc_width2.c: Likewise.
5907         * modules/acl-tests (Files): Add tests/macros.h.
5908         * modules/areadlink-tests (Files): Likewise.
5909         * modules/areadlink-with-size-tests (Files): Likewise.
5910         * modules/areadlinkat-tests (Files): Likewise.
5911         * modules/areadlinkat-with-size-tests (Files): Likewise.
5912         * modules/argmatch-tests (Files): Likewise.
5913         * modules/argv-iter-tests (Files): Likewise.
5914         * modules/array-list-tests (Files): Likewise.
5915         * modules/array-mergesort-tests (Files): Likewise.
5916         * modules/array-oset-tests (Files): Likewise.
5917         * modules/avltree-list-tests (Files): Likewise.
5918         * modules/avltree-oset-tests (Files): Likewise.
5919         * modules/avltreehash-list-tests (Files): Likewise.
5920         * modules/base64-tests (Files): Likewise.
5921         * modules/binary-io-tests (Files): Likewise.
5922         * modules/bitrotate-tests (Files): Likewise.
5923         * modules/btowc-tests (Files): Likewise.
5924         * modules/byteswap-tests (Files): Likewise.
5925         * modules/c-ctype-tests (Files): Likewise.
5926         * modules/c-stack-tests (Files): Likewise.
5927         * modules/c-strcase-tests (Files): Likewise.
5928         * modules/c-strcasestr-tests (Files): Likewise.
5929         * modules/c-strstr-tests (Files): Likewise.
5930         * modules/canonicalize-lgpl-tests (Files): Likewise.
5931         * modules/canonicalize-tests (Files): Likewise.
5932         * modules/carray-list-tests (Files): Likewise.
5933         * modules/ceilf-tests (Files): Likewise.
5934         * modules/ceill-tests (Files): Likewise.
5935         * modules/chown-tests (Files): Likewise.
5936         * modules/cloexec-tests (Files): Likewise.
5937         * modules/copy-file-tests (Files): Likewise.
5938         * modules/count-one-bits-tests (Files): Likewise.
5939         * modules/dprintf-posix-tests (Files): Likewise.
5940         * modules/dup2-tests (Files): Likewise.
5941         * modules/dup3-tests (Files): Likewise.
5942         * modules/duplocale-tests (Files): Likewise.
5943         * modules/fbufmode-tests (Files): Likewise.
5944         * modules/fchdir-tests (Files): Likewise.
5945         * modules/fcntl-safer-tests (Files): Likewise.
5946         * modules/fcntl-tests (Files): Likewise.
5947         * modules/fdopendir-tests (Files): Likewise.
5948         * modules/fdutimensat-tests (Files): Likewise.
5949         * modules/fflush-tests (Files): Likewise.
5950         * modules/filevercmp-tests (Files): Likewise.
5951         * modules/flock-tests (Files): Likewise.
5952         * modules/floorf-tests (Files): Likewise.
5953         * modules/floorl-tests (Files): Likewise.
5954         * modules/fnmatch-tests (Files): Likewise.
5955         * modules/fopen-safer-tests (Files): Likewise.
5956         * modules/fopen-tests (Files): Likewise.
5957         * modules/fpending-tests (Files): Likewise.
5958         * modules/fprintf-posix-tests (Files): Likewise.
5959         * modules/fpurge-tests (Files): Likewise.
5960         * modules/freadable-tests (Files): Likewise.
5961         * modules/freadahead-tests (Files): Likewise.
5962         * modules/freading-tests (Files): Likewise.
5963         * modules/freadptr-tests (Files): Likewise.
5964         * modules/freadseek-tests (Files): Likewise.
5965         * modules/freopen-tests (Files): Likewise.
5966         * modules/frexp-nolibm-tests (Files): Likewise.
5967         * modules/frexp-tests (Files): Likewise.
5968         * modules/frexpl-nolibm-tests (Files): Likewise.
5969         * modules/frexpl-tests (Files): Likewise.
5970         * modules/fseek-tests (Files): Likewise.
5971         * modules/fseeko-tests (Files): Likewise.
5972         * modules/fstrcmp-tests (Files): Likewise.
5973         * modules/fsync-tests (Files): Likewise.
5974         * modules/ftell-tests (Files): Likewise.
5975         * modules/ftello-tests (Files): Likewise.
5976         * modules/func-tests (Files): Likewise.
5977         * modules/futimens-tests (Files): Likewise.
5978         * modules/fwritable-tests (Files): Likewise.
5979         * modules/fwriting-tests (Files): Likewise.
5980         * modules/getcwd-tests (Files): Likewise.
5981         * modules/getdate-tests (Files): Likewise.
5982         * modules/getdelim-tests (Files): Likewise.
5983         * modules/getdtablesize-tests (Files): Likewise.
5984         * modules/getgroups-tests (Files): Likewise.
5985         * modules/getline-tests (Files): Likewise.
5986         * modules/getndelim2-tests (Files): Likewise.
5987         * modules/glob-tests (Files): Likewise.
5988         * modules/hash-tests (Files): Likewise.
5989         * modules/i-ring-tests (Files): Likewise.
5990         * modules/iconv-tests (Files): Likewise.
5991         * modules/iconv_open-utf-tests (Files): Likewise.
5992         * modules/idpriv-drop-tests (Files): Likewise.
5993         * modules/idpriv-droptemp-tests (Files): Likewise.
5994         * modules/inet_ntop-tests (Files): Likewise.
5995         * modules/inet_pton-tests (Files): Likewise.
5996         * modules/isblank-tests (Files): Likewise.
5997         * modules/isfinite-tests (Files): Likewise.
5998         * modules/isinf-tests (Files): Likewise.
5999         * modules/isnan-tests (Files): Likewise.
6000         * modules/isnand-nolibm-tests (Files): Likewise.
6001         * modules/isnand-tests (Files): Likewise.
6002         * modules/isnanf-nolibm-tests (Files): Likewise.
6003         * modules/isnanf-tests (Files): Likewise.
6004         * modules/isnanl-nolibm-tests (Files): Likewise.
6005         * modules/isnanl-tests (Files): Likewise.
6006         * modules/lchown-tests (Files): Likewise.
6007         * modules/ldexpl-tests (Files): Likewise.
6008         * modules/link-tests (Files): Likewise.
6009         * modules/linkat-tests (Files): Likewise.
6010         * modules/linked-list-tests (Files): Likewise.
6011         * modules/linkedhash-list-tests (Files): Likewise.
6012         * modules/localename-tests (Files): Likewise.
6013         * modules/lseek-tests (Files): Likewise.
6014         * modules/lstat-tests (Files): Likewise.
6015         * modules/mbmemcasecmp-tests (Files): Likewise.
6016         * modules/mbmemcasecoll-tests (Files): Likewise.
6017         * modules/mbrtowc-tests (Files): Likewise.
6018         * modules/mbscasecmp-tests (Files): Likewise.
6019         * modules/mbscasestr-tests (Files): Likewise.
6020         * modules/mbschr-tests (Files): Likewise.
6021         * modules/mbscspn-tests (Files): Likewise.
6022         * modules/mbsinit-tests (Files): Likewise.
6023         * modules/mbsncasecmp-tests (Files): Likewise.
6024         * modules/mbsnrtowcs-tests (Files): Likewise.
6025         * modules/mbspbrk-tests (Files): Likewise.
6026         * modules/mbspcasecmp-tests (Files): Likewise.
6027         * modules/mbsrchr-tests (Files): Likewise.
6028         * modules/mbsrtowcs-tests (Files): Likewise.
6029         * modules/mbsspn-tests (Files): Likewise.
6030         * modules/mbsstr-tests (Files): Likewise.
6031         * modules/memchr-tests (Files): Likewise.
6032         * modules/memchr2-tests (Files): Likewise.
6033         * modules/memcmp-tests (Files): Likewise.
6034         * modules/memmem-tests (Files): Likewise.
6035         * modules/memrchr-tests (Files): Likewise.
6036         * modules/mkdir-tests (Files): Likewise.
6037         * modules/mkfifo-tests (Files): Likewise.
6038         * modules/mkfifoat-tests (Files): Likewise.
6039         * modules/mknod-tests (Files): Likewise.
6040         * modules/nanosleep-tests (Files): Likewise.
6041         * modules/nl_langinfo-tests (Files): Likewise.
6042         * modules/obstack-printf-tests (Files): Likewise.
6043         * modules/open-tests (Files): Likewise.
6044         * modules/openat-tests (Files): Likewise.
6045         * modules/pipe-filter-gi-tests (Files): Likewise.
6046         * modules/pipe-filter-ii-tests (Files): Likewise.
6047         * modules/pipe2-tests (Files): Likewise.
6048         * modules/popen-safer-tests (Files): Likewise.
6049         * modules/popen-tests (Files): Likewise.
6050         * modules/posixtm-tests (Files): Likewise.
6051         * modules/pread-tests (Files): Likewise.
6052         * modules/printf-frexp-tests (Files): Likewise.
6053         * modules/printf-frexpl-tests (Files): Likewise.
6054         * modules/printf-posix-tests (Files): Likewise.
6055         * modules/priv-set-tests (Files): Likewise.
6056         * modules/quotearg-tests (Files): Likewise.
6057         * modules/random_r-tests (Files): Likewise.
6058         * modules/rawmemchr-tests (Files): Likewise.
6059         * modules/rbtree-list-tests (Files): Likewise.
6060         * modules/rbtree-oset-tests (Files): Likewise.
6061         * modules/rbtreehash-list-tests (Files): Likewise.
6062         * modules/readlink-tests (Files): Likewise.
6063         * modules/remove-tests (Files): Likewise.
6064         * modules/rename-tests (Files): Likewise.
6065         * modules/renameat-tests (Files): Likewise.
6066         * modules/rmdir-tests (Files): Likewise.
6067         * modules/round-tests (Files): Likewise.
6068         * modules/roundf-tests (Files): Likewise.
6069         * modules/roundl-tests (Files): Likewise.
6070         * modules/safe-alloc-tests (Files): Likewise.
6071         * modules/setenv-tests (Files): Likewise.
6072         * modules/sigaction-tests (Files): Likewise.
6073         * modules/signbit-tests (Files): Likewise.
6074         * modules/sleep-tests (Files): Likewise.
6075         * modules/snprintf-posix-tests (Files): Likewise.
6076         * modules/snprintf-tests (Files): Likewise.
6077         * modules/sprintf-posix-tests (Files): Likewise.
6078         * modules/stat-tests (Files): Likewise.
6079         * modules/stat-time-tests (Files): Likewise.
6080         * modules/strcasestr-tests (Files): Likewise.
6081         * modules/strchrnul-tests (Files): Likewise.
6082         * modules/strerror-tests (Files): Likewise.
6083         * modules/striconv-tests (Files): Likewise.
6084         * modules/striconveh-tests (Files): Likewise.
6085         * modules/striconveha-tests (Files): Likewise.
6086         * modules/strsignal-tests (Files): Likewise.
6087         * modules/strstr-tests (Files): Likewise.
6088         * modules/strtod-tests (Files): Likewise.
6089         * modules/strverscmp-tests (Files): Likewise.
6090         * modules/symlink-tests (Files): Likewise.
6091         * modules/symlinkat-tests (Files): Likewise.
6092         * modules/trunc-tests (Files): Likewise.
6093         * modules/truncf-tests (Files): Likewise.
6094         * modules/truncl-tests (Files): Likewise.
6095         * modules/uname-tests (Files): Likewise.
6096         * modules/unicase/cased-tests (Files): Likewise.
6097         * modules/unicase/ignorable-tests (Files): Likewise.
6098         * modules/unicase/locale-language-tests (Files): Likewise.
6099         * modules/unicase/tolower-tests (Files): Likewise.
6100         * modules/unicase/totitle-tests (Files): Likewise.
6101         * modules/unicase/toupper-tests (Files): Likewise.
6102         * modules/unicase/u8-casecmp-tests (Files): Likewise.
6103         * modules/unicase/u8-casecoll-tests (Files): Likewise.
6104         * modules/unicase/u8-casefold-tests (Files): Likewise.
6105         * modules/unicase/u8-is-cased-tests (Files): Likewise.
6106         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
6107         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
6108         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
6109         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
6110         * modules/unicase/u8-tolower-tests (Files): Likewise.
6111         * modules/unicase/u8-totitle-tests (Files): Likewise.
6112         * modules/unicase/u8-toupper-tests (Files): Likewise.
6113         * modules/unicase/u16-casecmp-tests (Files): Likewise.
6114         * modules/unicase/u16-casecoll-tests (Files): Likewise.
6115         * modules/unicase/u16-casefold-tests (Files): Likewise.
6116         * modules/unicase/u16-is-cased-tests (Files): Likewise.
6117         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
6118         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
6119         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
6120         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
6121         * modules/unicase/u16-tolower-tests (Files): Likewise.
6122         * modules/unicase/u16-totitle-tests (Files): Likewise.
6123         * modules/unicase/u16-toupper-tests (Files): Likewise.
6124         * modules/unicase/u32-casecmp-tests (Files): Likewise.
6125         * modules/unicase/u32-casecoll-tests (Files): Likewise.
6126         * modules/unicase/u32-casefold-tests (Files): Likewise.
6127         * modules/unicase/u32-is-cased-tests (Files): Likewise.
6128         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
6129         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
6130         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
6131         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
6132         * modules/unicase/u32-tolower-tests (Files): Likewise.
6133         * modules/unicase/u32-totitle-tests (Files): Likewise.
6134         * modules/unicase/u32-toupper-tests (Files): Likewise.
6135         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
6136         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
6137         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
6138         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
6139         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
6140         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
6141         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
6142         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
6143         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
6144         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
6145         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
6146         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
6147         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
6148         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
6149         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
6150         * modules/unictype/bidicategory-name-tests (Files): Likewise.
6151         * modules/unictype/bidicategory-of-tests (Files): Likewise.
6152         * modules/unictype/bidicategory-test-tests (Files): Likewise.
6153         * modules/unictype/block-list-tests (Files): Likewise.
6154         * modules/unictype/block-of-tests (Files): Likewise.
6155         * modules/unictype/block-test-tests (Files): Likewise.
6156         * modules/unictype/category-C-tests (Files): Likewise.
6157         * modules/unictype/category-Cc-tests (Files): Likewise.
6158         * modules/unictype/category-Cf-tests (Files): Likewise.
6159         * modules/unictype/category-Cn-tests (Files): Likewise.
6160         * modules/unictype/category-Co-tests (Files): Likewise.
6161         * modules/unictype/category-Cs-tests (Files): Likewise.
6162         * modules/unictype/category-L-tests (Files): Likewise.
6163         * modules/unictype/category-Ll-tests (Files): Likewise.
6164         * modules/unictype/category-Lm-tests (Files): Likewise.
6165         * modules/unictype/category-Lo-tests (Files): Likewise.
6166         * modules/unictype/category-Lt-tests (Files): Likewise.
6167         * modules/unictype/category-Lu-tests (Files): Likewise.
6168         * modules/unictype/category-M-tests (Files): Likewise.
6169         * modules/unictype/category-Mc-tests (Files): Likewise.
6170         * modules/unictype/category-Me-tests (Files): Likewise.
6171         * modules/unictype/category-Mn-tests (Files): Likewise.
6172         * modules/unictype/category-N-tests (Files): Likewise.
6173         * modules/unictype/category-Nd-tests (Files): Likewise.
6174         * modules/unictype/category-Nl-tests (Files): Likewise.
6175         * modules/unictype/category-No-tests (Files): Likewise.
6176         * modules/unictype/category-P-tests (Files): Likewise.
6177         * modules/unictype/category-Pc-tests (Files): Likewise.
6178         * modules/unictype/category-Pd-tests (Files): Likewise.
6179         * modules/unictype/category-Pe-tests (Files): Likewise.
6180         * modules/unictype/category-Pf-tests (Files): Likewise.
6181         * modules/unictype/category-Pi-tests (Files): Likewise.
6182         * modules/unictype/category-Po-tests (Files): Likewise.
6183         * modules/unictype/category-Ps-tests (Files): Likewise.
6184         * modules/unictype/category-S-tests (Files): Likewise.
6185         * modules/unictype/category-Sc-tests (Files): Likewise.
6186         * modules/unictype/category-Sk-tests (Files): Likewise.
6187         * modules/unictype/category-Sm-tests (Files): Likewise.
6188         * modules/unictype/category-So-tests (Files): Likewise.
6189         * modules/unictype/category-Z-tests (Files): Likewise.
6190         * modules/unictype/category-Zl-tests (Files): Likewise.
6191         * modules/unictype/category-Zp-tests (Files): Likewise.
6192         * modules/unictype/category-Zs-tests (Files): Likewise.
6193         * modules/unictype/category-and-not-tests (Files): Likewise.
6194         * modules/unictype/category-and-tests (Files): Likewise.
6195         * modules/unictype/category-byname-tests (Files): Likewise.
6196         * modules/unictype/category-name-tests (Files): Likewise.
6197         * modules/unictype/category-none-tests (Files): Likewise.
6198         * modules/unictype/category-of-tests (Files): Likewise.
6199         * modules/unictype/category-or-tests (Files): Likewise.
6200         * modules/unictype/category-test-withtable-tests (Files): Likewise.
6201         * modules/unictype/combining-class-tests (Files): Likewise.
6202         * modules/unictype/ctype-alnum-tests (Files): Likewise.
6203         * modules/unictype/ctype-alpha-tests (Files): Likewise.
6204         * modules/unictype/ctype-blank-tests (Files): Likewise.
6205         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
6206         * modules/unictype/ctype-digit-tests (Files): Likewise.
6207         * modules/unictype/ctype-graph-tests (Files): Likewise.
6208         * modules/unictype/ctype-lower-tests (Files): Likewise.
6209         * modules/unictype/ctype-print-tests (Files): Likewise.
6210         * modules/unictype/ctype-punct-tests (Files): Likewise.
6211         * modules/unictype/ctype-space-tests (Files): Likewise.
6212         * modules/unictype/ctype-upper-tests (Files): Likewise.
6213         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
6214         * modules/unictype/decimal-digit-tests (Files): Likewise.
6215         * modules/unictype/digit-tests (Files): Likewise.
6216         * modules/unictype/mirror-tests (Files): Likewise.
6217         * modules/unictype/numeric-tests (Files): Likewise.
6218         * modules/unictype/property-alphabetic-tests (Files): Likewise.
6219         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
6220         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
6221         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
6222         Likewise.
6223         * modules/unictype/property-bidi-block-separator-tests (Files):
6224         Likewise.
6225         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
6226         Likewise.
6227         * modules/unictype/property-bidi-common-separator-tests (Files):
6228         Likewise.
6229         * modules/unictype/property-bidi-control-tests (Files): Likewise.
6230         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
6231         Likewise.
6232         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
6233         Likewise.
6234         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
6235         Likewise.
6236         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
6237         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
6238         Likewise.
6239         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
6240         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
6241         Likewise.
6242         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
6243         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
6244         * modules/unictype/property-bidi-segment-separator-tests (Files):
6245         Likewise.
6246         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
6247         * modules/unictype/property-byname-tests (Files): Likewise.
6248         * modules/unictype/property-combining-tests (Files): Likewise.
6249         * modules/unictype/property-composite-tests (Files): Likewise.
6250         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
6251         * modules/unictype/property-dash-tests (Files): Likewise.
6252         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
6253         * modules/unictype/property-default-ignorable-code-point-tests (Files):
6254         Likewise.
6255         * modules/unictype/property-deprecated-tests (Files): Likewise.
6256         * modules/unictype/property-diacritic-tests (Files): Likewise.
6257         * modules/unictype/property-extender-tests (Files): Likewise.
6258         * modules/unictype/property-format-control-tests (Files): Likewise.
6259         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
6260         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
6261         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
6262         * modules/unictype/property-hex-digit-tests (Files): Likewise.
6263         * modules/unictype/property-hyphen-tests (Files): Likewise.
6264         * modules/unictype/property-id-continue-tests (Files): Likewise.
6265         * modules/unictype/property-id-start-tests (Files): Likewise.
6266         * modules/unictype/property-ideographic-tests (Files): Likewise.
6267         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
6268         * modules/unictype/property-ids-trinary-operator-tests (Files):
6269         Likewise.
6270         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
6271         * modules/unictype/property-iso-control-tests (Files): Likewise.
6272         * modules/unictype/property-join-control-tests (Files): Likewise.
6273         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
6274         * modules/unictype/property-line-separator-tests (Files): Likewise.
6275         * modules/unictype/property-logical-order-exception-tests (Files):
6276         Likewise.
6277         * modules/unictype/property-lowercase-tests (Files): Likewise.
6278         * modules/unictype/property-math-tests (Files): Likewise.
6279         * modules/unictype/property-non-break-tests (Files): Likewise.
6280         * modules/unictype/property-not-a-character-tests (Files): Likewise.
6281         * modules/unictype/property-numeric-tests (Files): Likewise.
6282         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
6283         * modules/unictype/property-other-default-ignorable-code-point-tests
6284         (Files): Likewise.
6285         * modules/unictype/property-other-grapheme-extend-tests (Files):
6286         Likewise.
6287         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
6288         * modules/unictype/property-other-id-start-tests (Files): Likewise.
6289         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
6290         * modules/unictype/property-other-math-tests (Files): Likewise.
6291         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
6292         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
6293         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
6294         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
6295         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
6296         * modules/unictype/property-private-use-tests (Files): Likewise.
6297         * modules/unictype/property-punctuation-tests (Files): Likewise.
6298         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
6299         * modules/unictype/property-radical-tests (Files): Likewise.
6300         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
6301         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
6302         * modules/unictype/property-space-tests (Files): Likewise.
6303         * modules/unictype/property-terminal-punctuation-tests (Files):
6304         Likewise.
6305         * modules/unictype/property-test-tests (Files): Likewise.
6306         * modules/unictype/property-titlecase-tests (Files): Likewise.
6307         * modules/unictype/property-unassigned-code-value-tests (Files):
6308         Likewise.
6309         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
6310         * modules/unictype/property-uppercase-tests (Files): Likewise.
6311         * modules/unictype/property-variation-selector-tests (Files): Likewise.
6312         * modules/unictype/property-white-space-tests (Files): Likewise.
6313         * modules/unictype/property-xid-continue-tests (Files): Likewise.
6314         * modules/unictype/property-xid-start-tests (Files): Likewise.
6315         * modules/unictype/property-zero-width-tests (Files): Likewise.
6316         * modules/unictype/scripts-tests (Files): Likewise.
6317         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
6318         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
6319         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
6320         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
6321         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
6322         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
6323         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
6324         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
6325         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
6326         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
6327         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
6328         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
6329         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
6330         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
6331         * modules/uninorm/composition-tests (Files): Likewise.
6332         * modules/uninorm/decomposing-form-tests (Files): Likewise.
6333         * modules/uninorm/decomposition-tests (Files): Likewise.
6334         * modules/uninorm/filter-tests (Files): Likewise.
6335         * modules/uninorm/nfc-tests (Files): Likewise.
6336         * modules/uninorm/nfd-tests (Files): Likewise.
6337         * modules/uninorm/nfkc-tests (Files): Likewise.
6338         * modules/uninorm/nfkd-tests (Files): Likewise.
6339         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
6340         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
6341         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
6342         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
6343         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
6344         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
6345         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
6346         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
6347         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
6348         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
6349         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
6350         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
6351         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
6352         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
6353         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
6354         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
6355         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
6356         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
6357         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
6358         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
6359         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
6360         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
6361         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
6362         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
6363         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
6364         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
6365         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
6366         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
6367         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
6368         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
6369         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
6370         * modules/uniwidth/u8-width-tests (Files): Likewise.
6371         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
6372         * modules/uniwidth/u16-width-tests (Files): Likewise.
6373         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
6374         * modules/uniwidth/u32-width-tests (Files): Likewise.
6375         * modules/uniwidth/width-tests (Files): Likewise.
6376         * modules/unlink-tests (Files): Likewise.
6377         * modules/unsetenv-tests (Files): Likewise.
6378         * modules/usleep-tests (Files): Likewise.
6379         * modules/utimens-tests (Files): Likewise.
6380         * modules/utimensat-tests (Files): Likewise.
6381         * modules/vasnprintf-posix-tests (Files): Likewise.
6382         * modules/vasnprintf-tests (Files): Likewise.
6383         * modules/vasprintf-posix-tests (Files): Likewise.
6384         * modules/vasprintf-tests (Files): Likewise.
6385         * modules/vdprintf-posix-tests (Files): Likewise.
6386         * modules/vfprintf-posix-tests (Files): Likewise.
6387         * modules/vprintf-posix-tests (Files): Likewise.
6388         * modules/vsnprintf-posix-tests (Files): Likewise.
6389         * modules/vsnprintf-tests (Files): Likewise.
6390         * modules/vsprintf-posix-tests (Files): Likewise.
6391         * modules/wcrtomb-tests (Files): Likewise.
6392         * modules/wcsnrtombs-tests (Files): Likewise.
6393         * modules/wcsrtombs-tests (Files): Likewise.
6394         * modules/wctype-tests (Files): Likewise.
6395         * modules/wcwidth-tests (Files): Likewise.
6396         * modules/xmemdup0-tests (Files): Likewise.
6397         * modules/xprintf-posix-tests (Files): Likewise.
6398         * modules/xvasprintf-tests (Files): Likewise.
6399
6400 2009-12-24  Eric Blake  <ebb9@byu.net>
6401
6402         test-nanosleep: fix typo
6403         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
6404         patch.
6405         Reported by Bruno Haible.
6406
6407 2009-12-24  Bruno Haible  <bruno@clisp.org>
6408
6409         Reduce namespace pollution on glibc systems.
6410         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
6411         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
6412         systems.
6413         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
6414         <getopt.h> on glibc systems.
6415         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
6416         systems.
6417         * lib/fcntl.c: Include <unistd.h> here instead.
6418
6419 2009-12-24  Bruno Haible  <bruno@clisp.org>
6420
6421         * lib/stdlib.in.h (includes): Fix typo in today's commit.
6422
6423 2009-12-24  Eric Blake  <ebb9@byu.net>
6424
6425         tests: add signature checks
6426         * tests/signature.h (SIGNATURE_CHECK): New file.
6427         * modules/atexit-tests (Files): Use it.
6428         * modules/btowc-tests (Files): Likewise.
6429         * modules/canonicalize-lgpl-tests (Files): Likewise.
6430         * modules/ceilf-tests (Files): Likewise.
6431         * modules/ceill-tests (Files): Likewise.
6432         * modules/chown-tests (Files): Likewise.
6433         * modules/dprintf-posix-tests (Files): Likewise.
6434         * modules/dup2-tests (Files): Likewise.
6435         * modules/dup3-tests (Files): Likewise.
6436         * modules/duplocale-tests (Files): Likewise.
6437         * modules/fchdir-tests (Files): Likewise.
6438         * modules/fcntl-tests (Files): Likewise.
6439         * modules/fdopendir-tests (Files): Likewise.
6440         * modules/fflush-tests (Files): Likewise.
6441         * modules/flock-tests (Files): Likewise.
6442         * modules/floorf-tests (Files): Likewise.
6443         * modules/floorl-tests (Files): Likewise.
6444         * modules/fnmatch-tests (Files): Likewise.
6445         * modules/fopen-tests (Files): Likewise.
6446         * modules/fprintf-posix-tests (Files): Likewise.
6447         * modules/freopen-tests (Files): Likewise.
6448         * modules/frexp-nolibm-tests (Files): Likewise.
6449         * modules/frexp-tests (Files): Likewise.
6450         * modules/frexpl-nolibm-tests (Files): Likewise.
6451         * modules/frexpl-tests (Files): Likewise.
6452         * modules/fseek-tests (Files): Likewise.
6453         * modules/fseeko-tests (Files): Likewise.
6454         * modules/fsync-tests (Files): Likewise.
6455         * modules/ftell-tests (Files): Likewise.
6456         * modules/ftello-tests (Files): Likewise.
6457         * modules/futimens-tests (Files): Likewise.
6458         * modules/getaddrinfo-tests (Files): Likewise.
6459         * modules/getcwd-tests (Files): Likewise.
6460         * modules/getdelim-tests (Files): Likewise.
6461         * modules/getdtablesize-tests (Files): Likewise.
6462         * modules/getgroups-tests (Files): Likewise.
6463         * modules/gethostname-tests (Files): Likewise.
6464         * modules/getline-tests (Files): Likewise.
6465         * modules/getopt-posix-tests (Files): Likewise.
6466         * modules/gettimeofday-tests (Files): Likewise.
6467         * modules/glob-tests (Files): Likewise.
6468         * modules/iconv-tests (Files): Likewise.
6469         * modules/inet_ntop-tests (Files): Likewise.
6470         * modules/inet_pton-tests (Files): Likewise.
6471         * modules/isblank-tests (Files): Likewise.
6472         * modules/lchown-tests (Files): Likewise.
6473         * modules/ldexpl-tests (Files): Likewise.
6474         * modules/link-tests (Files): Likewise.
6475         * modules/linkat-tests (Files): Likewise.
6476         * modules/lseek-tests (Files): Likewise.
6477         * modules/lstat-tests (Files): Likewise.
6478         * modules/mbrtowc-tests (Files): Likewise.
6479         * modules/mbsinit-tests (Files): Likewise.
6480         * modules/mbsnrtowcs-tests (Files): Likewise.
6481         * modules/mbsrtowcs-tests (Files): Likewise.
6482         * modules/memchr-tests (Files): Likewise.
6483         * modules/memcmp-tests (Files): Likewise.
6484         * modules/memmem-tests (Files): Likewise.
6485         * modules/memrchr-tests (Files): Likewise.
6486         * modules/mkdir-tests (Files): Likewise.
6487         * modules/mkfifo-tests (Files): Likewise.
6488         * modules/mkfifoat-tests (Files): Likewise.
6489         * modules/mknod-tests (Files): Likewise.
6490         * modules/nanosleep-tests (Files): Likewise.
6491         * modules/nl_langinfo-tests (Files): Likewise.
6492         * modules/obstack-printf-tests (Files): Likewise.
6493         * modules/open-tests (Files): Likewise.
6494         * modules/openat-tests (Files): Likewise.
6495         * modules/perror-tests (Files): Likewise.
6496         * modules/pipe2-tests (Files): Likewise.
6497         * modules/poll-tests (Files): Likewise.
6498         * modules/popen-tests (Files): Likewise.
6499         * modules/posix_spawn-tests (Files): Likewise.
6500         * modules/posix_spawnp-tests (Files): Likewise.
6501         * modules/pread-tests (Files): Likewise.
6502         * modules/printf-posix-tests (Files): Likewise.
6503         * modules/pty-tests (Files): Likewise.
6504         * modules/random_r-tests (Files): Likewise.
6505         * modules/rawmemchr-tests (Files): Likewise.
6506         * modules/readlink-tests (Files): Likewise.
6507         * modules/remove-tests (Files): Likewise.
6508         * modules/rename-tests (Files): Likewise.
6509         * modules/renameat-tests (Files): Likewise.
6510         * modules/rmdir-tests (Files): Likewise.
6511         * modules/round-tests (Files): Likewise.
6512         * modules/roundf-tests (Files): Likewise.
6513         * modules/roundl-tests (Files): Likewise.
6514         * modules/select-tests (Files): Likewise.
6515         * modules/setenv-tests (Files): Likewise.
6516         * modules/sigaction-tests (Files): Likewise.
6517         * modules/sleep-tests (Files): Likewise.
6518         * modules/snprintf-posix-tests (Files): Likewise.
6519         * modules/snprintf-tests (Files): Likewise.
6520         * modules/sprintf-posix-tests (Files): Likewise.
6521         * modules/stat-tests (Files): Likewise.
6522         * modules/strcasestr-tests (Files): Likewise.
6523         * modules/strchrnul-tests (Files): Likewise.
6524         * modules/strerror-tests (Files): Likewise.
6525         * modules/strsignal-tests (Files): Likewise.
6526         * modules/strstr-tests (Files): Likewise.
6527         * modules/strtod-tests (Files): Likewise.
6528         * modules/strverscmp-tests (Files): Likewise.
6529         * modules/symlink-tests (Files): Likewise.
6530         * modules/symlinkat-tests (Files): Likewise.
6531         * modules/times-tests (Files): Likewise.
6532         * modules/trunc-tests (Files): Likewise.
6533         * modules/truncf-tests (Files): Likewise.
6534         * modules/truncl-tests (Files): Likewise.
6535         * modules/tsearch-tests (Files): Likewise.
6536         * modules/uname-tests (Files): Likewise.
6537         * modules/unlink-tests (Files): Likewise.
6538         * modules/unsetenv-tests (Files): Likewise.
6539         * modules/usleep-tests (Files): Likewise.
6540         * modules/utimensat-tests (Files): Likewise.
6541         * modules/vasprintf-tests (Files): Likewise.
6542         * modules/vdprintf-posix-tests (Files): Likewise.
6543         * modules/vfprintf-posix-tests (Files): Likewise.
6544         * modules/vprintf-posix-tests (Files): Likewise.
6545         * modules/vsnprintf-posix-tests (Files): Likewise.
6546         * modules/vsnprintf-tests (Files): Likewise.
6547         * modules/vsprintf-posix-tests (Files): Likewise.
6548         * modules/wcrtomb-tests (Files): Likewise.
6549         * modules/wcsnrtombs-tests (Files): Likewise.
6550         * modules/wcsrtombs-tests (Files): Likewise.
6551         * modules/wcwidth-tests (Files): Likewise.
6552         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
6553         * tests/test-isinf.c (isinf): Likewise.
6554         * tests/test-isnan.c (isnan): Likewise.
6555         * tests/test-signbit.c (signbit): Likewise.
6556         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
6557         declaration, either as macro or with correct signature.
6558         (select): Ensure function under test is declared with correct
6559         signature in correct header.
6560         * tests/test-atexit.c (atexit): Likewise.
6561         * tests/test-btowc.c (btowc): Likewise.
6562         * tests/test-canonicalize-lgpl.c (realpath)
6563         (canonicalize_file_name): Likewise.
6564         * tests/test-ceilf1.c (ceilf): Likewise.
6565         * tests/test-ceill.c (ceill): Likewise.
6566         * tests/test-chown.c (chown): Likewise.
6567         * tests/test-dprintf-posix.c (dprintf): Likewise.
6568         * tests/test-dup2.c (dup2): Likewise.
6569         * tests/test-dup3.c (dup3): Likewise.
6570         * tests/test-duplocale.c (duplocale): Likewise.
6571         * tests/test-fchdir.c (fchdir): Likewise.
6572         * tests/test-fchownat.c (fchownat): Likewise.
6573         * tests/test-fcntl.c (fcntl): Likewise.
6574         * tests/test-fdopendir.c (fdopendir): Likewise.
6575         * tests/test-fflush.c (fflush): Likewise.
6576         * tests/test-flock.c (flock): Likewise.
6577         * tests/test-floorf1.c (floorf): Likewise.
6578         * tests/test-floorl.c (floorl): Likewise.
6579         * tests/test-fnmatch.c (fnmatch): Likewise.
6580         * tests/test-fopen.c (fopen): Likewise.
6581         * tests/test-fprintf-posix.c (fprintf): Likewise.
6582         * tests/test-freopen.c (freopen): Likewise.
6583         * tests/test-frexp.c (frexp): Likewise.
6584         * tests/test-frexpl.c (frexpl): Likewise.
6585         * tests/test-fseek.c (fseek): Likewise.
6586         * tests/test-fseeko.c (fseeko): Likewise.
6587         * tests/test-fstatat.c (fstatat): Likewise.
6588         * tests/test-fsync.c (fsync): Likewise.
6589         * tests/test-ftell.c (ftell): Likewise.
6590         * tests/test-ftello.c (ftello): Likewise.
6591         * tests/test-futimens.c (futimens): Likewise.
6592         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
6593         (gai_strerror): Likewise.
6594         * tests/test-getcwd.c (getcwd): Likewise.
6595         * tests/test-getdelim.c (getdelim): Likewise.
6596         * tests/test-getdtablesize.c (getdtablesize): Likewise.
6597         * tests/test-getgroups.c (getgroups): Likewise.
6598         * tests/test-gethostname.c (gethostname): Likewise.
6599         * tests/test-getline.c (getline): Likewise.
6600         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
6601         Likewise.
6602         * tests/test-gettimeofday.c (gettimeofday): Likewise.
6603         * tests/test-glob.c (glob, globfree): Likewise.
6604         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
6605         * tests/test-inet_ntop.c (inet_ntop): Likewise.
6606         * tests/test-inet_pton.c (inet_pton): Likewise.
6607         * tests/test-isblank.c (isblank): Likewise.
6608         * tests/test-lchown.c (lchown): Likewise.
6609         * tests/test-ldexpl.c (ldexpl): Likewise.
6610         * tests/test-link.c (link): Likewise.
6611         * tests/test-linkat.c (linkat): Likewise.
6612         * tests/test-lseek.c (lseek): Likewise.
6613         * tests/test-lstat.c (lstat): Likewise.
6614         * tests/test-mbrtowc.c (mbrtowc): Likewise.
6615         * tests/test-mbsinit.c (mbsinit): Likewise.
6616         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
6617         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
6618         * tests/test-memchr.c (memchr): Likewise.
6619         * tests/test-memcmp.c (memcmp): Likewise.
6620         * tests/test-memmem.c (memmem): Likewise.
6621         * tests/test-memrchr.c (memrchr): Likewise.
6622         * tests/test-mkdir.c (mkdir): Likewise.
6623         * tests/test-mkdirat.c (mkdirat): Likewise.
6624         * tests/test-mkfifo.c (mkfifo): Likewise.
6625         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
6626         * tests/test-mknod.c (mknod): Likewise.
6627         * tests/test-nanosleep.c (nanosleep): Likewise.
6628         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
6629         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
6630         Likewise.
6631         * tests/test-open.c (open): Likewise.
6632         * tests/test-openat.c (openat): Likewise.
6633         * tests/test-perror.c (perror): Likewise.
6634         * tests/test-pipe2.c (pipe2): Likewise.
6635         * tests/test-poll.c (poll): Likewise.
6636         * tests/test-popen.c (popen, pclose): Likewise.
6637         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
6638         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
6639         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
6640         (posix_spawn_file_actions_destroy)
6641         (posix_spawn_file_actions_addclose)
6642         (posix_spawn_file_actions_addopen)
6643         (posix_spawn_file_actions_adddup2): Likewise.
6644         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
6645         * tests/test-pread.c (pread): Likewise.
6646         * tests/test-printf-posix.c (printf): Likewise.
6647         * tests/test-pty.c (openpty, forkpty): Likewise.
6648         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
6649         (random_r): Likewise.
6650         * tests/test-rawmemchr.c (rawmemchr): Likewise.
6651         * tests/test-readlink.c (readlink): Likewise.
6652         * tests/test-remove.c (remove): Likewise.
6653         * tests/test-rename.c (rename): Likewise.
6654         * tests/test-renameat.c (renameat): Likewise.
6655         * tests/test-rmdir.c (rmdir): Likewise.
6656         * tests/test-round1.c (round): Likewise.
6657         * tests/test-roundf1.c (roundf): Likewise.
6658         * tests/test-roundl.c (roundl): Likewise.
6659         * tests/test-setenv.c (setenv): Likewise.
6660         * tests/test-sigaction.c (sigaction): Likewise.
6661         * tests/test-sleep.c (sleep): Likewise.
6662         * tests/test-snprintf.c (snprintf): Likewise.
6663         * tests/test-sprintf-posix.c (sprintf): Likewise.
6664         * tests/test-stat.c (stat): Likewise.
6665         * tests/test-stpncpy.c (stpncpy): Likewise.
6666         * tests/test-strcasestr.c (strcasestr): Likewise.
6667         * tests/test-strchrnul.c (strchrnul): Likewise.
6668         * tests/test-strerror.c (strerror): Likewise.
6669         * tests/test-strsignal.c (strsignal): Likewise.
6670         * tests/test-strstr.c (strstr): Likewise.
6671         * tests/test-strtod.c (strtod): Likewise.
6672         * tests/test-strverscmp.c (strverscmp): Likewise.
6673         * tests/test-symlink.c (symlink): Likewise.
6674         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
6675         * tests/test-times.c (times): Likewise.
6676         * tests/test-trunc1.c (trunc): Likewise.
6677         * tests/test-truncf1.c (truncf): Likewise.
6678         * tests/test-truncl.c (truncl): Likewise.
6679         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
6680         Likewise.
6681         * tests/test-uname.c (uname): Likewise.
6682         * tests/test-unlink.c (unlink): Likewise.
6683         * tests/test-unlinkat.c (unlinkat): Likewise.
6684         * tests/test-unsetenv.c (unsetenv): Likewise.
6685         * tests/test-usleep.c (usleep): Likewise.
6686         * tests/test-utimensat.c (utimensat): Likewise.
6687         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
6688         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
6689         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
6690         * tests/test-vprintf-posix.c (vprintf): Likewise.
6691         * tests/test-vsnprintf.c (vsnprintf): Likewise.
6692         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
6693         * tests/test-wcrtomb.c (wcrtomb): Likewise.
6694         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
6695         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
6696         * tests/test-wcwidth.c (wcwidth): Likewise.
6697
6698         build: pull in conditional headers during GNULIB_POSIXCHECK
6699         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
6700         definitions from any conditionally-included headers.
6701         * lib/stdlib.in.h (includes): Likewise.
6702         * lib/unistd.in.h (includes): Likewise.
6703
6704 2009-12-24  Bruno Haible  <bruno@clisp.org>
6705
6706         * tests/test-argv-iter.c: Include header file being tested immediately
6707         after config.h.
6708         * tests/test-base64.c: Likewise.
6709         * tests/test-flock.c: Likewise.
6710         * tests/test-fsync.c: Likewise.
6711         * tests/test-getdate.c: Likewise.
6712         * tests/test-getndelim2.c: Likewise.
6713         * tests/test-isfinite.c: Likewise.
6714         * tests/test-isinf.c: Likewise.
6715         * tests/test-strerror.c: Likewise.
6716         * tests/test-strsignal.c: Likewise.
6717
6718 2009-12-23  Eric Blake  <ebb9@byu.net>
6719
6720         unistd: work around cygwin bug
6721         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
6722         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
6723         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
6724
6725 2009-12-23  Bruno Haible  <bruno@clisp.org>
6726
6727         localename: More tests.
6728         * tests/test-localename.c (SIZEOF): New macro.
6729         (categories): New variable.
6730         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
6731         test_locale_name_default): Add test w.r.t. thread locale.
6732         (test_locale_name_thread): New function.
6733         (main): Invoke it.
6734
6735         localename: Make aware of thread locale.
6736         * lib/localename.h (gl_locale_name_thread): New declaration.
6737         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
6738         behaviour with respect to thread locale.
6739         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
6740         <langinfo.h>, glthread/lock.h.
6741         (SIZE_BITS): New macro.
6742         (string_hash): New function.
6743         (struct hash_node): New type.
6744         (HASH_TABLE_SIZE): New macro.
6745         (struniq_hash_table, struniq_lock): New variables.
6746         (struniq): New function.
6747         (gl_locale_name_thread): New function.
6748         (gl_locale_name): Invoke it.
6749         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
6750         * modules/localename (Depends-on): Add lock.
6751         Reported by Mike Gran <spk121@yahoo.com>.
6752
6753 2009-12-23  Eric Blake  <ebb9@byu.net>
6754
6755         va-args: new module
6756         * modules/va-args: New file.
6757         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
6758         * MODULES.html.sh (Core language properties): Mention it.
6759
6760         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
6761         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
6762         named alias for __attribute__((__unused__)).
6763         * lib/chown.c: Update client.
6764         * lib/fchmodat.c: Likewise.
6765         * lib/fts.c: Likewise.
6766         * lib/getdate.y: Likewise.
6767         * lib/getgroups.c: Likewise.
6768         * lib/getopt.c: Likewise.
6769         * lib/getugroups.c: Likewise.
6770         * lib/mkdir.c: Likewise.
6771         * lib/mkfifo.c: Likewise.
6772         * lib/mkfifoat.c: Likewise.
6773         * lib/mknod.c: Likewise.
6774         * lib/mknodat.c: Likewise.
6775         * lib/readlink.c: Likewise.
6776         * lib/se-context.in.h: Likewise.
6777         * lib/se-selinux.in.h: Likewise.
6778         * lib/sockets.c: Likewise.
6779         * lib/symlink.c: Likewise.
6780         * lib/symlinkat.c: Likewise.
6781         * lib/unicodeio.c: Likewise.
6782         * lib/unistr.h: Likewise.
6783         * tests/test-areadlink.c: Likewise.
6784         * tests/test-areadlinkat.c: Likewise.
6785         * tests/test-filenamecat.c: Likewise.
6786         * tests/test-fseeko.c: Likewise.
6787         * tests/test-ftello.c: Likewise.
6788         * tests/test-getdate.c: Likewise.
6789         * tests/test-getgroups.c: Likewise.
6790         * tests/test-gethostname.c: Likewise.
6791         * tests/test-quotearg.c: Likewise.
6792         * tests/test-version-etc.c: Likewise.
6793         * tests/test-xalloc-die.c: Likewise.
6794         * tests/test-xfprintf-posix.c: Likewise.
6795         * tests/test-xprintf-posix.c: Likewise.
6796         * tests/test-xvasprintf.c: Likewise.
6797
6798         tests: avoid compiler warnings
6799         * tests/test-fcntl.c (main): Delete unused parameters.
6800         * tests/test-freopen-safer.c (main): Likewise.
6801         * tests/test-xalloc-die.c (main): Mark unused parameters.
6802         * tests/test-fseeko.c (main): Likewise.
6803         * tests/test-ftello.c (main): Likewise.
6804         * tests/test-nanosleep.c (main): Avoid declaration warning.
6805         * tests/test-sleep.c (main): Likewise.
6806         * tests/test-unsetenv.c (main): Silence warning about string
6807         literal.
6808         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
6809
6810 2009-12-23  Bruno Haible  <bruno@clisp.org>
6811
6812         * tests/test-localename.c (test_locale_name): New function, extracted
6813         from main. Also test mixed situations.
6814         (test_locale_name_posix, test_locale_name_environ,
6815         test_locale_name_default): New functions.
6816         (main): Invoke them all.
6817         * modules/localename-tests (configure.ac): Test for newlocale.
6818
6819 2009-12-23  Bruno Haible  <bruno@clisp.org>
6820
6821         unistd: Ensure getcwd gets declared before being overridden.
6822         * lib/unistd.in.h: Conditionally include <io.h>.
6823
6824 2009-12-22  Bruno Haible  <bruno@clisp.org>
6825
6826         wchar: Diagnose broken combination of glibc and gcc versions and flags.
6827         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
6828         (gl_WCHAR_H): Invoke it.
6829         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
6830         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
6831         Reported by Karl Berry <karl@freefriends.org>.
6832
6833 2009-12-22  Eric Blake  <ebb9@byu.net>
6834
6835         math, unistd: avoid redundant includes
6836         * lib/math.in.h (isnan): No need to re-include <math.h>.
6837         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
6838
6839         getsubopt: work around cygwin bug
6840         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
6841         avoid conflicting with system getsubopt.
6842         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
6843         bug.
6844
6845         getopt: synchronize from glibc
6846         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
6847         parameter order.  Adjust all callers.
6848         (_getopt_internal_r, main): Adjust quoting in error messages.
6849         Drop considerations for outdated POSIX 1003.2 error message.
6850         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
6851         callers.
6852         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
6853
6854         test-getopt: test stderr behavior
6855         * modules/getopt-posix-tests (Depends-on): Add dup2.
6856         * tests/test-getopt.c (ASSERT): Avoid stderr.
6857         (main): Move stderr to a temporary file.
6858         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
6859         Instead, add parameter to inform caller if output occurred.
6860         (test_getopt): Adjust all existing tests to expect silence, and
6861         add new tests of leading ":".
6862         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
6863         glibc shortcomings with leading "-:" or "+:" in optstring.
6864         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
6865         Likewise.
6866         * doc/posix-functions/getopt.texi (getopt): Likewise.
6867
6868         test-getopt: enhance test
6869         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
6870         supports optind=0.
6871         * tests/test-getopt.c (OPTIND_MIN): Move...
6872         * tests/test-getopt.h (OPTIND_MIN): ...here.
6873         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
6874         Require that optind=0 works, since modern BSD supports it in
6875         addition to optreset, and since coreutils expects it.
6876         (test_getopt_long_only): New test.
6877         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
6878         glibc shortcomings with 'W;', and enforcement of optind=0.
6879         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
6880         Likewise.
6881
6882 2009-12-21  Bruno Haible  <bruno@clisp.org>
6883
6884         localename: Improvements for MacOS X and Cygwin.
6885         * lib/localename.h (gl_locale_name_environ): New declaration.
6886         * lib/localename.c (gl_locale_name_environ): New function, extracted from
6887         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
6888         (gl_locale_name_posix): Invoke it.
6889         (gl_locale_name_default): Add comments. Use Windows native API also on
6890         Cygwin.
6891
6892 2009-12-21  Bruno Haible  <bruno@clisp.org>
6893
6894         Update list of Win32 locale ids.
6895         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
6896         (LANG_SAMI): Renamed from LANG_SAAMI.
6897         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
6898         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
6899         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
6900         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
6901         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
6902         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
6903         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
6904         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
6905         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
6906         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
6907         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
6908         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
6909         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
6910         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
6911         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
6912         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
6913         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
6914         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
6915         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
6916         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
6917         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
6918         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
6919         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
6920         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
6921         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
6922         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
6923         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
6924         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
6925         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
6926         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
6927         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
6928         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
6929         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
6930         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
6931         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
6932         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
6933         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
6934         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
6935         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
6936         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
6937         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
6938         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
6939         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
6940         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
6941         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
6942         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
6943         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
6944         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
6945         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
6946         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
6947         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
6948         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
6949         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
6950         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
6951         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
6952         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
6953         Add more languages and countries for Sami, Sorbian. Add more countries
6954         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
6955         for Pashto. Change country for Syriac, Tswana.
6956
6957 2009-12-21  Eric Blake  <ebb9@byu.net>
6958
6959         test-utimens: avoid spurious failure
6960         * tests/test-chown.h (nap): Factor...
6961         * tests/nap.h: ...into new file.
6962         * tests/test-lchown.h (nap): Avoid duplication.
6963         * tests/test-utimens-common.h (nap): Use shared implementation,
6964         necessary on file systems with 1-second resolution.
6965         * modules/chown-tests (Files): Include new file.
6966         * modules/fdutimensat-tests (Files): Likewise.
6967         * modules/futimens-tests (Files): Likewise.
6968         * modules/lchown-tests (Files): Likewise.
6969         * modules/openat-tests (Files): Likewise.
6970         * modules/utimens-tests (Files): Likewise.
6971         * modules/utimensat-tests (Files): Likewise.
6972
6973 2009-12-19  Eric Blake  <ebb9@byu.net>
6974
6975         futimens, utimensat: work around Linux bug
6976         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
6977         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6978         * lib/utimensat.c (rpl_utimensat): Work around it.
6979         * lib/futimens.c (rpl_futimens): Adjust comment.
6980
6981         utimens: work around Linux ctime bug
6982         * lib/utimens.c (detect_ctime_bug): New helper function.
6983         (update_timespec): Differentiate between workaround needed for
6984         this bug vs. what is needed for systems that lack utimensat.
6985         (fdutimens, lutimens): Work around bug.
6986
6987         utimens: check for ctime update
6988         * tests/test-utimens-common.h (check_ctime): Define.
6989         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
6990         * tests/test-futimens.h (test_futimens): Likewise.
6991         * tests/test-lutimens.h (test_lutimens): Likewise.
6992         * doc/posix-functions/futimens.texi (futimens): Document the bug.
6993         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
6994
6995 2009-12-19  Bruno Haible  <bruno@clisp.org>
6996
6997         dprintf-posix: Check against memory leak fixed on 2009-12-15.
6998         * tests/test-dprintf-posix2.sh: New file.
6999         * tests/test-dprintf-posix2.c: New file.
7000         * modules/dprintf-posix-tests (Files): Add them.
7001         (configure.ac): Check for getrlimit and setrlimit.
7002         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7003
7004 2009-12-19  Bruno Haible  <bruno@clisp.org>
7005
7006         fprintf-posix: Check against memory leak fixed on 2009-12-15.
7007         * tests/test-fprintf-posix3.sh: New file.
7008         * tests/test-fprintf-posix3.c: New file.
7009         * modules/fprintf-posix-tests (Files): Add them.
7010         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
7011
7012 2009-12-19  Eric Blake  <ebb9@byu.net>
7013
7014         dirfd: fix prototype
7015         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
7016         * lib/dirfd.c (dirfd): Likewise.
7017
7018         canonicalize: reduce memory usage
7019         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
7020         allocation to size.
7021         Reported by Solar Designer <solar@openwall.com>.
7022
7023 2009-12-19  Bruno Haible  <bruno@clisp.org>
7024
7025         New module attribute 'Applicability'.
7026         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
7027         * gnulib-tool: New option --extract-applicability.
7028         (func_usage): Document it.
7029         (sed_extract_prog): Recognize it.
7030         (func_get_applicability): New function.
7031         (func_import): Generalize handling of 'link-warning' module.
7032         * modules/link-warning (Applicability): New section.
7033         * modules/arg-nonnull (Applicability): New section.
7034         Repoted by Simon Josefsson <simon@josefsson.org>.
7035
7036 2009-12-19  Bruno Haible  <bruno@clisp.org>
7037
7038         fflush: tweak
7039         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
7040         * lib/fseeko.c (rpl_fseeko): Likewise.
7041
7042 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
7043
7044         * lib/gl_list.h: Fix typo in comment.
7045
7046 2009-12-16  Eric Blake  <ebb9@byu.net>
7047
7048         fcntl: use to simplify other modules
7049         * modules/cloexec (Depends-on): Add fcntl.
7050         * modules/fchdir (Depends-on): Likewise.
7051         * modules/fd-safer-flag (Depends-on): Likewise.
7052         * modules/unistd-safer (Depends-on): Likewise.
7053         * modules/dup3 (configure.ac): Set module indicator.
7054         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
7055         missing.
7056         * lib/fchdir.c (_gl_register_dup): Fix comment.
7057         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
7058         * lib/dup-safer.c (dup_safer): Likewise.
7059         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
7060         * lib/dup3.c (dup3): Likewise.
7061         * tests/test-fchdir.c (main): Enhance test.
7062         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
7063
7064         fcntl: port portions of fcntl to mingw
7065         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
7066         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
7067         replacement for mingw.
7068         * modules/fcntl (Description): Update.
7069         (Depends-on): Add dup2.
7070         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
7071         * modules/fcntl-h (Makefile.am): Substitute it.
7072         * lib/fcntl.in.h (fcntl): Update declaration.
7073         (F_DUPFD, F_GETFD): New macros, when needed.
7074         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7075         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
7076         * tests/test-fcntl.c (check_flags, main): Enhance test for items
7077         we now guarantee.
7078
7079         fcntl: work around cygwin bug in F_DUPFD
7080         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
7081         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
7082         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
7083         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
7084         * doc/posix-functions/fcntl.texi (fcntl): Document it.
7085
7086         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
7087         * modules/fcntl (Files): List new files.
7088         (configure.ac): Run a test.
7089         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
7090         * lib/fcntl.c (rpl_fcntl): Likewise.
7091         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
7092         (gl_FCNTL_H): Always replace fcntl.h.
7093         * modules/fcntl-h (Makefile.am): Substitute witnesses.
7094         * lib/fcntl.in.h (fcntl): Declare replacement.
7095         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
7096         needed, plus a witness.
7097         * doc/posix-functions/fcntl.texi (fcntl): Document this.
7098         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7099         * tests/test-fcntl.c: New file.
7100         * modules/fcntl-tests: Likewise.
7101
7102         binary-io: avoid potential compilation warning
7103         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
7104         directives.
7105
7106         fflush: avoid compilation error on NetBSD
7107         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
7108         between off_t and fpos_t, since the latter is sometimes a struct.
7109         * lib/fseeko.c (rpl_fseeko): Likewise.
7110         Reported by Alexander Nasonov <alnsn@yandex.ru>.
7111
7112 2009-12-15  Eric Blake  <ebb9@byu.net>
7113
7114         fcntl-h, stdio, sys_ioctl: fix declarations
7115         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
7116         function must not take arguments.
7117         * lib/sys_ioctl.in.h (ioctl): Likewise.
7118         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
7119         (open): Add a link warning.
7120
7121 2009-12-15  Jim Meyering  <meyering@redhat.com>
7122
7123         areadlink, areadlink-with-size: relax license to LGPLv2+
7124         * modules/areadlink (License): Relax to LGPLv2+.
7125         * modules/areadlink-with-size (License): Likewise.
7126
7127 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
7128             Bruno Haible  <bruno@clisp.org>
7129
7130         *printf: Fix memory leak.
7131         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
7132         * lib/vfprintf.c (vfprintf): Likewise.
7133         * lib/dprintf.c (dprintf): Likewise.
7134         * lib/vdprintf.c (vdprintf): Likewise.
7135
7136 2009-12-14  Eric Blake  <ebb9@byu.net>
7137
7138         accept4: adjust module dependencies
7139         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
7140
7141         utimens: one more try at avoiding compiler warning
7142         * lib/utimens.c (lutimens): Lower scope of result.
7143
7144 2009-12-13  Bruno Haible  <bruno@clisp.org>
7145
7146         Move the malloc checking from module 'list' to new module 'xlist'.
7147         * modules/xlist: New file.
7148         * lib/gl_xlist.h: New file.
7149         * lib/gl_xlist.c: New file.
7150         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
7151         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
7152         gl_list_add_last, gl_list_add_before, gl_list_add_after,
7153         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
7154         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
7155         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
7156         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
7157         gl_sortedlist_nx_add): New declarations.
7158         (struct gl_list_implementation): Rename and change methods accordingly.
7159         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
7160         (gl_list_nx_create): Renamed from gl_list_create.
7161         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7162         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7163         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7164         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7165         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7166         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7167         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7168         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7169         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
7170         gl_list_create_empty.
7171         (gl_list_nx_create): Renamed from gl_list_create.
7172         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
7173         (gl_list_nx_set_at): Renamed from gl_list_set_at.
7174         (gl_list_nx_add_first): Renamed from gl_list_add_first.
7175         (gl_list_nx_add_last): Renamed from gl_list_add_last.
7176         (gl_list_nx_add_before): Renamed from gl_list_add_before.
7177         (gl_list_nx_add_after): Renamed from gl_list_add_after.
7178         (gl_list_nx_add_at): Renamed from gl_list_add_at.
7179         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
7180         * lib/gl_array_list.c: Don't include xalloc.h.
7181         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
7182         NULL upon out-of-memory.
7183         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
7184         out-of-memory.
7185         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
7186         Change return type to 'int'.
7187         (gl_array_nx_set_at): Renamed from gl_array_set_at.
7188         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7189         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
7190         upon out-of-memory.
7191         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
7192         upon out-of-memory.
7193         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
7194         upon out-of-memory.
7195         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
7196         upon out-of-memory.
7197         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
7198         out-of-memory.
7199         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
7200         Update.
7201         (gl_array_list_implementation): Update.
7202         * lib/gl_carray_list.c: Don't include xalloc.h.
7203         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
7204         Return NULL upon out-of-memory.
7205         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
7206         out-of-memory.
7207         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
7208         Change return type to 'int'.
7209         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
7210         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
7211         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
7212         upon out-of-memory.
7213         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
7214         upon out-of-memory.
7215         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
7216         out-of-memory.
7217         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
7218         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
7219         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
7220         Update.
7221         (gl_carray_list_implementation): Update.
7222         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
7223         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
7224         gl_linked_create_empty. Return NULL upon out-of-memory.
7225         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
7226         out-of-memory.
7227         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
7228         Change return type to 'int'. Return -1 upon out-of-memory.
7229         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
7230         out-of-memory.
7231         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
7232         upon out-of-memory.
7233         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
7234         upon out-of-memory.
7235         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
7236         NULL upon out-of-memory.
7237         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
7238         upon out-of-memory.
7239         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
7240         out-of-memory.
7241         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
7242         Update.
7243         * lib/gl_linked_list.c: Don't include xalloc.h.
7244         (gl_linked_list_implementation): Update.
7245         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
7246         (add_to_bucket): Change return type to 'int'.
7247         (gl_linkedhash_list_implementation): Update.
7248         * lib/gl_anytree_list1.h (free_subtree): New function.
7249         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
7250         gl_tree_create_empty. Return NULL upon out-of-memory.
7251         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
7252         Change return type to 'int'. Return -1 upon out-of-memory.
7253         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
7254         out-of-memory.
7255         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
7256         (gl_tree_remove_node): New function, moved here from
7257         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
7258         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
7259         Update.
7260         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
7261         malloc, not xmalloc. Return NULL upon out-of-memory.
7262         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7263         out-of-memory.
7264         (gl_tree_remove_node_from_tree): New function, extracted from
7265         gl_tree_remove_node.
7266         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7267         upon out-of-memory.
7268         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7269         out-of-memory.
7270         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7271         upon out-of-memory.
7272         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7273         upon out-of-memory.
7274         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7275         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
7276         not xmalloc. Return NULL upon out-of-memory.
7277         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
7278         out-of-memory.
7279         (gl_tree_remove_node_from_tree): New function, extracted from
7280         gl_tree_remove_node.
7281         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
7282         upon out-of-memory.
7283         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
7284         out-of-memory.
7285         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
7286         upon out-of-memory.
7287         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
7288         upon out-of-memory.
7289         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
7290         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
7291         gl_anytree_list1.h before gl_anyavltree_list2.h.
7292         (gl_avltree_list_implementation): Update.
7293         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
7294         gl_anytree_list1.h before gl_anyavltree_list2.h.
7295         (gl_rbtree_list_implementation): Update.
7296         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
7297         Change return type to 'int'. Return -1 upon out-of-memory. Use
7298         __builtin_expect.
7299         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
7300         (gl_avltreehash_list_implementation): Update.
7301         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
7302         (gl_rbtreehash_list_implementation): Update.
7303         * modules/array-list (Depends-on): Remove xalloc.
7304         * modules/carray-list (Depends-on): Likewise.
7305         * modules/linked-list (Depends-on): Likewise.
7306         * modules/linkedhash-list (Depends-on): Likewise.
7307         * modules/avltree-list (Depends-on): Likewise.
7308         * modules/rbtree-list (Depends-on): Likewise.
7309         * modules/avltreehash-list (Depends-on): Likewise.
7310         * modules/rbtreehash-list (Depends-on): Likewise.
7311
7312         * modules/xsublist: New file.
7313         * lib/gl_xsublist.h: New file.
7314         * lib/gl_xsublist.c: New file.
7315         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
7316         (gl_sublist_nx_create): New declaration.
7317         * lib/gl_sublist.c: Don't include xalloc.h.
7318         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
7319         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
7320         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
7321         Change return type to 'int'. Return -1 upon out-of-memory.
7322         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
7323         upon out-of-memory.
7324         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
7325         NULL upon out-of-memory.
7326         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
7327         upon out-of-memory.
7328         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
7329         NULL upon out-of-memory.
7330         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
7331         NULL upon out-of-memory.
7332         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
7333         upon out-of-memory.
7334         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
7335         (gl_sublist_list_implementation): Update.
7336         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
7337         upon out-of-memory.
7338         * modules/sublist (Depends-on): Remove xalloc.
7339
7340         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
7341         * tests/test-carray_list.c: Likewise.
7342         * tests/test-linked_list.c: Likewise.
7343         * tests/test-linkedhash_list.c: Likewise.
7344         * tests/test-avltree_list.c: Likewise.
7345         * tests/test-rbtree_list.c: Likewise.
7346         * tests/test-avltreehash_list.c: Likewise.
7347         * tests/test-rbtreehash_list.c: Likewise.
7348         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
7349         * modules/carray-list-tests (Makefile.am): Likewise.
7350         * modules/linked-list-tests (Makefile.am): Likewise.
7351         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7352         * modules/avltree-list-tests (Makefile.am): Likewise.
7353         * modules/rbtree-list-tests (Makefile.am): Likewise.
7354         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7355         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7356
7357         * NEWS: Mention the changes.
7358
7359         * lib/clean-temp.c: Include gl_xlist.h.
7360         * modules/clean-temp (Depends-on): Add xlist.
7361
7362         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
7363         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
7364
7365         * tests/test-array_oset.c: Include gl_xlist.h.
7366         * modules/array-oset-tests (Depends-on): Add xlist.
7367
7368         Reported by José E. Marchesi <jemarch@gnu.org>.
7369
7370 2009-12-13  Bruno Haible  <bruno@clisp.org>
7371
7372         Move the malloc checking from module 'oset' to new module 'xoset'.
7373         * modules/xoset: New file.
7374         * lib/gl_xoset.h: New file.
7375         * lib/gl_xoset.c: New file.
7376         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
7377         declarations.
7378         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
7379         (struct gl_oset_implementation): Rename and change methods accordingly.
7380         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
7381         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7382         'int'. Mark as __warn_unused_result__.
7383         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
7384         gl_oset_create_empty.
7385         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
7386         'int'.
7387         * lib/gl_array_oset.c: Don't include xalloc.h.
7388         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
7389         malloc, not xmalloc.
7390         (grow): Change return type to 'int'. Don't call xalloc_die.
7391         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
7392         to 'int'.
7393         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
7394         'int'.
7395         (gl_array_oset_implementation): Update.
7396         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
7397         gl_tree_create_empty.
7398         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
7399         'int'.
7400         * lib/gl_avltree_oset.c: Don't include xalloc.h.
7401         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7402         xmalloc.
7403         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7404         not xmalloc.
7405         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7406         xmalloc.
7407         (gl_avltree_oset_implementation): Update.
7408         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
7409         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
7410         xmalloc.
7411         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
7412         not xmalloc.
7413         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
7414         xmalloc.
7415         (gl_rbtree_oset_implementation): Update.
7416         * modules/array-oset (Depends-on): Remove xalloc.
7417         * modules/avltree-oset (Depends-on): Likewise.
7418         * modules/rbtree-oset (Depends-on): Likewise.
7419         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
7420         * tests/test-avltree_oset.c: Likewise.
7421         * tests/test-rbtree_oset.c: Likewise.
7422         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
7423         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
7424         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7425         * NEWS: Mention the change.
7426
7427 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
7428
7429         maint.mk: allow a project to override release-prep commands
7430         * top/maint.mk (alpha, beta, stable): Move release-preparatory
7431         commands into a new rule.
7432         (release-prep): New rule.
7433         (release-prep-hook): New overridable variable.
7434
7435 2009-12-13  Bruno Haible  <bruno@clisp.org>
7436
7437         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
7438
7439 2009-12-13  Jim Meyering  <meyering@redhat.com>
7440
7441         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
7442         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
7443
7444 2009-12-12  Bruno Haible  <bruno@clisp.org>
7445
7446         duplocale: Tweak.
7447         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
7448
7449 2009-12-12  Karl Berry  <karl@gnu.org>
7450
7451         * config/srclist.txt (strtoll.c): tab changes, no more sync.
7452
7453 2009-12-12  Bruno Haible  <bruno@clisp.org>
7454
7455         * m4/po.m4: Undo incorrect untabification.
7456
7457 2009-12-12  Bruno Haible  <bruno@clisp.org>
7458
7459         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
7460         * modules/c-strtod (Depends-on): Add locale.
7461         * modules/c-strtold (Depends-on): Likewise.
7462
7463 2009-12-12  Bruno Haible  <bruno@clisp.org>
7464
7465         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
7466
7467 2009-12-11  Eric Blake  <ebb9@byu.net>
7468
7469         setenv: relax requirement in light of POSIX ruling
7470         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
7471         not NULL.
7472         * tests/test-setenv.c (main): Relax test.
7473         * tests/test-unsetenv.c (main): Likewise.
7474         * doc/posix-functions/setenv.texi (setenv): Document this.
7475         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
7476
7477 2009-12-11  Bruno Haible  <bruno@clisp.org>
7478
7479         New module 'fd-safer-flag'.
7480         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
7481         * lib/dup-safer.c (dup_safer_flag): Remove function.
7482         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
7483         * lib/fd-safer.c (fd_safer_flag): Remove function.
7484         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
7485         * modules/cloexec (configure.ac): Drop indicator macro.
7486         * modules/fd-safer-flag: New file.
7487         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
7488         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
7489         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
7490
7491 2009-12-11  Bruno Haible  <bruno@clisp.org>
7492
7493         Tests for module 'nl_langinfo'.
7494         * modules/nl_langinfo-tests: New file.
7495         * tests/test-nl_langinfo.sh: New file.
7496         * tests/test-nl_langinfo.c: New file.
7497
7498         New module 'nl_langinfo'.
7499         * lib/nl_langinfo.c: New file.
7500         * m4/nl_langinfo.m4: New file.
7501         * modules/nl_langinfo: New file.
7502         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
7503
7504 2009-12-11  Bruno Haible  <bruno@clisp.org>
7505
7506         Tests for module 'langinfo'.
7507         * modules/langinfo-tests: New file.
7508         * tests/test-langinfo.c: New file.
7509
7510         New module 'langinfo'.
7511         * lib/langinfo.in.h: New file.
7512         * m4/langinfo_h.m4: New file.
7513         * modules/langinfo: New file.
7514         * doc/posix-headers/langinfo.texi: Mention the new module.
7515
7516 2009-12-11  Bruno Haible  <bruno@clisp.org>
7517
7518         * lib/config.charset: Untabify.
7519
7520 2009-12-11  Bruno Haible  <bruno@clisp.org>
7521
7522         * modules/unistd-safer (configure.ac): Drop indicator macro.
7523
7524 2009-12-11  Bruno Haible  <bruno@clisp.org>
7525
7526         Move pipe2-safer code to its own file.
7527         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
7528         * lib/pipe-safer.c (pipe2_safer): Remove function.
7529         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
7530         (Makefile.am): Add it to lib_SOURCES.
7531
7532 2009-12-10  Bruno Haible  <bruno@clisp.org>
7533
7534         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
7535
7536 2009-12-10  Bruno Haible  <bruno@clisp.org>
7537
7538         Declare which arguments expect non-NULL values, for GCC and clang.
7539         * build-aux/arg-nonnull.h: New file.
7540         * modules/arg-nonnull: New file.
7541         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
7542         (inet_ntop, inet_pton): Use it.
7543         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
7544         (closedir, dirfd, opendir, scandir, alphasort): Use it.
7545         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
7546         (open, openat): Use it.
7547         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
7548         (fnmatch): Use it.
7549         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
7550         (getopt, getopt_long, getopt_long_only): Use it.
7551         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
7552         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
7553         Use it.
7554         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
7555         (iconv_open): Use it.
7556         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
7557         (strtoimax, strtoumax): Use it.
7558         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
7559         (duplocale): Use it.
7560         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
7561         (frexp, frexpl): Use it.
7562         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
7563         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
7564         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
7565         (tsearch, tfind, tdelete, twalk): Use it.
7566         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
7567         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7568         sigpending): Use it.
7569         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
7570         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7571         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7572         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7573         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7574         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7575         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7576         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7577         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7578         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7579         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7580         Use it.
7581         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
7582         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
7583         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
7584         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
7585         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
7586         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
7587         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
7588         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
7589         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
7590         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
7591         strtoull, unsetenv): Use it.
7592         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
7593         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
7594         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
7595         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
7596         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
7597         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
7598         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
7599         (strcasecmp, strncasecmp): Use it.
7600         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
7601         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
7602         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
7603         rpl_setsockopt): Use it.
7604         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
7605         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
7606         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
7607         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
7608         (gettimeofday): Use it.
7609         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
7610         (times): Use it.
7611         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
7612         (uname): Use it.
7613         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
7614         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
7615         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
7616         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
7617         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
7618         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
7619         unlinkat, write): Use it.
7620         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
7621         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
7622         * lib/argv-iter.h: Include arg-nonnull.h.
7623         (_ATTRIBUTE_NONNULL_): Remove macro.
7624         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
7625         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
7626         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
7627         optimization.
7628         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
7629         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
7630         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
7631         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
7632         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
7633         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
7634         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
7635         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
7636         * modules/arpa_inet (Depends-on): Add arg-nonnull.
7637         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
7638         * modules/dirent (Depends-on): Add arg-nonnull.
7639         (Makefile.am): Insert arg-nonnull.h into dirent.h.
7640         * modules/fcntl-h (Depends-on): Add arg-nonnull.
7641         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
7642         * modules/fnmatch (Depends-on): Add arg-nonnull.
7643         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
7644         * modules/getopt-posix (Depends-on): Add arg-nonnull.
7645         (Makefile.am): Insert arg-nonnull.h into getopt.h.
7646         * modules/glob (Depends-on): Add arg-nonnull.
7647         (Makefile.am): Insert arg-nonnull.h into glob.h.
7648         * modules/iconv_open (Depends-on): Add arg-nonnull.
7649         (Makefile.am): Insert arg-nonnull.h into iconv.h.
7650         * modules/inttypes (Depends-on): Add arg-nonnull.
7651         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
7652         * modules/locale (Depends-on): Add arg-nonnull.
7653         (Makefile.am): Insert arg-nonnull.h into locale.h.
7654         * modules/math (Depends-on): Add arg-nonnull.
7655         (Makefile.am): Insert arg-nonnull.h into math.h.
7656         * modules/netdb (Depends-on): Add arg-nonnull.
7657         (Makefile.am): Insert arg-nonnull.h into netdb.h.
7658         * modules/search (Depends-on): Add arg-nonnull.
7659         (Makefile.am): Insert arg-nonnull.h into search.h.
7660         * modules/signal (Depends-on): Add arg-nonnull.
7661         (Makefile.am): Insert arg-nonnull.h into signal.h.
7662         * modules/spawn (Depends-on): Add arg-nonnull.
7663         (Makefile.am): Insert arg-nonnull.h into spawn.h.
7664         * modules/stdio (Depends-on): Add arg-nonnull.
7665         (Makefile.am): Insert arg-nonnull.h into stdio.h.
7666         * modules/stdlib (Depends-on): Add arg-nonnull.
7667         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
7668         * modules/string (Depends-on): Add arg-nonnull.
7669         (Makefile.am): Insert arg-nonnull.h into string.h.
7670         * modules/strings (Depends-on): Add arg-nonnull.
7671         (Makefile.am): Insert arg-nonnull.h into strings.h.
7672         * modules/sys_socket (Depends-on): Add arg-nonnull.
7673         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
7674         * modules/sys_stat (Depends-on): Add arg-nonnull.
7675         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
7676         * modules/sys_time (Depends-on): Add arg-nonnull.
7677         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
7678         * modules/sys_times (Depends-on): Add arg-nonnull.
7679         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
7680         * modules/sys_utsname (Depends-on): Add arg-nonnull.
7681         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
7682         * modules/time (Depends-on): Add arg-nonnull.
7683         (Makefile.am): Insert arg-nonnull.h into time.h.
7684         * modules/unistd (Depends-on): Add arg-nonnull.
7685         (Makefile.am): Insert arg-nonnull.h into unistd.h.
7686         * modules/wchar (Depends-on): Add arg-nonnull.
7687         (Makefile.am): Insert arg-nonnull.h into wchar.h.
7688         * modules/argv-iter (Depends-on): Add arg-nonnull.
7689         * tests/test-canonicalize.c (null_ptr): New function.
7690         (main): Use it.
7691         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
7692         (main): Use it.
7693         * tests/test-memmem.c (null_ptr): New function.
7694         (main): Use it.
7695         Reported by Jim Meyering.
7696
7697 2009-12-10  Bruno Haible  <bruno@clisp.org>
7698
7699         Use spaces for indentation, not tabs.
7700         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
7701         * m4/*.m4: Untabify.
7702         * build-aux/*.h: Untabify.
7703         * tests/**/*.[hc]: Untabify.
7704         * README: New section "Indent with spaces, not TABs", based on
7705         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
7706         * NEWS: Mention the change.
7707
7708 2009-12-10  Bruno Haible  <bruno@clisp.org>
7709
7710         pty test: Fix link error.
7711         * modules/pty-tests (Makefile.am): Add the default LDADD value to
7712         test_pty_LDADD.
7713
7714 2009-12-07  Simon Josefsson  <simon@josefsson.org>
7715
7716         * modules/pty: New file.
7717         * modules/pty-tests: New file.
7718         * m4/pty.m4: New file.
7719         * tests/test-pty.c: New file.
7720         * doc/glibc-headers/pty.texi: Modified.
7721         * doc/glibc-functions/forkpty.texi: Modified.
7722         * doc/glibc-functions/openpty.texi: Modified.
7723
7724 2009-12-10  Bruno Haible  <bruno@clisp.org>
7725
7726         Avoid syntax error in C++ mode.
7727         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
7728
7729 2009-12-10  Bruno Haible  <bruno@clisp.org>
7730
7731         Use sed with option -e.
7732         * gnulib-tool (func_version, func_emit_copyright_notice,
7733         func_emit_initmacro_end, func_import, func_create_testdir): Pass
7734         option -e to sed.
7735         * modules/link-warning (Makefile.am): Likewise.
7736
7737 2009-12-10  Jim Meyering  <meyering@redhat.com>
7738
7739         mgetgroups: do not write bytes beyond end of malloc'd buffer
7740         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
7741         username, we call getgroups with a one-element-shorter buffer,
7742         but still told it the length was original, max_n_groups.
7743
7744 2009-12-09  Eric Blake  <ebb9@byu.net>
7745
7746         cloexec: relax license
7747         * modules/cloexec (Maintainer): Add myself.
7748         (License): Use LGPL, not GPL.
7749
7750         link-warning: optimize generation
7751         * modules/link-warning (Makefile.am): Reduce process usage.
7752
7753 2009-12-09  Bruno Haible  <bruno@clisp.org>
7754
7755         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
7756         workaround was added on 2009-11-17.
7757
7758 2009-12-09  Jim Meyering  <meyering@redhat.com>
7759             Bruno Haible  <bruno@clisp.org>
7760
7761         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
7762         * modules/link-warning (Makefile.am): Make the comment-removing sed
7763         command more robust in the face of bootstrap-prepended comment lines.
7764
7765 2009-12-09  Bruno Haible  <bruno@clisp.org>
7766
7767         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
7768         most one group.
7769
7770 2009-12-09  Simon Josefsson <simon@josefsson.org>
7771             Bruno Haible  <bruno@clisp.org>
7772
7773         * build-aux/link-warning.h: Add copyright notice.
7774         * modules/link-warning (Makefile.am): Generate link-warning.h from
7775         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
7776         * NEWS: Mention change in link-warning module.
7777         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
7778         * modules/dirent (Makefile.am): Add dependency to dirent.h.
7779         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
7780         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
7781         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
7782         * modules/math (Makefile.am): Add dependency to math.h.
7783         * modules/search (Makefile.am): Add dependency to search.h.
7784         * modules/signal (Makefile.am): Add dependency to signal.h.
7785         * modules/spawn (Makefile.am): Add dependency to spawn.h.
7786         * modules/stdio (Makefile.am): Add dependency to stdio.h.
7787         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
7788         * modules/string (Makefile.am): Add dependency to string.h.
7789         * modules/strings (Makefile.am): Add dependency to strings.h.
7790         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
7791         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
7792         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
7793         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
7794         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
7795         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
7796         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
7797         * modules/unistd (Makefile.am): Add dependency to unistd.h.
7798         * modules/wchar (Makefile.am): Add dependency to wchar.h.
7799
7800 2009-12-09  Bruno Haible  <bruno@clisp.org>
7801
7802         fchdir: Optimize away rpl_fstat when possible.
7803         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
7804         REPLACE_OPEN_DIRECTORY.
7805         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
7806
7807 2009-12-09  Bruno Haible  <bruno@clisp.org>
7808
7809         * lib/fchdir.c: Update comment.
7810
7811 2009-12-09  Bruno Haible  <bruno@clisp.org>
7812
7813         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
7814
7815 2009-12-08  Eric Blake  <ebb9@byu.net>
7816
7817         fchdir: avoid memory leak on re-registration.
7818         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
7819
7820 2009-12-08  Jim Meyering  <meyering@redhat.com>
7821
7822         init.sh: avoid Solaris 10 /bin/sh portability problem
7823         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
7824         sourced script:
7825           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
7826           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
7827           bar
7828         tests/init.sh relied on that, accepting a --set-path=DIR argument,
7829         and two tests used that idiom.
7830         * tests/init.sh: Update suggested usage comments.
7831         (path_prepend_): New function, to be used in place
7832         of the --src-path=DIR option.
7833         (setup_): Move PATH-prepending code into path_prepend_.
7834         * tests/test-pread.sh: Adapt to new usage.
7835         * tests/test-xalloc-die.sh: Likewise.
7836
7837 2009-12-08  Simon Josefsson  <simon@josefsson.org>
7838
7839         * doc/gnulib.texi (Glibc pty.h): Add.
7840         * doc/glibc-functions/forkpty.texi: Add.
7841         * doc/glibc-functions/openpty.texi: Add.
7842         Suggested by Bruno Haible.
7843
7844 2009-12-08  Eric Blake  <ebb9@byu.net>
7845
7846         fchdir: fix logic bugs
7847         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
7848         * tests/test-fchdir.c (main): Enhance test.
7849         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
7850         is in use.
7851
7852         dup2: fix logic bugs
7853         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
7854         REPLACE_DUP2 to decide when rpl_dup2 is needed.
7855         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
7856         exists.
7857         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
7858
7859 2009-12-07  Eric Blake  <ebb9@byu.net>
7860
7861         unlink: fix m4 detection
7862         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
7863
7864         unistd-safer: add unit test
7865         * modules/unistd-safer-tests: New file.
7866         * tests/test-dup-safer.c: Likewise.
7867         * tests/test-cloexec.c (setmode): Avoid compiler warning.
7868         * tests/test-dup2.c (setmode): Likewise.
7869         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
7870
7871         cloexec: preserve text vs. binary across dup_cloexec
7872         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
7873         mode.
7874         * modules/dup2-tests (Depends-on): Add binary-io.
7875         * modules/cloexec-tests (Depends-on): Likewise.
7876         * tests/test-dup2.c (setmode, is_mode): New helpers.
7877         (main): Add tests that translation mode is preserved.
7878         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
7879         Reported by Bruno Haible.
7880
7881         mgetgroups: reduce duplicate listings
7882         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
7883         resulting array.
7884         * tests/test-chown.h (test_chown): Simplify client.
7885         * tests/test-lchown.h (test_lchown): Likewise.
7886
7887 2009-12-06  Bruno Haible  <bruno@clisp.org>
7888
7889         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
7890         value.
7891
7892 2009-12-06  Bruno Haible  <bruno@clisp.org>
7893
7894         * lib/progname.c: Include stdio.h, stdlib.h.
7895         (set_program_name): Reject a NULL argument.
7896
7897 2009-12-05  Eric Blake  <ebb9@byu.net>
7898
7899         pipe2-safer: new module
7900         * modules/pipe2-safer: New file.
7901         * lib/unistd-safer.h (pipe2_safer): New prototype.
7902         * lib/unistd--.h (pipe2): New wrapper.
7903         * lib/pipe-safer.c (pipe2_safer): New function.
7904         * modules/pipe (Depends-on): Add pipe2-safer.
7905         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
7906
7907         stdlib-safer: preserve cloexec flag for mkostemp[s]
7908         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
7909         fd_safer_flag.
7910
7911         unistd-safer: allow preservation of cloexec status via flag
7912         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
7913         prototypes.
7914         * lib/dup-safer.c (dup_safer_flag): New function.
7915         * lib/fd-safer.c (fd_safer_flag): Likewise.
7916         * modules/cloexec (configure.ac): Set witness.
7917
7918         test-dup2: enhance test
7919         * modules/dup2-tests (Depends-on): Add cloexec.
7920         * tests/test-dup2.c (main): Enhance test.
7921
7922         cloexec: add dup_cloexec
7923         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
7924         header and comments.
7925         * lib/cloexec.c (set_cloexec_flag): Add comments.
7926         (dup_cloexec): New function, with mingw implementation borrowed
7927         from...
7928         * lib/w32spawn.h (dup_noinherit): ...here.
7929         * modules/execute (Depends-on): Add cloexec.
7930         * modules/pipe (Depends-on): Likewise.
7931         * modules/cloexec (Depends-on): Add dup2.
7932         * modules/cloexec-tests (Files): New file.
7933         * tests/test-cloexec.c: Likewise.
7934
7935         test-xalloc-die: fix test for mingw
7936         * modules/xalloc-die-tests (Files): Add tests/init.sh.
7937         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
7938         directory and .exe suffix off argv[0] output.
7939
7940         test-fseeko: fix test for mingw
7941         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
7942         than undefining fseek, so test will pass on mingw.
7943
7944 2009-12-05  Bruno Haible  <bruno@clisp.org>
7945
7946         * lib/progname.h (set_program_name): Clarify specification.
7947         * lib/progname.c (set_program_name): Likewise.
7948         Reported by Jim Meyering.
7949
7950 2009-12-05  Jim Meyering  <meyering@redhat.com>
7951
7952         maint.mk: backslash-escape parens in default regexp
7953         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
7954         backslash-escape the literal parentheses.
7955
7956         maint.mk: news-date-check: use grep -E
7957         * top/maint.mk (today): Define a Make variable, not a...
7958         (news-date-check): ...shell variable.
7959         (news-date-regexp): Use the Make variable.
7960         Use grep's -E option.  Change the failing diagnostic to mention
7961         the variable, $(news-date-regexp).
7962
7963 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
7964
7965         maintainer-makefile: allow customization of NEWS entry format
7966         * top/maint.mk (news-date-regexp): New overridable variable.
7967         (news-date-check): Use it.
7968
7969 2009-12-04  Eric Blake  <ebb9@byu.net>
7970
7971         mgetgroups: add xgetgroups, and avoid ENOSYS failures
7972         * lib/mgetgroups.h (xgetgroups): New prototype.
7973         * lib/mgetgroups.c (xgetgroups): New wrapper.
7974         (mgetgroups): Handle ENOSYS.
7975         * modules/mgetgroups (Depends-on): Add realloc.
7976         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
7977
7978         mgetgroups: avoid argument promotion issues with -1
7979         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
7980         for invalid gid_t.
7981         * tests/test-chown.h (getegid, test_chown): Likewise.
7982         * tests/test-lchown.h (getegid, test_lchown): Likewise.
7983
7984 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
7985
7986         exclude: Fix header file problems.
7987         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
7988
7989 2009-12-01  Jim Meyering  <meyering@redhat.com>
7990
7991         fts: fts_open: do not let an empty string cause immediate failure
7992         This is required in support of GNU rm, for which the command
7993         "rm A '' B" must process and remove both A and B, in spite of
7994         the empty string argument.
7995         * lib/fts.c (fts_open): Do not let the presence of an empty string
7996         cause fts_open to fail immediately.  Most fts-using tools must be
7997         able to process all arguments, in order, and can be expected to
7998         diagnose such arguments themselves.
7999
8000 2009-11-30  Eric Blake  <ebb9@byu.net>
8001
8002         utimens: fix compilation error
8003         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
8004         Declare variable at right scope.
8005
8006 2009-11-29  Jim Meyering  <meyering@redhat.com>
8007
8008         bootstrap: handle perl-5.11's changed --version output
8009         * build-aux/bootstrap (get_version): Handle perl separately,
8010         since perl-5.11's --version output is different.
8011
8012 2009-11-28  Jim Meyering  <meyering@redhat.com>
8013
8014         userspec: depend on the inttostr module, too
8015         * modules/userspec (Depends-on): Add inttostr.
8016
8017         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
8018         * lib/userspec.c (parse_with_separator): Do not accept a user ID
8019         number of MAXUID when it evaluates to (uid_t) -1.
8020         Likewise for group ID.  Reported by Matt McCutchen in
8021         <http://savannah.gnu.org/bugs/?28113>
8022
8023         userspec: reformat to use spaces, not TABs
8024         * lib/userspec.c: Expand TABs to spaces.
8025         Add Emacs' "indent-tabs-mode: nil" hint.
8026
8027 2009-11-27  Eric Blake  <ebb9@byu.net>
8028
8029         getopt-gnu: flush out another BSD bug
8030         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
8031         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
8032         flush out BSD bug.
8033         * tests/test-getopt.h (test_getopt): End lists with NULL.
8034         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8035         (test_getopt_long_posix): Enhance test.
8036         * modules/getopt-posix-tests (Depends-on): Add stdbool.
8037         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
8038         getopt-gnu.
8039         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8040         Likewise.
8041
8042 2009-11-27  Simon Josefsson  <simon@josefsson.org>
8043
8044         * modules/idpriv-droptemp-tests (Notice): Fix text.
8045
8046 2009-11-27  Jim Meyering  <meyering@redhat.com>
8047
8048         test-xalloc-die: avoid spurious failure due to libtool argv difference
8049         In a libtool-enabled project, this test would fail due to a difference
8050         in the emitted program name, e.g.,
8051         -test-xalloc-die: memory exhausted
8052         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
8053         Use program to avoid that.
8054         * modules/xalloc-die-tests (Depends-on): Add progname.
8055         * tests/test-xalloc-die.c: Include progname.h".
8056         (program_name): Remove decl.
8057         (main): Call set_program_name.
8058         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
8059
8060 2009-11-26  Richard Jones  <rjones@redhat.com>
8061
8062         w32sock: leave win32 error in place.
8063         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
8064
8065 2009-11-26  Eric Blake  <ebb9@byu.net>
8066
8067         init.sh: suggest to use skip_ and fail_ functions in comments
8068         * tests/init.sh: Add a sentence.
8069
8070 2009-11-25  Bruno Haible  <bruno@clisp.org>
8071
8072         init.sh: add documentation in comments
8073         * tests/init.sh: Add some developer and user documentation.
8074
8075 2009-11-26  Jim Meyering  <meyering@redhat.com>
8076
8077         init.sh: accommodate even those who specify bogus srcdir manually
8078         * tests/init.sh: Normally, srcdir is guaranteed by automake and
8079         configure-time tests to be sanitized, so that there is no need to
8080         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
8081         (with no double quotes) suffices.  However, since tests may be
8082         invoked manually, and since you may explicitly set srcdir to the
8083         name of a directory containing spaces, do quote its uses here.
8084         * tests/test-pread.sh: Likewise.
8085         Suggested by Bruno Haible.
8086
8087         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
8088         * tests/test-pread.sh: Write no data into the pipe, because
8089         test-pread actually reads none.  This avoids a diagnostic,
8090         "bash: echo: write error: Broken pipe", that arises in the unusual
8091         event something is ignoring SIGPIPE, and might be interpreted
8092         as some sort of failure.  Reported by Bruno Haible.
8093
8094 2009-11-25  Jim Meyering  <meyering@redhat.com>
8095
8096         test-pread: cover failure with ESPIPE and EINVAL
8097         * tests/test-pread.c (main): Test for failure, too.
8098         * tests/test-pread.sh: Invoke with stdin on a pipe.
8099         Suggested by Eric Blake.
8100
8101         pread: improvement and fix
8102         * modules/pread (Depends-on): Depend on lseek, for portability to
8103         e.g., mingw.  Suggested by Eric Blake.
8104         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
8105
8106         unistd.in.h: correct declaration of pread
8107         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
8108         Reported by Richard W.M. Jones.
8109
8110         test-pread.sh: distribute the test script
8111         * modules/pread-tests (Files): Include test-pread.sh.
8112
8113         test-pread.sh: clean up
8114         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
8115         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
8116         That is unnecessary, since it's always ".".
8117         Suggestion from Eric Blake.
8118
8119         test-pread.sh: make executable
8120         * tests/test-pread.sh: Set executable bit.
8121         Reported by Eric Blake.
8122
8123         correct typo in test-pread.sh
8124         * tests/test-pread.sh: Add #! line.
8125
8126         test pread
8127         * tests/test-pread.c: New file.
8128         * tests/test-pread.sh: Likewise.
8129         * modules/pread-tests: Likewise.
8130
8131         pread: new module
8132         * modules/pread: New file.
8133         * lib/unistd.in.h (pread): Define/declare.
8134         * lib/pread.c (pread): New file.
8135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
8136         * modules/unistd (Makefile.am): Substitute witnesses.
8137         * doc/posix-functions/pread.texi (pread): Update.
8138         * MODULES.html.sh: Add pread.
8139
8140 2009-11-25  Jim Meyering  <meyering@redhat.com>
8141
8142         tests/init.sh: new file to be used via most *.sh tests
8143         * tests/init.sh: New file.
8144
8145 2009-11-25  Eric Blake  <ebb9@byu.net>
8146
8147         utimens: work around older Linux failure with symlinks
8148         * lib/utimens.c (lutimensat_works_really): New variable.
8149         (fdutimens, lutimens): Use it to manage kernels that support
8150         nanosecond times on files, but not on symlinks.
8151         Reported by OndÅ™ej Vašík.
8152
8153         utimes: fix configure grammar
8154         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
8155
8156 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
8157
8158         regex: Fix fastmap for multibyte character ranges.
8159         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
8160         characters when a multibyte character range is included.
8161
8162 2009-11-22  Andy Wingo  <wingo@pobox.com>
8163
8164         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
8165         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
8166
8167 2009-11-24  Bruno Haible  <bruno@clisp.org>
8168
8169         doc: Most *_l functions exist in MacOS X 10.5.
8170         * doc/posix-functions/duplocale.texi: Update platforms list.
8171         * doc/posix-functions/freelocale.texi: Likewise.
8172         * doc/posix-functions/newlocale.texi: Likewise.
8173         * doc/posix-functions/uselocale.texi: Likewise.
8174         * doc/posix-functions/isalnum_l.texi: Likewise.
8175         * doc/posix-functions/isalpha_l.texi: Likewise.
8176         * doc/posix-functions/isblank_l.texi: Likewise.
8177         * doc/posix-functions/iscntrl_l.texi: Likewise.
8178         * doc/posix-functions/isdigit_l.texi: Likewise.
8179         * doc/posix-functions/isgraph_l.texi: Likewise.
8180         * doc/posix-functions/islower_l.texi: Likewise.
8181         * doc/posix-functions/isprint_l.texi: Likewise.
8182         * doc/posix-functions/ispunct_l.texi: Likewise.
8183         * doc/posix-functions/isspace_l.texi: Likewise.
8184         * doc/posix-functions/isupper_l.texi: Likewise.
8185         * doc/posix-functions/iswalnum_l.texi: Likewise.
8186         * doc/posix-functions/iswalpha_l.texi: Likewise.
8187         * doc/posix-functions/iswblank_l.texi: Likewise.
8188         * doc/posix-functions/iswcntrl_l.texi: Likewise.
8189         * doc/posix-functions/iswctype_l.texi: Likewise.
8190         * doc/posix-functions/iswdigit_l.texi: Likewise.
8191         * doc/posix-functions/iswgraph_l.texi: Likewise.
8192         * doc/posix-functions/iswlower_l.texi: Likewise.
8193         * doc/posix-functions/iswprint_l.texi: Likewise.
8194         * doc/posix-functions/iswpunct_l.texi: Likewise.
8195         * doc/posix-functions/iswspace_l.texi: Likewise.
8196         * doc/posix-functions/iswupper_l.texi: Likewise.
8197         * doc/posix-functions/iswxdigit_l.texi: Likewise.
8198         * doc/posix-functions/isxdigit_l.texi: Likewise.
8199         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
8200         * doc/posix-functions/strcasecmp_l.texi: Likewise.
8201         * doc/posix-functions/strcoll_l.texi: Likewise.
8202         * doc/posix-functions/strfmon_l.texi: Likewise.
8203         * doc/posix-functions/strftime_l.texi: Likewise.
8204         * doc/posix-functions/strncasecmp_l.texi: Likewise.
8205         * doc/posix-functions/strxfrm_l.texi: Likewise.
8206         * doc/posix-functions/tolower_l.texi: Likewise.
8207         * doc/posix-functions/toupper_l.texi: Likewise.
8208         * doc/posix-functions/towctrans_l.texi: Likewise.
8209         * doc/posix-functions/towlower_l.texi: Likewise.
8210         * doc/posix-functions/towupper_l.texi: Likewise.
8211         * doc/posix-functions/wcscoll_l.texi: Likewise.
8212         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
8213         * doc/posix-functions/wctrans_l.texi: Likewise.
8214         * doc/posix-functions/wctype_l.texi: Likewise.
8215         * doc/glibc-functions/strptime_l.texi: Likewise.
8216         * doc/glibc-functions/strtod_l.texi: Likewise.
8217         * doc/glibc-functions/strtof_l.texi: Likewise.
8218         * doc/glibc-functions/strtol_l.texi: Likewise.
8219         * doc/glibc-functions/strtold_l.texi: Likewise.
8220         * doc/glibc-functions/strtoll_l.texi: Likewise.
8221         * doc/glibc-functions/strtoul_l.texi: Likewise.
8222         * doc/glibc-functions/strtoull_l.texi: Likewise.
8223         * doc/glibc-functions/wcsftime_l.texi: Likewise.
8224         * doc/glibc-functions/wcstod_l.texi: Likewise.
8225         * doc/glibc-functions/wcstof_l.texi: Likewise.
8226         * doc/glibc-functions/wcstol_l.texi: Likewise.
8227         * doc/glibc-functions/wcstold_l.texi: Likewise.
8228         * doc/glibc-functions/wcstoll_l.texi: Likewise.
8229         * doc/glibc-functions/wcstoul_l.texi: Likewise.
8230         * doc/glibc-functions/wcstoull_l.texi: Likewise.
8231
8232 2009-11-24  Bruno Haible  <bruno@clisp.org>
8233
8234         duplocale: Fix logic bug.
8235         * lib/duplocale.c: Don't include <langinfo.h>.
8236         (_NL_LOCALE_NAME): Remove macro.
8237         (rpl_duplocale): Use setlocale instead of nl_langinfo.
8238         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
8239
8240 2009-11-23  Jim Meyering  <meyering@redhat.com>
8241
8242         test-update-copyright: don't hard-code /usr/bin/perl
8243         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
8244         perl to print the current year.  Gilles Espinasse reported that
8245         the replaced use of perl was hard-coded as /usr/bin/perl.
8246
8247 2009-11-23  Bruno Haible  <bruno@clisp.org>
8248
8249         duplocale: Add support for glibc 2.3.x.
8250         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
8251
8252 2009-11-22  Bruno Haible  <bruno@clisp.org>
8253
8254         vasnprintf: Tiny optimization.
8255         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
8256         MacOS X.
8257
8258 2009-11-22  Bruno Haible  <bruno@clisp.org>
8259
8260         Tests for module 'duplocale'.
8261         * modules/duplocale-tests: New file.
8262         * tests/test-duplocale.c: New file.
8263
8264         New module 'duplocale'.
8265         * m4/duplocale.m4: New file.
8266         * lib/locale.in.h (duplocale): New declaration.
8267         * lib/duplocale.c: New file.
8268         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
8269         gl_LOCALE_H_DEFAULTS): New macros.
8270         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
8271         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
8272         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
8273         REPLACE_DUPLOCALE.
8274         * modules/duplocale: New file.
8275         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
8276
8277 2009-11-22  Bruno Haible  <bruno@clisp.org>
8278
8279         * modules/locale-tests (configure.ac): Test for newlocale function.
8280         * tests/test-locale.c: When the system has extended locale functions,
8281         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
8282
8283         locale: Make locale_t available when possible.
8284         * lib/locale.in.h: Include <xlocale.h> when it exists.
8285         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
8286         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
8287         * modules/locale (Depends-on): Add extensions.
8288         (Makefile.am): Also substitute HAVE_XLOCALE_H.
8289         * doc/posix-headers/locale.texi: Document the problem with locale_t.
8290
8291 2009-11-22  Bruno Haible  <bruno@clisp.org>
8292
8293         Add comments.
8294         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
8295         invocation.
8296         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
8297         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8298         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8299
8300 2009-11-22  Bruno Haible  <bruno@clisp.org>
8301
8302         error: account for the possibility of freopen (stdout).
8303         * lib/error.c: Include <unistd.h>.
8304         (flush_stdout): New function, extracted from error and error_at_line.
8305         Determine stdout's fd dynamically.
8306         (error, error_at_line): Invoke flush_stdout.
8307         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
8308         * modules/error (Depends-on): Add unistd.
8309
8310 2009-11-22  Bruno Haible  <bruno@clisp.org>
8311
8312         diffseq: Add comment.
8313         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
8314
8315 2009-11-22  Jim Meyering  <meyering@redhat.com>
8316
8317         c-stack: avoid defining an unused static function
8318         * lib/c-stack.c (find_stack_direction): Do not define this function
8319         when it will not be used.
8320
8321         diffseq: avoid spurious gcc warnings
8322         * lib/diffseq.h (IF_LINT2): Define.
8323         (compareseq): Use it to initialize two members of "part".
8324         This avoids two used-uninitialized warnings.
8325
8326 2009-11-21  Jim Meyering  <meyering@redhat.com>
8327
8328         c-stack: avoid "ignoring return value of `write'" warning
8329         * lib/c-stack.c: Include "ignore-value.h".
8330         (die): Explicitly ignore each write return value.
8331         * modules/c-stack (Depends-on): Add ignore-value.
8332
8333 2009-11-21  Bruno Haible  <bruno@clisp.org>
8334
8335         diffseq: reduce scope of variable 'best'.
8336         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
8337         variable, earlier used for two different purposes.
8338
8339 2009-11-21  Jim Meyering  <meyering@redhat.com>
8340
8341         diffseq: remove useless assignment to "best"
8342         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
8343         assignment.  At that point "best" is already guaranteed to be zero.
8344
8345 2009-11-20  Eric Blake  <ebb9@byu.net>
8346
8347         build: mention ftp redirector in release announcements
8348         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
8349         values that used to come from cfg.mk; mention FTP redirect URL.
8350         * build-aux/announce-gen: Mention the mirror list.
8351         Suggested by Karl Berry.
8352
8353         nanosleep: improve port to mingw
8354         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
8355         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
8356         LIB_NANOSLEEP, but only when needed.
8357         * modules/select (Link): Document LIBSOCKET.
8358         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
8359         enough.
8360
8361         nanosleep: work around cygwin bug
8362         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
8363         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
8364         bug.
8365         (getnow): Delete, not needed.
8366         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
8367         LIB_CLOCK_GETTIME.
8368         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
8369         clock-time, gettime.
8370         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
8371         bug.
8372         * modules/nanosleep-tests: New test.
8373         * tests/test-nanosleep.c: New file.
8374
8375         sleep: work around cygwin bug
8376         * lib/sleep.c (rpl_sleep): Work around the bug.
8377         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
8378         (gl_PREREQ_SLEEP): Delete unused macro.
8379         * modules/sleep (Depends-on): Add verify.
8380         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8381         * modules/unistd (Makefile.am): Substitute witness.
8382         * lib/unistd.in.h (sleep): Update prototype.
8383         * doc/posix-functions/sleep.texi (sleep): Document the bug.
8384         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
8385         * modules/sleep-tests (Depends-on): Check for alarm.
8386
8387 2009-11-20  Jim Meyering  <meyering@redhat.com>
8388
8389         maint.mk: improve sc_prohibit_magic_number_exit
8390         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
8391         so it does not match uses like System.exit(1).
8392         Add comments showing how to correct all offenders.
8393
8394 2009-11-19  Eric Blake  <ebb9@byu.net>
8395
8396         xalloc-die-tests: add missing library
8397         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
8398
8399         test-xvasprintf: silence compiler warnings
8400         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
8401         empty string from gcc.
8402
8403 2009-11-19  Jim Meyering  <meyering@redhat.com>
8404
8405         xfreopen: new module, from coreutils
8406         * modules/xfreopen: New module.
8407         * lib/xfreopen.c: New file.
8408         * lib/xfreopen.h: New file.
8409         * MODULES.html.sh (File stream based Input/Output"): Add it.
8410
8411 2009-11-19  Eric Blake  <ebb9@byu.net>
8412
8413         manywarnings: depend on warnings
8414         * modules/manywarnings (Depends-on): Add warnings.
8415
8416         build: avoid compiler warnings
8417         * lib/select.c (rpl_select): Delete unused variable.
8418         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
8419
8420 2009-11-18  Eric Blake  <ebb9@byu.net>
8421
8422         tests: avoid false negative with --with-packager
8423         * tests/test-version-etc.sh: Discard packager information.
8424         * tests/test-argp-version-etc-1.sh: Likewise.
8425         Reported by Mike Frysinger.
8426
8427         utimens: fix regression on Solaris
8428         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
8429         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
8430         can only change fd timestamps via futimesat.  Instead, use an
8431         additional witness macro to avoid BSD bug.
8432         Reported by Jim Meyering.
8433
8434 2009-11-17  Eric Blake  <ebb9@byu.net>
8435
8436         usleep: use it to simplify tests
8437         * modules/stat-time-tests (Depends-on): Add usleep.
8438         (configure.ac): Drop usleep check.
8439         * modules/chown-tests (Depends-on, configure.ac): Likewise.
8440         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
8441         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
8442         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
8443         * modules/openat-tests (Depends-on, configure.ac): Likewise.
8444         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
8445         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
8446         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
8447         Likewise.
8448         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
8449         * tests/test-lchown.h (nap): Likewise.
8450         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
8451         * tests/test-stat-time.c (nap): Likewise.
8452         * tests/test-utimens-common.h (nap): Update comments.
8453
8454         usleep: new module
8455         * modules/usleep: New file.
8456         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
8457         * lib/usleep.c (usleep): Likewise.
8458         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
8459         * modules/unistd (Makefile.am): Substitute witnesses.
8460         * lib/unistd.in.h (usleep): Add declaration.
8461         * doc/pastposix-functions/usleep.texi (usleep): Document this.
8462         * MODULES.html.sh (Date and time): Likewise.
8463         * modules/usleep-tests (Depends-on): New test.
8464         * tests/test-usleep.c: New file.
8465
8466         chown: work around OpenBSD bug
8467         * lib/chown.c (rpl_chown): Work around the bug.
8468         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
8469         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
8470         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
8471         * modules/chown (Depends-on): Add stdbool.
8472         * modules/lchown (Depends-on): Likewise.
8473         * doc/posix-functions/chown.texi (chown): Document the bug.
8474         * doc/posix-functions/lchown.texi (lchown): Likewise.
8475         * tests/test-lchown.h (test_chown): Relax test.
8476
8477         mkstemp: avoid conflict with C++ keyword template
8478         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
8479         * lib/mkostemp.c (mkostemp): Likewise.
8480         * lib/mkostemps.c (mkostemps): Likewise.
8481         * lib/mkstemp.c (mkstemp): Likewise.
8482         * lib/mkstemps.c (mkstemps): Likewise.
8483
8484         xalloc-die-tests: optimize
8485         * tests/test-xalloc-die.sh: Reduce number of processes.
8486
8487 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8488
8489         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
8490         patch from ludo@gnu.org (Ludovic Courtès).
8491
8492 2009-11-17  Jim Meyering  <meyering@redhat.com>
8493
8494         version-etc: use proper license string
8495         * modules/version-etc (License): Use LGPL, not LGPLv3+.
8496         * modules/version-etc-fsf: Likewise.
8497
8498 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8499
8500         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
8501         printed to stdout.  Deal with EOL differences.
8502
8503 2009-11-17  Eric Blake  <ebb9@byu.net>
8504
8505         unsetenv: work around Solaris bug
8506         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
8507         * lib/unsetenv.c (rpl_unsetenv): Work around it.
8508         Reported by Jim Meyering.
8509
8510         vasnprintf: avoid compiler warnings
8511         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
8512         variables.
8513         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
8514
8515 2009-11-17  Simon Josefsson  <simon@josefsson.org>
8516
8517         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
8518         settings since xalloc-die is no longer the self test,
8519         xalloc-die.sh is.
8520
8521 2009-11-17  Jim Meyering  <meyering@redhat.com>
8522
8523         test-xalloc-die.sh: make the code agree with the commit log
8524         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
8525         at the end, just in case you happen to have a test-xalloc-die
8526         program in some other PATH directory.
8527
8528         test-xalloc-die.sh: fix a portability bug
8529         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
8530         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
8531         Otherwise, argv[0] (as often seen in diagnostics) would be too
8532         system-dependent, sometimes with, and sometimes without the leading "./".
8533
8534         version-etc-fsf: relax license to LGPLv3+
8535         * modules/version-etc-fsf (License): Relax license.
8536
8537 2009-11-16  Eric Blake  <ebb9@byu.net>
8538
8539         xalloc-die-tests: avoid printing null pointer
8540         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
8541         shell script.
8542         * tests/test-xalloc-die.c (program_name): Declare.
8543         * tests/test-xalloc-die.sh (tmpfiles): New file.
8544
8545         setenv, unsetenv: work around various bugs
8546         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
8547         (setenv) [HAVE_SETENV]: Work around bugs.
8548         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
8549         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
8550         for bugs.
8551         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
8552         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
8553         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
8554         * modules/stdlib (Makefile.am): Update substitutions.
8555         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
8556         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
8557         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
8558         * modules/setenv-tests: New test.
8559         * modules/unsetenv-tests: Likewise.
8560         * tests/test-setenv.c: New file.
8561         * tests/test-unsetenv.c: Likewise.
8562
8563 2009-11-16  Jim Meyering  <meyering@redhat.com>
8564
8565         version-etc: relax license to LGPLv3+
8566         * modules/version-etc (License): Relax license.
8567
8568         better AC_REQUIRE expanded-before-required-warning avoidance
8569         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
8570         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
8571         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
8572         which is no longer needed.
8573
8574 2009-11-16  Eric Blake  <ebb9@byu.net>
8575
8576         test-freading: clean up temporary file
8577         * tests/test-freading.c (main): Remove file on success, and use
8578         ASSERT more liberally.
8579         Reported by Jim Meyering.
8580
8581 2009-11-16  Jim Meyering  <meyering@redhat.com>
8582
8583         avoid new AC_REQUIRE expanded-before-required warnings
8584         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
8585         merely using it.
8586         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
8587         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
8588
8589 2009-11-15  Simon Josefsson  <simon@josefsson.org>
8590
8591         * tests/test-xalloc-die.c: New file.
8592         * modules/xalloc-die-tests: New file.
8593         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
8594         XFAIL_TESTS so it can be appended by modules.
8595
8596 2009-11-15  Simon Josefsson  <simon@josefsson.org>
8597
8598         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
8599         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
8600
8601 2009-11-14  Eric Blake  <ebb9@byu.net>
8602
8603         fnmatch: avoid compiler warning
8604         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
8605         to silence compiler warning about mismatch signedness in ?:.
8606         Reported by Robert Millan.
8607
8608         intprops: add double-inclusion guard
8609         * lib/intprops.h: Allow idempotent includes.
8610         Suggested by Bruce Korb.
8611
8612         openat: detect Solaris fchownat bug
8613         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
8614         penalizing glibc chownat when only lchownat is broken.
8615         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
8616         trailing slash bugs.
8617         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
8618         * modules/openat-tests (Files): Include more files.
8619         (Depends-on): Add mgetgroups, sleep, stat-time.
8620         (configure.ac): Add additional checks.
8621         (Makefile.am): Build new test.
8622         * tests/test-fchownat.c: New file.
8623
8624         lchown: detect Solaris and FreeBSD bug
8625         * lib/lchown.c (rpl_lchown): Work around bug.
8626         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
8627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8628         * modules/unistd (Makefile.am): Populate it.
8629         * lib/unistd.in.h (lchown): Update declaration.
8630         * doc/posix-functions/lchown.texi (lchown): Document the bug.
8631         * modules/lchown-tests: New file.
8632         * tests/test-lchown.h (test_lchown): Likewise.
8633         * tests/test-lchown.c (main): Likewise.
8634
8635         chown: detect Solaris and FreeBSD bug
8636         * lib/chown.c (rpl_chown): Work around bug.
8637         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
8638         (gl_PREREQ_CHOWN): Delete.
8639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
8640         * modules/unistd (Makefile.am): Populate it.
8641         * lib/unistd.in.h (chown): Update declaration.
8642         * lib/lchown.c (chown): Update client.
8643         * modules/lchown (Depends-on): Add lstat.
8644         * doc/posix-functions/chown.texi (chown): Document the bug.
8645         * doc/posix-functions/getgroups.texi (getgroups): Document
8646         getgroups pitfall.
8647         * modules/chown-tests: New file.
8648         * tests/test-chown.h (test_chown): Likewise.
8649         * tests/test-chown.c (main): Likewise.
8650
8651 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
8652
8653         gnulib-tool: correctly detect absence of m4 directories
8654         * gnulib-tool: Avoid extra newline on data passed to wc -l.
8655
8656 2009-11-14  Jim Meyering  <meyering@redhat.com>
8657
8658         maint.mk: Prohibit inclusion of "xalloc.h" without use.
8659         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
8660
8661 2009-11-14  John W. Eaton  <jwe@gnu.org>
8662
8663         strftime.h: wrap funtion declaration in extern "C" block
8664         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
8665
8666 2009-11-13  Eric Blake  <ebb9@byu.net>
8667
8668         getgroups: avoid compiler warning
8669         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
8670
8671         getgroups: work around FreeBSD bug
8672         * lib/getgroups.c (rpl_getgroups): Work around the bug.
8673         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
8674         * doc/posix-functions/getgroups.texi (getgroups): Document it.
8675         * tests/test-getgroups.c (main): Fix buffer overrun.
8676
8677         getgroups: avoid compilation failure
8678         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
8679         * modules/getgroups (Depends-on): Add stdint.
8680
8681 2009-11-13  Jim Meyering  <meyering@redhat.com>
8682
8683         test-getgroups: avoid compilation failure
8684         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
8685
8686 2009-11-13  Eric Blake  <ebb9@byu.net>
8687
8688         mgetgroups: new module, taken from coreutils
8689         * modules/mgetgroups: New file.
8690         * lib/mgetgroups.h: Likewise.
8691         * lib/mgetgroups.c (mgetgroups): Likewise.
8692         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
8693         * MODULES.html.sh (Users and groups): Mention it.
8694
8695         getgroups: don't expose GETGROUPS_T to user
8696         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
8697         an element at a time if GETGROUPS_T is wrong size.
8698         * lib/getugroups.h (getugroups): Change signature.
8699         * lib/unistd.in.h (getgroups): Likewise.
8700         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
8701         signature needs fixing.
8702         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
8703         AC_TYPE_GETGROUPS.
8704         * modules/group-member (Depends-on): Add getgroups.
8705         * lib/group-member.c (group_info, get_group_info): Use gid_t.
8706         (group_member): Rely on getgroups replacement.
8707         * lib/getugroups.c (getugroups): Use gid_t.
8708         * tests/test-getgroups.c (main): Likewise.
8709         * NEWS: Mention the signature change.
8710         * doc/posix-functions/getgroups.texi (getgroups): Mention the
8711         problem with signature.
8712         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
8713         GETGROUPS_T is still useful for setgroups.
8714
8715         getgroups, getugroups: provide stubs for mingw
8716         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
8717         * lib/getugroups.c (getugroups): Likewise.
8718         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
8719         function.  Modernize replacement scheme.
8720         (gl_PREREQ_GETGROUPS): Delete.
8721         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
8722         * modules/getgroups (configure.ac): Declare witness.
8723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
8724         * modules/unistd (Depends-on): Substitute witness.
8725         * lib/unistd.in.h (getgroups): Declare replacement.
8726
8727         getgroups: avoid calling exit
8728         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
8729         drop xalloc.
8730         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
8731         dependencies.
8732         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
8733         exiting, in the rare case of malloc failure.
8734
8735         getgroups: fix logic error
8736         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
8737         has more than 20 groups.
8738         * modules/getgroups-tests: New test.
8739         * tests/test-getgroups.c: New file.
8740
8741 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8742
8743         * tests/test-base64.c: Improve.
8744
8745 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8746
8747         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
8748         Blake <ebb9@byu.net>.
8749
8750 2009-11-13  Simon Josefsson  <simon@josefsson.org>
8751
8752         * tests/test-xvasprintf.c: Add %s%s related checks.
8753
8754 2009-11-12  Eric Blake  <ebb9@byu.net>
8755
8756         version-etc: match standards.texi style
8757         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
8758         and use <> only for URLs.
8759
8760 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
8761
8762         fts: do not fail on a submount during traversal
8763         * lib/fts.c (fts_build): Read the stat info again after opening
8764         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
8765         Original report at http://bugzilla.redhat.com/501848.
8766
8767 2009-11-12  Jim Meyering  <meyering@redhat.com>
8768
8769         bootstrap: sync from coreutils
8770         * build-aux/bootstrap (bootstrap_epilogue): New function.
8771         Use git_modules_config in one more place.  This make bootstrap's
8772         --gnulib-srcdir option more useful for testing.
8773
8774         bootstrap: generalize autoheader check
8775         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
8776         AC_CONFIG_HEADERS.
8777
8778 2009-11-11  Eric Blake  <ebb9@byu.net>
8779
8780         mkfifoat: use new modules for Solaris and BSD bugs
8781         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
8782         * lib/mkfifoat.c (mknodat): Split...
8783         * lib/mknodat.c (mknodat): ...into new file.
8784         * modules/mkfifoat (Files): Ship new file.
8785         (Depends-on): Add mkfifo, mknod.
8786         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
8787         (Depends-on): Add symlink.
8788         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
8789         redundant with test_mkfifo.h.
8790         (do_mkfifoat, do_mknodat): New helpers.
8791
8792         mknod: new module
8793         * modules/mknod: New file.
8794         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
8795         * lib/mknod.c (mknod): Likewise.
8796         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
8797         defaults.
8798         * modules/sys_stat (Makefile.am): Substitute them.
8799         * lib/sys_stat.in.h (mknod): Declare replacement.
8800         * MODULES.html.sh (Support for systems lacking POSIX:2008):
8801         Document it.
8802         * doc/posix-functions/mknod.texi (mknod): Likewise.
8803         * modules/mknod-tests: New test.
8804         * tests/test-mknod.c: Likewise.
8805
8806         mkfifo: new module
8807         * modules/mkfifo: New file.
8808         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8809         * lib/mkfifo.c (mkfifo): Likewise.
8810         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
8811         defaults.
8812         * modules/sys_stat (Makefile.am): Substitute them.
8813         * lib/sys_stat.in.h (mkfifo): Declare replacement.
8814         * MODULES.html.sh (Support for systems lacking POSIX:2008):
8815         Document it.
8816         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
8817         * modules/mkfifo-tests: New test.
8818         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
8819         from test-mkfifoat.c.
8820         * tests/test-mkfifo.c: New file.
8821
8822         readlink: detect FreeBSD bug
8823         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
8824         slash on symlink.
8825         * doc/posix-functions/readlink.texi (readlink): Document the bug.
8826         * tests/test-readlink.h (test_readlink): Enhance test.
8827
8828         symlink: detect FreeBSD bug
8829         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
8830         slash on symlink.
8831         * doc/posix-functions/symlink.texi (symlink): Document the bug.
8832         * tests/test-symlink.h (test_symlink): Enhance test.
8833
8834 2009-11-10  Eric Blake  <ebb9@byu.net>
8835
8836         link: detect FreeBSD bug
8837         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
8838         symlink.
8839         * doc/posix-functions/link.texi (link): Document the bug.
8840         * tests/test-link.h (test_link): Enhance test.
8841         * tests/test-linkat.c (main): Update caller.
8842
8843         unlink, remove: detect FreeBSD bug
8844         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
8845         slash on symlink.
8846         * doc/posix-functions/unlink.texi (unlink): Document the bug.
8847         * doc/posix-functions/remove.texi (remove): Likewise.
8848         * tests/test-unlink.h (test_unlink): Enhance test.
8849         * tests/test-remove.c (main): Likewise.
8850
8851 2009-11-09  Eric Blake  <ebb9@byu.net>
8852
8853         rename: detect FreeBSD bug
8854         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
8855         slash on symlink.
8856         * modules/renameat-tests (Depends-on): Add filenamecat.
8857         * tests/test-rename.h (test_rename): Allow one more errno.
8858         * tests/test-renameat.c (main): Likewise.
8859         * doc/posix-functions/rename.texi (rename): Document the bug.
8860
8861         open: detect FreeBSD bug
8862         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
8863         symlink.
8864         * doc/posix-functions/open.texi (open): Document the bug.
8865         * doc/posix-functions/utimes.texi (utimes): Likewise.
8866         * tests/test-open.h (test_open): Add parameters, and test symlink
8867         handling.
8868         * tests/test-open.c (main): Adjust caller.
8869         * tests/test-fcntl-safer.c (main): Likewise.
8870         * modules/open-tests (Depends-on): Add stdbool, symlink.
8871         * modules/fcntl-safer-tests (Depends-on): Likewise.
8872         * tests/test-openat.c (main): Add test-open tests.
8873
8874         stat: detect FreeBSD bug
8875         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
8876         symlink.
8877         * doc/posix-functions/stat.texi (stat): Document the bug.
8878         * tests/test-stat.h (test_stat_func): Add argument.
8879         * tests/test-stat.c (main): Adjust caller.
8880         * tests/test-fstatat.c (main): Likewise.
8881         * modules/stat-tests (Depends-on): Add stdbool, symlink.
8882         Reported by Jim Meyering.
8883
8884 2009-11-09  James Youngman  <jay@gnu.org>
8885
8886         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
8887         * lib/strftime.c: Correct placement of #include "ignore-value.h".
8888
8889 2009-11-08  Jim Meyering  <meyering@redhat.com>
8890
8891         utimens: remove invalid futimesat call
8892         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
8893         It used the file descriptor of the target file as the DIR_FD
8894         parameter and NULL as the file name.  That caused failure with
8895         errno == EFAULT on FreeBSD-8.0-rc2
8896
8897 2009-11-07  Eric Blake  <ebb9@byu.net>
8898
8899         fflush, freadseek: use fseeko, not fseek
8900         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
8901         (clear_ungetc_buffer): Avoid potential problems on large files.
8902         * lib/freadseek.c (freadseek): Likewise.
8903         * modules/freadseek (Depends-on): Add fseeko.
8904         * modules/fseek (configure.ac): Set a witness.
8905         * tests/test-fflush.c (main): Use fseeko.
8906         * tests/test-fpurge.c (fseek): Disable link warning.
8907         * tests/test-freadable.c (fseek): Likewise.
8908         * tests/test-freading.c (fseek): Likewise.
8909         * tests/test-fseeko.c (fseek): Likewise.
8910         * tests/test-ftell.c (fseek): Likewise.
8911         * tests/test-ftello.c (fseek): Likewise.
8912         * tests/test-fwritable.c (fseek): Likewise.
8913         * tests/test-fwriting.c (fseek): Likewise.
8914
8915 2009-11-06  Simon Josefsson  <simon@josefsson.org>
8916
8917         * modules/memchr (Depends-on): Drop getpagesize dependency.
8918
8919 2009-11-06  Simon Josefsson  <simon@josefsson.org>
8920
8921         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
8922         Reported by Ludovic Courtès.
8923         * build-aux/pmccabe2html: Improve example usage.
8924         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
8925
8926 2009-11-06  Jim Meyering  <meyering@redhat.com>
8927
8928         do-release-commit-and-tag: New module.
8929         Automate the release-commit and tag process.
8930         * build-aux/do-release-commit-and-tag: New script, from coreutils.
8931         * modules/do-release-commit-and-tag: New file.
8932         * MODULES.html.sh (Support for maintaining and releasing): Add it.
8933
8934 2009-11-06  Simon Josefsson  <simon@josefsson.org>
8935
8936         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
8937         because test-select.c uses inet_pton.
8938
8939 2009-11-06  Simon Josefsson  <simon@josefsson.org>
8940
8941         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
8942         GETADDRINFO_LIB.  Bump serial number.
8943         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
8944         Suggested by Eric Blake <ebb9@byu.net>.
8945
8946 2009-11-05  Eric Blake  <ebb9@byu.net>
8947
8948         strtod: detect darwin bug
8949         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
8950         Reported by Leo Davis.
8951
8952         freopen-safer: new module
8953         * modules/freopen-safer: New module.
8954         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
8955         * lib/freopen-safer.c (freopen_safer): New file.
8956         * lib/stdio-safer.h (freopen_safer): New declaration.
8957         * lib/stdio--.h (freopen): New override.
8958         * MODULES.html.sh (File stream based Input/Output): Mention it.
8959         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
8960         freopen-safer module.
8961         * doc/posix-functions/stderr.texi (stderr): Likewise.
8962         * doc/posix-functions/stdin.texi (stdin): Likewise.
8963         * doc/posix-functions/stdout.texi (stdout): Likewise.
8964         * modules/freopen-safer-tests: New test.
8965         * tests/test-reopen-safer.c: New file.
8966
8967 2009-11-05  Jim Meyering  <meyering@redhat.com>
8968
8969         maint.mk: Prohibit inclusion of "close-stream.h" without use.
8970         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
8971
8972 2009-11-05  Simon Josefsson  <simon@josefsson.org>
8973
8974         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
8975
8976 2009-11-05  Simon Josefsson  <simon@josefsson.org>
8977
8978         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
8979
8980 2009-11-05  Simon Josefsson  <simon@josefsson.org>
8981
8982         Fix link error.
8983         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
8984         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
8985
8986 2009-11-05  Simon Josefsson  <simon@josefsson.org>
8987
8988         * tests/test-func.c: Also test value of __func__.
8989
8990 2009-11-05  Simon Josefsson  <simon@josefsson.org>
8991
8992         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
8993         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
8994
8995 2009-11-05  Bruno Haible  <bruno@clisp.org>
8996
8997         Fix link error.
8998         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
8999         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
9000         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
9001
9002 2009-11-05  Bruno Haible  <bruno@clisp.org>
9003
9004         Tests for module 'inet_pton'.
9005         * modules/inet_pton-tests: New file.
9006         * tests/test-inet_pton.c: New file.
9007
9008 2009-11-05  Bruno Haible  <bruno@clisp.org>
9009
9010         Tests for module 'inet_ntop'.
9011         * modules/inet_ntop-tests: New file.
9012         * tests/test-inet_ntop.c: New file.
9013
9014 2009-11-04  Eric Blake  <ebb9@byu.net>
9015
9016         stdlib-safer: wrap all mkstemp variants
9017         * modules/mkostemp (configure.ac): Set witness.
9018         * modules/mkostemps (configure.ac): Likewise.
9019         * modules/mkstemps (configure.ac): Likewise.
9020         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
9021         (mkstemps_safer): Wrap more functions.
9022         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
9023         wrapping.
9024         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
9025         (mkstemps_safer): Implement the wrappers.
9026
9027         mkstemps, mkostemps: new modules
9028         * modules/mkostemps: New module.
9029         * modules/mkstemps: Likewise.
9030         * lib/mkostemps.c (mkostemps): New file.
9031         * lib/mkstemps.c (mkstemps): Likewise.
9032         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
9033         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
9034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
9035         * modules/stdlib (Makefile.am): Substitute them.
9036         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
9037         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
9038         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9039         * doc/gnulib.texi (Glibc stdlib.h): Include them.
9040         * MODULES.html.sh (File system functions): Mention them.
9041
9042         tempname: resync from glibc
9043         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
9044         same values for __GT_FILE as glibc.  Abort even when assertions
9045         are disabled.
9046         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
9047         match its value otherwise.  Allow idempotent inclusion.
9048         * lib/mkdtemp.c (mkdtemp): Adjust caller.
9049         * lib/mkostemp.c (mkostemp): Likewise.
9050         * lib/mkstemp.c (mkstemp): Likewise.
9051         * lib/tmpfile.c (tmpfile): Likewise.
9052         * NEWS: Document this.
9053
9054         utimens: fix use of futimens on older Linux
9055         * lib/utimens.c (fdutimens): Use updated, rather than original,
9056         timespec to avoid bug in older Linux kernel.
9057         Reported by Simon Josefsson.
9058
9059 2009-11-04  Bruno Haible  <bruno@clisp.org>
9060
9061         Make num_processors more flexible and consistent.
9062         * lib/nproc.h (enum nproc_query): New type.
9063         (num_processors): Add a 'query' argument.
9064         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
9065         (num_processors): Add a 'query' argument. Test the value of the
9066         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
9067         mingw, count the number of CPUs available for the current process.
9068         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
9069         Check for sched_getaffinity and sched_getaffinity_np.
9070         * modules/nproc (Depends-on): Add c-ctype, extensions.
9071         * NEWS: Mention the change.
9072
9073 2009-11-03  Bruno Haible  <bruno@clisp.org>
9074
9075         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
9076
9077 2009-11-03  Jim Meyering  <meyering@redhat.com>
9078
9079         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
9080         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
9081         if it is defined.
9082
9083 2009-11-02  Eric Blake  <ebb9@byu.net>
9084
9085         mktime, timegm: share common declaration
9086         * lib/mktime-internal.h: New file.
9087         * lib/mktime.c: Use it rather than open-coding a declaration.
9088         * lib/timegm.c: Likewise.
9089         * modules/mktime (Files): Ship it.
9090         * modules/timegm (Files): Likewise.
9091         Suggested by Bruno Haible.
9092
9093         test-update-copyright: update test to match script changes
9094         * tests/test-update-copyright.sh: Avoid hard-coding perl
9095         location.  Don't update *.bak created by earlier runs.
9096
9097 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
9098             Simon Josefsson  <simon@josefsson.org>
9099             Bruno Haible  <bruno@clisp.org>
9100
9101         Fix link error on Solaris 8.
9102         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
9103         also in libnsl. Define also INET_PTON_LIB.
9104         * modules/inet_pton (Link): New section.
9105
9106 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9107             Bruno Haible  <bruno@clisp.org>
9108
9109         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
9110         * modules/inet_ntop (Link): New section.
9111         Reported by Boyan Kasarov <bkasarov@gmail.com>.
9112
9113 2009-11-02  Eric Blake  <ebb9@byu.net>
9114
9115         maint: avoid compiler warnings in m4 macros
9116         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
9117         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
9118
9119 2009-11-02  Simon Josefsson  <simon@josefsson.org>
9120
9121         * m4/pmccabe2html.m4: Remove file.
9122         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
9123         function.  Change maintainer.
9124         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
9125         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
9126         Courtès).
9127
9128 2009-10-31  Eric Blake  <ebb9@byu.net>
9129
9130         fseeko: fix m4 regression
9131         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
9132         regression from 2009-10-27.
9133         Reported by Ralf Wildenhues.
9134
9135 2009-10-31  Jim Meyering  <meyering@redhat.com>
9136
9137         inttostr: aesthetics and improved (compile-time) safety
9138         Define inttype_is_signed rather than inttype_is_unsigned,
9139         since the sole use is via "#if inttype_is_signed".
9140         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
9141         inttype_is_unsigned.
9142         * lib/offtostr.c (inttype_is_signed): Likewise.
9143         * lib/uinttostr.c (inttype_is_signed): Likewise.
9144         * lib/umaxtostr.c (inttype_is_signed): Likewise.
9145         * lib/inttostr.c (inttostr): Use verify to cross-check the
9146         inttype_is_signed value and the signedness of the actual type.
9147         * modules/inttostr (Depends-on): Add verify.
9148
9149 2009-10-30  Eric Blake  <ebb9@byu.net>
9150
9151         build: avoid compiler warnings
9152         * lib/fchmodat.c (lchmod): Mark unused variables.
9153         * lib/getopt.c (_getopt_initialize): Likewise.
9154         * lib/mktime.c (__mktime_internal): Provide prototype.
9155         * lib/inttostr.c (inttostr): Avoid compiler warning even with
9156         older gcc that do not understand #pragma GCC diagnostic.
9157         * lib/uinttostr.c (inttype_is_unsigned): Define.
9158         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
9159
9160 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
9161
9162         stat: fix compilation on AIX
9163         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
9164         only see struct stat64.
9165
9166 2009-10-30  Eric Blake  <ebb9@byu.net>
9167
9168         exclude: make more robust
9169         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
9170         rather than masking a coding bug.
9171         Suggested by Bruno Haible.
9172
9173 2009-10-30  Jim Meyering  <meyering@redhat.com>
9174
9175         perl scripts: remove #!/usr/bin/perl in favor of more portable...
9176         Rather than putting #!/usr/bin/perl on the first line,
9177         start with a variant of what's recommended by "man perlrun" that
9178         invokes the first "perl" program from your shell's search path.
9179         * build-aux/gitlog-to-changelog: Replace #!... as above.
9180         Add a "Local Variables" perl mode setting.
9181         Prompted by a patch from Ludovic Courtès.
9182         Improved by Eric Blake.
9183         * build-aux/useless-if-before-free: Likewise.
9184         * build-aux/announce-gen: Likewise.
9185         * build-aux/update-copyright: Likewise.
9186
9187 2009-10-29  Eric Blake  <ebb9@byu.net>
9188
9189         filenamecat-lgpl: adjust clients
9190         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
9191         filenamecat.
9192         * modules/renameat (Depends-on): Likewise.
9193
9194         filenamecat: split into filenamecat-lgpl
9195         * modules/filenamecat-lgpl: New module.
9196         * modules/filenamecat (Files): Move library-safe files into
9197         filenamecat-lgpl.
9198         (Depends-on): Add filenamecat-lgpl.
9199         (configure.ac): Declare witness.
9200         * lib/filenamecat.h (file_name_concat): Only declare when using
9201         GPL module.
9202         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
9203         Move...
9204         * lib/filenamecat-lgpl.c: ...into new file.
9205         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
9206         (gl_FILE_NAME_CONCAT): Use it.
9207         * MODULES.html.sh (File system functions): Mention new module.
9208
9209         argp: avoid memory leak
9210         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
9211         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
9212         base_name, since the latter malloc()s and can call exit().
9213         Leak introduced 2006-07-03.
9214
9215         dirname-lgpl: adjust clients that don't need full dirname
9216         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
9217         * modules/filenamecat (Depends-on): Likewise.
9218         * modules/linkat (Depends-on): Likewise.
9219         * modules/mkancesdirs (Depends-on): Likewise.
9220         * modules/mkdir (Depends-on): Likewise.
9221         * modules/openat (Depends-on): Likewise.
9222         * modules/savewd (Depends-on): Likewise.
9223         * modules/rename (Depends-on): Likewise.
9224         (License): Relax license.
9225         * modules/mkdir-tests (Depends-on): Drop progname.
9226         (Makefile.am): Delete unneeded LDADD.
9227         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
9228
9229         dirname: split into dirname-lgpl
9230         * modules/dirname-lgpl: New module.
9231         * modules/dirname (Files): Move library-safe files into
9232         dirname-lgpl.
9233         (Depends-on): Add dirname-lgpl.
9234         (configure.ac): Declare witness.
9235         * modules/double-slash-root (License): Relax license.
9236         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
9237         module.
9238         * lib/dirname.c (dir_len, mdir_name): Move...
9239         * lib/dirname-lgpl.c: ...into new file.
9240         * lib/basename.c (last_component, base_len): Move...
9241         * lib/basename-lgpl.c: ...into new file.
9242         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
9243         (gl_DIRNAME): Use it.
9244         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
9245         Mention new module.
9246         * modules/dirname-tests (Depends-on): Add progname.
9247         * tests/test-dirname.c (program_name): Delete.
9248
9249         mkdir: make safe for libraries
9250         * modules/mkdir (Depends-on): Drop xalloc.
9251         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
9252         exit.
9253
9254         tests: avoid some compiler warnings
9255         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
9256         literals.
9257         * tests/test-memchr.c (main): Avoid type mismatch.
9258         * tests/test-arpa_inet.c (main): Avoid unused parameters.
9259         * tests/test-base64.c (main): Likewise.
9260         * tests/test-getdelim.c (main): Likewise.
9261         * tests/test-gethostname.c (main): Likewise.
9262         * tests/test-getline.c (main): Likewise.
9263         * tests/test-netinet_in.c (main): Likewise.
9264         * tests/test-select.c (open_server_socket, main): Likewise.
9265         * tests/test-select-stdin.c (main): Likewise.
9266         * tests/test-sockets.c (main): Likewise.
9267         * tests/test-strsignal.c (main): Likewise.
9268         * tests/test-sys_select.c (main): Likewise.
9269         * tests/test-sys_socket.c (main): Likewise.
9270         * tests/test-u64.c (main): Likewise.
9271         * tests/test-xfprintf-posix.c (main): Likewise.
9272         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
9273
9274         sockets: avoid compiler warning
9275         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
9276
9277         maint: detect usage(1) and other suspicious exits
9278         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
9279
9280 2009-10-29  Jim Meyering  <meyering@redhat.com>
9281
9282         timespec: long-to-int truncation could make timespec_cmp malfunction
9283         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
9284         a multiple of 2^32 nanoseconds as no difference.
9285
9286 2009-10-28  Jim Meyering  <meyering@redhat.com>
9287
9288         fprintftime: wrap macro code argument in "do {...} while(0)"
9289         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
9290         cpy macro must be a statement that can be followed by a semicolon.
9291         Now that the else clause contains a comment and is hence longer
9292         than one line, I require curly braces.  That in turn requires
9293         that we wrap this code block in the standard do...while(0).
9294
9295         fprintftime: remove stray semicolon from previous change
9296         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
9297
9298         fprintftime: avoid a warning about ignored fwrite return value
9299         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
9300         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
9301         that is unsafe.
9302         * modules/fprintftime (Depends-on): Add ignore-value.
9303
9304         exclude: avoid an unwarranted warning
9305         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
9306
9307 2009-10-27  Eric Blake  <ebb9@byu.net>
9308
9309         fseek: avoid compilation failure when fflush is replaced
9310         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
9311         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
9312         module is in use.
9313         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
9314         module is not in use; since REPLACE_FSEEK worked otherwise.
9315         (GNULIB_FTELLO): Likewise for ftell.
9316         Reported by Ian Beckwith and others.
9317
9318 2009-10-27  Bruno Haible  <bruno@clisp.org>
9319
9320         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
9321         Reported by Jim Meyering.
9322
9323 2009-10-27  Jim Meyering  <jim@meyering.net>
9324             Bruno Haible  <bruno@clisp.org>
9325
9326         Avoid warning despite dropping the return value of fwrite.
9327         * lib/unicodeio.c: Include ignore-value.h.
9328         (fwrite_success_callback): Explicitly ignore fwrite's return value.
9329         * modules/unicodeio (Depends-on): Add ignore-value.
9330
9331 2009-10-26  Eric Blake  <ebb9@byu.net>
9332
9333         areadlinkat: fix fallback path
9334         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
9335         pointer and zero.
9336
9337 2009-10-22  Pádraig Brady  <P@draigBrady.com>
9338
9339         Use a better IO block size for modern systems
9340         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
9341         * lib/md2.c: Likewise.
9342         * lib/md4.c: Likewise.
9343         * lib/md5.c: Likewise.
9344         * lib/sha1.c: Likewise.
9345         * lib/sha256.c: Likewise.
9346         * lib/sha512.c: Likewise.
9347
9348 2009-10-22  Eric Blake  <ebb9@byu.net>
9349
9350         tests: avoid several compiler warnings
9351         * tests/test-getcwd.c (main): Avoid buffer underflow.
9352         * tests/test-getdate.c (main): String literals are not safe with
9353         putenv, so use setenv.  Declare unused argument.
9354         * modules/getdate-tests (Depends-on): Add setenv.
9355         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
9356         problems with string literals in char *.
9357         * tests/test-hash.c (main): Avoid shadowing declaration.
9358         (insert_new): Treat string literals as char const *.
9359         * tests/test-getopt.h (test_getopt): Likewise.
9360         (getopt_loop): Alter types to minimize casting elsewhere.
9361         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
9362         (test_getopt_long_posix): Likewise.
9363         (do_getopt_long): Add wrapper to minimize casting.
9364         * tests/test-atexit.c (clear_temp_file): Use void.
9365         * tests/test-areadlink-with-size.c (main): Declare unused
9366         arguments.
9367         * tests/test-areadlink.c (main): Likewise.
9368         * tests/test-areadlinkat-with-size.c (main): Likewise.
9369         * tests/test-areadlinkat.c (main): Likewise.
9370         * tests/test-canonicalize-lgpl.c (main): Likewise.
9371         * tests/test-canonicalize.c (main): Likewise.
9372         * tests/test-dirent-safer.c (main): Likewise.
9373         * tests/test-dirname.c (main): Likewise.
9374         * tests/test-dup2.c (main): Likewise.
9375         * tests/test-fchdir.c (main): Likewise.
9376         * tests/test-fcntl-h.c (main): Likewise.
9377         * tests/test-fcntl-safer.c (main): Likewise.
9378         * tests/test-fdopendir.c (main): Likewise.
9379         * tests/test-fdutimensat.c (main): Likewise.
9380         * tests/test-fflush.c (main): Likewise.
9381         * tests/test-filenamecat.c (main): Likewise.
9382         * tests/test-filevercmp.c (main): Likewise.
9383         * tests/test-fopen-safer.c (main): Likewise.
9384         * tests/test-fopen.c (main): Likewise.
9385         * tests/test-fpending.c (main): Likewise.
9386         * tests/test-fpurge.c (main): Likewise.
9387         * tests/test-freading.c (main): Likewise.
9388         * tests/test-fstatat.c (main): Likewise.
9389         * tests/test-fsync.c (main): Likewise.
9390         * tests/test-futimens.c (main): Likewise.
9391         * tests/test-getndelim2.c (main): Likewise.
9392         * tests/test-gettimeofday.c (main): Likewise.
9393         * tests/test-getopt.c (main): Likewise.
9394         * tests/test-i-ring.c (main): Likewise.
9395         * tests/test-inttypes.c (main): Likewise.
9396         * tests/test-link.c (main): Likewise.
9397         * tests/test-lstat.c (main): Likewise.
9398         * tests/test-math.c (main): Likewise.
9399         * tests/test-md5.c (main): Likewise.
9400         * tests/test-memchr2.c (main): Likewise.
9401         * tests/test-memrchr.c (main): Likewise.
9402         * tests/test-mkdir.c (main): Likewise.
9403         * tests/test-mkdirat.c (main): Likewise.
9404         * tests/test-mkfifoat.c (main): Likewise.
9405         * tests/test-open.c (main): Likewise.
9406         * tests/test-openat-safer.c (main): Likewise.
9407         * tests/test-openat.c (main): Likewise.
9408         * tests/test-quotearg.c (main): Likewise.
9409         * tests/test-rawmemchr.c (main): Likewise.
9410         * tests/test-readlink.c (main): Likewise.
9411         * tests/test-remove.c (main): Likewise.
9412         * tests/test-rename.c (main): Likewise.
9413         * tests/test-renameat.c (main): Likewise.
9414         * tests/test-rmdir.c (main): Likewise.
9415         * tests/test-sha1.c (main): Likewise.
9416         * tests/test-signal.c (main): Likewise.
9417         * tests/test-sigaction.c (main): Likewise.
9418         * tests/test-stat.c (main): Likewise.
9419         * tests/test-stat-time.c (main): Likewise.
9420         * tests/test-stddef.c (main): Likewise.
9421         * tests/test-stdint.c (main): Likewise.
9422         * tests/test-stdio.c (main): Likewise.
9423         * tests/test-stdlib.c (main): Likewise.
9424         * tests/test-strchrnul.c (main): Likewise.
9425         * tests/test-strerror.c (main): Likewise.
9426         * tests/test-string.c (main): Likewise.
9427         * tests/test-strtod.c (main): Likewise.
9428         * tests/test-strverscmp.c (main): Likewise.
9429         * tests/test-symlink.c (main): Likewise.
9430         * tests/test-symlinkat.c (main): Likewise.
9431         * tests/test-sys_stat.c (main): Likewise.
9432         * tests/test-sys_time.c (main): Likewise.
9433         * tests/test-time.c (main): Likewise.
9434         * tests/test-unistd.c (main): Likewise.
9435         * tests/test-unlink.c (main): Likewise.
9436         * tests/test-unlinkat.c (main): Likewise.
9437         * tests/test-utimens.c (main): Likewise.
9438         * tests/test-utimensat.c (main): Likewise.
9439         * tests/test-version-etc.c (main): Likewise.
9440         * tests/test-wchar.c (main): Likewise.
9441         * tests/test-wctype.c (main): Likewise.
9442         * tests/test-xprintf-posix.c (main): Likewise.
9443         * tests/test-posixtm.c (main): Likewise.
9444         (STREQ): Delete unused macro.
9445         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
9446         shadowed variables.
9447         * tests/test-memchr.c (main): Likewise.
9448
9449 2009-10-21  Eric Blake  <ebb9@byu.net>
9450
9451         areadlinkat: avoid failure on older glibc
9452         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
9453         rather than mis-comparing 0 against FUNC_RESULT of char*.
9454
9455 2009-10-21  Bruno Haible  <bruno@clisp.org>
9456
9457         * modules/stpncpy (License): Relicense under LGPLv2+.
9458         Reported by David Lutterkort <lutter@redhat.com>.
9459
9460 2009-10-20  Eric Blake  <ebb9@byu.net>
9461
9462         utimensat: work around Solaris 9 bug
9463         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
9464         has trailing slash bugs.
9465         * tests/test-lutimens.h (test_lutimens): Enhance test.
9466         * tests/test-utimens.h (test_utimens): Likewise.
9467         * doc/posix-functions/utime.texi (utime): Enhance documentation.
9468         * doc/posix-functions/utimes.texi (utimes): Likewise.
9469         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9470         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
9471         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
9472         * doc/posix-functions/futimens.texi (futimens): Likewise.
9473
9474         fdutimensat: new module
9475         * modules/fdutimensat: New file.
9476         * lib/fdutimensat.c (fdutimensat): Likewise.
9477         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
9478         * MODULES.html.sh (File system functions): Mention module.
9479         * modules/fdutimensat-tests: New test.
9480         * tests/test-fdutimensat.c: Likewise.
9481
9482         doc: regenerate INSTALL
9483         * doc/INSTALL: Reflect recent autoconf update.
9484         * doc/INSTALL.ISO: Likewise.
9485         * doc/INSTALL.UTF-8: Likewise.
9486
9487 2009-10-20  Pádraig Brady  <P@draigBrady.com>
9488
9489         acl: warn if ACL support is not detected
9490         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
9491
9492 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
9493
9494         * lib/nproc.h: Add extern "C" block for C++.
9495
9496 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
9497             Bruno Haible  <bruno@clisp.org>
9498
9499         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
9500         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
9501         * doc/posix-functions/isalpha.texi: Likewise.
9502         * doc/posix-functions/isblank.texi: Likewise.
9503         * doc/posix-functions/iscntrl.texi: Likewise.
9504         * doc/posix-functions/isdigit.texi: Likewise.
9505         * doc/posix-functions/isgraph.texi: Likewise.
9506         * doc/posix-functions/islower.texi: Likewise.
9507         * doc/posix-functions/isprint.texi: Likewise.
9508         * doc/posix-functions/ispunct.texi: Likewise.
9509         * doc/posix-functions/isspace.texi: Likewise.
9510         * doc/posix-functions/isupper.texi: Likewise.
9511         * doc/posix-functions/isxdigit.texi: Likewise.
9512
9513 2009-10-18  Bruno Haible  <bruno@clisp.org>
9514
9515         Tests for module 'isblank'.
9516         * modules/isblank-tests: New file.
9517         * tests/test-isblank.c: New file.
9518
9519         New module 'isblank'.
9520         * lib/isblank.c: New file.
9521         * m4/isblank.m4: New file.
9522         * modules/isblank: New file.
9523         * doc/posix-functions/isblank.texi: Mention the new module.
9524
9525 2009-10-18  Bruno Haible  <bruno@clisp.org>
9526
9527         New module 'ctype'.
9528         * lib/ctype.in.h: New file.
9529         * m4/ctype.m4: New file.
9530         * modules/ctype: New file.
9531         * doc/posix-headers/ctype.texi: Mention the new module.
9532
9533 2009-10-18  Jim Meyering  <meyering@redhat.com>
9534
9535         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
9536         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
9537         right after its initialization, rather than farther down.
9538         Keeping these in close proximity makes it easier to ensure
9539         that each such variable is initialized.  E.g.,
9540
9541             LIB_CLOCK_GETTIME=
9542             AC_SUBST([LIB_CLOCK_GETTIME])
9543
9544         This change also increments these serial numbers.
9545         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
9546         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9547         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9548
9549 2009-10-18  Bruno Haible  <bruno@clisp.org>
9550
9551         Don't let environment variables perturb build.
9552         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
9553         (gl_PREREQ_GETHRXTIME): ... not here.
9554
9555 2009-10-18  Bruno Haible  <bruno@clisp.org>
9556
9557         Avoid symlink attack in localcharset module.
9558         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
9559         (O_NOFOLLOW): Define fallback.
9560         (get_charset_aliases): Don't open the file if it is a symbolic link.
9561         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
9562         gl_FCNTL_H.
9563         (gl_FCNTL_H): Require it.
9564         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
9565         * modules/localcharset (Files): Add m4/fcntl_h.m4.
9566         Reported by Fergal Glynn <fglynn@veracode.com>.
9567
9568 2009-10-18  Bruno Haible  <bruno@clisp.org>
9569
9570         Implement nproc for mingw.
9571         * lib/nproc.c: Include <windows.h>
9572         (num_processors): On native Windows platforms, try GetSystemInfo.
9573
9574 2009-10-18  Bruno Haible  <bruno@clisp.org>
9575
9576         Implement nproc for IRIX.
9577         * lib/nproc.c: Include <sys/sysmp.h>.
9578         (num_processors): On IRIX systems, try sysmp.
9579         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
9580
9581 2009-10-18  Bruno Haible  <bruno@clisp.org>
9582
9583         Implement nproc for HP-UX.
9584         * lib/nproc.c: Include <sys/pstat.h>
9585         (num_processors): On HP-UX systems, try pstat_getdynamic.
9586         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
9587         pstat_getdynamic.
9588
9589 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
9590             Bruno Haible  <bruno@clisp.org>
9591
9592         Implement nproc for NetBSD, OpenBSD.
9593         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
9594         (ARRAY_SIZE): New macro.
9595         (num_processors): On BSD systems, try sysctl of HW_NCPU.
9596         * m4/nproc.m4: New file.
9597         * modules/nproc (Files): Add m4/nproc.m4.
9598         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
9599         (Makefile.am): Instead, augment lib_SOURCES.
9600
9601 2009-10-18  Bruno Haible  <bruno@clisp.org>
9602
9603         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
9604         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
9605         sys/param.h.
9606
9607 2009-10-16  Eric Blake  <ebb9@byu.net>
9608
9609         utimensat: new module
9610         * modules/utimensat: New file.
9611         * lib/utimensat.c (utimensat): Likewise.
9612         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9613         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
9614         so we can work around Linux bugs.
9615         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9616         * modules/sys_stat (Makefile.am): Substitute them.
9617         * lib/sys_stat.in.h (utimensat): Declare it.
9618         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
9619         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9620         * modules/utimensat-tests: New test.
9621         * tests/test-utimensat.c: Likewise.
9622
9623         utimens: let lutimens work on non-symlinks
9624         * lib/utimens.c (lutimens): Fall back to utimens rather than
9625         failing with ENOSYS, when file is not a symlink.
9626         (utimens): Reduce redirection.
9627         * tests/test-lutimens.h (test_lutimens): Update test to cover
9628         non-symlinks.
9629         * tests/test-utimens.h (test_utimens): Update test to cover
9630         symlinks.
9631         * tests/test-utimens.c (main): Update caller.
9632
9633         utimens: cache whether utimensat syscall works
9634         * lib/utimens.c (utimensat_works_really): New cache variable.
9635         (fdutimens, lutimens): Use it to avoid failing syscall.
9636
9637         test-stat-time, test-utimens: improve portability
9638         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
9639         ext4 on alpha, and for cygwin.
9640         * tests/test-utimens-common.h: New file.
9641         (nap): Factor delays into single function.
9642         * tests/test-lutimens.h (test_lutimens): Use new header.
9643         * tests/test-futimens.h (test_futimens): Likewise.
9644         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
9645         timestamps to occur from same machine, as was done previously for
9646         test_utimens.
9647         * modules/utimens-tests (Files): Ship new file.
9648         * modules/futimens-tests (Files): Likewise.
9649         Reported in part by Jim Meyering.
9650
9651         sys_stat: sort replacement declarations
9652         * lib/sys_stat.in.h: Sort declarations.
9653         * lib/futimens.c (futimens): Fix typo.
9654
9655 2009-10-15  Jim Meyering  <meyering@redhat.com>
9656
9657         don't let environment settings perturb build
9658         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
9659         could cause a configure-time and/or build-time malfunction.
9660         Typically, a configure-time function-in-library test is performed
9661         via code like this:
9662
9663           LIB_VAR=
9664           AC_SUBST([LIB_VAR])
9665           prefix_saved_LIBS=$LIBS
9666             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
9667                        [test "$ac_cv_search_FUNC" = "none required" ||
9668                         LIB_VAR=$ac_cv_search_FUNC])
9669           LIBS=$prefix_saved_LIBS
9670
9671         However, in each of the files affected by this change, the LIB_VAR=
9672         initialization was omitted.  Thus, when set in the environment, its
9673         value would propagate into generated Makefiles when FUNC is not found
9674         in LIB_NAME.
9675         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
9676         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9678
9679 2009-10-14  Eric Blake  <ebb9@byu.net>
9680
9681         fchdir: avoid infinite recursion in mingw
9682         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
9683         recursing.
9684
9685         test-stat-time: port to mingw
9686         * tests/test-stat-time.c (force_unlink): Return a value.
9687         (test_ctime) [W32]: Fix compilation error.
9688         (nap): Don't call usleep with too large an argument.  Use
9689         force_unlink.
9690         * doc/pastposix-functions/usleep.texi (usleep): Document the
9691         portability issue.
9692
9693 2009-10-13  Jim Meyering  <meyering@redhat.com>
9694
9695         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
9696         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
9697         * modules/pipe-filter-ii: Likewise.
9698         * modules/sys_socket-tests: Likewise.
9699         * modules/tsearch-tests: Likewise.
9700         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
9701         (check): Depend on it.
9702
9703 2009-10-12  Eric Blake  <ebb9@byu.net>
9704
9705         utimens-tests: port to NFS file systems
9706         * tests/test-utimens.h (test_utimens): Refactor utimecmp
9707         comparisons to avoid spurious failures from timestamp drift
9708         between NFS machines.
9709
9710 2009-10-12  Eric Blake  <ebb9@byu.net>
9711
9712         stat-time-tests: minor cleanups
9713         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
9714         * tests/test-stat-time.c (nap): Separate assignment from call.
9715         Suggested by Paolo Bonzini and Bruno Haible.
9716
9717         sys_stat: guarantee struct timespec
9718         * lib/sys_stat.in.h (includes): Always include <time.h>
9719         * modules/sys_stat (Depends-on): Add time.
9720         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
9721         mode_t permission values.
9722         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
9723         get at subsecond timestamps.
9724
9725 2009-10-10  Eric Blake  <ebb9@byu.net>
9726
9727         futimens: new module
9728         * modules/futimens: New file.
9729         * lib/futimens.c (futimens): Likewise.
9730         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
9731         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
9732         we can work around Linux bugs.
9733         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
9734         * modules/sys_stat (Makefile.am): Substitute them.
9735         * lib/sys_stat.in.h (futimens): Declare it.
9736         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
9737         * doc/posix-functions/futimens.texi (futimens): Likewise.
9738         * modules/futimens-tests: New test.
9739         * tests/test-futimens.c: Likewise.
9740
9741         utimens: introduce fdutimens
9742         * lib/utimens.h (fdutimens): New prototype.
9743         * lib/utimens.c (gl_futimens): Move guts...
9744         (fdutimens): ...to new interface.
9745         * tests/test-utimens.c (do_fdutimens): Use it.
9746
9747         utimens: add UTIME_NOW and UTIME_OMIT support
9748         * lib/utimens.c (validate_timespec, update_timespec): New helper
9749         functions.
9750         (gl_futimens, lutimens): Use them.
9751         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
9752         stdbool, sys_stat.
9753         (Link): Mention resulting library dependency.
9754         * modules/utimecmp (Link): Likewise.
9755         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
9756         (Makefile.am): Pick up library dependency.
9757         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
9758         definition.
9759         * tests/test-sys_stat.c: Test the definitions.
9760         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
9761         * NEWS: Document library dependency.
9762
9763         utimecmp: support symlink timestamps
9764         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
9765         hashing when possible.  Use pathconf when available.
9766         (SYSCALL_RESOLUTION): Recognize tighter resolution.
9767         * modules/utimecmp (Depends-on): Add lstat.
9768
9769         utimens: add lutimens interface
9770         * lib/utimens.c (lutimens): New function.
9771         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
9772         * lib/utimens.h (lutimens): Declare new interface.
9773         * tests/test-utimens.c (main): Enhance test.
9774         * tests/test-lutimens.h (test_lutimens): New file.
9775         * modules/utimens-tests (Files): Distribute it.
9776         (Depends-on): Add symlink.
9777         (configure.ac): Check for usleep.
9778
9779         utimens: validate futimens usage
9780         * lib/utimens.c (gl_futimens): Require valid fd up front, using
9781         fewer syscalls on failure later on.  Avoid compiler warning on
9782         mingw.
9783         * modules/utimens (Depends-on): Add dup2.
9784
9785         utimens: add test
9786         * modules/utimens-tests: New test.
9787         * tests/test-utimens.h: New file.
9788         * tests/test-futimens.h: Likewise.
9789         * tests/test-utimens.c: Likewise.
9790
9791         doc: mention timestamp portability issues
9792         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
9793         instead.
9794         * doc/posix-functions/utime.texi (utime): Likewise.
9795         * doc/posix-functions/utimes.texi (utimes): Likewise.
9796         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
9797         instead.
9798         * doc/posix-functions/futimens.texi (futimens): Mention utimens
9799         module.
9800         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9801         Mention weakness with symlink timestamps.
9802         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
9803         to utimensat/futimens instead.
9804         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
9805
9806         test-dup2: enhance test
9807         * tests/test-dup2.c (main): Also check AT_FDCWD.
9808
9809         test-stat-time: avoid more spurious failures
9810         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
9811         xfs; and avoid race if the two timestamps cross quantization edge.
9812
9813         relocatable: prefer 'file system' over 'filesystem'
9814         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
9815         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
9816         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
9817         * doc/relocatable.texi (Enabling Relocatability): Likewise.
9818         * lib/relocatable.c (compute_curr_prefix): Likewise.
9819
9820 2009-10-10  Jim Meyering  <meyering@redhat.com>
9821
9822         stat-time-tests: check for the usleep function
9823         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
9824
9825 2009-10-10  Bruno Haible  <bruno@clisp.org>
9826
9827         * modules/xnanosleep: Put the Link section after the Include section.
9828
9829 2009-10-09  Eric Blake  <ebb9@byu.net>
9830
9831         dup2: work around FreeBSD 6.1 bug
9832         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
9833         * doc/posix-functions/dup2.texi (dup2): Document it.
9834         Reported by Nelson H. F. Beebe and Jim Meyering.
9835
9836         test-stat-time: port to buggy NFS clients
9837         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
9838         (test_ctime): Also skip test if mtime and ctime are skewed.
9839
9840         maint: prefer 'file system' over 'filesystem'
9841         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
9842         * doc/posix-functions/lstat.texi (lstat): Likewise.
9843         * lib/file-has-acl.c (file_has_acl): Likewise.
9844         * lib/fwriteerror.c [TEST]: Likewise.
9845         * tests/test-areadlink.h (test_areadlink): Likewise.
9846         * tests/test-areadlinkat-with-size.c (main): Likewise.
9847         * tests/test-areadlinkat.c (main): Likewise.
9848         * tests/test-canonicalize-lgpl.c (main): Likewise.
9849         * tests/test-canonicalize.c (main): Likewise.
9850         * tests/test-fstatat.c (main): Likewise.
9851         * tests/test-linkat.c (main): Likewise.
9852         * tests/test-lstat.h (test_lstat_func): Likewise.
9853         * tests/test-mkdir.h (test_mkdir): Likewise.
9854         * tests/test-readlink.h (test_readlink): Likewise.
9855         * tests/test-remove.c (main): Likewise.
9856         * tests/test-rename.h (test_rename): Likewise.
9857         * tests/test-renameat.c (main): Likewise.
9858         * tests/test-rmdir.h (test_rmdir_func): Likewise.
9859         * tests/test-symlink.h (test_symlink): Likewise.
9860         * tests/test-symlinkat.c (main): Likewise.
9861         * tests/test-unlink.h (test_unlink_func): Likewise.
9862         * tests/test-unlinkat.c (main): Likewise.
9863
9864         maint: make realtime library usage explicit
9865         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
9866         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
9867         * modules/settime (Link): Likewise.
9868         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
9869
9870         test-stat-time: speed up execution
9871         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
9872         warning on mingw.
9873         (nap): New helper function.
9874         (prepare_test): Use it to reduce sleep time.
9875         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
9876         execution.
9877         * modules/stat-time-tests (configure.ac): Check for usleep.
9878
9879 2009-10-09  Jim Meyering  <meyering@redhat.com>
9880
9881         selinux-h: always use getfilecon wrappers
9882         * lib/getfilecon.c: New file.
9883         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
9884         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
9885         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
9886         (fgetfilecon): Provide a stub.
9887         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
9888         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
9889         file unconditionally.
9890         When <selinux/selinux.h> is found, arrange to use wrappers.
9891         * modules/selinux-h (Files): Add getfilecon.c.
9892         (Makefile.am): Substitute include-next-related bits
9893         into the now-always-generated selinux/selinux.h file.
9894         * doc/glibc-functions/lgetfilecon.texi: New file.
9895         * doc/glibc-functions/fgetfilecon.texi: New file.
9896         * doc/glibc-functions/getfilecon.texi: New file.
9897         * doc/glibc-functions/getfilecon-desc.texi: New file.
9898         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
9899         which to pull in the new files.
9900         * MODULES.html.sh (Misc): Add selinux-h.
9901
9902 2009-10-08  Jim Meyering  <meyering@redhat.com>
9903
9904         unistd: fix comment typo
9905         * lib/unistd.in.h (euidaccess): Fix a comment typo.
9906
9907 2009-10-08  Eric Blake  <ebb9@byu.net>
9908
9909         areadlink: use SIZE_MAX consistently
9910         * modules/areadlink (Depends-on): Add stdint.
9911         * modules/areadlink-with-size (Depends-on): Likewise.
9912         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
9913         gives NULL; drop sys/types, since unistd gives size_t; and add
9914         stdint for SIZE_MAX.
9915         (SIZE_MAX): Rely on headers.
9916         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
9917         and add stdint.
9918         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
9919         (SIZE_MAX): Likewise.
9920         (INITIAL_BUF_SIZE): Turn into enum.
9921         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
9922
9923 2009-10-08  Jim Meyering  <meyering@redhat.com>
9924
9925         areadlinkat: avoid compilation failure
9926         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
9927         Fix typo in comment.
9928
9929 2009-10-07  Eric Blake  <ebb9@byu.net>
9930
9931         areadlinkat-with-size: new module
9932         * modules/areadlinkat-with-size: New module.
9933         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
9934         * lib/areadlink.h (areadlinkat): Declare it.
9935         * MODULES.html.sh (File system functions): Mention it.
9936         * modules/areadlinkat-with-size-tests: New test.
9937         * tests/test-areadlinkat-with-size.c: New file.
9938
9939         xreadlinkat: new module
9940         * modules/xreadlinkat: New module.
9941         * lib/xreadlinkat.c (xreadlinkat): New file.
9942         * lib/xreadlink.h (xreadlinkat): Declare it.
9943         * MODULES.html.sh (File system functions): Mention it.
9944
9945         areadlinkat: new module
9946         * lib/at-func.c (FUNC_FAIL): New define.
9947         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
9948         * modules/areadlinkat: New module.
9949         * lib/linkat.c (areadlinkat): Move...
9950         * lib/areadlinkat.c (areadlinkat): ...to new file.
9951         * lib/areadlink.h (areadlinkat): Declare it.
9952         * modules/linkat (Depends-on): Add areadlinkat.
9953         * MODULES.html.sh (File system functions): Mention it.
9954         * modules/areadlinkat-tests: New test.
9955         * tests/test-areadlinkat.c: New file.
9956
9957         areadlink, areadlink-with-size: add tests
9958         * modules/areadlink-tests: New test.
9959         * modules/areadlink-with-size-tests: Likewise.
9960         * tests/test-areadlink.h: New file.
9961         * tests/test-areadlink.c: Likewise.
9962         * tests/test-areadlink-with-size.c: Likewise.
9963
9964         maint: minor cleanups
9965         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
9966         _UNUSED_PARAMETER_ instead.
9967         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
9968         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
9969         * modules/linkat-tests (Files): Distribute test-link.h.
9970
9971         openat, utimens: whitespace cleanup
9972         * lib/openat.c: Prefer space throughout, rather than mix of 8
9973         spaces vs. tabs.
9974         * lib/at-func.c: Likewise.
9975         * lib/utimens.c: Likewise.
9976
9977         openat: avoid using wrong fd
9978         * lib/openat.c (openat_permissive): Reject user's fd if saving the
9979         working directory chooses same fd.
9980         * lib/at-func.c (AT_FUNC_NAME): Likewise.
9981
9982         mkdir, mkdirat: fix cygwin 1.5.x bug
9983         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
9984         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
9985         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
9986         bug.
9987         (gl_PREREQ_MKDIR): Delete unused macro.
9988         * modules/mkdir (Files): Track file rename.
9989         (configure.ac): Update macro name.
9990         * modules/openat (Depends-on): Add mkdir.
9991         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
9992
9993         mkdir, mkdirat: add tests
9994         * modules/mkdir-tests: New test.
9995         * tests/test-mkdir.h: New file.
9996         * tests/test-mkdir.c: Likewise.
9997         * tests/test-mkdirat.c: Likewise.
9998         * modules/openat-tests (Files): Add new files.
9999         (Makefile.am): Run new test.
10000
10001 2009-10-06  Eric Blake  <ebb9@byu.net>
10002
10003         doc: tweak *at function documentation
10004         * doc/posix-functions/faccessat.texi (faccessat): Mention
10005         known issue with replacement.
10006         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
10007         * doc/posix-functions/linkat.texi (linkat): Likewise.
10008         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
10009         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
10010         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10011         * doc/posix-functions/renameat.texi (renameat): Likewise.
10012         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10013
10014         openat: fix GNU/Hurd bug in unlinkat
10015         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
10016         broken.
10017         * doc/posix-functions/unlink.texi (unlink): Document this.
10018         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
10019
10020         fdopendir: fix GNU/Hurd bug
10021         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
10022         allowing non-directory fds.
10023         * lib/fdopendir.c (rpl_fdopendir): Work around it.
10024         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10025         * modules/dirent (Makefile.am): Substitute it.
10026         * lib/dirent.in.h (fdopendir): Declare replacement.
10027         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
10028         * tests/test-fdopendir.c (main): Test something other than
10029         /dev/null, since on Hurd that behaves like a directory.
10030
10031         test-symlink: port to GNU/Hurd
10032         * tests/test-symlink.h (test_symlink): Relax expected errno.
10033
10034         doc: tweak more cygwin information
10035         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
10036         now compatible with glibc.
10037         * doc/posix-functions/getopt.texi (getopt): Likewise.
10038
10039         getopt-gnu: add another test
10040         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
10041         guarantee behavior relied on by m4.
10042         * tests/test-getopt.c (main): Use it.
10043         * modules/getopt-posix-tests (Depends-on): Add setenv.
10044         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
10045
10046         getopt: fix compilation on darwin
10047         * lib/getopt.in.h (includes): Leave breadcrumbs during system
10048         include.
10049         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
10050         Reported by Ludovic Courtès.
10051
10052 2009-10-06  Bruno Haible  <bruno@clisp.org>
10053
10054         * modules/size_max (Description): Discourage its use.
10055         Reported by Simon Josefsson.
10056
10057 2009-10-06  Jim Meyering  <meyering@redhat.com>
10058
10059         linkat: avoid compilation failure
10060         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
10061
10062 2009-10-05  Eric Blake  <ebb9@byu.net>
10063
10064         linkat: support Linux 2.6.17
10065         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
10066         linkat on Linux, but allow cache variable override.
10067         * lib/linkat.c (rpl_linkat): Define override.
10068         * modules/linkat (Depends-on): Add symlinkat.
10069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
10070         * modules/unistd (Makefile.am): Substitute it.
10071         * lib/unistd.in.h (linkat): Declare replacement.
10072         Reported by Pádraig Brady.
10073
10074         quotearg: port test to systems with C.UTF-8 locale
10075         * tests/test-quotearg.c (struct result_strings): Add another
10076         member, differentiating between C.ASCII and C.UTF-8 handling.
10077         (compare_strings): Add parameter.
10078         (main): Adjust all callers.
10079
10080         getopt: avoid clash with FreeBSD _getopt_internal
10081         * lib/getopt.in.h (_getopt_internal): Override the name.
10082         * lib/getopt_int.h (includes): Pick up any overrides.
10083         Reported by Reuben Thomas.
10084
10085         hash: allow C89 compilation
10086         * lib/hash.c (check_tuning): Move declaration before statement.
10087         Reported by Reuben Thomas.
10088
10089 2009-10-05  Karl Berry  <karl@gnu.org>
10090
10091         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
10092
10093 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
10094             Bruno Haible  <bruno@clisp.org>
10095
10096         * lib/uname.c (uname): Use a table-driven algorithm to compute
10097         Windows NT versions.
10098
10099 2009-10-04  Bruno Haible  <bruno@clisp.org>
10100
10101         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
10102         program_invocation_short_name.
10103         * modules/progname (configure.ac): Test for presence of
10104         program_invocation_short_name.
10105         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10106
10107 2009-10-04  Bruno Haible  <bruno@clisp.org>
10108
10109         * lib/progname.c (set_program_name): Fix comment.
10110         Reported by Jim Meyering.
10111
10112 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10113             Bruno Haible  <bruno@clisp.org>
10114
10115         * lib/uname.c: Include <string.h>.
10116         (uname): Do only one call to GetVersionEx in the common case.
10117
10118 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
10119             Bruno Haible  <bruno@clisp.org>
10120
10121         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
10122         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
10123         (uname): Add support for Windows CE and various non-x86 CPU types.
10124
10125 2009-10-03  Bruno Haible  <bruno@clisp.org>
10126
10127         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
10128         invocation to tests/configure.ac.
10129         Reported by Ian Beckwith <ianb@erislabs.net>.
10130
10131 2009-10-02  Eric Blake  <ebb9@byu.net>
10132
10133         fchdir: avoid compiler warning
10134         * lib/fchdir.c (canonicalize_file_name)
10135         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
10136
10137         test-open: support mingw errno values
10138         * tests/test-open.h (test_open): Relax test.
10139         * tests/test-fopen.h (test_fopen): Likewise.
10140         * tests/test-openat-safer.c (main): Likewise.
10141
10142         open: fix opening directory on mingw
10143         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
10144
10145         test-open: on GNU/Hurd, /dev/null is a directory
10146         * tests/test-fopen.h (main): Rename...
10147         (test_fopen): ...to this.  Use a guaranteed non-directory when
10148         confirming open behavior on trailing slash.
10149         * tests/test-openat-safer.c (main): Likewise.
10150         * tests/test-open.h (main): Likewise....
10151         (test_open): ...to this.
10152         * tests/test-fopen.c (main): Adjust caller.
10153         * tests/test-fopen-safer.c (main): Likewise.
10154         * tests/test-open.c (main): Likewise.
10155         * tests/test-fcntl-safer.c (main): Likewise.
10156         Reported by Samuel Thibault.
10157
10158         rename, fchdir: don't ignore chdir failure
10159         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
10160         * lib/rename.c (rpl_rename) [W32]: Likewise.
10161         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
10162         an empty destination directory if source cannot be renamed,
10163         although there is still possibility for failure.
10164         * doc/posix-functions/rename.texi (rename): Document the race.
10165         Reported by Jim Meyering.
10166
10167         maint: cleanup whitespace in recent commits
10168         * lib/rename.c (rpl_rename): Remove tabs.
10169         * tests/test-link.h (test_link): Likewise.
10170         * lib/fchdir.c (get_name): Likewise.
10171         Reported by Jim Meyering.
10172
10173 2009-10-02  Ben Pfaff  <blp@gnu.org>
10174
10175         relocatable-prog-wrapper: Add missing dependency on
10176         double-slash-root.
10177         * modules/relocatable-prog-wrapper: Add dependency.
10178         Reported by Ian Beckwith <ianb@erislabs.net>.
10179
10180 2009-10-02  Eric Blake  <ebb9@byu.net>
10181
10182         renameat: fix Solaris bugs
10183         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
10184         needed fixing.
10185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
10186         * modules/stdio (Makefile.am): Substitute it.
10187         * lib/stdio.in.h (renameat): Declare replacement.
10188         * lib/renameat.c (rpl_renameat): Implement fix.
10189
10190         renameat: new module
10191         * modules/renameat: New file.
10192         * lib/renameat.c (renameat): Likewise.
10193         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
10194         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10195         * modules/stdio (Makefile.am): Substitute them.
10196         * lib/stdio.in.h (renameat): Declare it.
10197         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10198         * doc/posix-functions/renameat.texi (renameat): Likewise.
10199         * modules/renameat-tests: New test.
10200         * tests/test-renameat.c: Likewise.
10201
10202         rename: fix mingw bugs
10203         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
10204         directory overwrite bugs.
10205
10206         rename: fix another cygwin 1.5 bug
10207         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
10208         checks.
10209         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
10210         unnecessary cygwin workarounds.  Also work around bug with moving
10211         full directory onto an empty one.
10212         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
10213
10214         rename-dest-slash: merge into rename module
10215         * modules/rename-dest-slash (Status): Mark obsolete.
10216         (Depends-on): Add rename.
10217         (Files): Let rename do it all.
10218         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
10219         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
10220         * m4/rename-dest-slash.m4: ...so this file can be deleted.
10221         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
10222         * lib/rename.c (rpl_rename): Update comments.
10223
10224         rename: fix cygwin 1.5.x bugs
10225         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
10226         * lib/rename.c (rpl_rename): Work around them.
10227         * modules/rename (Depends-on): Add same-inode.
10228
10229         rename: fix Solaris 10 bug
10230         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10231         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
10232         was the only bug.
10233
10234         rename: fix Solaris 9 bug
10235         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
10236         on non-directory.  Avoid calling exit.
10237         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
10238         strdup.
10239         * modules/rename-tests (Depends-on): Drop lstat.
10240         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
10241         (gl_PREREQ_RENAME): Delete unused macro.
10242
10243         rename-dest-slash: fix NetBSD bug
10244         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
10245         links.
10246         * modules/rename-dest-slash (Depends-on): Add same-inode.
10247
10248         rename-tests: new test, exposes several platform bugs
10249         * modules/rename-tests: New file.
10250         * tests/test-rename.h: Likewise.
10251         * tests/test-rename.c: Likewise.
10252         * doc/posix-functions/rename.texi (rename): Improve documentation,
10253         including bugs that will eventually be fixed in gnulib.
10254
10255 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
10256
10257         * lib/uname.c: Include <stdlib.h>
10258         (uname): Assume version info is available.
10259
10260 2009-10-02  Jim Meyering  <meyering@redhat.com>
10261
10262         gnu-web-doc-update: correct --help output
10263         * build-aux/gnu-web-doc-update: Make --help output relevant.
10264
10265         gnu-web-doc-update: add standard options
10266         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
10267
10268         gnu-web-doc-update: New module.
10269         Use this script to automatically update the on-line web documentation
10270         for your GNU project at http://www.gnu.org/software/$pkg/manual/
10271         * modules/gnu-web-doc-update: New file, from coreutils.
10272         * build-aux/gnu-web-doc-update: New script.
10273
10274 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
10275
10276         link: LoadLibrary is not needed.
10277         * lib/link.c: Use GetModuleHandle.
10278
10279 2009-10-01  Eric Blake  <ebb9@byu.net>
10280
10281         getopt: bump serial number
10282         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
10283         change.
10284
10285         tests: tighten link, rmdir, and remove tests
10286         * tests/test-link.h (includes): No need to use <config.h> here.
10287         Clean up if directory hard link was created, otherwise test for
10288         trailing '.'.
10289         * tests/test-linkat.c (main): Simplify.
10290         * tests/test-remove.c (main): Enhance test for trailing '.'.
10291         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10292
10293 2009-10-01  Jim Meyering  <meyering@redhat.com>
10294
10295         maint.mk: requiring "make major" was annoying, for a "minor" release.
10296         What is intended is "stable", to contrast with alpha and beta,
10297         so require "make stable", not "make major".
10298         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
10299         (get_tool_versions): Likewise.
10300         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
10301
10302 2009-09-30  Ben Pfaff  <blp@gnu.org>
10303
10304         Fix broken build of replacement for Windows tmpfile().
10305         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
10306         flags argument added along with the 'mkostemp' module.
10307
10308 2009-09-28  Bruno Haible  <bruno@clisp.org>
10309
10310         Avoid identifier clash with POSIX function 'remove' defined as a macro.
10311         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
10312         to 'remove_elt'.
10313         (gl_list_remove): Update.
10314         * lib/gl_list.c (gl_list_remove): Update.
10315         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
10316         to 'remove_elt'.
10317         (gl_oset_remove): Update.
10318         * lib/gl_list.c (gl_oset_remove): Update.
10319         Reported by Eric Blake.
10320
10321 2009-09-28  Eric Blake  <ebb9@byu.net>
10322
10323         doc: mention yet more cygwin 1.7 status
10324         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
10325         cygwin.
10326         * doc/glibc-functions/execvpe.texi (execvpe): New file.
10327         * doc/gnulib.texi (Glibc unistd.h): Mention it.
10328
10329         argp: fix test failure
10330         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
10331         that are not upper-case.  Pass correct range to tolower.
10332
10333 2009-09-27  Jim Meyering  <meyering@redhat.com>
10334
10335         test-yesno: work around sparc-dash here-document infelicity
10336         Without this change, the literal \177 byte in a here document
10337         would make dash 0.5.5.1-3 access uninitialized memory.
10338         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
10339         Instead, use a marker, "@", and filter through tr to create the desired
10340         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
10341
10342 2009-09-27  Bruno Haible  <bruno@clisp.org>
10343
10344         Disable untested support for new flavours of ACLs on AIX.
10345         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
10346         progress.
10347         * lib/set-mode-acl.c (qset_acl): Likewise.
10348
10349 2008-12-07  Bruno Haible  <bruno@clisp.org>
10350
10351         Add support for new flavours of ACLs on AIX. (Untested.)
10352         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
10353         (file_has_acl): Add support for newer AIX.
10354         * lib/set-mode-acl.c (qset_acl): Likewise.
10355         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
10356         Rainer Tammer <tammer@tammer.net>.
10357
10358 2009-09-26  Eric Blake  <ebb9@byu.net>
10359
10360         argp: fix compilation of getopt
10361         * lib/getopt.in.h (includes): Use different guard than glibc.
10362         Reported by Sergey Poznyakoff.
10363
10364         doc: mention more cygwin 1.7 status
10365         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
10366         bug.
10367         * doc/posix-functions/execl.texi (execl): Likewise.
10368         * doc/posix-functions/execle.texi (execle): Likewise.
10369         * doc/posix-functions/execlp.texi (execlp): Likewise.
10370         * doc/posix-functions/execv.texi (execv): Likewise.
10371         * doc/posix-functions/execve.texi (execve): Likewise.
10372         * doc/posix-functions/execvp.texi (execvp): Likewise.
10373         * doc/glibc-functions/canonicalize_file_name.texi
10374         (canonicalize_file_name): Cygwin 1.7 now provides this.
10375         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
10376         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
10377         on AT_SYMLINK_NOFOLLOW.
10378
10379 2009-09-24  Eric Blake  <ebb9@byu.net>
10380
10381         test-linkat: make test more robust
10382         * tests/test-linkat.c (main): Avoid collision with EEXIST.
10383
10384         getopt: fix inclusion guards for cygwin
10385         * modules/getopt-posix (Depends-on): Add include-next.
10386         (Makefile.am): Substitute more items in replacement header.
10387         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
10388         <getopt.h>.
10389         * lib/getopt.in.h (includes): Use split inclusion guard, and
10390         prefer <getopt.h> over include <unistd.h> when one is present.
10391         (option): Also override name of 'struct option'.
10392
10393         same-inode: revert prior change; it is not yet ready
10394         * NEWS: Undo mention of this change.
10395         * lib/same-inode.h (same-inode.h): Undo tri-state change.
10396         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10397         * lib/cycle-check.c (cycle_check): Likewise.
10398         * lib/same.c (same_name): Likewise.
10399         * lib/at-func2.c (at_func2): Likewise.
10400
10401 2009-09-23  Eric Blake  <ebb9@byu.net>
10402
10403         linkat: new module
10404         * modules/linkat: New file.
10405         * lib/at-func2.c (at_func2): Likewise.
10406         * lib/linkat.c (linkat): Likewise.
10407         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
10408         * lib/openat-priv.h (at_func2): Add declaration.
10409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10410         * modules/unistd (Makefile.am): Substitute them.
10411         * lib/unistd.in.h (linkat): Declare it.
10412         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10413         * doc/posix-functions/linkat.texi (linkat): Likewise.
10414         * doc/posix-functions/link.texi (link): Tweak wording.
10415         * tests/test-link.c (main): Move guts...
10416         * tests/test-link.h (test_link): ...into new file.
10417         * modules/linkat-tests: New test.
10418         * tests/test-linkat.c: Likewise.
10419         * modules/link-tests (Files): Ship new file.
10420         (Depends-on): Add stdbool.
10421
10422         dirname: add library-safe mdir_name
10423         * lib/dirname.h (mdir_name): New prototype.
10424         * lib/dirname.c (dir_name): Move guts...
10425         (mdir_name): ...to new function that avoids xalloc_die.
10426
10427         fchdir: another mingw fix
10428         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
10429         * lib/fchdir.c (get_name): New helper method; skips canonicalize
10430         on mingw (where it has not yet been ported), and make it optional
10431         elsewhere.
10432         (_gl_register_fd): Use it.
10433
10434         same-inode: make SAME_INODE tri-state, to port to mingw
10435         * NEWS: Mention this change.
10436         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
10437         st_ino always being 0.
10438         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
10439         * lib/cycle-check.c (cycle_check): Likewise.
10440         * lib/same.c (same_name): Likewise.
10441
10442         lstat: avoid mingw compilation error
10443         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
10444         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
10445         lstat ourselves.
10446         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
10447         was adequate.
10448         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
10449         the checks for lstat.
10450         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
10451
10452         link: fix test failure on Solaris 9
10453         * lib/link.c (rpl_link): Don't assume link will catch bogus
10454         trailing slash on source.
10455
10456         test-symlinkat: enhance test
10457         * tests/test-readlink.c (main): Move guts...
10458         * tests/test-readlink.h (test_readlink): ...into new file.
10459         * tests/test-symlink.c (main): Move guts...
10460         * tests/test-symlink.h (test_symlink): ...into new file.
10461         * tests/test-symlinkat.c (main): Use new files for further
10462         coverage.
10463         (do_symlink, do_readlink): New helper functions.
10464         * modules/symlink-tests (Files): Ship new file.
10465         (Depends-on): Add stdbool.
10466         * modules/readlink-tests (Files): Ship new file.
10467         (Depends-on): Add stdbool.
10468         * modules/symlinkat-tests (Files): Use new files.
10469
10470 2009-09-23  Eric Blake  <ebb9@byu.net>
10471
10472         readlink: document portability issue with symlink length
10473         * doc/posix-functions/lstat.texi (lstat): Mention that some file
10474         systems have bogus st_size on symlinks, and mention the
10475         areadlink-with-size module.
10476         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
10477         * doc/posix-functions/readlink.texi (readlink): Mention the
10478         areadlink module, and ERANGE failure.
10479         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10480         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
10481
10482         readlink: fix Solaris 9 bug with trailing slash
10483         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
10484         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
10485         * doc/posix-functions/readlink.texi (readlink): Document this.
10486         * modules/readlink-tests: New test.
10487         * tests/test-readlink.c: Likewise.
10488
10489         readlink: fix cygwin 1.5.x bug with return type
10490         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
10491         * lib/unistd.in.h (readlink): Use ssize_t.
10492         * lib/readlink.c (readlink): Likewise.
10493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10494         * modules/unistd (Makefile.am): Substitute it.
10495         * lib/unistd.in.h (readlink): Declare replacement.
10496         * doc/posix-functions/readlink.texi (readlink): Document this.
10497
10498         symlink: use throughout gnulib
10499         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
10500         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
10501         symlink is not used.
10502         * modules/symlinkat (Depends-on): Add symlink.
10503         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10504         * modules/canonicalize-tests (Depends-on): Likewise.
10505         * modules/lstat-tests (Depends-on): Likewise.
10506         * modules/openat-tests (Depends-on): Likewise.
10507         * modules/remove-tests (Depends-on): Likewise.
10508         * modules/rmdir-tests (Depends-on): Likewise.
10509         * modules/unlink-tests (Depends-on): Likewise.
10510         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
10511         * tests/test-canonicalize.c (symlink): Likewise.
10512         * tests/test-fstatat.c (symlink): Likewise.
10513         * tests/test-lstat.c (symlink): Likewise.
10514         * tests/test-remove.c (symlink): Likewise.
10515         * tests/test-rmdir.c (symlink): Likewise.
10516         * tests/test-unlink.c (symlink): Likewise.
10517         * tests/test-unlinkat.c (symlink): Likewise.
10518
10519         symlink: new module, for Solaris 9 bug
10520         * modules/symlink: New file.
10521         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
10522         * lib/symlink.c: Likewise.
10523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10524         * modules/unistd (Makefile.am): Substitute them.
10525         * lib/unistd.in.h (symlink): Declare replacement.
10526         * MODULES.html.sh (File system functions): Mention it.
10527         * doc/posix-functions/symlink.texi (symlink): Likewise.
10528         * modules/symlink-tests: New test.
10529         * tests/test-symlink.c: Likewise.
10530
10531 2009-09-23  Bruno Haible  <bruno@clisp.org>
10532
10533         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
10534         when needed.
10535         Test case: gnulib-tool --import --with-tests atexit inttypes.
10536         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
10537
10538 2009-09-23  Bruno Haible  <bruno@clisp.org>
10539
10540         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
10541         subcommand, not in a subshell.
10542
10543 2009-09-22  Eric Blake  <ebb9@byu.net>
10544
10545         unistd: sort replacement declarations
10546         * lib/unistd.in.h: Sort declarations.
10547
10548         open, openat: minor optimization
10549         * lib/open.c (open): If open succeeded, len is non-zero.
10550         * lib/openat.c (rpl_openat): Likewise.
10551
10552         link-follow: ensure correct result
10553         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
10554         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
10555         distinguish between possible failures.
10556
10557 2009-09-21  Eric Blake  <ebb9@byu.net>
10558
10559         fts: avoid compiler warning
10560         * lib/fts.c (dirent_inode_sort_may_be_useful)
10561         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
10562
10563 2009-09-19  Bruno Haible  <bruno@clisp.org>
10564
10565         * lib/progreloc.c (canonicalize_file_name): New declaration.
10566
10567 2009-09-19  Eric Blake  <ebb9@byu.net>
10568
10569         link: fix quoting
10570         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
10571
10572         openat: fix openat bugs on Solaris 9
10573         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
10574         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
10575         * modules/openat (Depends-on): Add open.
10576         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
10577         * modules/fcntl-h (Makefile.am): Substitute it.
10578         * lib/fcntl.in.h (openat): Declare replacement.
10579         * doc/posix-functions/openat.texi (openat): Document this.
10580
10581         openat: move fstatat and unlinkat into correct files
10582         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
10583         compiled.
10584         * lib/openat.c (fstatat, unlinkat): Move...
10585         * lib/fstatat.c (fstatat): ...into correct files.
10586         * lib/unlinkat.c (unlinkat): Likewise.
10587
10588         openat: fix unlinkat bugs on Solaris 9
10589         * lib/unlinkat.c (unlinkat): New file.
10590         * modules/openat (Depends-on): Add unlink.
10591         (Files): Distribute it.
10592         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
10593         trailing slash behavior is broken.
10594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
10595         * modules/unistd (Makefile.am): Substitute it.
10596         * lib/unistd.in.h (unlinkat): Declare replacement.
10597         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
10598
10599         openat: fix fstatat bugs on Solaris 9
10600         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
10601         stat.
10602         * doc/posix-functions/fstatat.texi (fstatat): Document this.
10603
10604         test-unlinkat: enhance test, to expose Solaris 9 bug
10605         * tests/test-unlink.c (main): Factor guts...
10606         * tests/test-unlink.h (test_rmdir_func): ...into new file.
10607         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
10608         * tests/test-rmdir.c (main): Adjust caller.
10609         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
10610         (unlinker): New helper function.
10611         (rmdirat): Enhance check.
10612         * modules/rmdir-tests (Depends-on): Add stdbool.
10613         * modules/unlink-tests (Depends-on): Likewise.
10614         (Files): Add test-unlink.h.
10615         * modules/openat-tests (Files): Likewise.
10616         (Depends-on): Add unlinkdir.
10617
10618         test-fstatat: new test, to expose Solaris 9 bugs
10619         * tests/test-stat.c (main): Factor guts...
10620         * tests/test-stat.h (test_stat_func): ...into new file.
10621         * tests/test-lstat.c (main): Factor guts...
10622         * tests/test-lstat.h (test_lstat_func): ...into new file.
10623         * tests/test-fstatat.c: New file.
10624         * modules/stat-tests (Files): Add test-stat.h.
10625         * modules/lstat-tests (Files): Add test-lstat.h.
10626         (Depends-on): Add stdbool.
10627         * modules/openat-tests (Depends-on): Add pathmax.
10628         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
10629         (Makefile.am): Run new test.
10630
10631         remove: new module, for mingw and Solaris 9 bugs
10632         * modules/remove: New file.
10633         * lib/remove.c: Likewise.
10634         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
10635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
10636         * modules/stdio (Makefile.am): Use them.
10637         * lib/stdio.in.h (remove): Declare replacement.
10638         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10639         * doc/posix-functions/remove.texi (remove): Likewise.
10640         * modules/remove-tests: New test.
10641         * tests/test-remove.c: Likewise.
10642
10643         unlink: new module, for Solaris 9 bug
10644         * modules/unlink: New file.
10645         * lib/unlink.c: Likewise.
10646         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
10647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
10648         * modules/unistd (Makefile.am): Use them.
10649         * lib/unistd.in.h (stat): Declare replacement.
10650         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10651         * doc/posix-functions/unlink.texi (unlink): Likewise.
10652         * modules/unlink-tests: New test.
10653         * tests/test-unlink.c: Likewise.
10654
10655         lstat: fix Solaris 9 bug
10656         * lib/lstat.c (lstat): Also check for trailing slash on
10657         non-symlink, non-directories.  Use stat module to simplify logic.
10658         * doc/posix-functions/lstat.texi (lstat): Document it.
10659         * modules/lstat-tests (Depends-on): Add errno, same-inode.
10660         (configure.ac): Check for symlink.
10661         * tests/test-lstat.c (main): Add more tests.
10662
10663         stat: add as dependency to other modules
10664         * modules/chown (Depends-on): Add stat.
10665         * modules/euidaccess (Depends-on): Likewise.
10666         * modules/fchdir (Depends-on): Likewise.
10667         * modules/isdir (Depends-on): Likewise.
10668         * modules/link (Depends-on): Likewise.
10669         * modules/lstat (Depends-on): Likewise.
10670         * modules/mkdir-p (Depends-on): Likewise.
10671         * modules/modechange (Depends-on): Likewise.
10672         * modules/open (Depends-on): Likewise.
10673         * modules/readlink (Depends-on): Likewise.
10674         * modules/same (Depends-on): Likewise.
10675
10676         stat: fix Solaris 9 bug
10677         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
10678         slash.
10679         * lib/stat.c (rpl_stat): Work around it.
10680         * doc/posix-functions/stat.texi (stat): Update documentation.
10681
10682         stat: new module, for mingw bug
10683         * modules/stat: New file.
10684         * lib/stat.c: Likewise.
10685         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10686         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
10687         * modules/sys_stat (Makefile.am): Use them.
10688         * lib/sys_stat.in.h (stat): Declare replacement.
10689         * lib/openat.c (fstatat): Deal with lstat and stat being function
10690         macros.
10691         * modules/openat (Depends-on): Add inline.
10692         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
10693         * doc/posix-functions/stat.texi (stat): Likewise.
10694         * modules/stat-tests: New test.
10695         * tests/test-stat.c: Likewise.
10696
10697 2009-09-19  Jim Meyering  <meyering@redhat.com>
10698
10699         syntax-check: detect unnecessary inclusion of canonicalize.h
10700         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
10701
10702 2009-09-19  Eric Blake  <ebb9@byu.net>
10703
10704         canonicalize-lgpl: adjust clients to use correct header
10705         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
10706         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
10707         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
10708         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
10709         * lib/progreloc.c (includes): Likewise.
10710
10711 2009-09-19  Jim Meyering  <meyering@redhat.com>
10712
10713         test-posixtm.c: correct a comment
10714         * tests/test-posixtm.c: Correct first-line comment.
10715         Spotted by Eric Blake.
10716
10717 2009-09-16  Jim Meyering  <meyering@redhat.com>
10718
10719         posixtm-tests: make T const-correct; add a test case
10720         * tests/test-posixtm.c (T): Declare const.
10721         Add a test for -(2^31+1).
10722         Remove useless can-succeed-only-in-2002 test.
10723
10724         posixtm-tests: adjust the sole failing test
10725         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
10726         expected output matches what mktime now produces.  Cross-checked via
10727         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
10728
10729         posixtm: move #ifdef'd tests into a new module
10730         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
10731         * tests/test-posixtm.c: ... this new file.
10732         * modules/posixtm-tests: New module.
10733
10734 2009-09-19  Eric Blake  <ebb9@byu.net>
10735
10736         openat: simplify use of at-func.c
10737         * lib/at-func.c (includes): Include prerequisites here, to
10738         simplify requirements on client files.
10739         * lib/openat-priv.h: Add double-inclusion guard.
10740         * lib/faccessat.c (includes): Simplify.
10741         * lib/fchmodat.c (includes): Likewise.
10742         * lib/fchownat.c (includes): Likewise.
10743         * lib/mkdirat.c (includes): Likewise.
10744         * lib/mkfifoat.c (includes): Likewise.
10745         * lib/symlinkat.c (includes): Likewise.
10746
10747         openat: allow return of fd 0
10748         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
10749         * modules/save-cwd (Depends-on): Replace fcntl-safer with
10750         unistd-safer.
10751         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
10752         <fcntl.h>; this module does not leak fds.
10753         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
10754         must be allowed to return 0, leaving openat_safer to add the
10755         safety.
10756         (openat_permissive): Avoid writing to just-opened fd 2 if
10757         restoring the current directory fails.
10758         * lib/openat-die.c (openat_restore_fail): Add comment.
10759         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
10760         (save_cwd): Guarantee safe fd, but without use of open_safer.
10761         * tests/test-openat.c: New test.
10762         * modules/openat-tests (Files, Makefile.am): Distribute and build
10763         new file.
10764
10765         relocatable-prog-wrapper: fix build
10766         * modules/relocatable-prog-wrapper (Files): Update name of
10767         canonicalize m4 file, broken on 2009-09-17.
10768         Reported by emad hajjar <aleppos@hotmail.com>.
10769
10770 2009-09-19  Bruno Haible  <bruno@clisp.org>
10771
10772         * lib/safe-alloc.h: Use the standard header with GPL copyright.
10773         * lib/safe-alloc.c: Likewise.
10774         Reported by Ian Beckwith <ianb@erislabs.net>.
10775
10776 2009-09-18  Bruno Haible  <bruno@clisp.org>
10777
10778         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
10779         Reported by <erobles@sensacd.com.mx>.
10780
10781 2009-09-17  Eric Blake  <ebb9@byu.net>
10782
10783         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
10784         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
10785         slashes when checking if last component is missing.
10786         * tests/test-canonicalize.c (main): Test this.
10787
10788         canonicalize, canonicalize-lgpl: honor // if distinct from /
10789         * modules/canonicalize (Files): Add double-slash-root.m4.
10790         * modules/canonicalize-lgpl (Files): Likewise.
10791         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
10792         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
10793         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
10794         fallback definition.
10795         (canonicalize_filename_mode): Use it to protect //.
10796         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
10797         (__realpath): Likewise.
10798         * tests/test-canonicalize.c (main): Test this.
10799         * tests/test-canonicalize-lgpl.c (main): Likewise.
10800         * modules/canonicalize-tests (Depends-on): Add same-inode.
10801         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10802
10803         canonicalize-lgpl: fix glibc bug with trailing slash
10804         * m4/canonicalize-lgpl.m4: Move contents...
10805         * m4/canonicalize.m4: ...here.
10806         (gl_CANONICALIZE_LGPL): Factor realpath check...
10807         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
10808         glibc 2.3.5 bug, fixed 2005-04-27.
10809         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
10810         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
10811         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
10812         * modules/canonicalize-lgpl (Files): Manage file rename.
10813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
10814         * modules/stdlib (Makefile.am): Substitute witness.
10815         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
10816         is needed.
10817         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
10818         replacement is required.
10819         * lib/canonicalize.c (canonicalize_file_name): Likewise.
10820         * doc/glibc-functions/canonicalize_file_name.texi
10821         (canonicalize_file_name): Document this.
10822         * doc/posix-functions/realpath.texi (realpath): Likewise.
10823
10824         canonicalize-lgpl: reject non-directory with trailing slash
10825         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
10826         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
10827         catches failures in glibc 2.3.5.
10828         * tests/test-canonicalize.c (main): Likewise.
10829
10830         canonicalize-lgpl: use native realpath if it works
10831         * lib/canonicalize-lgpl.c (realpath): Guard with
10832         FUNC_REALPATH_WORKS.
10833         * lib/stdlib.in.h (realpath): Make declaration optional based on
10834         HAVE_REALPATH.
10835         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
10836         native realpath works.
10837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
10838         * modules/stdlib (Makefile.am): Substitute witness.
10839
10840         canonicalize, canonicalize-lgpl: use <stdlib.h>
10841         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
10842         (Include): Mention <stdlib.h>.
10843         (configure.ac): Mention functions we provide.
10844         * modules/canonicalize (configure.ac): Likewise.
10845         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
10846         realpath if canonicalize_file_name is missing.
10847         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
10848         * modules/stdlib (Makefile.am): Substitute witnesses.
10849         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
10850         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
10851         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
10852         * NEWS: Document this.
10853         * doc/glibc-functions/canonicalize_file_name.texi
10854         (canonicalize_file_name): Likewise.
10855         * doc/posix-functions/realpath.texi (realpath): Likewise.
10856         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
10857
10858         test-canonicalize: consolidate into single C program
10859         * tests/test-canonicalize.sh: Delete; move setup into...
10860         * tests/test-canonicalize.c (main): ...the program, making it
10861         easier to run in debugger.  Add some tests.
10862         * modules/canonicalize-tests (Files): Remove unused file.
10863         (Depends-on): Add progname.
10864         (configure.ac, Makefile.am): Simplify.
10865
10866         test-canonicalize-lgpl: consolidate into single C program
10867         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
10868         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
10869         easier to run in debugger.  Add some tests.
10870         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
10871         (configure.ac, Makefile.am): Simplify.
10872
10873         canonicalize: avoid resolvepath
10874         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
10875         unnecessary checks.
10876         * lib/canonicalize.c (includes): Simplify.
10877         (canonicalize_file_name): Drop resolvepath implementation.
10878         * modules/canonicalize (Depends-on): Drop filenamecat.
10879
10880         canonicalize: don't lose errno
10881         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
10882         over calls to free.
10883
10884         canonicalize: simplify errno handling
10885         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
10886         assignment.
10887
10888         canonicalize, canonicalize-lgpl: update module dependencies
10889         * modules/canonicalize (Depends-on): Add extensions, lstat,
10890         pathmax, stdlib.
10891         (Files): Drop pathmax.h.
10892         (configure.ac): Adjust macro name.
10893         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
10894         lstat, stdlib, sys_stat.
10895         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
10896         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
10897         extensions.
10898         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
10899         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
10900         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
10901         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
10902         declaration, if available.
10903         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
10904         we can rely on the readlink module.
10905         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
10906         (includes): Use <unistd.h> unconditionally.
10907
10908 2009-09-17  Eric Blake  <ebb9@byu.net>
10909
10910         maint: make Include sections of modules consistent
10911         * modules/alloca: Use only header name; no need to list #include.
10912         * modules/alloca-opt: Likewise.
10913         * modules/arpa_inet: Likewise.
10914         * modules/canon-host: Likewise.
10915         * modules/configmake: Likewise.
10916         * modules/dirent: Likewise.
10917         * modules/eealloc: Likewise.
10918         * modules/environ: Likewise.
10919         * modules/fchdir: Likewise.
10920         * modules/fcntl: Likewise.
10921         * modules/fcntl-h: Likewise.
10922         * modules/gethrxtime: Likewise.
10923         * modules/gettime: Likewise.
10924         * modules/ignore-value: Likewise.
10925         * modules/inet_ntop: Likewise.
10926         * modules/inet_pton: Likewise.
10927         * modules/inttypes: Likewise.
10928         * modules/isnand-nolibm: Likewise.
10929         * modules/isnanf-nolibm: Likewise.
10930         * modules/mbchar: Likewise.
10931         * modules/mbfile: Likewise.
10932         * modules/mbiter: Likewise.
10933         * modules/mbuiter: Likewise.
10934         * modules/netdb: Likewise.
10935         * modules/netinet_in: Likewise.
10936         * modules/nproc: Likewise.
10937         * modules/pagealign_alloc: Likewise.
10938         * modules/poll: Likewise.
10939         * modules/printf-frexp: Likewise.
10940         * modules/pthread: Likewise.
10941         * modules/putenv: Likewise.
10942         * modules/random_r: Likewise.
10943         * modules/relocatable-prog: Likewise.
10944         * modules/search: Likewise.
10945         * modules/select: Likewise.
10946         * modules/selinux-h: Likewise.
10947         * modules/settime: Likewise.
10948         * modules/signal: Likewise.
10949         * modules/size_max: Likewise.
10950         * modules/socklen: Likewise.
10951         * modules/ssize_t: Likewise.
10952         * modules/stdarg: Likewise.
10953         * modules/stdbool: Likewise.
10954         * modules/stddef: Likewise.
10955         * modules/stdint: Likewise.
10956         * modules/stdio: Likewise.
10957         * modules/stdlib: Likewise.
10958         * modules/string: Likewise.
10959         * modules/strings: Likewise.
10960         * modules/sys_file: Likewise.
10961         * modules/sys_ioctl: Likewise.
10962         * modules/sys_select: Likewise.
10963         * modules/sys_socket: Likewise.
10964         * modules/sys_stat: Likewise.
10965         * modules/sys_time: Likewise.
10966         * modules/sys_times: Likewise.
10967         * modules/sys_utsname: Likewise.
10968         * modules/sys_wait: Likewise.
10969         * modules/sysexits: Likewise.
10970         * modules/time: Likewise.
10971         * modules/times: Likewise.
10972         * modules/tmpfile: Likewise.
10973         * modules/trim: Likewise.
10974         * modules/unistd: Likewise.
10975         * modules/wchar: Likewise.
10976         * modules/wctype: Likewise.
10977
10978 2009-09-17  Bruno Haible  <bruno@clisp.org>
10979
10980         Make getdate.y compile on QNX and NetBSD 5 / i386.
10981         * m4/getdate.m4 (gl_GETDATE): Conditionally define
10982         TIME_T_FITS_IN_LONG_INT.
10983         * lib/getdate.y (long_time_t): New type.
10984         (relative_time): Change type of 'seconds' field to long_time_t.
10985         (get_date): Update types of local variables. Check against overflow
10986         during conversion from long_time_t to time_t.
10987         Reported by Matt Kraai <kraai@ftbfs.org>
10988         and Hasso Tepper <hasso@netbsd.org>.
10989
10990 2009-09-17  Bruno Haible  <bruno@clisp.org>
10991
10992         * modules/COPYING: Update copyright years.
10993         * modules/README: Likeiwse.
10994         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
10995         Reported by Ian Beckwith <ianb@erislabs.net>.
10996
10997 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
10998
10999         * users.txt: Update references for gnuit package.
11000
11001 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
11002
11003         * m4/getdelim.m4: Fix typo in copyright line.
11004
11005 2009-09-17  Bruno Haible  <bruno@clisp.org>
11006
11007         * lib/atoll.c: Use the standard header with GPL copyright.
11008         * lib/argz.in.h: Likewise.
11009         * lib/glob.c: Likewise.
11010         * lib/glob-libc.h: Likewise.
11011         * lib/random_r.c: Likewise.
11012         * lib/siglist.h: Likewise.
11013         * lib/strsignal.c: Likewise.
11014         Reported by Ian Beckwith <ianb@erislabs.net>.
11015
11016 2009-09-17  Eric Blake  <ebb9@byu.net>
11017
11018         rmdir: ensure correct dependency order
11019         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
11020
11021 2009-09-17  Bruno Haible  <bruno@clisp.org>
11022
11023         Disable assertion that fails on NetBSD 5 / i386.
11024         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
11025         Reported by Sam Steingold <sds@gnu.org>
11026         and Hasso Tepper <hasso@netbsd.org>.
11027
11028 2009-09-16  Eric Blake  <ebb9@byu.net>
11029
11030         unlinkdir: port to mingw
11031         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
11032         on which no one can unlink a directory.
11033
11034         stdlib: sort witness names
11035         * modules/stdlib (Makefile.am): Sort replacements.
11036         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
11037         * lib/stdlib.in.h: Likewise.
11038
11039         parse-duration-tests: avoid link failure
11040         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
11041         LIBINTL.
11042         Reported by Tom G. Christensen.
11043
11044         openat-tests: ensure unlinkat behaves like rmdir
11045         * tests/test-rmdir.c (main): Factor guts...
11046         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
11047         * modules/rmdir-tests (Files): Ship new file.
11048         * modules/openat-tests: New test.
11049         * tests/test-unlinkat.c: Likewise.
11050
11051         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
11052         * modules/rmdir-errno (Status, Notice): Now obsolete.
11053
11054         rmdir: work around cygwin 1.5.x and mingw bugs
11055         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
11056         * lib/rmdir.c (rmdir): Work around it.
11057         * modules/rmdir (Status, Notice): No longer obsolete.
11058         (Files): Add dos.m4.
11059         (Depends-on): Add unistd.
11060         (configure.ac): Set witnesses.
11061         (License): Relax to LGPLv2+.
11062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
11063         * modules/unistd (Makefile.am): Substitute witnesses.
11064         * lib/unistd.in.h (rmdir): Declare replacement.
11065         * doc/posix-functions/rmdir.texi (rmdir): Document this.
11066         * modules/rmdir-tests: New tests.
11067         * tests/test-rmdir.c: Likewise.
11068
11069 2009-09-15  Eric Blake  <ebb9@byu.net>
11070
11071         fchdir: improve use of replacement functions
11072         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
11073         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
11074         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
11075         REPLACE_CLOSEDIR.
11076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
11077         * modules/sys_stat (Makefile.am): Substitute correct witness.
11078         * modules/dirent (Makefile.am): Likewise.
11079         * modules/unistd (Makefile.am): Likewise.
11080         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
11081         * lib/unistd.in.h (dup): Likewise.
11082         * lib/sys_stat.in.h (fstat): Likewise.
11083
11084         maint: ignore gnulib-tool temp files
11085         * .gitignore: Ignore files created during gnulib-tool --test.
11086
11087 2009-09-13  Jim Meyering  <meyering@redhat.com>
11088
11089         posixtm: don't reject a time that specify "60" as the number of seconds
11090         * lib/posixtm.c (posixtime): The code to reject invalid dates
11091         would also reject a time specified with the .60 suffix.
11092         But POSIX allows that, in order to accommodate leap seconds.
11093         So don't reject it.
11094         (main): Adjust tests accordingly.
11095         * modules/posixtm (Depends-on): Add stpcpy.
11096
11097 2009-09-11  Jim Meyering  <meyering@redhat.com>
11098
11099         announce-gen: include [$release_type] in emitted Subject:
11100         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
11101         e.g., [stable] in the emitted Subject: line.
11102
11103 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11104
11105         Remove obsolete macros from several modules.
11106         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
11107         obsolete Autoconf macros with their modern counterparts.
11108         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
11109         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
11110         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11111         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11112         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
11113         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11114         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11115         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11116         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11117         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
11118         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11119         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11120         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
11121         * m4/sockets.m4 (gl_SOCKETS): Likewise.
11122         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
11123         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
11124         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
11125         * m4/time_r.m4 (gl_TIME_R): Likewise.
11126         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11127         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
11128         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
11129
11130         Fix copyright header in build-aux scripts.
11131         * build-aux/git-version-gen: Fix copyright header to match GPLv3
11132         recommendation.
11133         * build-aux/ncftpput-ftp: Likewise.
11134         * build-aux/update-copyright: Likewise.
11135
11136 2009-09-09  Eric Blake  <ebb9@byu.net>
11137
11138         test-link: allow Linux choice of errno
11139         * tests/test-link.c (main): Relax test for alternate error.
11140
11141         strndup: fix improper m4 caching
11142         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
11143         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
11144         (gl_PREREQ_STRNDUP): Delete.
11145         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
11146         * modules/string (Makefile.am): Substitute it.
11147         * lib/string.in.h (strndup): Modernize prototype.
11148
11149         getcwd: port to mingw
11150         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
11151         different from the POSIX assumptions made throughout the getcwd
11152         module; fortunately, the mingw getcwd does not need replacement.
11153         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
11154         * modules/getcwd-tests: New test.
11155         * tests/test-getcwd.c: Likewise.
11156
11157         link: fix platform bugs
11158         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
11159         * lib/link.c (link): Work around them.  Fix related mingw bug.
11160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
11161         * modules/unistd (Makefile.am): Substitute it.
11162         * lib/unistd.in.h (link): Declare replacement.
11163         * doc/posix-functions/link.texi (link): Document this.
11164         * modules/link (Depends-on): Add strdup-posix, sys_stat.
11165
11166         test-link: consolidate into single C program, test more cases
11167         * tests/test-link.sh: Delete.
11168         * tests/test-link.c: Test more error conditions.  Exposes bugs on
11169         at least Cygwin and Solaris.
11170         * modules/link-tests (Files): Remove unused file.
11171         (Depends-on): Add errno, sys_stat.
11172         (Makefile.am): Simplify.
11173
11174 2009-09-08  Bruno Haible  <bruno@clisp.org>
11175
11176         Work around towlower, towupper bug on mingw.
11177         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
11178         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
11179         * doc/posix-functions/towlower.texi: Mention the mingw bug.
11180         * doc/posix-functions/towupper.texi: Likewise.
11181         Reported by Eric Blake.
11182
11183 2009-09-08  Jim Meyering  <meyering@redhat.com>
11184
11185         build: don't try to run autoheader if we don't use it
11186         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
11187         is not used in configure.ac.
11188
11189 2009-09-08  Eric Blake  <ebb9@byu.net>
11190
11191         euidaccess: fix compilation error
11192         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
11193
11194         rawmemchr: relax license
11195         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
11196         okay.
11197         Reported by Jim Meyering.
11198
11199         mkfifoat: new module
11200         * modules/mkfifoat: New file.
11201         * lib/mkfifoat.c: Likewise.
11202         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
11203         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
11204         * modules/sys_stat (Makefile.am): Use them.
11205         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
11206         * MODULES.html.sh (File system functions): Mention module.
11207         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
11208         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
11209         * modules/mkfifoat-tests: New test.
11210         * tests/test-mkfifoat.c: Likewise.
11211
11212         strchrnul: relax license
11213         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
11214         okay.
11215         Reported by Jim Meyering.
11216
11217 2009-09-08  Eric Blake  <ebb9@byu.net>
11218
11219         fstatat: fix compilation on Solaris
11220         * lib/fstatat.c (includes): Add fcntl.h.
11221         Reported by Pádraig Brady.
11222
11223 2009-09-07  Eric Blake  <ebb9@byu.net>
11224
11225         rename: modernize replacement
11226         * modules/rename (Depends-on): Add stdio.
11227         (configure.ac): Declare witness.
11228         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
11229         stdio take care of replacement.
11230         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
11231         * modules/stdio (Makefile.am): Substitute them.
11232         * lib/stdio.in.h (rename): Declare replacement.
11233         * lib/rename.c (includes): Allow cross-compilation to non-windows
11234         machines.
11235         * doc/posix-functions/rename.texi (rename): Improve
11236         documentation.
11237
11238         stdio: sort witness names
11239         * modules/stdio (Makefile.am): Sort replacements.
11240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
11241         * lib/stdio.in.h: Likewise.
11242
11243         getcwd: minor cleanups
11244         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
11245         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
11246
11247         openat: provide more convenience names
11248         * modules/faccessat (configure.ac): Add C witness.
11249         * lib/unistd.in.h (readlinkat): Fix typo.
11250         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
11251         convenience wrappers.
11252         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
11253         wrappers in syntax checks.
11254
11255 2009-09-06  Eric Blake  <ebb9@byu.net>
11256
11257         doc: fix comments in recent patches
11258         * lib/faccessat.c: Mention correct function.
11259         * lib/fchmodat.c: Likewise.
11260         * lib/fchownat.c: Likewise.
11261         * lib/symlinkat.c: Likewise.
11262         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
11263         constants.
11264
11265         faccessat, symlinkat: continue cleanup of previous patch
11266         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
11267         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11268         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
11269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
11270         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
11271         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
11272         set.
11273
11274 2009-09-06  Bruno Haible  <bruno@clisp.org>
11275
11276         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
11277         (fstatat): Declare if GNULIB_FSTATAT is set.
11278         (mkdirat): Declare if GNULIB_MKDIRAT is set.
11279         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
11280         (unlinkat): Declare if GNULIB_UNLINKAT is set.
11281         * modules/fcntl-h (Files): Remove m4/openat.m4.
11282         * modules/sys_stat (Files): Remove m4/openat.m4.
11283         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
11284         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
11285         * modules/unistd (Files): Remove m4/openat.m4.
11286         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
11287         GNULIB_OPENAT.
11288         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
11289         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
11290         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
11291         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
11292         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
11293         gl_OPENAT_DEFAULTS.
11294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
11295         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
11296         Don't require gl_OPENAT_DEFAULTS.
11297         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
11298         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
11299         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
11300         (gl_OPENAT_DEFAULTS): Remove macro.
11301
11302 2009-09-06  Bruno Haible  <bruno@clisp.org>
11303
11304         * modules/openat (configure.ac): Remove unneeded witness.
11305
11306 2009-09-06  Bruno Haible  <bruno@clisp.org>
11307
11308         Set errno to ENOSYS when a function is entirely unsupported.
11309         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
11310         EOPNOTSUPP.
11311         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11312         * modules/chown (Depends-on): Remove errno.
11313
11314 2009-09-06  Bruno Haible  <bruno@clisp.org>
11315
11316         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
11317
11318 2009-09-06  Bruno Haible  <bruno@clisp.org>
11319
11320         * lib/sys_stat.in.h: Fix preprocessor command indentation.
11321
11322 2009-09-06  Ben Pfaff  <blp@gnu.org>
11323             Bruno Haible  <bruno@clisp.org>
11324
11325         Work around a glibc bug in strtok_r.
11326         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
11327         Undefine if UNDEFINE_STRTOK_R is set.
11328         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
11329         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
11330         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
11331         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
11332         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
11333         UNDEFINE_STRTOK_R.
11334         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
11335
11336 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11337
11338         exclude: minor fix
11339         * lib/exclude.c: Include wctype.h
11340
11341 2009-09-06  Akim Demaille  <demaille@gostai.com>
11342
11343         bootstrap: improve error message
11344         * build-aux/bootstrap (find_tool): Upon failure, report the list
11345         of candidates.
11346         Honor the initial value of the envvar.
11347
11348 2009-09-05  Eric Blake  <ebb9@byu.net>
11349
11350         symlinkat: new module
11351         * modules/symlinkat: New file.
11352         * lib/symlinkat.c: Likewise.
11353         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
11354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
11355         * modules/unistd (Makefile.am): Use them.
11356         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
11357         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
11358         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
11359         * MODULES.html.sh (File system functions): Mention module.
11360         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
11361         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11362         * modules/symlinkat-tests: New test.
11363         * tests/test-symlinkat.c: Likewise.
11364
11365         test-openat-safer: add more checks
11366         * tests/test-openat-safer.c (main): Check more code paths.
11367
11368 2009-09-05  Jim Meyering  <meyering@redhat.com>
11369
11370         syntax-check: detect unnecessary inclusion of openat.h
11371         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
11372
11373 2009-09-05  Bruno Haible  <bruno@clisp.org>
11374
11375         Support towlower, towupper.
11376         * doc/posix-functions/towlower.texi: Mention module wctype.
11377         * doc/posix-functions/towupper.texi: Likewise.
11378         * lib/wctype.in.h (towlower, towupper): New functions.
11379         * tests/test-wctype.c: Include stdio.h, stdlib.h.
11380         (ASSERT): New macro.
11381         (e): New variable.
11382         (main): Test also towlower, towupper. Test WEOF argument.
11383         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
11384
11385 2009-09-05  Bruno Haible  <bruno@clisp.org>
11386
11387         Fix conversion behaviour when the input is invalid.
11388         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
11389         mark occurring in first pass of indirect conversion.
11390         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
11391         input.
11392         Found by clang's static analyzer.
11393
11394 2009-09-05  Bruno Haible  <bruno@clisp.org>
11395
11396         * tests/test-striconveh.c (main): Test indirect conversion on platforms
11397         where direct conversion is possible.
11398
11399 2009-09-04  Eric Blake  <ebb9@byu.net>
11400
11401         openat: fail with ENOENT on empty name
11402         * lib/openat-proc.c (openat_proc_name): Special-case the empty
11403         buffer.
11404
11405         link-follow: fix logic bug in prior patch
11406         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
11407         reversed sense of yes and no in prior patch.  Avoid confusing
11408         compilation failure with desired semantics.
11409
11410         link-follow: accomodate mingw and cross-compilation
11411         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
11412         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
11413         cross-compilation results to -1, to make linkat easier to
11414         implement when cross-compiling.  Trivially support mingw.
11415         * modules/link-follow (configure.ac): Call new name.
11416         * NEWS: Mention this.
11417
11418 2009-09-03  Eric Blake  <ebb9@byu.net>
11419
11420         faccessat: compile replacement
11421         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
11422         needed.
11423
11424         fts: fix compilation error
11425         * lib/fts.c (includes): Re-add "openat.h", for
11426         openat_needs_fchdir.
11427
11428         faccessat: new module
11429         * modules/faccessat: New file.
11430         * lib/faccessat.c: Likewise.
11431         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
11432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11433         * modules/unistd (Makefile.am): Use it.
11434         * lib/unistd.in.h (faccessat): Declare it.
11435         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
11436         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
11437         * MODULES.html.sh (File system functions): Mention it.
11438         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
11439         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11440
11441         euidaccess: prefer POSIX over non-standard implementation
11442         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
11443         * lib/euidaccess.c (euidaccess): Use it if available.
11444
11445         openat: make template easier to use
11446         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
11447         AT_FUNC_F2 to be undefined.
11448         (VALIDATE_FLAG): New macro; use it to reject bad flags.
11449         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
11450         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
11451         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
11452         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
11453         Likewise.
11454         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
11455         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
11456         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
11457         Likewise.
11458
11459         openat: declare in POSIX headers
11460         * NEWS: Mention this.
11461         * modules/openat (configure.ac): Declare witnesses.
11462         (Depends-on): Add fcntl-h, sys_stat, unistd.
11463         (Include): Mention correct headers.
11464         * modules/fcntl-h (Depends-on): Add link-warning.
11465         (Files): Add openat.m4.
11466         (Makefile.am): Substitute witnesses.
11467         * modules/sys_stat (Files, Makefile.am): Likewise.
11468         * modules/unistd (Files, Makefile.am): Likewise.
11469         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
11470         (gl_OPENAT_DEFAULTS): New macro.
11471         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
11472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
11473         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
11474         (SYS_STAT_H): Remove unused variable.
11475         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
11476         * lib/fcntl--.h (includes): Remove unneeded header.
11477         * lib/openat-safer.c (includes): Likewise.
11478         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
11479         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
11480         appropriate headers.
11481         (__OPENAT_PREFIX): Delete.
11482         * lib/fcntl.in.h (openat): Provide declaration.
11483         (AT_FDCWD): Fix Solaris bug.
11484         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
11485         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
11486         * lib/fchmodat.c (includes):  Adjust to find declaration.
11487         * lib/fchownat.c (includes): Likewise.
11488         * lib/mkdirat.c (includes): Likewise.
11489         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
11490         still visible.
11491
11492 2009-09-02  Eric Blake  <ebb9@byu.net>
11493
11494         errno: use consistently
11495         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
11496         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
11497         * lib/canonicalize.c (ELOOP): Likewise.
11498         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
11499         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
11500         * lib/lchown.c (EOPNOTSUPP): Likewise.
11501         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
11502         * lib/savewd.c (ESTALE): Likewise.
11503         * lib/settime.c (ENOSYS): Likewise.
11504         * lib/utimens.c (ENOSYS): Likewise.
11505         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
11506         * lib/chdir-safer.c (ELOOP): Likewise.
11507         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
11508         * modules/c-stack (Depends-on): Add errno.
11509         * modules/canonicalize (Depends-on): Likewise.
11510         * modules/chdir-safer (Depends-on): Likewise.
11511         * modules/fdopendir (Depends-on): Likewise.
11512         * modules/inet_ntop (Depends-on): Likewise.
11513         * modules/inet_pton (Depends-on): Likewise.
11514         * modules/lchown (Depends-on): Likewise.
11515         * modules/openat (Depends-on): Likewise.
11516         * modules/savewd (Depends-on): Likewise.
11517         * modules/settime (Depends-on): Likewise.
11518         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
11519
11520         fts: avoid leaking fds
11521         * modules/fts (Depends-on): Add cloexec.
11522         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
11523         flag.
11524
11525         fts: make directory fds more robust
11526         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
11527         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
11528
11529         backupfile, chdir-long, fts, savedir: make safer
11530         * lib/backupfile.c (includes): Use "dirent--.h", since
11531         numbered_backup can write to stderr during readdir.
11532         * lib/savedir.c (includes): Likewise.
11533         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
11534         emulation can write to stderr on failure.
11535         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
11536         * lib/getcwd.c: Document why opendir_safer is unused.
11537         * lib/glob.c: Likewise.
11538         * lib/scandir.c: Likewise.
11539         * lib/openat-proc.c: Likewise, for open_safer.
11540         * modules/backupfile (Depends-on): Add dirent-safer.
11541         * modules/savedir (Depends-on): Likewise.
11542         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
11543         * modules/chdir-long (Depends-on): Add openat-safer.
11544
11545         openat-safer: new module
11546         * modules/openat-safer: New file.
11547         * lib/openat-safer.c: Likewise.
11548         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
11549         * lib/fcntl-safer.h (openat_safer): Declare.
11550         * lib/fcntl--.h (openat): Override.
11551         * MODULES.html.sh (File descriptor based I/O): Mention it.
11552         * lib/openat.h: Add double-inclusion guards.
11553         * lib/openat.c (includes): Only include "fcntl-safer.h", not
11554         "fcntl--.h", so we can implement openat.
11555         * modules/openat-safer-tests: New test.
11556         * tests/test-openat-safer.c: New file.
11557
11558         dirent-safer: new module
11559         * modules/dirent-safer: New file.
11560         * lib/dirent--.h: Likewise.
11561         * lib/dirent-safer.h: Likewise.
11562         * lib/opendir-safer.c: Likewise.
11563         * m4/dirent-safer.m4: Likewise.
11564         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
11565         * modules/dirent-safer-tests: New test.
11566         * tests/test-dirent-safer.c: New file.
11567         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
11568
11569         fdopendir: optimize on mingw
11570         * lib/unistd.in.h (_gl_directory_name): New prototype.
11571         * lib/fchdir.c (_gl_directory_name): Implement it.
11572         (fchdir): Use it to simplify implementation.
11573         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
11574         fchdir, when available, to avoid calling [f]chdir().
11575
11576         fdopendir: split into its own module
11577         * lib/openat.c (fdopendir): Move...
11578         * lib/fdopendir.c: ...into new file.
11579         * modules/fdopendir: New module.
11580         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
11581         * modules/openat (Depends-on): Add fdopendir.
11582         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
11583         fdopendir here.
11584         * modules/savedir (Depends-on): Only need fdopendir, not full
11585         openat.
11586         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
11587         * lib/openat.h (fdopendir): Drop prototype.
11588         * lib/dirent.in.h (fdopendir): Provide prototype.
11589         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
11590         * modules/dirent (Makefile.am): Substitute them.
11591         * MODULES.html.sh (File system functions): Mention it.
11592         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
11593         * modules/fdopendir-tests: New file.
11594         * tests/test-fdopendir.c: Likewise.
11595
11596         fchdir: use more consistent macro convention
11597         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
11598         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
11599         REPLACE_FCHDIR, rather than relying on config.h macros.
11600         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
11601         inside a single make-time REPLACE_FCHDIR block, rather than using
11602         the config.h FCHDIR_REPLACEMENT.
11603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
11604         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
11605         Manage fstat replacement.
11606         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
11607         REPLACE_FCHDIR.
11608         * modules/sys_stat (Files): Add m4/unistd_h.m4.
11609         (Makefile.am): Substitute REPLACE_FCHDIR.
11610         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
11611         FCHDIR_REPLACEMENT.
11612         * lib/dup-safer.c (dup_safer): Likewise.
11613         * lib/dup2.c (rpl_dup2): Likewise.
11614         * lib/dup3.c (rpl_dup3): Likewise.
11615         * lib/open.c (rpl_open): Likewise.
11616
11617         fchdir: simplify error handling, and support dup3
11618         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
11619         stdbool, malloc-posix, realloc-posix.
11620         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
11621         (ensure_dirs_slot): Return false on allocation failure.
11622         (rpl_dup2): Delete.
11623         (_gl_register_dup): New function.
11624         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
11625         (_gl_register_fd): Close fd on allocation failure.
11626         * lib/fcntl.in.h (_gl_register_fd): Update signature.
11627         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
11628         prototype.
11629         (rpl_dup2_fchdir): Delete prototype.
11630         * lib/open.c (open): Update caller.
11631         * lib/dup2.c (dup2): Track fchdir metadata.
11632         * lib/dup3.c (dup3): Likewise.
11633         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
11634         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
11635
11636 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11637
11638         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
11639         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
11640         don't pass arguments to AC_OUTPUT.
11641
11642 2009-09-02  Bruno Haible  <bruno@clisp.org>
11643
11644         * modules/mkdtemp (License): Relicense under LGPLv2+.
11645         Reported by Paolo Bonzini.
11646
11647 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11648
11649         Replace uses of obsolete autoconf macros in Jim's modules.
11650         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
11651         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
11652         can evoke a warning from autoconf when run with -Wobsolete
11653         enabled.  They were declared obsolete for good reasons (see
11654         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
11655         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
11656         should not continue using the deprecated macros.
11657         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
11658         obsolete Autoconf macros with modern counterparts.
11659         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11660         * m4/dos.m4 (gl_AC_DOS): Likewise.
11661         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
11662         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
11663         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
11664         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
11665         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
11666         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
11667         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
11668         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
11669         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
11670         Likewise.
11671         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
11672         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
11673         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
11674         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
11675         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
11676         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
11677
11678 2009-09-01  Eric Blake  <ebb9@byu.net>
11679
11680         fchdir: fix off-by-one bug in previous patch
11681         * lib/fchdir.c (rpl_fstat): Use correct bounds.
11682         (_gl_unregister_fd): Delete useless if.
11683
11684 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
11685
11686         maint.mk: sort the list of syntax-check rules
11687         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
11688         easier to get a sense of progress when the rules are run sequentially
11689         and take a long time.
11690
11691 2009-09-01  Simon Josefsson  <simon@josefsson.org>
11692
11693         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
11694         * modules/netinet_in: Likewise.
11695         * modules/sys_file: Likewise.
11696         * modules/sys_ioctl: Likewise.
11697         * modules/sys_select: Likewise.
11698         * modules/sys_socket: Likewise.
11699         * modules/sys_stat: Likewise.
11700         * modules/sys_time: Likewise.
11701         * modules/sys_times: Likewise.
11702         * modules/sys_utsname: Likewise.
11703         * modules/sys_wait: Likewise.
11704
11705 2009-09-01  Jim Meyering  <meyering@redhat.com>
11706
11707         fts: help ensure that return values are not ignored
11708         * lib/fts_.h (__GNUC_PREREQ): Define.
11709         (__attribute_warn_unused_result__): Define.
11710         (fts_children, fts_close, fts_open, fts_read): Declare with
11711         __attribute_warn_unused_result__.
11712
11713         fts: fts_close now fails also when closing a dir file descriptor fails
11714         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
11715         and propagate to caller, along with errno.
11716
11717         announce-gen: correct formatting in --help output
11718         * build-aux/announce-gen (usage): Move the one-line description in
11719         --help output "up", to where it belongs, just after Usage:.
11720
11721 2009-08-31  Eric Blake  <ebb9@byu.net>
11722
11723         fchdir: port to mingw
11724         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
11725         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
11726         opened, then use a substitute.
11727         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
11728         replacement.
11729         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
11730         (_gl_register_fd): No need to check stat if open already filters
11731         all directories.
11732         (fchdir): Fix error condition to match POSIX.
11733         * modules/fchdir (Depends-on): Add sys_stat.
11734         * doc/posix-functions/open.texi (open): Document the limitation.
11735         * modules/fchdir-tests: New file.
11736         * tests/test-fchdir.c: Likewise.
11737
11738         canonicalize: allow cross-testing from cygwin to mingw
11739         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
11740         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
11741         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
11742         Likewise.
11743         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
11744         target does not support symlinks.
11745         * tests/test-canonicalize-lgpl.sh: Likewise.
11746
11747         chown: avoid compilation warning on mingw
11748         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
11749         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
11750         mingw.
11751         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
11752         * modules/chown (Depends-on): Add errno.
11753
11754 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11755
11756         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
11757         command.
11758
11759 2009-08-31  Jim Meyering  <meyering@redhat.com>
11760
11761         canonicalize: remove useless initialization
11762         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
11763         initialization of local, "end".
11764
11765 2009-08-30  Bruno Haible  <bruno@clisp.org>
11766
11767         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
11768         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
11769         ENOSYS.
11770
11771 2009-08-30  Bruno Haible  <bruno@clisp.org>
11772
11773         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
11774         /usr/xpg4/bin/tr when it exists.
11775         * tests/test-pipe-filter-gi1.sh: Likewise.
11776
11777 2009-08-30  Bruno Haible  <bruno@clisp.org>
11778
11779         Work around deficient /usr/bin/id program on Solaris.
11780         * tests/test-file-has-acl.sh (ID): New variable.
11781         * tests/test-set-mode-acl.sh (ID): Likewise.
11782         * tests/test-copy-acl.sh (ID): Likewise.
11783         * tests/test-copy-file.sh (ID): Likewise.
11784
11785 2009-08-30  Bruno Haible  <bruno@clisp.org>
11786
11787         New module 'xstriconveh'.
11788         * lib/xstriconveh.h: New file.
11789         * lib/xstriconveh.c: New file.
11790         * modules/xstriconveh: New file.
11791
11792 2009-08-30  Bruno Haible  <bruno@clisp.org>
11793
11794         Make it easier to use mem_cd_iconveh.
11795         * lib/striconveh.h (iconveh_t): New type.
11796         (iconveh_open, iconveh_close): New declarations.
11797         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
11798         with a single 'const iconveh_t *' argument.
11799         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
11800         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
11801         with a single 'const iconveh_t *' argument.
11802         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
11803         * tests/test-striconveh.c (main): Update.
11804         * NEWS: Mention the change.
11805
11806 2009-08-30  Bruno Haible  <bruno@clisp.org>
11807
11808         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
11809         problem.
11810
11811 2009-08-30  Bruno Haible  <bruno@clisp.org>
11812
11813         Work around iconv_open problem on Solaris.
11814         * lib/iconv_open-solaris.gperf: New file.
11815         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
11816         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
11817         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
11818         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
11819         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
11820         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
11821
11822 2009-08-29  Jim Meyering  <meyering@redhat.com>
11823
11824         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
11825         * top/maint.mk (cvs-check): Remove target; it was just an alias
11826         to the better-named vc-diff-check.
11827         (maintainer-distcheck): Remove rule.  It was used only from
11828         the (alpha/beta/major) target, and all of its commands but one
11829         were coreutils-specific.
11830         (vc-dist): Remove rule.
11831         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
11832         Run vc-diff-check, not vc-dist.
11833         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
11834
11835 2009-08-27  Bruno Haible  <bruno@clisp.org>
11836
11837         * tests/test-bitrotate.c (main): Remove test that uses a shift count
11838         of 0.
11839
11840 2009-08-27  Bruno Haible  <bruno@clisp.org>
11841
11842         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
11843         compilers.
11844         * doc/func.texi: Document the SunPRO C bug.
11845
11846 2009-08-27  Bruno Haible  <bruno@clisp.org>
11847
11848         Fix link error on Solaris.
11849         * tests/test-parse-duration.c (xstrdup): Remove function.
11850
11851 2009-08-26  Pádraig Brady  <P@draigbrady.com>
11852
11853         ignore-value: handle pointer types, too
11854         * lib/ignore-value.h (__attribute__): Remove definition.
11855         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
11856         of a more concise and more-often effective "(void) i" statement.
11857         (ignore_ptr): New function to suppress warnings from functions that
11858         return pointers, and to make it explicit that one function doesn't
11859         handle all cases.
11860
11861 2009-08-25  Bruno Haible  <bruno@clisp.org>
11862
11863         dup2: work around a Linux bug.
11864         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
11865         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
11866         * doc/posix-functions/dup2.texi: Mention the Linux bug.
11867         Reported by Simon Josefsson.
11868
11869 2009-08-25  Jim Meyering  <meyering@redhat.com>
11870
11871         libguestfs uses gnulib
11872         * users.txt: Add libguestfs.
11873
11874 2009-08-24  Eric Blake  <ebb9@byu.net>
11875
11876         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
11877         * lib/pipe2.c (includes): Add binary-io.h.
11878         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
11879
11880 2009-08-24  Bruno Haible  <bruno@clisp.org>
11881
11882         Tolerate declared but missing accept4 syscall.
11883         * lib/accept4.c (accept4): Invoke original accept4 function first, if
11884         available.
11885         * lib/sys_socket.in.h (accept4): If the function is already present,
11886         override it.
11887         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
11888         * modules/accept4 (Makefile.am): Compile accept4.c always.
11889         Reported by Paolo Bonzini and Eric Blake.
11890
11891 2009-08-23  Bruno Haible  <bruno@clisp.org>
11892
11893         New module 'accept4'.
11894         * lib/sys_socket.in.h (accept4): New declaration.
11895         * lib/accept4.c: New file.
11896         * m4/accept4.m4: New file.
11897         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
11898         GNULIB_ACCEPT4, HAVE_ACCEPT4.
11899         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
11900         HAVE_ACCEPT4.
11901         * modules/accept4: New file.
11902         * doc/glibc-functions/accept4.texi: Mention the new module.
11903
11904 2009-08-24  Jim Meyering  <meyering@redhat.com>
11905
11906         progname: also set global program_invocation_name, when possible
11907         Before this change, a libtool-enabled program that calls glibc's
11908         error function would report the program name as
11909         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
11910         * modules/progname (configure.ac): Check for a declaration of
11911         program_invocation_name.
11912         * lib/progname.c:  Include <errno.h>.
11913         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
11914         Set program_invocation_name.
11915
11916 2009-08-23  Bruno Haible  <bruno@clisp.org>
11917
11918         * lib/dup3.c: Include <string.h>.
11919
11920 2009-08-23  Bruno Haible  <bruno@clisp.org>
11921
11922         * lib/dup3.c (dup3): Test only once whether the system actually exists.
11923         * lib/pipe2.c (pipe2): Likewise.
11924         Suggested by Eric Blake.
11925
11926 2009-08-23  Bruno Haible  <bruno@clisp.org>
11927
11928         Tolerate declared but missing dup3 syscall.
11929         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
11930         * lib/unistd.in.h (dup3): If the function is already present,
11931         override it.
11932         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
11933         * modules/dup3 (Makefile.am): Compile dup3.c always.
11934         Reported by Paolo Bonzini.
11935
11936 2009-08-23  Bruno Haible  <bruno@clisp.org>
11937
11938         Tolerate declared but missing pipe2 syscall.
11939         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
11940         available.
11941         * lib/unistd.in.h (pipe2): If the function is already present,
11942         override it.
11943         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
11944         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
11945         Reported by Paolo Bonzini.
11946
11947 2009-08-23  Bruno Haible  <bruno@clisp.org>
11948
11949         * lib/pipe2.c (pipe2): Move #ifs inside function.
11950
11951 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
11952
11953         quotearg: document limitations of quote_these_too
11954         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
11955         those limitations are created.
11956         * lib/quotearg.h (set_char_quoting): Document that digits and
11957         letters that are special after backslash are not permitted.
11958         (quotearg_char): Cross-reference set_char_quoting documentation.
11959
11960 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
11961
11962         quotearg: implement custom_quoting_style
11963         * lib/quotearg.c: (struct quoting_options): Add left_quote and
11964         right_quote fields.
11965         (set_custom_quoting): New public function.
11966         (quotearg_buffer_restyled): Add left_quote and right_quote
11967         arguments, handle them very much like locale quoting, and update
11968         all uses.
11969         (quotearg_n_custom): New public function.
11970         (quotearg_n_custom_mem): New public function.
11971         (quotearg_custom): New public function.
11972         (quotearg_custom_mem): New public function.
11973         * lib/quotearg.h: Prototype and document new public functions.
11974         (enum quoting_style): For escape_quoting_style and
11975         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
11976         ignored even though they're otherwise like c_quoting_style.
11977         Add custom_quoting_style member and document with comparison to
11978         clocale_quoting_style.
11979         * tests/test-quotearg.c (custom_quotes): New array.
11980         (custom_results): New array.
11981         (main): Extend to test custom quoting.
11982
11983 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
11984
11985         quotearg: fix right quote escaping when it's in quote_these_too
11986         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
11987         quote, be sure to prepend only one backslash.
11988         * tests/test-quotearg.c (use_quote_double_quotes): New function.
11989         (main): Test it.
11990
11991 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
11992
11993         quotearg-tests: test escaping of embedded locale quotes
11994         * tests/test-quotearg.c (struct result_strings): Add member for
11995         new input.
11996         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
11997         (inputs): Add new input.
11998         (results_g): Add expected results.
11999         (flag_results): Likewise.
12000         (locale_results): Likewise.
12001         (compare_strings): Check those.
12002
12003 2009-08-23  Bruno Haible  <bruno@clisp.org>
12004
12005         Tests for module 'dup3'.
12006         * modules/dup3-tests: New file.
12007         * tests/test-dup3.c: New file.
12008
12009         New module 'dup3'.
12010         * lib/unistd.in.h (dup3): New declaration.
12011         * lib/dup3.c: New file.
12012         * m4/dup3.m4: New file.
12013         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
12014         HAVE_DUP3.
12015         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
12016         * modules/dup3: New file.
12017         * doc/glibc-functions/dup3.texi: Mention the new module.
12018
12019 2009-08-23  Bruno Haible  <bruno@clisp.org>
12020
12021         Tweak the dup2 test.
12022         * tests/test-dup2.c (main): Create the test file empty. Verify that an
12023         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
12024         the test file is still empty. Fix argument order of lseek.
12025
12026 2009-08-23  Bruno Haible  <bruno@clisp.org>
12027
12028         Avoid test link errors when the modules getopt-gnu, gettext are used.
12029         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
12030         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12031
12032 2009-08-23  Bruno Haible  <bruno@clisp.org>
12033
12034         Fix getdtablesize() on mingw.
12035         * lib/getdtablesize.c (getdtablesize): Implement differently.
12036         * lib/unistd.in.h (getdtablesize): Improve comment.
12037
12038 2009-08-23  Bruno Haible  <bruno@clisp.org>
12039
12040         New module 'mkostemp'.
12041         Based on Ulrich Drepper's 2007-08-10 change in glibc.
12042         * lib/stdlib.in.h (mksotemp): New declaration.
12043         * lib/mkostemp.c: New file, from glibc with modifications.
12044         * lib/tempname.h (GT_FILE): Remove outdated comment.
12045         (gen_tempname): Add flags argument.
12046         * lib/tempname.c (__GT_BIGFILE): Remove macro.
12047         (__GT_FILE): Map to 1.
12048         (small_open, large_open): Remove macros.
12049         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
12050         * lib/mkstemp.c (mkstemp): Update.
12051         * lib/mkdtemp.c (mkdtemp): Likewise.
12052         * m4/mkostemp.m4: New file.
12053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
12054         HAVE_MKOSTEMP.
12055         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
12056         HAVE_MKOSTEMP.
12057         * modules/mkostemp: New file, based on modules/mkstemp.
12058         * doc/glibc-functions/mkostemp.texi: Mention the new module.
12059         * NEWS: Mention the change.
12060
12061 2009-08-23  Bruno Haible  <bruno@clisp.org>
12062
12063         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
12064         Reported by Eric Blake.
12065
12066 2009-08-23  Bruno Haible  <bruno@clisp.org>
12067
12068         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
12069         Reported by Eric Blake.
12070
12071 2009-08-23  Bruno Haible  <bruno@clisp.org>
12072
12073         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
12074         * modules/pipe2 (Depends-on): Likewise.
12075
12076 2009-08-23  Eric Blake  <ebb9@byu.net>
12077
12078         fcntl-h: add O_TTY_INIT support
12079         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
12080         * tests/test-fcntl-h.c (o): Test it.
12081         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12082
12083         fcntl-h: rename from fcntl, in preparation for fcntl(2)
12084         * modules/fcntl: Move <fcntl.h> header replacement...
12085         * modules/fcntl-h: ...to new name, so as not to collide with
12086         like-named function.
12087         * tests/test-fcntl.c: Rename...
12088         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
12089         * modules/fcntl-tests: Rename...
12090         * modules/fcntl-h-tests: ...to this.  Update test file name.
12091         * modules/chdir-long (Depends-on): Update clients.
12092         * modules/chdir-safer (Depends-on): Likewise.
12093         * modules/fcntl-safer (Depends-on): Likewise.
12094         * modules/fts (Depends-on): Likewise.
12095         * modules/mkancesdirs (Depends-on): Likewise.
12096         * modules/mkdir-p (Depends-on): Likewise.
12097         * modules/open (Depends-on): Likewise.
12098         * modules/savewd (Depends-on): Likewise.
12099         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
12100         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12101
12102 2009-08-22  Bruno Haible  <bruno@clisp.org>
12103
12104         * modules/binary-io (License): Relicense under LGPL.
12105         * modules/pipe2 (License): Likewise.
12106
12107 2009-08-22  Bruno Haible  <bruno@clisp.org>
12108
12109         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
12110         return value.
12111         * lib/pipe-filter-gi.c (filter_init): Likewise.
12112         Reported by Eric Blake.
12113
12114 2009-08-22  Bruno Haible  <bruno@clisp.org>
12115
12116         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
12117         * modules/pipe (Depends-on): Add pipe2.
12118
12119 2009-08-22  Bruno Haible  <bruno@clisp.org>
12120
12121         Tests for module 'pipe2'.
12122         * modules/pipe2-tests: New file.
12123         * tests/test-pipe2.c: New file.
12124
12125         New module 'pipe2'.
12126         * lib/unistd.in.h (pipe2): New declaration.
12127         * lib/pipe2.c: New file.
12128         * m4/pipe2.m4: New file.
12129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
12130         HAVE_PIPE2.
12131         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
12132         * modules/pipe2: New file.
12133         * doc/glibc-functions/pipe2.texi: Mention the new module.
12134
12135 2009-08-22  Bruno Haible  <bruno@clisp.org>
12136
12137         Reference some new glibc functions.
12138         * doc/glibc-functions/accept4.texi: New file.
12139         * doc/glibc-functions/dup3.texi: New file.
12140         * doc/glibc-functions/mkostemp.texi: New file.
12141         * doc/glibc-functions/pipe2.texi: New file.
12142         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
12143         (Glibc sys/socket.h): Refer to accept4.
12144         (Glibc unistd.h): Refer to dup3, pipe2.
12145         Reported by Eric Blake.
12146
12147 2009-08-22  Jim Meyering  <meyering@redhat.com>
12148             Bruno Haible  <bruno@clisp.org>
12149
12150         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
12151         This makes it so packages using automake-1.11's silent-rules option
12152         can print e.g., a single "GEN    configmake.h" line, rather than
12153         the 30+ statements that perform the job.  If you want to see the
12154         actual commands, you can still run "make V=1".
12155         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
12156         so that make output is abbreviated when those variables are defined
12157         appropriately.
12158         * modules/argz: Likewise.
12159         * modules/arpa_inet: Likewise.
12160         * modules/byteswap: Likewise.
12161         * modules/configmake: Likewise.
12162         * modules/dirent: Likewise.
12163         * modules/errno: Likewise.
12164         * modules/fcntl: Likewise.
12165         * modules/float: Likewise.
12166         * modules/fnmatch: Likewise.
12167         * modules/getopt-posix: Likewise.
12168         * modules/glob: Likewise.
12169         * modules/iconv_open: Likewise.
12170         * modules/inttypes: Likewise.
12171         * modules/localcharset: Likewise.
12172         * modules/locale: Likewise.
12173         * modules/math: Likewise.
12174         * modules/netdb: Likewise.
12175         * modules/netinet_in: Likewise.
12176         * modules/poll: Likewise.
12177         * modules/posix_spawnp-tests: Likewise.
12178         * modules/sched: Likewise.
12179         * modules/search: Likewise.
12180         * modules/selinux-h: Likewise.
12181         * modules/signal: Likewise.
12182         * modules/spawn: Likewise.
12183         * modules/stdarg: Likewise.
12184         * modules/stdbool: Likewise.
12185         * modules/stddef: Likewise.
12186         * modules/stdint: Likewise.
12187         * modules/stdio: Likewise.
12188         * modules/stdlib: Likewise.
12189         * modules/string: Likewise.
12190         * modules/strings: Likewise.
12191         * modules/sys_file: Likewise.
12192         * modules/sys_ioctl: Likewise.
12193         * modules/sys_select: Likewise.
12194         * modules/sys_socket: Likewise.
12195         * modules/sys_stat: Likewise.
12196         * modules/sys_time: Likewise.
12197         * modules/sys_times: Likewise.
12198         * modules/sys_utsname: Likewise.
12199         * modules/sys_wait: Likewise.
12200         * modules/sysexits: Likewise.
12201         * modules/time: Likewise.
12202         * modules/unistd: Likewise.
12203         * modules/wchar: Likewise.
12204         * modules/wctype: Likewise.
12205
12206 2009-08-22  Jim Meyering  <meyering@redhat.com>
12207
12208         announce-gen: detect write failure
12209         * build-aux/announce-gen: Add Coda at end.
12210         Remove equivalent-but-more-verbose block at top.
12211
12212 2009-08-19  Akim Demaille  <demaille@gostai.com>
12213
12214         bootstrap: --help to stdout.
12215         * bootstrap (usage): Don't send --help to stderr.
12216         Use a here doc instead of a long string.
12217
12218 2009-08-21  Eric Blake  <ebb9@byu.net>
12219
12220         test-popen-safer: split from test-popen
12221         * tests/test-popen.c (main): Move...
12222         * tests/test-popen.h: ...into new file.
12223         * tests/test-popen-safer2.c: New file.
12224         * modules/popen-tests (Files): Add test-popen.h.
12225         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
12226         Suggested by Bruno Haible.
12227
12228         test-fcntl-safer: split from test-open
12229         * tests/test-open.c (main): Move...
12230         * tests/test-open.h: ...into new file.
12231         * tests/test-fcntl-safer.c: New file.
12232         * modules/open-tests (Files): Add test-open.h.
12233         * modules/fcntl-safer-tests: New file.
12234         Suggested by Bruno Haible.
12235
12236         test-fopen-safer: split from test-fopen
12237         * tests/test-fopen.c (main): Move...
12238         * tests/test-fopen.h: ...into new file.
12239         * tests/test-fopen-safer.c: New file.
12240         * modules/fopen-tests (Files): Add test-fopen.h.
12241         * modules/fopen-safer-tests: New file.
12242         Suggested by Bruno Haible.
12243
12244 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12245
12246         popen-safer: test O_CLOEXEC at run-time.
12247         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
12248
12249 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
12250
12251         fcntl: move more flags to the header
12252         * lib/cloexec.c: Do not define FD_CLOEXEC here.
12253         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
12254         * lib/fcntl.in.h: Do both things here.
12255
12256 2009-08-21  Jim Meyering  <meyering@redhat.com>
12257
12258         consistently remove $@-t before redirecting to it
12259         * modules/argz: Remove $@-t and $@ before redirecting to the former.
12260         * modules/alloca-opt: Likewise.
12261         * modules/byteswap: Likewise.
12262         * modules/fnmatch: Likewise.
12263         * modules/getopt-posix: Likewise.
12264         * modules/glob: Likewise.
12265         * modules/poll: Likewise.
12266         * modules/posix_spawnp-tests: Likewise.
12267         * modules/sys_socket: Likewise.
12268         * modules/sysexits: Likewise.
12269
12270 2009-08-21  Eric Blake  <ebb9@byu.net>
12271
12272         popen: simplify access to original popen
12273         * lib/popen.c (rpl_popen): No need to worry about popen being a
12274         macro.
12275         Reported by Bruno Haible.
12276
12277 2009-08-20  Eric Blake  <ebb9@byu.net>
12278
12279         build: avoid some compiler warnings
12280         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
12281         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
12282         type.
12283         (new_exclude_segment, excluded_file_pattern_p)
12284         (excluded_file_name_p): Reduce scope.
12285         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
12286         old-style declaration.
12287
12288 2009-08-20  Simon Josefsson  <simon@josefsson.org>
12289
12290         * tests/test-exclude1.sh: Handle Windows EOL.
12291         * tests/test-exclude2.sh: Likewise.
12292         * tests/test-exclude3.sh: Likewise.
12293         * tests/test-exclude4.sh: Likewise.
12294         * tests/test-exclude5.sh: Likewise.
12295         * tests/test-exclude6.sh: Likewise.
12296         * tests/test-exclude7.sh: Likewise.
12297
12298 2009-08-19  Akim Demaille  <demaille@gostai.com>
12299
12300         bootstrap: find sha1sum when named gsha1sum.
12301         * bootstrap (find_tool): New.
12302         ($SHA1SUM): New.
12303         Use it.
12304
12305 2009-08-20  Jim Meyering  <meyering@redhat.com>
12306
12307         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
12308         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
12309         expression that converts "." in a file name to "\." in the resulting
12310         regexp.  Start with a dummy statement, so that prior shell variable
12311         definitions are expanded portably.  Reported by Simon Josefsson.
12312
12313 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
12314
12315         Fix polling for writeability of a screen buffer.
12316         * lib/poll.c: Distinguish input and screen buffers for the
12317         Win32 implementation.
12318         * lib/select.c: Likewise.
12319
12320 2009-08-19  Eric Blake  <ebb9@byu.net>
12321
12322         popen-safer: prevent popen from clobbering std descriptors
12323         * modules/popen-safer: New file.
12324         * lib/popen-safer.c: Likewise.
12325         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
12326         * lib/stdio--.h (popen): Provide override.
12327         * lib/stdio-safer.h (popen_safer): Provide declaration.
12328         * tests/test-popen.c (includes): Partially test this.
12329         * modules/popen-safer-tests: New file, for more tests.
12330         * tests/test-popen-safer.c: Likewise.
12331         * MODULES.html.sh (file stream based Input/Output): Mention it.
12332
12333         tests: test some of the *-safer modules
12334         * modules/fopen-safer (Depends-on): Add fopen.
12335         * modules/fcntl-safer (Depends-on): Add fcntl.
12336         * modules/stdlib-safer (Depends-on): Add stdlib.
12337         (configure.ac): Set indicator.
12338         * modules/unistd-safer (configure.ac): Likewise.
12339         * modules/tmpfile-safer (configure.ac): Likewise.
12340         (Depends-on): Add tmpfile.
12341         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
12342         active.
12343         * tests/test-fopen.c (includes): Test safer versions when they are
12344         in use.
12345         * tests/test-open.c (includes): Likewise.
12346
12347         popen: fix cygwin 1.5 bug when stdin closed
12348         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
12349         * modules/popen: New file.
12350         * modules/popen-tests: Likewise.
12351         * tests/test-popen.c: Likewise.
12352         * m4/popen.m4: Likewise.
12353         * lib/popen.c: Likewise.
12354         * lib/stdio.in.h (popen): New declaration.
12355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
12356         * modules/stdio (Makefile.am): Likewise.
12357         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
12358
12359 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
12360
12361         maint.mk: give full control over update-copyright exclusions
12362         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
12363         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
12364         (update-copyright): Don't force inclusion of top-level
12365         ChangeLog.  Don't force exclusion of all COPYING files, but make
12366         them the default exclusion instead.
12367
12368 2009-08-16  Bruno Haible  <bruno@clisp.org>
12369
12370         Fix test failures on Solaris 10.
12371         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
12372         tests when Solaris iconv() is used.
12373         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
12374         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
12375         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
12376         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
12377         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
12378
12379 2009-08-16  Bruno Haible  <bruno@clisp.org>
12380
12381         Fix test failures on Solaris 10.
12382         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
12383         'tr' program and pass it as first argument.
12384         * tests/test-pipe-filter-gi1.sh: Likewise.
12385         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
12386         program as first argument.
12387         * tests/test-pipe-filter-gi1.c (main): Likewise.
12388
12389 2009-08-16  Eric Blake  <ebb9@byu.net>
12390
12391         fpurge: fix previous commits
12392         * modules/fpurge (Makefile.am): Make replacement conditional,
12393         partially reverting 2007-04-29 change; missed in previous
12394         attempt.
12395         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
12396         is missing.
12397
12398 2009-08-16  Bruno Haible  <bruno@clisp.org>
12399
12400         Clarify fpurge's effect on the file position.
12401         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
12402         * tests/test-fpurge.c (main): Make a second pass for checking the file
12403         position.
12404
12405 2009-08-16  Bruno Haible  <bruno@clisp.org>
12406
12407         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
12408         declaration of fpurge is missing.
12409         * tests/test-fpurge.c (main): Check that the file has not more contents
12410         than expected. Close the file before removing it.
12411
12412 2009-08-15  Eric Blake  <ebb9@byu.net>
12413
12414         fpurge: don't wrap working cygwin implementation
12415         * lib/fpurge.c (fpurge): Fix comment typo.
12416         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
12417         1.7 to avoid replacement.
12418         * tests/test-fpurge.c (main): Enhance test.
12419
12420 2009-08-15  Eric Blake  <ebb9@byu.net>
12421         and Jim Meyering  <meyering@redhat.com>
12422
12423         test-update-copyright: skip if perl is insufficient
12424         * tests/test-update-copyright.sh: Failure to run maintainer tool
12425         should not cause testsuite failure on cygwin 1.5.
12426
12427 2009-08-14  Eric Blake  <ebb9@byu.net>
12428
12429         doc: mention more functions added in cygwin 1.7.0
12430         * doc/posix-headers/limits.texi (limits.h): Update for recent
12431         cygwin additions.
12432         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
12433         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12434         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
12435         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
12436         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
12437
12438 2009-08-14  Eric Blake  <ebb9@byu.net>
12439
12440         maint.mk: simplify update-copyright rule
12441         * top/maint.mk (update-copyright-local): Delete, and document how
12442         to do it in cfg.mk instead.
12443         (update-copyright-exclude-regexp): Delete, and document how to do
12444         it in .x-update-copyright instead.
12445         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
12446         exclude ChangeLog.
12447
12448 2009-08-14  Bruno Haible  <bruno@clisp.org>
12449
12450         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
12451
12452 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12453
12454         maint.mk: support update-copyright-env
12455         * top/maint.mk (update-copyright-env): Define place-holder.
12456         (update-copyright): Expand $(update-copyright-env) before
12457         invoking update-copyright.
12458
12459 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12460
12461         update-copyright: implement forced reformatting
12462         * build-aux/update-copyright: Implement and document
12463         UPDATE_COPYRIGHT_FORCE.
12464         * tests/test-update-copyright.sh: Test it.
12465
12466 2009-08-14  Eric Blake  <ebb9@byu.net>
12467         and Bruno Haible  <bruno@clisp.org>
12468
12469         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
12470         * tests/test-locale.c: Revert previous patch related to NULL.
12471         * tests/test-stdio.c: Likewise.
12472         * tests/test-stdlib.c: Likewise.
12473         * tests/test-string.c: Likewise.
12474         * tests/test-unistd.c: Likewise.
12475         * modules/time-tests (Depends-on): Add verify.
12476         * modules/wchar-tests (Depends-on): Likewise.
12477         * tests/test-time.c: Test for NULL compliance.
12478         * tests/test-wchar.c: Likewise.
12479         * modules/locale (Depends-on): Add stddef.
12480         * modules/stdio (Depends-on): Likewise.
12481         * modules/stdlib (Depends-on): Likewise.
12482         * modules/string (Depends-on): Likewise.
12483         * modules/time (Depends-on): Likewise.
12484         * modules/unistd (Depends-on): Likewise.
12485         * modules/wchar (Depends-on): Likewise.
12486         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
12487         * lib/stdlib.in.h (includes): Likewise.
12488         * lib/string.in.h (includes): Likewise.
12489         * lib/time.in.h (includes): Likewise.
12490         * lib/unistd.in.h (includes): Likewise.
12491         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
12492         replaced.
12493         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12494         * m4/stddef_h.m4: New file.
12495         * modules/stddef: Likewise.
12496         * lib/stddef.in.h: Likewise.
12497         * modules/stddef-tests: Likewise.
12498         * tests/test-stddef.c: Likewise.
12499         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
12500         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
12501         * doc/posix-headers/locale.texi (locale.h): Likewise.
12502         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
12503         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
12504         * doc/posix-headers/string.texi (string.h): Likewise.
12505         * doc/posix-headers/time.texi (time.h): Likewise.
12506         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
12507         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
12508
12509 2009-08-14  Eric Blake  <ebb9@byu.net>
12510
12511         doc: improve git diff of texinfo files
12512         * .gitattributes: Add rule for *.texi files, with hint on how to
12513         use it.
12514         Copied from m4, and based on a report by Bruno Haible.
12515
12516 2009-08-14  Bruno Haible  <bruno@clisp.org>
12517
12518         Disable multithread support by default on Cygwin 1.5.x for real.
12519         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
12520
12521 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
12522
12523         update-copyright: much ado about intervals
12524         * build-aux/update-copyright: Implement and document
12525         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
12526         of copyright year intervals.
12527         Also, document UPDATE_COPYRIGHT_YEAR.
12528         * tests/test-update-copyright.sh: Test it.
12529
12530         update-copyright: convert 2-digit to 4-digit years
12531         * build-aux/update-copyright: Implement and document.
12532         * tests/test-update-copyright.sh: Update.
12533
12534 2009-08-14  Jim Meyering  <meyering@redhat.com>
12535
12536         test-exclude: avoid coreutils "make check" failure
12537         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
12538         just as in test-argmatch.c.
12539
12540 2009-08-13  Eric Blake  <ebb9@byu.net>
12541
12542         test-dup2: fix bad assumption
12543         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
12544         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
12545
12546         test-version-etc: fix CRLF portability issue
12547         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
12548         recognize \r.
12549         * tests/test-argp-version-etc-1.sh: Likewise.
12550
12551         getopt: update client modules
12552         * modules/argp (Depends-on): Use getopt-gnu.
12553         * modules/git-merge-changelog (Depends-on): Likewise.
12554         * modules/long-options (Depends-on): Likewise.
12555         * modules/xstrtol (Depends-on): Likewise.
12556
12557 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12558
12559         * tests/test-version-etc.sh: Don't fail on different
12560         project/version.  Don't fail on CRLF differences.  Rewrite to use
12561         multiple -e instead of multiple sed forks, suggested by Eric Blake
12562         <ebb9@byu.net>.
12563         * tests/test-argp-version-etc-1.sh: Likewise.
12564
12565 2009-08-13  Simon Josefsson  <simon@josefsson.org>
12566
12567         * tests/test-version-etc.sh: Don't fail on different
12568         project/version.
12569
12570 2009-08-12  Bruno Haible  <bruno@clisp.org>
12571
12572         Tests for modules 'getopt-posix', 'getopt-gnu'.
12573         * modules/getopt-posix-tests: New file.
12574         * tests/test-getopt.c: New file.
12575         * tests/test-getopt.h: New file.
12576         * tests/test-getopt_long.h: New file.
12577
12578         New modules 'getopt-posix', 'getopt-gnu'.
12579         * modules/getopt-gnu: New file, renamed from modules/getopt.
12580         * modules/getopt-posix: New file.
12581         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
12582         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
12583         (gl_GETOPT): Remove macro.
12584         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
12585         Disable the test against BSD systems that declare optreset. Test
12586         against mingw bug. Test against lack of support of optional arguments
12587         on many platforms.
12588         * doc/glibc-headers/getopt.texi: Update module name and list of
12589         relevant platforms.
12590         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
12591         'getopt-gnu' and more portability problems.
12592         * NEWS: Mention the changes.
12593
12594 2009-08-12  Bruno Haible  <bruno@clisp.org>
12595
12596         Ensure that optarg etc. get declared by <unistd.h>.
12597         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
12598         AC_USE_SYSTEM_EXTENSIONS.
12599         * modules/getopt (Depends-on): Add 'extensions'.
12600
12601 2009-08-12  Bruno Haible  <bruno@clisp.org>
12602
12603         Avoid test link errors.
12604         * modules/pipe-filter-ii-tests (Makefile.am): Define
12605         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
12606         * modules/pipe-filter-gi-tests (Makefile.am): Define
12607         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
12608         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12609
12610 2009-08-12  Bruno Haible  <bruno@clisp.org>
12611
12612         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
12613         gl_GETOPT_SUBSTITUTE before.
12614         (gl_GETOPT): Use it.
12615         * m4/argp.m4 (gl_ARGP): Update.
12616         Reported by Sergey Poznyakoff.
12617
12618         * m4/getopt.m4: Reorder macros.
12619         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
12620         (gl_GETOPT_SUBSTITUTE): Remove macro.
12621
12622 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12623
12624         Minor improvement in gitlog-to-changelog
12625
12626         * build-aux/gitlog-to-changelog: New option `--format' makes
12627         output format string configurable.
12628
12629 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
12630
12631         Optimize exclude: use hash tables for non-wildcard patterns.
12632
12633         * lib/exclude.c: Include hash.h and mbuiter.h
12634         (struct exclude_pattern, exclude_segment): New data types.
12635         (struct exclude): Rewrite.
12636         (fnmatch_pattern_has_wildcards): New function.
12637         (new_exclude_segment, free_exclude_segment): New functions.
12638         (excluded_file_pattern_p, excluded_file_name_p): New functions.
12639         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
12640         * lib/exclude.h (is_fnmatch_pattern): New prototype.
12641         * modules/exclude: Depend on hash and mbuiter.
12642
12643         * modules/exclude-tests: New file.
12644         * tests/test-exclude.c: New file.
12645         * tests/test-exclude1.sh: New file.
12646         * tests/test-exclude2.sh: New file.
12647         * tests/test-exclude3.sh: New file.
12648         * tests/test-exclude4.sh: New file.
12649         * tests/test-exclude5.sh: New file.
12650         * tests/test-exclude6.sh: New file.
12651         * tests/test-exclude7.sh: New file.
12652
12653 2009-08-12  Bruno Haible  <bruno@clisp.org>
12654
12655         Ensure that getopt() gets declared by <unistd.h>.
12656         * lib/unistd.in.h: Conditionally include getopt.h.
12657         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
12658         Set GNULIB_UNISTD_H_GETOPT.
12659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12660         GNULIB_UNISTD_H_GETOPT.
12661         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
12662
12663 2009-08-12  Bruno Haible  <bruno@clisp.org>
12664
12665         Clarify logic.
12666         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
12667         gl_replace_getopt instead of GETOPT_H.
12668
12669 2009-08-12  Bruno Haible  <bruno@clisp.org>
12670
12671         * m4/getopt.m4: Add comments.
12672
12673 2009-08-12  Bruno Haible  <bruno@clisp.org>
12674
12675         Disable multithread support by default on Cygwin 1.5.x.
12676         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
12677         set gl_use_threads=no if not specified otherwise.
12678
12679 2009-08-11  Bruno Haible  <bruno@clisp.org>
12680
12681         Avoid compilation error on NetBSD 5.0.
12682         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
12683         * tests/test-stdio.c: Likewise.
12684         * tests/test-stdlib.c: Likewise.
12685         * tests/test-string.c: Likewise.
12686         * tests/test-unistd.c: Likewise.
12687         Reported by Greg Troxel <gdt@ir.bbn.com>
12688         at <https://savannah.gnu.org/support/?106973>.
12689
12690 2009-08-11  Bruno Haible  <bruno@clisp.org>
12691
12692         * modules/dup2-tests (Depends-on): Remove close.
12693
12694         Undo 2009-07-19 commit.
12695         * modules/acl-tests (Depends-on): Remove close.
12696         * modules/binary-io-tests (Depends-on): Likewise.
12697         * modules/closein-tests (Depends-on): Likewise.
12698         * modules/flock-tests (Depends-on): Likewise.
12699         * modules/fsync-tests (Depends-on): Likewise.
12700         * modules/lseek-tests (Depends-on): Likewise.
12701         * modules/pipe-tests (Depends-on): Likewise.
12702         * modules/posix_spawn-tests (Depends-on): Likewise.
12703         * modules/posix_spawnp-tests (Depends-on): Likewise.
12704         * modules/stat-time-tests (Depends-on): Likewise.
12705         * modules/yesno-tests (Depends-on): Likewise.
12706
12707 2009-08-10  Bruno Haible  <bruno@clisp.org>
12708
12709         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
12710
12711 2009-08-10  Bruno Haible  <bruno@clisp.org>
12712
12713         Fix a gcc warning.
12714         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
12715
12716 2009-08-10  Bruno Haible  <bruno@clisp.org>
12717
12718         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
12719         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
12720         not only the first time.
12721         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
12722         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
12723         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
12724         is 1, not only the the first time.
12725
12726 2009-08-10  Bruno Haible  <bruno@clisp.org>
12727
12728         Make it possible to use module 'gethostname' without module 'close'.
12729         * lib/unistd.in.h (close): Evoke a link error only if
12730         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
12731         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12732         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12733         * modules/unistd (Makefile.am): Substitute
12734         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12735         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
12736         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
12737         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
12738         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12739         * modules/sys_ioctl (Makefile.am): Substitute
12740         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12741         * modules/socket (configure.ac): On native Windows, set
12742         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
12743         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
12744         Reported by Sam Steingold <sds@gnu.org>.
12745
12746 2009-08-10  Bruno Haible  <bruno@clisp.org>
12747
12748         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
12749         * modules/ioctl (configure.ac): Likewise.
12750
12751 2009-08-10  Bruno Haible  <bruno@clisp.org>
12752
12753         Avoid collision between gnulib wrapper and libintl wrapper.
12754         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
12755         already defined in intl/printf.c.
12756         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
12757         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
12758
12759 2009-08-09  Bruno Haible  <bruno@clisp.org>
12760
12761         Make <sys/select.h> really self-contained, also on Solaris 10.
12762         * lib/sys_select.in.h: Include <string.h>.
12763         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
12764         Solaris 10 problem.
12765         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
12766         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
12767         Reported by Jim Meyering.
12768
12769 2009-08-09  Bruno Haible  <bruno@clisp.org>
12770
12771         Avoid warnings from 'aclocal' that are due to a use of macro name
12772         AM_XGETTEXT_OPTION that is not defined in automake.
12773         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
12774         automake.
12775         * modules/error (configure.ac): Likewise.
12776         * modules/propername (configure.ac): Likewise.
12777         * modules/vasprintf (configure.ac): Likewise.
12778         * modules/verror (configure.ac): Likewise.
12779         * modules/xprintf (configure.ac): Likewise.
12780         * modules/xvasprintf (configure.ac): Likewise.
12781
12782 2009-08-08  Bruno Haible  <bruno@clisp.org>
12783
12784         Avoid compilation error in C++ mode.
12785         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
12786         Reported by Sam Steingold <sds@gnu.org>.
12787
12788 2009-08-08  Bruno Haible  <bruno@clisp.org>
12789
12790         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
12791         for the various Unix platforms.
12792         * doc/posix-headers/limits.texi: Update platforms list regarding
12793         HOST_NAME_MAX.
12794         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12795
12796 2009-08-07  Jim Meyering  <meyering@redhat.com>
12797
12798         selinux-at: fix typo in a comment
12799         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
12800         Spotted by Paolo Bonzini.
12801
12802         selinux-at: remove redundant m4 code, add documentation
12803         * modules/selinux-at (configure.ac): Remove redundant code.
12804         LIB_SELINUX is already set via the dependent module, selinux-h.
12805         (Include): Add quotes around selinux-at.h.
12806         * lib/selinux-at.h: Add documentation.
12807         Reported by Bruno Haible in
12808         http://marc.info/?l=gnulib-bug&m=124958988300749
12809
12810 2009-08-07  Bruno Haible  <bruno@clisp.org>
12811
12812         Avoid link error on MacOS X 10.3 and 10.4.
12813         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
12814         on non-ELF systems.
12815         * lib/argp-pv.c (argp_program_version): Likewise.
12816         Reported by Simon Josefsson.
12817
12818 2009-08-07  Simon Josefsson  <simon@josefsson.org>
12819
12820         * tests/test-version-etc.sh: Use $EXEEXT.
12821
12822 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
12823
12824         update-copyright: update documentation to point to maint.mk
12825         * build-aux/update-copyright: Here.
12826
12827 2009-08-06  Jim Meyering  <meyering@redhat.com>
12828
12829         maint.mk: support update-copyright-local
12830         * top/maint.mk (update-copyright-local): Define place-holder.
12831         (update-copyright): Depend on $(update-copyright-local).
12832
12833 2009-08-06  Jim Meyering  <meyering@redhat.com>
12834
12835         selinux-at: new module
12836         Initially written for coreutils, this module will soon be
12837         used by findutils, too.
12838         * MODULES.html.sh [Misc]: Add selinux-at.
12839         * lib/selinux-at.h: New file, from coreutils.
12840         * lib/selinux-at.c: Likewise.
12841         * modules/selinux-at: Likewise.
12842         (License): Change from LGPL to GPL, since it depends
12843         on the GPL'd openat module.
12844
12845         doc: update README
12846         * README: Remove references to cogito.
12847         Remove cvs-repo-updating instructions from 2007.
12848         Don't imply that CVS is better if you have limited disk space.
12849
12850 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
12851
12852         update-copyright: support C-style comments
12853         * build-aux/update-copyright: Implement and document.
12854         * tests/test-update-copyright.sh: Test.
12855
12856 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
12857
12858         update-copyright: support omitted "(C)"
12859         * build-aux/update-copyright: Implement and document.  Also,
12860         allow variable whitespace before "(C)".
12861         * tests/test-update-copyright.sh: Test.
12862
12863 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
12864
12865         update-copyright: don't trip on non-FSF copyright statements
12866         * build-aux/update-copyright: Fix so that the first correctly
12867         formatted FSF copyright statement is recognized no matter what
12868         appears before it.  Update documentation.
12869         * tests/test-update-copyright.sh: Test that.
12870
12871 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
12872
12873         update-copyright: clean up code a little
12874         * build-aux/update-copyright: Append "_re" to the name of any
12875         variable holding a regular expression.
12876         Replace "old" and "new" with "stmt" in variable names.
12877         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
12878         handled correctly.
12879         Format code more consistently.
12880
12881 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
12882
12883         update-copyright-tests: improve portability
12884         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
12885         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
12886
12887 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
12888
12889         update-copyright: support @copyright{} and &copy;
12890         * build-aux/update-copyright: Implement and document.
12891         * tests/test-update-copyright.sh: Test.
12892
12893 2009-08-04  Jim Meyering  <meyering@redhat.com>
12894
12895         update-copyright-tests: correctly test EOL=\r\n handling
12896         * tests/test-update-copyright.sh: Put \r at the end of some lines
12897         for the dos-eol tests.  Based on a patch by Joel E. Denny.
12898
12899         maint.mk: make update-copyright exclusion list more configurable
12900         * top/maint.mk (update-copyright): Default to excluding COPYING,
12901         but allow an override, in case someone does want to update that file.
12902
12903         maint.mk: don't update copyright date in COPYING
12904         * top/maint.mk (update-copyright): Exclude COPYING.
12905
12906         maint.mk: add a copyright-updating rule
12907         * top/maint.mk (update-copyright): New rule.
12908         Derived from coreutils/Makefile.am.
12909
12910         update-copyright: rename some variables
12911         * build-aux/update-copyright: Rename a few variables for clarity.
12912         Tweak syntax.  List Joel E. Denny as coauthor.
12913
12914 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
12915
12916         update-copyright: fix bug for 2-digit last year and add tests
12917         * build-aux/update-copyright: Fix bug.
12918         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
12919         specified.
12920         * modules/update-copyright-tests: New
12921         * tests/test-update-copyright.sh: New.
12922
12923 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
12924
12925         update-copyright: handle leading tabs in line prefix
12926         * build-aux/update-copyright: Count leading tabs as 8 spaces
12927         when computing margin.  This helps with the formatting of
12928         ChangeLogs, for example.
12929         Fix documentation a little.
12930
12931 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
12932
12933         update-copyright: support EOL=\r\n
12934         * build-aux/update-copyright: Implement that.
12935
12936 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
12937
12938         update-copyright: automatically format copyright statements
12939         * build-aux/update-copyright: Implement that.
12940         Also, be a little more predictable and safer by always failing
12941         when the full copyright format is not perfectly recognized as an
12942         unbroken whole.  Discussed at
12943         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
12944         Rewrite documentation.
12945
12946 2009-08-03  Bruno Haible  <bruno@clisp.org>
12947
12948         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
12949
12950 2009-08-02  Bruno Haible  <bruno@clisp.org>
12951
12952         Tests for module 'uname'.
12953         * modules/uname-tests: New file.
12954         * tests/test-uname.c: New file.
12955
12956         New module 'uname'.
12957         * lib/uname.c: New file.
12958         * m4/uname.m4: New file.
12959         * modules/uname: New file.
12960         * doc/posix-functions/uname.texi: Mention the new module.
12961
12962 2009-08-02  Bruno Haible  <bruno@clisp.org>
12963
12964         Tests for module 'sys_utsname'.
12965         * modules/sys_utsname-tests: New file.
12966         * tests/test-sys_utsname.c: New file.
12967
12968         New module 'sys_utsname'.
12969         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
12970         * m4/sys_utsname_h.m4: New file.
12971         * modules/sys_utsname: New file.
12972         * doc/posix-headers/sys_utsname.texi: Mention the new module.
12973
12974 2009-08-02  Bruno Haible  <bruno@clisp.org>
12975
12976         Implicitly initialize the sockets library.
12977         * lib/gethostname.c: Include sockets.h.
12978         (rpl_gethostname): Invoke gl_sockets_startup.
12979         * lib/socket.c: Include sockets.h.
12980         (rpl_socket): Invoke gl_sockets_startup.
12981         * modules/gethostname (Depends-on): Add sockets.
12982         * modules/socket (Depends-on): Likewise.
12983         * tests/test-poll.c: Don't include sockets.h.
12984         (main): Don't invoke gl_sockets_startup.
12985         * tests/test-select.c: Don't include sockets.h.
12986         (main): Don't invoke gl_sockets_startup.
12987
12988 2009-08-02  Bruno Haible  <bruno@clisp.org>
12989
12990         Allow multiple calls to gl_sockets_startup.
12991         * lib/sockets.c (initialized_sockets_version): New variable.
12992         (gl_sockets_startup): Do nothing if already called for this or a higher
12993         version.
12994         (gl_sockets_cleanup): Reset initialized_sockets_version.
12995
12996 2009-08-03  Simon Josefsson  <simon@josefsson.org>
12997
12998         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
12999         different project/version.
13000
13001 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
13002             Bruno Haible  <bruno@clisp.org>
13003
13004         Tests for module 'pipe-filter-gi'.
13005         * modules/pipe-filter-gi-tests: New file.
13006         * tests/test-pipe-filter-gi1.sh: New file.
13007         * tests/test-pipe-filter-gi1.c: New file.
13008         * tests/test-pipe-filter-gi2.sh: New file.
13009         * tests/test-pipe-filter-gi2-main.c: New file.
13010         * tests/test-pipe-filter-gi2-child.c: New file.
13011
13012         New module 'pipe-filter-gi'.
13013         * lib/pipe-filter-gi.c: New file.
13014         * modules/pipe-filter-gi: New file.
13015
13016 2009-08-02  Bruno Haible  <bruno@clisp.org>
13017             Paolo Bonzini  <bonzini@gnu.org>
13018
13019         Tests for module 'pipe-filter-ii'.
13020         * modules/pipe-filter-ii-tests: New file.
13021         * tests/test-pipe-filter-ii1.sh: New file.
13022         * tests/test-pipe-filter-ii1.c: New file.
13023         * tests/test-pipe-filter-ii2.sh: New file.
13024         * tests/test-pipe-filter-ii2-main.c: New file.
13025         * tests/test-pipe-filter-ii2-child.c: New file.
13026
13027         New module 'pipe-filter-ii'.
13028         * lib/pipe-filter.h: New file.
13029         * lib/pipe-filter-ii.c: New file.
13030         * lib/pipe-filter-aux.h: New file.
13031         * modules/pipe-filter-ii: New file.
13032
13033 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13034
13035         * lib/gc-libgcrypt.c: Change copyright to FSF.
13036         * lib/gc-gnulib.c: Likewise.
13037
13038 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
13039
13040         * lib/gethostname.c: Include limits.h.
13041
13042 2009-08-02  Simon Josefsson  <simon@josefsson.org>
13043             Bruno Haible  <bruno@clisp.org>
13044
13045         Ensure HOST_NAME_MAX as part of the gethostname module.
13046         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
13047         define also HOST_NAME_MAX.
13048         * tests/test-gethostname.c: Include <limits.h>.
13049         (main): Check also HOST_NAME_MAX.
13050         * doc/posix-headers/limits.texi: Document the mingw problem.
13051
13052 2009-08-02  Bruno Haible  <bruno@clisp.org>
13053
13054         * lib/gethostname.c (gethostname): Fix handling of large len argument.
13055         Add comments.
13056
13057 2009-03-31  Simon Josefsson  <simon@josefsson.org>
13058
13059         * lib/gethostname.c: Add Windows wrapper.
13060         * m4/gethostname.m4: Look for gethostname in -lws2_32.
13061         * modules/gethostname: Depend on sys_socket & errno, for also
13062         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
13063         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
13064
13065 2009-07-31  Jim Meyering  <meyering@redhat.com>
13066
13067         getloadavg: fix symbol name in comment
13068         * lib/getloadavg.c: Correct a typo I introduced when adding
13069         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
13070         Matt Kraai spotted the problem.
13071
13072 2009-07-29  Matt Kraai  <mkraai@beckman.com>
13073
13074         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
13075         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
13076         code also if ! defined N_NAME_POINTER.
13077         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
13078         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
13079         but the n_name member is a 12-byte array.
13080
13081 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
13082
13083         update-copyright: generalize comment handling
13084         * build-aux/update-copyright: Handle copyright statements
13085         within more comment styles.
13086         Document usage.
13087         Report any file with an external copyright holder or parse failure.
13088
13089 2009-07-29  Jim Meyering  <meyering@redhat.com>
13090
13091         mktime: correct setting of REPLACE_MKTIME
13092         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
13093
13094         update-copyright: new module
13095         * modules/update-copyright: New file.
13096         * build-aux/update-copyright: New file.
13097         * MODULES.html.sh (maint+release support): Add update-copyright.
13098
13099 2009-07-27  Bruno Haible  <bruno@clisp.org>
13100
13101         Fix compilation error when <ctime> is used and mktime is replaced.
13102         * lib/time.in.h (mktime): New declaration.
13103         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
13104         REPLACE_MKTIME instead of defining mktime in config.h.
13105         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
13106         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
13107         Reported by Ross McFarland <rwmcfa1@neces.com>.
13108
13109 2009-07-27  Bruno Haible  <bruno@clisp.org>
13110
13111         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
13112         Reported by Matt Kraai <mkraai@beckman.com>.
13113
13114 2009-07-25  Jim Meyering  <meyering@redhat.com>
13115
13116         maint.mk: avoid warnings about missing files
13117         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
13118         diagnostic when .prev-version does not exist.
13119         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
13120         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
13121         nonexistent cfg.mk.
13122         Suggestions from Simon Josefsson.
13123
13124 2009-07-25  Bruno Haible  <bruno@clisp.org>
13125
13126         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
13127         defined as macros. Needed on QNX 6.4.1.
13128         Reported by Matt Kraai <mkraai@beckman.com>.
13129
13130 2009-07-23  Jim Meyering  <meyering@redhat.com>
13131
13132         maint.mk: invoke "make dist" with a working value of XZ_OPT
13133         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
13134
13135 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
13136
13137         Make fseeko.c compile on QNX.
13138         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
13139
13140 2009-07-22  Peter Simons  <simons@cryp.to>
13141
13142         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
13143         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
13144         * lib/md4.h: Likewise.
13145         * lib/md5.h: Likewise.
13146         * lib/sha1.h: Likewise.
13147         * lib/sha256.h: Likewise.
13148         * lib/sha512.h: Likewise.
13149
13150         tests-sha1: don't assign literal string to 'char *' variable
13151         * tests/test-sha1.c (main): Declare locals with "const" to match
13152         attributes of the right hand side.
13153
13154 2009-07-21  Eric Blake  <ebb9@byu.net>
13155
13156         dup2: fix more mingw problems
13157         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
13158         fd to itself.
13159         * doc/posix-functions/dup2.texi (dup2): Document the bug.
13160         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
13161         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
13162         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
13163         care of mingw bugs.
13164
13165 2009-07-21  Jim Meyering  <meyering@redhat.com>
13166
13167         vc-list-files: avoid failure when /bin/sh is dash
13168         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
13169         On some Debian based systems, /bin/sh is a symlink to dash, and running
13170         this command would omit the "/" following each 'tests' prefix:
13171           dash -x build-aux/vc-list-files -C . tests
13172         That is because bash and dash work differently:
13173           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
13174           bash ok
13175           dash odd
13176
13177 2009-07-21  Eric Blake  <ebb9@byu.net>
13178
13179         dup2-tests: test previous patch
13180         * modules/dup2-tests: New file.
13181         * tests/test-dup2.c: Likewise.
13182         * tests/test-open.c (main): Avoid unspecified behavior.
13183         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
13184         test.
13185
13186         dup2: work around mingw and cygwin 1.5 bug
13187         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
13188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13189         * modules/unistd (Makefile.am): Substitute it.
13190         * lib/unistd.in.h (dup2): Declare the replacement.
13191         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
13192         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
13193         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
13194         * modules/execute (Depends-on): Add dup2.
13195         * modules/fseterr (Depends-on): Likewise.
13196         * modules/pipe (Depends-on): Likewise.
13197         * modules/posix_spawn-internal (Depends-on): Likewise.
13198
13199 2009-07-21  Bruno Haible  <bruno@clisp.org>
13200
13201         * modules/.gitattributes: New file.
13202
13203 2009-07-20  Bruno Haible  <bruno@clisp.org>
13204
13205         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
13206         (main): Use it.
13207
13208 2009-07-20  Eric Blake  <ebb9@byu.net>
13209
13210         test-pipe: make a bit more robust.
13211         * tests/test-pipe.c (myerr): Allow error messages regardless of
13212         what we do to stderr.
13213         (test_pipe): Rearrange to avoid deadlock.
13214         (child_main): Try a larger read, to ensure we avoided deadlock.
13215         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
13216         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
13217         if misused.
13218
13219 2009-07-19  Jim Meyering  <meyering@redhat.com>
13220
13221         fts: avoid false-positive cycle-detection
13222         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
13223         for each new command line argument.
13224
13225 2009-07-19  Bruno Haible  <bruno@clisp.org>
13226
13227         Fix build error on mingw with the modules sys_select and unistd.
13228         * modules/acl-tests (Depends-on): Add close.
13229         * modules/binary-io-tests (Depends-on): Likewise.
13230         * modules/closein-tests (Depends-on): Likewise.
13231         * modules/flock-tests (Depends-on): Likewise.
13232         * modules/fsync-tests (Depends-on): Likewise.
13233         * modules/lseek-tests (Depends-on): Likewise.
13234         * modules/pipe-tests (Depends-on): Likewise.
13235         * modules/posix_spawn-tests (Depends-on): Likewise.
13236         * modules/posix_spawnp-tests (Depends-on): Likewise.
13237         * modules/stat-time-tests (Depends-on): Likewise.
13238         * modules/yesno-tests (Depends-on): Likewise.
13239
13240 2009-07-19  Bruno Haible  <bruno@clisp.org>
13241
13242         Unify conditionals.
13243         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
13244         macros, not at the compiler macros.
13245         * lib/pipe.c: Likewise.
13246         * lib/execute.c: Likewise.
13247         * lib/spawni.c: Likewise.
13248
13249 2009-07-19  Bruno Haible  <bruno@clisp.org>
13250
13251         Fix handling of closed stdin/stdout/stderr on mingw.
13252         * lib/w32spawn.h: Include unistd.h.
13253         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
13254         file descriptor with O_NOINHERIT flag.
13255         (fd_safer_noinherit): New function, based on fd-safer.c.
13256         (dup_safer_noinherit): New function, based on dup-safer.c.
13257         (undup_safer_noinherit): New function.
13258         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
13259         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
13260         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
13261         instead of fd_safer.
13262         * tests/test-pipe.c: Include <windows.h>.
13263         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
13264
13265         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
13266         from main.
13267         (test_pipe): Pass an extra argument for disambiguation.
13268         (main): Invoke parent_main or child_main.
13269
13270         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
13271         consistently.
13272
13273 2009-07-18  Eric Blake  <ebb9@byu.net>
13274
13275         test-pipe: fix mingw build
13276         * tests/test-pipe.c (main): Avoid fcntl on mingw.
13277
13278 2009-07-18  Bruno Haible  <bruno@clisp.org>
13279
13280         * modules/pipe-tests (Makefile.am): Fix typo.
13281
13282 2009-07-18  Eric Blake  <ebb9@byu.net>
13283
13284         error: fix mingw build
13285         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
13286         Reported by Bruno Haible.
13287
13288         error: avoid undefined use of stdout
13289         * lib/error.c (error, error_at_line): Check that fd 1 is open
13290         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
13291         is handling faults and the close_stdout module wants to report the
13292         detection of closed stdout as an error.
13293
13294 2009-07-17  Eric Blake  <ebb9@byu.net>
13295
13296         pipe: be robust in face of closed fds
13297         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
13298         should cause child to misbehave.
13299         * modules/pipe-tests: New module.
13300         * tests/test-pipe.c: New file.
13301         * tests/test-pipe.sh: New file.
13302         Reported by Akim Demaille.
13303
13304 2009-07-14  Bruno Haible  <bruno@clisp.org>
13305
13306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
13307         Reported by anonymous kc.
13308
13309 2009-07-07  Jim Meyering  <meyering@redhat.com>
13310
13311         maint.mk: don't look for translatable strings in *.m4 or *.mk
13312         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
13313         when searching for translatable strings.
13314
13315 2009-07-05  Jim Meyering  <meyering@redhat.com>
13316
13317         remove superfluous parentheses in STREQ definition
13318         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
13319         * lib/getugroups.c (STREQ): Likewise.
13320         * lib/fnmatch.c (STREQ): Likewise.
13321         Spotted by Bruno Haible.
13322
13323 2009-07-04  Jim Meyering  <meyering@redhat.com>
13324
13325         argv-iter: new module
13326         * MODULES.html.sh: Add argv-iter.
13327         * lib/argv-iter.c, lib/argv-iter.h: New files.
13328         * modules/argv-iter: New file.
13329         * modules/argv-iter-tests: New file.
13330         * tests/test-argv-iter.c: Test it.
13331
13332 2009-07-04  Bruno Haible  <bruno@clisp.org>
13333
13334         Fix assertion.
13335         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
13336         contains more exact copies of a given entry than file2, leave the extra
13337         copies unpaired rather than aborting.
13338         Reported by Eric Blake.
13339
13340 2009-07-02  Bruno Haible  <bruno@clisp.org>
13341
13342         Speedup git-merge-changelog for git cherry-pick.
13343         * lib/git-merge-changelog.c (struct entries_mapping): New type.
13344         (entries_mapping_get): New function, extracted from compute_mapping.
13345         (entries_mapping_reverse_get): New function.
13346         (compute_mapping): Add a 'full' argument. Return the result in a
13347         'struct entries_mapping'.
13348         (main): Update. Access the mappings through entries_mapping_get.
13349         Reported by Eric Blake.
13350
13351 2009-07-02  Bruno Haible  <bruno@clisp.org>
13352
13353         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
13354         best_i.
13355
13356 2009-07-02  Bruno Haible  <bruno@clisp.org>
13357
13358         Speed up approximate search for matching ChangeLog entries.
13359         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
13360         argument. Call fstrcmp_bounded instead of fstrcmp.
13361         (compute_mapping, try_split_merged_entry, main): Update callers.
13362
13363 2009-07-02  Bruno Haible  <bruno@clisp.org>
13364
13365         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
13366
13367 2009-06-30  Bruno Haible  <bruno@clisp.org>
13368
13369         Reduce the number of uc_is_cased calls.
13370         * lib/unicase.h (casing_suffix_context_t): Add
13371         'first_char_except_ignorable' field.
13372         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
13373         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
13374         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
13375         Update initializer.
13376         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
13377         case-ignorable characters.
13378         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
13379         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
13380         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
13381         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
13382         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
13383
13384 2009-06-30  Bruno Haible  <bruno@clisp.org>
13385
13386         Tests for module 'unicase/ignorable'.
13387         * modules/unicase/ignorable-tests: New file.
13388         * tests/unicase/test-ignorable.c: New file, generated by
13389         gen-uni-tables.
13390
13391         Tests for module 'unicase/cased'.
13392         * modules/unicase/cased-tests: New file.
13393         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
13394         * tests/unicase/test-predicate-part1.h: New file, derived from
13395         tests/unictype/test-predicate-part1.h.
13396         * tests/unicase/test-predicate-part2.h: New file, same as
13397         tests/unictype/test-predicate-part2.h.
13398
13399         Fix evaluation of "Before C" condition of FINAL_SIGMA.
13400         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
13401         (output_casing_properties): New function.
13402         (main): Call it.
13403         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
13404         * lib/unicase/cased.c: Include unictype/bitmap.h.
13405         (uc_is_cased): Define through a bitmap lookup.
13406         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
13407         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
13408         (uc_is_case_ignorable): Define through a bitmap lookup.
13409         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
13410         lib/unictype/bitmap.h.
13411         (Depends-on): Add inline. Clean up.
13412         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
13413         lib/unictype/bitmap.h.
13414         (Depends-on): Add inline. Clean up.
13415         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
13416         recognition.
13417         * tests/unicase/test-u16-tolower.c (main): Likewise.
13418         * tests/unicase/test-u32-tolower.c (main): Likewise.
13419
13420 2009-06-30  Bruno Haible  <bruno@clisp.org>
13421
13422         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
13423         * lib/unicase/u16-casemap.c: Likewise.
13424         * lib/unicase/u32-casemap.c: Likewise.
13425
13426 2009-06-29  Bruno Haible  <bruno@clisp.org>
13427
13428         Define u32_casefold as a wrapper around u32_ct_casefold.
13429         * lib/unicase/u32-casefold.c: Update.
13430         * modules/unicase/u32-casefold (Depends-on): Add
13431         unicase/u32-ct-casefold, unicase/empty-prefix-context,
13432         unicase/empty-suffix-context. Clean up.
13433
13434         Define u16_casefold as a wrapper around u16_ct_casefold.
13435         * lib/unicase/u16-casefold.c: Update.
13436         * modules/unicase/u16-casefold (Depends-on): Add
13437         unicase/u16-ct-casefold, unicase/empty-prefix-context,
13438         unicase/empty-suffix-context. Clean up.
13439
13440         Define u8_casefold as a wrapper around u8_ct_casefold.
13441         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
13442         * lib/unicase/u8-casefold.c: Update.
13443         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
13444         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13445
13446         Define u32_totitle as a wrapper around u32_ct_totitle.
13447         * lib/unicase/u32-totitle.c: Update.
13448         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
13449         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13450
13451         Define u16_totitle as a wrapper around u16_ct_totitle.
13452         * lib/unicase/u16-totitle.c: Update.
13453         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
13454         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13455
13456         Define u8_totitle as a wrapper around u8_ct_totitle.
13457         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
13458         functions.
13459         (FUNC): Delegate to U_CT_TOTITLE.
13460         * lib/unicase/u8-totitle.c: Update.
13461         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
13462         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
13463
13464         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
13465         invocation.
13466         * modules/unicase/u32-tolower (Depends-on): Add
13467         unicase/empty-prefix-context, unicase/empty-suffix-context.
13468
13469         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
13470         invocation.
13471         * modules/unicase/u16-tolower (Depends-on): Add
13472         unicase/empty-prefix-context, unicase/empty-suffix-context.
13473
13474         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
13475         * modules/unicase/u8-tolower (Depends-on): Add
13476         unicase/empty-prefix-context, unicase/empty-suffix-context.
13477
13478         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
13479         invocation.
13480         * modules/unicase/u32-toupper (Depends-on): Add
13481         unicase/empty-prefix-context, unicase/empty-suffix-context.
13482
13483         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
13484         invocation.
13485         * modules/unicase/u16-toupper (Depends-on): Add
13486         unicase/empty-prefix-context, unicase/empty-suffix-context.
13487
13488         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
13489         * modules/unicase/u8-toupper (Depends-on): Add
13490         unicase/empty-prefix-context, unicase/empty-suffix-context.
13491
13492         New module 'unicase/u32-ct-casefold'.
13493         * lib/unicase/u32-ct-casefold.c: New file.
13494         * modules/unicase/u32-ct-casefold: New file.
13495
13496         New module 'unicase/u16-ct-casefold'.
13497         * lib/unicase/u16-ct-casefold.c: New file.
13498         * modules/unicase/u16-ct-casefold: New file.
13499
13500         New module 'unicase/u8-ct-casefold'.
13501         * lib/unicase/u8-ct-casefold.c: New file.
13502         * lib/unicase/u-ct-casefold.h: New file, derived from
13503         lib/unicase/u-casefold.h.
13504         * modules/unicase/u8-ct-casefold: New file.
13505
13506         New module 'unicase/u32-ct-totitle'.
13507         * lib/unicase/u32-ct-totitle.c: New file.
13508         * modules/unicase/u32-ct-totitle: New file.
13509
13510         New module 'unicase/u16-ct-totitle'.
13511         * lib/unicase/u16-ct-totitle.c: New file.
13512         * modules/unicase/u16-ct-totitle: New file.
13513
13514         New module 'unicase/u8-ct-totitle'.
13515         * lib/unicase/u8-ct-totitle.c: New file.
13516         * lib/unicase/u-ct-totitle.h: New file, derived from
13517         lib/unicase/u-totitle.h.
13518         * modules/unicase/u8-ct-totitle: New file.
13519
13520         New module 'unicase/u32-ct-tolower'.
13521         * lib/unicase/u32-ct-tolower.c: New file.
13522         * modules/unicase/u32-ct-tolower: New file.
13523
13524         New module 'unicase/u16-ct-tolower'.
13525         * lib/unicase/u16-ct-tolower.c: New file.
13526         * modules/unicase/u16-ct-tolower: New file.
13527
13528         New module 'unicase/u8-ct-tolower'.
13529         * lib/unicase/u8-ct-tolower.c: New file.
13530         * modules/unicase/u8-ct-tolower: New file.
13531
13532         New module 'unicase/u32-ct-toupper'.
13533         * lib/unicase/u32-ct-toupper.c: New file.
13534         * modules/unicase/u32-ct-toupper: New file.
13535
13536         New module 'unicase/u16-ct-toupper'.
13537         * lib/unicase/u16-ct-toupper.c: New file.
13538         * modules/unicase/u16-ct-toupper: New file.
13539
13540         New module 'unicase/u8-ct-toupper'.
13541         * lib/unicase/u8-ct-toupper.c: New file.
13542         * modules/unicase/u8-ct-toupper: New file.
13543
13544         Add context arguments to u*_casemap functions.
13545         * lib/unicase/unicasemap.h: Include unicase.h.
13546         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
13547         suffix_context arguments.
13548         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
13549         functions.
13550         (FUNC): Add prefix_context and suffix_context arguments. Use
13551         uc_is_cased and uc_is_case_ignorable.
13552         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
13553         * lib/unicase/u16-casemap.c: Likewise.
13554         * lib/unicase/u32-casemap.c: Likewise.
13555         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
13556         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13557         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
13558         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13559         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
13560         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
13561
13562         New module 'unicase/u32-suffix-context'.
13563         * lib/unicase/u32-suffix-context.c: New file.
13564         * modules/unicase/u32-suffix-context: New file.
13565
13566         New module 'unicase/u16-suffix-context'.
13567         * lib/unicase/u16-suffix-context.c: New file.
13568         * modules/unicase/u16-suffix-context: New file.
13569
13570         New module 'unicase/u8-suffix-context'.
13571         * lib/unicase/u8-suffix-context.c: New file.
13572         * lib/unicase/u-suffix-context.h: New file.
13573         * modules/unicase/u8-suffix-context: New file.
13574
13575         New module 'unicase/empty-suffix-context'.
13576         * lib/unicase/empty-suffix-context.c: New file.
13577         * modules/unicase/empty-suffix-context: New file.
13578
13579         New module 'unicase/u32-prefix-context'.
13580         * lib/unicase/u32-prefix-context.c: New file.
13581         * modules/unicase/u32-prefix-context: New file.
13582
13583         New module 'unicase/u16-prefix-context'.
13584         * lib/unicase/u16-prefix-context.c: New file.
13585         * modules/unicase/u16-prefix-context: New file.
13586
13587         New module 'unicase/u8-prefix-context'.
13588         * lib/unicase/u8-prefix-context.c: New file.
13589         * lib/unicase/u-prefix-context.h: New file.
13590         * lib/unicase/context.h: New file.
13591         * modules/unicase/u8-prefix-context: New file.
13592
13593         New module 'unicase/empty-prefix-context'.
13594         * lib/unicase/empty-prefix-context.c: New file.
13595         * modules/unicase/empty-prefix-context: New file.
13596
13597         New module 'unicase/ignorable'.
13598         * lib/unicase/ignorable.c: New file.
13599         * modules/unicase/ignorable: New file.
13600
13601         New module 'unicase/cased'.
13602         * lib/unicase/caseprop.h: New file.
13603         * lib/unicase/cased.c: New file.
13604         * modules/unicase/cased: New file.
13605
13606         New functions for case mapping of substrings.
13607         * lib/unicase.h (casing_prefix_context_t): New type.
13608         (unicase_empty_prefix_context): New variable.
13609         (u8_casing_prefix_context, u16_casing_prefix_context,
13610         u32_casing_prefix_context, u8_casing_prefixes_context,
13611         u16_casing_prefixes_context, u32_casing_prefixes_context): New
13612         declarations.
13613         (casing_suffix_context_t): New type.
13614         (unicase_empty_suffix_context): New variable.
13615         (u8_casing_suffix_context, u16_casing_suffix_context,
13616         u32_casing_suffix_context, u8_casing_suffixes_context,
13617         u16_casing_suffixes_context, u32_casing_suffixes_context,
13618         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
13619         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
13620         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
13621         declarations.
13622
13623 2009-06-28  Jim Meyering  <meyering@redhat.com>
13624
13625         boostrap: indent only with spaces
13626         * build-aux/bootstrap: Indent only with spaces, never TABs.
13627
13628         bootstrap: split long lines
13629         * build-aux/bootstrap: Keep line length < 80.
13630
13631         bootstrap: sync from coreutils
13632         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
13633         just as autoreconf does.  Verify a list of prerequisite
13634         package-name,version-number pairs if defined in bootstrap.conf.
13635         Refer to README-prereq, if prerequisites are not satisfied.
13636
13637 2009-06-27  Eric Blake  <ebb9@byu.net>
13638
13639         tests: add test for bogus NULL definition
13640         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
13641         * tests/test-stdlib.c: Likewise.
13642         * tests/test-string.c: Likewise.
13643         * tests/test-locale.c: Likewise.
13644         * tests/test-unistd.c: Likewise.
13645         * modules/stdio-tests (Depends-on): Add verify.
13646         * modules/stdlib-tests (Depends-on): Likewise.
13647         * modules/string-tests (Depends-on): Likewise.
13648         * modules/locale-tests (Depends-on): Likewise.
13649         * modules/unistd-tests (Depends-on): Likewise.
13650
13651 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
13652
13653         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
13654         self-explaining comment.
13655         * m4/selinux-selinux-h: Update serial.
13656         (gl_LIBSELINUX): New macro, adding a warning for missing development
13657         packages to code extracted from...
13658         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
13659         Add warning for missing development packages here, too.
13660
13661 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
13662
13663         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
13664
13665 2009-06-25  Eric Blake  <ebb9@byu.net>
13666
13667         version-etc: fix regression
13668         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
13669         gcc.
13670         (version_etc): Use it, to catch bugs with trailing NULL.
13671         * lib/version-etc.c (version_etc_arn): Delete unused argument.
13672         (version_etc_va): Fix logic bug.
13673         * modules/version-etc-tests: Add test.
13674         * tests/test-version-etc.c: New file.
13675         * tests/test-version-etc.sh: Likewise.
13676
13677 2009-06-25  Sam Steingold  <sds@gnu.org>
13678
13679         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
13680         mbtowc declaration.
13681
13682 2009-06-25  Eric Blake  <ebb9@byu.net>
13683
13684         fpurge: migrate into <stdio.h>
13685         * lib/fpurge.h: Delete...
13686         * lib/stdio.in.h (fpurge): ...and declare here, instead.
13687         * lib/fpurge.c (fpurge): Change declaring header.
13688         * modules/fpurge (Files): Drop deleted file.
13689         (Depends-on): Add stdio.
13690         (configure.ac): Set witness.
13691         * modules/stdio (Makefile.am): Support fpurge macros.
13692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
13693         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
13694         * lib/fflush.c: Update client.
13695         * tests/test-fpurge.c: Likewise.
13696         * NEWS: Mention the change.
13697
13698 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13699
13700         * lib/argp-version-etc.c (program_authors): Add const
13701         qualifier.
13702         * lib/version-etc.c: Fix typos in the comments.
13703         * modules/argp-version-etc: Depends on version-etc.
13704
13705 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13706
13707         argp-version-etc: new module.
13708
13709         * lib/argp-version-etc.c: New file.
13710         * lib/argp-version-etc.h: New file.
13711         * modules/argp-version-etc: New file.
13712         * modules/argp-version-etc-tests: New file.
13713         * tests/test-argp-version-etc.c: New test.
13714         * tests/test-argp-version-etc-1.sh: New test.
13715
13716 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13717
13718         Provide additional interfaces and documentation for version-etc
13719         module.
13720
13721         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
13722         interfaces.
13723         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
13724         prototypes.
13725
13726 2009-06-24  Bruno Haible  <bruno@clisp.org>
13727
13728         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
13729         HAVE_LIB${NAME} macro.
13730         Reported by Sam Steingold <sds@gnu.org>.
13731
13732 2009-06-23  Simon Josefsson  <simon@josefsson.org>
13733
13734         * modules/hash-tests (test_hash_LDADD): Link to libintl when
13735         needed.
13736
13737 2009-06-21  Bruno Haible  <bruno@clisp.org>
13738
13739         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
13740         work.
13741         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
13742         together with LIB${NAME}, LTLIB${NAME}.
13743         Reported by Sam Steingold <sds@gnu.org>.
13744
13745 2009-06-20  Jim Meyering  <meyering@redhat.com>
13746
13747         tests: make sc_require_test_exit_idiom more generic
13748         * top/maint.mk (Exit_witness_file): New overridable variable.
13749         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
13750         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
13751
13752 2009-06-19  Jim Meyering  <meyering@redhat.com>
13753
13754         hash: reverse order of src/dst parameters in an internal interface
13755         * lib/hash.c (transfer_entries): Reverse order of parameters to
13756         put DST before SRC.  Adjust callers.
13757
13758         tests: test-hash: avoid wholesale duplication
13759         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
13760         Instead, use a loop and add a single conditional.
13761
13762         tests: test-hash: allow seed selection via a command line argument
13763         * tests/test-hash.c (get_seed): New function.
13764         (main): Use it.
13765
13766 2009-06-19  Eric Blake  <ebb9@byu.net>
13767
13768         hash: avoid memory leak on allocation failure
13769         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
13770         failure.  Factor repeated algorithm...
13771         (transfer_entries): ...into new helper routine.
13772         (hash_delete): React to hash_rehash return value.
13773
13774         hash: reduce memory pressure in hash_rehash no-op case
13775         * lib/hash.c (next_prime): Avoid overflow.
13776         (hash_initialize): Factor bucket size computation...
13777         (compute_bucket_size): ...into new helper function.
13778         (hash_rehash): Use new function and open coding to reduce memory
13779         pressure, and avoid a memory leak in USE_OBSTACK code.
13780         Reported by Jim Meyering.
13781
13782 2009-06-18  Eric Blake  <ebb9@byu.net>
13783
13784         hash: make rotation more obvious
13785         * modules/hash (Depends-on): Add bitrotate and stdint.
13786         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
13787         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
13788         (SIZE_MAX): Rely on headers for definition.
13789         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
13790         (raw_hasher): Use rotr_sz.
13791         Suggested by Jim Meyering.
13792
13793         hash: fix memory leak in last patch
13794         * lib/hash.c (hash_rehash): Avoid memory leak.
13795
13796         hash: avoid no-op rehashing
13797         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
13798
13799         hash: provide default callback functions
13800         * lib/hash.c (raw_hasher, raw_comparator): New functions.
13801         (hash_initialize): Use them as defaults.
13802         * tests/test-hash.c (main): Test this.
13803
13804         hash: minor optimization
13805         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
13806         when possible.
13807         (hash_initialize): Document this promise.
13808         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
13809         * tests/test-hash.c (hash_compare_strings): Test this.
13810
13811 2009-06-18  Bruno Haible  <bruno@clisp.org>
13812
13813         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
13814         going to be replaced anyway.
13815
13816 2009-06-18  Bruno Haible  <bruno@clisp.org>
13817
13818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
13819         in one place.
13820         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
13821         be replaced anyway.
13822
13823 2009-06-18  Eric Blake  <ebb9@byu.net>
13824
13825         hash: check for resize before insertion
13826         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
13827         threshold before insertion, so that a pathological hash_rehash
13828         that fills every bucket can still trigger another rehash.
13829
13830 2009-06-18  Jim Meyering  <meyering@redhat.com>
13831
13832         hash-tests: add a loop around the small tests
13833         * tests/test-hash.c (main): Repeat small tests with selected
13834         small initial table sizes.
13835
13836 2009-06-17  Eric Blake  <ebb9@byu.net>
13837
13838         hash: minor cleanups
13839         * lib/hash.h (hash_entry): Make opaque, by moving...
13840         * lib/hash.c (hash_entry): ...here.
13841         (hash_insert): Clarify restrictions on what can be inserted.
13842         (hash_get_next): Clarify when it is safe to remove an element
13843         during traversal.
13844         (check_tuning): Skip verification when tuning is known safe.
13845         (hash_initialize): Clarify restrictions on tuning.
13846
13847 2009-06-17  Jim Meyering  <jim@meyering.net>
13848         and Eric Blake  <ebb9@byu.net>
13849
13850         hash-tests: new module
13851         * modules/hash-tests: New file.
13852         * tests/test-hash.c: New file.
13853
13854 2009-06-17  Eric Blake  <ebb9@byu.net>
13855
13856         strstr-simple: document new module
13857         * MODULES.html.sh: Document new module.
13858
13859         strstr, strcasestr: replace on platforms with broken memchr
13860         * modules/strstr: Split into...
13861         * modules/strstr-simple: ...new module that does not care about
13862         performance, but does care about glibc bug.
13863         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
13864         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
13865         if platform memchr is broken, per Debian bug 521737.
13866         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
13867         memchr.
13868         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
13869         * doc/posix-functions/strstr.texi (strstr): Document the fix.
13870         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
13871         * modules/mountlist (Depends-on): Add strstr-simple.
13872         * modules/gen-uni-tables (Depends-on): Likewise.
13873         * modules/argz (Depends-on): Add strstr.
13874
13875 2009-06-17  Bruno Haible  <bruno@clisp.org>
13876
13877         * modules/posix_spawn-internal (Depends-on): Add errno.
13878
13879 2009-06-17  Bruno Haible  <bruno@clisp.org>
13880
13881         Define missing ESTALE on Interix 3.5.
13882         * lib/errno.in.h (ESTALE): Assign a value if missing.
13883         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
13884         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
13885         missing.
13886         * doc/posix-headers/errno.texi: Mention the Interix bug.
13887         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
13888
13889 2009-06-15  Eric Blake  <ebb9@byu.net>
13890
13891         memchr, memchr2: add valgrind exception
13892         * lib/memchr.valgrind: New file.
13893         * lib/memchr2.valgrind: New file.
13894         * modules/memchr (Files): Distribute valgrind file.
13895         * modules/memchr2 (Files): Likewise.
13896
13897         docs: memchr is no longer obsolete
13898         * MODULES.html.sh: Move memchr from obsolete to string.h section.
13899         * lib/string.in.h (memchr): Simplify logic.
13900
13901 2009-06-14  Jim Meyering  <meyering@redhat.com>
13902
13903         link-follow: fix the "checking..." message to not mention trailing slash
13904         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
13905         never considered trailing slashes.
13906
13907 2009-06-14  Bruno Haible  <bruno@clisp.org>
13908
13909         * m4/memchr.m4: Mention also the bug on IA-64.
13910         * doc/posix-functions/memchr.texi: Likewise.
13911
13912 2009-06-12  Eric Blake  <ebb9@byu.net>
13913
13914         memchr: detect broken x86_64 and alpha implementations
13915         * modules/memchr-tests (Depends-on): Move mmap detection...
13916         * modules/memchr (Depends-on): ...here.
13917         (configure.ac): Set indicator.
13918         * lib/string.in.h (memchr): Declare replacement.
13919         * modules/string (Makefile.am): Trigger replacement.
13920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
13921         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
13922         bugs.
13923         * doc/posix-functions/memchr.texi (memchr): Document the bug.
13924         * modules/getpagesize (License): Relax license.
13925
13926 2009-06-11  Bruno Haible  <bruno@clisp.org>
13927
13928         * lib/idpriv.h: Add more references.
13929
13930 2009-06-08  Bruno Haible  <bruno@clisp.org>
13931
13932         Tests for module 'idpriv-droptemp'.
13933         * modules/idpriv-droptemp-tests: New file.
13934         * tests/test-idpriv-droptemp.sh: New file.
13935         * tests/test-idpriv-droptemp.su.sh: New file.
13936         * tests/test-idpriv-droptemp.c: New file.
13937
13938         New module 'idpriv-droptemp'.
13939         * lib/idpriv-droptemp.c: New file.
13940         * modules/idpriv-droptemp: New file.
13941
13942 2009-06-08  Bruno Haible  <bruno@clisp.org>
13943
13944         Tests for module 'idpriv-drop'.
13945         * modules/idpriv-drop-tests: New file.
13946         * tests/test-idpriv-drop.sh: New file.
13947         * tests/test-idpriv-drop.su.sh: New file.
13948         * tests/test-idpriv-drop.c: New file.
13949
13950         New module 'idpriv-drop'.
13951         * lib/idpriv.h: New file.
13952         * lib-idpriv-drop.c: New file.
13953         * m4/idpriv.m4: New file.
13954         * modules/idpriv-drop: New file.
13955
13956 2009-06-08  Bruno Haible  <bruno@clisp.org>
13957
13958         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
13959         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
13960         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
13961         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
13962         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
13963         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
13964         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
13965
13966 2009-06-08  Eric Blake  <ebb9@byu.net>
13967
13968         test-strstr: use memory fence, when possible
13969         * tests/test-strstr.c (main): Use memory fence, in order to be
13970         more likely to trigger Debian bug 521737.
13971         * modules/strstr-tests (Files): Pull in additional files.
13972
13973         memchr: no longer obsolete, for wider field testing
13974         * modules/memchr (Status, Notice): Delete, this module is no
13975         longer obsolete.
13976         * modules/vasnprintf (Depends-on): Add memchr.
13977
13978 2009-06-07  Jim Meyering  <meyering@redhat.com>
13979
13980         hash: declare some functions with the warn_unused_result attribute
13981         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
13982
13983 2009-06-07  Bruno Haible  <bruno@clisp.org>
13984
13985         * tests/test-alignof.c: Don't test int64_t if it does not exist.
13986         Reported by Eric Blake.
13987
13988 2009-06-06  Eric Blake  <ebb9@byu.net>
13989
13990         test-alignof: fix typo with long double
13991         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
13992         compiler error.
13993
13994 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
13995
13996         Escape non-texinfo { and }s.
13997         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
13998         markup error.
13999
14000 2009-06-04  Jim Meyering  <meyering@redhat.com>
14001
14002         gitlog-to-changelog: don't infloop on an empty commit log
14003         * build-aux/gitlog-to-changelog: Warn about an empty log message.
14004         Reported by Boris Petersen <transacid@centerim.org>.
14005
14006 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
14007
14008         version-etc: extend for packagers
14009         Add three new configure options, intended for packagers:
14010           --with-packager="packager name"
14011           --with-packager-version="packager-specific version"
14012           --with-packager-bug-reports="packager bug reporting"
14013         An example with coreutils:
14014           $ ./configure \
14015             --with-packager=Gentoo \
14016             --with-packager-bug-report=http://bugs.gentoo.org/ \
14017             --with-packager-version="patchset 1.6"
14018           $ ./src/ls --version | head -n2
14019           ls (GNU coreutils) 7.1-dirty
14020           Packaged by Gentoo (patchset 1.6)
14021         Note that the bug reporting info via --help doesn't show up because
14022         coreutils uses its own custom emit_bug_reporting_address() implementation
14023         in src/system.h.  If it didn't, it'd look like:
14024           $ ./src/ls --help | tail -n4
14025           Report bugs to <bug-coreutils@gnu.org>.
14026           Report Gentoo bugs to <http://bugs.gentoo.org/>.
14027           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
14028           General help using GNU software: <http://www.gnu.org/gethelp/>.
14029         * lib/version-etc.c: Print new information, if provided.
14030         * m4/version-etc.m4: New file.
14031         * modules/version-etc (Files): Add m4/version-etc.m4.
14032         (configure.ac): Add gl_VERSION_ETC.
14033
14034 2009-05-31  Bruno Haible  <bruno@clisp.org>
14035
14036         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
14037         and 'int64_t'.
14038         * modules/alignof-tests (Dependencies): Add stdint.
14039         Reported by Eric Blake.
14040
14041 2009-05-31  Bruno Haible  <bruno@clisp.org>
14042
14043         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
14044         restriction due to compiler bugs.
14045         Reported by Eric Blake.
14046
14047 2009-05-31  Simon Josefsson  <simon@josefsson.org>
14048             Bruno Haible  <bruno@clisp.org>
14049
14050         Fix test-alignof failure.
14051         * lib/alignof.h (alignof_slot): New macro.
14052         (alignof_type): New macro, with the same semantics as the previous
14053         'alignof'.
14054         (alignof): Alias to alignof_slot.
14055         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
14056         check that the results are usable as constant expressions.
14057
14058 2009-05-31  Bruno Haible  <bruno@clisp.org>
14059
14060         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
14061         * tests/test-memchr.c (main): Check that memchr does not read past the
14062         first occurrence of the byte.
14063         * tests/test-strstr.c (main): Update comment.
14064         Suggested by Eric Blake.
14065
14066 2009-05-30  Bruno Haible  <bruno@clisp.org>
14067
14068         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
14069         detail how to use dumpbin.
14070         Reported by David Byron <dbyron@dbyron.com>.
14071
14072 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14073
14074         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
14075
14076 2009-06-02  Simon Josefsson  <simon@josefsson.org>
14077
14078         * m4/manywarnings.m4: Add GCC 4.4 warnings.
14079
14080 2009-05-28  Bruno Haible  <bruno@clisp.org>
14081
14082         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
14083         build-aux/ files.
14084
14085 2009-05-28  Simon Josefsson  <simon@josefsson.org>
14086
14087         * gnulib-tool (func_import): Transform license on build-aux/ files too.
14088
14089 2009-05-27  Simon Josefsson  <simon@josefsson.org>
14090
14091         * gnulib-tool (sed_transform_main_lib_file)
14092         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
14093         regexps.
14094
14095 2009-05-26  Simon Josefsson  <simon@josefsson.org>
14096
14097         * tests/test-strstr.c: Add another self-test.
14098         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
14099         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
14100
14101 2009-05-23  Bruno Haible  <bruno@clisp.org>
14102
14103         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
14104         change.
14105
14106 2009-05-21  Bruno Haible  <bruno@clisp.org>
14107
14108         Simplify use of mode_t varargs.
14109         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
14110         uses 'mode_t' or 'int'.
14111         * lib/openat.c (openat): Likewise.
14112         * lib/open-safer.c (open_safer): Likewise.
14113         * m4/mode_t.m4: New file.
14114         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
14115         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
14116         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
14117         * modules/open (Files): Add m4/mode_t.m4.
14118         * modules/openat (Files): Likewise.
14119         * modules/fcntl-safer (Files): Likewise.
14120         Suggested by Eric Blake.
14121
14122 2009-05-21  Pádraig Brady  <P@draigbrady.com>
14123
14124         * doc/glibc-functions/fallocate.texi: New file.
14125         * doc/gnulib.texi: Include it.
14126
14127 2009-05-21  Eric Blake  <ebb9@byu.net>
14128             Bruno Haible  <bruno@clisp.org>
14129
14130         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
14131         invocations.
14132         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
14133
14134 2009-05-21  Eric Blake  <ebb9@byu.net>
14135             Bruno Haible  <bruno@clisp.org>
14136
14137         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
14138         include_next. Fix of 2008-11-20 commit.
14139         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
14140         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
14141         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
14142         NEXT_MATH_H.
14143         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
14144         instead of NEXT_MATH_H.
14145
14146 2009-05-21  Bruno Haible  <bruno@clisp.org>
14147
14148         Avoid redefinition warnings for SIZE_MAX.
14149         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
14150         Reported by Simon Josefsson.
14151
14152 2009-05-21  Bruno Haible  <bruno@clisp.org>
14153
14154         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
14155         AC_CACHE_VAL.
14156
14157 2009-05-20  Bruno Haible  <bruno@clisp.org>
14158
14159         Make zeroptr.h work on mingw.
14160         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
14161         mprotect.
14162         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
14163         * modules/memchr2-tests (configure.ac): Likewise.
14164         * modules/memcmp-tests (configure.ac): Likewise.
14165         * modules/memmem-tests (configure.ac): Likewise.
14166         * modules/memrchr-tests (configure.ac): Likewise.
14167         Reported by Simon Josefsson.
14168
14169 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14170
14171         * tests/test-glob.c: Include string.h for strcmp prototype.
14172
14173 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14174
14175         * modules/getdelim (Depends-on): Add explicit stdint, although it
14176         was implicitly already pulled in via realloc-posix.
14177         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
14178
14179 2009-05-20  Simon Josefsson  <simon@josefsson.org>
14180
14181         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
14182         G. Christensen" <tgc@jupiterrise.com>.
14183         * m4/sys_socket_h.m4: Check for sa_family_t.
14184         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
14185         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
14186         * tests/test-sys_socket.c: Check that sa_family_t works.
14187
14188 2009-05-18  Eric Blake  <ebb9@byu.net>
14189
14190         maint.mk: allow gnulib_dir in VPATH build
14191         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
14192
14193 2009-05-15  Jim Meyering  <meyering@redhat.com>
14194
14195         maint.mk: Give gnulib_dir a default definition.
14196         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
14197         Thus, most packages no longer need to specify this variable in cfg.mk
14198
14199 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
14200
14201         rename.m4: fix typos that would make non-mingw cross-configure fail
14202         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
14203
14204 2009-05-13  Eric Blake  <ebb9@byu.net>
14205
14206         mmap-anon: avoid out-of-order autoconf expansion
14207         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
14208         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
14209         * modules/memchr-tests (Depends-on): Add extensions.
14210         * modules/memchr2-tests (Depends-on): Add extensions.
14211         * modules/memcmp-tests (Depends-on): Add extensions.
14212         * modules/memmem-tests (Depends-on): Add extensions.
14213         * modules/memrchr-tests (Depends-on): Add extensions.
14214
14215 2009-05-13  Bruno Haible  <bruno@clisp.org>
14216
14217         Make some tests ISO C 99 compliant.
14218         * tests/zerosize-ptr.h: New file.
14219         * tests/test-memchr.c: Include zerosize-ptr.h.
14220         (main): Use a zero-size object pointer instead of NULL.
14221         * tests/test-memchr2.c: Include zerosize-ptr.h.
14222         (main): Use a zero-size object pointer instead of NULL.
14223         * tests/test-memcmp.c: Include zerosize-ptr.h.
14224         (main): Use a zero-size object pointer instead of NULL.
14225         * tests/test-memmem.c: Include zerosize-ptr.h.
14226         (main): Use a zero-size object pointer instead of NULL.
14227         * tests/test-memrchr.c: Include zerosize-ptr.h.
14228         (main): Use a zero-size object pointer instead of NULL.
14229         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
14230         m4/mmap-anon.m4.
14231         (Depends-on): Add getpagesize.
14232         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14233         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
14234         m4/mmap-anon.m4.
14235         (Depends-on): Add getpagesize.
14236         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14237         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
14238         m4/mmap-anon.m4.
14239         (Depends-on): Add getpagesize.
14240         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14241         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
14242         m4/mmap-anon.m4.
14243         (Depends-on): Add getpagesize.
14244         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14245         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
14246         m4/mmap-anon.m4.
14247         (Depends-on): Add getpagesize.
14248         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
14249
14250 2009-05-12  Bruno Haible  <bruno@clisp.org>
14251
14252         Tests for module 'alignof'.
14253         * modules/alignof-tests: New file.
14254         * tests/test-alignof.c: New file.
14255
14256 2009-05-12  Bruno Haible  <bruno@clisp.org>
14257
14258         Fix alignof macro.
14259         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
14260         vendor compilers that are always correct.
14261
14262 2009-05-12  Bruno Haible  <bruno@clisp.org>
14263
14264         Make the MAP_ANONYMOUS detection work on HP-UX 11.
14265         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
14266         not whether its fully works.
14267
14268 2009-05-12  Bruno Haible  <bruno@clisp.org>
14269
14270         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
14271
14272 2009-05-12  Jim Meyering  <meyering@redhat.com>
14273
14274         * top/maint.mk: Adjust backslash alignment.
14275
14276 2009-05-11  Simon Josefsson  <simon@josefsson.org>
14277
14278         * top/maint.mk: Make $(srcdir)/build-aux configurable.
14279
14280 2009-05-11  Eric Blake  <ebb9@byu.net>
14281
14282         argp: avoid undefined behavior
14283         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
14284         macros.
14285
14286 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14287
14288         * tests/test-vc-list-files-git.sh: Do git config of user.email and
14289         user.name to prevent git commit from complaining.
14290
14291 2009-05-10  Bruno Haible  <bruno@clisp.org>
14292
14293         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
14294         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
14295         it rewrites every file name only once.
14296         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
14297
14298 2009-05-08  Bruno Haible  <bruno@clisp.org>
14299
14300         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
14301         instead of 'max'.
14302
14303 2009-05-08  Simon Josefsson  <simon@josefsson.org>
14304
14305         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
14306         sockaddr_storage test.
14307
14308 2009-05-07  Simon Josefsson  <simon@josefsson.org>
14309
14310         * modules/sys_socket (Makefile.am): Substitute
14311         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
14312         * m4/sys_socket_h.m4: Check for sockaddr_storage.
14313         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
14314         * tests/test-sys_socket.c: Check sockaddr_storage.
14315
14316 2009-05-08  Bruno Haible  <bruno@clisp.org>
14317
14318         New module 'alignof'.
14319         * lib/alignof.h: New file.
14320         * modules/alignof: New file.
14321
14322 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14323             Bruno Haible  <bruno@clisp.org>
14324
14325         Fix test-file-has-acl on FreeBSD.
14326         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
14327         mask is implicitly added.
14328         * tests/test-file-has-acl.c: Include <signal.h>.
14329         (main): Terminate the test after 5 seconds.
14330         * modules/acl-tests (configure.ac): Check for alarm function.
14331
14332 2009-05-04  Bruno Haible  <bruno@clisp.org>
14333
14334         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
14335         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
14336         * modules/errno (configure.ac): Drop AC_REQUIRE.
14337         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
14338         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
14339
14340 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14341
14342         * modules/glob-tests: New module.
14343         * tests/test-glob.c: Add.
14344
14345 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14346
14347         * modules/fnmatch-tests: New module.
14348         * tests/test-fnmatch.c: Add.
14349
14350 2009-05-04  Eric Blake  <ebb9@byu.net>
14351
14352         maint: make the new no-submodule-changes rule VPATH-safe
14353         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
14354
14355 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14356             Bruno Haible  <bruno@clisp.org>
14357
14358         acl: Fix infinite loop on FreeBSD.
14359         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
14360         of return value from acl_get_entry.
14361         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
14362         Likewise.
14363
14364 2009-05-03  Bruno Haible  <bruno@clisp.org>
14365
14366         * lib/acl-internal.h (acl_entries): Clarify return value.
14367         * lib/acl_entries.c (acl_entries): Likewise.
14368
14369 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14370
14371         Bug fix in acl module.
14372         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
14373
14374 2009-05-03  Bruno Haible  <bruno@clisp.org>
14375
14376         Create gperf-generated file in the source dir, not in the build dir.
14377         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
14378         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
14379         * modules/unicase/locale-language (unicase/locale-languages.h):
14380         Likewise.
14381         * modules/unicase/special-casing (unicase/special-casing-table.h):
14382         Likewise.
14383         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
14384         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
14385         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
14386         Reported by Ralf Wildenhues.
14387
14388 2009-05-03  Bruno Haible  <bruno@clisp.org>
14389
14390         * modules/fnmatch (Description, configure.ac): Taken from
14391         fnmatch-posix.
14392         * modules/fnmatch-posix: Turn into a symbolic reference to the
14393         'fnmatch' module, and deprecate.
14394         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
14395
14396 2009-05-03  Bruno Haible  <bruno@clisp.org>
14397
14398         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
14399         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
14400         Reported by Ralf Wildenhues.
14401
14402 2009-05-04  Simon Josefsson  <simon@josefsson.org>
14403
14404         * m4/fnmatch.m4: Fix fnmatch re-define.
14405
14406 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
14407
14408         priv-set: new module and tests; adapt write-any-file
14409         * lib/priv-set.c: New file.
14410         * lib/priv-set.h: New file.
14411         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
14412         * lib/write-any-file.c: Simplify by using priv-set module.
14413         * m4/priv-set.m4: New file.
14414         * modules/priv-set: New file.
14415         * modules/unlinkdir: Add dependency on priv-set module.
14416         * modules/write-any-file: Likewise.
14417
14418         Tests for module 'priv-set'.
14419         * modules/priv-set-tests: New file.
14420         * tests/test-priv-set.c: New file.
14421
14422 2009-05-03  Jim Meyering  <meyering@redhat.com>
14423             Bruno Haible  <bruno@clisp.org>
14424
14425         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
14426         use the converted UTF-8 variant of the name instead.
14427
14428 2009-05-03  Jim Meyering  <meyering@redhat.com>
14429
14430         tests: tighten some getdate tests
14431         * tests/test-getdate.c (main): Tighten tests: require equality,
14432         not just greater than.  Set TZ envvar to UTC0.
14433
14434 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
14435
14436         getdate: correctly interpret "next monday" when run on a Monday
14437         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
14438         that e.g., "next tues" (when run on a tuesday) results in a date
14439         that is one week in the future, and not today's date.
14440         I.e., add a week when the wday is the same as the current one.
14441         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
14442         and earlier by Martin Bernreuther and Jan Minář.
14443         * tests/test-getdate.c (main): Check that "next DAY" is always in
14444         the future and that "last DAY" is always in the past.
14445
14446 2009-05-02  Jim Meyering  <meyering@redhat.com>
14447
14448         build: ensure that a release build fails when a submodule is unclean
14449         * top/maint.mk (no-submodule-changes): New rule.
14450         (alpha beta major): Depend on it.
14451
14452 2009-05-02  Bruno Haible  <bruno@clisp.org>
14453
14454         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
14455         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
14456         shell variable gl_fnmatch_required to detect which variant is
14457         requested.
14458         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
14459         gl_FUNC_FNMATCH_POSIX.
14460         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
14461         exclude fnmatch-posix.
14462
14463 2009-05-02  Bruno Haible  <bruno@clisp.org>
14464
14465         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
14466         * modules/mbsrtowcs (License): Change to LGPLv2+.
14467         * modules/strnlen1 (License): Likewise.
14468         Reported by Simon Josefsson.
14469
14470 2009-05-02  Bruno Haible  <bruno@clisp.org>
14471
14472         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
14473         "cross".
14474         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
14475         gnulib-tool was called with option --source-base=lib.
14476
14477 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14478
14479         Use automake *-local hooks without commands, for extensibility.
14480         * modules/localcharset (Makefile.am): Rename install-exec-local
14481         rule to install-exec-localcharset, and make it a prerequisite of
14482         install-exec-local.  Likewise, rename the uninstall-local rule to
14483         uninstall-localcharset, and make it a prerequisite of the former.
14484
14485 2009-05-01  Bruno Haible  <bruno@clisp.org>
14486
14487         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
14488         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14489         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
14490         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
14491         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
14492         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14493         m4/locale-zh.m4, m4/codeset.m4.
14494
14495         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
14496         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
14497         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
14498         m4/locale-zh.m4.
14499
14500         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
14501         REPLACE_WCRTOMB if mbstate_t must be replaced.
14502         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
14503         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
14504
14505 2009-05-01  Bruno Haible  <bruno@clisp.org>
14506
14507         Avoid compiler warnings when redefining macros defined by <libintl.h>.
14508         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
14509         dngettext, dcngettext, textdomain, bindtextdomain,
14510         bind_textdomain_codeset): Undefine before redefining.
14511
14512 2009-04-30  Bruno Haible  <bruno@clisp.org>
14513
14514         Fix bug introduced on 2009-04-25.
14515         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
14516         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
14517         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
14518         is defined.
14519         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
14520         is defined.
14521         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
14522         is defined.
14523         Reported by Elbert_Pol <elbert.pol@gmail.com>.
14524
14525 2009-04-28  Bruno Haible  <bruno@clisp.org>
14526
14527         Comment tweaks.
14528         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
14529         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
14530         * lib/unicase.h (u*_casexfrm): Likewise.
14531         Reported by Paolo Bonzini.
14532
14533 2009-04-28  Bruno Haible  <bruno@clisp.org>
14534
14535         Fix a compilation error.
14536         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
14537         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
14538         Reported by Jim Meyering.
14539
14540 2009-04-27  Bruno Haible  <bruno@clisp.org>
14541
14542         New module 'libunistring'.
14543         * modules/libunistring: New file.
14544         * m4/libunistring.m4: New file.
14545         * MODULES.html.sh (Unicode string functions): Add it.
14546
14547 2009-04-27  Eric Blake  <ebb9@byu.net>
14548
14549         maint.mk: allow package-specific header to provide <config.h>
14550         * top/maint.mk (sc_require_config_h): New variable.
14551         (sc_require_config_h, sc_require_config_h_first): Use it.
14552
14553 2009-04-27  Simon Josefsson  <simon@josefsson.org>
14554
14555         * top/maint.mk (sc_avoid_if_before_free): Except
14556         useless-if-before-free script.
14557
14558 2009-04-27  Eric Blake  <ebb9@byu.net>
14559
14560         maintainer-makefile: depend on all required helper scripts
14561         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
14562         useless-if-before-free.
14563         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
14564         version, rather than assuming gnulib checkout is available.
14565         Reported by Simen Josefsson.
14566
14567 2009-04-26  Bruno Haible  <bruno@clisp.org>
14568
14569         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
14570         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
14571         "../" or "..".
14572
14573 2009-04-26  Bruno Haible  <bruno@clisp.org>
14574
14575         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
14576         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
14577         AC_LIB_HAVE_LINKFLAGS.
14578
14579 2009-04-26  Bruno Haible  <bruno@clisp.org>
14580
14581         Simplify calling convention of u*_conv_from_encoding.
14582         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
14583         u32_conv_from_encoding): Expect a resultbuf argument and return the
14584         result directly as a pointer.
14585         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14586         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
14587         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
14588         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
14589         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
14590         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
14591         Update.
14592         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
14593         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
14594         * lib/vasnprintf.c (VASNPRINTF): Update.
14595         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
14596         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
14597         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
14598         * NEWS: Mention the change.
14599
14600 2009-04-26  Bruno Haible  <bruno@clisp.org>
14601
14602         Simplify calling convention of u*_conv_to_encoding.
14603         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
14604         u32_conv_to_encoding): Expect a resultbuf argument and return the
14605         result directly as a pointer.
14606         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14607         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
14608         freeing scaled_offsets if mem_iconveha failed.
14609         * lib/unicase/u-casexfrm.h (FUNC): Update.
14610         * lib/uninorm/u-normxfrm.h (FUNC): Update.
14611         * lib/vasnprintf.c (VASNPRINTF): Update.
14612         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
14613         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
14614         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
14615         * NEWS: Mention the change.
14616
14617 2009-04-26  Bruno Haible  <bruno@clisp.org>
14618
14619         Avoid test failures on AIX and OSF/1.
14620         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
14621         malloc(0).
14622         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14623         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
14624         Likewise.
14625         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
14626         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
14627         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
14628         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
14629         * doc/posix-functions/malloc.texi: Document the portability problem
14630         related to malloc(0).
14631
14632 2009-04-26  Bruno Haible  <bruno@clisp.org>
14633
14634         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
14635         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
14636         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
14637
14638 2009-04-25  Bruno Haible  <bruno@clisp.org>
14639
14640         Avoid link error when creating a namespace clean library.
14641         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
14642         as macro with arguments if already defined as an alias.
14643         * lib/signbitf.c (gl_signbitf): Don't undefine.
14644         * lib/signbitd.c (gl_signbitd): Don't undefine.
14645         * lib/signbitl.c (gl_signbitl): Don't undefine.
14646
14647 2009-04-25  Jim Meyering  <meyering@redhat.com>
14648
14649         vc-list-files: fix another quoting bug
14650         * build-aux/vc-list-files: Avoid sed backslash expansion
14651         of pathological directory names.
14652
14653 2009-04-25  Eric Blake  <ebb9@byu.net>
14654
14655         vc-list-files: fix shell quoting error
14656         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
14657         timestamp.
14658
14659 2009-04-25  Jim Meyering  <meyering@redhat.com>
14660
14661         vc-list-files: restore lost functionality with subdir argument
14662         * build-aux/vc-list-files: When given a non-"." sub-directory
14663         argument, substitute the $dir/ prefix back onto each resulting name.
14664         Otherwise, coreutils' root_tests check would fail.
14665
14666 2009-04-24  Eric Blake  <ebb9@byu.net>
14667
14668         vc-list-files: ignore git symlinks
14669         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
14670         than ls-files, to ignore git symlinks.
14671
14672         maint.mk: import improvements from m4
14673         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
14674         (move_if_change): Delete unused macro.
14675         (news-date-check, vc-diff-check): Support VPATH builds.
14676         (announcement): Likewise.  Split --bootstrap-tools list...
14677         (boostrap-tools): ...into separate list, which can be overridden
14678         in cfg.mk.
14679         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
14680         requiring dependency on useless-if-before-free module.
14681         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
14682         Support VPATH builds.
14683
14684 2009-04-24  Jim Meyering  <meyering@redhat.com>
14685
14686         maint.mk: remove coreutils-specific rules and variables
14687         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
14688         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
14689         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
14690
14691         maint.mk: remove obsolete rule
14692         * top/maint.mk (rel-check): Remove rule.
14693         (WGET, WGETFLAGS): Remove now-unused variables.
14694
14695 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14696
14697         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
14698         consistency.
14699
14700         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
14701         '$(PATH_SEPARATOR)' instead of ':'.
14702
14703 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14704
14705         * lib/getopt1.c (main): Use 'const' for static array.
14706
14707 2009-04-24  Simon Josefsson  <simon@josefsson.org>
14708
14709         * top/maint.mk: Sync with coreutils.
14710         * NEWS: Explain incompatibilities.
14711
14712 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14713             Bruno Haible  <bruno@clisp.org>
14714
14715         Fix cross-compilation results.
14716         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
14717         statement, as third argument of AC_TRY_RUN.
14718         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14719         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
14720         Likewise.
14721         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14722         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
14723         Likewise.
14724         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14725         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
14726         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
14727
14728 2009-04-20  Bruno Haible  <bruno@clisp.org>
14729
14730         Avoid test failure on mingw.
14731         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
14732
14733 2009-04-20  Bruno Haible  <bruno@clisp.org>
14734
14735         Avoid compilation error on mingw.
14736         * modules/localename-tests (Depends-on): Add locale.
14737
14738 2009-04-19  Bruno Haible  <bruno@clisp.org>
14739
14740         Support for building a shared library on Windows platforms.
14741         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
14742         (main): Test the presence of UNINORM_NFC here.
14743         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
14744         (main): Test the presence of UNINORM_NFD here.
14745         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
14746         (main): Test the presence of UNINORM_NFKC here.
14747         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
14748         (main): Test the presence of UNINORM_NFKD here.
14749
14750 2009-04-19  Bruno Haible  <bruno@clisp.org>
14751
14752         Avoid a compiler warning.
14753         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
14754         Change type of variable 'sequence'.
14755
14756 2009-04-19  Bruno Haible  <bruno@clisp.org>
14757
14758         * modules/configmake (Makefile.am): When the contents of configmake.h
14759         does not change, arrange to preserve its modification time.
14760
14761 2009-04-17  Simon Josefsson  <simon@josefsson.org>
14762
14763         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
14764         gettext domain.
14765
14766 2009-04-16  Jim Meyering  <meyering@redhat.com>
14767
14768         useless-if-before-free: improve conversion code
14769         * build-aux/useless-if-before-free: Adjust code-in-comment to match
14770         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
14771
14772 2009-04-14  Bruno Haible  <bruno@clisp.org>
14773
14774         * modules/fcntl (Depends-on): Add extensions.
14775         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
14776
14777 2009-04-12  Ben Pfaff  <blp@gnu.org>
14778
14779         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
14780         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
14781
14782 2009-03-20  Ben Pfaff  <blp@gnu.org>
14783
14784         Make rename replace existing destinations on Windows.
14785         * m4/rename.m4: Add test for Mingw.
14786         * lib/rename.c: Add rename replacement that uses MoveFileEx with
14787         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
14788         * doc/posix-functions/rename.texi: Document.
14789
14790 2009-04-10  Bruno Haible  <bruno@clisp.org>
14791
14792         New include file "iconveh.h".
14793         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
14794         * lib/striconveh.h: Include it.
14795         (enum iconv_ilseq_handler): Remove definition.
14796         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
14797         striconveh.h.
14798         * lib/striconveha.c: Include striconveh.h.
14799         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
14800         * modules/striconveh (Files): Add lib/iconveh.h.
14801         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
14802         lib/striconveh.h.
14803
14804 2009-04-10  Bruno Haible  <bruno@clisp.org>
14805
14806         * lib/uniconv.h: Update comment.
14807
14808 2009-04-10  Bruno Haible  <bruno@clisp.org>
14809
14810         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
14811         always.
14812         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
14813         * lib/unistr/u16-mbtouc-aux.c: Likewise.
14814         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
14815         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
14816         "unistring-notinline.h", so that the function gets defined always.
14817         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
14818         * lib/unistr/u8-uctomb.c: Likewise.
14819         * lib/unistr/u16-mbtouc.c: Likewise.
14820         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
14821         * lib/unistr/u16-uctomb.c: Likewise.
14822         * lib/unistr/u32-mbtouc.c: Likewise.
14823         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
14824         * lib/unistr/u32-uctomb.c: Likewise.
14825
14826 2009-04-10  Bruno Haible  <bruno@clisp.org>
14827
14828         Mark 'utime' obsolete.
14829         * modules/utime (Status, Notice): New sections.
14830         Suggested by Jim Meyering.
14831
14832         Fix cross-compile guess for utime test.
14833         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
14834         autoconf.
14835         * doc/posix-functions/utime.texi: Give more precisions.
14836         Reported by Jan <ipif@ymail.com>.
14837
14838 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
14839
14840         filevercmp: correct today's change
14841         * lib/filevercmp.c: Also handle coreutils' test inputs.
14842         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
14843
14844         Fix regression in 'filevercmp' module. Thanks Sven Joachim
14845         for reporting it.
14846         * lib/filevercmp.c: Special handle for "", "." and "..".
14847         * tests/test-filevercmp.c: Enlarge the set suite.
14848
14849 2009-04-07  Jim Meyering  <meyering@redhat.com>
14850
14851         useless-if-before-free: show how to remove braced useless free, too
14852         * build-aux/useless-if-before-free: still only in a comment, though.
14853
14854 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
14855
14856         maint.mk: import changes to syntax-check macros from coreutils
14857         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
14858         Use them in the relevant macros.
14859
14860 2009-04-06  Bruno Haible  <bruno@clisp.org>
14861
14862         Fix unportable use of bit-fields.
14863         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
14864         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
14865         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
14866
14867 2009-04-06  Bruno Haible  <bruno@clisp.org>
14868
14869         Avoid test failures on AIX and OSF/1.
14870         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
14871         that malloc(0) = NULL.
14872         * tests/unicase/test-u8-tolower.c (check): Likewise.
14873         * tests/unicase/test-u8-totitle.c (check): Likewise.
14874         * tests/unicase/test-u8-toupper.c (check): Likewise.
14875         * tests/unicase/test-u16-casefold.c (check): Likewise.
14876         * tests/unicase/test-u16-tolower.c (check): Likewise.
14877         * tests/unicase/test-u16-totitle.c (check): Likewise.
14878         * tests/unicase/test-u16-toupper.c (check): Likewise.
14879         * tests/unicase/test-u32-casefold.c (check): Likewise.
14880         * tests/unicase/test-u32-tolower.c (check): Likewise.
14881         * tests/unicase/test-u32-totitle.c (check): Likewise.
14882         * tests/unicase/test-u32-toupper.c (check): Likewise.
14883         * tests/uninorm/test-u8-nfc.c (check): Likewise.
14884         * tests/uninorm/test-u8-nfd.c (check): Likewise.
14885         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
14886         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
14887         * tests/uninorm/test-u16-nfc.c (check): Likewise.
14888         * tests/uninorm/test-u16-nfd.c (check): Likewise.
14889         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
14890         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
14891         * tests/uninorm/test-u32-nfc.c (check): Likewise.
14892         * tests/uninorm/test-u32-nfd.c (check): Likewise.
14893         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
14894         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
14895
14896 2009-04-05  Bruno Haible  <bruno@clisp.org>
14897
14898         Work around an autoconf limitation.
14899         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
14900         comment line if it would be longer than 3 KB.
14901
14902 2009-04-05  Bruno Haible  <bruno@clisp.org>
14903
14904         Avoid test failure with libiconv-1.13.
14905         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
14906         of the expected test results.
14907
14908 2009-04-05  Bruno Haible  <bruno@clisp.org>
14909
14910         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
14911         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
14912         that it should be installed.
14913
14914 2009-04-05  Bruno Haible  <bruno@clisp.org>
14915
14916         * gnulib-tool: New option --copy-file.
14917         (func_usage): Document it.
14918         (func_dest_tmpfilename): Moved out of func_import.
14919         (func_add_file, func_update_file): New functions, extracted from
14920         func_import.
14921         (func_import): Update.
14922
14923 2009-04-05  Karl Berry  <karl@gnu.org>
14924
14925         * README: prominently mention gnulib-tool.
14926         Rearrange sections so getting the code is near the top.
14927
14928 2009-04-05  Bruno Haible  <bruno@clisp.org>
14929
14930         * lib/unicase.h: Mention u*_cmp2.
14931         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
14932         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
14933         * lib/unicase/ulc-casecmp.c: Likewise.
14934         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
14935         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
14936         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
14937         unistr/u8-cmp.
14938         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
14939         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
14940         unistr/u16-cmp.
14941         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
14942         unistr/u32-cmp.
14943
14944         * lib/uninorm.h: Mention u*_cmp2.
14945         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
14946         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
14947         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
14948         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
14949         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
14950         unistr/u8-cmp.
14951         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
14952         unistr/u16-cmp.
14953         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
14954         unistr/u32-cmp.
14955
14956         New module 'unistr/u32-cmp2'.
14957         * lib/unistr/u32-cmp2.c: New file.
14958         * modules/unistr/u32-cmp2: New file.
14959
14960         New module 'unistr/u16-cmp2'.
14961         * lib/unistr/u16-cmp2.c: New file.
14962         * modules/unistr/u16-cmp2: New file.
14963
14964         New module 'unistr/u8-cmp2'.
14965         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
14966         * lib/unistr/u8-cmp2.c: New file.
14967         * lib/unistr/u-cmp2.h: New file.
14968         * modules/unistr/u8-cmp2: New file.
14969
14970 2009-04-05  Bruno Haible  <bruno@clisp.org>
14971
14972         * lib/unictype.h (uc_property_is_valid): New macro.
14973         * tests/unictype/test-pr_byname.c (main): Use it.
14974
14975         * lib/unistr.h: Doc fixes.
14976         * lib/uniconv.h: Doc fixes.
14977         * lib/unictype.h: Doc fixes.
14978
14979 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
14980
14981         Port coreutils 7.2 to Solaris 8.
14982
14983         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
14984         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
14985         for Solaris 8.  This is a bit of a hack, as it means it's the
14986         caller's responsibility to add -lnsl if needed, but most likely it
14987         won't be needed since only getaddrinfo uses this and getaddrinfo
14988         isn't needed on Solaris 8.
14989
14990         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
14991         problem to Solaris 8 encountered with coreutils 7.2, which
14992         resulted in a message "fnmatch.c:292: warning: passing argument 4
14993         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
14994         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
14995
14996 2009-04-03  Simon Josefsson  <simon@josefsson.org>
14997
14998         * m4/ld-version-script.m4: Add FIXME comment.
14999
15000 2009-04-02  Simon Josefsson  <simon@josefsson.org>
15001
15002         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
15003         SOVERSION variable.
15004
15005 2009-04-02  Bruno Haible  <bruno@clisp.org>
15006
15007         * Makefile (info, html, dvi, pdf): Combine the rules.
15008         Suggested by Jim Meyering.
15009
15010 2009-04-01  Bruno Haible  <bruno@clisp.org>
15011
15012         * Makefile (info, html, dvi, pdf): New targets.
15013         Reported by Reuben Thomas <rrt@sc3d.org>.
15014
15015 2009-04-01  Bruno Haible  <bruno@clisp.org>
15016
15017         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
15018         can be put into PATH.
15019         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
15020
15021 2009-04-01  Bruno Haible  <bruno@clisp.org>
15022
15023         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
15024
15025 2009-04-01  Bruno Haible  <bruno@clisp.org>
15026
15027         Rename module 'visibility'.
15028         * modules/lib-symbol-visibility: Renamed from modules/visibility.
15029         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
15030         * doc/gnulib.texi: Update.
15031         * MODULES.html.sh (Misc): Update.
15032         * NEWS: Mention the change.
15033
15034 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15035
15036         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
15037         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
15038         Eric Blake <ebb9@byu.net> for review.
15039         * MODULES.html.sh: Add lib-msvc-compat.
15040         * doc/gnulib.texi: Link to new section.
15041         * m4/ld-output-def.m4: New file.
15042         * doc/ld-output-def.texi: New file.
15043
15044 2009-04-01  Simon Josefsson  <simon@josefsson.org>
15045
15046         Rename ld-version-script to lib-symbol-versions.  Suggested by
15047         Bruno Haible <bruno@clisp.org>.
15048         * modules/ld-version-script: Renamed to lib-symbol-versions.
15049         * doc/ld-version-script.texi: Fix module name.
15050         * MODULES.html.sh: Add lib-symbol-versions.
15051
15052 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15053
15054         * modules/u64-tests: New file.
15055         * tests/test-u64.c: New file.
15056
15057 2009-03-04  Simon Josefsson  <simon@josefsson.org>
15058
15059         * MODULES.html.sh: Mention u64.
15060         * modules/u64: New module.
15061         * modules/crypto/sha512: Depend on u64 module instead of providing
15062         u64.h.
15063
15064 2009-03-27  Eric Blake  <ebb9@byu.net>
15065
15066         test-strerror: make debugging EAI_SYSTEM easier
15067         * modules/getaddrinfo-tests (Depends-on): Add strerror.
15068         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
15069         failure was EAI_SYSTEM.
15070
15071 2009-03-25  Bruno Haible  <bruno@clisp.org>
15072
15073         Fix a problem with --enable-relocatable on Solaris 7.
15074         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
15075         since 2008-02-24.
15076
15077 2009-03-25  Eric Blake  <ebb9@byu.net>
15078
15079         test-sockets: avoid gcc warning
15080         * tests/test-sockets.c (main): Silence compiler warning.
15081
15082 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15083
15084         New modules nproc, pthread, contributed by Glen Lenker.
15085
15086         * MODULES.html.sh: Add pthread, nproc.
15087         * lib/nproc.c: New file.
15088         * lib/nproc.h: New file.
15089         * lib/pthread.in.h: New file.
15090         * m4/pthread.m4: New file.
15091         * modules/nproc: New file.
15092         * modules/pthread: New file.
15093
15094 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15095
15096         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
15097         New variable.
15098
15099 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
15100
15101         filevercmp: handle simple~ and numbered.~3~ backup suffixes
15102         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
15103         * tests/test-filevercmp.c: Add tests for backup suffixes.
15104
15105 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15106
15107         * modules/stdlib (Depends-on): Add stdint, needed when defining
15108         struct random_data on, for example, HP-UX 10.20.  Reported by
15109         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15110
15111 2009-03-24  Simon Josefsson  <simon@josefsson.org>
15112
15113         * lib/readline.c (readline): Call fflush on stdout after printing
15114         prompt.
15115
15116 2009-03-20  Bruno Haible  <bruno@clisp.org>
15117
15118         Remove dependency from 'close' module to -lws2_32 on native Windows.
15119         * lib/close-hook.h: New file.
15120         * lib/close-hook.c: New file.
15121         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
15122         w32sock.h.
15123         (_gl_close_fd_maybe_socket): Remove function.
15124         (rpl_close): Invoke execute_all_close_hooks instead of
15125         _gl_close_fd_maybe_socket.
15126         * lib/sockets.c: Include close-hook.h, w32sock.h.
15127         (close_fd_maybe_socket): New function, essentially from lib/close.c.
15128         (close_sockets_hook): New variable.
15129         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
15130         (gl_sockets_cleanup): Unregister it.
15131         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
15132         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
15133         * modules/close-hook: New file.
15134         * modules/close (Files): Remove lib/w32sock.h.
15135         (Depends-on): Add close-hook.
15136         (Link): Remove section.
15137         * modules/sockets (Files): Add lib/w32sock.h.
15138         (Depends-on): Add close-hook.
15139         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
15140         invocation.
15141         * NEWS: Mention that LIB_CLOSE is gone.
15142
15143 2009-03-23  Eric Blake  <ebb9@byu.net>
15144
15145         signal-tests: test previous patch
15146         * tests/test-signal.c: New file.
15147         * modules/signal-tests: Likewise.
15148
15149         signal.h: always support 'volatile sig_atomic_t'
15150         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
15151         (gl_SIGNAL_H_DEFAULTS): Add a default.
15152         * modules/signal (Makefile.am): Substitute if needed.
15153         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
15154         users can blindly add volatile.
15155         * doc/posix-headers/signal.texi (signal.h): Document it.
15156         Reported by Matthew Woehlke.
15157
15158 2009-03-23  Jim Meyering  <meyering@redhat.com>
15159
15160         pathmax: PATH_MAX: use pathconf only when available
15161         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
15162         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
15163         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
15164         This avoids a link failure in a PSP cross-compilation environment
15165         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
15166
15167         * lib/vasnprintf.c (divide): Fix typo in comment.
15168
15169 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15170
15171         * gnulib-tool (func_filter_filelist): Fix comment.
15172
15173 2009-03-20  Bruno Haible  <bruno@clisp.org>
15174
15175         Make sockets.h self-contained.
15176         * lib/sockets.c: Include sockets.h first.
15177         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
15178
15179 2009-03-19  Eric Blake  <ebb9@byu.net>
15180
15181         doc: mention more functions added in cygwin 1.7.0
15182         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
15183         addition.
15184         * doc/posix-functions/log2f.texi: Likewise.
15185
15186 2009-03-19  Jim Meyering  <meyering@redhat.com>
15187
15188         fsusage: avoid syntax error due to statement-before-declaration
15189         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
15190         after all declarations.  Reported by Matthew Woehlke in
15191         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
15192
15193 2009-03-18  Eric Blake  <ebb9@byu.net>
15194
15195         build-aux/compile: sync from automake
15196         * build-aux/compile: New file, from automake.
15197         * config/srclist.txt: Mention build-aux/compile.
15198
15199 2009-03-17  Bruno Haible  <bruno@clisp.org>
15200
15201         * lib/git-merge-changelog.c: Fix typo in comment.
15202         Reported by Reuben Thomas <rrt@sc3d.org>.
15203
15204 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
15205
15206         * m4/regex.m4: update and improve help for
15207         --without-included-regex.
15208
15209 2009-03-17  Simon Josefsson  <simon@josefsson.org>
15210
15211         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
15212         failure on missing include files.
15213
15214 2009-03-17  Eric Blake  <ebb9@byu.net>
15215
15216         doc: mention more functions added in cygwin 1.7.0
15217         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
15218         addition.
15219         * doc/posix-functions/fwscanf.texi: Likewise.
15220         * doc/posix-functions/swprintf.texi: Likewise.
15221         * doc/posix-functions/swscanf.texi: Likewise.
15222         * doc/posix-functions/vfwprintf.texi: Likewise.
15223         * doc/posix-functions/vfwscanf.texi: Likewise.
15224         * doc/posix-functions/vswprintf.texi: Likewise.
15225         * doc/posix-functions/vswscanf.texi: Likewise.
15226         * doc/posix-functions/vwprintf.texi: Likewise.
15227         * doc/posix-functions/vwscanf.texi: Likewise.
15228         * doc/posix-functions/wcscasecmp.texi: Likewise.
15229         * doc/posix-functions/wcsdup.texi: Likewise.
15230         * doc/posix-functions/wcsftime.texi: Likewise.
15231         * doc/posix-functions/wcsncasecmp.texi: Likewise.
15232         * doc/posix-functions/wprintf.texi: Likewise.
15233         * doc/posix-functions/wscanf.texi: Likewise.
15234         * doc/glibc-functions/gethostbyname2.texi: Likewise.
15235
15236 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15237
15238         maint.mk: really add $(AM_MAKEFLAGS)
15239         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
15240         was inadvertently omitted in the last commit.
15241         Spotted by Bruno Haible.
15242
15243         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
15244         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
15245         $(AM_MAKEFLAGS)' rather than plain `make'.
15246
15247         gnulib-tool: execute $MAKE not make
15248         * gnulib-tool: Default $MAKE to 'make'.
15249         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
15250         than make.  Initialize $MAKE in the do-autobuild script.
15251
15252         gnulib-tool: use $MAKE not make in generated files
15253         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
15254         make, in generated files.  Initialize $MAKE in the do-autobuild
15255         script.
15256
15257         * top/GNUmakefile (_have-git-version-gen): Fix typo.
15258
15259         GNUmakefile: disable parallelism only for multiple, recursive targets
15260         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
15261         additions in the Makefile.
15262         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
15263         by Automake.
15264         (.NOTPARALLEL): Only disable parallel builds if multiple targets
15265         are listed on the command line and at least one of them is
15266         listed in $(ALL_RECURSIVE_TARGETS).
15267
15268 2009-03-14  Bruno Haible  <bruno@clisp.org>
15269
15270         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
15271         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
15272         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
15273         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
15274         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
15275         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
15276         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
15277         unistr/u8-uctomb.
15278         * modules/unistr/u8-strchr (Depends-on): Likewise.
15279         * modules/unistr/u8-strrchr (Depends-on): Likewise.
15280         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
15281         unistr/u16-uctomb.
15282         * modules/unistr/u16-strchr (Depends-on): Likewise.
15283         * modules/unistr/u16-strrchr (Depends-on): Likewise.
15284
15285 2009-03-12  Bruno Haible  <bruno@clisp.org>
15286
15287         Work around select() bug on Interix 3.5.
15288         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
15289         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
15290         * m4/select.m4: New file.
15291         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
15292         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
15293         * modules/select (Files): Add m4/select.m4.
15294         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
15295         * modules/nanosleep (Depends-on): Add select.
15296         * modules/poll (Depends-on): Likewise.
15297         * doc/posix-functions/select.texi: Mention the Interix bug.
15298         Reported by Markus Duft <mduft@gentoo.org>.
15299
15300         * lib/select.c: Renamed from lib/winsock-select.c.
15301         * modules/select (Files): Add lib/select.c, remove
15302         lib/winsock-select.c.
15303         (configure.ac): Update.
15304
15305 2009-03-12  Jim Meyering  <meyering@redhat.com>
15306
15307         avoid gcc warnings about unused macro definitions
15308         * lib/readtokens.c (STREQ): Remove unused definition.
15309         * lib/xmalloc.c (SIZE_MAX): Likewise.
15310         * lib/openat-die.c (N_): Likewise.
15311         * lib/mountlist.c (SIZE_MAX): Remove definition.
15312         Instead, include <stdint.h>.
15313         * lib/readutmp.c: Likewise.
15314         * modules/readutmp (Depends-on): Add stdint.
15315         * modules/mountlist (Depends-on): Add stdint.
15316         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
15317
15318 2009-03-10  Bruno Haible  <bruno@clisp.org>
15319
15320         Tests for module 'mbmemcasecoll'.
15321         * modules/mbmemcasecoll-tests: New file.
15322         * tests/test-mbmemcasecoll1.sh: New file.
15323         * tests/test-mbmemcasecoll2.sh: New file.
15324         * tests/test-mbmemcasecoll3.sh: New file.
15325         * tests/test-mbmemcasecoll.c: New file.
15326
15327         New module 'mbmemcasecoll'.
15328         * lib/mbmemcasecoll.h: New file.
15329         * lib/mbmemcasecoll.c: New file.
15330         * modules/mbmemcasecoll: New file.
15331
15332         * tests/test-mbmemcasecmp.h: New file, extracted from
15333         tests/test-mbmemcasecmp.c.
15334         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
15335         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
15336         (main): Update.
15337         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
15338
15339 2009-03-09  Bruno Haible  <bruno@clisp.org>
15340
15341         Tests for module 'mbmemcasecmp'.
15342         * modules/mbmemcasecmp-tests: New file.
15343         * tests/test-mbmemcasecmp1.sh: New file.
15344         * tests/test-mbmemcasecmp2.sh: New file.
15345         * tests/test-mbmemcasecmp3.sh: New file.
15346         * tests/test-mbmemcasecmp.c: New file.
15347
15348         New module 'mbmemcasecmp'.
15349         * lib/mbmemcasecmp.h: New file.
15350         * lib/mbmemcasecmp.c: New file.
15351         * modules/mbmemcasecmp: New file.
15352
15353 2009-03-09  Bruno Haible  <bruno@clisp.org>
15354
15355         Tests for module 'unicase/ulc-casecoll'.
15356         * modules/unicase/ulc-casecoll-tests: New file.
15357         * tests/unicase/test-ulc-casecoll1.sh: New file.
15358         * tests/unicase/test-ulc-casecoll2.sh: New file.
15359         * tests/unicase/test-ulc-casecoll.c: New file.
15360
15361         New module 'unicase/ulc-casecoll'.
15362         * lib/unicase.h (ulc_casecoll): New declaration.
15363         * lib/unicase/ulc-casecoll.c: New file.
15364         * modules/unicase/ulc-casecoll: New file.
15365
15366         New module 'unicase/ulc-casexfrm'.
15367         * lib/unicase.h (ulc_casexfrm): New declaration.
15368         * lib/unicase/ulc-casexfrm.c: New file.
15369         * modules/unicase/ulc-casexfrm: New file.
15370
15371 2009-03-09  Bruno Haible  <bruno@clisp.org>
15372
15373         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
15374         invocations.
15375
15376         * m4/mbscasecmp.m4: Remove file.
15377         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
15378         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
15379
15380         * m4/mbscasestr.m4: Remove file.
15381         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
15382         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
15383
15384         * m4/mbschr.m4: Remove file.
15385         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
15386         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
15387
15388         * m4/mbscspn.m4: Remove file.
15389         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
15390         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
15391
15392         * m4/mbslen.m4: Remove file.
15393         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
15394         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
15395
15396         * m4/mbsncasecmp.m4: Remove file.
15397         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
15398         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
15399
15400         * m4/mbsnlen.m4: Remove file.
15401         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
15402         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
15403
15404         * m4/mbspbrk.m4: Remove file.
15405         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
15406         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
15407
15408         * m4/mbspcasecmp.m4: Remove file.
15409         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
15410         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
15411
15412         * m4/mbsrchr.m4: Remove file.
15413         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
15414         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
15415
15416         * m4/mbssep.m4: Remove file.
15417         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
15418         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
15419
15420         * m4/mbsspn.m4: Remove file.
15421         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
15422         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
15423
15424         * m4/mbsstr.m4: Remove file.
15425         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
15426         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
15427
15428         * m4/mbstok_r.m4: Remove file.
15429         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
15430         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
15431
15432         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
15433
15434         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
15435         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
15436
15437         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
15438
15439 2009-03-08  Bruno Haible  <bruno@clisp.org>
15440
15441         Tests for module 'unicase/ulc-casecmp'.
15442         * modules/unicase/ulc-casecmp-tests: New file.
15443         * tests/unicase/test-ulc-casecmp1.sh: New file.
15444         * tests/unicase/test-ulc-casecmp2.sh: New file.
15445         * tests/unicase/test-ulc-casecmp.c: New file.
15446
15447         New module 'unicase/ulc-casecmp'.
15448         * lib/unicase.h (ulc_casecmp): New declaration.
15449         * lib/unicase/ulc-casecmp.c: New file.
15450         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
15451         'const SRC_UNIT *'.
15452         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
15453         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
15454         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
15455         * modules/unicase/ulc-casecmp: New file.
15456
15457         Tests for module 'unicase/u32-is-cased'.
15458         * modules/unicase/u32-is-cased-tests: New file.
15459         * tests/unicase/test-u32-is-cased.c: New file.
15460
15461         Tests for module 'unicase/u16-is-cased'.
15462         * modules/unicase/u16-is-cased-tests: New file.
15463         * tests/unicase/test-u16-is-cased.c: New file.
15464
15465         Tests for module 'unicase/u8-is-cased'.
15466         * modules/unicase/u8-is-cased-tests: New file.
15467         * tests/unicase/test-u8-is-cased.c: New file.
15468         * tests/unicase/test-is-cased.h: New file.
15469
15470         New module 'unicase/u32-is-cased'.
15471         * lib/unicase/u32-is-cased.c: New file.
15472         * modules/unicase/u32-is-cased: New file.
15473
15474         New module 'unicase/u16-is-cased'.
15475         * lib/unicase/u16-is-cased.c: New file.
15476         * modules/unicase/u16-is-cased: New file.
15477
15478         New module 'unicase/u8-is-cased'.
15479         * lib/unicase/u8-is-cased.c: New file.
15480         * lib/unicase/u-is-cased.h: New file.
15481         * modules/unicase/u8-is-cased: New file.
15482
15483         Tests for module 'unicase/u32-is-casefolded'.
15484         * modules/unicase/u32-is-casefolded-tests: New file.
15485         * tests/unicase/test-u32-is-casefolded.c: New file.
15486
15487         Tests for module 'unicase/u16-is-casefolded'.
15488         * modules/unicase/u16-is-casefolded-tests: New file.
15489         * tests/unicase/test-u16-is-casefolded.c: New file.
15490
15491         Tests for module 'unicase/u8-is-casefolded'.
15492         * modules/unicase/u8-is-casefolded-tests: New file.
15493         * tests/unicase/test-u8-is-casefolded.c: New file.
15494         * tests/unicase/test-is-casefolded.h: New file.
15495
15496         New module 'unicase/u32-is-casefolded'.
15497         * lib/unicase/u32-is-casefolded.c: New file.
15498         * modules/unicase/u32-is-casefolded: New file.
15499
15500         New module 'unicase/u16-is-casefolded'.
15501         * lib/unicase/u16-is-casefolded.c: New file.
15502         * modules/unicase/u16-is-casefolded: New file.
15503
15504         New module 'unicase/u8-is-casefolded'.
15505         * lib/unicase/u8-is-casefolded.c: New file.
15506         * modules/unicase/u8-is-casefolded: New file.
15507
15508         Tests for module 'unicase/u32-is-titlecase'.
15509         * modules/unicase/u32-is-titlecase-tests: New file.
15510         * tests/unicase/test-u32-is-titlecase.c: New file.
15511
15512         Tests for module 'unicase/u16-is-titlecase'.
15513         * modules/unicase/u16-is-titlecase-tests: New file.
15514         * tests/unicase/test-u16-is-titlecase.c: New file.
15515
15516         Tests for module 'unicase/u8-is-titlecase'.
15517         * modules/unicase/u8-is-titlecase-tests: New file.
15518         * tests/unicase/test-u8-is-titlecase.c: New file.
15519         * tests/unicase/test-is-titlecase.h: New file.
15520
15521         New module 'unicase/u32-is-titlecase'.
15522         * lib/unicase/u32-is-titlecase.c: New file.
15523         * modules/unicase/u32-is-titlecase: New file.
15524
15525         New module 'unicase/u16-is-titlecase'.
15526         * lib/unicase/u16-is-titlecase.c: New file.
15527         * modules/unicase/u16-is-titlecase: New file.
15528
15529         New module 'unicase/u8-is-titlecase'.
15530         * lib/unicase/u8-is-titlecase.c: New file.
15531         * modules/unicase/u8-is-titlecase: New file.
15532
15533         Tests for module 'unicase/u32-is-lowercase'.
15534         * modules/unicase/u32-is-lowercase-tests: New file.
15535         * tests/unicase/test-u32-is-lowercase.c: New file.
15536
15537         Tests for module 'unicase/u16-is-lowercase'.
15538         * modules/unicase/u16-is-lowercase-tests: New file.
15539         * tests/unicase/test-u16-is-lowercase.c: New file.
15540
15541         Tests for module 'unicase/u8-is-lowercase'.
15542         * modules/unicase/u8-is-lowercase-tests: New file.
15543         * tests/unicase/test-u8-is-lowercase.c: New file.
15544         * tests/unicase/test-is-lowercase.h: New file.
15545
15546         New module 'unicase/u32-is-lowercase'.
15547         * lib/unicase/u32-is-lowercase.c: New file.
15548         * modules/unicase/u32-is-lowercase: New file.
15549
15550         New module 'unicase/u16-is-lowercase'.
15551         * lib/unicase/u16-is-lowercase.c: New file.
15552         * modules/unicase/u16-is-lowercase: New file.
15553
15554         New module 'unicase/u8-is-lowercase'.
15555         * lib/unicase/u8-is-lowercase.c: New file.
15556         * modules/unicase/u8-is-lowercase: New file.
15557
15558         Tests for module 'unicase/u32-is-uppercase'.
15559         * modules/unicase/u32-is-uppercase-tests: New file.
15560         * tests/unicase/test-u32-is-uppercase.c: New file.
15561
15562         Tests for module 'unicase/u16-is-uppercase'.
15563         * modules/unicase/u16-is-uppercase-tests: New file.
15564         * tests/unicase/test-u16-is-uppercase.c: New file.
15565
15566         Tests for module 'unicase/u8-is-uppercase'.
15567         * modules/unicase/u8-is-uppercase-tests: New file.
15568         * tests/unicase/test-u8-is-uppercase.c: New file.
15569         * tests/unicase/test-is-uppercase.h: New file.
15570
15571         New module 'unicase/u32-is-uppercase'.
15572         * lib/unicase/u32-is-uppercase.c: New file.
15573         * modules/unicase/u32-is-uppercase: New file.
15574
15575         New module 'unicase/u16-is-uppercase'.
15576         * lib/unicase/u16-is-uppercase.c: New file.
15577         * modules/unicase/u16-is-uppercase: New file.
15578
15579         New module 'unicase/u8-is-uppercase'.
15580         * lib/unicase/u8-is-uppercase.c: New file.
15581         * modules/unicase/u8-is-uppercase: New file.
15582
15583         New module 'unicase/u32-is-invariant'.
15584         * lib/unicase/u32-is-invariant.c: New file.
15585         * modules/unicase/u32-is-invariant: New file.
15586
15587         New module 'unicase/u16-is-invariant'.
15588         * lib/unicase/u16-is-invariant.c: New file.
15589         * modules/unicase/u16-is-invariant: New file.
15590
15591         New module 'unicase/u8-is-invariant'.
15592         * lib/unicase/u8-is-invariant.c: New file.
15593         * lib/unicase/invariant.h: New file.
15594         * lib/unicase/u-is-invariant.h: New file.
15595         * modules/unicase/u8-is-invariant: New file.
15596
15597         Tests for module 'unicase/u32-casecoll'.
15598         * modules/unicase/u32-casecoll-tests: New file.
15599         * tests/unicase/test-u32-casecoll.c: New file.
15600
15601         Tests for module 'unicase/u16-casecoll'.
15602         * modules/unicase/u16-casecoll-tests: New file.
15603         * tests/unicase/test-u16-casecoll.c: New file.
15604
15605         Tests for module 'unicase/u8-casecoll'.
15606         * modules/unicase/u8-casecoll-tests: New file.
15607         * tests/unicase/test-u8-casecoll.c: New file.
15608
15609         New module 'unicase/u32-casecoll'.
15610         * lib/unicase/u32-casecoll.c: New file.
15611         * modules/unicase/u32-casecoll: New file.
15612
15613         New module 'unicase/u16-casecoll'.
15614         * lib/unicase/u16-casecoll.c: New file.
15615         * modules/unicase/u16-casecoll: New file.
15616
15617         New module 'unicase/u8-casecoll'.
15618         * lib/unicase/u8-casecoll.c: New file.
15619         * lib/unicase/u-casecoll.h: New file.
15620         * modules/unicase/u8-casecoll: New file.
15621
15622         New module 'unicase/u32-casexfrm'.
15623         * lib/unicase/u32-casexfrm.c: New file.
15624         * modules/unicase/u32-casexfrm: New file.
15625
15626         New module 'unicase/u16-casexfrm'.
15627         * lib/unicase/u16-casexfrm.c: New file.
15628         * modules/unicase/u16-casexfrm: New file.
15629
15630         New module 'unicase/u8-casexfrm'.
15631         * lib/unicase/u8-casexfrm.c: New file.
15632         * lib/unicase/u-casexfrm.h: New file.
15633         * modules/unicase/u8-casexfrm: New file.
15634
15635         Tests for module 'unicase/u32-casecmp'.
15636         * modules/unicase/u32-casecmp-tests: New file.
15637         * tests/unicase/test-u32-casecmp.c: New file.
15638
15639         Tests for module 'unicase/u16-casecmp'.
15640         * modules/unicase/u16-casecmp-tests: New file.
15641         * tests/unicase/test-u16-casecmp.c: New file.
15642
15643         Tests for module 'unicase/u8-casecmp'.
15644         * modules/unicase/u8-casecmp-tests: New file.
15645         * tests/unicase/test-u8-casecmp.c: New file.
15646         * tests/unicase/test-casecmp.h: New file.
15647
15648         New module 'unicase/u32-casecmp'.
15649         * lib/unicase/u32-casecmp.c: New file.
15650         * modules/unicase/u32-casecmp: New file.
15651
15652         New module 'unicase/u16-casecmp'.
15653         * lib/unicase/u16-casecmp.c: New file.
15654         * modules/unicase/u16-casecmp: New file.
15655
15656         New module 'unicase/u8-casecmp'.
15657         * lib/unicase/u8-casecmp.c: New file.
15658         * lib/unicase/u-casecmp.h: New file.
15659         * modules/unicase/u8-casecmp: New file.
15660
15661         Tests for module 'unicase/u32-casefold'.
15662         * modules/unicase/u32-casefold-tests: New file.
15663         * tests/unicase/test-u32-casefold.c: New file.
15664
15665         Tests for module 'unicase/u16-casefold'.
15666         * modules/unicase/u16-casefold-tests: New file.
15667         * tests/unicase/test-u16-casefold.c: New file.
15668
15669         Tests for module 'unicase/u8-casefold'.
15670         * modules/unicase/u8-casefold-tests: New file.
15671         * tests/unicase/test-u8-casefold.c: New file.
15672
15673         New module 'unicase/u32-casefold'.
15674         * lib/unicase/u32-casefold.c: New file.
15675         * modules/unicase/u32-casefold: New file.
15676
15677         New module 'unicase/u16-casefold'.
15678         * lib/unicase/u16-casefold.c: New file.
15679         * modules/unicase/u16-casefold: New file.
15680
15681         New module 'unicase/u8-casefold'.
15682         * lib/unicase/u8-casefold.c: New file.
15683         * lib/unicase/u-casefold.h: New file.
15684         * modules/unicase/u8-casefold: New file.
15685
15686         New module 'unicase/tocasefold'.
15687         * lib/unicase/casefold.h: New file.
15688         * lib/unicase/tocasefold.c: New file.
15689         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
15690         * modules/unicase/tocasefold: New file.
15691
15692         Tests for module 'unicase/u32-totitle'.
15693         * modules/unicase/u32-totitle-tests: New file.
15694         * tests/unicase/test-u32-totitle.c: New file.
15695
15696         Tests for module 'unicase/u16-totitle'.
15697         * modules/unicase/u16-totitle-tests: New file.
15698         * tests/unicase/test-u16-totitle.c: New file.
15699
15700         Tests for module 'unicase/u8-totitle'.
15701         * modules/unicase/u8-totitle-tests: New file.
15702         * tests/unicase/test-u8-totitle.c: New file.
15703
15704         New module 'unicase/u32-totitle'.
15705         * lib/unicase/u32-totitle.c: New file.
15706         * modules/unicase/u32-totitle: New file.
15707
15708         New module 'unicase/u16-totitle'.
15709         * lib/unicase/u16-totitle.c: New file.
15710         * modules/unicase/u16-totitle: New file.
15711
15712         New module 'unicase/u8-totitle'.
15713         * lib/unicase/u8-totitle.c: New file.
15714         * lib/unicase/u-totitle.h: New file.
15715         * modules/unicase/u8-totitle: New file.
15716
15717         Tests for module 'unicase/u32-tolower'.
15718         * modules/unicase/u32-tolower-tests: New file.
15719         * tests/unicase/test-u32-tolower.c: New file.
15720
15721         Tests for module 'unicase/u16-tolower'.
15722         * modules/unicase/u16-tolower-tests: New file.
15723         * tests/unicase/test-u16-tolower.c: New file.
15724
15725         Tests for module 'unicase/u8-tolower'.
15726         * modules/unicase/u8-tolower-tests: New file.
15727         * tests/unicase/test-u8-tolower.c: New file.
15728
15729         New module 'unicase/u32-tolower'.
15730         * lib/unicase/u32-tolower.c: New file.
15731         * modules/unicase/u32-tolower: New file.
15732
15733         New module 'unicase/u16-tolower'.
15734         * lib/unicase/u16-tolower.c: New file.
15735         * modules/unicase/u16-tolower: New file.
15736
15737         New module 'unicase/u8-tolower'.
15738         * lib/unicase/u8-tolower.c: New file.
15739         * modules/unicase/u8-tolower: New file.
15740
15741         Tests for module 'unicase/u32-toupper'.
15742         * modules/unicase/u32-toupper-tests: New file.
15743         * tests/unicase/test-u32-toupper.c: New file.
15744
15745         Tests for module 'unicase/u16-toupper'.
15746         * modules/unicase/u16-toupper-tests: New file.
15747         * tests/unicase/test-u16-toupper.c: New file.
15748
15749         Tests for module 'unicase/u8-toupper'.
15750         * modules/unicase/u8-toupper-tests: New file.
15751         * tests/unicase/test-u8-toupper.c: New file.
15752
15753         New module 'unicase/u32-toupper'.
15754         * lib/unicase/u32-toupper.c: New file.
15755         * modules/unicase/u32-toupper: New file.
15756
15757         New module 'unicase/u16-toupper'.
15758         * lib/unicase/u16-toupper.c: New file.
15759         * modules/unicase/u16-toupper: New file.
15760
15761         New module 'unicase/u8-toupper'.
15762         * lib/unicase/u8-toupper.c: New file.
15763         * modules/unicase/u8-toupper: New file.
15764
15765         New module 'unicase/u32-casemap'.
15766         * lib/unicase/u32-casemap.c: New file.
15767         * modules/unicase/u32-casemap: New file.
15768
15769         New module 'unicase/u16-casemap'.
15770         * lib/unicase/u16-casemap.c: New file.
15771         * modules/unicase/u16-casemap: New file.
15772
15773         New module 'unicase/u8-casemap'.
15774         * lib/unicase/unicasemap.h: New file.
15775         * lib/unicase/u8-casemap.c: New file.
15776         * lib/unicase/u-casemap.h: New file.
15777         * modules/unicase/u8-casemap: New file.
15778
15779         New module 'unicase/special-casing'.
15780         * lib/unicase/special-casing.h: New file.
15781         * lib/unicase/special-casing.c: New file.
15782         * lib/unicase/special-casing-table.gperf: New file, generated by
15783         gen-uni-tables.c.
15784         * modules/unicase/special-casing: New file.
15785
15786         Tests for module 'unicase/locale-language'.
15787         * modules/unicase/locale-language-tests: New file.
15788         * tests/unicase/test-locale-language.sh: New file.
15789         * tests/unicase/test-locale-language.c: New file.
15790
15791         New module 'unicase/locale-language'.
15792         * lib/unicase/locale-language.c: New file.
15793         * lib/unicase/locale-languages.gperf: New file.
15794         * modules/unicase/locale-language: New file.
15795
15796         Generate more tables for case conversion and case folding.
15797         * lib/gen-uni-tables.c (SCC_*): New enum items.
15798         (struct special_casing_rule): New type.
15799         (casing_rules, num_casing_rules, allocated_casing_rules): New
15800         variables.
15801         (add_casing_rule, fill_casing_rules): New functions.
15802         (struct casefold_rule): New type.
15803         (casefolding_rules, num_casefolding_rules,
15804         allocated_casefolding_rules): New variables.
15805         (fill_casefolding_rules): New function.
15806         (unicode_casefold): New variable.
15807         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
15808         sort_casing_rules, output_casing_rules): New functions.
15809         (main): Accept to more arguments: SpecialCasing.txt and
15810         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
15811         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
15812         Output mapping for casefolding.
15813
15814         * lib/unicase.h: Include stdbool.h, uninorm.h.
15815         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
15816         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
15817         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
15818         arguments.
15819         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
15820         resultp arguments.
15821         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
15822         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
15823         resultp arguments.
15824         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
15825         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
15826         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
15827         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
15828         declarations.
15829         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
15830
15831 2009-03-08  Bruno Haible  <bruno@clisp.org>
15832
15833         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
15834         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
15835         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
15836         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
15837
15838 2009-03-07  Bruno Haible  <bruno@clisp.org>
15839
15840         Adjust u*_normcmp, u*_normcoll API.
15841         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
15842         u16_normcoll, u32_normcoll): Change failure conventions.
15843         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
15844         errno and return -1.
15845         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
15846
15847 2009-03-07  Bruno Haible  <bruno@clisp.org>
15848
15849         Tests for module 'uninorm/u32-normcoll'.
15850         * modules/uninorm/u32-normcoll-tests: New file.
15851         * tests/uninorm/test-u32-normcoll.c: New file.
15852
15853         Tests for module 'uninorm/u16-normcoll'.
15854         * modules/uninorm/u16-normcoll-tests: New file.
15855         * tests/uninorm/test-u16-normcoll.c: New file.
15856
15857         Tests for module 'uninorm/u8-normcoll'.
15858         * modules/uninorm/u8-normcoll-tests: New file.
15859         * tests/uninorm/test-u8-normcoll.c: New file.
15860
15861 2009-03-07  Bruno Haible  <bruno@clisp.org>
15862
15863         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
15864         tests/uninorm/test-u32-normcmp.c.
15865         * tests/uninorm/test-u32-normcmp.c: Include it.
15866         (test_nonascii): New function, extracted from main. Add some more
15867         tests.
15868         (main): Invoke test_ascii and test_nonascii.
15869         * modules/uninorm/u32-normcmp-tests (Files): Add
15870         tests/uninorm/test-u32-normcmp.h.
15871         (Depends-on): Remove uninorm/u32-normcmp.
15872
15873         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
15874         tests/uninorm/test-u16-normcmp.c.
15875         * tests/uninorm/test-u16-normcmp.c: Include it.
15876         (test_nonascii): New function, extracted from main. Add some more
15877         tests.
15878         (main): Invoke test_ascii and test_nonascii.
15879         * modules/uninorm/u16-normcmp-tests (Files): Add
15880         tests/uninorm/test-u16-normcmp.h.
15881         (Depends-on): Remove uninorm/u16-normcmp.
15882
15883         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
15884         tests/uninorm/test-u8-normcmp.c.
15885         * tests/uninorm/test-u8-normcmp.c: Include it.
15886         (test_nonascii): New function, extracted from main. Add some more
15887         tests.
15888         (main): Invoke test_ascii and test_nonascii.
15889         * modules/uninorm/u8-normcmp-tests (Files): Add
15890         tests/uninorm/test-u8-normcmp.h.
15891         (Depends-on): Remove uninorm/u8-normcmp.
15892
15893 2009-03-07  Bruno Haible  <bruno@clisp.org>
15894
15895         New module 'uninorm/u32-normcoll'.
15896         * lib/uninorm/u32-normcoll.c: New file.
15897         * modules/uninorm/u32-normcoll: New file.
15898
15899         New module 'uninorm/u16-normcoll'.
15900         * lib/uninorm/u16-normcoll.c: New file.
15901         * modules/uninorm/u16-normcoll: New file.
15902
15903         New module 'uninorm/u8-normcoll'.
15904         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
15905         declarations.
15906         * lib/uninorm/u8-normcoll.c: New file.
15907         * lib/uninorm/u-normcoll.h: New file.
15908         * modules/uninorm/u8-normcoll: New file.
15909
15910         New module 'uninorm/u32-normxfrm'.
15911         * lib/uninorm/u32-normxfrm.c: New file.
15912         * modules/uninorm/u32-normxfrm: New file.
15913
15914         New module 'uninorm/u16-normxfrm'.
15915         * lib/uninorm/u16-normxfrm.c: New file.
15916         * modules/uninorm/u16-normxfrm: New file.
15917
15918         New module 'uninorm/u8-normxfrm'.
15919         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
15920         declarations.
15921         * lib/uninorm/u8-normxfrm.c: New file.
15922         * lib/uninorm/u-normxfrm.h: New file.
15923         * modules/uninorm/u8-normxfrm: New file.
15924
15925 2009-03-07  Bruno Haible  <bruno@clisp.org>
15926
15927         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
15928         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
15929         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
15930
15931 2009-03-07  Bruno Haible  <bruno@clisp.org>
15932
15933         New module 'memxfrm'.
15934         * lib/memxfrm.h: New file.
15935         * lib/memxfrm.c: New file.
15936         * modules/memxfrm: New file.
15937
15938 2009-03-07  Bruno Haible  <bruno@clisp.org>
15939
15940         New module 'memcmp2'.
15941         * lib/memcmp2.h: New file.
15942         * lib/memcmp2.c: New file.
15943         * modules/memcmp2: New file.
15944
15945 2009-03-07  Bruno Haible  <bruno@clisp.org>
15946
15947         Tests for module 'uninorm/decomposing-form'.
15948         * modules/uninorm/decomposing-form-tests: New file.
15949         * tests/uninorm/test-decomposing-form.c: New file.
15950
15951         New module 'uninorm/decomposing-form'.
15952         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
15953         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
15954         Add 'decomposing_variant' field.
15955         * lib/uninorm/decomposing-form.c: New file.
15956         * lib/uninorm/nfc.c (uninorm_nfc): Update.
15957         * lib/uninorm/nfd.c (uninorm_nfd): Update.
15958         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
15959         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
15960         * modules/uninorm/decomposing-form: New file.
15961         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
15962         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
15963
15964 2009-03-07  Bruno Haible  <bruno@clisp.org>
15965
15966         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
15967         strings.
15968
15969 2009-03-06  Bruno Haible  <bruno@clisp.org>
15970
15971         Tests for module 'uninorm/u32-normcmp'.
15972         * tests/uninorm/test-u32-normcmp.c: New file.
15973         * modules/uninorm/u32-normcmp-tests: New file.
15974
15975         Tests for module 'uninorm/u16-normcmp'.
15976         * tests/uninorm/test-u16-normcmp.c: New file.
15977         * modules/uninorm/u16-normcmp-tests: New file.
15978
15979         Tests for module 'uninorm/u8-normcmp'.
15980         * tests/uninorm/test-u8-normcmp.c: New file.
15981         * modules/uninorm/u8-normcmp-tests: New file.
15982
15983         New module 'uninorm/u32-normcmp'.
15984         * lib/uninorm/u32-normcmp.c: New file.
15985         * modules/uninorm/u32-normcmp: New file.
15986
15987         New module 'uninorm/u16-normcmp'.
15988         * lib/uninorm/u16-normcmp.c: New file.
15989         * modules/uninorm/u16-normcmp: New file.
15990
15991         New module 'uninorm/u8-normcmp'.
15992         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
15993         declarations.
15994         * lib/uninorm/u8-normcmp.c: New file.
15995         * lib/uninorm/u-normcmp.h: New file.
15996         * modules/uninorm/u8-normcmp: New file.
15997
15998 2009-03-06  Bruno Haible  <bruno@clisp.org>
15999
16000         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
16001         Reported by Eric Blake.
16002
16003 2009-03-06  Eric Blake  <ebb9@byu.net>
16004             Bruno Haible  <bruno@clisp.org>
16005
16006         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
16007         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
16008         condition.
16009         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16010         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
16011         condition.
16012         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
16013
16014 2009-03-06  Eric Blake  <ebb9@byu.net>
16015
16016         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
16017         to avoid compiler warnings.
16018         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
16019
16020 2009-03-05  Bruno Haible  <bruno@clisp.org>
16021
16022         * tests/test-ftell.c (main): Disable test beyond end of file on
16023         FreeMiNT.
16024         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16025
16026 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
16027
16028         * lib/filevercmp.c: Move hidden files up in ordering.
16029         * tests/test-filevercmp.c: Add tests for hidden files.
16030
16031 2009-03-04  Bruno Haible  <bruno@clisp.org>
16032
16033         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
16034         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
16035         AM_CFLAGS.
16036         Reported by Simon Josefsson.
16037
16038 2009-03-03  Bruno Haible  <bruno@clisp.org>
16039
16040         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
16041         Reported by Simon Josefsson.
16042
16043         * doc/ld-version-script.texi: Update node reference.
16044
16045 2009-03-03  Bruno Haible  <bruno@clisp.org>
16046
16047         * modules/visibility (License): Change to 'unlimited'.
16048         Suggested by Simon Josefsson.
16049
16050 2009-03-03  Jim Meyering  <meyering@redhat.com>
16051
16052         unlinkdir: cannot_unlink_dir may modify process state
16053         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
16054         it's neither thread-safe nor appropriate for use in a library.
16055
16056 2009-03-03  Eric Blake  <ebb9@byu.net>
16057
16058         test-closein: silence test under Darwin
16059         * tests/test-closein.sh: Ignore stderr from cat, since we don't
16060         care if it dies from EPIPE or EBADF.
16061
16062 2009-03-03  Bruno Haible  <bruno@clisp.org>
16063
16064         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
16065         earlier.
16066         * doc/visibility.texi: Fix @node and @section.
16067
16068 2009-03-03  Simon Josefsson  <simon@josefsson.org>
16069
16070         * doc/gnulib.texi: Link to sections for ld version script and
16071         visibility.
16072         * doc/visibility.texi: Add @node and @section.
16073         * modules/ld-version-script: New module.
16074         * m4/ld-version-script.m4: New file.
16075         * doc/ld-version-script.texi: New file.
16076
16077 2009-03-02  David Lutterkort  <lutter@redhat.com>
16078
16079         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
16080         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16081
16082 2009-03-02  Bruno Haible  <bruno@clisp.org>
16083
16084         * doc/visibility.texi: Mention libtool's -export-symbols option.
16085
16086 2009-03-02  Jim Meyering  <meyering@redhat.com>
16087
16088         announce-gen: new option: --no-print-checksums
16089         * build-aux/announce-gen (usage): Describe it.
16090         (print_checksums): Print a newline here, not in the [*] footnote.
16091         (main): Honor it.
16092
16093 2009-03-01  Bruno Haible  <bruno@clisp.org>
16094
16095         Use socklen_t in the native Windows replacements prototypes.
16096         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
16097         instead of 'int'.
16098         * lib/getsockopt.c (rpl_getsockopt): Likewise.
16099         * lib/setsockopt.c (rpl_setsockopt): Likewise.
16100         * modules/getsockopt (Depends-on): Add socklen.
16101         * modules/setsockopt (Depends-on): Add socklen.
16102
16103 2009-03-01  Bruno Haible  <bruno@clisp.org>
16104
16105         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
16106         least 4.2.
16107
16108 2009-03-01  Eric Blake  <ebb9@byu.net>
16109             Bruno Haible  <bruno@clisp.org>
16110
16111         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
16112         error messages.
16113         * lib/wait-process.c (wait_subprocess): Omit error message about
16114         deadly signal sent to the child of termsigp != NULL.
16115
16116 2009-03-01  Eric Blake  <ebb9@byu.net>
16117
16118         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
16119
16120 2009-03-01  Bruno Haible  <bruno@clisp.org>
16121
16122         Avoid a gcc warning.
16123         * tests/test-sched.c (b): Make global.
16124         Reported by Eric Blake.
16125
16126 2009-01-19  Martin Lambers  <marlam@marlam.de>
16127
16128         Provide POSIX semantics for socket timeout options on W32.
16129         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
16130         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
16131         * modules/setsockopt: Depend on sys_time module for struct timeval.
16132         * modules/getsockopt: Depend on sys_time module for struct timeval.
16133
16134 2009-03-01  Simon Josefsson  <simon@josefsson.org>
16135
16136         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
16137         __USE_GNU, for consistency with netdb.in.h.
16138         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16139
16140 2009-03-01  Bruno Haible  <bruno@clisp.org>
16141
16142         More support for FreeMiNT.
16143         * lib/fseeko.c (rpl_fseeko): Complete last commit.
16144         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16145
16146 2009-03-01  Bruno Haible  <bruno@clisp.org>
16147
16148         More support for FreeMiNT.
16149         * lib/fpurge.c (fpurge): Correct last commit.
16150         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16151
16152 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16153
16154         Fix unportable awk script in vc-list-files.
16155         * build-aux/vc-list-files: In the replacement awk script, use
16156         substr with a second argument of 1, not zero.
16157         Report by Simon Josefsson.
16158
16159 2009-02-28  Bruno Haible  <bruno@clisp.org>
16160
16161         More support for FreeMiNT.
16162         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
16163         to FreeMiNT today.
16164         * lib/fwriting.c (fwriting): Likewise.
16165         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
16166
16167 2009-02-28  Bruno Haible  <bruno@clisp.org>
16168
16169         * tests/test-freadseek.c (main): Disable test beyond end of file on
16170         FreeMiNT.
16171         * tests/test-ftello.c (main): Likewise.
16172         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
16173
16174 2009-02-28  Bruno Haible  <bruno@clisp.org>
16175
16176         Add tentative support for FreeMiNT.
16177         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
16178         * lib/fpurge.c (fpurge): Likewise.
16179         * lib/freadable.c (freadable): Likewise.
16180         * lib/freading.c (freading): Likewise.
16181         * lib/freadptr.c (freadptr): Likewise.
16182         * lib/freadseek.c (freadptrinc): Likewise.
16183         * lib/fseeko.c (rpl_fseeko): Likewise.
16184         * lib/fseterr.c (fseterr): Likewise.
16185         * lib/fwritable.c (fwritable): Likewise.
16186         * lib/fwriting.c (fwriting): Likewise.
16187         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
16188         Hourihane.
16189         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16190
16191 2009-02-28  Bruno Haible  <bruno@clisp.org>
16192
16193         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
16194         SIGCHLD.
16195         Reported by Jim Meyering.
16196
16197 2009-02-28  Bruno Haible  <bruno@clisp.org>
16198
16199         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
16200         Mention the results of these tests on various platforms.
16201         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
16202         order.
16203         * doc/posix-functions/printf.texi: Likewise.
16204         * doc/posix-functions/snprintf.texi: Likewise.
16205         * doc/posix-functions/sprintf.texi: Likewise.
16206         * doc/posix-functions/vfprintf.texi: Likewise.
16207         * doc/posix-functions/vprintf.texi: Likewise.
16208         * doc/posix-functions/vsnprintf.texi: Likewise.
16209         * doc/posix-functions/vsprintf.texi: Likewise.
16210         * doc/glibc-functions/obstack_printf.texi: Likewise.
16211         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
16212
16213 2009-02-28  Bruno Haible  <bruno@clisp.org>
16214
16215         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
16216         Reported by Loïc Minier <lool@dooz.org>.
16217
16218 2009-02-27  Bruno Haible  <bruno@clisp.org>
16219
16220         * gnulib-tool (func_import): Make the sed expression used to create the
16221         sed script for updating the .gitignore file POSIX compliant.
16222         Reported by Eric Blake.
16223
16224 2009-02-27  Bruno Haible  <bruno@clisp.org>
16225
16226         * gnulib-tool (sed): Don't alias as "sed --posix".
16227         Reported by Eric Blake.
16228
16229 2009-02-27  Bruno Haible  <bruno@clisp.org>
16230
16231         Avoid test link errors.
16232         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
16233         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
16234         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
16235         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
16236         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16237
16238 2009-02-27  Bruno Haible  <bruno@clisp.org>
16239
16240         Avoid spurious "(cached)" in configure output.
16241         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
16242         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
16243         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16244         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16245         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16246         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16247         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16248         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16249         Reported by Eric Blake.
16250
16251 2009-02-27  Eric Blake  <ebb9@byu.net>
16252
16253         printf: fix regression in previous patch
16254         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
16255
16256 2009-02-27  Bruno Haible  <bruno@clisp.org>
16257
16258         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
16259         value.
16260         * lib/stdint.in.h: Likewise.
16261         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
16262
16263 2009-02-27  Eric Blake  <ebb9@byu.net>
16264
16265         doc: mention more functions added in cygwin 1.7.0
16266         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
16267         addition.
16268         * doc/posix-functions/open_wmemstream.texi: Likewise.
16269         * doc/posix-functions/wcsnlen.texi: Likewise.
16270         * doc/posix-functions/wcsnrtombs.texi: Likewise.
16271         * doc/posix-functions/wcstod.texi: Likewise.
16272         * doc/posix-functions/wcstof.texi: Likewise.
16273         * doc/posix-functions/wcstoimax.texi: Likewise.
16274         * doc/posix-functions/wcstok.texi: Likewise.
16275         * doc/posix-functions/wcstoumax.texi: Likewise.
16276
16277         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
16278         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
16279         * doc/posix-functions/fprintf.texi: Update.
16280         * doc/posix-functions/printf.texi: Update.
16281         * doc/posix-functions/snprintf.texi: Update.
16282         * doc/posix-functions/sprintf.texi: Update.
16283         * doc/posix-functions/vfprintf.texi: Update.
16284         * doc/posix-functions/vprintf.texi: Update.
16285         * doc/posix-functions/vsnprintf.texi: Update.
16286         * doc/posix-functions/vsprintf.texi: Update.
16287         * doc/glibc-functions/obstack_printf.texi: Update.
16288         * doc/glibc-functions/obstack_vprintf.texi: Update.
16289
16290 2009-02-26  Eric Blake  <ebb9@byu.net>
16291
16292         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
16293         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
16294         compilation bug by using runtime conversion.
16295         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
16296         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
16297         * modules/ceill-tests (Files): Use nan.h.
16298         * modules/floorl-tests (Files): Likewise.
16299         * modules/frexpl-tests (Files): Likewise.
16300         * modules/isnanl-tests (Files): Likewise.
16301         * modules/ldexpl-tests (Files): Likewise.
16302         * modules/roundl-tests (Files): Likewise.
16303         * modules/truncl-tests (Files): Likewise.
16304         * tests/test-ceill.c (main): Use a working NaN.
16305         * tests/test-floorl.c (main): Likewise.
16306         * tests/test-frexpl.c (main): Likewise.
16307         * tests/test-isnan.c (test_long_double): Likewise.
16308         * tests/test-isnanl.h (main): Likewise.
16309         * tests/test-ldexpl.h (main): Likewise.
16310         * tests/test-roundl.h (main): Likewise.
16311         * tests/test-truncl.h (main): Likewise.
16312         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
16313
16314 2009-02-26  Eric Blake  <ebb9@byu.net>
16315             Bruno Haible  <bruno@clisp.org>
16316
16317         Work around a *printf bug with %ls on Solaris.
16318         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
16319         precision is specified, sprintf stops converting the wide string
16320         argument when the number of bytes that have been produced by this
16321         conversion equals or exceeds the precision.
16322         * doc/posix-functions/fprintf.texi: Update.
16323         * doc/posix-functions/printf.texi: Update.
16324         * doc/posix-functions/snprintf.texi: Update.
16325         * doc/posix-functions/sprintf.texi: Update.
16326         * doc/posix-functions/vfprintf.texi: Update.
16327         * doc/posix-functions/vprintf.texi: Update.
16328         * doc/posix-functions/vsnprintf.texi: Update.
16329         * doc/posix-functions/vsprintf.texi: Update.
16330         * doc/glibc-functions/obstack_printf.texi: Update.
16331         * doc/glibc-functions/obstack_vprintf.texi: Update.
16332
16333 2009-02-26  Eric Blake  <ebb9@byu.net>
16334
16335         stdlib: favor compiler check of random.h
16336         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
16337         to avoid an ObjC random.h installed by Swarm.
16338
16339 2009-02-26  Bruno Haible  <bruno@clisp.org>
16340
16341         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
16342         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
16343         Reported by Gary V. Vaughan <gary@gnu.org>.
16344
16345 2009-02-26  Bruno Haible  <bruno@clisp.org>
16346
16347         Fix *printf behaviour regarding the %ls directive.
16348         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
16349         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
16350         NEED_PRINTF_DIRECTIVE_LS.
16351         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
16352         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
16353         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
16354         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
16355         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
16356         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
16357         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16358         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
16359         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
16360         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
16361         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
16362         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
16363         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
16364         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
16365         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
16366         * doc/posix-functions/fprintf.texi: Update.
16367         * doc/posix-functions/printf.texi: Update.
16368         * doc/posix-functions/snprintf.texi: Update.
16369         * doc/posix-functions/sprintf.texi: Update.
16370         * doc/posix-functions/vfprintf.texi: Update.
16371         * doc/posix-functions/vprintf.texi: Update.
16372         * doc/posix-functions/vsnprintf.texi: Update.
16373         * doc/posix-functions/vsprintf.texi: Update.
16374         * doc/glibc-functions/obstack_printf.texi: Update.
16375         * doc/glibc-functions/obstack_vprintf.texi: Update.
16376         Reported by Eric Blake.
16377
16378 2009-02-25  Bruno Haible  <bruno@clisp.org>
16379
16380         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
16381         with known value.
16382         Reported by Gary V. Vaughan <gary@gnu.org>.
16383
16384 2009-02-25  Bruno Haible  <bruno@clisp.org>
16385
16386         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
16387         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
16388         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
16389         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
16390         Reported by Gary V. Vaughan <gary@gnu.org>.
16391
16392 2009-02-25  Bruno Haible  <bruno@clisp.org>
16393
16394         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
16395         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
16396         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
16397         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
16398         Reported by Gary V. Vaughan <gary@gnu.org>.
16399
16400 2009-02-25  Eric Blake  <ebb9@byu.net>
16401
16402         tests: skip fseek/ftell tests if ungetc is broken
16403         * m4/ungetc.m4: New file.
16404         * modules/fseek-tests: Split test, so ungetc dependency is
16405         separate from rest of test.
16406         * modules/fseeko-tests: Likewise.
16407         * modules/ftell-tests: Likewise.
16408         * modules/ftello-tests: Likewise.
16409         * tests/test-fseek.c (main): Isolate ungetc dependency.
16410         * tests/test-fseeko.c (main): Likewise.
16411         * tests/test-ftell.c (main): Likewise.
16412         * tests/test-ftello.c (main): Likewise.
16413         * tests/test-fseek2.sh: New file.
16414         * tests/test-fseeko2.sh: Likewise.
16415         * tests/test-ftell2.sh: Likewise.
16416         * tests/test-ftello2.sh: Likewise.
16417
16418 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
16419
16420         test-getaddrinfo: fix usage of skip return code 77
16421         * tests/test-gettaddrinfo.c: Return skip code 77 only
16422         for first occurance of skip (4x77 is not 77)
16423
16424 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
16425
16426         strtod: avoid C99 decl-after-statement
16427         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
16428
16429 2009-02-24  Eric Blake  <ebb9@byu.net>
16430
16431         strtod: detect HP-UX 11.31 bug
16432         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
16433         Reported by Gary V. Vaughan.
16434
16435 2009-02-23  Bruno Haible  <bruno@clisp.org>
16436
16437         Fix invalid read past end of memory block.
16438         * lib/vasnprintf.c (DCHAR_SET): Define.
16439         (local_wcslen): Define only when needed.
16440         (local_strnlen, local_wcsnlen): New functions.
16441         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
16442         directives that involve a conversion ourselves.
16443         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
16444         wcsnlen, mbrtowc, wcrtomb.
16445         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
16446         * tests/test-vasprintf-posix.c (test_function): Likewise.
16447         * tests/test-snprintf-posix.h (test_function): Likewise.
16448         * tests/test-sprintf-posix.h (test_function): Likewise.
16449         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16450
16451 2009-02-22  Bruno Haible  <bruno@clisp.org>
16452
16453         Implement new clarified decomposition of Hangul syllables.
16454         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
16455         of type LTV, return only a pairwise decomposition.
16456         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
16457         Likewise.
16458         * tests/uninorm/test-decomposition.c (main): Updated expected result.
16459         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
16460         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
16461
16462 2009-02-22  Bruno Haible  <bruno@clisp.org>
16463
16464         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
16465         zero-length results and shrink excess allocated memory.
16466         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
16467         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
16468         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
16469         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
16470         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
16471         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
16472         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
16473         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
16474         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
16475         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
16476         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
16477         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
16478
16479 2009-02-21  Bruno Haible  <bruno@clisp.org>
16480
16481         * doc/gnulib.texi: Include safe-alloc.texi earlier.
16482         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
16483         spaces after a period. Put a space between a macro name and its
16484         argument list. Trivial rewordings.
16485         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
16486         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
16487         (main): Return 0 explicitly.
16488
16489 2009-02-21  Bruno Haible  <bruno@clisp.org>
16490
16491         Tests for module 'uninorm/filter'.
16492         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
16493         * modules/uninorm/filter-tests: New file.
16494
16495         New module 'uninorm/filter'.
16496         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
16497         uninorm_filter_flush, uninorm_filter_free): New declarations.
16498         * lib/uninorm/uninorm-filter.c: New file.
16499         * modules/uninorm/filter: New file.
16500
16501 2009-02-21  Bruno Haible  <bruno@clisp.org>
16502
16503         Tests for module 'uninorm/nfkc'.
16504         * tests/uninorm/test-nfkc.c: New file.
16505         * tests/uninorm/test-u8-nfkc.c: New file.
16506         * tests/uninorm/test-u16-nfkc.c: New file.
16507         * tests/uninorm/test-u32-nfkc.c: New file.
16508         * tests/uninorm/test-u32-nfkc-big.sh: New file.
16509         * tests/uninorm/test-u32-nfkc-big.c: New file.
16510         * modules/uninorm/nfkc-tests: New file.
16511
16512         New module 'uninorm/nfkc'.
16513         * lib/uninorm/nfkc.c: New file.
16514         * modules/uninorm/nfkc: New file.
16515
16516         Tests for module 'uninorm/nfkd'.
16517         * tests/uninorm/test-nfkd.c: New file.
16518         * tests/uninorm/test-u8-nfkd.c: New file.
16519         * tests/uninorm/test-u16-nfkd.c: New file.
16520         * tests/uninorm/test-u32-nfkd.c: New file.
16521         * tests/uninorm/test-u32-nfkd-big.sh: New file.
16522         * tests/uninorm/test-u32-nfkd-big.c: New file.
16523         * modules/uninorm/nfkd-tests: New file.
16524
16525         New module 'uninorm/nfkd'.
16526         * lib/uninorm/nfkd.c: New file.
16527         * modules/uninorm/nfkd: New file.
16528
16529         Tests for module 'uninorm/nfc'.
16530         * tests/uninorm/test-nfc.c: New file.
16531         * tests/uninorm/test-u8-nfc.c: New file.
16532         * tests/uninorm/test-u16-nfc.c: New file.
16533         * tests/uninorm/test-u32-nfc.c: New file.
16534         * tests/uninorm/test-u32-nfc-big.sh: New file.
16535         * tests/uninorm/test-u32-nfc-big.c: New file.
16536         * modules/uninorm/nfc-tests: New file.
16537
16538         New module 'uninorm/nfc'.
16539         * lib/uninorm/nfc.c: New file.
16540         * modules/uninorm/nfc: New file.
16541
16542         Tests for module 'uninorm/nfd'.
16543         * tests/uninorm/test-nfd.c: New file.
16544         * tests/uninorm/test-u8-nfd.c: New file.
16545         * tests/uninorm/test-u16-nfd.c: New file.
16546         * tests/uninorm/test-u32-nfd.c: New file.
16547         * tests/uninorm/test-u32-nfd-big.sh: New file.
16548         * tests/uninorm/test-u32-nfd-big.c: New file.
16549         * tests/uninorm/test-u32-normalize-big.h: New file.
16550         * tests/uninorm/test-u32-normalize-big.c: New file.
16551         * tests/uninorm/NormalizationTest.txt: New file, created from
16552         Unicode 5.1.0 NormalizationTest.txt.
16553         * modules/uninorm/nfd-tests: New file.
16554
16555         New module 'uninorm/nfd'.
16556         * lib/uninorm/nfd.c: New file.
16557         * modules/uninorm/nfd: New file.
16558
16559         New module 'uninorm/u32-normalize'.
16560         * lib/uninorm/u32-normalize.c: New file.
16561         * modules/uninorm/u32-normalize: New file.
16562
16563         New module 'uninorm/u16-normalize'.
16564         * lib/uninorm/u16-normalize.c: New file.
16565         * modules/uninorm/u16-normalize: New file.
16566
16567         New module 'uninorm/u8-normalize'.
16568         * lib/uninorm/u8-normalize.c: New file.
16569         * lib/uninorm/normalize-internal.h: New file.
16570         * lib/uninorm/u-normalize-internal.h: New file.
16571         * modules/uninorm/u8-normalize: New file.
16572
16573         New module 'uninorm/decompose-internal'.
16574         * lib/uninorm/decompose-internal.c: New file.
16575         * modules/uninorm/decompose-internal: New file.
16576
16577         Tests for module 'uninorm/composition'.
16578         * tests/uninorm/test-composition.c: New file.
16579         * modules/uninorm/composition-tests: New file.
16580
16581         New module 'uninorm/composition'.
16582         * lib/uninorm/composition.c: New file.
16583         * lib/uninorm/composition-table.gperf: New file, generated by
16584         gen-uni-tables.
16585         * modules/uninorm/composition: New file.
16586
16587         Tests for module 'uninorm/compat-decomposition'.
16588         * tests/uninorm/test-compat-decomposition.c: New file.
16589         * modules/uninorm/compat-decomposition-tests: New file.
16590
16591         New module 'uninorm/compat-decomposition'.
16592         * lib/uninorm/decompose-internal.h: New file.
16593         * lib/uninorm/compat-decomposition.c: New file.
16594         * modules/uninorm/compat-decomposition: New file.
16595
16596         Tests for module 'uninorm/canonical-decomposition'.
16597         * tests/uninorm/test-canonical-decomposition.c: New file.
16598         * modules/uninorm/canonical-decomposition-tests: New file.
16599
16600         New module 'uninorm/canonical-decomposition'.
16601         * lib/uninorm/canonical-decomposition.c: New file.
16602         * modules/uninorm/canonical-decomposition: New file.
16603
16604         Tests for module 'uninorm/decomposition'.
16605         * tests/uninorm/test-decomposition.c: New file.
16606         * modules/uninorm/decomposition-tests: New file.
16607
16608         New module 'uninorm/decomposition'.
16609         * lib/uninorm/decomposition.c: New file.
16610         * modules/uninorm/decomposition: New file.
16611
16612         New module 'uninorm/decomposition-table'.
16613         * lib/uninorm/decomposition-table.h: New file.
16614         * lib/uninorm/decomposition-table.c: New file.
16615         * lib/uninorm/decomposition-table1.h: New file, generated by
16616         gen-uni-tables.
16617         * lib/uninorm/decomposition-table2.h: New file, generated by
16618         gen-uni-tables.
16619         * modules/uninorm/decomposition-table: New file.
16620
16621         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
16622         (UC_DECOMP_*): New enumeration items.
16623         (get_decomposition): New function.
16624         (struct decomp_table): New type.
16625         (output_decomposition, output_decomposition_tables): New functions.
16626         (unicode_composition_exclusions): New variable.
16627         (fill_composition_exclusions, debug_output_composition_tables): New
16628         functions.
16629         (main): Accept one more argument. Invoke fill_composition_exclusions.
16630         Output decomposition and composition tables.
16631
16632         New module 'uninorm/base'.
16633         * lib/uninorm.h: New file.
16634         * lib/unictype.h: Update comment.
16635         * modules/uninorm/base: New file.
16636
16637 2009-02-21  David Lutterkort  <lutter@redhat.com>
16638
16639         Tests for module 'safe-alloc'.
16640         * tests/test-safe-alloc.c: New file.
16641         * modules/safe-alloc-tests: New file.
16642
16643         New module 'safe-alloc'.
16644         * lib/safe-alloc.h: New file.
16645         * lib/safe-alloc.c: New file.
16646         * m4/safe-alloc.m4: New file.
16647         * modules/safe-alloc: New file.
16648         * doc/safe-alloc.texi: New file.
16649         * doc/gnulib.texi: Include it.
16650         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
16651         safe-alloc.
16652
16653 2009-02-18  Bruno Haible  <bruno@clisp.org>
16654
16655         Fix link error on non-glibc systems.
16656         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
16657         variable.
16658         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16659
16660 2009-02-18  Jim Meyering  <meyering@redhat.com>
16661
16662         fts: avoid used-uninitialized error due to recent change
16663         * lib/fts.c (fts_read): Guard uses of the new member,
16664         parent->fts_n_dirs_remaining, since it's not relevant for
16665         the parent of a directory specified on the command-line.
16666
16667 2009-02-17  James Youngman  <jay@gnu.org>
16668             Bruno Haible  <bruno@clisp.org>
16669
16670         * m4/include_next.m4: Reformulate comment.
16671
16672 2009-02-16  Jim Meyering  <meyering@redhat.com>
16673
16674         fts: add #if guards so that the fts_lgpl module still builds
16675         * lib/fts.c: Guard just-added hash-table-using parts with
16676         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
16677         Reported by Simon Josefsson.
16678
16679 2009-02-15  Bruno Haible  <bruno@clisp.org>
16680
16681         * modules/array-mergesort-tests: New file.
16682         * tests/test-array-mergesort.c: New file.
16683
16684         New module 'array-mergesort'.
16685         * modules/array-mergesort: New file.
16686         * lib/array-mergesort.h: New file.
16687
16688 2009-02-15  Bruno Haible  <bruno@clisp.org>
16689
16690         Fix 2009-02-07 commit.
16691         * lib/gen-uni-tables.c (output_predicate, output_category,
16692         output_combclass, output_bidi_category, output_decimal_digit,
16693         output_digit, output_numeric, output_mirror, output_scripts,
16694         output_ident_category, output_simple_mapping): Fix format directives.
16695         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
16696
16697 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
16698
16699         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
16700         fixes are available from IBM.
16701
16702 2009-02-13  Jim Meyering  <meyering@redhat.com>
16703
16704         fts: arrange not to stat non-directories in more cases
16705         This makes GNU find (when it doesn't need to stat each file)
16706         *much* more efficient at traversing reiserfs file systems.
16707         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
16708         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
16709         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
16710         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
16711         (leaf_optimization_applies): New function.
16712         (LCO_hash, LCO_compare): New helper functions.
16713         (link_count_optimize_ok): New function.
16714         (fts_stat): Initialize new member (if dir).
16715         (fts_read): Decrement parent's fts_n_dirs_remaining count if
16716         we've just stat'ed a directory.  Skip the stat call when possible.
16717         ---
16718         Note this AFS-related exchange:
16719         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
16720         and note find's pioctl call in find/fstype.c.
16721         But that is necessary only if you want to enable the
16722         optimization for AFS, and for now, I don't.
16723
16724         fts: move a function definition "up" (no semantic change)
16725         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
16726         "up" to precede upcoming use of a related function.
16727
16728 2009-02-11  Jim Meyering  <meyering@redhat.com>
16729
16730         fts: correct internal computation of nlinks (optimization-related)
16731         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
16732         whether the current entry is a directory, so don't test it.
16733
16734 2009-02-10  Bruno Haible  <bruno@clisp.org>
16735
16736         Tests for module 'uniwbrk/ulc-wordbreaks'.
16737         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
16738         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
16739         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
16740
16741         Tests for module 'uniwbrk/u32-wordbreaks'.
16742         * modules/uniwbrk/u32-wordbreaks-tests: New file.
16743         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
16744
16745         Tests for module 'uniwbrk/u16-wordbreaks'.
16746         * modules/uniwbrk/u16-wordbreaks-tests: New file.
16747         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
16748
16749         Tests for module 'uniwbrk/u8-wordbreaks'.
16750         * modules/uniwbrk/u8-wordbreaks-tests: New file.
16751         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
16752
16753 2009-02-10  Bruno Haible  <bruno@clisp.org>
16754
16755         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
16756         property.
16757         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
16758         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
16759         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
16760
16761 2009-02-10  Simon Josefsson  <simon@josefsson.org>
16762
16763         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
16764         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
16765
16766 2009-02-10  Bruno Haible  <bruno@clisp.org>
16767
16768         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
16769         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
16770         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
16771         * lib/unilbrk/u8-possible-linebreaks.c: Update.
16772         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
16773         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
16774
16775 2009-02-09  Simon Josefsson  <simon@josefsson.org>
16776
16777         * lib/sockets.h (gl_fd_to_handle): New function.
16778
16779         * tests/test-sockets.c: Call gl_fd_to_handle.
16780
16781 2009-02-09  Bruno Haible  <bruno@clisp.org>
16782
16783         * doc/havelib.texi: Document the conventions on bi-arch systems.
16784
16785 2009-02-08  Bruno Haible  <bruno@clisp.org>
16786
16787         Document the AC_LIB_LINKFLAGS macro.
16788         * doc/havelib.texi: New file, mostly written on 2005-05-24.
16789         * doc/gnulib.texi: Include it.
16790
16791 2009-02-08  Bruno Haible  <bruno@clisp.org>
16792
16793         Fix wrong order of sections, compared to TOC.
16794         * doc/gnulib.texi: Include relocatable-maint.texi after the
16795         "Regular expressions" node, not before.
16796
16797 2009-02-08  Bruno Haible  <bruno@clisp.org>
16798
16799         Tests for module 'unicase/totitle'.
16800         * modules/unicase/totitle-tests: New file.
16801
16802         Tests for module 'unicase/tolower'.
16803         * modules/unicase/tolower-tests: New file.
16804
16805         Tests for module 'unicase/toupper'.
16806         * modules/unicase/toupper-tests: New file.
16807         * tests/unicase/test-mapping-part1.h: New file.
16808         * tests/unicase/test-mapping-part2.h: New file.
16809
16810         New module 'unicase/totitle'.
16811         * modules/unicase/totitle: New file.
16812         * lib/unicase/totitle.c: New file.
16813
16814         New module 'unicase/tolower'.
16815         * modules/unicase/tolower: New file.
16816         * lib/unicase/tolower.c: New file.
16817
16818         New module 'unicase/toupper'.
16819         * modules/unicase/toupper: New file.
16820         * lib/unicase/toupper.c: New file.
16821         * lib/unicase/simple-mapping.h: New file.
16822
16823         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
16824         (mapping_table): New structure.
16825         (output_simple_mapping): New function.
16826         (main): Invoke output_simple_mapping_test and output_simple_mapping.
16827         * modules/gen-uni-tables (Description): Update.
16828         * lib/unicase/toupper.h: New file, automatically generated by
16829         gen-uni-tables.
16830         * lib/unicase/tolower.h: New file, automatically generated by
16831         gen-uni-tables.
16832         * lib/unicase/totitle.h: New file, automatically generated by
16833         gen-uni-tables.
16834         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
16835         gen-uni-tables.
16836         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
16837         gen-uni-tables.
16838         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
16839         gen-uni-tables.
16840
16841         New module 'unicase/base'.
16842         * modules/unicase/base: New file.
16843         * lib/unicase.h: New file.
16844
16845 2009-02-08  Bruno Haible  <bruno@clisp.org>
16846
16847         New module 'uniwbrk/ulc-wordbreaks'.
16848         * modules/uniwbrk/ulc-wordbreaks: New file.
16849         * lib/uniwbrk/ulc-wordbreaks.c: New file.
16850
16851         New module 'uniwbrk/u32-wordbreaks'.
16852         * modules/uniwbrk/u32-wordbreaks: New file.
16853         * lib/uniwbrk/u32-wordbreaks.c: New file.
16854
16855         New module 'uniwbrk/u16-wordbreaks'.
16856         * modules/uniwbrk/u16-wordbreaks: New file.
16857         * lib/uniwbrk/u16-wordbreaks.c: New file.
16858
16859         New module 'uniwbrk/u8-wordbreaks'.
16860         * modules/uniwbrk/u8-wordbreaks: New file.
16861         * lib/uniwbrk/u8-wordbreaks.c: New file.
16862         * lib/uniwbrk/u-wordbreaks.h: New file.
16863
16864         New module 'uniwbrk/table'.
16865         * modules/uniwbrk/table: New file.
16866         * lib/uniwbrk/wbrktable.h: New file.
16867         * lib/uniwbrk/wbrktable.c: New file.
16868
16869         New module 'uniwbrk/wordbreak-property'.
16870         * modules/uniwbrk/wordbreak-property: New file.
16871         * lib/uniwbrk/wordbreak-property.c: New file.
16872
16873         * lib/gen-uni-tables.c (WBP_*): New enum items.
16874         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
16875         (unicode_org_wbp): New variable.
16876         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
16877         New functions.
16878         (wbp_table): New structure.
16879         (output_wbp, output_wbrk_tables): New functions.
16880         (main): Accept additional argument. Invoke fill_org_wbp,
16881         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
16882         output_wbrk_tables.
16883         * modules/gen-uni-tables (Description): Update.
16884         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
16885         gen-uni-tables.
16886
16887         New module 'uniwbrk/base'.
16888         * modules/uniwbrk/base: New file.
16889         * lib/uniwbrk.h: New file.
16890
16891 2009-02-08  Bruno Haible  <bruno@clisp.org>
16892
16893         Update to Unicode 5.1.0.
16894         * lib/gen-uni-tables.c (is_property_alphabetic): Include
16895         U+2185..U+2188.
16896         (is_property_default_ignorable_code_point): Don't include characters
16897         of category Cc or Cs and not-a-characters.
16898         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
16899         U+0D79, U+109E, U+109F, U+A60C.
16900         * lib/unictype/bidi_of.h: Regenerated.
16901         * lib/unictype/blocks.h: Regenerated.
16902         * lib/unictype/categ_C.h: Regenerated.
16903         * lib/unictype/categ_Cf.h: Regenerated.
16904         * lib/unictype/categ_Cn.h: Regenerated.
16905         * lib/unictype/categ_L.h: Regenerated.
16906         * lib/unictype/categ_Ll.h: Regenerated.
16907         * lib/unictype/categ_Lm.h: Regenerated.
16908         * lib/unictype/categ_Lo.h: Regenerated.
16909         * lib/unictype/categ_Lu.h: Regenerated.
16910         * lib/unictype/categ_M.h: Regenerated.
16911         * lib/unictype/categ_Mc.h: Regenerated.
16912         * lib/unictype/categ_Me.h: Regenerated.
16913         * lib/unictype/categ_Mn.h: Regenerated.
16914         * lib/unictype/categ_N.h: Regenerated.
16915         * lib/unictype/categ_Nd.h: Regenerated.
16916         * lib/unictype/categ_Nl.h: Regenerated.
16917         * lib/unictype/categ_No.h: Regenerated.
16918         * lib/unictype/categ_P.h: Regenerated.
16919         * lib/unictype/categ_Pd.h: Regenerated.
16920         * lib/unictype/categ_Pe.h: Regenerated.
16921         * lib/unictype/categ_Pf.h: Regenerated.
16922         * lib/unictype/categ_Pi.h: Regenerated.
16923         * lib/unictype/categ_Po.h: Regenerated.
16924         * lib/unictype/categ_Ps.h: Regenerated.
16925         * lib/unictype/categ_S.h: Regenerated.
16926         * lib/unictype/categ_Sk.h: Regenerated.
16927         * lib/unictype/categ_Sm.h: Regenerated.
16928         * lib/unictype/categ_So.h: Regenerated.
16929         * lib/unictype/categ_of.h: Regenerated.
16930         * lib/unictype/combining.h: Regenerated.
16931         * lib/unictype/ctype_alnum.h: Regenerated.
16932         * lib/unictype/ctype_alpha.h: Regenerated.
16933         * lib/unictype/ctype_graph.h: Regenerated.
16934         * lib/unictype/ctype_lower.h: Regenerated.
16935         * lib/unictype/ctype_print.h: Regenerated.
16936         * lib/unictype/ctype_punct.h: Regenerated.
16937         * lib/unictype/ctype_upper.h: Regenerated.
16938         * lib/unictype/decdigit.h: Regenerated.
16939         * lib/unictype/digit.h: Regenerated.
16940         * lib/unictype/mirror.h: Regenerated.
16941         * lib/unictype/numeric.h: Regenerated.
16942         * lib/unictype/pr_alphabetic.h: Regenerated.
16943         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
16944         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
16945         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
16946         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
16947         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
16948         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
16949         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
16950         * lib/unictype/pr_combining.h: Regenerated.
16951         * lib/unictype/pr_dash.h: Regenerated.
16952         * lib/unictype/pr_decimal_digit.h: Regenerated.
16953         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
16954         * lib/unictype/pr_deprecated.h: Regenerated.
16955         * lib/unictype/pr_diacritic.h: Regenerated.
16956         * lib/unictype/pr_extender.h: Regenerated.
16957         * lib/unictype/pr_format_control.h: Regenerated.
16958         * lib/unictype/pr_grapheme_base.h: Regenerated.
16959         * lib/unictype/pr_grapheme_extend.h: Regenerated.
16960         * lib/unictype/pr_grapheme_link.h: Regenerated.
16961         * lib/unictype/pr_id_continue.h: Regenerated.
16962         * lib/unictype/pr_id_start.h: Regenerated.
16963         * lib/unictype/pr_ideographic.h: Regenerated.
16964         * lib/unictype/pr_ignorable_control.h: Regenerated.
16965         * lib/unictype/pr_lowercase.h: Regenerated.
16966         * lib/unictype/pr_math.h: Regenerated.
16967         * lib/unictype/pr_numeric.h: Regenerated.
16968         * lib/unictype/pr_other_alphabetic.h: Regenerated.
16969         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
16970         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
16971         * lib/unictype/pr_other_id_continue.h: Regenerated.
16972         * lib/unictype/pr_other_lowercase.h: Regenerated.
16973         * lib/unictype/pr_other_math.h: Regenerated.
16974         * lib/unictype/pr_punctuation.h: Regenerated.
16975         * lib/unictype/pr_sentence_terminal.h: Regenerated.
16976         * lib/unictype/pr_soft_dotted.h: Regenerated.
16977         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
16978         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
16979         * lib/unictype/pr_unified_ideograph.h: Regenerated.
16980         * lib/unictype/pr_uppercase.h: Regenerated.
16981         * lib/unictype/pr_xid_continue.h: Regenerated.
16982         * lib/unictype/pr_xid_start.h: Regenerated.
16983         * lib/unictype/pr_zero_width.h: Regenerated.
16984         * lib/unictype/scripts.h: Regenerated.
16985         * lib/unictype/scripts_byname.gperf: Regenerated.
16986         * lib/unictype/sy_java_ident.h: Regenerated.
16987         * lib/unilbrk/lbrkprop1.h: Regenerated.
16988         * lib/unilbrk/lbrkprop2.h: Regenerated.
16989         * tests/unictype/test-categ_C.c: Regenerated.
16990         * tests/unictype/test-categ_Cf.c: Regenerated.
16991         * tests/unictype/test-categ_Cn.c: Regenerated.
16992         * tests/unictype/test-categ_L.c: Regenerated.
16993         * tests/unictype/test-categ_Ll.c: Regenerated.
16994         * tests/unictype/test-categ_Lm.c: Regenerated.
16995         * tests/unictype/test-categ_Lo.c: Regenerated.
16996         * tests/unictype/test-categ_Lu.c: Regenerated.
16997         * tests/unictype/test-categ_M.c: Regenerated.
16998         * tests/unictype/test-categ_Mc.c: Regenerated.
16999         * tests/unictype/test-categ_Me.c: Regenerated.
17000         * tests/unictype/test-categ_Mn.c: Regenerated.
17001         * tests/unictype/test-categ_N.c: Regenerated.
17002         * tests/unictype/test-categ_Nd.c: Regenerated.
17003         * tests/unictype/test-categ_Nl.c: Regenerated.
17004         * tests/unictype/test-categ_No.c: Regenerated.
17005         * tests/unictype/test-categ_P.c: Regenerated.
17006         * tests/unictype/test-categ_Pd.c: Regenerated.
17007         * tests/unictype/test-categ_Pe.c: Regenerated.
17008         * tests/unictype/test-categ_Pf.c: Regenerated.
17009         * tests/unictype/test-categ_Pi.c: Regenerated.
17010         * tests/unictype/test-categ_Po.c: Regenerated.
17011         * tests/unictype/test-categ_Ps.c: Regenerated.
17012         * tests/unictype/test-categ_S.c: Regenerated.
17013         * tests/unictype/test-categ_Sk.c: Regenerated.
17014         * tests/unictype/test-categ_Sm.c: Regenerated.
17015         * tests/unictype/test-categ_So.c: Regenerated.
17016         * tests/unictype/test-ctype_alnum.c: Regenerated.
17017         * tests/unictype/test-ctype_alpha.c: Regenerated.
17018         * tests/unictype/test-ctype_graph.c: Regenerated.
17019         * tests/unictype/test-ctype_lower.c: Regenerated.
17020         * tests/unictype/test-ctype_print.c: Regenerated.
17021         * tests/unictype/test-ctype_punct.c: Regenerated.
17022         * tests/unictype/test-ctype_upper.c: Regenerated.
17023         * tests/unictype/test-decdigit.h: Regenerated.
17024         * tests/unictype/test-digit.h: Regenerated.
17025         * tests/unictype/test-numeric.h: Regenerated.
17026         * tests/unictype/test-pr_alphabetic.c: Regenerated.
17027         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
17028         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
17029         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
17030         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
17031         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
17032         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
17033         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
17034         * tests/unictype/test-pr_combining.c: Regenerated.
17035         * tests/unictype/test-pr_dash.c: Regenerated.
17036         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
17037         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
17038         * tests/unictype/test-pr_deprecated.c: Regenerated.
17039         * tests/unictype/test-pr_diacritic.c: Regenerated.
17040         * tests/unictype/test-pr_extender.c: Regenerated.
17041         * tests/unictype/test-pr_format_control.c: Regenerated.
17042         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
17043         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
17044         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
17045         * tests/unictype/test-pr_id_continue.c: Regenerated.
17046         * tests/unictype/test-pr_id_start.c: Regenerated.
17047         * tests/unictype/test-pr_ideographic.c: Regenerated.
17048         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
17049         * tests/unictype/test-pr_lowercase.c: Regenerated.
17050         * tests/unictype/test-pr_math.c: Regenerated.
17051         * tests/unictype/test-pr_numeric.c: Regenerated.
17052         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
17053         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
17054         Regenerated.
17055         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
17056         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
17057         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
17058         * tests/unictype/test-pr_other_math.c: Regenerated.
17059         * tests/unictype/test-pr_punctuation.c: Regenerated.
17060         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
17061         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
17062         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
17063         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
17064         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
17065         * tests/unictype/test-pr_uppercase.c: Regenerated.
17066         * tests/unictype/test-pr_xid_continue.c: Regenerated.
17067         * tests/unictype/test-pr_xid_start.c: Regenerated.
17068         * tests/unictype/test-pr_zero_width.c: Regenerated.
17069
17070         Update to Unicode 5.1.0.
17071         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
17072         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
17073         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
17074         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
17075         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
17076         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
17077         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
17078         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
17079         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
17080         (nonspacing_table_ind): Update.
17081         * tests/uniwidth/test-uc_width2.sh: Update expected result.
17082
17083         Update to Unicode 5.1.0.
17084         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
17085         code transform.
17086         * lib/uniname/uniname.c (unicode_character_name,
17087         unicode_name_character): Add the range 0x1Fxxx to the code transform.
17088         * lib/uniname/uninames.h: Regenerated.
17089         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
17090
17091 2009-02-07  Bruno Haible  <bruno@clisp.org>
17092
17093         Merge gen-ctype and gen-lbrk into a single program.
17094         * lib/gen-uni-tables.c: New file, incorporating
17095         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
17096         Add directory prefixes to the names of the generated files.
17097         * lib/unictype/gen-ctype.c: Remove file.
17098         * lib/unilbrk/gen-lbrk.c: Remove file.
17099         * modules/gen-uni-tables: New file.
17100         * modules/unictype/gen-ctype: Remove file.
17101         * modules/unilbrk/gen-lbrk: Remove file.
17102
17103 2009-02-07  Bruno Haible  <bruno@clisp.org>
17104
17105         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
17106
17107         New module 'unistr/u32-strcoll'.
17108         * modules/unistr/u32-strcoll: New file.
17109         * lib/unistr/u32-strcoll.c: New file.
17110
17111         New module 'unistr/u16-strcoll'.
17112         * modules/unistr/u16-strcoll: New file.
17113         * lib/unistr/u16-strcoll.c: New file.
17114
17115         New module 'unistr/u8-strcoll'.
17116         * modules/unistr/u8-strcoll: New file.
17117         * lib/unistr/u8-strcoll.c: New file.
17118         * lib/unistr/u-strcoll.h: New file.
17119
17120 2009-02-07  Bruno Haible  <bruno@clisp.org>
17121
17122         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
17123         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17124         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
17125         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
17126         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
17127         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
17128
17129 2009-02-07  Bruno Haible  <bruno@clisp.org>
17130
17131         Make 64-bit clean.
17132         * lib/unictype/gen-ctype.c (output_predicate, output_category,
17133         output_combclass, output_bidi_category, output_decimal_digit,
17134         output_digit, output_numeric, output_mirror, output_scripts,
17135         output_ident_category): Use proper width specifier in format strings.
17136
17137 2009-02-07  Bruno Haible  <bruno@clisp.org>
17138
17139         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
17140         failure behaviour.
17141
17142 2009-02-07  Jim Meyering  <meyering@redhat.com>
17143
17144         regex: avoid compilation failure with upcoming gcc-4.4
17145         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
17146         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
17147         "... error: integer overflow in preprocessor expression".
17148
17149 2009-02-05  Ben Pfaff  <blp@gnu.org>
17150
17151         Fix link errors on Windows when close module is used.
17152         * modules/close: Add $(LIB_CLOSE) to Link section.
17153         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
17154         $(LIB_CLOSE) on Windows.
17155
17156 2009-02-05  Jim Meyering  <meyering@redhat.com>
17157
17158         still avoid unused-parameter warnings, but do it cleanly
17159         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
17160         (get_fs_usage): Cast to void instead.
17161         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
17162         (dev_from_mount_options, read_file_system_list): Cast to void.
17163         Prompted by Bruno Haible.
17164
17165 2009-02-04  Jim Meyering  <meyering@redhat.com>
17166
17167         fsusage.c: correct copyright year
17168         * lib/fsusage.c: Reflect year in which the change is pushed into
17169
17170         avoid misc. warnings
17171         * lib/fsusage.c (UNUSED_PARAM): Define.
17172         (get_fs_usage): Mark parameter "disk" as unused.
17173         * lib/getugroups.c (getgrent): Use "void" in prototype.
17174         * lib/mountlist.c: Mark unused parameters.
17175         (read_file_system_list): Declare a local with "const".
17176         * lib/nanosleep.c (getnow): Declare static.
17177         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
17178
17179         dirfd: set errno upon failure
17180         * lib/dirfd.c: Include <errno.h>.
17181         Set errno to ENOTSUP when returning -1.
17182         * modules/dirfd (Depends-on): Add errno.
17183         Suggested by John Kodis <kodis@comcast.net>.
17184
17185 2009-02-01  Bruno Haible  <bruno@clisp.org>
17186
17187         Don't assume sizeof (long) >= sizeof (void *).
17188         * lib/memcmp.c: Include stdint.h.
17189         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
17190         srcp2 to 'const byte *'.
17191         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
17192         types to uintptr_t.
17193         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
17194         * modules/memcmp (Depends-on): Add stdint.
17195         Reported by Ozkan Sezer <sezeroz@gmail.com>.
17196
17197 2009-01-30  Eric Blake  <ebb9@byu.net>
17198
17199         fix more require-before-expand issues
17200         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
17201         expand, AC_PROG_AWK.
17202         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
17203
17204 2009-01-28  Eric Blake  <ebb9@byu.net>
17205
17206         version-etc: use consistent URL formatting
17207         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
17208         Improve formatting.  Use fputs for string without %.
17209
17210 2009-01-28  Jim Meyering  <meyering@redhat.com>
17211
17212         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
17213         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
17214         "underquoted definition of NAME" from autoconf-2.59.
17215
17216 2009-01-28  Bruno Haible  <bruno@clisp.org>
17217
17218         * doc/gnulib.texi: Add "Obsolete modules" to index.
17219
17220 2009-01-28  Jim Meyering  <meyering@redhat.com>
17221
17222         useless-if-before-free: recognize more variants
17223         * build-aux/useless-if-before-free: Also recognize e.g.,
17224         if (NULL != p) free (p);
17225
17226 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
17227
17228         test-getaddrinfo: skip (don't fail) this test when there's no network
17229         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
17230         on the presumption that it means you lack network access.
17231
17232 2009-01-26  Jim Meyering  <meyering@redhat.com>
17233
17234         fflush: avoid warnings on modern systems
17235         * lib/fflush.c (rpl_fflush): Move declarations of locals,
17236         pos and result, into scopes where they're used.
17237
17238 2009-01-26  Eric Blake  <ebb9@byu.net>
17239
17240         Silence warning reintroduced by recent extensions patch.
17241         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
17242         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
17243         autoconf.
17244
17245         Backport improved autoconf semantics of AC_DEFUN_ONCE.
17246         * m4/00gnulib.m4: New file.
17247         * gnulib-tool (func_get_filelist): Always use it.
17248         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
17249         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
17250
17251 2009-01-25  Bruno Haible  <bruno@clisp.org>
17252
17253         Make test-quotearg work on MacOS X and AIX.
17254         * tests/test-quotearg.sh: New file.
17255         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
17256         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
17257         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
17258         include <libintl.h>.
17259         (fake_locale): Remove variable.
17260         (gettext, dgettext, dcgettext): Remove functions.
17261         (main): Instead of setting a fake locale, set a real locale. Call
17262         textdomain and bindtextdomain.
17263         * modules/quotearg-tests (Files): Add the new files.
17264         (Depends-on): Add gettext, setenv, unsetenv.
17265         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
17266         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
17267         Augment TESTS_ENVIRONMENT.
17268
17269 2009-01-25  Bruno Haible  <bruno@clisp.org>
17270
17271         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
17272         fr_FR.ISO8859-1 locale on MacOS X.
17273         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
17274         ja_JP.eucJP locale on MacOS X.
17275         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
17276         zh_CN.GB18030 locale on MacOS X.
17277
17278 2009-01-25  Bruno Haible  <bruno@clisp.org>
17279
17280         Avoid link errors on MacOS X 10.3.
17281         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
17282         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17283
17284 2009-01-25  Bruno Haible  <bruno@clisp.org>
17285
17286         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17287         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
17288         * modules/pipe (Files): Remove m4/posix_spawn.m4.
17289         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17290         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
17291         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17292         posix_spawnattr_init, posix_spawnattr_setsigmask,
17293         posix_spawnattr_setflags, posix_spawnattr_destroy.
17294
17295         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
17296         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
17297         * modules/execute (Files): Remove m4/posix_spawn.m4.
17298         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
17299         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
17300         posix_spawnattr_init, posix_spawnattr_setsigmask,
17301         posix_spawnattr_setflags, posix_spawnattr_destroy.
17302
17303 2009-01-25  Bruno Haible  <bruno@clisp.org>
17304
17305         * lib/glthread/threadlib.c: Include <stdlib.h>.
17306
17307 2009-01-25  Bruno Haible  <bruno@clisp.org>
17308
17309         * lib/glthread/threadlib.c (dummy): New declaration.
17310
17311 2009-01-25  Bruno Haible  <bruno@clisp.org>
17312
17313         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
17314         multibyte characters also for the GB18030 encoding. Don't crash when
17315         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
17316
17317 2009-01-25  Bruno Haible  <bruno@clisp.org>
17318
17319         Avoid redefining 'struct random_data' on OSF/1 5.1.
17320         * lib/stdlib.in.h: Include <random.h> if it exists.
17321         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
17322         HAVE_RANDOM_H. Include <random.h> when testing whether
17323         'struct random_data' exists.
17324         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
17325
17326 2009-01-25  Bruno Haible  <bruno@clisp.org>
17327
17328         Don't install charset.alias on MacOS X >= 10.3.
17329         * lib/localcharset.c (DARWIN7): New macro.
17330         (get_charset_aliases): Hardcode the result for Darwin7.
17331         * modules/localcharset (install-exec-local): Don't install
17332         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
17333
17334 2009-01-25  Bruno Haible  <bruno@clisp.org>
17335
17336         Don't install charset.alias on mingw and Cygwin.
17337         * modules/localcharset (install-exec-local): Don't install
17338         charset.alias on mingw and Cygwin, if the file does not yet exist.
17339         The result for these platforms is hardcoded in localcharset.c.
17340
17341 2009-01-25  Bruno Haible  <bruno@clisp.org>
17342
17343         Make it possible again to use AC_GNU_SOURCE together with gnulib.
17344         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
17345         before requiring AC_USE_SYSTEM_EXTENSIONS.
17346
17347 2009-01-25  Jim Meyering  <meyering@redhat.com>
17348
17349         c-strtod: avoid warnings
17350         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
17351         "assignment discards qualifiers from pointer target type" warnings.
17352
17353 2009-01-24  Bruno Haible  <bruno@clisp.org>
17354
17355         Add support for non-UTF-8 locales on MacOS X.
17356         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
17357         canonical encodings. For Darwin 7 and newer, don't map traditional
17358         encodings to UTF-8.
17359         Reported by Vincent Lefevre <vincent@vinc17.org>
17360         at <http://savannah.gnu.org/bugs/?25235>.
17361
17362 2009-01-24  Bruno Haible  <bruno@clisp.org>
17363
17364         * doc/gnulib.texi (Obsolete modules): New section.
17365         Reported by Mike Frysinger <vapier@gentoo.org>.
17366
17367 2009-01-24  Bruno Haible  <bruno@clisp.org>
17368
17369         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
17370         (%.dvi): New rule.
17371
17372 2009-01-24  Bruno Haible  <bruno@clisp.org>
17373
17374         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
17375         Reported by Eric Blake.
17376
17377 2009-01-24  Bruno Haible  <bruno@clisp.org>
17378
17379         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
17380         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
17381         Reported by Gary V. Vaughan <gary@gnu.org>.
17382
17383 2009-01-24  Bruno Haible  <bruno@clisp.org>
17384
17385         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
17386
17387 2009-01-23  Bruno Haible  <bruno@clisp.org>
17388
17389         Make c-strtod, c-strtold usable in libraries.
17390         * lib/c-strtod.c: Include string.h instead of xalloc.h.
17391         (C_STRTOD): Call strdup instead of xstrdup.
17392         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
17393         * modules/c-strtold (Depends-on): Likewise.
17394         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
17395         * NEWS: Mention the change.
17396         Reported by Michael Gold <mgold@ncf.ca>.
17397
17398 2009-01-23  Jim Meyering  <meyering@redhat.com>
17399
17400         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
17401         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
17402         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
17403
17404 2009-01-23  Simon Josefsson  <simon@josefsson.org>
17405
17406         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
17407         GNU CoreUtils.
17408         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
17409         * modules/version-etc (Description): Update.
17410
17411 2009-01-22  Bruno Haible  <bruno@clisp.org>
17412
17413         Cache the C locale object.
17414         * lib/c-strtod.c (c_locale_cache): New variable.
17415         (c_locale): New function.
17416         (C_STRTOD): Use it, and don't call freelocale.
17417         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
17418         Suggested by Paolo Bonzini.
17419
17420 2009-01-21  Bruno Haible  <bruno@clisp.org>
17421
17422         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
17423         conditions other than overflow.
17424
17425 2009-01-21  Bruno Haible  <bruno@clisp.org>
17426
17427         * lib/c-strtod.c: Include errno.h.
17428         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
17429         value from STRTOD_L and STRTOD.
17430
17431 2009-01-21  Bruno Haible  <bruno@clisp.org>
17432         and Jim Meyering  <meyering@redhat.com>
17433
17434         nanosleep: skip configure test (fail it) for apple universal builds
17435         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
17436         universal builds, assume that nanosleep does not work.
17437         * modules/nanosleep (Depends-on): Add multiarch.
17438
17439         mktime: skip configure test (fail it) for apple universal builds
17440         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
17441         universal builds, assume that mktime does not work.
17442         * modules/mktime (Depends-on): Add multiarch.
17443
17444 2009-01-21  Eric Blake  <ebb9@byu.net>
17445
17446         multiarch: avoid expand-before-require warning
17447         * modules/multiarch (configure.ac): Require, rather than expand,
17448         gl_MULTIARCH.
17449         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
17450         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
17451         enforce that all clients require it.  Partial reversion of
17452         2008-12-29 patch.
17453
17454         error: avoid expand-before-require warning
17455         * modules/errno (configure.ac): Require, rather than expand,
17456         gl_HEADER_ERRNO_H.
17457         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
17458         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
17459         enforce that all clients require it.
17460
17461         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
17462         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
17463         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
17464         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
17465
17466 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
17467
17468         Revert:
17469         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17470
17471         regex: do not depend on obsolete modules.
17472         * modules/regex: Remove memcmp and memmove.
17473
17474 2009-01-20  Bruno Haible  <bruno@clisp.org>
17475
17476         Make the 'link' module link on Windows NT 4.
17477         * lib/link.c (_WIN32_WINNT): Don't define.
17478         (CreateHardLinkFuncType): New type.
17479         (CreateHardLinkFunc, initialized): New variables.
17480         (initialize): New function.
17481         (link): Invoke CreateHardLink indirectly through the function pointer.
17482
17483 2009-01-20  Bruno Haible  <bruno@clisp.org>
17484
17485         Fix compilation failure on mingw.
17486         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
17487
17488 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
17489
17490         * doc/c-strtod.texi: Mention a couple of restrictions.
17491
17492 2009-01-20  Jim Meyering  <meyering@redhat.com>
17493
17494         gettimeofday: move more declarations out of functions
17495         * lib/gettimeofday.c: Move extern declarations of tzset and
17496         gmtime out of containing functions.  Prompted by Bruno Haible.
17497
17498 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
17499
17500         regex: do not depend on obsolete modules.
17501         * modules/regex: Remove memcmp and memmove.
17502
17503 2009-01-19  Bruno Haible  <bruno@clisp.org>
17504
17505         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17506         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
17507         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17508         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
17509         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
17510
17511 2009-01-19  Bruno Haible  <bruno@clisp.org>
17512
17513         * tests/test-link.c: Include <errno.h>.
17514         (main): Exit with code 77 when a hard link cannot be created due to
17515         the file system.
17516         * tests/test-link.sh: Skip test when a hard link cannot be created due
17517         to the file system.
17518         Suggested by Eric Blake.
17519
17520 2009-01-19  Martin Lambers  <marlam@marlam.de>
17521
17522         * modules/link-tests: New file.
17523         * tests/test-link.sh: New file.
17524         * tests/test-link.c: New file.
17525
17526 2009-01-19  Eric Blake  <ebb9@byu.net>
17527
17528         doc: mention another function added in cygwin 1.7.0
17529         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
17530         Another new function in cygwin 1.7.
17531
17532 2009-01-19  Bruno Haible  <bruno@clisp.org>
17533
17534         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
17535         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
17536         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
17537         gl_BIGENDIAN, not AC_C_BIGENDIAN.
17538         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
17539         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
17540         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17541         * m4/md4.m4 (gl_MD4): Likewise.
17542         * m4/md5.m4 (gl_MD5): Likewise.
17543         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
17544         * m4/sha1.m4 (gl_SHA1): Likewise.
17545         * m4/sha256.m4 (gl_SHA256): Likewise.
17546         * m4/sha512.m4 (gl_SHA512): Likewise.
17547
17548 2009-01-19  Bruno Haible  <bruno@clisp.org>
17549
17550         * modules/uniname/uniname-tests (Depends-on): Add progname.
17551         * tests/uniname/test-uninames.c: Include progname.h.
17552         (main): Call set_program_name.
17553
17554         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
17555         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
17556         (main): Call set_program_name.
17557
17558         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
17559         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
17560         (main): Call set_program_name.
17561
17562         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
17563         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
17564         (main): Call set_program_name.
17565
17566         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
17567         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
17568         (main): Call set_program_name.
17569
17570         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
17571         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
17572         (main): Call set_program_name.
17573
17574         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
17575         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
17576         (main): Call set_program_name.
17577
17578         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
17579         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
17580         (main): Call set_program_name.
17581
17582         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
17583         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
17584         (main): Call set_program_name.
17585
17586 2009-01-19  Eric Blake  <ebb9@byu.net>
17587
17588         test-unistd: test previous patch
17589         * tests/test-unistd.c: Test *_FILENO macros.
17590
17591         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
17592         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17593         Guarantee a definition.
17594         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
17595         * modules/unistd-safer (Depends-on): Add dependency on unistd.
17596         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
17597         * lib/dup-safer.c (STDERR_FILENO): Likewise.
17598         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17599         Likewise.
17600         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
17601         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
17602         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
17603         Likewise.
17604         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
17605         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
17606         (STDERR_FILENO): Likewise.
17607         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
17608         (STDERR_FILENO): Likewise.
17609         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
17610         (STDERR_FILENO): Likewise.
17611         Reported by Elbert Pol.
17612
17613 2009-01-19  Eric Blake  <ebb9@byu.net>
17614
17615         doc: mention more functions added in cygwin 1.7.0
17616         * doc/posix-functions/abort.texi (abort): Update wording related
17617         to cygwin.
17618         * doc/posix-functions/daylight.texi (daylight): Likewise.
17619         * doc/posix-functions/optarg.texi (optarg): Likewise.
17620         * doc/posix-functions/optarg.texi (opterr): Likewise.
17621         * doc/posix-functions/optarg.texi (optind): Likewise.
17622         * doc/posix-functions/optarg.texi (optopt): Likewise.
17623         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
17624         worked in 1.5.x, and was withdrawn in 1.7.
17625         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17626         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
17627         cygwin versions.
17628         * doc/posix-functions/perror.texi (perror): Likewise.
17629         * doc/posix-functions/printf.texi (printf): Likewise.
17630         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
17631         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
17632         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17633         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17634         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
17635         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
17636         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
17637         Likewise.
17638         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
17639         Likewise.
17640         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
17641         this function.
17642         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
17643         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
17644         Likewise.
17645         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
17646         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
17647         * doc/posix-functions/confstr.texi (confstr): Likewise.
17648         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
17649         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
17650         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
17651         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
17652         * doc/posix-functions/fputws.texi (fputws): Likewise.
17653         * doc/posix-functions/fwide.texi (fwide): Likewise.
17654         * doc/posix-functions/getwc.texi (getwc): Likewise.
17655         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
17656         * doc/posix-functions/putwc.texi (putwc): Likewise.
17657         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17658         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
17659         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
17660         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17661         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
17662         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
17663         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
17664         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
17665         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
17666         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
17667         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
17668
17669 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
17670
17671         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
17672         * lib/ioctl.c: Include <sys/ioctl.h>.
17673
17674 2009-01-19  Simon Josefsson  <simon@josefsson.org>
17675
17676         * modules/getdate-tests (Depends-on): Add progname.
17677         * tests/test-getdate.c: Use progname module, to avoid link errors
17678         on non-glibc systems.
17679
17680 2009-01-18  Simon Josefsson  <simon@josefsson.org>
17681
17682         * modules/filenamecat-tests (Depends-on): Add progname.
17683         * modules/fstrcmp-tests (Depends-on): Likewise.
17684
17685         * tests/test-filenamecat.c: Use progname module, to avoid link
17686         errors on non-glibc systems.
17687         * tests/test-fstrcmp.c: Likewise.
17688
17689 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
17690
17691         gettimeofday: avoid warning: nested extern declaration of 'localtime'
17692         * lib/gettimeofday.c: Move extern declaration out of function.
17693
17694 2009-01-18  Bruno Haible  <bruno@clisp.org>
17695
17696         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
17697         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
17698         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
17699
17700 2009-01-18  Bruno Haible  <bruno@clisp.org>
17701
17702         * lib/strftime.c (MEMPCPY): Remove unused macro.
17703         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
17704
17705 2009-01-18  Martin Lambers  <marlam@marlam.de>
17706
17707         New module 'link'.
17708         * lib/unistd.in.h (link): New declaration.
17709         * lib/link.c: New file.
17710         * m4/link.m4: New file.
17711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
17712         HAVE_LINK.
17713         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
17714         * modules/link: New file.
17715         * doc/posix-functions/link.texi: Mention the new module.
17716
17717 2009-01-18  Bruno Haible  <bruno@clisp.org>
17718
17719         * tests/test-avltree_list.c (main): Call set_program_name.
17720         * tests/test-avltree_oset.c (main): Likewise.
17721         * tests/test-obstack-printf.c: Include progname.h.
17722         (main): Call set_program_name.
17723         * tests/test-quotearg.c: Include progname.h.
17724         (main): Call set_program_name.
17725         * tests/test-xmemdup0.c: Include progname.h.
17726         (main): Call set_program_name.
17727
17728 2009-01-18  Bruno Haible  <bruno@clisp.org>
17729
17730         New module 'alphasort'.
17731         * lib/dirent.in.h (alphasort): New declaration.
17732         * lib/alphasort.c: New file, from glibc with modifications.
17733         * m4/alphasort.m4: New file.
17734         * modules/alphasort: New file.
17735         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
17736         HAVE_ALPHASORT.
17737         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
17738         HAVE_ALPHASORT.
17739         * doc/posix-functions/alphasort.texi: Mention the new module and the
17740         portability problems.
17741
17742 2009-01-18  Bruno Haible  <bruno@clisp.org>
17743
17744         New module 'scandir'.
17745         * lib/dirent.in.h (scandir): New declaration.
17746         * lib/scandir.c: New file, from glibc with modifications.
17747         * m4/scandir.m4: New file.
17748         * modules/scandir: New file.
17749         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
17750         HAVE_SCANDIR.
17751         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
17752         HAVE_SCANDIR.
17753         * doc/posix-functions/scandir.texi: Mention the new module and the
17754         portability problems.
17755
17756 2009-01-17  Bruno Haible  <bruno@clisp.org>
17757
17758         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
17759         Update documentation.
17760         (func_remove_suffix): Escape all dots in the suffix. Update
17761         documentation.
17762         (func_filter_filelist): Update documentation.
17763         Reported by Ralf Wildenhues.
17764
17765 2009-01-17  Bruno Haible  <bruno@clisp.org>
17766
17767         * modules/dprintf-posix-tests: New file.
17768         * tests/test-dprintf-posix.sh: New file.
17769         * tests/test-dprintf-posix.c: New file.
17770
17771         New modules 'dprintf', 'dprintf-posix'.
17772         * lib/stdio.in.h (dprintf): New declaration.
17773         * lib/dprintf.c: New file.
17774         * m4/dprintf.m4: New file.
17775         * m4/dprintf-posix.m4: New file.
17776         * modules/dprintf: New file.
17777         * modules/dprintf-posix: New file.
17778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
17779         HAVE_DPRINTF, REPLACE_DPRINTF.
17780         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
17781         HAVE_DPRINTF, REPLACE_DPRINTF.
17782         * doc/posix-functions/dprintf.texi: Mention the new modules.
17783
17784 2009-01-17  Bruno Haible  <bruno@clisp.org>
17785
17786         * modules/vdprintf-posix-tests: New file.
17787         * tests/test-vdprintf-posix.sh: New file.
17788         * tests/test-vdprintf-posix.c: New file.
17789
17790         New modules 'vdprintf', 'vdprintf-posix'.
17791         * lib/stdio.in.h (vdprintf): New declaration.
17792         * lib/vdprintf.c: New file.
17793         * m4/vdprintf.m4: New file.
17794         * m4/vdprintf-posix.m4: New file.
17795         * modules/vdprintf: New file.
17796         * modules/vdprintf-posix: New file.
17797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
17798         HAVE_VDPRINTF, REPLACE_VDPRINTF.
17799         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
17800         HAVE_VDPRINTF, REPLACE_VDPRINTF.
17801         * doc/posix-functions/vdprintf.texi: Mention the new modules.
17802
17803 2009-01-17  Bruno Haible  <bruno@clisp.org>
17804
17805         Fix replacement of fopen on mingw.
17806         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
17807         mingw.
17808
17809 2009-01-17  Bruno Haible  <bruno@clisp.org>
17810
17811         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
17812         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
17813
17814 2009-01-17  Bruno Haible  <bruno@clisp.org>
17815
17816         Avoid test-fflush2.sh failure on mingw.
17817         * tests/test-fflush2.c: Include binary-io.h.
17818         (main): Put standard input into binary mode.
17819         * modules/fflush-tests (Depends-on): Add binary-io.
17820
17821 2009-01-17  Bruno Haible  <bruno@clisp.org>
17822
17823         * lib/wchar.in.h: In another particular situation, include only the
17824         system's <wchar.h> file.
17825         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
17826         Reported by Albert Chin-A-Young <china@thewrittenword.com>
17827         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
17828
17829 2009-01-17  Bruno Haible  <bruno@clisp.org>
17830
17831         Support for stripping executables in --enable-relocatable.
17832         * build-aux/install-reloc: Expect one more argument, or an environment
17833         variable RELOC_STRIP_PROG. If set, strip the destination program and
17834         its wrapper.
17835         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
17836         RELOC_STRIP_PROG.
17837         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
17838         to set RELOCATABLE_STRIP.
17839         * NEWS: Mention the new Makefile requirement.
17840
17841 2009-01-17  Bruno Haible  <bruno@clisp.org>
17842
17843         * build-aux/install-reloc: Remove debugging information left over by
17844         C compiler on MacOS X.
17845
17846 2009-01-17  Bruno Haible  <bruno@clisp.org>
17847
17848         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
17849         * lib/progreloc.c (find_executable): Fix type of pointer passed to
17850         _NSGetExecutablePath.
17851
17852 2009-01-16  Jim Meyering  <meyering@redhat.com>
17853
17854         strerror: avoid warnings about discarding "const"
17855         * lib/strerror.c (rpl_strerror): Instead of returning a const
17856         string from each and every "case", use a variable, and add a single
17857         cast after the switch.
17858
17859 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
17860
17861         * lib/arpa_inet.in.h: Add extern "C" block for C++.
17862
17863 2009-01-16  Bruno Haible  <bruno@clisp.org>
17864
17865         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
17866         array initializer syntax that also works in C++ mode.
17867         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17868
17869 2009-01-16  Jim Meyering  <meyering@redhat.com>
17870
17871         poll: suppress a warning
17872         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
17873         to ignore "...unsigned expression < 0 is always false" warnings.
17874
17875 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
17876
17877         poll: remove declarations of unused variables
17878         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
17879         sockbuf and optlen.
17880
17881 2009-01-15  Bruno Haible  <bruno@clisp.org>
17882
17883         Make fflush-after-ungetc POSIX compliant on BSD systems.
17884         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
17885         (clear_ungetc_buffer): Implement also for other systems.
17886         (rpl_fflush): On glibc systems, invoke
17887         clear_ungetc_buffer_preserving_position. Otherwise, invoke
17888         clear_ungetc_buffer after fetching the stream's position, not before.
17889
17890 2009-01-15  Bruno Haible  <bruno@clisp.org>
17891
17892         Make fflush-after-ungetc POSIX compliant on glibc systems.
17893         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
17894         after ungetc.
17895         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
17896         (rpl_fflush): On glibc systems, simply call the system's fflush
17897         function after clearing the ungetc buffer.
17898         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
17899         Instead, lseek only to the end of file, then use the system's fseeko
17900         for the rest. On glibc systems, reset the EOF indicator bit.
17901
17902 2009-01-15  Jim Meyering  <meyering@redhat.com>
17903
17904         openmp.m4: revert quote-adding change, for portability to older autoconf
17905         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
17906         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
17907         Simon Josefsson noticed the problem when using autoconf-2.61.
17908
17909 2009-01-15  Bruno Haible  <bruno@clisp.org>
17910
17911         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
17912         * tests/test-fflush2.c (ASSERT): Always fail.
17913         (main): Add two tests for fflush() after ungetc(), taking into account
17914         the Austin Group's clarification.
17915         Suggested by Eric Blake.
17916
17917 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
17918
17919         mktime.m4: remove K&R-style function prototypes
17920         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
17921         for the Sun C++ compiler.
17922
17923 2009-01-14  Bruno Haible  <bruno@clisp.org>
17924
17925         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
17926         while including <wchar.h>.
17927         * lib/wchar.in.h: In two particular situations on HP-UX, include only
17928         the system's <wchar.h> file.
17929         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17930
17931 2009-01-14  Bruno Haible  <bruno@clisp.org>
17932
17933         * m4/csharp.m4: Don't mention gettext on the serial number line.
17934         * m4/csharpexec.m4: Likewise.
17935         * m4/eaccess.m4: Likewise.
17936         * m4/javaexec.m4: Likewise.
17937         * m4/sig_atomic_t.m4: Likewise.
17938         * m4/tmpdir.m4: Likewise.
17939         * m4/intldir.m4: Bump gettext version.
17940         * m4/lib-ld.m4: Likewise.
17941
17942 2009-01-14  Bruno Haible  <bruno@clisp.org>
17943
17944         * lib/progname.c (set_program_name): Add more comments.
17945         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
17946
17947 2009-01-14  Simon Josefsson  <simon@josefsson.org>
17948
17949         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
17950         were sys/stat.h does not define it.
17951
17952 2009-01-14  Jim Meyering  <meyering@redhat.com>
17953
17954         many *.m4 files: improve m4 quoting
17955         99% of this change was performed by running the following commands:
17956         git ls-files | grep '\.m4$' | xargs perl -pi \
17957           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
17958           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
17959           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
17960           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
17961         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
17962         The remainder were to add Copyright dates, increment serial numbers,
17963         undo some changes in comments, exclude m4/intl.m4, and add quotes
17964         around the "1" in ",1" where the unusual spacing prohibited the
17965         above regexps from doing the job.  For more details, see
17966         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
17967         * m4/acl.m4: Modified.
17968         * m4/afs.m4: Likewise.
17969         * m4/alloca.m4: Likewise.
17970         * m4/argp.m4: Likewise.
17971         * m4/argz.m4: Likewise.
17972         * m4/atexit.m4: Likewise.
17973         * m4/bison-i18n.m4: Likewise.
17974         * m4/bison.m4: Likewise.
17975         * m4/byteswap.m4: Likewise.
17976         * m4/c-stack.m4: Likewise.
17977         * m4/c-strtod.m4: Likewise.
17978         * m4/calloc.m4: Likewise.
17979         * m4/canonicalize-lgpl.m4: Likewise.
17980         * m4/chown.m4: Likewise.
17981         * m4/clock_time.m4: Likewise.
17982         * m4/codeset.m4: Likewise.
17983         * m4/copy-file.m4: Likewise.
17984         * m4/csharp.m4: Likewise.
17985         * m4/csharpcomp.m4: Likewise.
17986         * m4/csharpexec.m4: Likewise.
17987         * m4/d-ino.m4: Likewise.
17988         * m4/d-type.m4: Likewise.
17989         * m4/dirfd.m4: Likewise.
17990         * m4/double-slash-root.m4: Likewise.
17991         * m4/eaccess.m4: Likewise.
17992         * m4/eealloc.m4: Likewise.
17993         * m4/environ.m4: Likewise.
17994         * m4/errno_h.m4: Likewise.
17995         * m4/euidaccess.m4: Likewise.
17996         * m4/execute.m4: Likewise.
17997         * m4/fatal-signal.m4: Likewise.
17998         * m4/fchdir.m4: Likewise.
17999         * m4/fcntl_h.m4: Likewise.
18000         * m4/fileblocks.m4: Likewise.
18001         * m4/filenamecat.m4: Likewise.
18002         * m4/findprog.m4: Likewise.
18003         * m4/flexmember.m4: Likewise.
18004         * m4/fnmatch.m4: Likewise.
18005         * m4/fopen.m4: Likewise.
18006         * m4/fpending.m4: Likewise.
18007         * m4/fprintf-posix.m4: Likewise.
18008         * m4/free.m4: Likewise.
18009         * m4/frexp.m4: Likewise.
18010         * m4/frexpl.m4: Likewise.
18011         * m4/fsusage.m4: Likewise.
18012         * m4/ftruncate.m4: Likewise.
18013         * m4/gc-camellia.m4: Likewise.
18014         * m4/gc-random.m4: Likewise.
18015         * m4/gc.m4: Likewise.
18016         * m4/getaddrinfo.m4: Likewise.
18017         * m4/getcwd-abort-bug.m4: Likewise.
18018         * m4/getcwd-path-max.m4: Likewise.
18019         * m4/getdate.m4: Likewise.
18020         * m4/getdomainname.m4: Likewise.
18021         * m4/getgroups.m4: Likewise.
18022         * m4/gethostname.m4: Likewise.
18023         * m4/gethrxtime.m4: Likewise.
18024         * m4/getline.m4: Likewise.
18025         * m4/getloadavg.m4: Likewise.
18026         * m4/getndelim2.m4: Likewise.
18027         * m4/getpass.m4: Likewise.
18028         * m4/gettext.m4: Likewise.
18029         * m4/gettime.m4: Likewise.
18030         * m4/gettimeofday.m4: Likewise.
18031         * m4/gnulib-common.m4: Likewise.
18032         * m4/group-member.m4: Likewise.
18033         * m4/host-os.m4: Likewise.
18034         * m4/iconv.m4: Likewise.
18035         * m4/iconv_open.m4: Likewise.
18036         * m4/inet_ntop.m4: Likewise.
18037         * m4/inet_pton.m4: Likewise.
18038         * m4/inline.m4: Likewise.
18039         * m4/intldir.m4: Likewise.
18040         * m4/intlmacosx.m4: Likewise.
18041         * m4/intmax.m4: Likewise.
18042         * m4/intmax_t.m4: Likewise.
18043         * m4/inttypes.m4: Likewise.
18044         * m4/inttypes_h.m4: Likewise.
18045         * m4/inttypes-pri.m4: Likewise.
18046         * m4/isapipe.m4: Likewise.
18047         * m4/isnand.m4: Likewise.
18048         * m4/isnanf.m4: Likewise.
18049         * m4/isnanl.m4: Likewise.
18050         * m4/javacomp.m4: Likewise.
18051         * m4/javaexec.m4: Likewise.
18052         * m4/jm-winsz1.m4: Likewise.
18053         * m4/jm-winsz2.m4: Likewise.
18054         * m4/lchown.m4: Likewise.
18055         * m4/lcmessage.m4: Likewise.
18056         * m4/ldexpl.m4: Likewise.
18057         * m4/lib-ld.m4: Likewise.
18058         * m4/lib-link.m4: Likewise.
18059         * m4/libsigsegv.m4: Likewise.
18060         * m4/link-follow.m4: Likewise.
18061         * m4/localcharset.m4: Likewise.
18062         * m4/locale-fr.m4: Likewise.
18063         * m4/locale-ja.m4: Likewise.
18064         * m4/locale-tr.m4: Likewise.
18065         * m4/locale-zh.m4: Likewise.
18066         * m4/lock.m4: Likewise.
18067         * m4/longlong.m4: Likewise.
18068         * m4/ls-mntd-fs.m4: Likewise.
18069         * m4/lstat.m4: Likewise.
18070         * m4/malloc.m4: Likewise.
18071         * m4/mathl.m4: Likewise.
18072         * m4/mbrtowc.m4: Likewise.
18073         * m4/mbstate_t.m4: Likewise.
18074         * m4/mbswidth.m4: Likewise.
18075         * m4/memchr.m4: Likewise.
18076         * m4/memcmp.m4: Likewise.
18077         * m4/memcpy.m4: Likewise.
18078         * m4/memmem.m4: Likewise.
18079         * m4/memmove.m4: Likewise.
18080         * m4/mempcpy.m4: Likewise.
18081         * m4/memrchr.m4: Likewise.
18082         * m4/memset.m4: Likewise.
18083         * m4/minmax.m4: Likewise.
18084         * m4/mkdir-slash.m4: Likewise.
18085         * m4/mkdtemp.m4: Likewise.
18086         * m4/mktime.m4: Likewise.
18087         * m4/mmap-anon.m4: Likewise.
18088         * m4/mountlist.m4: Likewise.
18089         * m4/nanosleep.m4: Likewise.
18090         * m4/nls.m4: Likewise.
18091         * m4/nocrash.m4: Likewise.
18092         * m4/open.m4: Likewise.
18093         * m4/openat.m4: Likewise.
18094         * m4/openmp.m4: Likewise.
18095         * m4/pathmax.m4: Likewise.
18096         * m4/perl.m4: Likewise.
18097         * m4/physmem.m4: Likewise.
18098         * m4/pipe.m4: Likewise.
18099         * m4/po.m4: Likewise.
18100         * m4/poll.m4: Likewise.
18101         * m4/posixtm.m4: Likewise.
18102         * m4/posixver.m4: Likewise.
18103         * m4/printf-frexp.m4: Likewise.
18104         * m4/printf-frexpl.m4: Likewise.
18105         * m4/printf-posix.m4: Likewise.
18106         * m4/printf-posix-rpl.m4: Likewise.
18107         * m4/printf.m4: Likewise.
18108         * m4/progtest.m4: Likewise.
18109         * m4/putenv.m4: Likewise.
18110         * m4/readline.m4: Likewise.
18111         * m4/readlink.m4: Likewise.
18112         * m4/readutmp.m4: Likewise.
18113         * m4/realloc.m4: Likewise.
18114         * m4/regex.m4: Likewise.
18115         * m4/relocatable.m4: Likewise.
18116         * m4/relocatable-lib.m4: Likewise.
18117         * m4/rename-dest-slash.m4: Likewise.
18118         * m4/rename.m4: Likewise.
18119         * m4/rmdir-errno.m4: Likewise.
18120         * m4/rmdir.m4: Likewise.
18121         * m4/roundf.m4: Likewise.
18122         * m4/roundl.m4: Likewise.
18123         * m4/rpmatch.m4: Likewise.
18124         * m4/save-cwd.m4: Likewise.
18125         * m4/selinux-selinux-h.m4: Likewise.
18126         * m4/setenv.m4: Likewise.
18127         * m4/settime.m4: Likewise.
18128         * m4/sig2str.m4: Likewise.
18129         * m4/sig_atomic_t.m4: Likewise.
18130         * m4/signalblocking.m4: Likewise.
18131         * m4/signbit.m4: Likewise.
18132         * m4/sigpipe.m4: Likewise.
18133         * m4/sockets.m4: Likewise.
18134         * m4/sockpfaf.m4: Likewise.
18135         * m4/st_dm_mode.m4: Likewise.
18136         * m4/stat-time.m4: Likewise.
18137         * m4/stdbool.m4: Likewise.
18138         * m4/stdint.m4: Likewise.
18139         * m4/stdint_h.m4: Likewise.
18140         * m4/stpcpy.m4: Likewise.
18141         * m4/stpncpy.m4: Likewise.
18142         * m4/strcase.m4: Likewise.
18143         * m4/strchrnul.m4: Likewise.
18144         * m4/strcspn.m4: Likewise.
18145         * m4/strdup.m4: Likewise.
18146         * m4/strftime.m4: Likewise.
18147         * m4/strndup.m4: Likewise.
18148         * m4/strnlen.m4: Likewise.
18149         * m4/strpbrk.m4: Likewise.
18150         * m4/strptime.m4: Likewise.
18151         * m4/strsep.m4: Likewise.
18152         * m4/strtod.m4: Likewise.
18153         * m4/strtoimax.m4: Likewise.
18154         * m4/strtok_r.m4: Likewise.
18155         * m4/strtol.m4: Likewise.
18156         * m4/strtoll.m4: Likewise.
18157         * m4/strtoul.m4: Likewise.
18158         * m4/strtoull.m4: Likewise.
18159         * m4/strtoumax.m4: Likewise.
18160         * m4/strverscmp.m4: Likewise.
18161         * m4/threadlib.m4: Likewise.
18162         * m4/timegm.m4: Likewise.
18163         * m4/tm_gmtoff.m4: Likewise.
18164         * m4/tmpdir.m4: Likewise.
18165         * m4/tmpfile.m4: Likewise.
18166         * m4/tzset.m4: Likewise.
18167         * m4/uintmax_t.m4: Likewise.
18168         * m4/unlinkdir.m4: Likewise.
18169         * m4/unlocked-io.m4: Likewise.
18170         * m4/uptime.m4: Likewise.
18171         * m4/userspec.m4: Likewise.
18172         * m4/utimbuf.m4: Likewise.
18173         * m4/utime.m4: Likewise.
18174         * m4/utimes-null.m4: Likewise.
18175         * m4/utimes.m4: Likewise.
18176         * m4/vararrays.m4: Likewise.
18177         * m4/vasnprintf.m4: Likewise.
18178         * m4/vfprintf-posix.m4: Likewise.
18179         * m4/vprintf-posix.m4: Likewise.
18180         * m4/wait-process.m4: Likewise.
18181         * m4/wchar_t.m4: Likewise.
18182         * m4/wint_t.m4: Likewise.
18183         * m4/write-any-file.m4: Likewise.
18184         * m4/yield.m4: Likewise.
18185
18186 2009-01-13  Bruno Haible  <bruno@clisp.org>
18187
18188         Avoid test-copy-file.sh failures when ACL support insufficient.
18189         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
18190         TESTS_ENVIRONMENT.
18191         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
18192         Reported by Jim Meyering.
18193
18194 2009-01-13  Bruno Haible  <bruno@clisp.org>
18195
18196         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
18197         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
18198         * modules/unistdio/u8-printf-parse (Files): Likewise.
18199         * modules/unistdio/u32-printf-parse (Files): Likewise.
18200         * modules/unistdio/ulc-printf-parse (Files): Likewise.
18201
18202 2009-01-13  Simon Josefsson  <simon@josefsson.org>
18203
18204         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
18205         and m4/inttypes_h.m4 too.
18206
18207 2009-01-12  Eric Blake  <ebb9@byu.net>
18208
18209         tests: IRIX 6.2 cc can't compile -0.0 into .data
18210         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
18211         rather than at compile-time.
18212         * tests/test-floorl.c (minus_zero): Likewise.
18213         * tests/test-frexpl.c (minus_zero): Likewise.
18214         * tests/test-isnan.c (minus_zerol): Likewise.
18215         * tests/test-isnanl.h (minus_zero): Likewise.
18216         * tests/test-ldexpl.c (minus_zero): Likewise.
18217         * tests/test-roundl.c (minus_zero): Likewise.
18218         * tests/test-signbit.c (minus_zerol): Likewise.
18219         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
18220         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
18221         * tests/test-truncl.c (minus_zero): Likewise.
18222         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
18223         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
18224         Reported by Tom G. Christensen and Nelson H. F. Beebe.
18225
18226 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18227
18228         regex: fix glibc bug 9697
18229         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
18230         handling.
18231
18232 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18233
18234         regex: fix glibc bug 697
18235         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
18236         being NULL also if there are no backreferences.
18237
18238 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
18239
18240         regex: merge glibc changes
18241         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
18242         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
18243         re_string_skip_chars, re_string_reconstruct): Likewise.
18244         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
18245
18246 2009-01-07  Jim Meyering  <meyering@redhat.com>
18247
18248         poll: filter through cppi
18249         * lib/poll.c: Indent cpp directives to reflect nesting.
18250
18251 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
18252
18253         poll: don't return uninitialized
18254         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
18255
18256 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
18257
18258         avoid compile failure on AIX 6.1
18259         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
18260         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
18261
18262 2009-01-04  Jim Meyering  <meyering@redhat.com>
18263
18264         remove duplicate inclusion of <stdio.h>
18265         * tests/test-fprintf-posix.c: Likewise.
18266         * tests/test-printf-posix.c: Likewise.
18267         * tests/test-snprintf-posix.c: Likewise.
18268         * tests/test-sprintf-posix.c: Likewise.
18269         * tests/test-vasprintf-posix.c: Likewise.
18270         * tests/test-vfprintf-posix.c: Likewise.
18271         * tests/test-vprintf-posix.c: Likewise.
18272         * tests/test-vsnprintf-posix.c: Likewise.
18273         * tests/test-vsprintf-posix.c: Likewise.
18274
18275 2009-01-03  Jim Meyering  <meyering@redhat.com>
18276
18277         gnulib-tool: fix sed-based filtering
18278         * gnulib-tool (func_filter_filelist): Remove extra backslash
18279         in sed_fff_filter definition.
18280
18281 2009-01-02  Jim Meyering  <meyering@redhat.com>
18282
18283         strftime: avoid compilation failure on Solaris 2.6
18284         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
18285         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
18286         Don't #define mbrlen or mbsinit, since now they're guaranteed to
18287         be available.  Reported by Tom G. Christensen.  Details in
18288         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
18289
18290 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18291             Bruno Haible  <bruno@clisp.org>
18292
18293         Speed up gnulib-tool by doing more string processing through shell
18294         built-ins.
18295         * gnulib-tool (fast_func_append): New variable.
18296         (func_remove_prefix, func_remove_suffix): New functions.
18297         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
18298         (func_filter_filelist): New function.
18299         (func_get_dependencies): Use func_remove_suffix instead of sed.
18300         (func_get_automake_snippet): Use func_filter_filelist instead of a
18301         subshell and sed invocation.
18302
18303 2009-01-01  Bruno Haible  <bruno@clisp.org>
18304
18305         Fix a security bug.
18306         * gnulib-tool (func_import, import, update): Don't allow the characters
18307         '"', '$', '`', '\' in macro arguments that become part of commands that
18308         are evaluated.
18309
18310 2009-01-01  Bruno Haible  <bruno@clisp.org>
18311
18312         * gnulib-tool (func_reset_sigpipe): Add more comments.
18313
18314 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18315
18316         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
18317         func_emit_tests_Makefile_am, func_import): Abort loops early if we
18318         already know the answer.
18319
18320 2009-01-01  Jim Meyering  <meyering@redhat.com>
18321
18322         * lib/version-etc.c (version_etc_va): Update copyright year.
18323
18324 2008-12-30  Bruno Haible  <bruno@clisp.org>
18325
18326         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
18327         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
18328         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
18329
18330 2008-12-29  Eric Blake  <ebb9@byu.net>
18331
18332         multiarch: avoid autoconf AC_REQUIRE bug
18333         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
18334         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
18335         2.63 and older.
18336         Reported by Bruno Haible, and analyzed in
18337         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
18338
18339 2008-12-29  Bruno Haible  <bruno@clisp.org>
18340
18341         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
18342         files in subdirectories correctly.
18343         Reported by Ralf Wildenhues.
18344
18345 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18346
18347         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
18348         rather than 'join FILE -', for Solaris join.
18349
18350 2008-12-29  Bruno Haible  <bruno@clisp.org>
18351
18352         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
18353         quoting.
18354         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18355         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
18356         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
18357         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
18358         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18359         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18360         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18361         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18362         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18363         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18364         * m4/nls.m4 (AM_NLS): Likewise.
18365         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
18366         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18367         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18368         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18369         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18370         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18371         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
18372         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18373         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18374         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18375         * m4/xsize.m4 (gl_XSIZE): Likewise.
18376         Suggested by Jim Meyering.
18377
18378 2008-11-17  Bruce Korb  <bkorb@gnu.org>
18379
18380         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
18381         * lib/parse-duration.c: use a switch instead of cascading if's.
18382
18383 2008-12-29  Eric Blake  <ebb9@byu.net>
18384
18385         wchar.h: supply WEOF on Irix 5.3
18386         * lib/wchar.in.h (wint_t): Also supply WEOF.
18387         * lib/wctype.in.h (wint_t): Likewise.
18388         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
18389         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
18390         Reported by Tom G. Christensen.
18391
18392 2008-12-26  Bruno Haible  <bruno@clisp.org>
18393
18394         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
18395         i486, i586, i686.
18396
18397 2008-12-26  Bruno Haible  <bruno@clisp.org>
18398
18399         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
18400
18401 2008-12-26  Bruno Haible  <bruno@clisp.org>
18402
18403         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
18404         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
18405         not __STDC_CONSTANT_MACROS.
18406         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
18407
18408 2008-12-25  Bruno Haible  <bruno@clisp.org>
18409
18410         Add support for universal builds to vasnprintf.
18411         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
18412         universal builds, guess no.
18413         * modules/vasnprintf-posix (Depends-on): Add multiarch.
18414         * modules/vasprintf-posix (Depends-on): Likewise.
18415         * modules/fprintf-posix (Depends-on): Likewise.
18416         * modules/vfprintf-posix (Depends-on): Likewise.
18417         * modules/snprintf-posix (Depends-on): Likewise.
18418         * modules/vsnprintf-posix (Depends-on): Likewise.
18419         * modules/sprintf-posix (Depends-on): Likewise.
18420         * modules/vsprintf-posix (Depends-on): Likewise.
18421         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18422         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18423         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18424         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18425         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18426         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18427         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18428
18429         Add support for universal builds to <inttypes.h>.
18430         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
18431         _SCNu64_PREFIX): In Apple
18432         universal builds, define directly, using _LP64.
18433         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
18434         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
18435         * modules/inttypes (Depends-on): Add multiarch.
18436         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18437
18438         Add support for universal builds to <stdint.h>.
18439         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
18440         universal builds, define directly, using _LP64.
18441         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
18442         Apple universal builds, don't test for the size and suffix of ptrdiff_t
18443         and size_t.
18444         * modules/stdint (Depends-on): Add multiarch.
18445         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
18446
18447         New module 'multiarch'.
18448         * modules/multiarch: New file.
18449         * m4/multiarch.m4: New file.
18450
18451 2008-12-25  Bruno Haible  <bruno@clisp.org>
18452
18453         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
18454
18455 2008-12-25  Bruno Haible  <bruno@clisp.org>
18456
18457         * modules/btowc (License): Relicense under LGPLv2+.
18458         * modules/mbsinit (License): Likewise.
18459         * modules/mbrtowc (License): Likewise.
18460         * modules/wcrtomb (License): Likewise.
18461         * modules/streq (License): Likewise.
18462         Reported by David Lutterkort <lutter@redhat.com>.
18463
18464 2008-12-23  Bruno Haible  <bruno@clisp.org>
18465
18466         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
18467
18468 2008-12-23  Bruno Haible  <bruno@clisp.org>
18469
18470         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
18471         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
18472         GETADDRINFO_LIB, not in LIBS.
18473         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
18474         * modules/canon-host (Link): Likewise.
18475         * NEWS: Mention the change.
18476         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
18477         GETADDRINFO_LIB.
18478
18479 2008-12-22  Bruno Haible  <bruno@clisp.org>
18480
18481         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
18482         * doc/posix-functions/iswalpha_l.texi: Likewise.
18483         * doc/posix-functions/iswblank_l.texi: Likewise.
18484         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18485         * doc/posix-functions/iswctype_l.texi: Likewise.
18486         * doc/posix-functions/iswdigit_l.texi: Likewise.
18487         * doc/posix-functions/iswgraph_l.texi: Likewise.
18488         * doc/posix-functions/iswlower_l.texi: Likewise.
18489         * doc/posix-functions/iswprint_l.texi: Likewise.
18490         * doc/posix-functions/iswpunct_l.texi: Likewise.
18491         * doc/posix-functions/iswspace_l.texi: Likewise.
18492         * doc/posix-functions/iswupper_l.texi: Likewise.
18493         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18494         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
18495         * doc/posix-functions/open_wmemstream.texi: Likewise.
18496         * doc/posix-functions/swscanf.texi: Likewise.
18497         * doc/posix-functions/towctrans_l.texi: Likewise.
18498         * doc/posix-functions/towlower.texi: Likewise.
18499         * doc/posix-functions/towlower_l.texi: Likewise.
18500         * doc/posix-functions/towupper.texi: Likewise.
18501         * doc/posix-functions/towupper_l.texi: Likewise.
18502         * doc/posix-functions/vfwprintf.texi: Likewise.
18503         * doc/posix-functions/vfwscanf.texi: Likewise.
18504         * doc/posix-functions/vswscanf.texi: Likewise.
18505         * doc/posix-functions/vwprintf.texi: Likewise.
18506         * doc/posix-functions/vwscanf.texi: Likewise.
18507         * doc/posix-functions/wcpcpy.texi: Likewise.
18508         * doc/posix-functions/wcpncpy.texi: Likewise.
18509         * doc/posix-functions/wcscasecmp.texi: Likewise.
18510         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
18511         * doc/posix-functions/wcscoll_l.texi: Likewise.
18512         * doc/posix-functions/wcsdup.texi: Likewise.
18513         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18514         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
18515         * doc/posix-functions/wcsnlen.texi: Likewise.
18516         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18517         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18518         * doc/posix-functions/wctrans_l.texi: Likewise.
18519         * doc/posix-functions/wctype_l.texi: Likewise.
18520         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
18521         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
18522         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
18523         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
18524         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
18525         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
18526         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
18527         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
18528         * doc/glibc-functions/wcschrnul.texi: Likewise.
18529         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18530         * doc/glibc-functions/wcstod_l.texi: Likewise.
18531         * doc/glibc-functions/wcstof_l.texi: Likewise.
18532         * doc/glibc-functions/wcstol_l.texi: Likewise.
18533         * doc/glibc-functions/wcstold_l.texi: Likewise.
18534         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18535         * doc/glibc-functions/wcstoq.texi: Likewise.
18536         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18537         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18538         * doc/glibc-functions/wcstouq.texi: Likewise.
18539         * doc/glibc-functions/wmempcpy.texi: Likewise.
18540
18541 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
18542             Eric Blake  <ebb9@byu.net>
18543             Paolo Bonzini  <bonzini@gnu.org>
18544             Bruno Haible  <bruno@clisp.org>
18545
18546         Make c-stack work on Haiku.
18547         * lib/c-stack.c (SA_ONSTACK): Define fallback.
18548         (c_stack_action): Use SA_ONSTACK flag.
18549
18550 2008-12-22  Bruno Haible  <bruno@clisp.org>
18551
18552         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
18553
18554 2008-12-22  Bruno Haible  <bruno@clisp.org>
18555
18556         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
18557         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
18558         being overridden.
18559         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
18560         New macros.
18561         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
18562         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
18563         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
18564         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
18565
18566 2008-12-22  Bruno Haible  <bruno@clisp.org>
18567
18568         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
18569         from test code.
18570
18571 2008-12-22  Eric Blake  <ebb9@byu.net>
18572
18573         Avoid gcc warnings on cygwin.
18574         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
18575         Avoid unused variable.
18576         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
18577         Likewise.
18578
18579 2008-12-22  Bruno Haible  <bruno@clisp.org>
18580
18581         Remove HAVE_MBRTOWC conditionals.
18582         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
18583         (mbscasecmp): Assume mbrtowc function.
18584         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
18585         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
18586         * lib/mbschr.c: Include mbuiter.h unconditionally.
18587         (mbschr): Assume mbrtowc function.
18588         * lib/mbscspn.c: Include mbuiter.h unconditionally.
18589         (mbscspn): Assume mbrtowc function.
18590         * lib/mbslen.c: Include mbuiter.h unconditionally.
18591         (mbslen): Assume mbrtowc function.
18592         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
18593         (mbsncasecmp): Assume mbrtowc function.
18594         * lib/mbsnlen.c: Include mbiter.h unconditionally.
18595         (mbsnlen): Assume mbrtowc function.
18596         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
18597         (mbspbrk): Assume mbrtowc function.
18598         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
18599         (mbspcasecmp): Assume mbrtowc function.
18600         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
18601         (mbsrchr): Assume mbrtowc function.
18602         * lib/mbssep.c: Include mbuiter.h unconditionally.
18603         (mbssep): Assume mbrtowc function.
18604         * lib/mbsspn.c: Include mbuiter.h unconditionally.
18605         (mbsspn): Assume mbrtowc function.
18606         * lib/mbsstr.c: Include mbuiter.h unconditionally.
18607         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
18608         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
18609         (mbstok_r): Assume mbrtowc function.
18610         * lib/propername.c: Include mbuiter.h unconditionally.
18611         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
18612         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
18613         (trim2): Assume mbrtowc function.
18614         * lib/mbswidth.c (mbsinit): Remove fallback definition.
18615         (mbsnwidth): Assume mbrtowc function.
18616         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
18617         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
18618         fallback definitions.
18619         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
18620
18621 2008-12-22  Bruno Haible  <bruno@clisp.org>
18622
18623         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
18624
18625 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
18626
18627         * modules/regex: Request emulations for the mb*/wc* functions we need.
18628         * m4/regex.m4: Don't look for those functions here.
18629         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
18630
18631 2008-12-22  Bruno Haible  <bruno@clisp.org>
18632
18633         * modules/fnmatch (Depends-on): Remove duplicated dependency.
18634
18635 2008-12-21  Bruno Haible  <bruno@clisp.org>
18636
18637         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
18638         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
18639         (Include): Remove conditionalization.
18640         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
18641         (Include): Remove conditionalization.
18642         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
18643         (Include): Remove conditionalization.
18644         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
18645         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18646         * NEWS: Mention the change.
18647         Reported by Alan Hourihane <alanh@fairlite.co.uk>
18648         via Sergey Poznyakoff <gray@gnu.org.ua>.
18649
18650 2008-12-21  Bruno Haible  <bruno@clisp.org>
18651
18652         * MODULES.html.sh (Extended multibyte and wide character utilities
18653         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
18654         wcrtomb, wcsrtombs.
18655         (Support for systems lacking POSIX:2008): Add accept, bind, close,
18656         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
18657         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
18658         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
18659
18660 2008-12-21  Bruno Haible  <bruno@clisp.org>
18661
18662         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
18663
18664 2008-12-21  Bruno Haible  <bruno@clisp.org>
18665
18666         * modules/wcsnrtombs-tests: New file.
18667         * tests/test-wcsnrtombs1.sh: New file.
18668         * tests/test-wcsnrtombs2.sh: New file.
18669         * tests/test-wcsnrtombs3.sh: New file.
18670         * tests/test-wcsnrtombs4.sh: New file.
18671         * tests/test-wcsnrtombs.c: New file.
18672
18673         New module 'wcsnrtombs'.
18674         * lib/wchar.in.h (wcsnrtombs): New declaration.
18675         * lib/wcsnrtombs.c: New file.
18676         * lib/wcsrtombs-state.c: New file.
18677         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
18678         (internal_state): Remove variable.
18679         * m4/wcsnrtombs.m4: New file.
18680         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
18681         compilation units.
18682         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
18683         HAVE_WCSNRTOMBS.
18684         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
18685         HAVE_WCSNRTOMBS.
18686         * modules/wcsnrtombs: New file.
18687         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
18688         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
18689
18690 2008-12-21  Bruno Haible  <bruno@clisp.org>
18691
18692         * modules/wcsrtombs-tests: New file.
18693         * tests/test-wcsrtombs1.sh: New file.
18694         * tests/test-wcsrtombs2.sh: New file.
18695         * tests/test-wcsrtombs3.sh: New file.
18696         * tests/test-wcsrtombs4.sh: New file.
18697         * tests/test-wcsrtombs.c: New file.
18698
18699         New module 'wcsrtombs'.
18700         * lib/wchar.in.h (wcsrtombs): New declaration.
18701         * lib/wcsrtombs.c: New file.
18702         * m4/wcsrtombs.m4: New file.
18703         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
18704         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
18705         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
18706         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
18707         * modules/wcsrtombs: New file.
18708         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
18709         bugs.
18710
18711 2008-12-21  Bruno Haible  <bruno@clisp.org>
18712
18713         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
18714         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
18715         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
18716         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
18717         if not correct.
18718         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
18719         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
18720         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
18721         m4/locale-zh.m4, m4/codeset.m4.
18722         * doc/posix-functions/wcrtomb.texi: Document the bug.
18723
18724 2008-12-21  Bruno Haible  <bruno@clisp.org>
18725
18726         Work around a btowc() bug on IRIX 6.5.
18727         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
18728         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
18729         REPLACE_WTOBC if not.
18730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
18731         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
18732         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
18733
18734 2008-12-21  Bruno Haible  <bruno@clisp.org>
18735
18736         * modules/wcrtomb-tests: New file.
18737         * tests/test-wcrtomb.sh: New file.
18738         * tests/test-wcrtomb.c: New file.
18739
18740         New module 'wcrtomb'.
18741         * lib/wchar.in.h (wcrtomb): New declaration.
18742         * lib/wcrtomb.c: New file.
18743         * m4/wcrtomb.m4: New file.
18744         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
18745         HAVE_WCRTOMB.
18746         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
18747         HAVE_WCRTOMB.
18748         * modules/wcrtomb: New file.
18749         * doc/posix-functions/wcrtomb.texi: Mention the new module.
18750
18751 2008-12-21  Bruno Haible  <bruno@clisp.org>
18752
18753         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
18754         * modules/mbsrtowcs (Files): Likewise.
18755         * modules/wctob (Files): Likewise.
18756         * modules/c-strcase-tests (Files): Likewise.
18757         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18758         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18759         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18760         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
18761         * modules/vasnprintf-posix-tests (Files): Likewise.
18762
18763 2008-12-21  William Pursell  <bill.pursell@gmail.com>
18764
18765         gitlog-to-changelog: pass all command-line arguments to git-log
18766         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
18767         it is sometimes convenient to filter the commits in various ways.
18768         gitlog-to-changelog only allows --since to specify a start date,
18769         but git-log itself supports many other filtering mechanisms.
18770         At the moment, I want to filter by branch name.  Rather than
18771         adding a --branch option to gitlog-to-changelog, it seems more
18772         flexible to simply pass all options directly to git-log and let
18773         git do the work.  Notice that this effectively makes --since a
18774         redundant option for gitlog-to-changelog, but removing it would
18775         require current usage to change since calls would then require
18776         an additional '--'.
18777
18778 2008-12-21  Bruno Haible  <bruno@clisp.org>
18779
18780         * modules/mbsnrtowcs-tests: New file.
18781         * tests/test-mbsnrtowcs1.sh: New file.
18782         * tests/test-mbsnrtowcs2.sh: New file.
18783         * tests/test-mbsnrtowcs3.sh: New file.
18784         * tests/test-mbsnrtowcs4.sh: New file.
18785         * tests/test-mbsnrtowcs.c: New file.
18786
18787         New module 'mbsnrtowcs'.
18788         * lib/wchar.in.h (mbsnrtowcs): New declaration.
18789         * lib/mbsnrtowcs.c: New file.
18790         * lib/mbsrtowcs-state.c: New file.
18791         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
18792         (internal_state): Remove variable.
18793         * m4/mbsnrtowcs.m4: New file.
18794         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
18795         compilation units.
18796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
18797         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
18798         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
18799         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
18800         * modules/mbsnrtowcs: New file.
18801         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
18802         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
18803         portability problem.
18804
18805 2008-12-21  Bruno Haible  <bruno@clisp.org>
18806
18807         Work around mbsrtowcs bug.
18808         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
18809         (gl_FUNC_MBSRTOWCS): Invoke it.
18810         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
18811         m4/locale-zh.m4.
18812         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
18813
18814 2008-12-21  Bruno Haible  <bruno@clisp.org>
18815
18816         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
18817
18818 2008-12-21  Bruno Haible  <bruno@clisp.org>
18819
18820         Update doc for AIX.
18821         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
18822         16-bit wchar_t type.
18823         * doc/posix-functions/btowc.texi: Likewise.
18824         * doc/posix-functions/fgetwc.texi: Likewise.
18825         * doc/posix-functions/fgetws.texi: Likewise.
18826         * doc/posix-functions/fputwc.texi: Likewise.
18827         * doc/posix-functions/fputws.texi: Likewise.
18828         * doc/posix-functions/fwide.texi: Likewise.
18829         * doc/posix-functions/fwprintf.texi: Likewise.
18830         * doc/posix-functions/fwscanf.texi: Likewise.
18831         * doc/posix-functions/getwchar.texi: Likewise.
18832         * doc/posix-functions/getwc.texi: Likewise.
18833         * doc/posix-functions/iswalnum.texi: Likewise.
18834         * doc/posix-functions/iswalpha.texi: Likewise.
18835         * doc/posix-functions/iswblank.texi: Likewise.
18836         * doc/posix-functions/iswcntrl.texi: Likewise.
18837         * doc/posix-functions/iswctype.texi: Likewise.
18838         * doc/posix-functions/iswdigit.texi: Likewise.
18839         * doc/posix-functions/iswgraph.texi: Likewise.
18840         * doc/posix-functions/iswlower.texi: Likewise.
18841         * doc/posix-functions/iswprint.texi: Likewise.
18842         * doc/posix-functions/iswpunct.texi: Likewise.
18843         * doc/posix-functions/iswspace.texi: Likewise.
18844         * doc/posix-functions/iswupper.texi: Likewise.
18845         * doc/posix-functions/iswxdigit.texi: Likewise.
18846         * doc/posix-functions/mbrtowc.texi: Likewise.
18847         * doc/posix-functions/mbsrtowcs.texi: Likewise.
18848         * doc/posix-functions/mbstowcs.texi: Likewise.
18849         * doc/posix-functions/mbtowc.texi: Likewise.
18850         * doc/posix-functions/putwchar.texi: Likewise.
18851         * doc/posix-functions/putwc.texi: Likewise.
18852         * doc/posix-functions/swprintf.texi: Likewise.
18853         * doc/posix-functions/tolower.texi: Likewise.
18854         * doc/posix-functions/toupper.texi: Likewise.
18855         * doc/posix-functions/towctrans.texi: Likewise.
18856         * doc/posix-functions/ungetwc.texi: Likewise.
18857         * doc/posix-functions/vswprintf.texi: Likewise.
18858         * doc/posix-functions/wcrtomb.texi: Likewise.
18859         * doc/posix-functions/wcscat.texi: Likewise.
18860         * doc/posix-functions/wcschr.texi: Likewise.
18861         * doc/posix-functions/wcscmp.texi: Likewise.
18862         * doc/posix-functions/wcscoll.texi: Likewise.
18863         * doc/posix-functions/wcscpy.texi: Likewise.
18864         * doc/posix-functions/wcscspn.texi: Likewise.
18865         * doc/posix-functions/wcsftime.texi: Likewise.
18866         * doc/posix-functions/wcslen.texi: Likewise.
18867         * doc/posix-functions/wcsncat.texi: Likewise.
18868         * doc/posix-functions/wcsncmp.texi: Likewise.
18869         * doc/posix-functions/wcsncpy.texi: Likewise.
18870         * doc/posix-functions/wcspbrk.texi: Likewise.
18871         * doc/posix-functions/wcsrchr.texi: Likewise.
18872         * doc/posix-functions/wcsrtombs.texi: Likewise.
18873         * doc/posix-functions/wcsspn.texi: Likewise.
18874         * doc/posix-functions/wcsstr.texi: Likewise.
18875         * doc/posix-functions/wcstod.texi: Likewise.
18876         * doc/posix-functions/wcstof.texi: Likewise.
18877         * doc/posix-functions/wcstoimax.texi: Likewise.
18878         * doc/posix-functions/wcstok.texi: Likewise.
18879         * doc/posix-functions/wcstold.texi: Likewise.
18880         * doc/posix-functions/wcstoll.texi: Likewise.
18881         * doc/posix-functions/wcstol.texi: Likewise.
18882         * doc/posix-functions/wcstombs.texi: Likewise.
18883         * doc/posix-functions/wcstoull.texi: Likewise.
18884         * doc/posix-functions/wcstoul.texi: Likewise.
18885         * doc/posix-functions/wcstoumax.texi: Likewise.
18886         * doc/posix-functions/wcswidth.texi: Likewise.
18887         * doc/posix-functions/wcsxfrm.texi: Likewise.
18888         * doc/posix-functions/wctob.texi: Likewise.
18889         * doc/posix-functions/wctomb.texi: Likewise.
18890         * doc/posix-functions/wctrans.texi: Likewise.
18891         * doc/posix-functions/wctype.texi: Likewise.
18892         * doc/posix-functions/wcwidth.texi: Likewise.
18893         * doc/posix-functions/wmemchr.texi: Likewise.
18894         * doc/posix-functions/wmemcmp.texi: Likewise.
18895         * doc/posix-functions/wmemcpy.texi: Likewise.
18896         * doc/posix-functions/wmemmove.texi: Likewise.
18897         * doc/posix-functions/wmemset.texi: Likewise.
18898         * doc/posix-functions/wprintf.texi: Likewise.
18899         * doc/posix-functions/wscanf.texi: Likewise.
18900
18901 2008-12-21  Bruno Haible  <bruno@clisp.org>
18902
18903         Update doc for HP-UX 11.11.
18904         * doc/posix-functions/btowc.texi: Clarify that the function is missing
18905         in HP-UX version 11.00, not in all versions of HP-UX 11.
18906         * doc/posix-functions/fwide.texi: Likewise.
18907         * doc/posix-functions/fwprintf.texi: Likewise.
18908         * doc/posix-functions/fwscanf.texi: Likewise.
18909         * doc/posix-functions/inet_ntop.texi: Likewise.
18910         * doc/posix-functions/inet_pton.texi: Likewise.
18911         * doc/posix-functions/mbrlen.texi: Likewise.
18912         * doc/posix-functions/mbrtowc.texi: Likewise.
18913         * doc/posix-functions/mbsinit.texi: Likewise.
18914         * doc/posix-functions/mbsrtowcs.texi: Likewise.
18915         * doc/posix-functions/swprintf.texi: Likewise.
18916         * doc/posix-functions/swscanf.texi: Likewise.
18917         * doc/posix-functions/towctrans.texi: Likewise.
18918         * doc/posix-functions/vfwprintf.texi: Likewise.
18919         * doc/posix-functions/vswprintf.texi: Likewise.
18920         * doc/posix-functions/vwprintf.texi: Likewise.
18921         * doc/posix-functions/wcrtomb.texi: Likewise.
18922         * doc/posix-functions/wcsrtombs.texi: Likewise.
18923         * doc/posix-functions/wcsstr.texi: Likewise.
18924         * doc/posix-functions/wctob.texi: Likewise.
18925         * doc/posix-functions/wctrans.texi: Likewise.
18926         * doc/posix-functions/wmemchr.texi: Likewise.
18927         * doc/posix-functions/wmemcmp.texi: Likewise.
18928         * doc/posix-functions/wmemcpy.texi: Likewise.
18929         * doc/posix-functions/wmemmove.texi: Likewise.
18930         * doc/posix-functions/wmemset.texi: Likewise.
18931         * doc/posix-functions/wprintf.texi: Likewise.
18932         * doc/posix-functions/wscanf.texi: Likewise.
18933
18934 2008-12-21  Bruno Haible  <bruno@clisp.org>
18935
18936         Work around a portability problem.
18937         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
18938         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
18939
18940 2008-12-20  Bruno Haible  <bruno@clisp.org>
18941
18942         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
18943         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
18944         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
18945         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
18946         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
18947
18948         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
18949         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
18950         set.
18951         (GNULIB_defined_mbstate_t): New macro.
18952         (mbsinit): Redefine if REPLACE_MBSINIT is set.
18953         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
18954         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
18955         reuses the system's mbrtowc function but works around the bugs.
18956         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
18957         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
18958         macros.
18959         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
18960         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
18961         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
18962         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
18963         REPLACE_MBSINIT if mbsinit needs to be overridden.
18964         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
18965         REPLACE_MBSINIT, REPLACE_MBRTOWC.
18966         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
18967         REPLACE_MBSINIT, REPLACE_MBRTOWC.
18968         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
18969         m4/locale-zh.m4.
18970         (Depends): Add mbsinit.
18971         * modules/mbsinit (Depends): Add mbrtowc.
18972         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
18973
18974 2008-12-20  Bruno Haible  <bruno@clisp.org>
18975
18976         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
18977         so that there are no conversion errors on AIX.
18978         * tests/test-mbsrtowcs.c (main): LIkewise.
18979
18980 2008-12-20  Bruno Haible  <bruno@clisp.org>
18981
18982         Work around wctob bug on Solaris <= 9.
18983         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
18984         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
18985         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
18986         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
18987         * modules/wctob (Files): Add m4/locale-fr.m4.
18988         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
18989
18990 2008-12-20  Bruno Haible  <bruno@clisp.org>
18991
18992         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
18993         /dev/null.
18994         * tests/test-select-in.sh: Likewise.
18995         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18996
18997 2008-12-20  Bruno Haible  <bruno@clisp.org>
18998
18999         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
19000         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
19001         Cygwin 1.5.x.
19002
19003 2008-12-20  Bruno Haible  <bruno@clisp.org>
19004
19005         Ensure mbstate_t is defined on HP-UX 11.11.
19006         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
19007         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
19008         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
19009         AC_USE_SYSTEM_EXTENSIONS.
19010         * modules/fnmatch (Depends-on): Add extensions.
19011         * modules/mbrlen (Depends-on): Likewise.
19012         * modules/mbrtowc (Depends-on): Likewise.
19013         * modules/mbsinit (Depends-on): Likewise.
19014         * modules/mbsrtowcs (Depends-on): Likewise.
19015         * modules/mbswidth (Depends-on): Likewise.
19016         * modules/quotearg (Depends-on): Likewise.
19017         * modules/strftime (Depends-on): Likewise.
19018
19019 2008-12-20  Bruno Haible  <bruno@clisp.org>
19020
19021         Ensure wctob is declared on IRIX 6.5.
19022         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
19023         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
19024         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
19025         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
19026         of HAVE_WCTOB.
19027         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
19028         HAVE_WCTOB.
19029         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
19030
19031 2008-12-19  Bruno Haible  <bruno@clisp.org>
19032
19033         * modules/mbsrtowcs-tests: New file.
19034         * tests/test-mbsrtowcs1.sh: New file.
19035         * tests/test-mbsrtowcs2.sh: New file.
19036         * tests/test-mbsrtowcs3.sh: New file.
19037         * tests/test-mbsrtowcs4.sh: New file.
19038         * tests/test-mbsrtowcs.c: New file.
19039
19040         New module 'mbsrtowcs'.
19041         * lib/wchar.in.h (mbsrtowcs): New declaration.
19042         * lib/mbsrtowcs.c: New file.
19043         * m4/mbsrtowcs.m4: New file.
19044         * modules/mbsrtowcs: New file.
19045         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
19046         HAVE_MBSRTOWCS.
19047         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
19048         HAVE_MBSRTOWCS.
19049         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
19050
19051 2008-12-19  Bruno Haible  <bruno@clisp.org>
19052
19053         New module 'mbrlen'.
19054         * lib/wchar.in.h (mbrlen): New declaration.
19055         * lib/mbrlen.c: New file.
19056         * m4/mbrlen.m4: New file.
19057         * modules/mbrlen: New file.
19058         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
19059         HAVE_MBRLEN.
19060         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
19061         HAVE_MBRLEN.
19062         * doc/posix-functions/mbrlen.texi: Document the new module.
19063
19064 2008-12-19  Bruno Haible  <bruno@clisp.org>
19065
19066         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
19067         * modules/mbrtowc (Depends-on): Add verify.
19068         Suggested by Paul Eggert.
19069
19070 2008-12-18  Bruno Haible  <bruno@clisp.org>
19071
19072         * modules/mbsinit-tests: New file.
19073         * tests/test-mbsinit.sh: New file.
19074         * tests/test-mbsinit.c: New file.
19075
19076 2008-12-18  Bruno Haible  <bruno@clisp.org>
19077
19078         * modules/mbrtowc-tests: New file.
19079         * tests/test-mbrtowc1.sh: New file.
19080         * tests/test-mbrtowc2.sh: New file.
19081         * tests/test-mbrtowc3.sh: New file.
19082         * tests/test-mbrtowc4.sh: New file.
19083         * tests/test-mbrtowc.c: New file.
19084
19085         New module 'mbrtowc'.
19086         * lib/wchar.in.h (mbstate_t): Override when the system does not have
19087         mbsinit and mbrtowc.
19088         (mbrtowc): New declaration.
19089         * lib/mbrtowc.c: New file.
19090         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
19091         * modules/mbrtowc: New file.
19092         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
19093         HAVE_MBRTOWC.
19094         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
19095         HAVE_MBRTOWC.
19096         * doc/posix-functions/mbrtowc.texi: Document the new module.
19097
19098 2008-12-18  Bruno Haible  <bruno@clisp.org>
19099
19100         New module 'wctob'.
19101         * lib/wchar.in.h (wctob): New declaration.
19102         * lib/wctob.c: New file.
19103         * m4/wctob.m4: New file.
19104         * modules/wctob: New file.
19105         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
19106         HAVE_WCTOB.
19107         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
19108         * doc/posix-functions/wctob.texi: Document the new module.
19109
19110 2008-12-18  Bruno Haible  <bruno@clisp.org>
19111
19112         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
19113         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
19114
19115 2008-12-18  Simon Josefsson  <simon@josefsson.org>
19116
19117         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
19118         G. Christensen" <tgc@jupiterrise.com>.
19119
19120         * lib/flock.c: Need to include errno.h.  Reported by "Tom
19121         G. Christensen" <tgc@jupiterrise.com>.
19122
19123         * lib/flock.c: Need to include string.h.  Reported by "Tom
19124         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
19125         <ebb9@byu.net>.
19126
19127 2008-12-18  Bruno Haible  <bruno@clisp.org>
19128
19129         * m4/locale-ja.m4: New file, from GNU gettext.
19130
19131 2008-12-17  Bruno Haible  <bruno@clisp.org>
19132
19133         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
19134         Suggested by Eric Blake.
19135
19136 2008-12-17  Bruno Haible  <bruno@clisp.org>
19137
19138         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
19139
19140 2008-12-17  Bruno Haible  <bruno@clisp.org>
19141
19142         * lib/mbsinit.c: Include verify.h. Verify an assumption.
19143         * modules/mbsinit (Depends-on): Add verify.
19144         Suggested by Paul Eggert.
19145
19146 2008-12-17  Bruno Haible  <bruno@clisp.org>
19147
19148         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
19149         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
19150         gl_FUNC_MBRTOWC.
19151         * m4/mbiter.m4 (gl_MBITER): LIkewise.
19152         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
19153         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
19154         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
19155         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
19156         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
19157         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
19158         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
19159         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
19160         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
19161         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
19162         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
19163         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
19164         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
19165         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
19166         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
19167         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
19168         * modules/trim (configure.ac): Likewise.
19169
19170 2008-12-17  Bruno Haible  <bruno@clisp.org>
19171
19172         * modules/btowc-tests: New file.
19173         * tests/test-btowc1.sh: New file.
19174         * tests/test-btowc2.sh: New file.
19175         * tests/test-btowc.c: New file.
19176
19177         New module 'btowc'.
19178         * lib/wchar.in.h (btowc): New declaration.
19179         * lib/btowc.c: New file.
19180         * m4/btowc.m4: New file.
19181         * modules/btowc: New file.
19182         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
19183         HAVE_BTOWC.
19184         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
19185         * doc/posix-functions/btowc.texi: Document the new module.
19186
19187 2008-12-17  Bruno Haible  <bruno@clisp.org>
19188
19189         New module 'mbsinit'.
19190         * lib/wchar.in.h (mbsinit): New declaration.
19191         * lib/mbsinit.c: New file.
19192         * m4/mbsinit.m4: New file.
19193         * modules/mbsinit: New file.
19194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
19195         HAVE_MBSINIT.
19196         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
19197         HAVE_MBSINIT.
19198         * doc/posix-functions/mbsinit.texi: Document the new module.
19199
19200 2008-12-16  Bruno Haible  <bruno@clisp.org>
19201
19202         * lib/unistd.in.h: Add comment.
19203         * tests/test-environ.c: Don't include <stdlib.h>.
19204
19205 2008-12-16  Bruno Haible  <bruno@clisp.org>
19206
19207         * lib/parse-duration.h (parse_duration): Document return value
19208         convention.
19209         * lib/parse-duration.c: Include specification header first. Add
19210         comments.
19211         (_): Remove macro.
19212         (parse_year_month_day, parse_hour_minute_second): Move side effects
19213         outside of strchr call.
19214         (parse_non_iso8601): Move side effects outside of isspace call.
19215         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
19216         call.
19217
19218 2008-12-16  Bruno Haible  <bruno@clisp.org>
19219
19220         * tests/test-parse-duration.sh: Produce no output when the test
19221         succeeds.
19222
19223 2008-12-16  Bruno Haible  <bruno@clisp.org>
19224
19225         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
19226         expressions.
19227
19228 2008-12-15  Bruno Haible  <bruno@clisp.org>
19229
19230         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
19231         * doc/glibc-functions/flistxattr.texi: Likewise.
19232         * doc/glibc-functions/fopencookie.texi: Likewise.
19233         * doc/glibc-functions/fremovexattr.texi: Likewise.
19234         * doc/glibc-functions/fsetxattr.texi: Likewise.
19235         * doc/glibc-functions/getxattr.texi: Likewise.
19236         * doc/glibc-functions/lgetxattr.texi: Likewise.
19237         * doc/glibc-functions/listxattr.texi: Likewise.
19238         * doc/glibc-functions/llistxattr.texi: Likewise.
19239         * doc/glibc-functions/lremovexattr.texi: Likewise.
19240         * doc/glibc-functions/lsetxattr.texi: Likewise.
19241         * doc/glibc-functions/removexattr.texi: Likewise.
19242         * doc/glibc-functions/setxattr.texi: Likewise.
19243         * doc/posix-functions/open_memstream.texi: Likewise.
19244
19245 2008-12-15  Eric Blake  <ebb9@byu.net>
19246
19247         Update doc for cygwin 1.7.
19248         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
19249         functions.
19250         * doc/posix-functions/fchmodat.texi: Likewise.
19251         * doc/posix-functions/fchownat.texi: Likewise.
19252         * doc/posix-functions/fdopendir.texi: Likewise.
19253         * doc/posix-functions/fmemopen.texi: Likewise.
19254         * doc/posix-functions/freeaddrinfo.texi: Likewise.
19255         * doc/posix-functions/fstatat.texi: Likewise.
19256         * doc/posix-functions/futimens.texi: Likewise.
19257         * doc/posix-functions/gai_strerror.texi: Likewise.
19258         * doc/posix-functions/getaddrinfo.texi: Likewise.
19259         * doc/posix-functions/getnameinfo.texi: Likewise.
19260         * doc/posix-functions/if_freenameindex.texi: Likewise.
19261         * doc/posix-functions/if_indextoname.texi: Likewise.
19262         * doc/posix-functions/if_nameindex.texi: Likewise.
19263         * doc/posix-functions/if_nametoindex.texi: Likewise.
19264         * doc/posix-functions/insque.texi: Likewise.
19265         * doc/posix-functions/linkat.texi: Likewise.
19266         * doc/posix-functions/llrint.texi: Likewise.
19267         * doc/posix-functions/llrintf.texi: Likewise.
19268         * doc/posix-functions/llrintl.texi: Likewise.
19269         * doc/posix-functions/lockf.texi: Likewise.
19270         * doc/posix-functions/lrintl.texi: Likewise.
19271         * doc/posix-functions/mkdirat.texi: Likewise.
19272         * doc/posix-functions/mkfifoat.texi: Likewise.
19273         * doc/posix-functions/mknodat.texi: Likewise.
19274         * doc/posix-functions/mq_close.texi: Likewise.
19275         * doc/posix-functions/mq_getattr.texi: Likewise.
19276         * doc/posix-functions/mq_notify.texi: Likewise.
19277         * doc/posix-functions/mq_open.texi: Likewise.
19278         * doc/posix-functions/mq_receive.texi: Likewise.
19279         * doc/posix-functions/mq_send.texi: Likewise.
19280         * doc/posix-functions/mq_setattr.texi: Likewise.
19281         * doc/posix-functions/mq_timedreceive.texi: Likewise.
19282         * doc/posix-functions/mq_timedsend.texi: Likewise.
19283         * doc/posix-functions/mq_unlink.texi: Likewise.
19284         * doc/posix-functions/open_memstream.texi: Likewise.
19285         * doc/posix-functions/openat.texi: Likewise.
19286         * doc/posix-functions/posix_fadvise.texi: Likewise.
19287         * doc/posix-functions/posix_fallocate.texi: Likewise.
19288         * doc/posix-functions/posix_madvise.texi: Likewise.
19289         * doc/posix-functions/posix_memalign.texi: Likewise.
19290         * doc/posix-functions/posix_openpt.texi: Likewise.
19291         * doc/posix-functions/readlinkat.texi: Likewise.
19292         * doc/posix-functions/remque.texi: Likewise.
19293         * doc/posix-functions/renameat.texi: Likewise.
19294         * doc/posix-functions/rintl.texi: Likewise.
19295         * doc/posix-functions/sem_unlink.texi: Likewise.
19296         * doc/posix-functions/shm_open.texi: Likewise.
19297         * doc/posix-functions/shm_unlink.texi: Likewise.
19298         * doc/posix-functions/signgam.texi: Likewise.
19299         * doc/posix-functions/sigset.texi: Likewise.
19300         * doc/posix-functions/stpcpy.texi: Likewise.
19301         * doc/posix-functions/stpncpy.texi: Likewise.
19302         * doc/posix-functions/strerror.texi: Likewise.
19303         * doc/posix-functions/strtod.texi: Likewise.
19304         * doc/posix-functions/symlinkat.texi: Likewise.
19305         * doc/posix-functions/unlinkat.texi: Likewise.
19306         * doc/posix-functions/utimensat.texi: Likewise.
19307         * doc/glibc-functions/bindresvport.texi: Likewise.
19308         * doc/glibc-functions/dn_expand.texi: Likewise.
19309         * doc/glibc-functions/exp10.texi: Likewise.
19310         * doc/glibc-functions/exp10f.texi: Likewise.
19311         * doc/glibc-functions/fgetxattr.texi: Likewise.
19312         * doc/glibc-functions/flistxattr.texi: Likewise.
19313         * doc/glibc-functions/fopencookie.texi: Likewise.
19314         * doc/glibc-functions/freeifaddrs.texi: Likewise.
19315         * doc/glibc-functions/fremovexattr.texi: Likewise.
19316         * doc/glibc-functions/fsetxattr.texi: Likewise.
19317         * doc/glibc-functions/getifaddrs.texi: Likewise.
19318         * doc/glibc-functions/getxattr.texi: Likewise.
19319         * doc/glibc-functions/lgetxattr.texi: Likewise.
19320         * doc/glibc-functions/listxattr.texi: Likewise.
19321         * doc/glibc-functions/llistxattr.texi: Likewise.
19322         * doc/glibc-functions/lremovexattr.texi: Likewise.
19323         * doc/glibc-functions/lsetxattr.texi: Likewise.
19324         * doc/glibc-functions/pow10.texi: Likewise.
19325         * doc/glibc-functions/pow10f.texi: Likewise.
19326         * doc/glibc-functions/rcmd_af.texi: Likewise.
19327         * doc/glibc-functions/removexattr.texi: Likewise.
19328         * doc/glibc-functions/res_init.texi: Likewise.
19329         * doc/glibc-functions/res_mkquery.texi: Likewise.
19330         * doc/glibc-functions/res_query.texi: Likewise.
19331         * doc/glibc-functions/res_querydomain.texi: Likewise.
19332         * doc/glibc-functions/res_send.texi: Likewise.
19333         * doc/glibc-functions/rresvport_af.texi: Likewise.
19334         * doc/glibc-functions/setxattr.texi: Likewise.
19335         * doc/glibc-functions/strcasestr.texi: Likewise.
19336
19337 2008-12-15  Bruno Haible  <bruno@clisp.org>
19338
19339         Fix compilation error on OSF/1 4.0.
19340         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
19341         <sys/time.h>, simply delegate to the system header.
19342         Reported by Daniel Richard G. <oss@teragram.com>.
19343
19344 2008-12-15  Bruno Haible  <bruno@clisp.org>
19345
19346         * doc/posix-functions/openat.texi: Mention the 'openat' module.
19347         * doc/posix-functions/fchmodat.texi: Likewise.
19348         * doc/posix-functions/fchownat.texi: Likewise.
19349         * doc/posix-functions/fdopendir.texi: Likewise.
19350         * doc/posix-functions/fstatat.texi: Likewise.
19351         * doc/posix-functions/mkdirat.texi: Likewise.
19352         * doc/posix-functions/unlinkat.texi: Likewise.
19353
19354 2008-12-14  Bruno Haible  <bruno@clisp.org>
19355
19356         Update doc for POSIX:2008.
19357         * doc/posix-functions/faccessat.texi: New file.
19358         * doc/posix-functions/fchmodat.texi: New file.
19359         * doc/posix-functions/fchownat.texi: New file.
19360         * doc/posix-functions/fdopendir.texi: New file.
19361         * doc/posix-functions/fstatat.texi: New file.
19362         * doc/posix-functions/futimens.texi: New file.
19363         * doc/posix-functions/linkat.texi: New file.
19364         * doc/posix-functions/mkdirat.texi: New file.
19365         * doc/posix-functions/mkfifoat.texi: New file.
19366         * doc/posix-functions/mknodat.texi: New file.
19367         * doc/posix-functions/open_wmemstream.texi: New file.
19368         * doc/posix-functions/openat.texi: New file.
19369         * doc/posix-functions/psiginfo.texi: New file.
19370         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
19371         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
19372         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
19373         * doc/posix-functions/readlinkat.texi: New file.
19374         * doc/posix-functions/renameat.texi: New file.
19375         * doc/posix-functions/strerror_l.texi: New file.
19376         * doc/posix-functions/symlinkat.texi: New file.
19377         * doc/posix-functions/unlinkat.texi: New file.
19378         * doc/posix-functions/utimensat.texi: New file.
19379         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19380
19381 2008-12-14  Bruno Haible  <bruno@clisp.org>
19382
19383         Update doc for POSIX:2008.
19384         * doc/posix-functions/alphasort.texi: Renamed from
19385         doc/glibc-functions/alphasort.texi.
19386         * doc/posix-functions/dirfd.texi: Renamed from
19387         doc/glibc-functions/dirfd.texi.
19388         * doc/posix-functions/dprintf.texi: Renamed from
19389         doc/glibc-functions/dprintf.texi.
19390         * doc/posix-functions/duplocale.texi: Renamed from
19391         doc/glibc-functions/duplocale.texi.
19392         * doc/posix-functions/fexecve.texi: Renamed from
19393         doc/glibc-functions/fexecve.texi.
19394         * doc/posix-functions/fmemopen.texi: Renamed from
19395         doc/glibc-functions/fmemopen.texi.
19396         * doc/posix-functions/freelocale.texi: Renamed from
19397         doc/glibc-functions/freelocale.texi.
19398         * doc/posix-functions/getdate_err.texi: Renamed from
19399         doc/glibc-functions/getdate_err.texi.
19400         * doc/posix-functions/isalnum_l.texi: Renamed from
19401         doc/glibc-functions/isalnum_l.texi.
19402         * doc/posix-functions/isalpha_l.texi: Renamed from
19403         doc/glibc-functions/isalpha_l.texi.
19404         * doc/posix-functions/isblank_l.texi: Renamed from
19405         doc/glibc-functions/isblank_l.texi.
19406         * doc/posix-functions/iscntrl_l.texi: Renamed from
19407         doc/glibc-functions/iscntrl_l.texi.
19408         * doc/posix-functions/isdigit_l.texi: Renamed from
19409         doc/glibc-functions/isdigit_l.texi.
19410         * doc/posix-functions/isgraph_l.texi: Renamed from
19411         doc/glibc-functions/isgraph_l.texi.
19412         * doc/posix-functions/islower_l.texi: Renamed from
19413         doc/glibc-functions/islower_l.texi.
19414         * doc/posix-functions/isprint_l.texi: Renamed from
19415         doc/glibc-functions/isprint_l.texi.
19416         * doc/posix-functions/ispunct_l.texi: Renamed from
19417         doc/glibc-functions/ispunct_l.texi.
19418         * doc/posix-functions/isspace_l.texi: Renamed from
19419         doc/glibc-functions/isspace_l.texi.
19420         * doc/posix-functions/isupper_l.texi: Renamed from
19421         doc/glibc-functions/isupper_l.texi.
19422         * doc/posix-functions/iswalnum_l.texi: Renamed from
19423         doc/glibc-functions/iswalnum_l.texi.
19424         * doc/posix-functions/iswalpha_l.texi: Renamed from
19425         doc/glibc-functions/iswalpha_l.texi.
19426         * doc/posix-functions/iswblank_l.texi: Renamed from
19427         doc/glibc-functions/iswblank_l.texi.
19428         * doc/posix-functions/iswcntrl_l.texi: Renamed from
19429         doc/glibc-functions/iswcntrl_l.texi.
19430         * doc/posix-functions/iswctype_l.texi: Renamed from
19431         doc/glibc-functions/iswctype_l.texi.
19432         * doc/posix-functions/iswdigit_l.texi: Renamed from
19433         doc/glibc-functions/iswdigit_l.texi.
19434         * doc/posix-functions/iswgraph_l.texi: Renamed from
19435         doc/glibc-functions/iswgraph_l.texi.
19436         * doc/posix-functions/iswlower_l.texi: Renamed from
19437         doc/glibc-functions/iswlower_l.texi.
19438         * doc/posix-functions/iswprint_l.texi: Renamed from
19439         doc/glibc-functions/iswprint_l.texi.
19440         * doc/posix-functions/iswpunct_l.texi: Renamed from
19441         doc/glibc-functions/iswpunct_l.texi.
19442         * doc/posix-functions/iswspace_l.texi: Renamed from
19443         doc/glibc-functions/iswspace_l.texi.
19444         * doc/posix-functions/iswupper_l.texi: Renamed from
19445         doc/glibc-functions/iswupper_l.texi.
19446         * doc/posix-functions/iswxdigit_l.texi: Renamed from
19447         doc/glibc-functions/iswxdigit_l.texi.
19448         * doc/posix-functions/isxdigit_l.texi: Renamed from
19449         doc/glibc-functions/isxdigit_l.texi.
19450         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
19451         doc/glibc-functions/mbsnrtowcs.texi.
19452         * doc/posix-functions/mkdtemp.texi: Renamed from
19453         doc/glibc-functions/mkdtemp.texi.
19454         * doc/posix-functions/newlocale.texi: Renamed from
19455         doc/glibc-functions/newlocale.texi.
19456         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
19457         doc/glibc-functions/nl_langinfo_l.texi.
19458         * doc/posix-functions/open_memstream.texi: Renamed from
19459         doc/glibc-functions/open_memstream.texi.
19460         * doc/posix-functions/opterr.texi: Renamed from
19461         doc/glibc-functions/opterr.texi.
19462         * doc/posix-functions/optind.texi: Renamed from
19463         doc/glibc-functions/optind.texi.
19464         * doc/posix-functions/optopt.texi: Renamed from
19465         doc/glibc-functions/optopt.texi.
19466         * doc/posix-functions/psignal.texi: Renamed from
19467         doc/glibc-functions/psignal.texi.
19468         * doc/posix-functions/scandir.texi: Renamed from
19469         doc/glibc-functions/scandir.texi.
19470         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
19471         doc/glibc-functions/sched_get_priority_min.texi.
19472         * doc/posix-functions/signgam.texi: Renamed from
19473         doc/glibc-functions/signgam.texi.
19474         * doc/posix-functions/stpcpy.texi: Renamed from
19475         doc/glibc-functions/stpcpy.texi.
19476         * doc/posix-functions/stpncpy.texi: Renamed from
19477         doc/glibc-functions/stpncpy.texi.
19478         * doc/posix-functions/strcasecmp_l.texi: Renamed from
19479         doc/glibc-functions/strcasecmp_l.texi.
19480         * doc/posix-functions/strcoll_l.texi: Renamed from
19481         doc/glibc-functions/strcoll_l.texi.
19482         * doc/posix-functions/strfmon_l.texi: Renamed from
19483         doc/glibc-functions/strfmon_l.texi.
19484         * doc/posix-functions/strftime_l.texi: Renamed from
19485         doc/glibc-functions/strftime_l.texi.
19486         * doc/posix-functions/strncasecmp_l.texi: Renamed from
19487         doc/glibc-functions/strncasecmp_l.texi.
19488         * doc/posix-functions/strndup.texi: Renamed from
19489         doc/glibc-functions/strndup.texi.
19490         * doc/posix-functions/strnlen.texi: Renamed from
19491         doc/glibc-functions/strnlen.texi.
19492         * doc/posix-functions/strsignal.texi: Renamed from
19493         doc/glibc-functions/strsignal.texi.
19494         * doc/posix-functions/strxfrm_l.texi: Renamed from
19495         doc/glibc-functions/strxfrm_l.texi.
19496         * doc/posix-functions/timer_gettime.texi: Renamed from
19497         doc/glibc-functions/timer_gettime.texi.
19498         * doc/posix-functions/tolower_l.texi: Renamed from
19499         doc/glibc-functions/tolower_l.texi.
19500         * doc/posix-functions/toupper_l.texi: Renamed from
19501         doc/glibc-functions/toupper_l.texi.
19502         * doc/posix-functions/towctrans_l.texi: Renamed from
19503         doc/glibc-functions/towctrans_l.texi.
19504         * doc/posix-functions/towlower_l.texi: Renamed from
19505         doc/glibc-functions/towlower_l.texi.
19506         * doc/posix-functions/towupper_l.texi: Renamed from
19507         doc/glibc-functions/towupper_l.texi.
19508         * doc/posix-functions/uselocale.texi: Renamed from
19509         doc/glibc-functions/uselocale.texi.
19510         * doc/posix-functions/vdprintf.texi: Renamed from
19511         doc/glibc-functions/vdprintf.texi.
19512         * doc/posix-functions/wcpcpy.texi:
19513         Renamed from doc/glibc-functions/wcpcpy.texi.
19514         * doc/posix-functions/wcpncpy.texi: Renamed from
19515         doc/glibc-functions/wcpncpy.texi.
19516         * doc/posix-functions/wcscasecmp.texi: Renamed from
19517         doc/glibc-functions/wcscasecmp.texi.
19518         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
19519         doc/glibc-functions/wcscasecmp_l.texi.
19520         * doc/posix-functions/wcscoll_l.texi: Renamed from
19521         doc/glibc-functions/wcscoll_l.texi.
19522         * doc/posix-functions/wcsdup.texi: Renamed from
19523         doc/glibc-functions/wcsdup.texi.
19524         * doc/posix-functions/wcsncasecmp.texi: Renamed from
19525         doc/glibc-functions/wcsncasecmp.texi.
19526         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
19527         doc/glibc-functions/wcsncasecmp_l.texi.
19528         * doc/posix-functions/wcsnlen.texi: Renamed from
19529         doc/glibc-functions/wcsnlen.texi.
19530         * doc/posix-functions/wcsnrtombs.texi: Renamed from
19531         doc/glibc-functions/wcsnrtombs.texi.
19532         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
19533         doc/glibc-functions/wcsxfrm_l.texi.
19534         * doc/posix-functions/wctrans_l.texi: Renamed from
19535         doc/glibc-functions/wctrans_l.texi.
19536         * doc/posix-functions/wctype_l.texi: Renamed from
19537         doc/glibc-functions/wctype_l.texi.
19538         * doc/gnulib.texi (Function Substitutes): Add these subsections.
19539         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
19540         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
19541         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
19542         these subsections.
19543         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
19544         Remove sections.
19545
19546 2008-12-14  Bruno Haible  <bruno@clisp.org>
19547
19548         Update doc for POSIX:2008.
19549         * doc/posix-functions/*.texi: Update URL of POSIX specification.
19550
19551 2008-12-14  Bruno Haible  <bruno@clisp.org>
19552
19553         Update doc for POSIX:2008.
19554         * doc/pastposix-functions/bcmp.texi: Renamed from
19555         doc/posix-functions/bcmp.texi.
19556         * doc/pastposix-functions/bcopy.texi: Renamed from
19557         doc/posix-functions/bcopy.texi.
19558         * doc/pastposix-functions/bsd_signal.texi: Renamed from
19559         doc/posix-functions/bsd_signal.texi.
19560         * doc/pastposix-functions/bzero.texi: Renamed from
19561         doc/posix-functions/bzero.texi.
19562         * doc/pastposix-functions/ecvt.texi: Renamed from
19563         doc/posix-functions/ecvt.texi.
19564         * doc/pastposix-functions/fcvt.texi: Renamed from
19565         doc/posix-functions/fcvt.texi.
19566         * doc/pastposix-functions/ftime.texi: Renamed from
19567         doc/posix-functions/ftime.texi.
19568         * doc/pastposix-functions/gcvt.texi: Renamed from
19569         doc/posix-functions/gcvt.texi.
19570         * doc/pastposix-functions/getcontext.texi: Renamed from
19571         doc/posix-functions/getcontext.texi.
19572         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
19573         doc/posix-functions/gethostbyaddr.texi.
19574         * doc/pastposix-functions/gethostbyname.texi: Renamed from
19575         doc/posix-functions/gethostbyname.texi.
19576         * doc/pastposix-functions/getwd.texi: Renamed from
19577         doc/posix-functions/getwd.texi.
19578         * doc/pastposix-functions/h_errno.texi: Renamed from
19579         doc/posix-functions/h_errno.texi.
19580         * doc/pastposix-functions/index.texi: Renamed from
19581         doc/posix-functions/index.texi.
19582         * doc/pastposix-functions/makecontext.texi: Renamed from
19583         doc/posix-functions/makecontext.texi.
19584         * doc/pastposix-functions/mktemp.texi: Renamed from
19585         doc/posix-functions/mktemp.texi.
19586         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
19587         doc/posix-functions/pthread_attr_getstackaddr.texi.
19588         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
19589         doc/posix-functions/pthread_attr_setstackaddr.texi.
19590         * doc/pastposix-functions/rindex.texi: Renamed from
19591         doc/posix-functions/rindex.texi.
19592         * doc/pastposix-functions/scalb.texi: Renamed from
19593         doc/posix-functions/scalb.texi.
19594         * doc/pastposix-functions/setcontext.texi: Renamed from
19595         doc/posix-functions/setcontext.texi.
19596         * doc/pastposix-functions/swapcontext.texi: Renamed from
19597         doc/posix-functions/swapcontext.texi.
19598         * doc/pastposix-functions/ualarm.texi: Renamed from
19599         doc/posix-functions/ualarm.texi.
19600         * doc/pastposix-functions/usleep.texi: Renamed from
19601         doc/posix-functions/usleep.texi.
19602         * doc/pastposix-functions/vfork.texi: Renamed from
19603         doc/posix-functions/vfork.texi.
19604         * doc/pastposix-functions/wcswcs.texi: Renamed from
19605         doc/posix-functions/wcswcs.texi.
19606         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
19607         (Function Substitutes): Update.
19608
19609 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19610
19611         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
19612         m4/strerror.m4.
19613
19614 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19615             Bruno Haible  <bruno@clisp.org>
19616
19617         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
19618
19619 2008-12-13  Bruno Haible  <bruno@clisp.org>
19620
19621         * modules/strtoull (Depends-on): Remove unistd.
19622
19623 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19624
19625         * modules/strtoull (Depends-on): Add stdlib.
19626
19627 2008-12-11  Simon Josefsson  <simon@josefsson.org>
19628
19629         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
19630
19631 2008-12-10  Jim Meyering  <meyering@redhat.com>
19632
19633         gl_ASSERT: don't say assertions are disabled when they're not
19634         * m4/assert.m4 (gl_ASSERT): Do not make configure report
19635         "checking whether to enable assertions... no", when they are in
19636         fact enabled.  This is solely a bug in the output of configure.
19637         In spite of saying "no", NDEBUG was not defined in that case.
19638         Also, as noted by Eric Blake, leave assertions enabled upon
19639         --enable-assert=INVALID.
19640
19641 2008-12-10  Bruno Haible  <bruno@clisp.org>
19642
19643         Change MODULES.html to refer to POSIX:2008 where possible.
19644         * MODULES.html.sh (POSIX2008_URL): New variable.
19645         (posix_headers): Remove sys/timeb, ucontext.
19646         (posix2001_headers): New variable.
19647         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
19648         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
19649         index, makecontext, mktemp, pthread_attr_getstackaddr,
19650         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
19651         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
19652         (posix2001_functions): New variable.
19653         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
19654         otherwise.
19655
19656 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19657
19658         add missing include to parse-duration.c
19659         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
19660         * modules/parse-duration (Depends-on): Add xalloc.
19661
19662         fix sed script reading maint.mk
19663         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
19664         (syntax-check-rules): Use it.
19665
19666 2008-12-09  Bruno Haible  <bruno@clisp.org>
19667
19668         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
19669         MacOS X 10.4/PowerPC.
19670         Reported by Simon Josefsson.
19671
19672 2008-12-08  Jim Meyering  <meyering@redhat.com>
19673
19674         work around mingw's lack of some S_IF definitions
19675         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
19676         Reported by Simon Josefsson.
19677
19678 2008-12-08  Bruno Haible  <bruno@clisp.org>
19679
19680         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
19681         applied to variables. Needed on MacOS X 10.4/PowerPC.
19682         Reported by Simon Josefsson.
19683
19684 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
19685         and Eric Blake  <ebb9@byu.net>
19686
19687         assert: honor --enable-assert
19688         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
19689         order to honor --enable-assert, rather than treating it as a
19690         synonym for --disable-assert.
19691
19692 2008-12-08  Jim Meyering  <meyering@redhat.com>
19693
19694         * lib/posixtm.c: Remove now-useless declaration of mktime.
19695
19696         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
19697
19698 2008-12-07  Bruno Haible  <bruno@clisp.org>
19699
19700         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
19701         test_once): Mark functions as static.
19702         * tests/test-tls.c (test_tls): Likewise.
19703
19704 2008-12-07  Bruno Haible  <bruno@clisp.org>
19705
19706         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
19707         iconv_register_autodetect.
19708
19709 2008-12-07  Jim Meyering  <meyering@redhat.com>
19710
19711         posixtm.c: avoid a warning
19712         * lib/posixtm.c (posixtime): Don't initialize tm0.
19713         It's no longer needed to placate gcc4's -Wuninitialized,
19714         and the attempt to placate would elicit a new warning.
19715
19716         unicodeio.c: mark unused parameters
19717         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
19718         (fallback_failure_callback): Likewise.
19719
19720 2008-12-07  Bruno Haible  <bruno@clisp.org>
19721
19722         * gnulib-tool (func_create_testdir): When building the tests
19723         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
19724         Reported by Simon Josefsson.
19725
19726 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19727
19728         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
19729
19730 2008-12-06  Bruno Haible  <bruno@clisp.org>
19731
19732         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
19733         Suggested by Eric Blake.
19734
19735 2008-12-06  Bruno Haible  <bruno@clisp.org>
19736
19737         Fix a c-stack test failure on MacOS X.
19738         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
19739         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
19740         handler for SIGBUS as well.
19741         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
19742         install a signal handler for SIGBUS as well.
19743         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
19744
19745 2008-12-06  Bruno Haible  <bruno@clisp.org>
19746
19747         Advocacy documentation.
19748         * doc/gnulib-intro.texi (Benefits): New section.
19749         * doc/gnulib.texi: Update.
19750
19751 2008-12-06  Bruno Haible  <bruno@clisp.org>
19752
19753         Document the 'manywarnings' module.
19754         * doc/manywarnings.texi: New file.
19755         * doc/gnulib.texi: Include it.
19756
19757 2008-12-05  Eric Blake  <ebb9@byu.net>
19758
19759         tests: silence some gcc warnings
19760         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
19761         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
19762         type mismatches.
19763
19764 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19765             Bruno Haible  <bruno@clisp.org>
19766
19767         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
19768
19769 2008-11-29  Jim Meyering  <meyering@redhat.com>
19770
19771         unicodeio.c: mark unused parameters
19772         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
19773         (fallback_failure_callback): Likewise.
19774
19775         fts: fix a thinko
19776         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
19777         (set_stat_type): Return S_IF*-valued "type" directly.
19778         Prompted by James Youngman's spotting a related bug.
19779         Confirmed by further testing through find.
19780
19781         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
19782         * lib/fts.c (D_TYPE): Define.
19783         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
19784         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
19785         (s_ifmt_shift_bits): New function.
19786         (set_stat_type): New function.
19787         (fts_build): When not calling fts_stat, call set_stat_type
19788         to propagate dirent.d_type info to fts_read caller.
19789         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
19790         fts_statp->st_mode type information may be valid.
19791
19792 2008-11-28  Simon Josefsson  <simon@josefsson.org>
19793
19794         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
19795         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
19796         <sds@gnu.org>.
19797
19798 2008-11-20  Bruno Haible  <bruno@clisp.org>
19799
19800         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
19801         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
19802         INCLUDE_NEXT.
19803         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
19804         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
19805         * modules/math (Makefile.am): Substitute
19806         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
19807         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19808
19809 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19810             Bruno Haible  <bruno@clisp.org>
19811
19812         * lib/stdint.in.h: Define all type macros so that their expansion is
19813         a single typedef'ed token. Fixes a compilation failure in Boost which
19814         does "using ::int8_t;".
19815
19816 2008-11-18  Simon Josefsson  <simon@josefsson.org>
19817
19818         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
19819         gl_MANYWARN_ALL_GCC.
19820         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
19821         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
19822         * modules/manywarnings: New file.
19823         * MODULES.html.sh: Mention manywarnings module.
19824
19825 2008-11-18  Bruno Haible  <bruno@clisp.org>
19826
19827         * doc/gnulib-tool.texi (Unit tests): New section.
19828
19829 2008-11-18  Simon Josefsson  <simon@josefsson.org>
19830
19831         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
19832         paths like 'lib/po/foo.po'.
19833
19834 2008-11-17  Simon Josefsson  <simon@josefsson.org>
19835
19836         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
19837         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
19838
19839 2008-11-17  Simon Josefsson  <simon@josefsson.org>
19840
19841         * m4/warnings.m4: Use CPPFLAGS to really check whether the
19842         parameter works.
19843
19844 2008-11-17  Simon Josefsson  <simon@josefsson.org>
19845
19846         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
19847
19848 2008-11-17  Bruce Korb  <bkorb@gnu.org>
19849
19850         * modules/parse-duration-tests: New file.
19851         * tests/test-parse-duration.sh: New file.
19852         * tests/test-parse-duration.c: New file.
19853
19854         New module 'parse-duration'.
19855         * lib/parse-duration.h: New file.
19856         * lib/parse-duration.c: New file.
19857         * modules/parse-duration: New file.
19858
19859 2008-11-17  Bruno Haible  <bruno@clisp.org>
19860
19861         * tests/test-select-out.sh: Comment out the first pipe test.
19862         Reported by Simon Josefsson.
19863
19864 2008-11-17  Bruno Haible  <bruno@clisp.org>
19865
19866         * modules/getaddrinfo (Depends-on): Add servent, hostent.
19867         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
19868         gl_HOSTENT.
19869
19870 2008-11-17  Bruno Haible  <bruno@clisp.org>
19871
19872         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
19873         -lnetwork and -lnet. Needed for Haiku and BeOS.
19874
19875 2008-11-16  Bruno Haible  <bruno@clisp.org>
19876
19877         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
19878
19879 2008-11-16  Bruno Haible  <bruno@clisp.org>
19880
19881         Avoid test failure on Haiku.
19882         * tests/test-fsync.c: Include <errno.h>.
19883         (main): Don't require that fsync (0) fails.
19884
19885 2008-11-15  Bruno Haible  <bruno@clisp.org>
19886
19887         New module 'hostent'.
19888         * modules/hostent: New file.
19889         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
19890
19891 2008-11-15  Bruno Haible  <bruno@clisp.org>
19892
19893         New module 'servent'.
19894         * modules/servent: New file.
19895         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
19896
19897 2008-11-15  Bruno Haible  <bruno@clisp.org>
19898
19899         Avoid generating same test program with two different rules.
19900         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
19901         test-frexp to test-frexp-nolibm.
19902         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
19903         test-frexpl to test-frexpl-nolibm.
19904
19905 2008-11-15  Bruno Haible  <bruno@clisp.org>
19906
19907         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
19908         $(FREXPL_LIBM).
19909
19910 2008-11-15  Bruno Haible  <bruno@clisp.org>
19911
19912         * lib/netdb.in.h: Activate the definitions also when the system's
19913         <netdb.h> has 'struct addrinfo'.
19914         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
19915         EAI_OVERFLOW or AI_NUMERICSERV.
19916         * doc/posix-headers/netdb.texi: Document the problem.
19917
19918 2008-11-15  Bruno Haible  <bruno@clisp.org>
19919
19920         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
19921
19922         Make the 'sched' module work on platforms where <sched.h> exists but
19923         is incomplete (such as Haiku).
19924         * lib/sched.in.h; Include the system's <sched.h> if it exists.
19925         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
19926         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
19927         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
19928         HAVE_STRUCT_SCHED_PARAM.
19929         * modules/sched (Depends-on): Add include_next.
19930         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
19931         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
19932         * doc/posix-headers/sched.texi: Document the issue.
19933
19934 2008-11-13  Jim Meyering  <meyering@redhat.com>
19935
19936         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
19937         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
19938         test would fail due to the difference in the Report bugs to ...
19939         line.  The expected address is empty, "<>", while the actual
19940         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
19941
19942 2008-11-12  Bruno Haible  <bruno@clisp.org>
19943
19944         lstat: don't compile lstat.c on systems lacking lstat
19945         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
19946         which don't have lstat; this is handled by lib/sys_stat.in.h already.
19947         Reported by Daniel P. Berrange via Jim Meyering.
19948
19949 2008-11-12  Jim Meyering  <meyering@redhat.com>
19950
19951         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
19952
19953 2008-11-12  Simon Josefsson  <simon@josefsson.org>
19954
19955         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
19956         instead.
19957
19958 2008-11-12  Bruno Haible  <bruno@clisp.org>
19959
19960         * lib/unicodeio.c: Include unistr.h.
19961         (utf8_wctomb): Remove function.
19962         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
19963
19964 2008-11-12  Simon Josefsson  <simon@josefsson.org>
19965
19966         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
19967         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
19968         <bruno@clisp.org>.
19969         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
19970
19971 2008-11-12  Simon Josefsson  <simon@josefsson.org>
19972
19973         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
19974         * doc/gnulib.texi: Add section for warnings.
19975
19976 2008-11-11  Bruno Haible  <bruno@clisp.org>
19977
19978         * lib/sockets.h: Add a comment.
19979
19980 2008-11-11  Karl Berry  <karl@gnu.org>
19981
19982         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
19983
19984 2008-11-11  Eric Blake  <ebb9@byu.net>
19985
19986         fdl.texi: avoid git symlinks
19987         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
19988
19989 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
19990
19991         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
19992
19993 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
19994
19995         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
19996         (gl_WARN_ADD): Substitute $2 if literal.
19997
19998 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
19999
20000         * m4/warning.m4: Remove.
20001
20002 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
20003
20004         * m4/warnings.m4: Almost complete rewrite. :-)
20005
20006 2008-11-10  Simon Josefsson  <simon@josefsson.org>
20007
20008         * modules/warnings: New module.
20009         * m4/warnings.m4: New file.
20010         * MODULES.html.sh: Mention warnings module.
20011         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
20012         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20013
20014 2008-11-10  Eric Blake  <ebb9@byu.net>
20015
20016         fdl.texi: make a symlink to the latest version
20017         * doc/standards.texi: Revert today's earlier change.
20018         * doc/fdl-1.2.texi: Rename from old fdl.texi...
20019         * doc/fdl.texi: ...and replace this with a symlink to the newer
20020         fdl-1.3.texi.
20021
20022 2008-11-10  Bruno Haible  <bruno@clisp.org>
20023
20024         * tests/test-select-fd.c (main): Accept the result file name as fourth
20025         argument.
20026         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
20027         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
20028
20029 2008-11-10  Bruno Haible  <bruno@clisp.org>
20030
20031         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
20032         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
20033         as autoconf-substituted macros.
20034         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
20035         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
20036         gl_NETDB_H_DEFAULTS. Set these variables.
20037         * modules/netdb (Makefile.am): Substitute these variables.
20038
20039 2008-11-10  Eric Blake  <ebb9@byu.net>
20040
20041         standards.texi: include correct file for FDL 1.3
20042         * doc/standards.texi (GNU Free Documentation License): Change
20043         include file to pull in FDL 1.3, not 1.2.
20044
20045         fdl.texi: revert accidental change to license
20046         * doc/fdl.texi: This is FDL 1.2, not 1.3.
20047
20048 2008-11-10  Bruno Haible  <bruno@clisp.org>
20049
20050         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
20051         cross-compiling guesses also when the native compile gives no result.
20052
20053 2008-11-10  Bruno Haible  <bruno@clisp.org>
20054
20055         * lib/spawni.c (__spawni): Force variable into the stack.
20056
20057 2008-11-10  Bruno Haible  <bruno@clisp.org>
20058
20059         Add support for Haiku.
20060         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
20061         glibc and BeOS, but also on Haiku.
20062         * lib/fpurge.c (fpurge): Likewise.
20063         * lib/freadable.c (freadable): Likewise.
20064         * lib/freadahead.c (freadahead): Likewise.
20065         * lib/freading.c (freading): Likewise.
20066         * lib/freadptr.c (freadptr): Likewise.
20067         * lib/freadseek.c (freadptrinc): Likewise.
20068         * lib/fseeko.c (rpl_fseeko): Likewise.
20069         * lib/fseterr.c (fseterr): Likewise.
20070         * lib/fwritable.c (fwritable): Likewise.
20071         * lib/fwriting.c (fwriting): Likewise.
20072         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
20073
20074 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20075
20076         * lib/config.charset: Treat Haiku like BeOS.
20077
20078 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
20079
20080         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
20081         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
20082
20083 2008-11-08  Bruno Haible  <bruno@clisp.org>
20084
20085         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
20086         AC_CACHE_CHECK.
20087
20088 2008-11-08  Bruno Haible  <bruno@clisp.org>
20089
20090         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
20091
20092 2008-11-08  Bruno Haible  <bruno@clisp.org>
20093
20094         * tests/test-select-fd.c: New file.
20095         * tests/test-select-in.sh: New file.
20096         * tests/test-select-out.sh: New file.
20097         * tests/test-select-stdin.c: New file.
20098         * modules/select-tests (Files): Add the new files.
20099         (Depends-on): Add gettimeofday.
20100         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
20101         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
20102         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
20103
20104 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
20105             Bruno Haible  <bruno@clisp.org>
20106
20107         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
20108
20109 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
20110
20111         * build-aux/pmccabe2html: Added support for C++ source files.
20112
20113 2008-11-05  Ben Pfaff  <blp@gnu.org>
20114
20115         Fix lib/close.c build on Windows.
20116         * modules/close (Files): Add lib/w32sock.h.
20117
20118 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
20119
20120         Accept Bison's NEWS format.
20121         * build-aux/announce-gen (print_news_deltas): Tweak
20122         $re_prefix.
20123
20124 2008-11-04  Bruno Haible  <bruno@clisp.org>
20125
20126         * modules/random_r (Maintainer): Add glibc.
20127
20128 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20129
20130         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
20131         by karl@freefriends.org (Karl Berry).
20132         * doc/alloca.texi: Likewise.
20133         * doc/c-ctype.texi: Likewise.
20134         * doc/c-strcase.texi: Likewise.
20135         * doc/c-strcaseeq.texi: Likewise.
20136         * doc/c-strcasestr.texi: Likewise.
20137         * doc/c-strstr.texi: Likewise.
20138         * doc/c-strtod.texi: Likewise.
20139         * doc/c-strtold.texi: Likewise.
20140         * doc/ctime.texi: Likewise.
20141         * doc/error.texi: Likewise.
20142         * doc/fdl.texi: Likewise.
20143         * doc/gcd.texi: Likewise.
20144         * doc/getdate.texi: Likewise.
20145         * doc/gnulib-intro.texi: Likewise.
20146         * doc/gnulib-tool.texi: Likewise.
20147         * doc/gnulib.texi: Likewise.
20148         * doc/inet_ntoa.texi: Likewise.
20149         * doc/maintain.texi: Likewise.
20150         * doc/make-stds.texi: Likewise.
20151         * doc/quote.texi: Likewise.
20152         * doc/regexprops-generic.texi: Likewise.
20153         * doc/standards.texi: Likewise.
20154         * doc/verify.texi: Likewise.
20155         * doc/visibility.texi: Likewise.
20156         * doc/gnulib.texi (GNU Free Documentation License): Include
20157         fdl-1.3.texi instead of fdl.texi.
20158
20159 2008-11-04  Simon Josefsson  <simon@josefsson.org>
20160
20161         * doc/fdl-1.3.texi: New file, from
20162         <http://www.gnu.org/licenses/fdl-1.3.texi>.
20163         * modules/fdl-1.3: Add.
20164         * MODULES.html.sh: Add fdl-1.3.
20165
20166 2008-11-03  Bruno Haible  <bruno@clisp.org>
20167
20168         Make determination of absolute name of header file work with AIX xlc.
20169         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
20170         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
20171         preprocessing.
20172         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
20173         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
20174
20175 2008-11-03  Simon Josefsson  <simon@josefsson.org>
20176
20177         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
20178         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
20179         <ludo@gnu.org>.
20180
20181 2008-11-02  Bruno Haible  <bruno@clisp.org>
20182
20183         Mark 'strpbrk' obsolete.
20184         * modules/strpbrk (Status, Notice): New sections.
20185         * modules/strtok_r (Depends-on): Add strpbrk.
20186
20187 2008-11-02  Bruno Haible  <bruno@clisp.org>
20188
20189         Mark 'strdup' obsolete.
20190         * modules/strdup (Status, Notice): New sections.
20191         * modules/findprog (Depends-on): Add strdup.
20192         * modules/getaddrinfo (Depends-on): Likewise.
20193         * modules/localename (Depends-on): Likewise.
20194         * modules/relocatable-lib (Depends-on): Likewise.
20195         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
20196         * modules/relocatable-prog (Depends-on): Likewise.
20197         * modules/trim (Depends-on): Likewise.
20198         * modules/unictype/gen-ctype (Depends-on): Likewise.
20199         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20200
20201 2008-11-02  Bruno Haible  <bruno@clisp.org>
20202
20203         Mark 'strcspn' obsolete.
20204         * modules/strcspn (Status, Notice): New sections.
20205
20206 2008-11-02  Bruno Haible  <bruno@clisp.org>
20207
20208         Mark 'rmdir' obsolete.
20209         * modules/rmdir (Status, Notice): New sections.
20210         * modules/clean-temp (Depends-on): Add rmdir.
20211         * modules/openat (Depends-on): Likewise.
20212
20213 2008-11-02  Bruno Haible  <bruno@clisp.org>
20214
20215         Mark 'raise' obsolete.
20216         * modules/raise (Status, Notice): New sections.
20217         (Include): Specify <signal.h>.
20218         * modules/stdio (Depends-on): Add raise.
20219         * modules/write (Depends-on): Likewise.
20220
20221 2008-11-02  Bruno Haible  <bruno@clisp.org>
20222
20223         Mark 'memset' obsolete.
20224         * modules/memset (Status, Notice): New sections.
20225
20226 2008-11-02  Bruno Haible  <bruno@clisp.org>
20227
20228         Mark 'memmove' obsolete.
20229         * modules/memmove (Status, Notice): New sections.
20230         * modules/argp (Depends-on): Add memmove.
20231         * modules/argz (Depends-on): Likewise.
20232         * modules/canonicalize (Depends-on): Likewise.
20233         * modules/canonicalize-lgpl (Depends-on): Likewise.
20234         * modules/fts (Depends-on): Likewise.
20235         * modules/getcwd (Depends-on): Likewise.
20236         * modules/human (Depends-on): Likewise.
20237         * modules/regex (Depends-on): Likewise.
20238         * modules/striconveh (Depends-on): Likewise.
20239         * modules/trim (Depends-on): Likewise.
20240         * modules/unistr/u8-move (Depends-on): Likewise.
20241         * modules/unistr/u16-move (Depends-on): Likewise.
20242         * modules/unistr/u32-move (Depends-on): Likewise.
20243
20244 2008-11-02  Bruno Haible  <bruno@clisp.org>
20245
20246         Mark 'memcpy' obsolete.
20247         * modules/memcpy (Status, Notice): New sections.
20248
20249 2008-11-02  Bruno Haible  <bruno@clisp.org>
20250
20251         Mark 'memcmp' obsolete.
20252         * modules/memcmp (Status, Notice): New sections.
20253         * modules/argmatch (Depends-on): Add memchr.
20254         * modules/backupfile (Depends-on): Likewise.
20255         * modules/c-strcasestr (Depends-on): Likewise.
20256         * modules/crypto/des (Depends-on): Likewise.
20257         * modules/csharpcomp (Depends-on): Likewise.
20258         * modules/fnmatch (Depends-on): Likewise.
20259         * modules/git-merge-changelog (Depends-on): Likewise.
20260         * modules/isnand (Depends-on): Likewise.
20261         * modules/isnand-nolibm (Depends-on): Likewise.
20262         * modules/isnanf (Depends-on): Likewise.
20263         * modules/isnanf-nolibm (Depends-on): Likewise.
20264         * modules/isnanl (Depends-on): Likewise.
20265         * modules/isnanl-nolibm (Depends-on): Likewise.
20266         * modules/mbchar (Depends-on): Likewise.
20267         * modules/memcoll (Depends-on): Likewise.
20268         * modules/quotearg (Depends-on): Likewise.
20269         * modules/regex (Depends-on): Likewise.
20270         * modules/relocatable-prog (Depends-on): Likewise.
20271         * modules/same (Depends-on): Likewise.
20272         * modules/signbit (Depends-on): Likewise.
20273         * modules/strcasestr-simple (Depends-on): Likewise.
20274         * modules/unictype/gen-ctype (Depends-on): Likewise.
20275         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
20276         * modules/uniname/uniname (Depends-on): Likewise.
20277         * modules/unistr/u8-cmp (Depends-on): Likewise.
20278
20279 2008-11-02  Bruno Haible  <bruno@clisp.org>
20280
20281         Mark 'memchr' obsolete.
20282         * modules/memchr (Status, Notice): New sections.
20283         * modules/argp (Depends-on): Add memchr.
20284         * modules/base64 (Depends-on): Likewise.
20285         * modules/c-strcasestr (Depends-on): Likewise.
20286         * modules/chdir-long (Depends-on): Likewise.
20287         * modules/fnmatch (Depends-on): Likewise.
20288         * modules/getsubopt (Depends-on): Likewise.
20289         * modules/git-merge-changelog (Depends-on): Likewise.
20290         * modules/glob (Depends-on): Likewise.
20291         * modules/strcasestr-simple (Depends-on): Likewise.
20292         * modules/strnlen (Depends-on): Likewise.
20293
20294 2008-11-02  Bruno Haible  <bruno@clisp.org>
20295
20296         Mark 'atexit' obsolete.
20297         * modules/atexit (Status, Notice): New sections.
20298         * modules/chdir-long (Depends-on): Add atexit.
20299         * modules/wait-process (Depends-on): Likewise.
20300
20301 2008-11-02  Bruno Haible  <bruno@clisp.org>
20302
20303         * gnulib-tool: New option --with-obsolete.
20304         (func_usage): Document it.
20305         (func_modules_transitive_closure): Drop obsolete dependencies if
20306         incobsolete is not true.
20307         (func_import): Read and save the incobsolete variable to the cache.
20308
20309 2008-11-02  Bruno Haible  <bruno@clisp.org>
20310
20311         * modules/TEMPLATE-EXTENDED: New field 'Status'.
20312         * gnulib-tool: New option --extract-status.
20313         (func_usage): Document it.
20314         (sed_extract_prog): Recognize it.
20315         (func_get_status): New function.
20316
20317 2008-10-30  Simon Josefsson  <simon@josefsson.org>
20318
20319         * modules/sockets (License): Change from LGPL to LGPLv2+.
20320
20321 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20322
20323         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
20324
20325 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20326
20327         * MODULES.html.sh (Support for systems lacking POSIX:2001):
20328         Mention times and sys_times.
20329         * modules/sys_times, modules/sys_times-tests: New modules.
20330         * modules/times, modules/times-tests: Likewise
20331         * m4/sys_times_h.m4: New file.
20332         * lib/sys_times.in.h: Likewise
20333         * lib/times.c: Likewise.
20334         * tests/test-sys_times.c: Likewise.
20335         * tests/test-times.c: Likewise.
20336         * doc/posix-headers/sys_times.texi: Update.
20337         * doc/posix-functions/times.texi: Update.
20338
20339 2008-10-28  Jim Meyering  <meyering@redhat.com>
20340
20341         * modules/tempname (Depends-on): Add lstat.
20342
20343         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
20344
20345 2008-10-28  Simon Josefsson  <simon@josefsson.org>
20346
20347         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
20348         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
20349         using idiom used elsewhere in gnulib.
20350
20351 2008-10-27  Jim Meyering  <meyering@redhat.com>
20352
20353         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
20354
20355 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20356
20357         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
20358         TESTS_ENVIRONMENT, for shell scripts that needs to call built
20359         programs.
20360         * tests/test-argp-2.sh: Use $EXEEXT when needed.
20361
20362 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20363
20364         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
20365
20366 2008-10-27  Bruno Haible  <bruno@clisp.org>
20367
20368         * tests/test-lstat.c: Include <stdio.h>.
20369
20370 2008-10-27  Simon Josefsson  <simon@josefsson.org>
20371
20372         * modules/lstat-tests: New module.
20373         * tests/test-lstat.c: New file.
20374
20375 2008-10-26  Jim Meyering  <meyering@redhat.com>
20376
20377         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
20378
20379 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20380             Bruno Haible  <bruno@clisp.org>
20381
20382         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
20383         * modules/configmake (Include): Add a note that the include must come
20384         after all system headers.
20385         * lib/javaversion.c: Include configmake.h after all other includes.
20386
20387 2008-10-26  Bruno Haible  <bruno@clisp.org>
20388
20389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
20390         HAVE_STRUCT_RANDOM_DATA to 1.
20391         (gl_STDLIB_H): Simplify.
20392
20393 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20394
20395         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
20396         substitute HAVE_STRUCT_RANDOM_DATA.
20397         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
20398         random_data.
20399         * modules/stdlib (Makefile.am): Substitute
20400         HAVE_STRUCT_RANDOM_DATA.
20401
20402 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20403
20404         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
20405         * doc/gnulib-intro.texi (Copyright): Likewise.
20406
20407 2008-10-26  Simon Josefsson  <simon@josefsson.org>
20408
20409         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
20410         findings.
20411
20412 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
20413             Bruno Haible  <bruno@clisp.org>
20414
20415         * lib/unistd.in.h: Include <winsock2.h>.
20416         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
20417         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
20418         Provide dummy declarations.
20419         (gethostname): Override.
20420         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
20421         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
20422         gl_PREREQ_SYS_H_WINSOCK2.
20423         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
20424         * doc/posix-functions/gethostname.texi: More details.
20425
20426 2008-10-25  Bruno Haible  <bruno@clisp.org>
20427
20428         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
20429         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
20430         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
20431
20432         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
20433         here ...
20434         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
20435         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
20436         gl_UNISTD_H_DEFAULTS.
20437
20438 2008-10-25  Eric Blake  <ebb9@byu.net>
20439
20440         signbit: avoid spurious compiler failure
20441         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
20442         declarations inside function.
20443
20444 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20445             Bruno Haible  <bruno@clisp.org>
20446
20447         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
20448         * modules/random_r (Depends-on): Add stdint.
20449
20450 2008-10-24  Bruno Haible  <bruno@clisp.org>
20451
20452         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
20453         Eggert.
20454         * modules/strerror (License): Likewise.
20455
20456 2008-10-24  Jim Meyering  <meyering@redhat.com>
20457
20458         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
20459         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
20460
20461 2008-10-24  Eric Blake  <ebb9@byu.net>
20462
20463         getgroups: fix compilation when getgroups is available
20464         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
20465         but with <config.h> override of getgroups disabled.
20466
20467 2008-10-24  Simon Josefsson  <simon@josefsson.org>
20468
20469         * doc/gnulib.texi (Header files): Add note about C++ problems.
20470         Explained by Bruno Haible <bruno@clisp.org>.
20471
20472 2008-10-23  Bruno Haible  <bruno@clisp.org>
20473
20474         Define a dummy SA_NODEFER macro on Interix.
20475         * lib/signal.in.h (SA_NODEFER): Define fallback.
20476         Reported by Aleksey Cheusov <cheusov@tut.by> via
20477         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
20478
20479 2008-10-23  Bruno Haible  <bruno@clisp.org>
20480
20481         * modules/freadahead (License): Change to LGPLv2+.
20482         Suggested by Simon Josefsson.
20483
20484 2008-10-23  Jim Meyering  <meyering@redhat.com>
20485
20486         random_r: new module
20487         * modules/random_r: New file.
20488         * m4/random_r.m4: New file.
20489         * lib/random_r.c: New file, from glibc.
20490         * modules/random_r-tests: New file.
20491         * tests/test-random_r.c: New file.
20492         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
20493          Declare.
20494         (RAND_MAX): Define.
20495         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
20496         * modules/stdlib: Substitute them, too.
20497         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
20498         * doc/glibc-functions/initstate_r.texi: Mention the new module.
20499         * doc/glibc-functions/random_r.texi: Likewise.
20500         * doc/glibc-functions/setstate_r.texi: Likewise.
20501         * doc/glibc-functions/srandom_r.texi: Likewise.
20502         * config/srclist.txt: Mention it.
20503
20504 2008-10-23  David Lutterkort  <lutter@redhat.com>
20505
20506         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
20507         link requirement
20508
20509 2008-10-23  Jim Meyering  <meyering@redhat.com>
20510
20511         selinux-h: mark parameters of stub functions as intentionally unused
20512         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
20513         * lib/se-context.in.h: Likewise.
20514
20515 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20516
20517         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
20518
20519 2008-10-22  Simon Josefsson  <simon@josefsson.org>
20520
20521         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
20522
20523 2008-10-22  Eric Blake  <ebb9@byu.net>
20524
20525         glthread/thread: avoid compiler warning
20526         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
20527         Add unreachable abort to silence compiler.
20528
20529 2008-10-22  Eric Blake  <ebb9@byu.net>
20530
20531         netdb: also supply struct addrinfo for cygwin 1.5.x
20532         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
20533         older cygwin.
20534         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
20535         cygwin.
20536         * doc/posix-headers/netdb.texi (netdb.h): Document this.
20537
20538 2008-10-22  Bruno Haible  <bruno@clisp.org>
20539
20540         * users.txt: Update entry about pspp.
20541
20542 2008-10-21  Bruno Haible  <bruno@clisp.org>
20543
20544         Simplification.
20545         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
20546         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
20547
20548         Simplification.
20549         * lib/ioctl.c (ioctl): Don't undefine.
20550         * lib/socket.c (socket): Don't undefine.
20551
20552         Remove unused module indicator macros.
20553         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
20554         GNULIB_$1 as a C macro.
20555
20556         * doc/posix-functions/close.texi: Undo last change.
20557         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
20558         Windows platforms.
20559
20560 2008-10-21  Bruno Haible  <bruno@clisp.org>
20561
20562         Add gethostname() declaration to <unistd.h>.
20563         * lib/unistd.in.h (gethostname): New declaration.
20564         * lib/gethostname.c: Include <unistd.h>.
20565         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
20566         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
20567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
20568         and HAVE_GETHOSTNAME.
20569         * modules/gethostname (Depends-on): Add unistd.
20570         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20571         (Include): Specify <unistd.h>.
20572         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
20573         HAVE_GETHOSTNAME.
20574         * tests/test-gethostname.c: Include <unistd.h> first.
20575
20576 2008-10-21  Bruno Haible  <bruno@clisp.org>
20577
20578         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
20579         * modules/select-tests (Depends-on): Likewise.
20580         Reported by Simon Josefsson.
20581
20582 2008-10-21  Simon Josefsson  <simon@josefsson.org>
20583
20584         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
20585         * lib/accept.c: New file, based on winsock.c.
20586         * lib/bind.c: New file, based on winsock.c.
20587         * lib/connect.c: New file, based on winsock.c.
20588         * lib/getpeername.c: New file, based on winsock.c.
20589         * lib/getsockname.c: New file, based on winsock.c.
20590         * lib/getsockopt.c: New file, based on winsock.c.
20591         * lib/ioctl.c: New file, based on winsock.c.
20592         * lib/listen.c: New file, based on winsock.c.
20593         * lib/recv.c: New file, based on winsock.c.
20594         * lib/recvfrom.c: New file, based on winsock.c.
20595         * lib/send.c: New file, based on winsock.c.
20596         * lib/sendto.c: New file, based on winsock.c.
20597         * lib/setsockopt.c: New file, based on winsock.c.
20598         * lib/shutdown.c: New file, based on winsock.c.
20599         * lib/socket.c: New file, based on winsock.c.
20600         * lib/w32sock.h: New file, based on winsock.c.
20601         * lib/winsock.c: Remove file.
20602         * modules/accept: Likewise.
20603         * modules/bind: Likewise.
20604         * modules/connect: Likewise.
20605         * modules/getpeername: Likewise.
20606         * modules/getsockname: Likewise.
20607         * modules/getsockopt: Likewise.
20608         * modules/ioctl: Likewise.
20609         * modules/listen: Likewise.
20610         * modules/recv: Likewise.
20611         * modules/recvfrom: Likewise.
20612         * modules/send: Likewise.
20613         * modules/sendto: Likewise.
20614         * modules/setsockopt: Likewise.
20615         * modules/shutdown: Likewise.
20616         * modules/socket: Use socket.c instead of winsock.c.
20617         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
20618         * doc/posix-functions/accept.texi: Doc fix.
20619         * doc/posix-functions/bind.texi: Doc fix.
20620         * doc/posix-functions/close.texi: Doc fix.
20621         * doc/posix-functions/connect.texi: Doc fix.
20622         * doc/posix-functions/getpeername.texi: Doc fix.
20623         * doc/posix-functions/getsockname.texi: Doc fix.
20624         * doc/posix-functions/getsockopt.texi: Doc fix.
20625         * doc/posix-functions/ioctl.texi: Doc fix.
20626         * doc/posix-functions/listen.texi: Doc fix.
20627         * doc/posix-functions/recv.texi: Doc fix.
20628         * doc/posix-functions/recvfrom.texi: Doc fix.
20629         * doc/posix-functions/send.texi: Doc fix.
20630         * doc/posix-functions/sendto.texi: Doc fix.
20631         * doc/posix-functions/setsockopt.texi: Doc fix.
20632         * doc/posix-functions/shutdown.texi: Doc fix.
20633         * doc/posix-functions/socket.texi: Doc fix.
20634
20635 2008-10-20  Bruno Haible  <bruno@clisp.org>
20636
20637         Take into account the role of SIGABRT_COMPAT on Windows 2008.
20638         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
20639         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
20640         as an alias for SIGABRT.
20641         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
20642         (sigaction): Map it to SIGABRT.
20643         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
20644
20645 2008-10-20  Bruno Haible  <bruno@clisp.org>
20646
20647         * lib/fts.c: Don't include lstat.h.
20648         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
20649
20650         Move the lstat() declaration to <sys/stat.h>.
20651         * lib/lstat.h: Remove file.
20652         * lib/sys_stat.in.h: Add special invocation convention.
20653         (lstat): New declaration.
20654         * lib/lstat.c (orig_lstat): New function.
20655         (rpl_lstat): Use orig_lstat instead of lstat.
20656         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
20657         AC_C_INLINE. Set REPLACE_LSTAT.
20658         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
20659         and REPLACE_LSTAT.
20660         * modules/lstat (Files): Remove lib/lstat.h.
20661         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
20662         (Include): Specify <sys/stat.h> instead of lstat.h.
20663         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
20664         REPLACE_LSTAT.
20665         * NEWS: Mention the change.
20666
20667 2008-10-20  Bruno Haible  <bruno@clisp.org>
20668
20669         * modules/posix_spawn-tests: New file.
20670         * tests/test-posix_spawn3.c: New file.
20671
20672 2008-10-20  Bruno Haible  <bruno@clisp.org>
20673
20674         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
20675         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
20676         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
20677         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
20678         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
20679
20680 2008-10-20  Bruno Haible  <bruno@clisp.org>
20681
20682         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
20683         of posix_spawn on AIX 5.3.
20684
20685 2008-10-20  Bruno Haible  <bruno@clisp.org>
20686
20687         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
20688
20689 2008-10-20  Bruno Haible  <bruno@clisp.org>
20690
20691         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
20692         of AC_LANG_PROGRAM.
20693
20694 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20695
20696         * lib/netdb.in.h: Don't define GNU specific constants until they
20697         are supported or needed.  Reported by Bruno Haible
20698         <bruno@clisp.org>.
20699
20700 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20701
20702         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
20703
20704 2008-10-20  Simon Josefsson  <simon@josefsson.org>
20705
20706         * lib/getaddrinfo.h: Remove file.
20707         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
20708         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
20709         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
20710         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
20711         * modules/netdb: Substitute GNULIB_GETADDRINFO.
20712         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
20713         * tests/test-getaddrinfo.c: Likewise.
20714         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
20715         * NEWS: Mention change.
20716
20717 2008-10-19  Bruno Haible  <bruno@clisp.org>
20718
20719         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
20720
20721 2008-10-19  Bruno Haible  <bruno@clisp.org>
20722
20723         * lib/wait-process.c: Include simply <sys/wait.h>.
20724         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
20725         WIFSTOPPED): Remove fallback definitions.
20726         * modules/wait-process (Depends-on): Add sys_wait.
20727
20728         New module 'sys_wait'.
20729         * modules/sys_wait: New file.
20730         * lib/sys_wait.in.h: New file, partially copied from
20731         lib/wait-process.c.
20732         * m4/sys_wait_h.m4: New file.
20733         * doc/posix-headers/sys_wait.texi: Mention the new module.
20734
20735 2008-10-19  Bruno Haible  <bruno@clisp.org>
20736
20737         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
20738
20739 2008-10-19  Bruno Haible  <bruno@clisp.org>
20740
20741         Assume that waitpid() fills an 'int' status, not a 'union wait'.
20742         * lib/wait-process.c (WAIT_T): Remove type.
20743         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
20744         (wait_subprocess): Update.
20745
20746 2008-10-19  Bruno Haible  <bruno@clisp.org>
20747
20748         New module 'atoll'.
20749         * modules/atoll: New file.
20750         * lib/stdlib.in.h (atoll): New declaration.
20751         * lib/atoll.c: New file, from glibc with modifications.
20752         * m4/atoll.m4: New file.
20753         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
20754         HAVE_ATOLL.
20755         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
20756         * doc/posix-functions/atoll.texi: Mention the new module.
20757
20758 2008-10-19  Bruno Haible  <bruno@clisp.org>
20759
20760         Add strtoull() declaration to <stdlib.h>.
20761         * lib/stdlib.in.h (strtoull): New declaration.
20762         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
20763         Set HAVE_STRTOULL.
20764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
20765         HAVE_STRTOULL.
20766         * modules/strtoull (Depends-on): Add stdlib.
20767         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20768         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
20769         HAVE_STRTOULL.
20770
20771 2008-10-19  Bruno Haible  <bruno@clisp.org>
20772
20773         Add strtoll() declaration to <stdlib.h>.
20774         * lib/stdlib.in.h (strtoll): New declaration.
20775         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
20776         Set HAVE_STRTOLL.
20777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
20778         HAVE_STRTOLL.
20779         * modules/strtoll (Depends-on): Add stdlib.
20780         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20781         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
20782
20783 2008-10-19  Bruno Haible  <bruno@clisp.org>
20784
20785         * modules/bcopy (Depends-on): Add strings.
20786         (Include): Specify <strings.h>.
20787
20788 2008-10-19  Bruno Haible  <bruno@clisp.org>
20789
20790         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
20791
20792 2008-10-19  Bruno Haible  <bruno@clisp.org>
20793
20794         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
20795         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
20796         mingw.
20797
20798 2008-10-19  Bruno Haible  <bruno@clisp.org>
20799
20800         * lib/atanl.c: Don't include isnanl.h.
20801         * lib/cosl.c: Likewise.
20802         * lib/ldexpl.c: Likewise.
20803         * lib/logl.c: Likewise.
20804         * lib/sinl.c: Likewise.
20805         * lib/sqrtl.c: Likewise.
20806         * lib/tanl.c: Likewise.
20807
20808         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
20809         * lib/isnanf.h: Remove file.
20810         * lib/isnand.h: Remove file.
20811         * lib/isnanl.h: Remove file.
20812         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
20813         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
20814         macros.
20815         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
20816         HAVE_ISNANF, don't define it as a C macro.
20817         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
20818         HAVE_ISNAND, don't define it as a C macro.
20819         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
20820         HAVE_ISNANL, don't define it as a C macro.
20821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
20822         HAVE_ISNAN[FDL].
20823         * modules/isnanf (Files): Remove lib/isnanf.h.
20824         (Depends-on): Add math.
20825         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20826         (Include): Specify <math.h> instead of isnanf.h.
20827         * modules/isnand (Files): Remove lib/isnand.h.
20828         (Depends-on): Add math.
20829         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20830         (Include): Specify <math.h> instead of isnand.h.
20831         * modules/isnanl (Files): Remove lib/isnanl.h.
20832         (Depends-on): Add math.
20833         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20834         (Include): Specify <math.h> instead of isnanl.h.
20835         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
20836         HAVE_ISNAN[FDL].
20837         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
20838         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
20839         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
20840         * NEWS: Mention the change.
20841
20842 2008-10-18  Bruno Haible  <bruno@clisp.org>
20843
20844         Add getusershell(), setusershell(), endusershell() declarations to
20845         <unistd.h>.
20846         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
20847         declarations.
20848         * lib/getusershell.c: Include unistd.h.
20849         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
20850         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
20851         HAVE_GETUSERSHELL.
20852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
20853         and HAVE_GETUSERSHELL.
20854         * modules/getusershell (Depends-on): Add unistd, extensions.
20855         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20856         (Include): Specify <unistd.h>.
20857         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
20858         HAVE_GETUSERSHELL.
20859
20860 2008-10-18  Bruno Haible  <bruno@clisp.org>
20861
20862         Add a getloadavg() declaration to <stdlib.h>.
20863         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
20864         getloadavg declaration.
20865         (getloadavg): New declaration.
20866         * lib/getloadavg.c: Include <stdlib.h> first.
20867         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
20868         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
20869         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
20870         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
20871         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
20872         * modules/getloadavg (Depends-on): Add stdlib, extensions.
20873         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
20874         (Include): Specify <stdlib.h>.
20875         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
20876         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
20877
20878 2008-10-18  Bruno Haible  <bruno@clisp.org>
20879
20880         * lib/dirchownmod.c: Don't include lchmod.h.
20881
20882         Move the lchmod() declaration to <sys/stat.h>.
20883         * lib/lchmod.h: Remove file.
20884         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
20885         (lchmod): New declaration, moved here from lib/lchown.h.
20886         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
20887         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
20888         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
20889         and HAVE_LCHMOD.
20890         * modules/lchmod (Files): Remove lib/lchmod.h.
20891         (Depends-on): Add sys_stat, extensions.
20892         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
20893         (Include): Specify <sys/stat.h> instead of lchmod.h.
20894         * modules/sys_stat (Depends-on): Add link-warning.
20895         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
20896         definition of GL_LINK_WARNING.
20897         * NEWS: Mention the change.
20898
20899 2008-10-18  Bruno Haible  <bruno@clisp.org>
20900
20901         * lib/fchdir.c: Don't include dirfd.h.
20902         * lib/fts.c: Likewise.
20903         * lib/getcwd.c: Likewise.
20904         * lib/glob.c: Likewise.
20905
20906         Move the dirfd() declaration to <dirent.h>.
20907         * lib/dirfd.h: Remove file.
20908         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
20909         (dirfd): New declaration.
20910         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
20911         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
20912         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
20913         HAVE_DECL_DIRFD.
20914         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
20915         HAVE_DECL_DIRFD.
20916         * modules/dirfd (Files): Remove lib/dirfd.h.
20917         (Depends-on): Add dirent, extensions.
20918         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
20919         (Include): Specify <dirent.h> instead of dirfd.h.
20920         * modules/dirent (Depends-on): Add link-warning.
20921         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
20922         definition of GL_LINK_WARNING.
20923         * NEWS: Mention the change.
20924
20925 2008-10-18  Bruno Haible  <bruno@clisp.org>
20926
20927         Move the euidaccess() declaration to <unistd.h>.
20928         * lib/euidaccess.h: Remove file.
20929         * lib/unistd.in.h (euidaccess): New declaration.
20930         * lib/euidaccess.c: Don't include euidaccess.h.
20931         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
20932         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
20933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
20934         and HAVE_EUIDACCESS.
20935         * modules/euidaccess (Files): Remove lib/euidaccess.h.
20936         (Depends-on): Add unistd.
20937         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20938         (Include): Specify <unistd.h> instead of euidaccess.h.
20939         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
20940         HAVE_EUIDACCESS.
20941         * NEWS: Mention the change.
20942
20943 2008-10-18  Bruno Haible  <bruno@clisp.org>
20944
20945         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
20946
20947         Move the getdomainname() declaration to <unistd.h>.
20948         * lib/getdomainname.h: Remove file.
20949         * lib/unistd.in.h (getdomainname): New declaration.
20950         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
20951         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20952         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
20953         HAVE_GETDOMAINNAME.
20954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20955         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
20956         * modules/getdomainname (Files): Remove lib/getdomainname.h.
20957         (Depends-on): Add unistd, extensions.
20958         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20959         (Includes): Specify <unistd.h> instead of getdomainname.h.
20960         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
20961         HAVE_GETDOMAINNAME.
20962         * NEWS: Mention the change.
20963
20964 2008-10-18  Bruno Haible  <bruno@clisp.org>
20965
20966         * modules/dirent: New file.
20967         * m4/dirent_h.m4: New file.
20968         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
20969         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
20970         * modules/fchdir (Files): Remove lib/dirent.in.h.
20971         (Depends-on): Add dirent.
20972         (Makefile.am): Move rules to modules/dirent.
20973         * doc/posix-headers/dirent.texi: Mention the new module.
20974
20975 2008-10-18  Bruno Haible  <bruno@clisp.org>
20976
20977         Avoid -Wunused-parameter warnings in public gnulib header files.
20978         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
20979         macro.
20980         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
20981
20982 2008-10-18  Bruno Haible  <bruno@clisp.org>
20983
20984         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
20985         * doc/glibc-functions/error.texi: Mention the module 'error'.
20986         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
20987         * doc/glibc-functions/getdomainname.texi: Mention the module
20988         'getdomainname'.
20989         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
20990         * doc/glibc-functions/getpagesize.texi: Mention the module
20991         'getpagesize'.
20992         * doc/glibc-functions/getusershell.texi: Mention the module
20993         'getusershell'.
20994         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
20995         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
20996         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
20997         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
20998         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
20999         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
21000         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
21001         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
21002         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
21003         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
21004         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
21005         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
21006         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
21007         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
21008
21009 2008-10-17  Bruno Haible  <bruno@clisp.org>
21010
21011         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
21012         HP-UX and IRIX, use -0.0L.
21013         * tests/test-ceill.c (minus_zero): Likewise.
21014         * tests/test-floorl.c (minus_zero): Likewise.
21015         * tests/test-frexpl.c (minus_zero): Likewise.
21016         * tests/test-isnan.c (minus_zerol): Likewise.
21017         * tests/test-isnanl.h (minus_zero): Likewise.
21018         * tests/test-ldexpl.c (minus_zero): Likewise.
21019         * tests/test-roundl.c (minus_zero): Likewise.
21020         * tests/test-signbit.c (minus_zerol): Likewise.
21021         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21022         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21023         * tests/test-truncl.c (minus_zero): Likewise.
21024         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21025         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21026         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
21027         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21028
21029 2008-10-17  Bruno Haible  <bruno@clisp.org>
21030
21031         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
21032         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
21033         that it gets activated only for gcc >= 3.0.
21034         * lib/dirent.in.h: Likewise.
21035         * lib/errno.in.h: Likewise.
21036         * lib/fcntl.in.h: Likewise.
21037         * lib/float.in.h: Likewise.
21038         * lib/iconv.in.h: Likewise.
21039         * lib/inttypes.in.h: Likewise.
21040         * lib/locale.in.h: Likewise.
21041         * lib/math.in.h: Likewise.
21042         * lib/netdb.in.h: Likewise.
21043         * lib/netinet_in.in.h: Likewise.
21044         * lib/search.in.h: Likewise.
21045         * lib/signal.in.h: Likewise.
21046         * lib/spawn.in.h: Likewise.
21047         * lib/stdarg.in.h: Likewise.
21048         * lib/stdint.in.h: Likewise.
21049         * lib/stdio.in.h: Likewise.
21050         * lib/stdlib.in.h: Likewise.
21051         * lib/string.in.h: Likewise.
21052         * lib/strings.in.h: Likewise.
21053         * lib/sys_file.in.h: Likewise.
21054         * lib/sys_ioctl.in.h: Likewise.
21055         * lib/sys_select.in.h: Likewise.
21056         * lib/sys_socket.in.h: Likewise.
21057         * lib/sys_stat.in.h: Likewise.
21058         * lib/sys_time.in.h: Likewise.
21059         * lib/sysexits.in.h: Likewise.
21060         * lib/time.in.h: Likewise.
21061         * lib/unistd.in.h: Likewise.
21062         * lib/wchar.in.h: Likewise.
21063         * lib/wctype.in.h: Likewise.
21064         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
21065
21066 2008-10-17  Jim Meyering  <meyering@redhat.com>
21067
21068         ignore-value: don't depend on inline module
21069         * modules/ignore-value (Depends-on): Remove 'inline'.
21070         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
21071         Suggestion from Bruno Haible.
21072
21073 2008-10-17  Bruno Haible  <bruno@clisp.org>
21074
21075         New implementation of condition variables for Win32.
21076         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
21077         (gl_linked_waitqueue_t): New type.
21078         (gl_cond_t): Use it.
21079         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
21080         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
21081         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
21082         (glthread_cond_init_func, glthread_cond_wait_func,
21083         glthread_cond_timedwait_func, glthread_cond_signal_func,
21084         glthread_cond_broadcast_func, glthread_cond_destroy_func):
21085         Reimplemented on the basis of gl_linked_waitqueue_t.
21086         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
21087         gl_waitqueue_t.
21088         (gl_rwlock_t): Update.
21089         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
21090
21091 2008-10-17  Simon Josefsson  <simon@josefsson.org>
21092
21093         * modules/recvfrom (Depends-on): Add dependency on getpeername.
21094         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21095
21096 2008-10-17  Jim Meyering  <meyering@redhat.com>
21097
21098         ignore-value: new module
21099         * modules/ignore-value: New file.
21100         * lib/ignore-value.h: New file.
21101         * MODULES.html.sh (Compiler warning management): New section,
21102         just for this module.  More to come.
21103
21104 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21105
21106         open-safer.c: avoid 'signed and unsigned in conditional...' warning
21107         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
21108         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
21109
21110 2008-10-16  Jim Meyering  <meyering@redhat.com>
21111
21112         openat-die.c: avoid 'no previous prototype' warning
21113         * lib/openat-die.c: Include "openat.h".
21114         Reported by Reuben Thomas <rrt@sc3d.org>.
21115
21116 2008-10-16  Simon Josefsson  <simon@josefsson.org>
21117
21118         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
21119         * lib/netdb.in.h: Fix typo.
21120         Reported by Bruno Haible  <bruno@clisp.org>
21121
21122         * lib/netdb.in.h: Include sys/socket.h for platforms without
21123         netdb.h, to get structures like hostent on MinGW.
21124         * modules/netdb (Depends-on): Add sys_socket.
21125
21126 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21127
21128         * modules/netdb, modules/netdb-tests: New file.
21129         * m4/netdb_h.m4: New file.
21130         * lib/netdb.in.h: Add, currently just an empty file pending
21131         definitions.
21132         * tests/test-netdb.c: New file.
21133         * doc/posix-headers/netdb.texi: Mention that we replace it if
21134         needed.
21135         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21136         netdb.
21137
21138 2008-10-15  Simon Josefsson  <simon@josefsson.org>
21139
21140         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
21141         with code.
21142
21143 2008-10-13  Bruno Haible  <bruno@clisp.org>
21144
21145         * lib/glthread/cond.c (glthread_cond_wait_func,
21146         glthread_cond_timedwait_func): Add a comment.
21147
21148 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21149
21150         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
21151         * tests/test-select.c: Likewise,
21152
21153 2008-10-13  Bruno Haible  <bruno@clisp.org>
21154
21155         * lib/glthread/cond.c (glthread_cond_wait_func,
21156         glthread_cond_timedwait_func): Fix variable name.
21157         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
21158
21159 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
21160
21161         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
21162         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
21163         struct sockaddr.sa_len.
21164         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
21165
21166 2008-10-13  Simon Josefsson  <simon@josefsson.org>
21167
21168         * build-aux/pmccabe2html: Add css and css_url parameters.
21169
21170 2008-10-12  Bruno Haible  <bruno@clisp.org>
21171
21172         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
21173         calling aclx_get.
21174         Reported by Rainer Tammer <tammer@tammer.net>.
21175
21176 2008-10-12  Bruno Haible  <bruno@clisp.org>
21177
21178         Use msvcrt aware primitives for creation/termination of Win32 threads.
21179         * lib/glthread/thread.c: Include <process.h>.
21180         (glthread_create_func): Use _beginthreadex instead of CreateThread.
21181         (wrapper_func): Update signature.
21182         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
21183
21184 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21185             Bruno Haible  <bruno@clisp.org>
21186
21187         Provide a Win32 implementation of the 'cond' module.
21188         * lib/glthread/cond.h [USE_WIN32]: New implementation.
21189         * lib/glthread/cond.c (glthread_cond_init_func,
21190         glthread_cond_wait_func, glthread_cond_timedwait_func,
21191         glthread_cond_signal_func, glthread_cond_broadcast_func,
21192         glthread_cond_destroy_func) [USE_WIN32]: New functions.
21193         * modules/cond (Dependencies): Add gettimeofday.
21194
21195 2008-10-11  Bruno Haible  <bruno@clisp.org>
21196
21197         Make sleep work on older versions of mingw.
21198         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
21199         only whether it exists.
21200         * doc/posix-functions/sleep.texi: Mention the problem with older
21201         versions of mingw.
21202
21203 2008-10-11  Bruno Haible  <bruno@clisp.org>
21204
21205         New module 'shutdown'.
21206         * modules/shutdown: New file.
21207         * lib/sys_socket.in.h (shutdown): New declaration.
21208         * lib/winsock.c (shutdown): New function.
21209         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21210         GNULIB_SHUTDOWN.
21211         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
21212         * doc/posix-functions/shutdown.texi: Document the new module.
21213
21214 2008-10-11  Jim Meyering  <meyering@redhat.com>
21215
21216         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
21217
21218 2008-10-11  Bruno Haible  <bruno@clisp.org>
21219
21220         New module 'fclose'.
21221         * modules/fclose: New file.
21222         * lib/stdio.in.h (fclose): New declaration.
21223         * lib/fclose.c: New file.
21224         * m4/fclose.m4: New file.
21225         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
21226         REPLACE_FCLOSE.
21227         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
21228         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
21229         REPLACE_FCLOSE.
21230         * modules/close (Depends-on): fclose.
21231         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
21232
21233 2008-10-11  Bruno Haible  <bruno@clisp.org>
21234
21235         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
21236         set errno and don't call _close.
21237
21238 2008-10-10  Bruno Haible  <bruno@clisp.org>
21239
21240         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
21241         ACL, not afterwards. Fixes test failure on Cygwin.
21242
21243 2008-10-09  Ben Pfaff  <blp@gnu.org>
21244
21245         * build-aux/announce-gen: Fix gnulib version related part of usage
21246         message.  Die with a useful error message if no tarballs are
21247         found.
21248
21249 2008-10-10  Jim Meyering  <meyering@redhat.com>
21250
21251         bootstrap: use git's --depth=N option only if it's supported
21252         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
21253         recognize the --depth option.  Reported by Pádraig Brady.
21254
21255 2008-10-09  Bruno Haible  <bruno@clisp.org>
21256
21257         New module 'ioctl'.
21258         * modules/ioctl: New file.
21259         * lib/sys_socket.in.h (ioctl): Remove declaration.
21260         * lib/winsock.c: Include <sys/ioctl.h>.
21261         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
21262         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
21263         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
21264         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
21265         * doc/posix-functions/ioctl.texi: Mention the new module.
21266
21267 2008-10-09  Bruno Haible  <bruno@clisp.org>
21268
21269         New module 'sys_ioctl'.
21270         * lib/sys_ioctl.in.h: New file.
21271         * m4/sys_ioctl_h.m4: New file.
21272         * modules/sys_ioctl: New file.
21273         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
21274
21275 2008-10-09  Bruno Haible  <bruno@clisp.org>
21276
21277         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
21278         * lib/winsock.c: Include <stdarg.h>.
21279         (rpl_ioctl): Change to second argument 'int' and then varargs.
21280
21281 2008-10-09  Bruno Haible  <bruno@clisp.org>
21282
21283         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
21284         when the sys_socket module is present and the system has <winsock2.h>.
21285
21286 2008-10-09  Bruno Haible  <bruno@clisp.org>
21287
21288         * doc/posix-functions/close.texi: Mention module 'close' instead of
21289         module 'sys_socket'.
21290
21291 2008-10-09  Bruno Haible  <bruno@clisp.org>
21292
21293         * doc/glibc-headers/sys_ioctl.texi: New file.
21294         * doc/gnulib.texi: Include it.
21295
21296 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21297             Bruno Haible  <bruno@clisp.org>
21298
21299         Combine the two replacements of 'close'.
21300         * lib/sys_socket.in.h (close): Define to a reminder to include
21301         <unistd.h>.
21302         (_gl_close_fd_maybe_socket): New declaration.
21303         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
21304         * lib/winsock.c (close): Remove undefinition.
21305         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
21306         needed for the gnulib module 'close'.
21307         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
21308         define to an error symbol or to a warning, if suitable.
21309         * lib/close.c: Include <sys/socket.h>.
21310         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
21311         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
21312         UNISTD_H_HAVE_WINSOCK2_H.
21313         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
21314         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21315         UNISTD_H_HAVE_WINSOCK2_H.
21316         * modules/sys_socket (Files): Add m4/unistd_h.m4.
21317         (configure.ac): Set a module indicator.
21318         (Makefile.am): Substitute GNULIB_CLOSE.
21319         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
21320         * modules/poll-tests (Depends-on): Add close.
21321         * modules/select-tests (Depends-on): Likewise.
21322
21323 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21324             Bruno Haible  <bruno@clisp.org>
21325
21326         New module 'close'.
21327         * modules/close: New file.
21328         * lib/unistd.in.h (close): Move declaration out of the
21329         FCHDIR_REPLACEMENT scope.
21330         (_gl_unregister_fd): New declaration.
21331         * lib/close.c: New file.
21332         * lib/fchdir.c (rpl_close): Remove function.
21333         * m4/close.m4: New file.
21334         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21335         close.
21336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
21337         REPLACE_CLOSE.
21338         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
21339         REPLACE_CLOSE.
21340         * modules/fchdir (Depends-on): Add close.
21341
21342 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21343             Bruno Haible  <bruno@clisp.org>
21344
21345         * lib/fcntl.in.h (open): Simplify conditionals.
21346         (_gl_register_fd): New declaration.
21347         * lib/fchdir.c (rpl_open): Remove function.
21348         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
21349         also.
21350         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
21351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
21352         open.
21353
21354 2008-10-09  Jim Meyering  <meyering@redhat.com>
21355
21356         GNUmakefile: use the more name-space-friendly "_version"
21357         * top/GNUmakefile (_dummy): Update.
21358         (_version): Rename from "version".
21359
21360 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21361             Bruno Haible  <bruno@clisp.org>
21362
21363         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
21364         rpl_close.
21365         (_gl_register_fd): New function, extracted from rpl_open.
21366         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
21367         (rpl_open, rpl_opendir): Use _gl_register_fd.
21368
21369 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
21370
21371         Fix organization of 'open' replacement.
21372         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
21373         (gl_FUNC_OPEN): Use it.
21374         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
21375
21376 2008-10-08  Bruno Haible  <bruno@clisp.org>
21377
21378         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
21379
21380 2008-10-08  Simon Josefsson  <simon@josefsson.org>
21381
21382         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
21383         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
21384         listen).
21385
21386 2008-10-08  Eric Blake  <ebb9@byu.net>
21387
21388         GNUmakefile: add 'make version' target
21389         * top/GNUmakefile (_curr-ver): Split version update rules...
21390         (version): ...into a target.
21391
21392 2008-10-07  Bruno Haible  <bruno@clisp.org>
21393
21394         Use a more portable replacement expression for -0.0L.
21395         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
21396         instead of -0.0L. Fix m4 quotation.
21397
21398         * tests/test-signbit.c: Include <float.h>.
21399         (minus_zero): New variable.
21400         (test_signbitl): Use minus_zero instead of -zero.
21401         * modules/signbit-tests (Depends-on): Add float.
21402
21403         * tests/test-ceill.c: Include <float.h>.
21404         (zero): Remove variable.
21405         (minus_zero): New variable.
21406         (main): Use minus_zero instead of -zero.
21407         * modules/ceill-tests (Depends-on): Add float.
21408
21409         * tests/test-floorl.c: Include <float.h>.
21410         (zero): Remove variable.
21411         (minus_zero): New variable.
21412         (main): Use minus_zero instead of -zero.
21413         * modules/floorl-tests (Depends-on): Add float.
21414
21415         * tests/test-roundl.c: Include <float.h>.
21416         (zero): Remove variable.
21417         (minus_zero): New variable.
21418         (main): Use minus_zero instead of -zero.
21419         * modules/roundl-tests (Depends-on): Add float.
21420
21421         * tests/test-truncl.c: Include <float.h>.
21422         (zero): Remove variable.
21423         (minus_zero): New variable.
21424         (main): Use minus_zero instead of -zero.
21425         * modules/truncl-tests (Depends-on): Add float.
21426
21427         * tests/test-frexpl.c (zero): Remove variable.
21428         (minus_zero): New variable.
21429         (main): Use minus_zero instead of -zero.
21430         * modules/frexpl-tests (Depends-on): Add float.
21431
21432         * tests/test-isnan.c (zerol): Remove variable.
21433         (minus_zerol): New variable.
21434         (test_long_double): Use minus_zerol instead of -zerol.
21435         * modules/isnan-tests (Depends-on): Add float.
21436
21437         * tests/test-isnanl.h (zero): Remove variable.
21438         (minus_zero): New variable.
21439         (main): Use minus_zero instead of -zero.
21440         * modules/isnanl-nolibm-tests (Depends-on): Add float.
21441         * modules/isnanl-tests (Depends-on): Add float.
21442
21443         * tests/test-ldexpl.c (zero): Remove variable.
21444         (minus_zero): New variable.
21445         (main): Use minus_zero instead of -zero.
21446         * modules/ldexpl-tests (Depends-on): Add float.
21447
21448         * tests/test-snprintf-posix.h (zerol): Remove variable.
21449         (minus_zerol): New variable.
21450         (test_function): Use minus_zerol instead of -zerol.
21451         * modules/snprintf-posix-tests (Depends-on): Add float.
21452         * modules/vsnprintf-posix-tests (Depends-on): Add float.
21453
21454         * tests/test-sprintf-posix.h (zerol): Remove variable.
21455         (minus_zerol): New variable.
21456         (test_function): Use minus_zerol instead of -zerol.
21457         * modules/sprintf-posix-tests (Depends-on): Add float.
21458         * modules/vsprintf-posix-tests (Depends-on): Add float.
21459
21460         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
21461         (minus_zerol): New variable.
21462         (test_function): Use minus_zerol instead of -zerol.
21463         * modules/vasnprintf-posix-tests (Depends-on): Add float.
21464
21465         * tests/test-vasprintf-posix.c (zerol): Remove variable.
21466         (minus_zerol): New variable.
21467         (test_function): Use minus_zerol instead of -zerol.
21468         * modules/vasprintf-posix-tests (Depends-on): Add float.
21469
21470 2008-10-07  Simon Josefsson  <simon@josefsson.org>
21471
21472         * MODULES.html.sh (Support for building documentation): Mention
21473         pmccabe2html.  Sort entries.
21474
21475         Add pmccabe2html module, from gnupdf.
21476         * build-aux/pmccabe.css: New file.
21477         * build-aux/pmccabe2html: New file.
21478         * m4/pmccabe2html.m4: New file.
21479         * modules/pmccabe2html: New file.
21480
21481 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
21482
21483         flock: new module
21484         * MODULES.html.sh: Add to list of modules.
21485         * lib/flock.c: flock implementation for Windows and Unix systems
21486         which have fcntl.
21487         * doc/glibc-functions/flock.texi: Update documentation.
21488         * lib/sys_file.in.h: <sys/file.h> header file.
21489         * m4/flock.m4: M4 macros.
21490         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
21491         * modules/flock: flock module.
21492         * modules/flock-tests: flock tests module.
21493         * modules/sys_file: sys/file.h module.
21494         * tests/test-flock.c: test suite for flock.
21495
21496 2008-10-06  Jim Meyering  <meyering@redhat.com>
21497
21498         bootstrap: check for LT_INIT more portably still ;-)
21499         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
21500         Spotted by Bruno Haible.
21501
21502 2008-10-06  Eric Blake  <ebb9@byu.net>
21503
21504         test-signbit: avoid tripping Irix cc bug on -0.0L
21505         * tests/test-signbit.c (minus_zerol): Delete, and replace with
21506         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
21507         entire testsuite consistent and avoids an Irix 6.2 bug.
21508
21509 2008-10-05  Bruno Haible  <bruno@clisp.org>
21510             Jim Meyering  <jim@meyering.net>
21511
21512         Add an option for ignoring EPIPE during close_stdout.
21513         * lib/closeout.h: Include <stdbool.h>.
21514         (close_stdout_set_ignore_EPIPE): New declaration.
21515         * lib/closeout.c: Include <stdbool.h>.
21516         (ignore_EPIPE): New variable.
21517         (close_stdout_set_ignore_EPIPE): New function.
21518         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
21519         * lib/close-stream.c (close_stream): Mention the possible EPIPE
21520         failure.
21521         * modules/closeout (Depends-on): Add stdbool.
21522
21523 2008-10-05  Bruno Haible  <bruno@clisp.org>
21524
21525         * modules/accept: New file.
21526         * modules/bind: New file.
21527         * modules/connect: New file.
21528         * modules/getpeername: New file.
21529         * modules/getsockname: New file.
21530         * modules/getsockopt: New file.
21531         * modules/listen: New file.
21532         * modules/recv: New file.
21533         * modules/recvfrom: New file.
21534         * modules/send: New file.
21535         * modules/sendto: New file.
21536         * modules/setsockopt: New file.
21537         * modules/socket: New file.
21538         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
21539         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21540         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
21541         the particular module is requested. Add a link warning when the
21542         particular module is not requested.
21543         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
21544         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
21545         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
21546         the particular module is requested.
21547         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
21548         gl_SYS_SOCKET_H_DEFAULTS): New macros.
21549         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
21550         * modules/sys_socket (Depends-on): Add link-warning.
21551         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
21552         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
21553         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
21554         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
21555         GL_LINK_WARNING.
21556         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
21557         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
21558         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
21559         * doc/posix-functions/getpeername.texi: Mention the new module
21560         'getpeername'.
21561         * doc/posix-functions/getsockname.texi: Mention the new module
21562         'getsockname'.
21563         * doc/posix-functions/getsockopt.texi: Mention the new module
21564         'getsockopt'.
21565         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
21566         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
21567         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
21568         * doc/posix-functions/send.texi: Mention the new module 'send'.
21569         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
21570         * doc/posix-functions/setsockopt.texi: Mention the new module
21571         'setsockopt'.
21572         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
21573         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
21574         listen, connect, accept.
21575         * modules/select-tests (Depends-on): Likewise.
21576
21577 2008-10-05  Bruno Haible  <bruno@clisp.org>
21578
21579         * lib/winsock.c (strerror): Remove unused #undef.
21580         (rpl_close): Remove unused local variable.
21581
21582         * modules/sys_socket (Depends-on); Add errno.
21583
21584 2008-10-05  Bruno Haible  <bruno@clisp.org>
21585
21586         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
21587         (select): Add a link warning when the 'select' module is not used.
21588         * modules/sys_select (Depends-on): Add link-warning.
21589         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
21590         Suggested by Paolo Bonzini.
21591
21592 2008-10-05  Jim Meyering  <meyering@redhat.com>
21593
21594         bootstrap: check for LT_INIT more portably
21595         * build-aux/bootstrap: Avoid using grep -E, since it's not
21596         portable enough.  Suggestion from Bruno Haible.
21597
21598 2008-10-05  Bruno Haible  <bruno@clisp.org>
21599
21600         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
21601         as being fixed by gnulib.
21602
21603 2008-10-05  Bruno Haible  <bruno@clisp.org>
21604
21605         * modules/select-tests: New file, mostly copied from
21606         modules/sys_select-tests.
21607         * tests/test-select.c: New file, mostly copied from
21608         tests/test-sys_select.c.
21609         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
21610         * modules/sys_select-tests (Depends-on): Remove all dependencies.
21611         (Makefile.am): Remove test_sys_select_LDADD.
21612
21613         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
21614         to an undefined symbol, for an error message.
21615         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
21616         (gl_SYS_SELECT_H_DEFAULTS): New macro.
21617         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
21618         winsock-select.c here.
21619         * modules/sys_select (Files): Remove lib/winsock-select.c.
21620         (Depends-on): Remove alloca.
21621         (Makefile.am): Substitute GNULIB_SELECT.
21622         * modules/select: New file.
21623         * doc/posix-functions/select.texi: Update.
21624
21625 2008-10-05  Bruno Haible  <bruno@clisp.org>
21626
21627         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
21628         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
21629         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
21630         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
21631         getdtablesize.
21632         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21633         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21634
21635 2008-10-05  Bruno Haible  <bruno@clisp.org>
21636
21637         * modules/getdtablesize-tests: New file.
21638         * tests/test-getdtablesize.c: New file.
21639
21640         New module 'getdtablesize'.
21641         * lib/unistd.in.h (getdtablesize): New declaration.
21642         * lib/getdtablesize.c: New file.
21643         * m4/getdtablesize.m4: New file.
21644         * modules/getdtablesize: New file.
21645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21646         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
21647         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
21648         HAVE_GETDTABLESIZE.
21649         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
21650
21651 2008-10-05  Bruno Haible  <bruno@clisp.org>
21652
21653         * modules/sched (Makefile.am): Fix typo.
21654         Reported by Simon Josefsson.
21655
21656 2008-10-05  Jim Meyering  <meyering@redhat.com>
21657
21658         bootstrap: check for LT_INIT, too
21659         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
21660         are deprecated.  Suggestion from Ralf Wildenhues.
21661
21662 2008-10-05  Bruno Haible  <bruno@clisp.org>
21663
21664         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
21665         overriding them by ours.
21666         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
21667
21668 2008-10-05  Jim Meyering  <meyering@redhat.com>
21669
21670         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
21671         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
21672         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
21673
21674 2008-10-04  Bruno Haible  <bruno@clisp.org>
21675
21676         * modules/dup2 (License): Change to LGPLv2+.
21677         * modules/sleep (License): Likewise.
21678         * modules/perror (License): Likewise.
21679         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
21680         Blake.
21681         * modules/signal (License): Likewise.
21682         * modules/sigprocmask (License): Likewise.
21683         * modules/raise (License): Change to LGPLv2+, with approval by Jim
21684         Meyering.
21685
21686 2008-10-04  Bruno Haible  <bruno@clisp.org>
21687
21688         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
21689         Reported by Rainer Tammer <tammer@tammer.net>.
21690
21691 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
21692             Bruno Haible  <bruno@clisp.org>
21693
21694         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
21695         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
21696         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
21697
21698 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
21699
21700         filevercmp: new module
21701         * lib/filevercmp.h: New function filevercmp comparing version strings.
21702         * lib/filevercmp.c: Implementation of filevercmp function.
21703         * modules/filevercmp: Module metadata.
21704         * tests/test-filevercmp.c: Unit test for new module.
21705         * modules/filevercmp-tests: Unit test metadata.
21706         * MODULES.html.sh: Add filevercmp module.
21707
21708 2008-10-03  Bruno Haible  <bruno@clisp.org>
21709
21710         * lib/c-ctype.h: Add comment.
21711         Reported by Jim Meyering.
21712
21713 2008-10-02  Bruno Haible  <bruno@clisp.org>
21714
21715         * modules/posix_spawn-internal (Depends-on): Add 'open'.
21716
21717 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21718
21719         * build-aux/bootstrap: Allow renaming bootstrap, and change the
21720         name of bootstrap.conf accordingly.
21721
21722 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21723
21724         * build-aux/bootstrap: Install git-merge-changelog configuration
21725         items into .gitconfig if needed.
21726
21727 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
21728
21729         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
21730         git repository, and initialize/update it accordingly.
21731
21732 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
21733
21734         * modules/fsync-tests: New file.
21735         * tests/test-fsync.c: New file.
21736
21737         New module 'fsync'.
21738         * lib/fsync.c: New file.
21739         * m4/fsync.m4: New file.
21740         * modules/fsync: New file.
21741         * lib/unistd.in.h (fsync): New declaration.
21742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
21743         GNULIB_FSYNC and HAVE_FSYNC.
21744         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
21745         * MODULES.html.sh (posix_functions): Add fsync.
21746         * doc/posix-functions/fsync.texi: Mention the new module.
21747
21748 2008-10-02  Jim Meyering  <meyering@redhat.com>
21749
21750         fts.c: sync with similar code from coreutils' remove.c
21751         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
21752         Guard also with "#if defined __linux__", since for now at least,
21753         this code is Linux-kernel-specific.
21754
21755 2008-10-02  Jim Meyering  <meyering@redhat.com>
21756
21757         fts: bug fixes
21758         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
21759         Include <sys/vfs.h>, not <sys/statfs.h>.
21760
21761         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
21762         Include <sys/vfs.h>, not <sys/statfs.h>.
21763
21764 2008-10-01  Bruno Haible  <bruno@clisp.org>
21765
21766         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
21767         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
21768         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
21769         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
21770         * doc/posix-functions/posix_spawnp.texi: Likewise.
21771         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
21772         whether posix_spawn actually works.
21773         * m4/pipe.m4 (gl_PIPE): Likewise.
21774         * modules/execute (Files): Add m4/posix_spawn.m4.
21775         * modules/pipe (Files): Add m4/posix_spawn.m4.
21776         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
21777
21778 2008-10-01  Jim Meyering  <meyering@redhat.com>
21779
21780         remove trailing spaces
21781         * NEWS: Likewise.
21782         * lib/poll.c (poll): Likewise.
21783         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
21784         * lib/winsock.c (rpl_close): Likewise.
21785         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
21786         * modules/yield: Likewise.
21787         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
21788         * tests/test-sys_select.c (connect_to_socket): Likewise.
21789
21790         fts.c: adjust a new interface to be more generally useful
21791         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
21792         (fts_build): Adjust caller.
21793
21794 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21795
21796         * modules/cond-tests: New file.
21797         * tests/test-cond.c: New file.
21798
21799 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21800             Bruno Haible  <bruno@clisp.org>
21801
21802         * modules/cond (Dependencies): Add errno, time.
21803         * lib/glthread/cond.h: Include <time.h>.
21804         (gl_cond_define, gl_cond_define_initialized): Use the same definition
21805         across platforms.
21806
21807 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21808             Bruno Haible  <bruno@clisp.org>
21809
21810         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
21811
21812 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21813             Bruno Haible  <bruno@clisp.org>
21814
21815         * modules/tls-tests (Depends-on): Add thread, yield.
21816         (configure.ac): Remove all checks.
21817         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
21818         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
21819         gl_thread_self): Remove definitions. Include glthread/thread.h and
21820         glthread/yield.h instead.
21821         (test_tls): Pass an additional NULL argument to gl_thread_join.
21822
21823 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
21824             Bruno Haible  <bruno@clisp.org>
21825
21826         * modules/lock-tests (Depends-on): Add thread, yield.
21827         (configure.ac): Remove all checks.
21828         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
21829         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
21830         gl_thread_self): Remove definitions. Include glthread/thread.h and
21831         glthread/yield.h instead.
21832         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
21833         additional NULL argument to gl_thread_join.
21834
21835 2008-09-30  Bruno Haible  <bruno@clisp.org>
21836
21837         Fix the Win32 implementation of the 'thread' module.
21838         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
21839         pointer type.
21840         (gl_thread_self): Invoke gl_thread_self_func.
21841         (gl_thread_self_func): New declaration.
21842         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
21843         (do_init_self_key, init_self_key): New functions.
21844         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
21845         Remove some fields.
21846         (running_threads, running_lock): Remove variables.
21847         (get_current_thread_handle): New function.
21848         (gl_thread_self_func, wrapper_func, glthread_create_func,
21849         glthread_join_func, gl_thread_exit_func): Largely rewritten and
21850         simplified.
21851
21852 2008-09-30  Bruno Haible  <bruno@clisp.org>
21853
21854         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
21855         files.
21856
21857 2008-09-30  Jim Meyering  <meyering@redhat.com>
21858
21859         fts.m4: correct the test for statfs.f_type
21860         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
21861         when checking for statfs.f_type.
21862
21863 2008-09-15  Simon Josefsson  <simon@josefsson.org>
21864
21865         tests: avoid some compiler warnings
21866         * tests/test-memchr.c (main): Pass NULL indirectly.
21867         * tests/test-getdate.c (main): Remove unused variable 'ret'.
21868
21869 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
21870
21871         getdate.y: disallow countable dayshifts like "4 yesterday ago"
21872         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
21873         exactly specified dayshifts.
21874         (dayshift): New rule.
21875         (rel): Add dayshift.
21876         (relative_time_table) [tomorrow, yesterday, today, now]:
21877         Use tDAY_SHIFT in place of tDAY_UNIT.
21878         * tests/test-getdate.c: Add tests for now-disallowed countable
21879         dayshifts, e.g., "4 yesterday ago".
21880
21881 2008-09-29  Bruno Haible  <bruno@clisp.org>
21882
21883         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
21884         * tests/test-posix_spawn1.in.sh: Renamed from
21885         tests/test-posix_spawn.in.sh.
21886         * tests/test-posix_spawn2.c: New file.
21887         * tests/test-posix_spawn2.in.sh: New file.
21888         * modules/posix_spawnp-tests (Files): Update.
21889         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
21890
21891 2008-09-29  Bruno Haible  <bruno@clisp.org>
21892
21893         Propagate effects of putenv/setenv/unsetenv to child processes.
21894         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
21895         * lib/pipe.c (create_pipe): Likewise.
21896
21897 2008-09-29  Bruno Haible  <bruno@clisp.org>
21898
21899         Enable use of shell scripts as executables in mingw.
21900         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
21901         run the program as a shell script.
21902         * lib/pipe.c (create_pipe): Likewise.
21903         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
21904         resulting array.
21905
21906 2008-09-29  Eric Blake  <ebb9@byu.net>
21907
21908         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
21909
21910 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
21911
21912         * doc/posix-functions/accept.texi: Update mingw problems.
21913         * doc/posix-functions/bind.texi: Update mingw problems.
21914         * doc/posix-functions/close.texi: Update mingw problems.
21915         * doc/posix-functions/connect.texi: Update mingw problems.
21916         * doc/posix-functions/getpeername.texi: Update mingw problems.
21917         * doc/posix-functions/getsockname.texi: Update mingw problems.
21918         * doc/posix-functions/getsockopt.texi: Update mingw problems.
21919         * doc/posix-functions/ioctl.texi: Update mingw problems.
21920         * doc/posix-functions/listen.texi: Update mingw problems.
21921         * doc/posix-functions/recv.texi: Update mingw problems.
21922         * doc/posix-functions/recvfrom.texi: Update mingw problems.
21923         * doc/posix-functions/select.texi: Update mingw problems.
21924         * doc/posix-functions/send.texi: Update mingw problems.
21925         * doc/posix-functions/sendto.texi: Update mingw problems.
21926         * doc/posix-functions/setsockopt.texi: Update mingw problems.
21927         * doc/posix-functions/socket.texi: Update mingw problems.
21928
21929 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
21930             Bruno Haible  <bruno@clisp.org>
21931
21932         * lib/sys_select.in.h: Include sys/time.h.
21933         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
21934         * modules/sys_select: Depend on sys_time.
21935         * tests/test-sys_select.c: Test that sys/select.h defines struct
21936         timeval fully.
21937
21938 2008-09-29  Bruno Haible  <bruno@clisp.org>
21939
21940         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
21941         * lib/sys_select.in.h: Likewise.
21942
21943 2008-09-29  Bruno Haible  <bruno@clisp.org>
21944
21945         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
21946
21947 2008-09-29  Bruno Haible  <bruno@clisp.org>
21948
21949         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
21950         Set LIBSOCKET instead of augmenting LIBS.
21951         * modules/sockets (Link): New section.
21952         * modules/sockets-tests (test_sockets_LDADD): New variable.
21953         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
21954         * modules/poll-tests (test_poll_LDADD): New variable.
21955         * NEWS: Document the change.
21956
21957 2008-09-29  Bruno Haible  <bruno@clisp.org>
21958
21959         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
21960         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
21961         ARPA_INET_H directly.
21962         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21963
21964 2008-09-28  Bruno Haible  <bruno@clisp.org>
21965
21966         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
21967         from gl_HEADER_SYS_SOCKET.
21968         (gl_HEADER_SYS_SOCKET): Invoke it.
21969         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21970
21971 2008-09-28  Bruno Haible  <bruno@clisp.org>
21972
21973         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
21974         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
21975         Needed on OSF/1 4.0.
21976
21977 2008-09-28  Bruno Haible  <bruno@clisp.org>
21978
21979         Override open more carefully.
21980         * lib/open.c (orig_open): New function.
21981         (rpl_open): Use orig_open instead of open.
21982         * lib/fcntl.in.h: Add special invocation convention.
21983         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
21984         (gl_FUNC_OPEN): Invoke it.
21985
21986         Override freopen more carefully.
21987         * lib/freopen.c (orig_freopen): New function.
21988         (rpl_freopen): Use orig_freopen instead of freopen.
21989         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
21990         (gl_FUNC_FREOPEN): Invoke it.
21991
21992         Override fopen more carefully.
21993         * lib/fopen.c (orig_fopen): New function.
21994         (rpl_fopen): Use orig_fopen instead of fopen.
21995         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
21996         (gl_FUNC_FOPEN): Invoke it.
21997         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
21998
21999 2008-09-28  Bruno Haible  <bruno@clisp.org>
22000
22001         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
22002         SIGPIPE.
22003
22004 2008-09-28  Bruno Haible  <bruno@clisp.org>
22005
22006         * tests/test-sigaction.c (handler, main): Disable the check whether
22007         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
22008         glibc systems with LinuxThreads.
22009
22010 2008-09-28  Bruno Haible  <bruno@clisp.org>
22011
22012         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
22013
22014         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
22015         with AIX xlc.
22016         * lib/fcntl.in.h (open): Likewise.
22017         Reported by Rainer Tammer <tammer@tammer.net>.
22018
22019 2008-09-28  Bruno Haible  <bruno@clisp.org>
22020
22021         * modules/posix_spawnp-tests: New file.
22022         * tests/test-posix_spawn.c: New file.
22023         * tests/test-posix_spawn.in.sh: New file.
22024
22025         New module 'posix_spawnp'.
22026         * modules/posix_spawnp: New file.
22027         * lib/spawnp.c: New file, from GNU libc with modifications.
22028         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
22029
22030         New module 'posix_spawn'.
22031         * modules/posix_spawn: New file.
22032         * lib/spawn.c: New file, from GNU libc with modifications.
22033         * doc/posix-functions/posix_spawn.texi: Mention the new module.
22034
22035         New module 'posix_spawnattr_destroy'.
22036         * modules/posix_spawnattr_destroy: New file.
22037         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
22038         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
22039         module.
22040
22041         New module 'posix_spawnattr_setsigmask'.
22042         * modules/posix_spawnattr_setsigmask: New file.
22043         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
22044         modifications.
22045         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
22046         new module.
22047
22048         New module 'posix_spawnattr_getsigmask'.
22049         * modules/posix_spawnattr_getsigmask: New file.
22050         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
22051         modifications.
22052         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
22053         new module.
22054
22055         New module 'posix_spawnattr_setsigdefault'.
22056         * modules/posix_spawnattr_setsigdefault: New file.
22057         * lib/spawnattr_setdefault.c: New file, from GNU libc with
22058         modifications.
22059         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
22060         new module.
22061
22062         New module 'posix_spawnattr_getsigdefault'.
22063         * modules/posix_spawnattr_getsigdefault: New file.
22064         * lib/spawnattr_getdefault.c: New file, from GNU libc with
22065         modifications.
22066         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
22067         new module.
22068
22069         New module 'posix_spawnattr_setschedpolicy'.
22070         * modules/posix_spawnattr_setschedpolicy: New file.
22071         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
22072         modifications.
22073         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
22074         new module.
22075
22076         New module 'posix_spawnattr_getschedpolicy'.
22077         * modules/posix_spawnattr_getschedpolicy: New file.
22078         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
22079         modifications.
22080         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
22081         new module.
22082
22083         New module 'posix_spawnattr_setschedparam'.
22084         * modules/posix_spawnattr_setschedparam: New file.
22085         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
22086         modifications.
22087         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
22088         new module.
22089
22090         New module 'posix_spawnattr_getschedparam'.
22091         * modules/posix_spawnattr_getschedparam: New file.
22092         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
22093         modifications.
22094         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
22095         new module.
22096
22097         New module 'posix_spawnattr_setpgroup'.
22098         * modules/posix_spawnattr_setpgroup: New file.
22099         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
22100         modifications.
22101         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
22102         module.
22103
22104         New module 'posix_spawnattr_getpgroup'.
22105         * modules/posix_spawnattr_getpgroup: New file.
22106         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
22107         modifications.
22108         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
22109         module.
22110
22111         New module 'posix_spawnattr_setflags'.
22112         * modules/posix_spawnattr_setflags: New file.
22113         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
22114         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
22115         module.
22116
22117         New module 'posix_spawnattr_getflags'.
22118         * modules/posix_spawnattr_getflags: New file.
22119         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
22120         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
22121         module.
22122
22123         New module 'posix_spawnattr_init'.
22124         * modules/posix_spawnattr_init: New file.
22125         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
22126         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
22127         module.
22128
22129         New module 'posix_spawn_file_actions_destroy'.
22130         * modules/posix_spawn_file_actions_destroy: New file.
22131         * lib/spawn_faction_destroy.c: New file, from GNU libc with
22132         modifications.
22133         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
22134         the new module.
22135
22136         New module 'posix_spawn_file_actions_addopen'.
22137         * modules/posix_spawn_file_actions_addopen: New file.
22138         * lib/spawn_faction_addopen.c: New file, from GNU libc with
22139         modifications.
22140         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22141         the new module.
22142
22143         New module 'posix_spawn_file_actions_adddup2'.
22144         * modules/posix_spawn_file_actions_adddup2: New file.
22145         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
22146         modifications.
22147         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22148         the new module.
22149
22150         New module 'posix_spawn_file_actions_addclose'.
22151         * modules/posix_spawn_file_actions_addclose: New file.
22152         * lib/spawn_faction_addclose.c: New file, from GNU libc with
22153         modifications.
22154         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22155         the new module.
22156
22157         New module 'posix_spawn_file_actions_init'.
22158         * modules/posix_spawn_file_actions_init: New file.
22159         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
22160         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
22161         new module.
22162
22163         New module 'posix_spawn-internal'.
22164         * modules/posix_spawn-internal: New file.
22165         * lib/spawn_int.h: New file, from GNU libc with modifications.
22166         * lib/spawni.c: New file, from GNU libc with modifications.
22167         * m4/posix_spawn.m4: New file.
22168
22169         New module 'spawn'.
22170         * modules/spawn: New file.
22171         * lib/spawn.in.h: New file, from GNU libc with modifications.
22172         * m4/spawn_h.m4: New file.
22173         * doc/posix-headers/spawn.texi: Mention the new module.
22174
22175 2008-09-28  Bruno Haible  <bruno@clisp.org>
22176
22177         * modules/sched-tests: New file.
22178         * tests/test-sched.c: New file.
22179
22180         New module 'sched'.
22181         * modules/sched: New file.
22182         * lib/sched.in.h: New file.
22183         * m4/sched_h.m4: New file.
22184         * doc/posix-headers/sched.texi: Mention the new module.
22185
22186 2008-09-27  Eric Blake  <ebb9@byu.net>
22187
22188         Fix previous patch, and tweak references to $0.
22189         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
22190         (func_version, func_gnulib_dir): Don't call this program
22191         gnulib-tool.
22192         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
22193         with using $0 in function.
22194         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
22195         (func_fatal_error): Reuse the name the user invoked us with.
22196
22197 2008-09-27  Bruno Haible  <bruno@clisp.org>
22198
22199         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
22200         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
22201         (gl_ICONV_H): Not here.
22202         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22203         instead of assigning ICONV_H directly.
22204
22205         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
22206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
22207         WCHAR_H directly.
22208
22209 2008-09-27  Bruno Haible  <bruno@clisp.org>
22210
22211         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
22212         * modules/arpa_inet (Depends-on): Add link-warning.
22213         (Makefile.am): Insert the definition of GL_LINK-WARNING.
22214         * modules/unistd (Makefile.am): Likewise.
22215
22216 2008-09-26  Bruno Haible  <bruno@clisp.org>
22217
22218         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
22219         variables.
22220         (func_version): Essentially copied from gnulib-tool.
22221         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
22222         func_readlink): Copied from gnulib-tool.
22223
22224 2008-09-26  Bruno Haible  <bruno@clisp.org>
22225
22226         * gnulib-tool (func_version): Change directory to $gnulib_dir before
22227         invoking git-version-gen.
22228
22229 2008-09-26  Bruno Haible  <bruno@clisp.org>
22230
22231         * posix-modules: Update to directory names changed on 2008-01-19.
22232         Remove commas in output before splitting into words. No more need to
22233         avoid 'ftruncate' since 2007-02-19.
22234
22235 2008-09-26  Bruno Haible  <bruno@clisp.org>
22236
22237         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
22238
22239 2008-09-26  Bruno Haible  <bruno@clisp.org>
22240
22241         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
22242         * modules/fwriteerror (Depends-on): Add errno.
22243
22244 2008-09-26  Bruno Haible  <bruno@clisp.org>
22245
22246         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
22247         * tests/test-vc-list-files-cvs.sh: Likewise.
22248
22249 2008-09-26  Bruno Haible  <bruno@clisp.org>
22250
22251         * doc/posix-headers/sys_resource.texi: Reorder items.
22252
22253 2008-09-26  Jim Meyering  <meyering@redhat.com>
22254
22255         fts: tweak inode comparison function
22256         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
22257         inode numbers, as documented.
22258
22259         fts: sort dirent entries on inode number before traversing
22260         This avoids a quadratic, seek-related performance penalty when
22261         operating on a directory containing many entries (measurable at 10k;
22262         3.5 hours at 2 million entries with a cold cache) on certain types
22263         of file systems, including ext3 and ext4, but not tmpfs.
22264         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
22265         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
22266         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
22267         (fs_handles_readdir_ordered_dirents_efficiently): New function.
22268         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
22269         (fts_build): Set the stat.st_ino member from D_INO.
22270         If it is likely to be useful, sort dirent entries on inode number.
22271
22272         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
22273         and the struct statfs.f_type member.
22274         * modules/fts (Depends-on): Add d-ino.
22275
22276 2008-09-26  Bruno Haible  <bruno@clisp.org>
22277
22278         * modules/sigpipe-die (Depends-on): Add sigpipe.
22279
22280         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
22281         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
22282         and GNULIB_STDIO_H_SIGPIPE are set.
22283         * lib/stdio-write.c: New file.
22284         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
22285         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22286         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22287         REPLACE_STDIO_WRITE_FUNCS.
22288         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
22289         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22290         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22291         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22292         * modules/stdio (Files): Add lib/stdio-write.c.
22293         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
22294         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
22295         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
22296         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
22297         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
22298         REPLACE_FPRINTF_POSIX.
22299         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
22300         REPLACE_PRINTF_POSIX.
22301         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
22302         REPLACE_VFPRINTF_POSIX.
22303         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
22304         REPLACE_VPRINTF_POSIX.
22305         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
22306         SIGPIPE issue.
22307         * doc/posix-functions/fputc.texi: Likewise.
22308         * doc/posix-functions/fputs.texi: Likewise.
22309         * doc/posix-functions/fwrite.texi: Likewise.
22310         * doc/posix-functions/printf.texi: Likewise.
22311         * doc/posix-functions/putc.texi: Likewise.
22312         * doc/posix-functions/putchar.texi: Likewise.
22313         * doc/posix-functions/puts.texi: Likewise.
22314         * doc/posix-functions/vfprintf.texi: Likewise.
22315         * doc/posix-functions/vprintf.texi: Likewise.
22316
22317         * modules/safe-write (Depends-on): Add write.
22318
22319         * modules/sigpipe-tests: New file.
22320         * tests/test-sigpipe.c: New file.
22321         * tests/test-sigpipe.sh: New file.
22322
22323         * modules/write: New file.
22324         * lib/unistd.in.h: Include <sys/types.h>.
22325         (write): New declaration.
22326         * lib/write.c: New file.
22327         * m4/write.m4: New file.
22328         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22329         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
22330         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
22331         GNULIB_WRITE, REPLACE_WRITE.
22332         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
22333         and the SIGPIPE issue.
22334
22335         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
22336         (raise): New declaration.
22337         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
22338         (ext_signal): New function.
22339         (rpl_raise): New function.
22340         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
22341         GNULIB_SIGNAL_H_SIGPIPE.
22342         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
22343         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
22344
22345         * modules/sigpipe: New file.
22346         * m4/sigpipe.m4: New file.
22347
22348 2008-09-25  Derek Price  <derek@ximbiot.com>
22349             Bruno Haible  <bruno@clisp.org>
22350
22351         * gnulib-tool (func_import): Report all license incompatibilities, not
22352         just the first one.
22353
22354 2008-09-25  Bruno Haible  <bruno@clisp.org>
22355
22356         * gnulib-tool (func_import): When computing the edits, consider not
22357         only the Makefile.ams that exist but also those that will be generated.
22358
22359 2008-09-25  Simon Josefsson  <simon@josefsson.org>
22360
22361         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
22362         fixes gnulib-tool --test warning about duplicate dependency.
22363
22364 2008-09-25  Bruno Haible  <bruno@clisp.org>
22365
22366         * gnulib-tool: Don't ask the user to perform edits in the generated
22367         Makefile.ams.
22368         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
22369         apply to the Makefile.am being generated.
22370         (func_emit_tests_Makefile_am): Execute edits that apply to the
22371         Makefile.am being generated.
22372         (func_import): Setup list of Makefile.am edits before emitting the
22373         Makefile.ams, not at the end.
22374         (func_create_testdir): Update.
22375         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22376
22377 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22378
22379         * gnulib-tool (func_import): Store the --tests-base option in the
22380         comment in gnulib-cache.m4.
22381
22382 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
22383
22384         * NEWS: Document increased portability that sys_select now provides.
22385
22386         * lib/sys_select.in.h: Install select wrapper.
22387         * lib/sys_socket.in.h: Use more descriptive name when there is no
22388         select wrapper.
22389         * lib/winsock-select.c: New.
22390         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
22391         Require gl_HEADER_SYS_SOCKET.
22392         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
22393         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
22394         * tests/test-sys_select.c: Add functional tests.
22395
22396 2008-09-24  Eric Blake  <ebb9@byu.net>
22397
22398         open, fopen: close fd leak in last patch
22399         * lib/open.c (rpl_open): Close fd before returning error.
22400         * lib/fopen.c (rpl_fopen): Close fd before returning error.
22401         * doc/posix-functions/open.texi (open): Document that Irix also
22402         has the bug.
22403         * doc/posix-functions/fopen.texi (fopen): Likewise.
22404         Reported by Paolo Bonzini.
22405
22406 2008-09-24  Bruno Haible  <bruno@clisp.org>
22407
22408         Ensure that a filename ending in a slash cannot be used to access a
22409         non-directory.
22410         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
22411         to check whether it's really a directory.
22412         * lib/fopen.c: Include fcntl.h, unistd.h.
22413         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
22414         and fdopen().
22415         * modules/fopen (Depends-on): Add unistd.
22416         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
22417         * tests/test-fopen.c (main): Likewise.
22418         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
22419         * doc/posix-functions/fopen.texi: Likewise.
22420         Reported by Eric Blake.
22421
22422 2008-09-23  Eric Blake  <ebb9@byu.net>
22423
22424         c-stack: avoid compiler optimizations when provoking overflow
22425         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
22426         recursion harder to optimize, to ensure a stack overflow occurs.
22427         * tests/test-c-stack.c (recurse): Likewise.
22428         Borrowed from libsigsegv.
22429
22430         c-stack: work around Irix sigaltstack bug
22431         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
22432         whether sigaltstack uses wrong end of stack_t (copied in part from
22433         libsigsegv).
22434         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
22435         Irix bug, without requiring an over-allocation.
22436         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
22437         bug.
22438
22439         fopen: document mingw bug on directories
22440         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
22441         not allowing a stream visiting a directory, even though reading
22442         from such a stream is not portable.
22443
22444 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22445
22446         * lib/poll.c: Rewrite.
22447         * modules/poll: Depend on alloca.
22448
22449 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22450
22451         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
22452         instead define prototypes for a full set of wrappers.  Ensure
22453         that Cygwin does not use the compatibility code, which is only
22454         for MinGW.
22455         * lib/winsock.c: New.
22456         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
22457         * modules/sys_socket: Add lib/winsock.c.
22458
22459         * modules/poll-tests: Add errno and perror.
22460         * tests/test-poll.c: Use ioctl, not ioctlsocket.
22461
22462 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
22463
22464         * tests/test-poll.c: Downgrade minimum needed Winsock version.
22465
22466 2008-09-23  Bruno Haible  <bruno@clisp.org>
22467
22468         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
22469         * doc/glibc-functions/*: Likewise.
22470
22471 2008-09-23  Simon Josefsson  <simon@josefsson.org>
22472
22473         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
22474         success.
22475
22476 2008-09-22  Eric Blake  <ebb9@byu.net>
22477             Bruno Haible  <bruno@clisp.org>
22478
22479         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
22480         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
22481         supply %A but mishandle pseudo-NaN.
22482         Reported by Simon Josefsson.
22483
22484 2008-09-21  Bruno Haible  <bruno@clisp.org>
22485
22486         * tests/test-lock.c (main): Tweak skip message.
22487         * tests/test-tls.c (main): Likewise.
22488
22489 2008-09-21  Bruno Haible  <bruno@clisp.org>
22490
22491         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
22492         whether 'struct sigaction' has sa_sigaction here...
22493         (gl_PREREQ_SIG_HANDLER_H): ... not here.
22494         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
22495
22496 2008-09-21  Bruno Haible  <bruno@clisp.org>
22497
22498         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
22499         section.
22500         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
22501         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
22502         the new section.
22503         (Support for obsolete systems lacking POSIX:2001): New section.
22504         (String handling <string.h>): Move strdup to the new section.
22505         Suggested by Simon Josefsson and Paolo Bonzini.
22506
22507 2008-09-21  Bruno Haible  <bruno@clisp.org>
22508
22509         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
22510         exponents in %e and %g results on 'long double'. Needed for mingw's
22511         improved *printf functions.
22512         * tests/test-vasprintf-posix.c (test_function): Likewise.
22513         * tests/test-snprintf-posix.h (test_function): Likewise.
22514         * tests/test-sprintf-posix.h (test_function): Likewise.
22515         Reported by Eric Blake.
22516
22517 2008-09-21  Bruno Haible  <bruno@clisp.org>
22518
22519         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
22520         * tests/test-sprintf-posix.h (test_function): Likewise.
22521
22522 2008-09-21  Bruno Haible  <bruno@clisp.org>
22523
22524         * modules/getpass (Depends-on): Add strdup-posix.
22525
22526         New module 'strdup-posix'.
22527         * modules/strdup-posix: New file.
22528         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
22529         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
22530         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22531         REPLACE_STRDUP.
22532         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
22533         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
22534         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22535         strdup-posix.
22536
22537         * modules/strdup (Depends-on): Remove malloc-posix.
22538
22539 2008-09-20  Bruno Haible  <bruno@clisp.org>
22540
22541         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
22542         Wildenhues.
22543
22544 2008-09-20  Bruno Haible  <bruno@clisp.org>
22545
22546         Ensure that wint_t gets defined on IRIX 5.3.
22547         * lib/wchar.in.h (wint_t): Define if not defined by the system.
22548         * lib/wctype.in.h (wint_t): Likewise.
22549         (__wctype_wint_t): Remove type.
22550         (isw*): Use wint_t instead of __wctype_wint_t.
22551         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
22552         * modules/wchar (Files): Add m4/wint_t.m4.
22553         (Makefile.am): Substitute HAVE_WINT_T.
22554         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
22555         * tests/test-wctype.c: Check that wint_t is defined.
22556         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
22557         * doc/posix-headers/wctype.texi: Likewise.
22558         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22559
22560 2008-09-18  Bruno Haible  <bruno@clisp.org>
22561
22562         * gnulib-tool (func_exit): Update comment.
22563
22564 2008-09-18  Simon Josefsson  <simon@josefsson.org>
22565
22566         * modules/getaddrinfo (Depends-on): Remove strdup, this module
22567         assumes strdup exists and does not depend on strdup to return
22568         ENOMEM on out of memory conditions.
22569
22570 2008-09-18  Bruno Haible  <bruno@clisp.org>
22571
22572         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
22573         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
22574         digits for the exponent.
22575
22576 2008-09-18  Jim Meyering  <meyering@redhat.com>
22577             Bruno Haible  <bruno@clisp.org>
22578
22579         * lib/vasnprintf.c (decimal_point_char): Define also if
22580         NEED_PRINTF_INFINITE_LONG_DOUBLE.
22581
22582 2008-09-16  Bruno Haible  <bruno@clisp.org>
22583         and Eric Blake  <ebb9@byu.net>
22584
22585         vasnprintf: support Irix 5.3
22586         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
22587         that mishandle long double infinity.
22588         Reported by Tom G. Christensen.
22589
22590 2008-09-16  Bruno Haible  <bruno@clisp.org>
22591
22592         * doc/glibc-functions/scandir.texi: Mention the function is missing on
22593         Solaris 9.
22594         * doc/glibc-functions/alphasort.texi: Likewise.
22595         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
22596
22597 2008-09-16  Jim Meyering  <meyering@redhat.com>
22598
22599         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
22600         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
22601         a umask modification leak out of a subshell.  Otherwise, the
22602         opensolaris /bin/sh would be accepted and thus cause unwarranted
22603         failures in the coreutils test suite.
22604
22605 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
22606
22607         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
22608         to succeed.
22609
22610 2008-09-16  Jim Meyering  <meyering@redhat.com>
22611
22612         avoid spurious test failure when library is built without ACL support
22613         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
22614         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
22615         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
22616         * tests/test-copy-acl.sh: Likewise.
22617
22618 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22619
22620         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
22621         based on character occurrence counts.
22622
22623 2008-09-15  Eric Blake  <ebb9@byu.net>
22624
22625         tests: avoid some compiler warnings
22626         * tests/test-memchr.c (main): Pass NULL indirectly.
22627         * tests/test-closein.c (main): Avoid unused variable.
22628
22629 2008-09-15  Bruno Haible  <bruno@clisp.org>
22630
22631         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
22632         are missing on OpenBSD 4.0 individually.
22633         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22634
22635 2008-09-15  Bruno Haible  <bruno@clisp.org>
22636
22637         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
22638         * doc/posix-functions/strerror.texi: Mention also Cygwin.
22639         * doc/posix-functions/perror.texi: Likewise.
22640         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
22641         is missing.
22642         Reported by Eric Blake.
22643
22644         * lib/errno.in.h: Use replacement values >= 2000.
22645         Reported by Eric Blake.
22646
22647 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22648
22649         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
22650         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
22651         limit.
22652         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
22653         compareseq was aborted.
22654
22655 2008-09-14  Bruno Haible  <bruno@clisp.org>
22656
22657         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
22658         yvec_edit_count.
22659         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
22660         (fstrcmp_bounded): Simplify result computation accordingly.
22661
22662 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22663
22664         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
22665         (fstrcmp): Define in terms of fstrcmp_bounded.
22666         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
22667         lower_bound argument.
22668         Return quickly if the result is certainly < lower_bound.
22669         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
22670
22671 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22672
22673         * lib/diffseq.h (EARLY_ABORT): New macro.
22674         (compareseq): Change return type to bool. Return true when EARLY_ABORT
22675         evaluates to true.
22676
22677 2008-09-14  Bruno Haible  <bruno@clisp.org>
22678
22679         * modules/perror-tests: New file.
22680         * tests/test-perror.sh: New file.
22681         * tests/test-perror.c: New file.
22682
22683         New module 'perror'.
22684         * lib/stdio.in.h (perror): New declaration.
22685         * lib/perror.c: New file.
22686         * m4/perror.m4: New file.
22687         * modules/perror: New file.
22688         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
22689         * doc/posix-functions/perror.texi: Mention the perror module.
22690         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
22691         REPLACE_PERROR.
22692         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
22693         REPLACE_PERROR.
22694
22695 2008-09-14  Bruno Haible  <bruno@clisp.org>
22696
22697         * modules/stdio (Makefile.am): Reorder to match the order in
22698         lib/stdio.in.h.
22699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
22700
22701 2008-09-13  Bruno Haible  <bruno@clisp.org>
22702
22703         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
22704
22705 2008-09-13  Bruno Haible  <bruno@clisp.org>
22706
22707         Extend strerror to cover the added errno values.
22708         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
22709         (rpl_strerror): Provide error messages for the added errno values and
22710         for the WSA* values.
22711         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
22712         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
22713         strerror.
22714         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
22715         * modules/strerror (Depends-on): Add errno.
22716         * doc/posix-functions/strerror.texi: Document the change.
22717         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
22718         and EOVERFLOW.
22719
22720 2008-09-13  Bruno Haible  <bruno@clisp.org>
22721
22722         * modules/EOVERFLOW: Remove file.
22723         * m4/eoverflow.m4: Remove file.
22724         * modules/EOVERFLOW-tests: Remove file.
22725         * tests/test-EOVERFLOW.c: Remove file.
22726         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
22727         * modules/ftell (Depends-on): Likewise.
22728         * modules/getdelim (Depends-on): Likewise.
22729         * modules/getugroups (Depends-on): Likewise.
22730         * modules/poll (Depends-on): Likewise.
22731         * modules/snprintf (Depends-on): Likewise.
22732         * modules/sprintf-posix (Depends-on): Likewise.
22733         * modules/vasnprintf (Depends-on): Likewise.
22734         * modules/vasprintf (Depends-on): Likewise.
22735         * modules/vfprintf-posix (Depends-on): Likewise.
22736         * modules/vsnprintf (Depends-on): Likewise.
22737         * modules/vsprintf-posix (Depends-on): Likewise.
22738         * modules/xvasprintf (Depends-on): Likewise.
22739         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22740         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
22741         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
22742         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
22743         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22744         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
22745         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
22746         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
22747         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22748         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
22749         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
22750         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
22751         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22752         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
22753         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
22754         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
22755         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22756         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
22757         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
22758         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
22759         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22760         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
22761         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
22762         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
22763         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
22764         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22765         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
22766         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
22767         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
22768         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
22769         * MODULES.html.sh: Remove EOVERFLOW.
22770         * NEWS: Mention the change.
22771
22772 2008-09-13  Bruno Haible  <bruno@clisp.org>
22773
22774         * modules/errno-tests: New file.
22775         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
22776
22777         * lib/errno.in.h: New file.
22778         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
22779         * modules/errno: New file.
22780         * doc/posix-headers/errno.texi: Update documentation.
22781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
22782
22783 2008-09-13  Bruno Haible  <bruno@clisp.org>
22784
22785         * tests/test-poll.c: Use #if for native Windows, rather than testing
22786         __MSVCRT__.
22787
22788 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22789             Bruno Haible  <bruno@clisp.org>
22790
22791         * lib/glob.c: Don't include <pwd.h> on native Windows.
22792         (WINDOWS32): New macro.
22793         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
22794
22795 2008-09-13  Bruno Haible  <bruno@clisp.org>
22796
22797         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
22798         (ETIMEDOUT): Remove macro.
22799         (glthread_cond_timedwait_multithreaded): New declaration.
22800         (glthread_cond_timedwait): Use it.
22801         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
22802         (glthread_cond_timedwait_multithreaded): New function.
22803
22804 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
22805
22806         * modules/poll-tests: Do not check for io.h.
22807         * tests/test-poll.c: Check for __MSVCRT__ instead.
22808
22809 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
22810
22811         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
22812         * modules/poll-tests: Add inet_pton, stdbool, sockets.
22813         * tests/test-poll.c: Use them.  Use _pipe on Windows.
22814
22815 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
22816
22817         * modules/poll-tests: New.
22818         * tests/test-poll.c: New.
22819
22820 2008-09-12  Eric Blake  <ebb9@byu.net>
22821
22822         frexp: test for NetBSD failure on -0.0
22823         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
22824         not all, bugs from NetBSD 3.0 have been fixed.
22825         * doc/posix-functions/frexp.texi (frexp): Document bug.
22826         Reported by Thomas Klausner.
22827
22828         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
22829         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
22830         literal -0.0.
22831         Reported by Jonathan C. Patschke <jp@centtech.com>.
22832
22833 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22834
22835         * lib/glthread/cond.h: Use dummy implementation also if
22836         USE_WIN32_THREADS.
22837
22838 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22839
22840         * modules/fnmatch-posix (License): Change to LGPLv2+.
22841         * modules/fnmatch-gnu (License): Likewise.
22842
22843 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22844
22845         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
22846
22847 2008-09-11  Jim Meyering  <meyering@redhat.com>
22848
22849         * users.txt: Add gtk-vnc.
22850
22851 2008-09-08  Simon Josefsson  <simon@josefsson.org>
22852
22853         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
22854         rotate amounts.
22855
22856         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
22857         required for 16-bit and 8-bit rotates.
22858         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
22859         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
22860         UINT8_MAX instead of hard-coded constants.
22861         Suggested by Paul Eggert.
22862
22863 2008-09-07  Bruno Haible  <bruno@clisp.org>
22864
22865         * tests/test-striconveh.c (main): Check behaviour when converting from
22866         UTF-7.
22867
22868         Make striconveh work better with stateful encodings.
22869         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
22870         that iconv does not increment the inptr when returning -1/EINVAL.
22871
22872 2008-09-07  Bruno Haible  <bruno@clisp.org>
22873
22874         * build-aux/config.rpath: Update according to libtool-2.2.6.
22875         * build-aux/config.libpath: Likewise.
22876
22877 2008-09-06  Bruno Haible  <bruno@clisp.org>
22878
22879         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
22880         * lib/freadptr.c (freadptr): Likewise.
22881         * lib/freadseek.c (freadptrinc): Likewise.
22882         Reported by Simon Josefsson.
22883
22884 2008-09-06  Bruno Haible  <bruno@clisp.org>
22885
22886         * modules/freadptr (License): Change to LGPLv2+.
22887         * modules/freadseek (License): Likewise.
22888         Suggested by Eric Blake.
22889
22890         * modules/memchr2 (License): Change to LGPLv2+.
22891         Approved by Eric Blake.
22892
22893 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22894             Bruno Haible  <bruno@clisp.org>
22895
22896         Make gnulib-tool work with native 'sed' on AIX.
22897         * gnulib-tool (sed_noop): New variable.
22898         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
22899         func_add_or_update, func_create_testdir): Use it to initialize sed
22900         script variables.
22901         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22902
22903 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
22904             Bruno Haible  <bruno@clisp.org>
22905
22906         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
22907         also works after #include directives.
22908
22909 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
22910
22911         getdate.y: reject an out-of-range timezone value
22912         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
22913         the range [-24...+24].  When specified with only one or two digits,
22914         * tests/test-getdate.c: Tests for the fix.
22915         * doc/getdate.texi: Document this change.
22916
22917 2008-09-03  Bruno Haible  <bruno@clisp.org>
22918
22919         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
22920
22921 2008-09-02  Simon Josefsson  <simon@josefsson.org>
22922
22923         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
22924         <bruce.korb@gmail.com> with ideas from Ben Pfaff
22925         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
22926         Blake <ebb9@byu.net>.
22927
22928         * tests/test-bitrotate.c: Add more test vectors.
22929
22930 2008-09-02  Eric Blake  <ebb9@byu.net>
22931
22932         vasnprintf-posix: handle large precision via %.*d
22933         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
22934         when handling it ourselves.
22935         * tests/test-vasnprintf-posix.c (test_function): Add test.
22936         * tests/test-snprintf-posix.h (test_function): Likewise.
22937         * tests/test-sprintf-posix.h (test_function): Likewise.
22938         * tests/test-vasprintf-posix.c (test_function): Likewise.
22939         Reported by Alain Guibert.
22940
22941 2008-09-01  Eric Blake  <ebb9@byu.net>
22942
22943         c-stack: make configure-time check more robust
22944         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
22945         successful sigaction call.
22946         Reported by Tom G. Christensen.
22947
22948 2008-09-01  Bruno Haible  <bruno@clisp.org>
22949
22950         New module 'findprog-lgpl'.
22951         * modules/findprog-lgpl: New file.
22952         * lib/findprog-lgpl.c: New file.
22953         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
22954         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
22955         to decide whether to use strdup or xstrdup, concatenated_filename or
22956         xconcatenated_filename.
22957
22958 2008-09-01  Bruno Haible  <bruno@clisp.org>
22959
22960         Split module 'concat-filename' into 'concat-filename' (LGPL) and
22961         'xconcat-filename' (GPL).
22962         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
22963         (License): Change to LGPLv2+.
22964         * modules/xconcat-filename: New file.
22965         * lib/concat-filename.h (concatenated_filename): Change specification.
22966         (xconcatenated_filename): New declaration.
22967         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
22968         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
22969         memory situations.
22970         * lib/xconcat-filename.c: New file.
22971         * NEWS: Mention the change.
22972         * lib/findprog.c: Include concat-filename.h, not filename.h.
22973         (find_in_path): Use xconcatenated_filename instead of
22974         concatenated_filename.
22975         * lib/javacomp.c: Include concat-filename.h, not filename.h.
22976         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
22977         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
22978         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
22979         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
22980         instead of concatenated_filename.
22981         * lib/javaexec.c: Include concat-filename.h, not filename.h.
22982         (execute_java_class): Use xconcatenated_filename instead of
22983         concatenated_filename.
22984         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
22985         * modules/javacomp (Depends-on): Likewise.
22986         * modules/javaexec (Depends-on): Likewise.
22987
22988 2008-09-01  Bruno Haible  <bruno@clisp.org>
22989
22990         Split module 'filename' into 'filename' and 'concat-filename'.
22991         * modules/filename: Keep only lib/filename.h.
22992         (License): Change to LGPLv2+.
22993         * modules/concat-filename: New file, extracted from modules/filename.
22994         * lib/filename.h (concatenated_filename): Remove declaration.
22995         * lib/concat-filename.h: New file, extracted from lib/filename.h.
22996         * lib/concat-filename.c: Include concat-filename.h.
22997         * NEWS: Mention the change.
22998
22999 2008-09-01  Simon Josefsson  <simon@josefsson.org>
23000
23001         * lib/bitrotate.h (rotl8, rotr8): Add.
23002
23003         * modules/bitrotate (configure.ac): Need
23004         AC_REQUIRE([AC_C_INLINE]).
23005         (Description): Mention stdint.h.  Reported by Bruno Haible
23006         <bruno@clisp.org>.
23007
23008         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
23009         Paolo Bonzini <bonzini@gnu.org>.
23010
23011 2008-08-31  Bruno Haible  <bruno@clisp.org>
23012
23013         Assume Solaris specific bi-arch conventions on Solaris systems.
23014         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
23015         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
23016         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
23017         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
23018         like acl_libdirstem.
23019         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
23020         acl_libdirstem.
23021         * NEWS: Mention the change.
23022         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
23023
23024 2008-08-31  Jim Meyering  <meyering@redhat.com>
23025
23026         * lib/strftime.h: Add comments describing the two added arguments.
23027
23028         remove duplicate #include directives
23029         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
23030         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
23031
23032 2008-08-31  Bruno Haible  <bruno@clisp.org>
23033
23034         New module 'sigpipe-die'.
23035         * modules/sigpipe-die: New file.
23036         * lib/sigpipe-die.h: New file.
23037         * lib/sigpipe-die.c: New file.
23038         * MODULES.html.sh (Signal handling): Add sigpipe-die.
23039
23040 2008-08-31  Bruno Haible  <bruno@clisp.org>
23041
23042         Don't override previously installed signal handlers.
23043         * lib/fatal-signal.c (saved_sigactions): New variable.
23044         (uninstall_handlers): Reset the signal to the saved handler, not
23045         to SIG_DFL (except when ignored).
23046         (install_handlers): Save the previous handlers.
23047
23048 2008-08-30  Bruno Haible  <bruno@clisp.org>
23049
23050         * gnulib-tool (func_reset_sigpipe): New function.
23051         (func_get_automake_snippet, func_modules_transitive_closure,
23052         func_import): Invoke it before a join command that reads from stdin,
23053         to avoid "echo: write error: Broken pipe" error messages on stderr.
23054         Reported by Sam Steingold <sds@gnu.org>.
23055
23056 2008-08-30  Bruno Haible  <bruno@clisp.org>
23057
23058         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
23059         Code copied from m4/open.m4.
23060         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
23061         access and the filename ends in a slash. Code copied from lib/open.c.
23062         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
23063         * tests/test-fopen.c (main): Check against bug with trailing slash.
23064
23065 2008-08-29  Bruno Haible  <bruno@clisp.org>
23066
23067         Avoid some "gcc -pedantic" warnings.
23068         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
23069         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
23070         * lib/dirent.in.h: Likewise.
23071         * lib/fcntl.in.h: Likewise.
23072         * lib/float.in.h: Likewise.
23073         * lib/iconv.in.h: Likewise.
23074         * lib/inttypes.in.h: Likewise.
23075         * lib/locale.in.h: Likewise.
23076         * lib/math.in.h: Likewise.
23077         * lib/netinet_in.in.h: Likewise.
23078         * lib/search.in.h: Likewise.
23079         * lib/signal.in.h: Likewise.
23080         * lib/stdarg.in.h: Likewise.
23081         * lib/stdint.in.h: Likewise.
23082         * lib/stdio.in.h: Likewise.
23083         * lib/stdlib.in.h: Likewise.
23084         * lib/string.in.h: Likewise.
23085         * lib/strings.in.h: Likewise.
23086         * lib/sys_select.in.h: Likewise.
23087         * lib/sys_socket.in.h: Likewise.
23088         * lib/sys_stat.in.h: Likewise.
23089         * lib/sys_time.in.h: Likewise.
23090         * lib/sysexits.in.h: Likewise.
23091         * lib/time.in.h: Likewise.
23092         * lib/unistd.in.h: Likewise.
23093         * lib/wchar.in.h: Likewise.
23094         * lib/wctype.in.h: Likewise.
23095         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
23096         * modules/fchdir (Makefile.am): Likewise.
23097         * modules/fcntl (Makefile.am): Likewise.
23098         * modules/float (Makefile.am): Likewise.
23099         * modules/iconv_open (Makefile.am): Likewise.
23100         * modules/inttypes (Makefile.am): Likewise.
23101         * modules/locale (Makefile.am): Likewise.
23102         * modules/math (Makefile.am): Likewise.
23103         * modules/netinet_in (Makefile.am): Likewise.
23104         * modules/search (Makefile.am): Likewise.
23105         * modules/signal (Makefile.am): Likewise.
23106         * modules/stdarg (Makefile.am): Likewise.
23107         * modules/stdint (Makefile.am): Likewise.
23108         * modules/stdio (Makefile.am): Likewise.
23109         * modules/stdlib (Makefile.am): Likewise.
23110         * modules/string (Makefile.am): Likewise.
23111         * modules/strings (Makefile.am): Likewise.
23112         * modules/sys_select (Makefile.am): Likewise.
23113         * modules/sys_socket (Makefile.am): Likewise.
23114         * modules/sys_stat (Makefile.am): Likewise.
23115         * modules/sys_time (Makefile.am): Likewise.
23116         * modules/sysexits (Makefile.am): Likewise.
23117         * modules/time (Makefile.am): Likewise.
23118         * modules/unistd (Makefile.am): Likewise.
23119         * modules/wchar (Makefile.am): Likewise.
23120         * modules/wctype (Makefile.am): Likewise.
23121         Reported by Reuben Thomas <rrt@sc3d.org>.
23122
23123 2008-08-29  Bruno Haible  <bruno@clisp.org>
23124
23125         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
23126         any more.
23127
23128 2008-08-29  Simon Josefsson  <simon@josefsson.org>
23129
23130         * MODULES.html.sh (Misc): Add bitrotate.
23131
23132         * modules/bitrotate: New file.
23133
23134         * lib/bitrotate.h: New file.
23135
23136         * modules/bitrotate-tests: New file.
23137
23138         * tests/test-bitrotate.c: New file.
23139
23140         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
23141         on the bitrotate module.
23142
23143         * lib/arctwo.c: Use new bitrotate module.
23144
23145 2008-08-29  Jim Meyering  <meyering@redhat.com>
23146
23147         bootstrap: merge changes from coreutils
23148         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
23149         of copied files.  Remove a kludge, now that this is fixed.
23150         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
23151         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
23152         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
23153
23154 2008-08-29  Bruno Haible  <bruno@clisp.org>
23155
23156         * MODULES.html.sh: Remove --cvs-urls option.
23157
23158 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
23159
23160         maint.mk: adjust to file name change
23161         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
23162
23163 2008-08-28  Jim Meyering  <meyering@redhat.com>
23164
23165         * modules/getndelim2 (License): Relicense to LGPLv2+.
23166         Approved by Richard Stallman for the version of 1995, and by
23167         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
23168
23169 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
23170
23171         * lib/getdelim.c (flockfile, funlockfile): Make all of them
23172         dummy if one is not available.  Do not touch them if
23173         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
23174         (getc_maybe_unlocked): New.
23175         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
23176
23177 2008-08-26  Eric Blake  <ebb9@byu.net>
23178
23179         doc/INSTALL: resync from autoconf
23180         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
23181         (INSTALL_PRELUDE): Delete; this is done more efficiently by
23182         moving...
23183         * install.texi [!autoconf]: ...here.  Resync from autoconf.
23184         * INSTALL: Regenerate.
23185         * INSTALL.ISO: New file.
23186         * INSTALL.UTF-8: Likewise.
23187
23188 2008-08-26  Jim Meyering  <meyering@redhat.com>
23189
23190         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
23191         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
23192         these definitions conditional, so that they may be overridden, too.
23193
23194 2008-08-26  Bruno Haible  <bruno@clisp.org>
23195
23196         Generate INSTALL file variants with prettier quotes.
23197         * doc/Makefile (INSTALL_PRELUDE): New macro.
23198         (INSTALL): Use it.
23199         (INSTALL.ISO, INSTALL.UTF-8): New rules.
23200
23201 2008-08-26  Bruno Haible  <bruno@clisp.org>
23202
23203         Run makeinfo in an English locale.
23204         * doc/Makefile (MAKEINFO): New variable.
23205
23206 2008-08-26  Bruno Haible  <bruno@clisp.org>
23207
23208         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
23209         Suggested by Eric Blake.
23210
23211 2008-08-25  Bruno Haible  <bruno@clisp.org>
23212
23213         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
23214
23215 2008-08-25  Eric Blake  <ebb9@byu.net>
23216
23217         c-stack: test that stack overflow can be caught
23218         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
23219         that platform allows handling stack overflow; at least OS/2 EMX
23220         has sigaltstack, but crashes before transferring control to
23221         handler on stack overflow.
23222         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
23223         check for HAVE_STACK_OVERFLOW_HANDLING.
23224         Reported by Elbert Pol.
23225
23226 2008-08-25  Bruno Haible  <bruno@clisp.org>
23227
23228         * doc/posix-functions/strftime.texi: Fix description of strftime
23229         module.
23230
23231 2008-08-24  Bruno Haible  <bruno@clisp.org>
23232
23233         * tests/uniwidth/test-uc_width2.c: New file.
23234         * tests/uniwidth/test-uc_width2.sh: New file.
23235         * modules/uniwidth/width-tests (Files): Add the new files.
23236         (TESTS): Add uniwidth/test-uc_width2.sh.
23237         (TESTS_ENVIRONMENT): New variable.
23238         (check_PROGRAMS): Add test-uc_width2.
23239         (test_uc_width2_SOURCES): New variable.
23240
23241         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
23242         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
23243         not 0x00AB.
23244         Reported by Alexander V. Lukyanov <lav@netis.ru>.
23245
23246 2008-08-22  Eric Blake  <ebb9@byu.net>
23247
23248         test-lock, test-tls: mention why a test is skipped
23249         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
23250         skipped.
23251         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
23252
23253         count-one-bits: relax license
23254         * modules/count-one-bits (License): Relicense to LGPLv2+.
23255         Suggested by Ludovic Courtès, approved by Ben Pfaff.
23256
23257 2008-08-22  Andreas Schwab  <schwab@suse.de>
23258
23259         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23260         Remove spurious space in assignment.
23261
23262 2008-08-21  Simon Josefsson  <simon@josefsson.org>
23263
23264         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
23265         Paul Eggert <eggert@CS.UCLA.EDU>.
23266
23267 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
23268
23269         * modules/gettext: Add m4/threadlib.m4.
23270
23271 2008-08-19  Eric Blake  <ebb9@byu.net>
23272
23273         test-c-stack: fix compilation failure on FreeBSD 5.0
23274         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
23275         headers before <sys/resource.h>.
23276         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
23277         the bug.
23278         Reported by Nelson H. F. Beebe.
23279
23280         strverscmp: migrate from "strverscmp.h" to <string.h>
23281         * modules/string (Makefile.am): Add new hooks.
23282         * modules/strverscmp (Files): Remove strverscmp.h.
23283         (Depends-on): Add string.
23284         (configure.ac): Add indicator.
23285         (Include): Mention new header.
23286         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
23287         defaults.
23288         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
23289         results.
23290         * lib/strverscmp.h: Delete.
23291         * lib/string.in.h (strverscmp): Provide declaration, when needed.
23292         * tests/test-strverscmp.c (includes): Adjust client.
23293         * lib/check-version.c (includes): Likewise.
23294         * NEWS: Document the change.
23295
23296         strverscmp: add unit test
23297         * modules/strverscmp-tests: New file.
23298         * tests/test-strverscmp.c: Likewise.
23299
23300 2008-08-19  Simon Josefsson  <simon@josefsson.org>
23301
23302         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
23303         regarding Windows crypto stuff, from Mono.
23304
23305 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
23306
23307         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
23308         if present, for intel RND.  Return error on failures.
23309
23310 2008-08-18  Ben Pfaff  <blp@gnu.org>
23311
23312         gitlog-to-changelog: give better diagnostic for failed pipe-open
23313         * build-aux/gitlog-to-changelog: Improve error message: suggest
23314         that the version of Git may be too old.
23315
23316 2008-08-18  Simon Josefsson  <simon@josefsson.org>
23317
23318         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
23319         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
23320
23321 2008-08-18  Bruno Haible  <bruno@clisp.org>
23322
23323         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
23324         pthread_in_use().
23325
23326 2008-08-18  Bruno Haible  <bruno@clisp.org>
23327
23328         * lib/glthread/threadlib.c: Include <pthread.h>.
23329
23330 2008-08-18  Bruno Haible  <bruno@clisp.org>
23331
23332         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
23333         glthread_recursive_lock_* macros.
23334         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
23335         Fix syntax error.
23336
23337 2008-08-18  Bruno Haible  <bruno@clisp.org>
23338
23339         * lib/glthread/thread.c: Avoid forcing a context switch right after
23340         thread creation.
23341
23342 2008-08-17  Bruno Haible  <bruno@clisp.org>
23343
23344         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
23345         * lib/glthread/thread.h: Provide Win32 specific implementation.
23346         * modules/thread (Files): Add lib/glthread/thread.c.
23347         (Depends-on): Add lock.
23348         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
23349
23350 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23351
23352         New module 'yield'.
23353         * modules/yield: New file.
23354         * lib/glthread/yield.h: New file.
23355         * m4/yield.m4: New file.
23356         * MODULES.html.sh (Multithreading): Add yield.
23357
23358 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23359
23360         New module 'thread'.
23361         * modules/thread: New file.
23362         * lib/glthread/thread.h: New file.
23363         * m4/thread.m4: New file.
23364         * MODULES.html.sh (Multithreading): Add thread.
23365
23366 2008-08-17  Bruno Haible  <bruno@clisp.org>
23367
23368         * lib/glthread/lock.h: Include <stdlib.h> always.
23369         * lib/glthread/tls.h: Likewise.
23370         * lib/glthread/cond.h: Likewise.
23371
23372 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
23373
23374         New module 'cond'.
23375         * modules/cond: New file.
23376         * lib/glthread/cond.h: New file.
23377         * lib/glthread/cond.c: New file.
23378         * m4/cond.m4: New file.
23379         * MODULES.html.sh (Multithreading): Add cond.
23380
23381 2008-08-16  Eric Blake  <ebb9@byu.net>
23382
23383         c-stack: fix regression on Irix 5.3 from 2008-06-21
23384         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
23385         sa_sigaction...
23386         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
23387         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
23388         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
23389         * modules/signal (Makefile.am): Use the value.
23390         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
23391         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
23392         * doc/posix-headers/signal.texi (signal.h): Document this
23393         portability issue.
23394         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
23395         Reported by Tom G. Christensen.
23396
23397 2008-08-17  Bruno Haible  <bruno@clisp.org>
23398
23399         New module 'threadlib'.
23400         * modules/threadlib: New file.
23401         * lib/glthread/threadlib.c: New file, extracted from
23402         lib/glthread/lock.c.
23403         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
23404         functions.
23405         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
23406         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
23407         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
23408         macros.
23409         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
23410         (gl_DISABLE_THREADS): Remove macro.
23411         * modules/lock (Files): Remove build-aux/config.rpath.
23412         (Depends-on): Remove havelib. Add threadlib.
23413         (configure.ac-early): Remove section.
23414         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
23415         * modules/tls (Depends-on): Remove lock. Add threadlib.
23416         (Link): New section, copied from threadlib.
23417         * MODULES.html.sh (Multithreading): Add threadlib.
23418
23419 2008-08-14  Bruno Haible  <bruno@clisp.org>
23420
23421         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
23422         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
23423         glthread_rwlock_unlock, glthread_rwlock_destroy,
23424         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
23425         glthread_recursive_lock_destroy): Define as macros always.
23426         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
23427         glthread_lock_lock.
23428         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
23429         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
23430         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
23431         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
23432         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
23433         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
23434         (glthread_recursive_lock_lock_func): Renamed from
23435         glthread_recursive_lock_lock.
23436         (glthread_recursive_lock_unlock_func): Renamed from
23437         glthread_recursive_lock_unlock.
23438         (glthread_recursive_lock_destroy_func): Renamed from
23439         glthread_recursive_lock_destroy.
23440
23441 2008-08-14  Bruno Haible  <bruno@clisp.org>
23442
23443         * lib/glthread/lock.h: Renamed from lib/lock.h.
23444         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
23445         * lib/glthread/tls.h: Renamed from lib/tls.h.
23446         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
23447         * lib/fstrcmp.c: Update includes.
23448         * lib/strsignal.c: Update includes.
23449         * modules/lock (Files, Makefile.am): Update.
23450         (Include): Change to "glthread/lock.h".
23451         * modules/tls (Files, Makefile.am): Update.
23452         (Include): Change to "glthread/tls.h".
23453         * tests/test-lock.c: Update includes.
23454         * tests/test-tls.c: Update includes.
23455         * NEWS: Mention the renamed header files.
23456
23457 2008-08-11  Jim Meyering  <meyering@redhat.com>
23458
23459         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
23460
23461 2008-08-11  Eric Blake  <ebb9@byu.net>
23462
23463         test-c-stack: avoid C99-ism
23464         * tests/test-c-stack.c (main): Fix whitespace, move declaration
23465         before statement.
23466         Reported by Alain Guibert.
23467
23468 2008-08-10  Jim Meyering  <meyering@redhat.com>
23469
23470         ensure that return value of uinttostr et al are not ignored
23471         * lib/inttostr.h (__GNUC_PREREQ): Define.
23472         (__attribute_warn_unused_result__): Define.
23473         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
23474
23475 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
23476
23477         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
23478         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
23479
23480 2008-08-07  Jim Meyering  <meyering@redhat.com>
23481
23482         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
23483
23484         * modules/mkstemp (License): Relicense under LGPLv2+.
23485         * modules/tempname (License): Likewise.
23486
23487 2008-08-06  Bruno Haible  <bruno@clisp.org>
23488
23489         * lib/poll.c (poll): Further micro-optimization.
23490
23491 2008-08-06  Jim Meyering  <meyering@redhat.com>
23492
23493         inet_pton.c: use locale-independent tolower
23494         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
23495         (inet_pton6): Use c_tolower rather than tolower.
23496         * modules/inet_pton (Depends-on): Add c-ctype.
23497
23498 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
23499
23500         * lib/poll.c (poll): Avoid division when timeout is 0, cache
23501         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
23502
23503 2008-08-06  Jim Meyering  <meyering@redhat.com>
23504
23505         * modules/inet_pton (License): Relicense under LGPLv2+.
23506
23507 2008-08-03  Bruno Haible  <bruno@clisp.org>
23508
23509         Additional non-aborting API for lock and tls.
23510         * lib/lock.h: Include <errno.h>.
23511         (glthread_lock_init): New macro/function.
23512         (gl_lock_init): Define as wrapper around glthread_lock_init.
23513         (glthread_lock_lock): New macro/function.
23514         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
23515         (glthread_lock_unlock): New macro/function.
23516         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
23517         (glthread_lock_destroy): New macro/function.
23518         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
23519         (glthread_rwlock_init): New macro/function.
23520         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
23521         (glthread_rwlock_rdlock): New macro/function.
23522         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
23523         (glthread_rwlock_wrlock): New macro/function.
23524         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
23525         (glthread_rwlock_unlock): New macro/function.
23526         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
23527         (glthread_rwlock_destroy): New macro/function.
23528         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
23529         (glthread_recursive_lock_init): New macro/function.
23530         (gl_recursive_lock_init): Define as wrapper around
23531         glthread_recursive_lock_init.
23532         (glthread_recursive_lock_lock): New macro/function.
23533         (gl_recursive_lock_lock): Define as wrapper around
23534         glthread_recursive_lock_lock.
23535         (glthread_recursive_lock_unlock): New macro/function.
23536         (gl_recursive_lock_unlock): Define as wrapper around
23537         glthread_recursive_lock_unlock.
23538         (glthread_recursive_lock_destroy): New macro/function.
23539         (gl_recursive_lock_destroy): Define as wrapper around
23540         glthread_recursive_lock_destroy.
23541         (glthread_once): New macro/function.
23542         (gl_once): Define as wrapper around glthread_once.
23543         Update function declarations.
23544         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
23545         glthread_rwlock_init. Return error code.
23546         (glthread_rwlock_rdlock_multithreaded): Renamed from
23547         glthread_rwlock_rdlock. Return error code.
23548         (glthread_rwlock_wrlock_multithreaded): Renamed from
23549         glthread_rwlock_wrlock. Return error code.
23550         (glthread_rwlock_unlock_multithreaded): Renamed from
23551         glthread_rwlock_unlock. Return error code.
23552         (glthread_rwlock_destroy_multithreaded): Renamed from
23553         glthread_rwlock_destroy. Return error code.
23554         (glthread_recursive_lock_init_multithreaded): Renamed from
23555         glthread_recursive_lock_init. Return error code.
23556         (glthread_recursive_lock_lock_multithreaded): Renamed from
23557         glthread_recursive_lock_lock. Return error code.
23558         (glthread_recursive_lock_unlock_multithreaded): Renamed from
23559         glthread_recursive_lock_unlock. Return error code.
23560         (glthread_recursive_lock_destroy_multithreaded): Renamed from
23561         glthread_recursive_lock_destroy. Return error code.
23562         (glthread_once_call): Make static.
23563         (glthread_once_multithreaded): Renamed from glthread_once.
23564         * lib/tls.h: Include <errno.h>.
23565         (glthread_tls_key_init): New macro/function.
23566         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
23567         (glthread_tls_set): New macro/function.
23568         (gl_tls_set): Define as wrapper around glthread_tls_set.
23569         (glthread_tls_key_destroy): New macro/function.
23570         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
23571         Update function declarations.
23572         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
23573         glthread_tls_get.
23574         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23575
23576 2008-08-04  Eric Blake  <ebb9@byu.net>
23577
23578         gnumakefile: use space, not TAB, outside of targets
23579         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
23580
23581 2008-08-02  Jim Meyering  <meyering@redhat.com>
23582
23583         getdate.y: avoid locale-dependent date parsing failure
23584         In Turkish locales, getdate would fail to recognize keywords
23585         containing a lowercase "i".  The solution is not to rely on
23586         locale-sensitive case-conversion.
23587         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
23588         (lookup_word): Use c_toupper in place of toupper.
23589         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
23590         Reported by Vefa Bicakci <bicave@superonline.com> in
23591         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
23592         * modules/getdate (Depends-on): Add c-ctype.
23593
23594 2008-08-02  Bruno Haible  <bruno@clisp.org>
23595
23596         * gnulib-tool (func_import): When updating or creating a .gitignore
23597         file, prepend each added line with a slash, and ignore leading slashes
23598         from the existing lines.
23599         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
23600
23601 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23602
23603         Portability fix for GNU make 3.79.1.
23604         * top/GNUmakefile: Avoid 'else COND', which older GNU make
23605         versions do not understand.
23606
23607 2008-08-01  Bruno Haible  <bruno@clisp.org>
23608
23609         Work around bug of HP-UX 10.20 cc with -0.0 literal.
23610         * tests/test-isnanf.h (zero): New variable.
23611         (main): Avoid literal -0.0f.
23612         * tests/test-isnand.h (zero): New variable.
23613         (main): Avoid literal -0.0.
23614         * tests/test-isnanl.h (zero): New variable.
23615         (main): Avoid literal -0.0L.
23616         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
23617         (test_float, test_double, test_long_double): Avoid literals -0.0f,
23618         -0.0, -0.0L.
23619         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
23620         (test_signbitd): Avoid literal -0.0.
23621         (test_signbitl): Avoid literal -0.0L.
23622         * tests/test-ceilf1.c (zero): New variable.
23623         (main): Avoid literal -0.0f.
23624         * tests/test-ceill.c (zero): New variable.
23625         (main): Avoid literal -0.0L.
23626         * tests/test-floorf1.c (zero): New variable.
23627         (main): Avoid literal -0.0f.
23628         * tests/test-floorl.c (zero): New variable.
23629         (main): Avoid literal -0.0L.
23630         * tests/test-roundf1.c (zero): New variable.
23631         (main): Avoid literal -0.0f.
23632         * tests/test-round1.c (zero): New variable.
23633         (main): Avoid literal -0.0.
23634         * tests/test-roundl.c (zero): New variable.
23635         (main): Avoid literal -0.0L.
23636         * tests/test-truncf1.c (zero): New variable.
23637         (main): Avoid literal -0.0f.
23638         * tests/test-trunc1.c (zero): New variable.
23639         (main): Avoid literal -0.0.
23640         * tests/test-truncl.c (zero): New variable.
23641         (main): Avoid literal -0.0L.
23642         * tests/test-frexp.c (zero): New variable.
23643         (main): Avoid literal -0.0.
23644         * tests/test-frexpl.c (zero): New variable.
23645         (main): Avoid literal -0.0L.
23646         * tests/test-ldexpl.c (zero): New variable.
23647         (main): Avoid literal -0.0L.
23648         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
23649         (zerod, zerol): New variables.
23650         (test_function): Avoid literals -0.0, -0.0L.
23651         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
23652         (zerod, zerol): New variables.
23653         (test_function): Avoid literals -0.0, -0.0L.
23654         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
23655         (zerod, zerol): New variables.
23656         (test_function): Avoid literals -0.0, -0.0L.
23657         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
23658         (zerod, zerol): New variables.
23659         (test_function): Avoid literals -0.0, -0.0L.
23660         * tests/test-strtod.c (zero): New variable.
23661         (main): Avoid literal -0.0.
23662         Reported by Jonathan C. Patschke <jp@centtech.com>.
23663
23664 2008-07-31  Jim Meyering  <meyering@redhat.com>
23665
23666         sha256.h: correct definition of SHA224_DIGEST_SIZE
23667         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
23668         Reported by Paulie Pena IV <paulie4@gmail.com>.
23669         Define as 224 / 8, rather than as a literal.
23670         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
23671         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
23672         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
23673
23674 2008-07-31  Bruno Haible  <bruno@clisp.org>
23675
23676         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
23677         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
23678         Reported by Jonathan Patschke <jp@centtech.com>.
23679
23680 2008-07-31  Bruno Haible  <bruno@clisp.org>
23681
23682         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
23683         Reported by Paolo Bonzini <bonzini@gnu.org>.
23684
23685 2008-07-30  Eric Blake  <ebb9@byu.net>
23686
23687         test-strtod: allow compilation without -lm
23688         * tests/test-strtod.c (main): Avoid link dependence on fabs.
23689         Reported by Dennis Clarke <blastwave@gmail.com>.
23690
23691 2008-07-28  Jim Meyering  <meyering@redhat.com>
23692
23693         bootstrap: work also when there are no .po files in po/
23694         * build-aux/bootstrap (update_po_files): Complete the change
23695         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
23696
23697 2008-07-27  Jim Meyering  <meyering@redhat.com>
23698
23699         * users.txt: Add zile.
23700
23701 2008-07-26  Ben Pfaff  <blp@gnu.org>
23702
23703         Add missing dependencies on new m4/exponent[fdl].m4 files.
23704         * modules/isnanf-nolibm: Add m4/exponentf.m4.
23705         * modules/isnand-nolibm: Add m4/exponentd.m4.
23706         * modules/isnanl-nolibm: Add m4/exponentl.m4.
23707         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
23708         m4/isnan[fdl].m4, because the macros actually used moved.
23709         Reported by Jim Meyering.
23710
23711 2008-07-14  Ben Pfaff  <blp@gnu.org>
23712
23713         Add isinf module.
23714         * lib/isinf.c: New file.
23715         * lib/math.in.h: Define isinf macro if we have decided to replace
23716         it.
23717         * m4/isinf.m4: New file.
23718         * m4/math_h.m4: Initialize and substitute variables for isinf
23719         module.
23720         * modules/isinf: New file.
23721         * modules/isinf-tests: New file.
23722         * modules/math: Add substitutions for new module.
23723         * tests/test-isinf.c: New file.
23724         * doc/posix-functions/isinf.texi: Mention new module.
23725         * MODULES.html.sh: Mention new module.
23726
23727 2008-07-14  Ben Pfaff  <blp@gnu.org>
23728
23729         Factor out some macros for use by additional modules.
23730         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
23731         exponentf.m4.
23732         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
23733         exponentd.m4.
23734         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
23735         file exponentl.m4.
23736         * m4/exponentf.m4: New file.
23737         * m4/exponentd.m4: New file.
23738         * m4/exponentl.m4: New file.
23739         * modules/isnanf: Use new file m4/exponentf.m4.
23740         * modules/isnand: Use new file m4/exponentd.m4.
23741         * modules/isnanl: Use new file m4/exponentl.m4.
23742
23743 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
23744
23745         mktime.c: normalize tp->tm_isdst value to -1/0/1.
23746         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
23747         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
23748         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
23749
23750         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
23751         readlink on platforms without PATH_MAX.
23752
23753 2008-07-21  Eric Blake  <ebb9@byu.net>
23754
23755         Warn, not fail, on stale version.
23756         * top/GNUmakefile (_curr-ver): Tone down previous patch.
23757
23758         Don't allow installation with stale devel version number.
23759         * top/GNUmakefile (_is-install-target): New macro.
23760         (_curr-ver): Forbid installation with stale version number.
23761
23762 2008-07-20  Bruno Haible  <bruno@clisp.org>
23763
23764         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
23765         TESTS_ENVIRONMENT.
23766         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
23767
23768 2008-07-20  Bruno Haible  <bruno@clisp.org>
23769
23770         * lib/c-stack.h (c_stack_action): Add documentation.
23771         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
23772
23773 2008-07-20  Bruno Haible  <bruno@clisp.org>
23774
23775         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
23776         * modules/readlink (License): Likewise.
23777
23778 2008-07-17  Eric Blake  <ebb9@byu.net>
23779
23780         * modules/c-stack (Link): Fix typo.
23781
23782         Make c-stack use libsigsegv, when available.
23783         * modules/c-stack (Depends-on): Add libsigsegv.
23784         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
23785         needed.
23786         * lib/c-stack.c (SIGSTKSZ): Define fallback.
23787         (segv_handler, overflow_handler, c_stack_action)
23788         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
23789         implementation when libsigsegv is available, but only when using
23790         the library is necessary.
23791         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
23792         comment, explaining why XSI check fails on Linux.
23793         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
23794         * tests/test-c-stack2.sh: Tweak skip message.
23795         * NEWS: Document new link-time requirements.
23796
23797 2008-07-16  Eric Blake  <ebb9@byu.net>
23798
23799         c-stack: Expose false positives when not using libsigsegv.
23800         * modules/c-stack-tests (Files): Expand test.
23801         * tests/test-c-stack.c (main): Add means to conditionally trigger
23802         non-overflow SIGSEGV.
23803         * tests/test-c-stack2.sh: New file.
23804
23805 2008-07-14  Bruno Haible  <bruno@clisp.org>
23806
23807         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
23808         Reported by Eric Blake.
23809
23810 2008-07-14  Sam Steingold  <sds@gnu.org>
23811             Bruno Haible  <bruno@clisp.org>
23812
23813         New module libsigsegv.
23814         * modules/libsigsegv: New file.
23815         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
23816         modifications.
23817         * MODULES.html.sh (Signal handling): New section.
23818
23819 2008-07-14  Bruno Haible  <bruno@clisp.org>
23820
23821         * modules/unictype/ctype-* (Description): Add the word "function".
23822         Improves the resulting doc in MODULES.html.
23823
23824 2008-07-12  Ben Pfaff  <blp@gnu.org>
23825
23826         Add longlong module.
23827         * modules/longlong: New file.
23828
23829 2008-07-12  Bruno Haible  <bruno@clisp.org>
23830
23831         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
23832         to empty.
23833
23834 2008-07-10  Ben Pfaff  <blp@gnu.org>
23835
23836         Add isnan module.
23837         * doc/posix-functions/isnan.texi: Mention new module.
23838         * lib/math.in.h: Define isnan macro if we have decided to replace
23839         it.
23840         * m4/isnan.m4: New file.
23841         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
23842         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
23843         also.
23844         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
23845         redundancy.
23846         * m4/math_h.m4: Initialize and substitute variables for isnan
23847         module.
23848         * modules/isnan: New file.
23849         * modules/isnan-tests: New file.
23850         * modules/math: Add substitutions for new module.
23851         * tests/test-isnan.c: New file.
23852         * MODULES.html.sh: Mention new module.
23853
23854 2008-07-10  Ben Pfaff  <blp@gnu.org>
23855
23856         Add isnanf module.
23857         * lib/isnanf.m4: New file.
23858         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
23859         (gl_HAVE_ISNANF_IN_LIBM): New macro.
23860         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
23861         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
23862         * modules/isnanf: New file.
23863         * modules/isnanf-tests: New file.
23864         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
23865         files.
23866         * tests/test-isnanf-nolibm.c: factored most of its contents into
23867         new file tests/test-isnanf.h.
23868         * tests/test-isnanf.h: New file.
23869         * tests/test-isnanf.c: New file.
23870         * MODULES.html.sh: Mention new module.
23871         * doc/glibc-functions/isnanf.texi: Mention new module.
23872
23873 2008-07-10  Ben Pfaff  <blp@gnu.org>
23874
23875         Add isnand module.
23876         * lib/isnand.h: New file.
23877         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
23878         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
23879         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
23880         functionality also.
23881         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
23882         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
23883         (gl_HAVE_ISNAND_IN_LIBM): New macro.
23884         * modules/isnand: New file.
23885         * modules/isnand-tests: New file.
23886         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
23887         files.
23888         * tests/test-isnand-nolibm.c: factored most of its contents into
23889         new file tests/test-isnand.h.
23890         * tests/test-isnand.h: New file.
23891         * tests/test-isnand.c: New file.
23892         * MODULES.html.sh: Mention new module.
23893
23894 2008-07-10  Ben Pfaff  <blp@gnu.org>
23895
23896         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
23897         * lib/isnand.h: Rename lib/isnand-nolibm.h.
23898         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
23899         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
23900         * modules/isnanf-nolibm: Update references to renamed files.
23901         * modules/isnand-nolibm: Likewise.
23902         * modules/isnanf-nolibm-tests: Likewise.
23903         * modules/isnand-nolibm-tests: Likewise.
23904         * lib/frexp.c: Likewise.
23905         * lib/isfinite.c: Likewise.
23906         * lib/signbitd.c: Likewise.
23907         * lib/signbitf.c: Likewise.
23908         * lib/vasnprintf.c: Likewise.
23909         * tests/test-ceilf1.c: Likewise.
23910         * tests/test-ceilf2.c: Likewise.
23911         * tests/test-floorf1.c: Likewise.
23912         * tests/test-floorf2.c: Likewise.
23913         * tests/test-frexp.c: Likewise.
23914         * tests/test-round1.c: Likewise.
23915         * tests/test-round2.c: Likewise.
23916         * tests/test-roundf1.c: Likewise.
23917         * tests/test-strtod.c: Likewise.
23918         * tests/test-trunc1.c: Likewise.
23919         * tests/test-trunc2.c: Likewise.
23920         * tests/test-truncf1.c: Likewise.
23921         * tests/test-truncf2.c: Likewise.
23922         * NEWS: Mention the renamed header files.
23923
23924 2008-07-11  Jim Meyering  <meyering@redhat.com>
23925
23926         vc-list-files: make the last-resort awk code more portable
23927         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
23928         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
23929         does not support it.
23930
23931 2008-07-10  Eric Blake  <ebb9@byu.net>
23932
23933         Work with tar's bootstrap.
23934         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
23935         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
23936         an m4 comment.
23937
23938 2008-07-09  Jim Meyering  <meyering@redhat.com>
23939
23940         posix-shell.m4: fix typo that made this test malfunction
23941         * m4/posix-shell.m4: Remove capitalization in variable name.
23942
23943 2008-07-08  Bruno Haible  <bruno@clisp.org>
23944
23945         * m4/onceonly.m4: Update comments.
23946         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23947
23948 2008-07-04  Jim Meyering  <meyering@redhat.com>
23949
23950         * users.txt: Add vc-dwim.
23951         (bison, coreutils): Use the gitweb URL.
23952
23953 2008-07-03  Jim Meyering  <meyering@redhat.com>
23954
23955         * users.txt: Add libffcall.  From Sam Steingold.
23956
23957 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
23958
23959         getdate.y: do not ignore TZ with relative day, month or year offset
23960         * lib/getdate.y (get_date): Move the tz-handling block to follow the
23961         relative-date-handling, since otherwise, the latter would clobber the
23962         sole output (an updated Start value) of the tz-handling block.
23963         * tests/test-getdate.c: Tests for the fix
23964
23965 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23966
23967         Recognize 'foo_LIBRARIES += libgnu.a'.
23968         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
23969         makefile snippet has already specified an installation location,
23970         also using '+='.
23971
23972 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
23973
23974         getdate.y: factor out common actions
23975         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
23976         Use them in place of open-coded actions.
23977
23978 2008-07-01  Simon Josefsson  <simon@josefsson.org>
23979
23980         Add self-test for getdate module.
23981         * modules/getdate-tests: New file.
23982         * tests/test-getdate.c: New file.
23983
23984 2008-06-29  Bruno Haible  <bruno@clisp.org>
23985
23986         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
23987         .gitignore.
23988         Reported by Sylvain Beucler <beuc@beuc.net>.
23989
23990 2008-06-29  Bruno Haible  <bruno@clisp.org>
23991
23992         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
23993         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
23994
23995 2008-06-29  Bruno Haible  <bruno@clisp.org>
23996
23997         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
23998         EXTRA_DIST.
23999         Reported by Sylvain Beucler <beuc@beuc.net>.
24000
24001 2008-06-26  Jim Meyering  <meyering@redhat.com>
24002
24003         make several modules depend on the "open" module
24004         This provides slightly increased consistency when opening-for-write
24005         the name of a non-directory spelled with a trailing slash.
24006         * modules/chdir-safer: Likewise.
24007         * modules/chown: Likewise.
24008         * modules/clean-temp: Likewise.
24009         * modules/copy-file: Likewise.
24010         * modules/fchdir: Likewise.
24011         * modules/fcntl-safer: Likewise.
24012         * modules/pipe: Likewise.
24013         * modules/utime: Likewise.
24014         Prompted by Eric Blake and Bruno Haible.
24015
24016 2008-06-24  Andreas Schwab  <schwab@suse.de>
24017
24018         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
24019         literals can be used as initializers for global variables.
24020
24021 2008-06-23  Eric Blake  <ebb9@byu.net>
24022
24023         Make gnulib-cache.m4 easier to diff.
24024         * gnulib-tool (func_import): Allow newlines when reading cached
24025         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
24026
24027 2008-06-23  Bruno Haible  <bruno@clisp.org>
24028
24029         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
24030         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
24031         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
24032         m4/signalblocking.m4.
24033         (gl_PREREQ_SIGACTION): Don't invoke it.
24034         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
24035         gl_PREREQ_SIG_HANDLER_H.
24036         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24037         Don't check for sigaction here.
24038
24039 2008-06-23  Bruno Haible  <bruno@clisp.org>
24040
24041         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
24042         (install_handlers): Don't set the SA_RESETHAND flag.
24043
24044 2008-06-23  Bruno Haible  <bruno@clisp.org>
24045
24046         * m4/sigaction.m4: Comment fixes.
24047         * lib/signal.in.h: Likewise.
24048
24049 2008-06-23  Eric Blake  <ebb9@byu.net>
24050
24051         Fix typo.
24052         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
24053
24054         Avoid SA_ namespace.
24055         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
24056         Reported by Ralf Wildenhues.
24057
24058         Avoid test failure due to SA_RESTORER.
24059         * tests/test-sigaction.c (SA_MASK): New macro.
24060         (main): Avoid failing due to extension flags being set.
24061         Reported by Jim Meyering.
24062
24063         Revert use of sig-handler.h in sigprocmask.c.
24064         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
24065         it requires the existence of struct sigaction.
24066         * lib/sigprocmask.c (handler_t): Restore typedef.
24067         (rpl_signal, old_handlers): Use local type.
24068
24069 2008-06-22  Bruno Haible  <bruno@clisp.org>
24070
24071         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
24072         conditionally.
24073         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24074
24075 2008-06-22  Bruno Haible  <bruno@clisp.org>
24076
24077         * doc/posix-functions/siginterrupt.texi: Move note.
24078
24079         * lib/signal.in.h (SA_RESTART): New macro.
24080         * lib/sigaction.c: Update comment.
24081
24082         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
24083
24084         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
24085         (gl_PREREQ_SIGPROCMASK): Invoke it.
24086         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
24087
24088         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
24089
24090         * lib/sigprocmask.c: Update a comment.
24091
24092 2008-06-21  Eric Blake  <ebb9@byu.net>
24093
24094         Use sigaction module rather than signal().
24095         * modules/c-stack (Depends-on): Add sigaction.
24096         * modules/fatal-signal (Depends-on): Likewise.
24097         * modules/nanosleep (Depends-on): Likewise.
24098         * modules/sigprocmask (Files): Add sig-handler.h.
24099         * modules/sigaction (Files): Likewise.
24100         * lib/sig-handler.h (get_handler): New file, suggested by Paul
24101         Eggert.
24102         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
24103         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
24104         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24105         (init_fatal_signals): Likewise.
24106         * lib/nanosleep.c (rpl_nanosleep): Likewise.
24107         (siginterrupt): Delete fallback.
24108         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
24109         instead.
24110         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
24111         siginterrupt.
24112
24113         New module sigaction, for mingw.
24114         * modules/sigaction: New module...
24115         * modules/sigaction-tests: ...and its test.
24116         * m4/sigaction.m4: New file.
24117         * lib/sigaction.c: Likewise.
24118         * tests/test-sigaction.c: Likewise.
24119         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
24120         * modules/signal (Makefile.am): Likewise.
24121         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
24122         needed.
24123         * doc/posix-headers/signal.texi (signal.h): Mention provided
24124         types.
24125         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
24126         that sigaction is preferable.
24127         * doc/posix-functions/sigaction.texi (sigaction): Mention new
24128         module.
24129         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24130         sigaction.
24131
24132         Improve robustness of sigprocmask by overriding signal.
24133         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
24134         is in use.
24135         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
24136         (SIGKILL, SIGSTOP): Provide fallbacks.
24137         (rpl_signal): Implement.
24138         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
24139         signal can be called inside handlers.
24140
24141         Fix nanosleep module on mingw.
24142         * modules/nanosleep (Depends-on): Add sys_select.
24143         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
24144
24145         Fix licensing of sigprocmask.
24146         * modules/raise (License): Relicense as LGPL.
24147
24148 2008-06-21  Bruno Haible  <bruno@clisp.org>
24149
24150         * lib/propername.c (proper_name_utf8): Don't use the transliterated
24151         result if it contains question marks.
24152         Reported by Michael Geng <linux@michaelgeng.de>.
24153
24154 2008-06-19  Bruno Haible  <bruno@clisp.org>
24155
24156         Fix CVS-ism.
24157         * doc/gnulib.texi: Include updated-stamp.texi.
24158         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
24159         (updated-stamp.texi): New rule.
24160         (gnulib.info): Depend on it.
24161         * doc/.gitignore: Add updated-stamp.texi.
24162         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
24163
24164 2008-06-19  Bruno Haible  <bruno@clisp.org>
24165
24166         * doc/Makefile (gnulib.info): Update and simplify dependencies.
24167         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24168
24169 2008-06-19  Eric Blake  <ebb9@byu.net>
24170
24171         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
24172         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
24173         Reported by Stepan Kasal.
24174
24175 2008-06-18  Bruno Haible  <bruno@clisp.org>
24176
24177         * lib/fatal-signal.c (init_fatal_signals): Add comment.
24178         Reported by Eric Blake.
24179
24180 2008-06-18  Eric Blake  <ebb9@byu.net>
24181
24182         Work around cygwin 1.5.25 strsignal bug.
24183         * tests/test-strsignal.c: Allow for const char *.
24184         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
24185
24186 2008-06-18  Simon Josefsson  <simon@josefsson.org>
24187
24188         * users.txt: Update URL to article and add author/date
24189         information.
24190
24191 2008-06-17  Bruno Haible  <bruno@clisp.org>
24192
24193         New macro gl_DISABLE_THREADS.
24194         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
24195         if the user did not pass --enable-threads or --disable-threads option.
24196         (gl_DISABLE_THREADS): New macro.
24197         Reported by Eric Blake <ebb9@byu.net>.
24198
24199 2008-06-17  Bruno Haible  <bruno@clisp.org>
24200
24201         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
24202         when the macro ignores it.
24203         Based on a patch by Eric Blake <ebb9@byu.net>.
24204
24205 2008-06-17  Bruno Haible  <bruno@clisp.org>
24206
24207         * modules/tls (License): Change to LGPLv2+.
24208         Reported by Eric Blake.
24209
24210 2008-06-17  Eric Blake  <ebb9@byu.net>
24211
24212         Simplify c-stack prerequisites.
24213         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
24214         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
24215         no longer requires <ucontext.h> to exist.  Optimize setrlimit
24216         check.
24217         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
24218         <sys/resource.h>.
24219
24220         Move c-stack test into testsuite.
24221         * modules/c-stack-tests: New file.
24222         * lib/c-stack.c [DEBUG]: Move test program...
24223         * tests/test-c-stack.c: ...into this new file.  Skip rather than
24224         fail test if sigaltstack is lacking.
24225         * tests/test-c-stack.sh: New driver file.
24226
24227 2008-06-16  Eric Blake  <ebb9@byu.net>
24228
24229         Use raise module consistently.
24230         * modules/fatal-signal (Depends-on): Add raise.
24231         * modules/sigprocmask (Depends-on): Likewise.
24232         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
24233         * lib/sigprocmask.c (sigprocmask): Likewise.
24234         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24235         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
24236
24237         Fix compliance bug in sigpending.
24238         * lib/sigprocmask.c (sigpending): Return pending array via
24239         parameter, not return value.
24240
24241 2008-06-14  Eric Blake  <ebb9@byu.net>
24242
24243         Improve obstack-printf test code.
24244         * tests/test-obstack-printf.c (test_function): Fix comment, and
24245         simplify usage of obstack_* in macros.  Add a test for coverage.
24246         Reported by Bruno Haible.
24247
24248 2008-06-14  Bruno Haible  <bruno@clisp.org>
24249
24250         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
24251         array size as a constant, not as a const variable.
24252         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
24253         AC_USE_SYSTEM_EXTENSIONS.
24254         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24255         Test whether the obstack_printf function actually exists.
24256         * modules/obstack-printf (Depends-on): Add extensions.
24257         (Include): Remove obstack.h.
24258         * modules/obstack-printf-posix (Depends-on): Add extensions.
24259         (Include): Remove obstack.h.
24260
24261 2008-06-13  Eric Blake  <ebb9@byu.net>
24262
24263         Add obstack-printf and obstack-printf-posix modules.
24264         * modules/obstack-printf: New file.
24265         * modules/obstack-printf-posix: Likewise.
24266         * MODULES.html.sh (Misc): Mention them.
24267         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
24268         Likewise.
24269         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
24270         Likewise.
24271         * modules/stdio (Makefile.am): Accomodate new modules.
24272         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24273         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
24274         Declare.
24275         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
24276         functions.
24277         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
24278         (gl_REPLACE_OBSTACK_PRINTF): New macros
24279         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
24280         * tests/test-obstack-printf.c: New file.
24281         * modules/obstack-printf-tests: Likewise.
24282         * modules/obstack-printf-posix-tests: Likewise.
24283
24284 2008-06-11  Bruno Haible  <bruno@clisp.org>
24285
24286         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
24287         * lib/open.c: Include errno.h.
24288         (open): Fail when attempting to write to a file that has a trailing
24289         slash.
24290         * tests/test-open.c (main): Test against trailing slash bug.
24291         * doc/posix-functions/open.texi: Mention the trailing slash bug.
24292
24293 2008-06-10  Bruno Haible  <bruno@clisp.org>
24294
24295         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
24296         for $? to work inside the trap command, with various /bin/sh-s.
24297         * tests/test-vc-list-files-cvs.sh: Likewise.
24298
24299 2008-06-10  Bruno Haible  <bruno@clisp.org>
24300
24301         * lib/acl-internal.h: Don't include gettext.h here.
24302         * lib/set-mode-acl.c: Include gettext.h here.
24303         * lib/copy-acl.c: Likewise.
24304
24305 2008-06-10  Bruno Haible  <bruno@clisp.org>
24306
24307         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
24308         * lib/wait-process.c (wait_subprocess): Likewise.
24309         * lib/execute.h (execute): Add termsigp argument.
24310         * lib/execute.c (execute): Likewise.
24311         * lib/csharpcomp.c (compile_csharp_using_pnet,
24312         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
24313         * lib/csharpexec.c (execute_csharp_using_pnet,
24314         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
24315         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
24316         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
24317         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
24318         is_jikes_present): Update.
24319         * lib/javaexec.c (execute_java_class): Update.
24320         * lib/javaversion.c (execute_and_read_line): Update.
24321         * NEWS: Document the changes.
24322         Reported by Eric Blake.
24323
24324 2008-06-10  Eric Blake  <ebb9@byu.net>
24325
24326         Add missing include.
24327         * tests/test-strstr.c (includes): Add <signal.h>.
24328         * tests/test-strcasestr.c (includes): Likewise.
24329         * tests/test-memmem.c (includes): Likewise.
24330
24331 2008-06-10  Bruno Haible  <bruno@clisp.org>
24332
24333         * lib/wait-process.c (wait_subprocess): Add an assertion.
24334
24335 2008-06-10  Bruno Haible  <bruno@clisp.org>
24336
24337         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
24338
24339 2008-06-10  Bruno Haible  <bruno@clisp.org>
24340
24341         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
24342         using alarm().
24343         * tests/test-strcasestr.c (main): Likewise.
24344         * tests/test-strstr.c (main): Likewise.
24345
24346 2008-06-09  Bruno Haible  <bruno@clisp.org>
24347
24348         Work around the Solaris 10 ACE ACLs ABI change.
24349         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
24350         declare if ACL_NO_TRIVIAL is present.
24351         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
24352         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
24353         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
24354         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
24355         define if ACL_NO_TRIVIAL is present.
24356         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
24357         and use the current ABI.
24358         (file_has_acl): Use same #if condition as elsewhere.
24359         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
24360         in use, and use the current ABI.
24361         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
24362         Reported by Jim Meyering.
24363
24364 2008-06-09  Eric Blake  <ebb9@byu.net>
24365
24366         Work around environments that (stupidly) ignore SIGALRM.
24367         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
24368         before using alarm().
24369         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24370         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24371         Reported by Ian Beckwith <ianb@erislabs.net>.
24372
24373         Produce autobuild blurb earlier in log.
24374         * modules/autobuild (configure.ac-early): Move AB_INIT here.
24375
24376 2008-06-09  Jim Meyering  <meyering@redhat.com>
24377         and OndÅ™ej Vašík  <ovasik@redhat.com>
24378
24379         utimens.c: correct kernel bug work-around
24380         OndÅ™ej Vašík found that the invalid return value of 280 indicates
24381         failure, not success, and the kernel bug we're trying to work
24382         around affects not just the utimensat call, but also the fallback
24383         futimens call.
24384         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
24385         not success.
24386         [HAVE_FUTIMENS]: Use the same work-around, here.
24387
24388 2008-06-09  Jim Meyering  <meyering@redhat.com>
24389
24390         add more guards around definition of ACE_-related code
24391         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
24392         ALLOW and ACE_OWNER are also defined.
24393
24394 2008-06-08  Bruno Haible  <bruno@clisp.org>
24395
24396         * lib/acl-internal.h: Add me as co-author.
24397         * lib/file-has-acl.c: Likewise.
24398         * lib/set-mode-acl.c: Likewise.
24399         * lib/copy-acl.c: Likewise.
24400
24401 2008-06-08  Bruno Haible  <bruno@clisp.org>
24402
24403         Add support for AIX ACLs.
24404         * lib/acl-internal.h (acl_nontrivial): New declaration.
24405         * lib/file-has-acl.c (acl_nontrivial): New function.
24406         (file_has_acl): Add implementation using AIX 4 ACL API.
24407         * lib/set-mode-acl.c (qset_acl): Likewise.
24408         * lib/copy-acl.c (qcopy_acl): Likewise.
24409
24410 2008-06-08  Bruno Haible  <bruno@clisp.org>
24411
24412         Add support for HP-UX ACLs.
24413         * lib/acl-internal.h (acl_nontrivial): New declaration.
24414         * lib/file-has-acl.c (acl_nontrivial): New function.
24415         (file_has_acl): Add implementation using HP-UX 11 ACL API.
24416         * lib/set-mode-acl.c (qset_acl): Likewise.
24417         * lib/copy-acl.c (qcopy_acl): Likewise.
24418
24419 2008-06-08  Bruno Haible  <bruno@clisp.org>
24420
24421         Add support for Cygwin ACLs.
24422         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
24423         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
24424         the chmod_or_fchmod call.
24425         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
24426
24427 2008-06-08  Bruno Haible  <bruno@clisp.org>
24428
24429         Fix bug with setuid modes in Solaris 10+ code.
24430         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
24431         succeeded, when the mode contains some special bits.
24432
24433 2008-06-08  Bruno Haible  <bruno@clisp.org>
24434
24435         Add support for Solaris 7..10 ACLs.
24436         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
24437         declarations.
24438         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
24439         functions.
24440         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
24441         * lib/set-mode-acl.c (qset_acl): Likewise.
24442         * lib/copy-acl.c (qcopy_acl): Likewise.
24443
24444 2008-06-08  Bruno Haible  <bruno@clisp.org>
24445
24446         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
24447         declaration.
24448         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
24449         (acl_access_nontrivial): Remove MacOS X case.
24450         (file_has_acl): Use acl_extended_nontrivial.
24451         * lib/copy-acl.c (qcopy_acl): Likewise.
24452
24453 2008-06-08  Bruno Haible  <bruno@clisp.org>
24454
24455         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
24456
24457 2008-06-08  Jim Meyering  <meyering@redhat.com>
24458
24459         * modules/acl (Maintainer): Add Bruno Haible.
24460
24461 2008-06-07  Bruno Haible  <bruno@clisp.org>
24462
24463         Improve support for Tru64 ACLs.
24464         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
24465         ACL on OSF/1.
24466
24467 2008-06-07  Bruno Haible  <bruno@clisp.org>
24468
24469         Add support for MacOS X ACLs.
24470         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
24471         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
24472         * lib/set-mode-acl.c (qset_acl): Likewise.
24473         * lib/copy-acl.c (qcopy_acl): Likewise.
24474
24475 2008-06-07  Bruno Haible  <bruno@clisp.org>
24476
24477         Fix memory leak introduced on 2008-05-22.
24478         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
24479         use.
24480
24481 2008-06-07  Bruno Haible  <bruno@clisp.org>
24482
24483         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
24484         to construct an empty ACL.
24485
24486 2008-06-07  Bruno Haible  <bruno@clisp.org>
24487
24488         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
24489         precisely.
24490         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
24491
24492 2008-06-07  Bruno Haible  <bruno@clisp.org>
24493
24494         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
24495         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
24496
24497 2008-06-07  Bruno Haible  <bruno@clisp.org>
24498
24499         * doc/posix-functions/_setjmp.texi: Explain the use of this function
24500         regardless of POSIX.
24501         * doc/posix-functions/_longjmp.texi: Likewise.
24502         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
24503         SystemV platform in this case.
24504
24505 2008-06-06  Eric Blake  <ebb9@byu.net>
24506
24507         Document abort() bugs.
24508         * doc/posix-functions/abort.texi (abort): Mention anomalies.
24509
24510         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
24511         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
24512         sigsetjmp.
24513         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
24514         siglongjmp, but only as a macro.
24515         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
24516         is obsolete.
24517         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
24518
24519         Tweak documentation to cover cygwin argz bugs.
24520         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
24521         argz bug fix; no code change needed since no cygwin releases
24522         occurred between the last fix and the bug being tested.
24523         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
24524         module and recently fixed cygwin bugs.
24525         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
24526         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
24527         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
24528         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
24529         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
24530         Likewise.
24531         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
24532         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
24533         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
24534         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
24535         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
24536         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
24537         Likewise.
24538
24539         Avoid gcc warning on cygwin.
24540         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
24541         !ACL_NO_TRIVIAL]: Avoid unused variable.
24542
24543 2008-06-05  Eric Blake  <ebb9@byu.net>
24544
24545         Be tolerant of UNKNOWN version in gnulib-tool test dir.
24546         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
24547         git-version-gen fails to come up with a version.
24548         Reported by Simon Josefsson.
24549
24550 2008-06-05  Jim Meyering  <meyering@redhat.com>
24551             Paul Eggert  <eggert@cs.ucla.edu>
24552
24553         utimens.c: work around a probable Linux kernel bug
24554         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
24555         appears to be a kernel bug that causes utimensat to return 280
24556         instead of 0, indicating success.
24557
24558 2008-06-04  Bruno Haible  <bruno@clisp.org>
24559
24560         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
24561         2008-06-01 commit.
24562
24563 2008-06-04  Bruno Haible  <bruno@clisp.org>
24564
24565         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
24566         * lib/file-has-acl.c (acl_access_nontrivial): New function.
24567         (file_has_acl): Use it. Save errno afterwards.
24568         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
24569
24570 2008-06-03  Bruno Haible  <bruno@clisp.org>
24571
24572         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
24573         draft code. Simplify #ifs.
24574         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
24575         Put Solaris code after POSIX-draft code. Fix comments regarding
24576         Solaris 10, HP-UX. Mention Cygwin.
24577         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
24578
24579 2008-06-03  Eric Blake  <ebb9@byu.net>
24580
24581         Provide fallback for older kernels.
24582         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
24583         Provide runtime fallback if kernel lacks support.
24584         Reported by Mike Frysinger.
24585
24586 2008-06-02  Bruno Haible  <bruno@clisp.org>
24587
24588         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
24589         it exists.
24590
24591 2008-06-02  Bruno Haible  <bruno@clisp.org>
24592
24593         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
24594         * lib/copy-acl.c (qcopy_acl): Update comment.
24595
24596 2008-06-02  Bruno Haible  <bruno@clisp.org>
24597
24598         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
24599         like ACL APIs.
24600
24601 2008-06-02  Bruno Haible  <bruno@clisp.org>
24602
24603         * tests/test-file-has-acl.sh: Use different code for Cygwin.
24604         * tests/test-set-mode-acl.sh: Likewise.
24605         * tests/test-copy-acl.sh: Likewise.
24606         * tests/test-copy-file.sh: Likewise.
24607
24608 2008-06-02  Bruno Haible  <bruno@clisp.org>
24609
24610         * tests/test-file-has-acl.sh: Remove unused code.
24611
24612 2008-06-01  Bruno Haible  <bruno@clisp.org>
24613
24614         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
24615         (copy_acl): Just a wrapper around qcopy_acl that emits the error
24616         messages.
24617         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
24618
24619 2008-06-01  Bruno Haible  <bruno@clisp.org>
24620
24621         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
24622         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
24623         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
24624         APIs.
24625         * modules/acl-tests (configure.ac): Remove tests now contained in
24626         m4/acl.m4.
24627
24628 2008-06-02  Jim Meyering  <meyering@redhat.com>
24629
24630         announce-gen: use a better key-server host name
24631         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
24632         it may be more consistently reliable.  Suggested by Werner Koch
24633         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
24634
24635 2008-06-01  Bruno Haible  <bruno@clisp.org>
24636
24637         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
24638         Reported by Voroskoi Andras <voroskoi@gmail.com>.
24639
24640 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
24641
24642         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
24643
24644 2008-06-01  Bruno Haible  <bruno@clisp.org>
24645
24646         New ACL tests.
24647         * tests/test-file-has-acl.sh: New file.
24648         * tests/test-file-has-acl.c: New file.
24649         * tests/test-set-mode-acl.sh: New file.
24650         * tests/test-set-mode-acl.c: New file.
24651         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
24652         * tests/test-copy-acl.c: New file.
24653         * modules/acl-tests: New file, based on modules/copy-file-tests.
24654         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
24655         (Depends-on): Add acl-tests.
24656         (configure.ac): Remove checks.
24657         (Makefile.am): Don't create test-sameacls program here any more.
24658
24659 2008-06-01  Bruno Haible  <bruno@clisp.org>
24660
24661         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
24662         * tests/test-sameacls.c: Include progname.h.
24663         (main): Invoke set_program_name. Portability fixes for MacOS X,
24664         Solaris, HP-UX.
24665
24666 2008-06-01  Bruno Haible  <bruno@clisp.org>
24667
24668         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
24669         function.
24670         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
24671
24672 2008-06-01  Bruno Haible  <bruno@clisp.org>
24673
24674         * modules/rpmatch (Depends-on): Add strdup.
24675
24676 2008-06-01  Bruno Haible  <bruno@clisp.org>
24677
24678         * lib/pipe.c: Include unistd-safer.h.
24679         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
24680         * modules/pipe (Depends-on): Add unistd-safer.
24681
24682 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24683
24684         * modules/autobuild (configure.ac): Call AB_INIT.
24685
24686 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24687
24688         * tests/test-getaddrinfo.c: Don't print debug messages by default.
24689         Suggested by Bruno Haible <bruno@clisp.org>.
24690
24691 2008-05-30  Simon Josefsson  <simon@josefsson.org>
24692
24693         * tests/test-base64.c: Cast size_t to unsigned long when invoking
24694         printf.  Use %lu instead of %d.  Reported by Bruno Haible
24695         <bruno@clisp.org>.
24696
24697 2008-05-29  Eric Blake  <ebb9@byu.net>
24698
24699         Prefer new POSIX 200x interfaces over futimesat.
24700         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
24701         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
24702         when available.
24703         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
24704
24705 2008-05-28  Bruno Haible  <bruno@clisp.org>
24706
24707         * modules/stpcpy (License): Change to LGPLv2+.
24708         Requested by David Lutterkort <dlutter@redhat.com>.
24709
24710 2008-05-27  Bruno Haible  <bruno@clisp.org>
24711
24712         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
24713         current mingw.
24714         Reported by Jose E. Marchesi <jemarch@gnu.org>.
24715
24716 2008-05-27  Bruno Haible  <bruno@clisp.org>
24717
24718         * modules/iconv_open (Link): New section, from module 'iconv'.
24719         * modules/striconv (Link): Likewise.
24720         * modules/striconveh (Link): Likewise.
24721         * modules/xstriconv (Link): Likewise.
24722         * modules/unicodeio (Link): Likewise.
24723         * modules/propername (Link): Likewise.
24724         Reported by Jim Meyering.
24725
24726 2008-05-26  Jim Meyering  <meyering@redhat.com>
24727
24728         sha256: do not artificially restrict buffer length to be < 2^32
24729         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
24730         uint32_t to size_t.
24731         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
24732         to match.
24733
24734         avoid unaligned access errors, e.g., on sparc
24735         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
24736         direct access through a possibly-unaligned uint64* pointer.
24737         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
24738         direct access through a possibly-unaligned uint32* pointer.
24739         Prompted by this patch from Tom "spot" Callaway:
24740         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
24741
24742         sha512.c: fix typo in comment
24743         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
24744
24745 2008-05-25  Bruno Haible  <bruno@clisp.org>
24746
24747         * lib/set-mode-acl.c: Renamed from lib/acl.c.
24748         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
24749         (Makefile.am): Update lib_SOURCES.
24750
24751 2008-05-25  Bruno Haible  <bruno@clisp.org>
24752
24753         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
24754
24755 2008-05-25  Jim Meyering  <meyering@redhat.com>
24756
24757         useless-if-before-free: freed expr may have white-space differences
24758         * build-aux/useless-if-before-free: Recognize cases in which the
24759         freed expression differs from the tested one in embedded white
24760         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
24761         $1 was used, so we can't make any regexp shy.  Improved tests now
24762         detect this.
24763
24764         useless-if-before-free: accept white space in the expression.
24765         * build-aux/useless-if-before-free: For now, any white space
24766         in the expression must be identical in the free argument.
24767
24768         useless-if-before-free: efficiency tweak
24769         * build-aux/useless-if-before-free: Make the expression-matching
24770         regexp "shy".
24771         Make the *outer* regexp shy, not the expr-matching one.
24772
24773         update code-in-comment to accept cast of free arg
24774         * build-aux/useless-if-before-free: Update regexp.
24775
24776 2008-05-25  Bruno Haible  <bruno@clisp.org>
24777
24778         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
24779         * modules/copy-file-tests (Files, Makefile.am): Update.
24780         * tests/test-copy-file.c (func_test_copy): Update.
24781
24782 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
24783
24784         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
24785
24786 2008-05-23  Bruno Haible  <bruno@clisp.org>
24787
24788         Improve support for ACLs on OSF/1.
24789         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
24790         Remove fallback for unknown flavors of ACLs.
24791
24792 2008-05-22  Bruno Haible  <bruno@clisp.org>
24793
24794         Add support for ACLs on OSF/1.
24795         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
24796         replacements.
24797         (acl_free_text): New macro fallback.
24798         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
24799         acl_free.
24800         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
24801         acl_free_text function. Require AC_C_INLINE.
24802
24803 2008-05-22  Bruno Haible  <bruno@clisp.org>
24804
24805         Make copy_acl work on MacOS X 10.5.
24806         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
24807         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
24808         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
24809         If MODE_INSIDE_ACL, don't assume that every system has the same text
24810         representation for ACLs as FreeBSD.
24811         * lib/copy-acl.c (copy_acl): Add support for platforms with
24812         !MODE_INSIDE_ACL.
24813         * lib/file-has-acl.c (file_has_acl): Likewise.
24814         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
24815         FreeBSD, MacOS X, or IRIX, respectively.
24816
24817 2008-05-22  Bruno Haible  <bruno@clisp.org>
24818
24819         * lib/acl.h: Don't include <sys/acl.h>.
24820         (GETACLCNT): Move fallback to lib/acl-internal.h.
24821         * lib/acl-internal.h: Include <sys/acl.h> here.
24822         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
24823
24824 2008-05-22  Bruno Haible  <bruno@clisp.org>
24825
24826         Split off copy_acl function to separate file.
24827         * lib/copy-acl.c: New file, extracted from lib/acl.c.
24828         * lib/acl.c (copy_acl): Moved function to separate file.
24829         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
24830         * modules/acl (Files): Add lib/copy-acl.c.
24831         (Makefiles.am): Augment lib_SOURCES.
24832
24833 2008-05-22  Bruno Haible  <bruno@clisp.org>
24834
24835         * modules/copy-file-tests: New file.
24836         * tests/test-copy-file.sh: New file.
24837         * tests/test-copy-file.c: New file.
24838         * tests/test-copy-file-sameacls.c: New file.
24839
24840 2008-05-22  Eric Blake  <ebb9@byu.net>
24841
24842         Avoid gcc warning.
24843         * tests/test-memcmp.c (main): Pass NULL indirectly.
24844
24845 2008-05-21  Bruno Haible  <bruno@clisp.org>
24846
24847         Add reference doc about ACLs.
24848         * doc/acl-resources.txt: New file.
24849         * doc/acl-cygwin.txt: New file.
24850
24851 2008-05-21  Bruno Haible  <bruno@clisp.org>
24852
24853         Avoid one more warning from gcc.
24854         * lib/vasnprintf.c (IF_LINT): Update comments.
24855         (VASNPRINTF): Use it also for the 'prefix' array initializer.
24856
24857 2008-05-21  Jim Meyering  <meyering@redhat.com>
24858
24859         avoid a warning from gcc
24860         * lib/vasnprintf.c (IF_LINT): Define.
24861         (scale10_round_decimal_long_double):
24862         Use it to avoid a "may be used uninitialized" warning.
24863         (scale10_round_decimal_double): Likewise.
24864
24865 2008-05-21  Simon Josefsson  <simon@josefsson.org>
24866
24867         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
24868         declared.
24869
24870 2008-05-20  Bruno Haible  <bruno@clisp.org>
24871
24872         * tests/test-memcmp.c (main): Test also the sign of the result. Test
24873         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
24874
24875 2008-05-20  Simon Josefsson  <simon@josefsson.org>
24876
24877         * modules/memcmp-tests: New file.
24878         * tests/test-memcmp.c: New file.
24879
24880 2008-05-19  Bruno Haible  <bruno@clisp.org>
24881
24882         * modules/propername (Notice, configure.ac): Put quoted "..." into
24883         --keyword option.
24884         * lib/propername.h: Update comments accordingly.
24885         Reported by Eric Blake.
24886
24887 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
24888
24889         * modules/getpass-gnu (Depends-on): Add fseeko.
24890
24891 2008-05-19  Simon Josefsson  <simon@josefsson.org>
24892
24893         * modules/base64-tests: New file.
24894
24895 2008-05-19  Bo Borgerson <gigabo@gmail.com>
24896
24897         * lib/base64.c (base64_decode_ctx): If a decode context structure
24898         was passed in use it to ignore newlines.  If a context structure
24899         was _not_ passed in, continue to treat newlines as garbage (this
24900         is the historical behavior).  Formerly base64_decode.
24901         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
24902         takes a decode context structure.
24903         * lib/base64.h (base64_decode): Macro for four-argument calls.
24904         (base64_decode_alloc): Likewise.
24905         * lib/base64.c (base64_decode_ctx): If a decode context structure
24906         was passed in use it to ignore newlines.  If a context structure
24907         was _not_ passed in, continue to treat newlines as garbage (this
24908         is the historical behavior).  Formerly base64_decode.
24909         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
24910         takes a decode context structure.
24911         * lib/base64.h (base64_decode): Macro for four-argument calls.
24912         (base64_decode_alloc): Likewise.
24913
24914 2008-05-19  Jim Meyering  <meyering@redhat.com>
24915
24916         avoid a warning from gcc
24917         * lib/trim.c (IF_LINT): Define.
24918         (trim2): Use it to avoid a "may be used uninitialized" warning.
24919
24920         Fix doc typo.
24921         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
24922
24923 2008-05-19  Bruno Haible  <bruno@clisp.org>
24924
24925         * doc/glibc-functions/getpass.texi: Document limits of other
24926         implementations.
24927
24928 2008-05-19  Simon Josefsson  <simon@josefsson.org>
24929             Bruno Haible <bruno@clisp.org>
24930
24931         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
24932
24933 2008-05-18  Bruno Haible  <bruno@clisp.org>
24934
24935         * modules/propername: New file, from GNU gettext.
24936         * lib/propername.h: New file, from GNU gettext.
24937         * lib/propername.c: New file, from GNU gettext.
24938         * MODULES.html.sh (Internationalization functions): Add propername.
24939
24940 2008-05-16  Jim Meyering  <meyering@redhat.com>
24941             Bruno Haible  <bruno@clisp.org>
24942
24943         Avoid some warnings from "gcc -Wshadow".
24944         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
24945
24946 2008-05-15  Eric Blake  <ebb9@byu.net>
24947
24948         Extend previous patch to cygwin 1.7.0.
24949         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
24950         fast implementation in cygwin >= 1.7.0.
24951         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24952         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24953
24954 2008-05-15  Bruno Haible  <bruno@clisp.org>
24955
24956         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
24957         implementation in glibc >= 2.9.
24958         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24960
24961 2008-05-15  Bruno Haible  <bruno@clisp.org>
24962
24963         * MODULES.html.sh (Internationalization functions): Remove linebreak.
24964         (Unicode string functions): Add unilbrk/*.
24965         Reported by Karl Berry.
24966
24967 2008-05-15  Eric Blake  <ebb9@byu.net>
24968
24969         Fix violation of <stdbool.h> replacement in regex.
24970         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
24971         * lib/regexec.c (re_search_internal): Likewise.
24972         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
24973
24974 2008-05-15  Jim Meyering  <meyering@redhat.com>
24975
24976         avoid distracting test output when git or cvs is not found
24977         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
24978         * tests/test-vc-list-files-git.sh: Likewise.
24979
24980 2008-05-15  Eric Blake  <ebb9@byu.net>
24981
24982         Glibc finally accepted the memmem speedup code, bugzilla #5514.
24983         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
24984         glibc version.
24985         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
24986         * doc/posix-functions/strstr.texi (strstr): Likewise.
24987         * lib/str-two-way.h (MAX): Sychronize with glibc.
24988
24989 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
24990
24991         * lib/regcomp.c (optimize_utf8): Add a note on why we test
24992         opr.ctx_type.
24993         (calc_first): Initialize constraint field.
24994         (duplicate_node_closure): Use it instead of special casing ANCHORS.
24995         Fix grammar.
24996         (duplicate_node): Merge constraint field for all node types.
24997         (calc_eclosure_iter): Look at constraint field for all node types.
24998         * lib/regex_internal.c (create_cd_newstate): Don't look at
24999         opr.ctx_type.
25000
25001 2008-05-14  Bruno Haible  <bruno@clisp.org>
25002
25003         Help GCC to do better code generation.
25004         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
25005         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25006         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
25007         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
25008         Declare with attribute 'malloc' if supported.
25009
25010 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
25011
25012         use "echo STR|wc -c" rather than unportable "expr length STR"
25013         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
25014         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
25015
25016 2008-05-14  Jim Meyering  <meyering@redhat.com>
25017
25018         use dd ibs=$n count=1 ... rather than less-portable head -c$n
25019         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
25020         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
25021         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
25022         via Collin Lasse.
25023
25024 2008-05-14  Eric Blake  <ebb9@byu.net>
25025
25026         Avoid quadratic growth in gl_LIBSOURCES.
25027         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
25028         Suggested by Bruno Haible.
25029
25030         Test xmemdup0.
25031         * modules/xmemdup0-tests: New file.
25032         * tests/test-xmemdup0.c: Likewise.
25033
25034 2008-05-13  Eric Blake  <ebb9@byu.net>
25035
25036         Split xmemdup0 into its own module.
25037         * modules/xmemdup0: New file.
25038         * lib/xmemdup0.h: Likewise.
25039         * lib/xmemdup0.c: Likewise.
25040         * MODULES.html.sh (Memory management functions): Add xmemdup0.
25041         * lib/xalloc.h (xmemdup0): Remove.
25042         * lib/xmalloc.c (xmemdup0): Likewise.
25043
25044 2008-05-13  Eric Blake  <ebb9@byu.net>
25045             Bruno Haible  <bruno@clisp.org>
25046
25047         Reduce number of forks required during autoconf.
25048         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
25049         and gl_LIBSOURCES_DIR.
25050         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
25051         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
25052         m4_syscmd per file.
25053         <m4_foreach_w>: Move...
25054         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
25055
25056 2008-05-13  Eric Blake  <ebb9@byu.net>
25057
25058         * gnulib-tool: Fix various comment typos.
25059
25060 2008-05-12  Bruno Haible  <bruno@clisp.org>
25061
25062         Tailor the linebreaking algorithm.
25063         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
25064
25065 2008-05-12  Bruno Haible  <bruno@clisp.org>
25066
25067         Update to Unicode 5.0.0.
25068         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25069         LBP_JV, LBP_JT. Redistribute values.
25070         (unilbrk_table): Change size.
25071         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
25072         Unicode TR#14 rev. 22.
25073         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
25074         LBP_JV, LBP_JT. Redistribute values.
25075         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
25076         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
25077         Update.
25078         * lib/unilbrk/lbrkprop1.h: Regenerated.
25079         * lib/unilbrk/lbrkprop2.h: Regenerated.
25080         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
25081         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
25082         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
25083         Likewise.
25084         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
25085         Likewise.
25086         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
25087         result.
25088         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25089         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25090         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25091         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
25092         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
25093         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
25094
25095 2008-05-11  Bruno Haible  <bruno@clisp.org>
25096
25097         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
25098
25099 2008-05-11  Bruno Haible  <bruno@clisp.org>
25100
25101         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
25102         * modules/unilbrk/gen-lbrk: New file.
25103
25104 2008-05-11  Bruno Haible  <bruno@clisp.org>
25105
25106         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
25107         * m4/sha512.m4 (gl_SHA512): Likewise.
25108
25109 2008-05-11  Jim Meyering  <meyering@redhat.com>
25110
25111         New modules: crypto/sha256, crypto/sha512 (from coreutils)
25112         * modules/crypto/sha256: New file.
25113         * modules/crypto/sha512: Likewise.
25114         * lib/sha256.c: Likewise.
25115         * lib/sha256.h: Likewise.
25116         * lib/sha512.c: Likewise.
25117         * lib/sha512.h: Likewise.
25118         * lib/u64.h: Likewise.
25119         * m4/sha256.m4: Likewise.
25120         * m4/sha512.m4: Likewise.
25121         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
25122
25123 2008-05-10  Bruno Haible  <bruno@clisp.org>
25124
25125         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
25126         (Input/Output <stdio.h>): Add xprintf.
25127         (Signal handling <signal.h>): Add strsignal.
25128         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
25129         (Core language properties): Add func.
25130         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
25131         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
25132         strings.
25133         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
25134         (Input/output): New section.
25135         (File system functions): Add openat-die, stat-macros.
25136         (Networking functions): Add sockets.
25137         (Unicode string functions): Add unictype/*.
25138         (Support for building libraries and executables): Add gperf.
25139         (Support for building documentation): Add agpl-3.0.
25140         (Misc): Add nocrash.
25141
25142 2008-05-10  Bruno Haible  <bruno@clisp.org>
25143
25144         * modules/unictype/gen-ctype: New file.
25145
25146 2008-05-10  Jim Meyering  <meyering@redhat.com>
25147
25148         Make chdir-safer.c more efficient on a system with no symlinks.
25149         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
25150         also if ELOOP is zero.  Suggested by Bruno Haible.
25151
25152         Make chdir-safer.c slightly safer.
25153         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
25154         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
25155
25156         Avoid compile failure on systems without ELOOP (like mingw).
25157         * lib/chdir-safer.c (ELOOP): Define if not already defined.
25158         Reported by Bruno Haible.
25159
25160 2008-05-10  Bruno Haible  <bruno@clisp.org>
25161
25162         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
25163         (is_utf8_encoding): Use a case-insensitive comparison.
25164         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
25165         streq.
25166
25167 2008-05-10  Bruno Haible  <bruno@clisp.org>
25168
25169         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
25170         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
25171         * lib/unilbrk/ulc-common.h (iconv_string_length,
25172         iconv_string_keeping_offsets): Remove declarations.
25173         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
25174         Don't include <iconv.h>, streq.h, xsize.h.
25175         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
25176         conversion.
25177         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
25178         <iconv.h>, streq.h, xsize.h.
25179         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
25180         conversion.
25181         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
25182         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
25183         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
25184         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
25185
25186 2008-05-10  Bruno Haible  <bruno@clisp.org>
25187
25188         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
25189         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
25190
25191         * modules/unilbrk/u32-width-linebreaks-tests: New file.
25192         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
25193
25194         * modules/unilbrk/u16-width-linebreaks-tests: New file.
25195         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
25196
25197         * modules/unilbrk/u8-width-linebreaks-tests: New file.
25198         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
25199
25200         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
25201         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
25202
25203         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
25204         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
25205
25206         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
25207         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
25208
25209         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
25210         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
25211
25212 2008-05-10  Bruno Haible  <bruno@clisp.org>
25213
25214         Split up 'linebreak' module.
25215         * lib/unilbrk.h: New file, based on lib/linebreak.h.
25216         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
25217         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
25218         modifications.
25219         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
25220         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
25221         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
25222         lib/linebreak.c.
25223         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
25224         lib/linebreak.c.
25225         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
25226         lib/linebreak.c.
25227         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
25228         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
25229         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
25230         lib/linebreak.c.
25231         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
25232         lib/linebreak.c.
25233         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
25234         lib/linebreak.c.
25235         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
25236         lib/linebreak.c.
25237         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
25238         lib/linebreak.c.
25239         * modules/unilbrk/base: New file.
25240         * modules/unilbrk/tables: New file.
25241         * modules/unilbrk/u8-possible-linebreaks: New file.
25242         * modules/unilbrk/u16-possible-linebreaks: New file.
25243         * modules/unilbrk/u32-possible-linebreaks: New file.
25244         * modules/unilbrk/ulc-common: New file.
25245         * modules/unilbrk/ulc-possible-linebreaks: New file.
25246         * modules/unilbrk/u8-width-linebreaks: New file.
25247         * modules/unilbrk/u16-width-linebreaks: New file.
25248         * modules/unilbrk/u32-width-linebreaks: New file.
25249         * modules/unilbrk/ulc-width-linebreaks: New file.
25250         * lib/linebreak.h: Remove file.
25251         * lib/linebreak.c: Remove file.
25252         * m4/linebreak.m4: Remove file.
25253         * modules/linebreak: Remove file.
25254         * NEWS: Mention the changes.
25255
25256 2008-05-09  Eric Blake  <ebb9@byu.net>
25257
25258         Add xmemdup0.
25259         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
25260         implementation.
25261         * lib/xmalloc.c (xmemdup0): New C implementation.
25262
25263 2008-05-08  Bruno Haible  <bruno@clisp.org>
25264
25265         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
25266
25267 2008-05-07  Eric Blake  <ebb9@byu.net>
25268
25269         Support cross-compilation of <wctype.h>.
25270         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
25271         AC_CACHE_CHECK.
25272
25273 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
25274
25275         * build-aux/vc-list-files: Add support for bzr.
25276
25277 2008-05-03  Jim Meyering  <meyering@redhat.com>
25278
25279         avoid failed assertion with tight malloc
25280         * tests/test-getndelim2.c: Correct an off-by-one assertion.
25281
25282 2008-05-03  Simon Josefsson  <simon@josefsson.org>
25283
25284         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
25285         are needed from arpa/inet.h.
25286         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
25287         Reported by Bruno Haible.
25288
25289 2008-05-02  Jim Meyering  <meyering@redhat.com>
25290
25291         avoid compilation error on FreeBSD 6
25292         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
25293
25294 2008-05-01  Jim Meyering  <meyering@redhat.com>
25295
25296         useless-if-before-free: correct --help's exit status description
25297         * build-aux/useless-if-before-free (usage): Like grep, exit 0
25298         for one or more matches, etc.  Reported by Bruno Haible.
25299
25300         vc-list-files: make the stand-alone gnulib test work
25301         * modules/vc-list-files-tests (configure.ac):
25302         Define and AC_SUBST abs_aux_dir.
25303         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
25304         $(abs_top_srcdir) to each script and having each of them
25305         duplicate the work of setting PATH, set PATH here, using
25306         the new variable, abs_aux_dir instead.
25307         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
25308         * tests/test-vc-list-files-git.sh: Likewise.
25309         Reported by Bruno Haible.
25310
25311 2008-05-01  Bruno Haible  <bruno@clisp.org>
25312
25313         * lib/getndelim2.c (getndelim2): Fix newsize computation during
25314         reallocation. Rename 'done' to 'found_delimiter'.
25315
25316 2008-05-01  Jim Meyering  <meyering@redhat.com>
25317
25318         vc-list-files: accommodate /bin/sh like the one from Solaris 10
25319         * build-aux/vc-list-files: Use `...`, not $(...).
25320
25321 2008-04-30  Jim Meyering  <meyering@redhat.com>
25322
25323         add tests for vc-list-files
25324         * modules/vc-list-files-tests: New module.
25325         * tests/test-vc-list-files-cvs.sh: New file.
25326         * tests/test-vc-list-files-git.sh: New file.
25327
25328         avoid a warning from gcc
25329         * lib/getndelim2.c (IF_LINT): Define.
25330         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
25331
25332         vc-list-files: work properly with build-aux/cvsu, too
25333         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
25334         to all cvs-based clauses.
25335
25336         vc-list-files: work properly in the CVS+awk case, too
25337         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
25338
25339         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
25340         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
25341         take more than one file argument, so .  Add quotes, just in case $dir
25342         ever contains a shell meta-character.  Prompted by Soren Hansen in
25343         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
25344
25345 2008-04-29  Eric Blake  <ebb9@byu.net>
25346
25347         Optimize getndelim2 to use block operations when possible.
25348         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
25349         freadseek, and memchr2.
25350         * lib/getndelim2.c (getndelim2): Use them for block reads.
25351
25352 2008-04-29  Bruno Haible  <bruno@clisp.org>
25353
25354         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
25355         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25356         * modules/inet_ntop (Depends-on): Add extensions.
25357         * modules/inet_pton (Depends-on): Likewise.
25358         Reported by Simon Josefsson.
25359
25360 2008-04-29  Jim Meyering  <meyering@redhat.com>
25361
25362         When the is more than one match in a block, match all of them.
25363         * build-aux/useless-if-before-free: Iterate through each block
25364         until there are no more matches.
25365
25366         Fix broken useless-if-before-free script.
25367         * build-aux/useless-if-before-free: Fix typo: missing "?" after
25368         the expression to match cast of argument to free-like function.
25369
25370 2008-04-29  Eric Blake  <ebb9@byu.net>
25371
25372         Use new header.
25373         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
25374
25375 2008-04-29  Jim Meyering  <meyering@redhat.com>
25376
25377         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
25378         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
25379         by gnulib to exist and to declare e.g., inet_ntop.
25380         Don't include "inet_ntop.h", now removed.
25381
25382         * m4/arpa_inet_h.m4: Remove trailing blanks.
25383
25384 2008-04-29  Eric Blake  <ebb9@byu.net>
25385
25386         Silence valgrind on safe reads beyond potential array bounds.
25387         * lib/rawmemchr.valgrind: New file.
25388         * lib/strchrnul.valgrind: Likewise.
25389         * modules/rawmemchr (Files): Distribute new file.
25390         * modules/strchrnul (Files): Likewise.
25391         Suggested by Bruno Haible.
25392
25393 2008-04-29  Bruno Haible  <bruno@clisp.org>
25394
25395         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
25396         (inet_ntop, inet_pton): Change portability warning's wording.
25397         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
25398         Invoke gl_CHECK_NEXT_HEADERS.
25399         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
25400         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
25401         set ARPA_INET_H.
25402         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25403         * modules/arpa_inet (Description): No longer only for systems that
25404         lack it.
25405         (Depends-on): Add include_next.
25406         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
25407         HAVE_ARPA_INET_H.
25408
25409 2008-04-29  Jim Meyering  <meyering@redhat.com>
25410
25411         * modules/mkdir (License): Re-license as LGPLv2+.
25412
25413 2008-04-29  Bruno Haible  <bruno@clisp.org>
25414
25415         * modules/rawmemchr (Maintainer): Set to Eric.
25416         * modules/strchrnul (Maintainer): Likewise.
25417
25418 2008-04-29  Simon Josefsson  <simon@josefsson.org>
25419
25420         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
25421         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
25422
25423         * modules/arpa_inet (arpa/inet.h): Use them.
25424
25425 2008-04-28  Eric Blake  <ebb9@byu.net>
25426
25427         Test getndelim2.
25428         * modules/getndelim2-tests: New file.
25429         * tests/test-getndelim2.c: Likewise.
25430         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
25431         stream.
25432         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
25433
25434         * MODULES.html.sh: Document new module.
25435
25436 2008-04-20  Bruno Haible  <bruno@clisp.org>
25437
25438         * lib/c-stack.c (die): Use raise.
25439         * modules/c-stack (Depends-on): Add raise.
25440
25441 2008-04-28  Bruno Haible  <bruno@clisp.org>
25442
25443         Expect rpmatch to be declared.
25444         * lib/yesno.c (rpmatch): Remove declaration.
25445
25446         Declare rpmatch.
25447         * lib/stdlib.in.h (rpmatch): New declaration.
25448         * lib/rpmatch.c: Include <stdlib.h> first.
25449         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
25450         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
25451         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
25452         HAVE_RPMATCH.
25453         * modules/rpmatch (Depends-on): Add stdlib, extensions.
25454         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
25455         (Include): Set to <stdlib.h>.
25456         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
25457         HAVE_RPMATCH.
25458         * NEWS: Document the change.
25459
25460 2008-04-28  Bruno Haible  <bruno@clisp.org>
25461
25462         Change rpmatch to use nl_langinfo when appropriate.
25463         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
25464         (N_): New macro.
25465         (localized_pattern): New function/macro.
25466         (try): Remove match, nomatch arguments. Copy the pattern into safe
25467         memory before caching it.
25468         (rpmatch): Use localized_pattern. Add translator comments.
25469         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
25470         Suggested by Eric Blake.
25471         * modules/rpmatch (Depends-on): Add stdbool.
25472
25473 2008-04-28  Eric Blake  <ebb9@byu.net>
25474
25475         Add rawmemchr module, matching glibc.
25476         * modules/string (Makefile.am): New indicator.
25477         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
25478         * lib/string.in.h (rawmemchr): Declare when appropriate.
25479         * modules/rawmemchr: New file.
25480         * m4/rawmemchr.m4: Likewise.
25481         * lib/rawmemchr.c: Likewise.
25482         * modules/rawmemchr-tests: Likewise.
25483         * tests/test-rawmemchr.c: Likewise.
25484         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
25485         module.
25486         * modules/strchrnul (Depends-on): Add rawmemchr.
25487         * lib/strchrnul.c (strchrnul): Optimize a corner case.
25488
25489         Whitespace cleanup.
25490         * tests/test-strchrnul.c: Reindent.
25491         * lib/strchrnul.c: Likewise.
25492
25493         Optimize and test strchrnul.
25494         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
25495         * modules/strchrnul-tests: New file.
25496         * tests/test-strchrnul.c: Likewise.
25497
25498         Remove intprops dependency.
25499         * modules/memchr (Depends-on): Remove intprops.
25500         * modules/memrchr (Depends-on): Likewise.
25501         * modules/memchr2 (Depends-on): Likewise.
25502         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
25503         * lib/memrchr.c (__memrchr): Likewise.
25504         * lib/memrchr2.c (memchr2): Likewise.
25505         Reported by Simon Josefsson.
25506
25507 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25508
25509         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
25510         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25511
25512 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25513
25514         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
25515
25516         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
25517
25518         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
25519
25520         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
25521         declarations.
25522         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
25523
25524         * m4/inet_pton.m4: Don't check for header files.
25525
25526         * m4/inet_ntop.m4: Don't check for header files.
25527
25528 2008-04-28  Simon Josefsson  <simon@josefsson.org>
25529
25530         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
25531         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
25532         trigger for cygwin).
25533         Reported by Bruno Haible  <bruno@clisp.org>.
25534
25535 2008-04-28  Bruno Haible  <bruno@clisp.org>
25536
25537         * doc/posix-functions/strdup.texi: Mention mingw problem.
25538
25539 2008-04-27  Bruno Haible  <bruno@clisp.org>
25540
25541         * modules/stat-time-tests (Depends-on): Add sleep.
25542         * tests/test-stat-time.c (force_unlink): New function.
25543         (cleanup): Use it.
25544         (test_mtime): Remove the ctime related tests.
25545         (test_ctime): New function, containing the ctime related tests.
25546         (main): Call test_ctime, except on native Windows platforms.
25547
25548 2008-04-27  Bruno Haible  <bruno@clisp.org>
25549
25550         * lib/rpmatch.c (rpmatch): Add some comments.
25551         Reported by James Youngman <jay@gnu.org>.
25552
25553 2008-04-27  Bruno Haible  <bruno@clisp.org>
25554
25555         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
25556         quiet NaNs.
25557
25558 2008-04-27  Bruno Haible  <bruno@clisp.org>
25559
25560         Make test-yesno.sh work on mingw.
25561         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
25562         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
25563         (main): Set stdin to binary mode.
25564         * modules/yesno-tests (Depends-on): Add binary-io.
25565
25566 2008-04-27  Bruno Haible  <bruno@clisp.org>
25567
25568         Fix 'isfinite' on x86, x86_64, ia64 platforms.
25569         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
25570         argument that lie outside the IEEE 854 domain.
25571         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
25572         (gl_ISFINITE): Use it.
25573         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
25574
25575 2008-04-27  Bruno Haible  <bruno@clisp.org>
25576
25577         Allow local renaming in config.h.
25578         * lib/memrchr.c (memrchr): Don't undefine outside libc.
25579
25580 2008-04-27  Bruno Haible  <bruno@clisp.org>
25581
25582         * lib/memchr.c (__memchr): Change type of 'i'.
25583         * lib/memchr2.c (memchr2): Likewise.
25584
25585 2008-04-26  Eric Blake  <ebb9@byu.net>
25586         and Bruno Haible  <bruno@clisp.org>
25587
25588         Optimize and test memrchr.
25589         * modules/memrchr (Depends-on): Add intprops.
25590         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
25591         * modules/memrchr-tests: New file.
25592         * tests/test-memrchr.c: New file.
25593
25594 2008-04-26  Bruno Haible  <bruno@clisp.org>
25595
25596         Add tentative support for DragonFly BSD.
25597         * lib/stdio-impl.h: Add macros for DragonFly BSD.
25598         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
25599         fp.
25600         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
25601         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
25602         * lib/fpurge.c (fpurge): Likewise.
25603         * lib/freadable.c (freaadable): Likewise.
25604         * lib/freadahead.c (freadahead): Likewise.
25605         * lib/freading.c (freading): Likewise.
25606         * lib/freadptr.c (freadptr): Likewise.
25607         * lib/freadseek.c (freadptrinc): Likewise.
25608         * lib/fseeko.c (fseeko): Likewise.
25609         * lib/fseterr.c (fseterr): Likewise.
25610         * lib/fwritable.c (fwritable): Likewise.
25611         * lib/fwriting.c (fwriting): Likewise.
25612
25613 2008-04-26  Bruno Haible  <bruno@clisp.org>
25614
25615         * lib/stdio-impl.h: New file.
25616         * lib/fbufmode.c: Include stdio-impl.h.
25617         (fbufmode): Use fp_, remove redundant #defines.
25618         * lib/fflush.c: Include stdio-impl.h.
25619         (clear_ungetc_buffer): Remove redundant #defines.
25620         * lib/fpurge.c: Include stdio-impl.h.
25621         (fpurge): Remove redundant #defines.
25622         * lib/freadable.c: Include stdio-impl.h.
25623         (freadable): Remove redundant #defines.
25624         * lib/freadahead.c: Include stdio-impl.h.
25625         (freadahead): Remove redundant #defines.
25626         * lib/freading.c: Include stdio-impl.h.
25627         (freading): Remove redundant #defines.
25628         * lib/freadptr.c: Include stdio-impl.h.
25629         (freadptr): Remove redundant #defines.
25630         * lib/freadseek.c: Include stdio-impl.h.
25631         (freadptrinc): Remove redundant #defines.
25632         * lib/fseeko.c: Include stdio-impl.h.
25633         (rpl_fseeko): Remove redundant #defines.
25634         * lib/fseterr.c: Include stdio-impl.h.
25635         (fseterr): Remove redundant #defines.
25636         * lib/fwritable.c: Include stdio-impl.h.
25637         (fwritable: Remove redundant #defines.
25638         * lib/fwriting.c: Include stdio-impl.h.
25639         (fwriting): Remove redundant #defines.
25640         * modules/fbufmode (Files): Add lib/stdio-impl.h.
25641         * modules/fflush (Files): Likewise.
25642         * modules/fpurge (Files): Likewise.
25643         * modules/freadable (Files): Likewise.
25644         * modules/freadahead (Files): Likewise.
25645         * modules/freading (Files): Likewise.
25646         * modules/freadptr (Files): Likewise.
25647         * modules/freadseek (Files): Likewise.
25648         * modules/fseeko (Files): Likewise.
25649         * modules/fseterr (Files): Likewise.
25650         * modules/fwritable (Files): Likewise.
25651         * modules/fwriting (Files): Likewise.
25652
25653 2008-04-26  Bruno Haible  <bruno@clisp.org>
25654
25655         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
25656         restore_seek_optimization, update_fpos_cache): New functions, extracted
25657         from rpl_fflush.
25658         (rpl_fflush): Use them.
25659         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
25660         (gl_REPLACE_FFLUSH): Use it.
25661
25662 2008-04-26  Bruno Haible  <bruno@clisp.org>
25663
25664         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
25665         on Solaris.
25666         * tests/test-xstrtoimax.sh: Likewise.
25667         * tests/test-xstrtoumax.sh: Likewise.
25668         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25669
25670 2008-04-26  Bruno Haible  <bruno@clisp.org>
25671
25672         * modules/memchr-tests: New file.
25673         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
25674
25675 2008-04-26  Eric Blake  <ebb9@byu.net>
25676             Bruno Haible  <bruno@clisp.org>
25677
25678         * lib/memchr.c: Include intprops.h.
25679         (__memchr): Optimize parallel detection of matching bytes. Rename local
25680         variables. Add explanatory comments.
25681
25682 2008-04-26  Bruno Haible  <bruno@clisp.org>
25683
25684         Fix module 'memchr', broken since 2000-10-28.
25685         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
25686
25687 2008-04-26  Bruno Haible  <bruno@clisp.org>
25688
25689         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
25690         comments.
25691
25692 2008-04-25  Eric Blake  <ebb9@byu.net>
25693
25694         Use native fstatat on cygwin 1.7.0.
25695         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
25696         first.
25697
25698 2008-04-23  Eric Blake  <ebb9@byu.net>
25699
25700         Improve memchr2 performance.
25701         * lib/memchr2.c (memchr2): Further optimize parallel detection of
25702         NUL bytes.
25703         * modules/memchr2 (Depends-on): Use intprops.h.
25704
25705 2008-04-23  Simon Josefsson  <simon@josefsson.org>
25706
25707         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
25708         an inline function instead of a CPP macro.  Patch by Ben Pfaff
25709         <blp@cs.stanford.edu>.
25710
25711 2008-04-23  Simon Josefsson  <simon@josefsson.org>
25712
25713         * lib/arpa_inet.in.h: New file.
25714
25715         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
25716         (Makefile.am): Sed in substitute header file.
25717
25718         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
25719         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
25720
25721         * modules/inet_ntop (configure.ac): Use
25722         gl_ARPA_INET_MODULE_INDICATOR.
25723
25724         * modules/inet_pton (configure.ac): Use
25725         gl_ARPA_INET_MODULE_INDICATOR.
25726
25727 2008-04-22  Jim Meyering  <meyering@redhat.com>
25728
25729         * modules/verify (License): Re-license as LGPLv2+.
25730
25731 2008-04-22  Simon Josefsson  <simon@josefsson.org>
25732
25733         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
25734         parameter to void* as per POSIX standard (MinGW uses char*).
25735
25736 2008-04-21  Bruno Haible  <bruno@clisp.org>
25737
25738         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25739         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
25740         Define to replacements if REPLACE_ISWCNTRL is 1.
25741         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
25742         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
25743         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
25744         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
25745         what it fixes.
25746         * doc/posix-functions/iswalpha.texi: Likewise.
25747         * doc/posix-functions/iswblank.texi: Likewise.
25748         * doc/posix-functions/iswcntrl.texi: Likewise.
25749         * doc/posix-functions/iswdigit.texi: Likewise.
25750         * doc/posix-functions/iswgraph.texi: Likewise.
25751         * doc/posix-functions/iswlower.texi: Likewise.
25752         * doc/posix-functions/iswprint.texi: Likewise.
25753         * doc/posix-functions/iswpunct.texi: Likewise.
25754         * doc/posix-functions/iswspace.texi: Likewise.
25755         * doc/posix-functions/iswupper.texi: Likewise.
25756         * doc/posix-functions/iswxdigit.texi: Likewise.
25757         Reported by Alain Guibert.
25758
25759 2008-04-21  Bruno Haible  <bruno@clisp.org>
25760
25761         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
25762         Patch by Alain Guibert.
25763
25764 2008-04-21  Bruno Haible  <bruno@clisp.org>
25765
25766         Fix test failures on mingw.
25767         * tests/test-xstrtol.c (print_no_progname): New function.
25768         (main): Install it in error_print_progname hook.
25769         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
25770         * tests/test-xstrtoimax.sh: Likewise.
25771         * tests/test-xstrtoumax.sh: Likewise.
25772
25773 2008-04-21  Bruno Haible  <bruno@clisp.org>
25774
25775         Fix test failure on mingw.
25776         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
25777
25778 2008-04-21  Bruno Haible  <bruno@clisp.org>
25779
25780         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
25781         Actually assign a value.
25782
25783 2008-04-20  Bruno Haible  <bruno@clisp.org>
25784
25785         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
25786         take 2.
25787         * lib/canonicalize.c (canonicalize_file_name): Elide if the
25788         'canonicalize-lgpl' module is also used.
25789         * lib/canonicalize-lgpl.c: Undo last change.
25790         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
25791
25792 2008-04-20  Bruno Haible  <bruno@clisp.org>
25793
25794         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
25795         config.h. Provide _mkdir based fallback for mingw.
25796         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
25797         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
25798         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
25799         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
25800         rather than defining mkdir in config.h.
25801         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
25802         (gl_SYS_STAT_H_DEFAULTS): New macro.
25803         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
25804         HAVE_IO_H any more.
25805         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
25806         HAVE_DECL_MKDIR and HAVE_IO_H.
25807
25808 2008-04-20  Bruno Haible  <bruno@clisp.org>
25809
25810         * lib/isapipe.c: Port to native Windows platforms.
25811
25812 2008-04-20  Bruno Haible  <bruno@clisp.org>
25813
25814         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
25815
25816 2008-04-21  Eric Blake  <ebb9@byu.net>
25817
25818         Work around preprocessors that don't handle UINTMAX_MAX.
25819         * lib/memchr2.c (memchr2): Avoid embedded #if.
25820         Reported by Alain Guibert, fix suggested by Bruno Haible.
25821
25822 2008-04-21  Simon Josefsson  <simon@josefsson.org>
25823
25824         * doc/posix-functions/strftime.texi (strftime): Explain better
25825         Windows incompatibility.  Suggested by Micah Cowan
25826         <micah@cowan.name>.
25827
25828 2008-04-20  Bruno Haible  <bruno@clisp.org>
25829
25830         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
25831         unistr/u8-mblen.
25832
25833 2008-04-20  Bruno Haible  <bruno@clisp.org>
25834
25835         Fix test failure on platforms with non-GNU iconv.
25836         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
25837         (U_TO_U8): Use it, rather than u16_to_u8.
25838         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
25839         units at the end of the input string.
25840         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
25841
25842 2008-04-20  Bruno Haible  <bruno@clisp.org>
25843
25844         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
25845         when the resulting length is 0.
25846         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
25847
25848 2008-04-20  Bruno Haible  <bruno@clisp.org>
25849
25850         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
25851         works.
25852         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
25853
25854 2008-04-20  Bruno Haible  <bruno@clisp.org>
25855
25856         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
25857         * modules/tsearch-tests (configure.ac): Test for initstate function.
25858
25859 2008-04-20  Bruno Haible  <bruno@clisp.org>
25860
25861         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
25862         for nlink_t if missing.
25863         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
25864
25865 2008-04-19  Bruno Haible  <bruno@clisp.org>
25866
25867         Work around snprintf bug on Linux libc5.
25868         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
25869         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
25870         gl_SNPRINTF_SIZE1.
25871         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25872         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
25873         that test failed.
25874         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
25875         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
25876         * modules/snprintf (Files): Add m4/printf.m4.
25877         * modules/vsnprintf (Files): Likewise.
25878         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
25879         * doc/posix-functions/vsnprintf.texi: Likewise.
25880
25881 2008-04-19  Bruno Haible  <bruno@clisp.org>
25882
25883         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
25884         from 0.0058 to less than 10^-7.
25885
25886 2008-04-19  Bruno Haible  <bruno@clisp.org>
25887
25888         Fix rounding when a precision is given.
25889         * lib/vasnprintf.c (is_borderline): New function.
25890         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
25891         9...9x.
25892         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
25893         %e, %g.
25894         * tests/test-vasprintf-posix.c (test_function): Likewise.
25895         * tests/test-snprintf-posix.h (test_function): Likewise.
25896         * tests/test-sprintf-posix.h (test_function): Likewise.
25897         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
25898         * tests/test-printf-posix.h (test_function): Likewise.
25899         * tests/test-printf-posix.output: Update.
25900         Reported by John Darrington <john@darrington.wattle.id.au> via
25901         Ben Pfaff <blp@cs.stanford.edu>.
25902
25903 2008-04-18  Simon Josefsson  <simon@josefsson.org>
25904
25905         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
25906         Suggested by Bruno Haible <bruno@clisp.org>.
25907
25908 2008-04-17  Bruno Haible  <bruno@clisp.org>
25909
25910         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
25911         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
25912         implementation.
25913         Patch by Bruce Merry <bmerry@gmail.com>.
25914
25915 2008-04-17  Simon Josefsson  <simon@josefsson.org>
25916
25917         * doc/posix-functions/strftime.texi (strftime): Mention that %e
25918         doesn't work under Windows.
25919
25920 2008-04-16  Bruno Haible  <bruno@clisp.org>
25921
25922         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
25923         New macros.
25924         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
25925         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
25926         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
25927         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
25928         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
25929         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
25930         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
25931         macros.
25932         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
25933         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
25934         Northern Sotho, Uighur.
25935
25936 2008-04-16  Bruno Haible  <bruno@clisp.org>
25937
25938         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
25939         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
25940         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
25941         Reported by Daniel Bergström <daniel@octocode.com>.
25942
25943 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
25944             Bruno Haible  <bruno@clisp.org>
25945
25946         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
25947         function.
25948         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
25949         New functions, mostly extracted from gl_locale_name_default.
25950         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
25951
25952 2008-04-16  Eric Blake  <ebb9@byu.net>
25953
25954         Adjust strtod detection to catch glibc 2.7 bug.
25955         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
25956         Reported by John Gatewood Ham.
25957
25958 2008-04-16  Bruno Haible  <bruno@clisp.org>
25959
25960         Add tentative support for Linux libc5.
25961         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
25962         * lib/fpurge.c (fpurge): Likewise.
25963         * lib/freadable.c (freadable): Likewise.
25964         * lib/freadahead.c (freadahead): Likewise.
25965         * lib/freading.c (freading): Likewise.
25966         * lib/freadptr.c (freadptr): Likewise.
25967         * lib/freadseek.c (freadptrinc): Likewise.
25968         * lib/fseeko.c (rpl_fseeko): Likewise.
25969         * lib/fseterr.c (fseterr): Likewise.
25970         * lib/fwritable.c (fwritable): Likewise.
25971         * lib/fwriting.c (fwriting): Likewise.
25972         Reported by Alain Guibert <alguibert+bts@free.fr>.
25973
25974 2008-04-15  Bruno Haible  <bruno@clisp.org>
25975
25976         * modules/mathl (configure.ac): Define module indicator.
25977
25978 2008-04-15  Bruno Haible  <bruno@clisp.org>
25979
25980         * lib/logl.c (logl): Remove unused variables.
25981
25982 2008-04-15  Bruno Haible  <bruno@clisp.org>
25983
25984         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
25985         fails.
25986
25987 2008-04-15  Bruno Haible  <bruno@clisp.org>
25988
25989         * lib/trim.c (trim2): Fix argument of isspace() macro.
25990
25991 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
25992
25993         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
25994         to 0.
25995         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
25996
25997 2008-04-14  Bruno Haible  <bruno@clisp.org>
25998
25999         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
26000         AC_LANG_PROGRAM argument.
26001         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
26002         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
26003         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26004         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26005         * m4/math_h.m4 (gl_MATH_H): Likewise.
26006         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26007         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26008         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26009         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
26010         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26011         * m4/regex.m4 (gl_REGEX): Likewise.
26012         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
26013         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
26014         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26015         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
26016         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
26017         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26018         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26019         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26020
26021 2008-04-14  Jim Meyering  <meyering@redhat.com>
26022
26023         test-strtod: fix typos: s/abs/fabs/
26024         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
26025
26026 2008-04-13  Bruno Haible  <bruno@clisp.org>
26027
26028         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
26029         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
26030         module is also used and while not building the reloc-wrapper.
26031
26032 2008-04-13  Bruno Haible  <bruno@clisp.org>
26033
26034         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
26035
26036 2008-04-13  Bruno Haible  <bruno@clisp.org>
26037
26038         Fix AIX compilation failure introduced on 2008-04-02.
26039         * tests/test-frexp.c (exp): Undefine before redefining.
26040         * tests/test-frexpl.c (exp): Likewise.
26041
26042 2008-04-13  Bruno Haible  <bruno@clisp.org>
26043
26044         Work around a HP-UX stdio bug.
26045         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
26046         * tests/test-ftello.c (main): Likewise.
26047         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
26048         * doc/posix-functions/ftello.texi: Likewise.
26049
26050 2008-04-13  Bruno Haible  <bruno@clisp.org>
26051
26052         Make test-signbit pass on HP-UX/hppa.
26053         * tests/test-signbit.c (minus_zerol): New variable.
26054         (test_signbitl): Use it.
26055
26056 2008-04-13  Bruno Haible  <bruno@clisp.org>
26057
26058         Make truncl work on OSF/1 4.0.
26059         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
26060         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26061         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
26062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
26063         HAVE_DECL_TRUNCL.
26064         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
26065         HAVE_DECL_TRUNCL.
26066         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
26067
26068 2008-04-13  Bruno Haible  <bruno@clisp.org>
26069
26070         * lib/unictype.h: Remove trailing comma from enumeration definitions.
26071
26072 2008-04-13  Bruno Haible  <bruno@clisp.org>
26073
26074         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
26075         expression, so as to avoid HP-UX 11 cc compiler bug.
26076
26077 2008-04-13  Bruno Haible  <bruno@clisp.org>
26078
26079         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
26080
26081 2008-04-13  Bruno Haible  <bruno@clisp.org>
26082
26083         * lib/git-merge-changelog.c: Remove empty declaration outside of
26084         functions.
26085
26086 2008-04-13  Bruno Haible  <bruno@clisp.org>
26087
26088         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
26089
26090 2008-04-13  Bruno Haible  <bruno@clisp.org>
26091
26092         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
26093         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
26094         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
26095         also if it exists but lacks definitions of the SHUT_* macros.
26096         * modules/sys_socket (Description): Update.
26097         Reported by Elbert Pol <e.pol@chello.nl>.
26098
26099 2008-04-13  Bruno Haible  <bruno@clisp.org>
26100
26101         * lib/localcharset.c (OS2): Don't redefine if already defined.
26102         Reported by Elbert Pol <e.pol@chello.nl>.
26103
26104 2008-04-13  Bruno Haible  <bruno@clisp.org>
26105
26106         * lib/binary-io.h [__EMX__]: Include <io.h>.
26107         Reported by Elbert Pol <e.pol@chello.nl>.
26108
26109 2008-04-12  Bruno Haible  <bruno@clisp.org>
26110
26111         * lib/fpucw.h: Enable the definitions also for x86_64.
26112         Needed for NetBSD/x86_64.
26113         Reported by Thomas Klausner <tk@giga.or.at>.
26114
26115 2008-04-12  Bruno Haible  <bruno@clisp.org>
26116
26117         * tests/test-strtod.c: Include isnand.h.
26118         (main): Use isnand instead of isnan.
26119         Reported by Jim Meyering.
26120
26121 2008-04-12  Bruno Haible  <bruno@clisp.org>
26122
26123         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
26124         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
26125
26126 2008-04-12  Jim Meyering  <meyering@redhat.com>
26127
26128         * m4/math_h.m4 (gl_MATH_H): Fix typos.
26129
26130 2008-04-12  Bruno Haible  <bruno@clisp.org>
26131
26132         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
26133         Reported by Elbert Pol <e.pol@chello.nl>.
26134
26135 2008-04-12  Eric Blake  <ebb9@byu.net>
26136
26137         Work around Solaris 10 math.h bug.
26138         * m4/math_h.m4 (gl_MATH_H): Check for bug.
26139         (gl_MATH_H_DEFAULTS): Set up default.
26140         * modules/math (Makefile.am): Replace new indicators.
26141         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
26142         * tests/test-math.c (main): Test this.
26143         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
26144         * doc/posix-headers/math.texi (math.h): Mention bug.
26145         Reported by Nelson H. F. Beebe and Jim Meyering.
26146
26147 2008-04-11  Bruno Haible  <bruno@clisp.org>
26148
26149         Adapt to future versions of Apple GCC.
26150         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
26151         Reported by Peter O'Gorman <peter@pogma.com>.
26152
26153 2008-04-11  Bruno Haible  <bruno@clisp.org>
26154
26155         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
26156
26157 2008-04-11  Bruno Haible  <bruno@clisp.org>
26158
26159         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
26160
26161         * modules/getaddrinfo-tests (Makefile.am): Define
26162         test_getaddrinfo_LDADD.
26163
26164 2008-04-11  Bruno Haible  <bruno@clisp.org>
26165
26166         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
26167         (init): Fix syntax error.
26168         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
26169         is declared.
26170
26171 2008-04-11  Bruno Haible  <bruno@clisp.org>
26172
26173         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
26174         * modules/glob (Depends-on): Add stdbool.
26175
26176 2008-04-11  Bruno Haible  <bruno@clisp.org>
26177
26178         * lib/trim.c: Include <string.h>.
26179
26180 2008-04-11  Eric Blake  <ebb9@byu.net>
26181
26182         Avoid compile failure on OS/2.
26183         * lib/regex_internal.h (internal_function): Disable optimization
26184         on OS/2 (__EMX__), where it caused compiler error.
26185         Reported by Elbert Pol.
26186
26187 2008-04-11  Bruno Haible  <bruno@clisp.org>
26188
26189         Flush the standard error stream before aborting. Needed on mingw.
26190         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
26191         * tests/test-array_list.c (ASSERT): Likewise.
26192         * tests/test-array_oset.c (ASSERT): Likewise.
26193         * tests/test-avltree_list.c (ASSERT): Likewise.
26194         * tests/test-avltree_oset.c (ASSERT): Likewise.
26195         * tests/test-avltreehash_list.c (ASSERT): Likewise.
26196         * tests/test-binary-io.c (ASSERT): Likewise.
26197         * tests/test-byteswap.c (ASSERT): Likewise.
26198         * tests/test-c-ctype.c (ASSERT): Likewise.
26199         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
26200         * tests/test-c-strcasestr.c (ASSERT): Likewise.
26201         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
26202         * tests/test-c-strstr.c (ASSERT): Likewise.
26203         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
26204         * tests/test-canonicalize.c (ASSERT): Likewise.
26205         * tests/test-carray_list.c (ASSERT): Likewise.
26206         * tests/test-ceilf1.c (ASSERT): Likewise.
26207         * tests/test-ceilf2.c (ASSERT): Likewise.
26208         * tests/test-ceill.c (ASSERT): Likewise.
26209         * tests/test-count-one-bits.c (ASSERT): Likewise.
26210         * tests/test-fbufmode.c (ASSERT): Likewise.
26211         * tests/test-fflush2.c (ASSERT): Likewise.
26212         * tests/test-floorf1.c (ASSERT): Likewise.
26213         * tests/test-floorf2.c (ASSERT): Likewise.
26214         * tests/test-floorl.c (ASSERT): Likewise.
26215         * tests/test-fopen.c (ASSERT): Likewise.
26216         * tests/test-fpending.c (ASSERT): Likewise.
26217         * tests/test-fprintf-posix.c (ASSERT): Likewise.
26218         * tests/test-fpurge.c (ASSERT): Likewise.
26219         * tests/test-freadable.c (ASSERT): Likewise.
26220         * tests/test-freadahead.c (ASSERT): Likewise.
26221         * tests/test-freading.c (ASSERT): Likewise.
26222         * tests/test-freadptr.c (ASSERT): Likewise.
26223         * tests/test-freadptr2.c (ASSERT): Likewise.
26224         * tests/test-freadseek.c (ASSERT): Likewise.
26225         * tests/test-freopen.c (ASSERT): Likewise.
26226         * tests/test-frexp.c (ASSERT): Likewise.
26227         * tests/test-frexpl.c (ASSERT): Likewise.
26228         * tests/test-fseek.c (ASSERT): Likewise.
26229         * tests/test-fseeko.c (ASSERT): Likewise.
26230         * tests/test-fstrcmp.c (ASSERT): Likewise.
26231         * tests/test-ftell.c (ASSERT): Likewise.
26232         * tests/test-ftello.c (ASSERT): Likewise.
26233         * tests/test-func.c (ASSERT): Likewise.
26234         * tests/test-fwritable.c (ASSERT): Likewise.
26235         * tests/test-fwriting.c (ASSERT): Likewise.
26236         * tests/test-getdelim.c (ASSERT): Likewise.
26237         * tests/test-getline.c (ASSERT): Likewise.
26238         * tests/test-i-ring.c (ASSERT): Likewise.
26239         * tests/test-iconv-utf.c (ASSERT): Likewise.
26240         * tests/test-iconv.c (ASSERT): Likewise.
26241         * tests/test-isfinite.c (ASSERT): Likewise.
26242         * tests/test-isnand.c (ASSERT): Likewise.
26243         * tests/test-isnanf.c (ASSERT): Likewise.
26244         * tests/test-isnanl.h (ASSERT): Likewise.
26245         * tests/test-ldexpl.c (ASSERT): Likewise.
26246         * tests/test-linked_list.c (ASSERT): Likewise.
26247         * tests/test-linkedhash_list.c (ASSERT): Likewise.
26248         * tests/test-localename.c (ASSERT): Likewise.
26249         * tests/test-lseek.c (ASSERT): Likewise.
26250         * tests/test-mbscasecmp.c (ASSERT): Likewise.
26251         * tests/test-mbscasestr1.c (ASSERT): Likewise.
26252         * tests/test-mbscasestr2.c (ASSERT): Likewise.
26253         * tests/test-mbscasestr3.c (ASSERT): Likewise.
26254         * tests/test-mbscasestr4.c (ASSERT): Likewise.
26255         * tests/test-mbschr.c (ASSERT): Likewise.
26256         * tests/test-mbscspn.c (ASSERT): Likewise.
26257         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
26258         * tests/test-mbspbrk.c (ASSERT): Likewise.
26259         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
26260         * tests/test-mbsrchr.c (ASSERT): Likewise.
26261         * tests/test-mbsspn.c (ASSERT): Likewise.
26262         * tests/test-mbsstr1.c (ASSERT): Likewise.
26263         * tests/test-mbsstr2.c (ASSERT): Likewise.
26264         * tests/test-mbsstr3.c (ASSERT): Likewise.
26265         * tests/test-memchr2.c (ASSERT): Likewise.
26266         * tests/test-memmem.c (ASSERT): Likewise.
26267         * tests/test-open.c (ASSERT): Likewise.
26268         * tests/test-printf-frexp.c (ASSERT): Likewise.
26269         * tests/test-printf-frexpl.c (ASSERT): Likewise.
26270         * tests/test-printf-posix.c (ASSERT): Likewise.
26271         * tests/test-quotearg.c (ASSERT): Likewise.
26272         * tests/test-rbtree_list.c (ASSERT): Likewise.
26273         * tests/test-rbtree_oset.c (ASSERT): Likewise.
26274         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
26275         * tests/test-round1.c (ASSERT): Likewise.
26276         * tests/test-roundf1.c (ASSERT): Likewise.
26277         * tests/test-roundl.c (ASSERT): Likewise.
26278         * tests/test-signbit.c (ASSERT): Likewise.
26279         * tests/test-sleep.c (ASSERT): Likewise.
26280         * tests/test-snprintf-posix.c (ASSERT): Likewise.
26281         * tests/test-snprintf.c (ASSERT): Likewise.
26282         * tests/test-sprintf-posix.c (ASSERT): Likewise.
26283         * tests/test-stat-time.c (ASSERT): Likewise.
26284         * tests/test-strcasestr.c (ASSERT): Likewise.
26285         * tests/test-strerror.c (ASSERT): Likewise.
26286         * tests/test-striconv.c (ASSERT): Likewise.
26287         * tests/test-striconveh.c (ASSERT): Likewise.
26288         * tests/test-striconveha.c (ASSERT): Likewise.
26289         * tests/test-strsignal.c (ASSERT): Likewise.
26290         * tests/test-strstr.c (ASSERT): Likewise.
26291         * tests/test-strtod.c (ASSERT): Likewise.
26292         * tests/test-trunc1.c (ASSERT): Likewise.
26293         * tests/test-trunc2.c (ASSERT): Likewise.
26294         * tests/test-truncf1.c (ASSERT): Likewise.
26295         * tests/test-truncf2.c (ASSERT): Likewise.
26296         * tests/test-truncl.c (ASSERT): Likewise.
26297         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
26298         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
26299         * tests/test-vasnprintf.c (ASSERT): Likewise.
26300         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
26301         * tests/test-vasprintf.c (ASSERT): Likewise.
26302         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
26303         * tests/test-vprintf-posix.c (ASSERT): Likewise.
26304         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
26305         * tests/test-vsnprintf.c (ASSERT): Likewise.
26306         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
26307         * tests/test-wcwidth.c (ASSERT): Likewise.
26308         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
26309         * tests/test-xprintf-posix.c (ASSERT): Likewise.
26310         * tests/test-xvasprintf.c (ASSERT): Likewise.
26311         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
26312         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
26313         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
26314         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
26315         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
26316         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
26317         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
26318         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
26319         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
26320         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
26321         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
26322         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
26323         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
26324         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
26325         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
26326         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
26327         * tests/unictype/test-block_list.c (ASSERT): Likewise.
26328         * tests/unictype/test-block_of.c (ASSERT): Likewise.
26329         * tests/unictype/test-block_test.c (ASSERT): Likewise.
26330         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
26331         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
26332         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
26333         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
26334         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
26335         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
26336         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
26337         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
26338         * tests/unictype/test-combining.c (ASSERT): Likewise.
26339         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
26340         * tests/unictype/test-digit.c (ASSERT): Likewise.
26341         * tests/unictype/test-mirror.c (ASSERT): Likewise.
26342         * tests/unictype/test-numeric.c (ASSERT): Likewise.
26343         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
26344         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
26345         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
26346         * tests/unictype/test-scripts.c (ASSERT): Likewise.
26347         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
26348         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
26349         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
26350         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
26351         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
26352         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
26353         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
26354         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
26355         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
26356         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
26357         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
26358         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
26359         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
26360         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
26361         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
26362         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
26363         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
26364         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
26365         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
26366         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
26367         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
26368         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
26369         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
26370         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
26371         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
26372         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
26373         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
26374         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
26375         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
26376         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
26377         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
26378         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
26379         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
26380         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
26381         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
26382         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
26383         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
26384         Reported by Eric Blake.
26385
26386 2008-04-11  Bruno Haible  <bruno@clisp.org>
26387
26388         * lib/wchar.in.h: Tweak comment.
26389
26390 2008-04-11  Bruno Haible  <bruno@clisp.org>
26391
26392         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
26393         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
26394         gl_COMMON.
26395         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
26396
26397 2008-04-11  Bruno Haible  <bruno@clisp.org>
26398
26399         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
26400
26401 2008-04-11  Simon Josefsson  <simon@josefsson.org>
26402
26403         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
26404         of attempting to use non-existing /dev/*random.  Based on patch
26405         from Adam Strzelecki <ono@java.pl> in
26406         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
26407
26408 2008-04-08  Bruno Haible  <bruno@clisp.org>
26409
26410         Add tentative support for emx+gcc.
26411         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
26412         * lib/fpurge.c (fpurge): Likewise.
26413         * lib/freadable.c (freadable): Likewise.
26414         * lib/freadahead.c (freadahead): Likewise.
26415         * lib/freading.c (freading): Likewise.
26416         * lib/freadptr.c (freadptr): Likewise.
26417         * lib/freadseek.c (freadptrinc): Likewise.
26418         * lib/fseeko.c (rpl_fseeko): Likewise.
26419         * lib/fseterr.c (fseterr): Likewise.
26420         * lib/fwritable.c (fwritable): Likewise.
26421         * lib/fwriting.c (fwriting): Likewise.
26422         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
26423
26424 2008-04-09  Eric Blake  <ebb9@byu.net>
26425
26426         Avoid some autoconf warnings.
26427         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
26428         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
26429         * m4/afs.m4 (gl_AFS): Likewise.
26430         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
26431         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
26432         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26433         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
26434         (gl_INTEGER_TYPE_SUFFIX): Likewise.
26435         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
26436         (AC_CHECK_DECLS_ONCE): Likewise.
26437         Rename file...
26438         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
26439         gnulib-tool requires autoconf 2.59 or better.
26440         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
26441
26442 2008-04-08  Eric Blake  <ebb9@byu.net>
26443
26444         Use 'git describe --match' if present (added in git 1.5.5).
26445         * build-aux/git-version-gen: Limit result to tags that match 'v*'
26446         if possible.
26447
26448 2008-04-08  Bruno Haible  <bruno@clisp.org>
26449
26450         Add tentative support for OpenServer.
26451         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
26452         _ptr, _cnt.
26453         * lib/fpurge.c (fpurge): Likewise.
26454         * lib/freadable.c (freadable): Likewise.
26455         * lib/freadahead.c (freadahead): Likewise.
26456         * lib/freading.c (freading): Likewise.
26457         * lib/freadptr.c (freadptr): Likewise.
26458         * lib/freadseek.c (freadptrinc): Likewise.
26459         * lib/fseeko.c (rpl_fseeko): Likewise.
26460         * lib/fseterr.c (fseterr): Likewise.
26461         * lib/fwritable.c (fwritable): Likewise.
26462         * lib/fwriting.c (fwriting): Likewise.
26463         Reported by Roger Cornelius <rac@tenzing.org> and
26464         Brian K. White <brian@aljex.com>.
26465
26466 2008-04-06  Jim Meyering  <meyering@redhat.com>
26467
26468         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
26469
26470 2008-04-06  Bruno Haible  <bruno@clisp.org>
26471
26472         Avoid possible error with non-ASCII bytes in UTF-8 locales.
26473         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
26474         * tests/test-printf-posix.sh: Likewise.
26475         * tests/test-vfprintf-posix.sh: Likewise.
26476         * tests/test-vprintf-posix.sh: Likewise.
26477         * tests/test-xprintf-posix.sh: Likewise.
26478
26479 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26480
26481         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
26482         hide error from 'ls', needed on OS/2.
26483         Report by Elbert Pol <elbert.pol@gmail.com>.
26484
26485 2008-04-04  Eric Blake  <ebb9@byu.net>
26486
26487         Make test-fseeko.c failures meaningful.
26488         * tests/test-fseeko.c: Print line number on failure.
26489         * tests/test-fseek.c: Likewise.
26490         Reported by Nelson H. F. Beebe.
26491
26492         Improve strtod bug detection check.
26493         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
26494         required for Solaris 10.
26495         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
26496
26497 2008-04-04  Bruno Haible  <bruno@clisp.org>
26498
26499         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
26500         by m4/setenv.m4.
26501
26502 2008-04-03  Eric Blake  <ebb9@byu.net>
26503
26504         Ensure sane .version contents.
26505         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
26506         version string.
26507         * build-aux/git-version-gen: Improve documentation.
26508
26509         Make GNU make output nicer.
26510         * top/GNUmakefile [!_have-Makefile]: Add dependency on
26511         MAKECMDGOALS to enforce message for all command line targets.  Set
26512         srcdir for use in maint.mk.
26513
26514         Another maintainer tweak.
26515         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
26516         a target that regenerates version.
26517
26518 2008-04-03  Jim Meyering  <meyering@redhat.com>
26519
26520         vc-list-files: don't cause coreutils "make po-check" failure
26521         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
26522
26523 2008-04-03  Eric Blake  <ebb9@byu.net>
26524
26525         Allow VPATH usage of vc-list-files.
26526         * build-aux/vc-list-files (scriptversion): Add timestamp.
26527         (options): Add --help, --version, -C.
26528         (CVS): Support installed cvsu.
26529
26530 2008-04-02  Bruno Haible  <bruno@clisp.org>
26531
26532         Avoid some "statement with no effect" warnings from gcc.
26533         * tests/test-wctype.c (main): Explicitly ignore unused values.
26534         Reported by Jim Meyering.
26535
26536 2008-04-02  Jim Meyering  <meyering@redhat.com>
26537
26538         Avoid some warnings from "gcc -Wshadow".
26539         * tests/test-frexp.c (exp): Define to a different identifier.
26540         * tests/test-frexpl.c (exp): Likewise.
26541
26542 2008-04-03  Jim Meyering  <meyering@redhat.com>
26543
26544         bootstrap: remove dangling *.[ch] symlinks from lib
26545         * build-aux/bootstrap [dangling symlink removal]: Move find's
26546         -depth option to precede all others, to avoid a warning.
26547         Remove *.[ch] files too, and from "$source_base" (usually lib/).
26548
26549 2008-04-02  Bruno Haible  <bruno@clisp.org>
26550
26551         Avoid some warnings from "gcc -Wshadow".
26552         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
26553         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
26554         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
26555         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
26556         Reported by Jim Meyering.
26557
26558 2008-04-01  Bruno Haible  <bruno@clisp.org>
26559
26560         Fix test to work on IRIX 6.5 with cc.
26561         * tests/test-math.c (numeric_equal): New function.
26562         (main): Use it.
26563
26564 2008-04-01  Bruno Haible  <bruno@clisp.org>
26565
26566         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
26567
26568 2008-04-01  Bruno Haible  <bruno@clisp.org>
26569
26570         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
26571         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26572         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
26573         (Depends-on): Remove math.
26574
26575         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
26576         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26577         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
26578         (Depends-on): Remove math.
26579
26580         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
26581         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26582         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
26583         (Depends-on): Remove math.
26584         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
26585         (Depends-on): Remove math.
26586
26587         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
26588         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
26589         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
26590         (Depends-on): Remove math.
26591         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
26592         (Depends-on): Remove math.
26593
26594         * tests/test-round1.c: Include nan.h.
26595         (main): Use NaNd instead of NAN.
26596         * modules/round-tests (Files): Add tests/nan.h.
26597
26598         * tests/test-trunc1.c: Include nan.h.
26599         (main): Use NaNd instead of NAN.
26600         * modules/trunc-tests (Files): Add tests/nan.h.
26601
26602         * tests/test-roundf1.c: Include nan.h.
26603         (main): Use NaNf instead of NAN.
26604         * modules/roundf-tests (Files): Add tests/nan.h.
26605
26606         * tests/test-truncf1.c: Include nan.h.
26607         (main): Use NaNf instead of NAN.
26608         * modules/truncf-tests (Files): Add tests/nan.h.
26609
26610         * tests/test-ceilf1.c: Include nan.h.
26611         (main): Use NaNf instead of NAN.
26612         * modules/ceilf-tests (Files): Add tests/nan.h.
26613
26614         * tests/test-floorf1.c: Include nan.h.
26615         (main): Use NaNf instead of NAN.
26616         * modules/floorf-tests (Files): Add tests/nan.h.
26617
26618         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
26619         (main): Use NaNf instead of NAN.
26620         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
26621
26622         * tests/test-isnand.c: Include nan.h instead of <math.h>.
26623         (main): Use NaNd instead of NAN.
26624         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
26625
26626         * tests/test-frexp.c: Include nan.h.
26627         (main): Use NaNd instead of NAN.
26628         * modules/frexp-tests (Files): Add tests/nan.h.
26629
26630         * lib/isnan.c: Don't include <math.h>.
26631         (FUNC): Don't use NAN macro.
26632         * modules/isnand-nolibm (Depends-on): Remove math.
26633         * modules/isnanf-nolibm (Depends-on): Remove math.
26634         * modules/isnanl (Depends-on): Remove math.
26635         * modules/isnanl-nolibm (Depends-on): Remove math.
26636
26637         * tests/nan.h: New file.
26638
26639 2008-04-01  Eric Blake  <ebb9@byu.net>
26640
26641         Fix typos.
26642         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
26643         values to be the right type.
26644
26645         For now, cater to gnulib strtod inaccuracies.
26646         * tests/test-strtod.c (main): Allow 1-ulp error on expected
26647         fractional results.  While not as nice from a QoI perspective, it
26648         is a quicker patch than correctly implementing decimal to binary
26649         rounding.
26650
26651 2008-03-31  Eric Blake  <ebb9@byu.net>
26652
26653         Guarantee a definition of NAN.
26654         * lib/math.in.h (NAN): Define if missing.
26655         * tests/test-math.c (main): Test it.
26656         * doc/posix-headers/math.texi (math.h): Document this.
26657         * lib/isnan.c (rpl_isnand): Use it.
26658         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
26659         * tests/test-floorf1.c (NaN): Likewise.
26660         * tests/test-frexp.c (NaN): Likewise.
26661         * tests/test-isnand.c (NaN): Likewise.
26662         * tests/test-isnanf.c (NaN): Likewise.
26663         * tests/test-round1.c (NaN): Likewise.
26664         * tests/test-roundf1.c (NaN): Likewise.
26665         * tests/test-snprintf-posix.h (NaN): Likewise.
26666         * tests/test-sprintf-posix.h (NaN): Likewise.
26667         * tests/test-trunc1.c (NaN): Likewise.
26668         * tests/test-truncf1.c (NaN): Likewise.
26669         * tests/test-vasnprintf-posix.c (NaN): Likewise.
26670         * tests/test-vasprintf-posix.c (NaN): Likewise.
26671         * modules/isnand-nolibm (Depends-on): Add math.
26672         * modules/isnanf-nolibm (Depends-on): Likewise.
26673         * modules/isnanl (Depends-on): Likewise.
26674         * modules/isnanl-nolibm (Depends-on): Likewise.
26675         * modules/snprintf-posix-tests (Depends-on): Likewise.
26676         * modules/sprintf-posix-tests (Depends-on): Likewise.
26677         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
26678         * modules/vsprintf-posix-tests (Depends-on): Likewise.
26679         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
26680         * modules/vasprintf-posix-tests (Depends-on): Likewise.
26681
26682 2008-03-31  Bruno Haible  <bruno@clisp.org>
26683
26684         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
26685         * doc/posix-functions/strtod.texi: Likewise.
26686
26687 2008-03-31  Bruno Haible  <bruno@clisp.org>
26688
26689         * tests/test-strtod.c (main): Don't use C99 syntax.
26690
26691 2008-03-31  Bruno Haible  <bruno@clisp.org>
26692
26693         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
26694         Reported by Eric Blake.
26695
26696 2008-03-31  Jim Meyering  <meyering@redhat.com>
26697
26698         Don't compare actual signbit return values.
26699         * tests/test-strtod.c (main): Rather, compare only their
26700         zero/non-zero nature.
26701
26702 2008-03-31  Eric Blake  <ebb9@byu.net>
26703
26704         More strtod documentation.
26705         * doc/posix-functions/strtod.texi (strtod): Interpret more test
26706         failures as distinct bugs.
26707
26708 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
26709
26710         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
26711         Problem reported by Erik Benada in
26712         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
26713
26714 2008-03-30  Bruno Haible  <bruno@clisp.org>
26715
26716         * tests/test-strtod.c: Add comments about which assertion fails on which
26717         platform.
26718         * doc/posix-functions/strtod.texi: Add info about many more platforms.
26719
26720 2008-03-30  Eric Blake  <ebb9@byu.net>
26721
26722         Test signbit behavior on zeros.
26723         * tests/test-signbit.c (test_signbitf): Add tests for zero.
26724         (test_signbitd, test_signbitl): Likewise.
26725
26726         More strtod touchups.
26727         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
26728         sign of negative underflow, for now.  Use .5, not .1.
26729         * doc/posix-functions/strtod.texi (strtod): Mention these
26730         limitations.
26731         Reported by Jim Meyering.
26732
26733 2008-03-30  Bruno Haible  <bruno@clisp.org>
26734
26735         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
26736         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
26737
26738 2008-03-30  Bruno Haible  <bruno@clisp.org>
26739
26740         Avoid failure when attempting to return empty iconv results on some
26741         platforms.
26742         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
26743         allocation, don't report ENOMEM when the resulting string is empty.
26744
26745 2008-03-30  Bruno Haible  <bruno@clisp.org>
26746
26747         Fix buffer overrun.
26748         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
26749         Don't consider the width for tmp_length. Check count against tmp_length
26750         before doing the padding. Ensure enough allocation during padding.
26751
26752 2008-03-30  Eric Blake  <ebb9@byu.net>
26753
26754         strtod touchups.
26755         * lib/strtod.c (strtod): Avoid compiler warnings.
26756         Reported by Jim Meyering.
26757
26758 2008-03-30  Bruno Haible  <bruno@clisp.org>
26759
26760         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
26761         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
26762         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
26763         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
26764         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
26765         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
26766         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
26767         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
26768
26769         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
26770         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
26771         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
26772         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
26773         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
26774         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
26775         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
26776         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
26777
26778         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
26779         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
26780         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
26781         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
26782         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
26783         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
26784         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
26785         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
26786
26787         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
26788         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
26789
26790         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
26791         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
26792
26793         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
26794         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
26795
26796         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
26797         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
26798         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
26799
26800         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
26801         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
26802         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
26803
26804         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
26805         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
26806         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
26807
26808         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
26809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
26810         * modules/vasprintf (Depends-on): Add EOVERFLOW.
26811
26812         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
26813         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
26814         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
26815         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
26816         (Depends-on): Add EOVERFLOW.
26817         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
26818         (Depends-on): Add EOVERFLOW.
26819         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
26820         (Depends-on): Add EOVERFLOW.
26821         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
26822         (Depends-on): Add EOVERFLOW.
26823         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
26824         (Depends-on): Add EOVERFLOW.
26825         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
26826         (Depends-on): Add EOVERFLOW.
26827         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
26828         (Depends-on): Add EOVERFLOW.
26829         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
26830         (Depends-on): Add EOVERFLOW.
26831
26832         * lib/sprintf.c (EOVERFLOW): Remove fallback.
26833         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
26834         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
26835
26836         * lib/snprintf.c (EOVERFLOW): Remove fallback.
26837         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
26838         * modules/snprintf (Depends-on): Add EOVERFLOW.
26839
26840         * lib/poll.c (EOVERFLOW): Remove fallback.
26841         * modules/poll (Depends-on): Add EOVERFLOW.
26842
26843         * lib/getugroups.c (EOVERFLOW): Remove fallback.
26844         * modules/getugroups (Depends-on): Add EOVERFLOW.
26845
26846         * lib/getdelim.c (EOVERFLOW): Remove fallback.
26847         * modules/getdelim (Depends-on): Add EOVERFLOW.
26848
26849         * lib/ftell.c (EOVERFLOW): Remove fallback.
26850         * modules/ftell (Depends-on): Add EOVERFLOW.
26851
26852         * lib/fprintf.c (EOVERFLOW): Remove fallback.
26853         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
26854         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
26855
26856         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
26857
26858         * modules/EOVERFLOW-tests: New file.
26859         * tests/test-EOVERFLOW.c: New file.
26860
26861         * modules/EOVERFLOW: New file.
26862         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
26863
26864 2008-03-30  Bruno Haible  <bruno@clisp.org>
26865
26866         Fix bug introduced on 2007-06-10.
26867         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
26868         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
26869
26870 2008-03-30  Bruno Haible  <bruno@clisp.org>
26871
26872         Improve freadseek's efficiency after ungetc.
26873         * lib/freadseek.c: Include freadahead.h.
26874         (freadptrinc): New function, extracted from freadseek.
26875         (freadseek): Use it in a loop. Use freadahead to determine the number
26876         of loop iterations.
26877         * modules/freadseek (Depends-on): Add freadahead.
26878         (configure.ac): Require AC_C_INLINE.
26879
26880 2008-03-30  Bruno Haible  <bruno@clisp.org>
26881
26882         * lib/freadseek.c (freadseek): Don't ignore the return value of
26883         freadptr.
26884
26885 2008-03-29  Eric Blake  <ebb9@byu.net>
26886
26887         Add hex float support.
26888         * modules/strtod (Depends-on): Add c-ctype.
26889         (Link): Mention POW_LIB.
26890         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
26891         whitespace between 'e' and exponent.
26892         * tests/test-strtod.c (main): Enable hex float tests.
26893         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
26894         now provides.
26895
26896         Document various strtod bugs, with some fixes.
26897         * doc/posix-functions/strtod.texi (strtod): Document bugs with
26898         "-0x", "inf", "nan", and hex constants.
26899         * doc/posix-functions/atof.texi (atof): Likewise.
26900         * modules/stdlib (Makefile.am): Support strtod.
26901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
26902         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
26903         detect additional strtod bugs.
26904         * lib/stdlib.in.h (rpl_strtod): Add declarations.
26905         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
26906         bool where appropriate.  Parse 'inf' and 'nan'.
26907         * tests/test-strtod.c: New file.
26908         * modules/strtod (Depends-on): Add stdbool, stdlib.
26909         (configure.ac): Turn on module indicator.
26910         * modules/strtod-tests: New module.
26911
26912 2008-03-29  Eric Blake  <ebb9@byu.net>
26913
26914         Fix ftell on mingw.
26915         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
26916         * modules/ftell-tests (Depends-on): Add binary-io.
26917         * modules/ftello-tests (Depends-on): Likewise.
26918         * tests/test-ftell.c (main): Enhance test to cover behavior after
26919         ungetc.  Enforce binary mode.
26920         * tests/test-ftello.c (main): Likewise.
26921
26922         Pass test-freadseek on cygwin.
26923         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
26924         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
26925         ungetc buffer.
26926
26927         * tests/test-fflush2.c (main): Fix typo.
26928
26929 2008-03-29  Bruno Haible  <bruno@clisp.org>
26930
26931         * tests/test-fflush2.c (main): Temporarily disable the contents of
26932         this test.
26933         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
26934         Reported by Eric Blake.
26935
26936 2008-03-28  Simon Josefsson  <simon@josefsson.org>
26937
26938         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
26939         (GC_SHA224_DIGEST_SIZE): Add.
26940
26941         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
26942         (gc_hash_digest_length): Likewise.
26943         (gc_hash_buffer): Likewise.
26944
26945 2008-03-25  Bruno Haible  <bruno@clisp.org>
26946
26947         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
26948         detail which gettext release to use.
26949         Reported by Simon Josefsson.
26950
26951 2008-03-26  Jim Meyering  <meyering@redhat.com>
26952
26953         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
26954         * modules/gnumakefile (clean-GNUmakefile): Also, use
26955         test ... && ... || : syntax rather than if-then ... fi.
26956
26957         gnumakefile: Don't double-quote-expand $(VPATH) value.
26958         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
26959
26960 2008-03-24  Eric Blake  <ebb9@byu.net>
26961
26962         Alter GNUmakefile to install into top directory.
26963         * modules/maintainer-makefile: Split, and add dependency...
26964         * modules/gnumakefile: to this new module.
26965         * build-aux/GNUmakefile: Move...
26966         * top/GNUmakefile: ...here.
26967         * build-aux/maint.mk: Move...
26968         * top/maint.mk: ...here.
26969         * MODULES.html.sh (Support for maintaining...): Document new
26970         module.
26971
26972 2008-03-23  Bruno Haible  <bruno@clisp.org>
26973
26974         * gnulib-tool: New options --vc-files, --no-vc-files.
26975         (func_usage): Document them.
26976         (vc_files): New variable.
26977         (func_import): Consider vc_files.
26978         (func_create_testdir): Set vc_files to empty.
26979         Suggested by Jim Meyering and Karl Berry.
26980
26981 2008-03-23  Bruno Haible  <bruno@clisp.org>
26982
26983         Fix regex compilation error on HP-UX 11.
26984         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
26985         * modules/regex (Files): Add m4/mbstate_t.m4.
26986         Reported by Ton Voon <ton.voon@altinity.com>.
26987
26988 2008-03-23  Bruno Haible  <bruno@clisp.org>
26989
26990         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
26991
26992 2008-03-23  Eric Blake  <ebb9@byu.net>
26993             Bruno Haible  <bruno@clisp.org>
26994
26995         Install files from top/ in the destination directory.
26996         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
26997         augmentation also for the files from top/.
26998         (func_import, func_create_testdir): Rewrite file names:
26999         top/filename -> filename.
27000
27001 2008-03-23  Bruno Haible  <bruno@clisp.org>
27002
27003         Tweak "gnulib --version" output.
27004         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
27005
27006 2008-03-23  Bruno Haible  <bruno@clisp.org>
27007
27008         Tweak "gnulib --version" output.
27009         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
27010         rather than contents of ChangeLog, when possible.
27011
27012 2008-03-21  Eric Blake  <ebb9@byu.net>
27013
27014         More --version tweaks.
27015         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
27016         date of last ChangeLog entry.
27017
27018 2008-03-21  Jim Meyering  <meyering@redhat.com>
27019
27020         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
27021
27022 2008-03-20  Eric Blake  <ebb9@byu.net>
27023
27024         VPATH fix.
27025         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
27026
27027 2008-03-20  Simon Josefsson  <simon@josefsson.org>
27028
27029         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
27030         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
27031
27032 2008-03-20  Eric Blake  <ebb9@byu.net>
27033
27034         Sync GNUmakefile with coreutils.
27035         * build-aux/GNUmakefile (have-Makefile): Rename...
27036         (_have-Makefile): ...to this, for namespace consideration.
27037         (GNUmakefile.cfg): Include, if present.
27038         (_autoreconf): Define a default.
27039         (_is-dist-target): New rule for rebuilds to pick up intra-release
27040         version.
27041         (maint-cfg.mk): Rename...
27042         (cfg.mk): ...to this.
27043
27044 2008-03-18  Jim Meyering  <meyering@redhat.com>
27045
27046         New script and module: mktempd
27047         * MODULES.html.sh (maint+release support): Add mktempd.
27048         * build-aux/mktempd: New file.
27049         * modules/mktempd: New file.
27050
27051 2008-03-15  Jim Meyering  <meyering@redhat.com>
27052
27053         Undo last change.
27054         * lib/sha1.c, lib/md5.c: 63 != ~63.
27055         Reported by Andreas Schwab.
27056
27057         sha1.c, md5.c: Hoist a redundant expression.
27058         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
27059         "ctx->buflen" only once, before calling *_process_block.
27060         * lib/md5.c (md5_process_bytes): Likewise.
27061
27062 2008-03-14  Eric Blake  <ebb9@byu.net>
27063
27064         Bump copyright year in files generated by gnulib-tool.
27065         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
27066         gnulib-tool, rather than hard-coding it.
27067
27068         Fix 'gnulib-tool --version' output to work with git.
27069         * gnulib-tool (func_gnulib_dir): New function, extracted from...
27070         (startup): ...here.
27071         (func_version): Use it to invoke git-version-gen, rather than
27072         relying on CVS keyword expansion.  Modernize wording.
27073         (cvsdatestamp, last_checkin_date, version): Kill unused
27074         variables.
27075
27076 2008-03-12  Jim Meyering  <meyering@redhat.com>
27077
27078         Recognize optional cast of the argument to free.
27079         * build-aux/useless-if-before-free: Update regexps.
27080
27081         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
27082
27083 2008-03-11  Bruno Haible  <bruno@clisp.org>
27084
27085         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
27086         by a single package.
27087         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
27088         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
27089         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
27090         Reported by Sam Steingold <sds@gnu.org>.
27091
27092 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27093
27094         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
27095         repositories.
27096
27097 2008-03-11  Bruno Haible  <bruno@clisp.org>
27098
27099         Avoid conflicts between local macro definitions.
27100         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27101         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
27102
27103 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
27104             Bruno Haible  <bruno@clisp.org>
27105
27106         Make va_copy work with some version of xlc on AIX 5.1.
27107         * lib/stdarg.in.h: New file.
27108         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
27109         On AIX, use a <stdarg.h> file substitute.
27110         * modules/stdarg (Files): Add lib/stdarg.in.h.
27111         (Depends-on): Add include_next.
27112         (Makefile.am): Build a stdarg.h substitute if requested.
27113         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
27114
27115 2008-03-10  Bruno Haible  <bruno@clisp.org>
27116
27117         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
27118         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27119         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27120
27121 2008-03-10  Bruno Haible  <bruno@clisp.org>
27122
27123         * modules/stdlib (Depends-on): Add include_next, remove
27124         absolute-header.
27125
27126 2008-03-09  Bruno Haible  <bruno@clisp.org>
27127
27128         * lib/freadahead.h (freadahead): Document more precisely.
27129         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
27130         the sum of both buffer sizes.
27131         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
27132         * NEWS: Document the change.
27133
27134 2008-03-09  Bruno Haible  <bruno@clisp.org>
27135
27136         Extend freadptr to return also the buffer size.
27137         * lib/freadptr.h (freadptr): Add sizep argument.
27138         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
27139         (freadptr): Add sizep argument. Determine buffer size like freadahead
27140         does.
27141         * tests/test-freadptr.c: Don't include freadahead.h.
27142         (main): Adapt for new calling convention of freadptr.
27143         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
27144         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
27145         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
27146         tests/test-freadptr2.sh.
27147         (Depends): Remove freadahead.
27148         (TESTS): Add test-freadptr2.sh.
27149         (check_PROGRAMS): Add test-freadptr2.
27150
27151 2008-03-09  Bruno Haible  <bruno@clisp.org>
27152
27153         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
27154         Report and solution by Simon Josefsson.
27155
27156 2008-03-06  Bruno Haible  <bruno@clisp.org>
27157
27158         Make fflush after ungetc work on BSD platforms.
27159         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
27160         * tests/test-fflush2.c: New file.
27161         * tests/test-fflush2.sh: New file.
27162         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
27163         tests/test-fflush2.c.
27164         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
27165         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
27166
27167 2008-03-06  Eric Blake  <ebb9@byu.net>
27168
27169         Likewise for ftello.
27170         * modules/ftello (Dependencies): Add extensions.
27171         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
27172
27173 2008-03-06  Bruno Haible  <bruno@clisp.org>
27174
27175         * modules/fseeko (Dependencies): Add extensions.
27176         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
27177         Needed on glibc systems.
27178
27179 2008-03-06  Bruno Haible  <bruno@clisp.org>
27180
27181         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
27182         email address.
27183         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27184
27185 2008-03-06  Bruno Haible  <bruno@clisp.org>
27186
27187         * users.txt: Add libgnupdf.
27188
27189 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27190
27191         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
27192         (Header File Substitutes, Function Substitutes,
27193         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
27194         (Build robot for gnulib): Fix typo.
27195
27196 2008-03-06  Bruno Haible  <bruno@clisp.org>
27197
27198         * doc/gnulib-tool.texi (VCS Issues): Small updates.
27199         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27200
27201 2008-03-06  Bruno Haible  <bruno@clisp.org>
27202
27203         * doc/func.texi: New file, extracted from doc/gnulib.texi.
27204         * doc/gnulib.texi: Include it.
27205
27206 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27207
27208         * modules/func (License): Change license to unlimited; there was
27209         no LGPL parts in the module anyway.
27210
27211 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27212
27213         * modules/__func__: Renamed to modules/func.
27214         * modules/__func__-tests: Renamed to modules/func-tests.
27215         * tests/test-__func__.c: Renamed to tests/test-func.c.
27216         * m4/__func__.m4: Renamed to m4/func.m4.
27217         * doc/gnulib.texi (__func__): Section renamed to func.
27218         Suggested by Eric Blake <ebb9@byu.net>.
27219
27220 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27221
27222         * doc/gnulib.texi (__func__): Use C99 terminology when talking
27223         about __func__.  Make example self-contained.  Suggested by Eric
27224         Blake <ebb9@byu.net>.
27225
27226         * tests/test-__func__.c (main): Avoid extraneous () around __func.
27227         Suggested by Eric Blake <ebb9@byu.net>.
27228
27229 2008-03-06  Simon Josefsson  <simon@josefsson.org>
27230
27231         * modules/__func__: New file.
27232         * modules/__func__-tests: New file.
27233         * tests/test-__func__.c: New file.
27234         * m4/__func__.m4: New file.
27235         * doc/gnulib.texi (__func__): Document __func__ module.
27236
27237 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27238
27239         * modules/byteswap (License): Re-license as LGPLv2+.
27240
27241 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27242
27243         * doc/Makefile: Add pdf target.
27244
27245 2008-03-05  Simon Josefsson  <simon@josefsson.org>
27246
27247         * modules/inline (License): Use 'unlimited', since there are only
27248         *.m4 files in this module.
27249
27250 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27251             Bruno Haible  <bruno@clisp.org>
27252
27253         Add support for HP C 7.1 on OpenVMS 8.3.
27254         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
27255
27256 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
27257
27258         Update VMS specifics.
27259         * lib/getopt.c [VMS]: Remove include of unixlib.h.
27260
27261 2008-03-02  Jim Meyering  <meyering@redhat.com>
27262
27263         Remove the last dependency on the "free" module.
27264         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
27265         Reported by Bob Proulx.
27266
27267         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
27268
27269         Remove useless "if" tests before free.  Deprecate "free" module.
27270         * doc/posix-functions/free.texi: Mention that this
27271         module is no longer useful.
27272         * modules/free (Notice): Say this module is obsolete.
27273         * modules/readutmp (Depends-on): Remove free.
27274         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
27275         * lib/putenv.c (putenv): Likewise.
27276         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
27277         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
27278         * tests/test-c-strcasestr.c (main): Likewise.
27279         * tests/test-c-strstr.c (main): Likewise.
27280         * tests/test-mbscasestr1.c (main): Likewise.
27281         * tests/test-mbscasestr2.c (main): Likewise.
27282         * tests/test-mbsstr1.c (main): Likewise.
27283         * tests/test-mbsstr2.c (main): Likewise.
27284         * tests/test-memmem.c (main): Likewise.
27285         * tests/test-strcasestr.c (main): Likewise.
27286         * tests/test-striconv.c (main): Likewise.
27287         * tests/test-striconveh.c (main): Likewise.
27288         * tests/test-striconveha.c (main): Likewise.
27289         * tests/test-strstr.c (main): Likewise.
27290
27291         * build-aux/git-version-gen: Adjust a comment and the Usage string.
27292
27293         bootstrap: sync from coreutils again
27294         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
27295
27296 2008-03-01  Jim Meyering  <meyering@redhat.com>
27297
27298         bootstrap: sync from coreutils
27299         * build-aux/bootstrap (update_po_files): Copy a .po file into place
27300         also when the target doesn't exist.
27301
27302 2008-03-01  Eric Blake  <ebb9@byu.net>
27303
27304         Fix bugs in last patch.
27305         * lib/memchr2.c (memchr2): Fix typo.
27306         * tests/test-memchr2.c: Test previous bug, and don't use GNU
27307         extension.
27308         Reported by Bruce Korb.
27309
27310         New module 'memchr2'.
27311         * modules/memchr2: New file.
27312         * modules/memchr2-tests: Likewise.
27313         * lib/memchr2.h: Likewise.
27314         * lib/memchr2.c: Likewise, based on memchr.c.
27315         * tests/test-memchr2.c: New test.
27316         * MODULES.html.sh (String handling): Add memchr2.
27317
27318 2008-02-29  Bruno Haible  <bruno@clisp.org>
27319
27320         * modules/freadseek-tests: New file.
27321         * tests/test-freadseek.sh: New file.
27322         * tests/test-freadseek.c: New file.
27323
27324         New module 'freadseek'.
27325         * modules/freadseek: New file.
27326         * lib/freadseek.h: New file.
27327         * lib/freadseek.c: New file.
27328         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
27329
27330 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27331
27332         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
27333         wydawca.
27334
27335         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
27336         program_invocation_name and program_invocation_short_name are
27337         present.
27338
27339 2008-02-28  Bruno Haible  <bruno@clisp.org>
27340
27341         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
27342         * tests/test-freadptr.sh: Also test non-seekable stdin.
27343
27344 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
27345
27346         * build-aux/bootstrap (source_base, m4_base)
27347         (doc_base, tests_base): New variables.
27348         (gnulib_tool_options): Do not hardcode base directories, use
27349         the above variables instead.
27350
27351 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
27352
27353         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
27354
27355 2008-02-28  Bruno Haible  <bruno@clisp.org>
27356
27357         * modules/freadptr-tests: New file.
27358         * tests/test-freadptr.sh: New file.
27359         * tests/test-freadptr.c: New file.
27360
27361         New module 'freadptr'.
27362         * modules/freadptr: New file.
27363         * lib/freadptr.h: New file.
27364         * lib/freadptr.c: New file.
27365         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
27366
27367 2008-02-26  Karl Berry  <karl@freefriends.org>
27368
27369         Sync from Libtool:
27370         * libltdl/argz.c (argz_add, argz_count): New functions.
27371         * libltdl/argz.in.h: Declare them.
27372         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
27373
27374 2008-02-22  Bruno Haible  <bruno@clisp.org>
27375
27376         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
27377         is a pointer type.  Needed for HP-UX 10.
27378         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
27379         * doc/posix-functions/gmtime_r.texi: Likewise.
27380         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
27381
27382 2008-02-24  Bruno Haible  <bruno@clisp.org>
27383
27384         * modules/environ-tests: New file.
27385         * tests/test-environ.c: New file.
27386
27387         New module 'environ'.
27388         * modules/environ: New file.
27389         * lib/unistd.in.h (environ): New declaration.
27390         * m4/environ.m4: New file.
27391         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
27392         after use.
27393         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
27394         HAVE_DECL_ENVIRON.
27395         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
27396         HAVE_DECL_ENVIRON.
27397         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
27398         wrong claim that 'environ' is missing on some systems.
27399         * modules/execute (Depends-on): Add environ.
27400         * lib/execute.c (environ): Remove fallback declaration.
27401         * modules/pipe (Depends-on): Add environ.
27402         * lib/pipe.c (environ): Remove fallback declaration.
27403         * modules/setenv (Depends-on): Add environ.
27404         * lib/setenv.c (environ): Remove fallback declaration.
27405         * modules/unsetenv (Depends-on): Add environ.
27406         * lib/unsetenv.c (environ): Remove fallback declaration.
27407         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
27408         m4/environ.m4.
27409         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
27410         (gl_PREREQ_UNSETENV): Likewise.
27411
27412 2008-02-24  Bruno Haible  <bruno@clisp.org>
27413
27414         * doc/posix-functions/environ.texi: Document the MacOS X problem.
27415
27416 2008-02-20  Bob Proulx  <bob@proulx.com>
27417
27418         Enable use of older two part flavor 'git describe'.
27419         * build-aux/git-version-gen: If using the older two part flavor of
27420         git version then recreate the third part now present in the
27421         newer three part flavor of git describe.
27422
27423 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
27424
27425         * lib/fts.c (fts_build): Typo correction to comment.
27426
27427 2008-02-17  Bruno Haible  <bruno@clisp.org>
27428
27429         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
27430         generating no-op conflicts.
27431
27432 2008-02-17  Bruno Haible  <bruno@clisp.org>
27433
27434         Speed up by 10%.
27435         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
27436         result_entries, rather than an index-based loop.
27437
27438 2008-02-17  Bruno Haible  <bruno@clisp.org>
27439
27440         Speed up by 25%.
27441         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
27442         'hashcode_cached'.
27443         (entry_create): New function.
27444         (entry_hashcode): Use the cached hashcode if possible.
27445         (read_changelog_file, try_split_merged_entry): Use entry_create.
27446
27447 2008-02-17  Bruno Haible  <bruno@clisp.org>
27448
27449         Speed up from O(n^2) to O(n) for long ChangeLog files.
27450         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
27451         (read_changelog_file): Change implementation of entries_reversed list
27452         to rbtreehash.
27453         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
27454
27455 2008-02-17  Bruno Haible  <bruno@clisp.org>
27456
27457         New option --split-merged-entry.
27458         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
27459         (find_paragraph_end, try_split_merged_entry): New functions.
27460         (long_options): Add option --split-merged-entry.
27461         (usage): Document option --split-merged-entry.
27462         (main): Implement option --split-merged-entry.
27463         Reported by Eric Blake.
27464
27465 2008-02-17  Bruno Haible  <bruno@clisp.org>
27466
27467         * lib/git-merge-changelog.c: Include c-strstr.h.
27468         (main): Support the "git pull --rebase" situation.
27469         * modules/git-merge-changelog (Depends-on): Add c-strstr.
27470         Reported by Eric Blake.
27471
27472 2008-02-16  Eric Blake  <ebb9@byu.net>
27473
27474         Avoid doubling \ in common case of "c-maybe" quoting style.
27475         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
27476         eliding outer quotes.
27477         * lib/quotearg.h: Document this.
27478         * tests/test-quotearg.c (result_strings, inputs, results_g)
27479         (flag_results, locale_results): Test it by adding a new string to
27480         each test group.
27481         (compare_strings): Test new string.
27482
27483 2008-02-13  Eric Blake  <ebb9@byu.net>
27484
27485         Avoid trigraph quoting in default output.
27486         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
27487         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
27488         unless explicitly requested.
27489         * tests/test-quotearg.c (flag_results, main): Add additional tests.
27490
27491 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
27492
27493         Don't rely on signed integer overflowing to negative value.
27494         * lib/getugroups.c (getugroups): Include <limits.h>.
27495         Instead, compare against INT_MAX, and increment only if the test passes.
27496
27497 2008-02-13  Jim Meyering  <meyering@redhat.com>
27498         and Eric Blake  <ebb9@byu.net>
27499
27500         Avoid shadowing warning and compile errors on Linux.
27501         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
27502         forwarding macros on Linux.
27503         (dcgettext): Define a stub, for Linux.
27504         (results_g, main): Avoid warnings.
27505
27506 2008-02-12  Eric Blake  <ebb9@byu.net>
27507
27508         Silence warning in last patch.
27509         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
27510
27511         Quotearg part 4: add tests, fix c-maybe colon quoting.
27512         * lib/quotearg.h: Improve documentation.
27513         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
27514         escapes when adding outer quotes.  When quoting trigraphs, use
27515         valid C notation.  When quoting NUL, omit extra characters if next
27516         character is not digit.  Alter prototype.
27517         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
27518         callers.
27519         * modules/quotearg-tests: New module.
27520         * tests/test-quotearg.c: New test.
27521
27522 2008-02-07  Eric Blake  <ebb9@byu.net>
27523
27524         Quotearg part 3: add flag to control outer quote elision.
27525         * lib/quotearg.h (c_maybe_quoting_style): New style.
27526         (enum quoting_flags): Better documentation of flags.
27527         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
27528         c-maybe style.
27529         (quotearg_buffer_restyled): Handle new flag to elide outer
27530         quotes.
27531
27532         Quotearg part 2: add flag that can control NUL elision.
27533         * lib/quotearg.h (set_quoting_flags): New prototype.
27534         * lib/quotearg.c (struct quoting_options): Add flag field.
27535         (set_quoting_flags): New function.
27536         (quotearg_buffer_restyled): Add flags parameter.
27537         (quotearg_alloc_mem): Set the flag if length cannot be returned.
27538         (quotearg_n_options): Set the flag, since length cannot be
27539         returned.
27540         (quoting_options_from_style): Default flags correctly.
27541
27542         Quotearg part 1: more wrappers, restore quotearg_char state.
27543         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
27544         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
27545         (quotearg_colon_mem): New wrappers.
27546         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
27547         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
27548         functions.
27549         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
27550         (quotearg_colon_mem): New functions.
27551
27552 2008-02-11  Bruno Haible  <bruno@clisp.org>
27553
27554         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
27555         library in the current directory: it does not work with parallel make.
27556         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27557
27558 2008-02-11  Bruno Haible  <bruno@clisp.org>
27559
27560         * .gitattributes: New file.
27561
27562 2008-02-11  Jim Meyering  <meyering@redhat.com>
27563
27564         useless-if-before-free: Fix reversed exit values.
27565         * build-aux/useless-if-before-free: Use correct values
27566         for EXIT_MATCH and EXIT_NO_MATCH.
27567
27568         * build-aux/useless-if-before-free: Close stdout carefully.
27569
27570 2008-02-10  Bruno Haible  <bruno@clisp.org>
27571
27572         New module 'git-merge-changelog'.
27573         * modules/git-merge-changelog: New file.
27574         * lib/git-merge-changelog.c: New file.
27575
27576 2008-02-10  Jim Meyering  <meyering@redhat.com>
27577
27578         useless-if-before-free: New option: --list (-l).
27579
27580         useless-if-before-free: Don't exit immediately upon open failure.
27581         * build-aux/useless-if-before-free: Exit 2 for errors.
27582         Upon failure to open a file, don't exit immediately.
27583         Rather, just warn and continue with any remaining files.
27584
27585 2008-02-10  Bruno Haible  <bruno@clisp.org>
27586
27587         New abstract list operation 'node_set_value'.
27588         * lib/gl_list.h (gl_list_node_set_value): New function.
27589         (struct gl_list_implementation): New field node_set_value.
27590         * lib/gl_list.c (gl_list_node_set_value): New function.
27591         * lib/gl_array_list.c (gl_array_node_set_value): New function.
27592         (gl_array_list_implementation): Update.
27593         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
27594         (gl_carray_list_implementation): Update.
27595         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
27596         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
27597         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
27598         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
27599         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
27600         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
27601         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
27602         Update.
27603         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
27604         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
27605         (gl_sublist_list_implementation): Update.
27606
27607 2008-02-10  Bruno Haible  <bruno@clisp.org>
27608
27609         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
27610         Needed when ELEMENT is #defined to 'some_type *'.
27611
27612 2008-02-10  Jim Meyering  <meyering@redhat.com>
27613
27614         New script and module: useless-if-before-free
27615         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
27616         * build-aux/useless-if-before-free: New file.
27617         * modules/useless-if-before-free: New file.
27618
27619         * build-aux/gitlog-to-changelog: Use committer date, not author date.
27620
27621         xstrtol_error: Fix typo.
27622         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
27623         s/exit_failure/exit_status/.
27624
27625 2008-02-09  Jim Meyering  <meyering@redhat.com>
27626
27627         New script and module: gitlog-to-changelog
27628         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
27629         * modules/gitlog-to-changelog: New file.
27630         * build-aux/gitlog-to-changelog: New file.
27631
27632 2008-02-08  Jim Meyering  <meyering@redhat.com>
27633
27634         Avoid two "parameter unused" warnings.
27635         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
27636         Mark "st" as used.
27637
27638         Use "git COMMAND", not "git-COMMAND".
27639         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
27640         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
27641         * build-aux/git-version-gen: Use "git status", not "git-status".
27642
27643 2008-02-07  Bruno Haible  <bruno@clisp.org>
27644
27645         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
27646         Avoids a crash on Windows Vista.
27647         Reported by Adam Strzelecki <ono@java.pl> via
27648         Simon Josefsson <simon@josefsson.org>.
27649
27650 2008-02-06  Bruno Haible  <bruno@clisp.org>
27651
27652         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
27653         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
27654         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
27655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
27656         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
27657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27658         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
27659         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
27660         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27661         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27662         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27663         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27664         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27665         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27666         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27667         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
27668         left-adjust flag.
27669         * tests/test-snprintf-posix.h (test_function): Likewise.
27670         * tests/test-sprintf-posix.h (test_function): Likewise.
27671         * tests/test-vasprintf-posix.c (test_function): Likewise.
27672         * doc/posix-functions/fprintf.texi: Update.
27673         * doc/posix-functions/printf.texi: Update.
27674         * doc/posix-functions/snprintf.texi: Update.
27675         * doc/posix-functions/sprintf.texi: Update.
27676         * doc/posix-functions/vfprintf.texi: Update.
27677         * doc/posix-functions/vprintf.texi: Update.
27678         * doc/posix-functions/vsnprintf.texi: Update.
27679         * doc/posix-functions/vsprintf.texi: Update.
27680         Reported by Peter Fales <psfales@alcatel-lucent.com>.
27681
27682 2008-02-06  Bruno Haible  <bruno@clisp.org>
27683
27684         Fix bug introduced on 2008-01-26.
27685         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
27686
27687 2008-02-06  Bruno Haible  <bruno@clisp.org>
27688
27689         Fix bug introduced on 2007-06-10.
27690         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
27691         !NEED_PRINTF_FLAG_ZERO.
27692
27693 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
27694
27695         getloadavg: use libperfstat on AIX5
27696         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
27697
27698 2008-02-03  Bruno Haible  <bruno@clisp.org>
27699
27700         * lib/diffseq.h: Add comments about required #includes.
27701         Reported by Michael Biggs <gnulib@doubleplum.net>.
27702
27703 2008-02-01  Bruno Haible  <bruno@clisp.org>
27704
27705         * users.txt: Add gnuit.
27706
27707 2008-01-31  Bruno Haible  <bruno@clisp.org>
27708
27709         * lib/md4.c (set_uint32): Mark as inline.
27710         * lib/md5.c (set_uint32): Likewise.
27711         * lib/sha1.c (set_uint32): Likewise.
27712         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
27713         * m4/md5.m4 (gl_MD5): Likewise.
27714         * m4/sha1.m4 (gl_SHA1): Likewise.
27715
27716 2008-01-31  Jim Meyering  <meyering@redhat.com>
27717
27718         Use "sizeof VAR", rather than a literal "4".
27719         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
27720         * lib/md4.c (md4_read_ctx): Likewise.
27721         * lib/sha1.c (sha1_read_ctx): Likewise.
27722
27723 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27724
27725         * tests/test-sha1.c: New file, based on test-md5.c.
27726
27727         * modules/crypto/sha1-tests: New file.
27728
27729 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27730
27731         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
27732
27733 2008-01-31  Jim Meyering  <meyering@redhat.com>
27734
27735         Prefer "sizeof v" over the equivalent "4".
27736         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
27737         * lib/md5.c (set_uint32): Likewise.
27738         * lib/sha1.c (set_uint32): Likewise.
27739
27740 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27741
27742         * lib/sha1.c (set_uint32): Mark function as static.
27743
27744 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27745
27746         md2: clarify comments to say that alignment is not required.
27747         * lib/md2.h: Remove warning about alignment in comment.
27748         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
27749         never been required.
27750
27751 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27752
27753         md4: adapt alignment constraint fix from sha1.
27754         * lib/md4.c (set_uint32): New function, from sha1.c
27755         (md4_read_ctx): Use it.
27756         (md4_finish_ctx): Doc fix.
27757         * lib/md4.h: Doc fix.
27758
27759 2008-01-31  Simon Josefsson  <simon@josefsson.org>
27760
27761         md5: adapt alignment constraint fix from sha1.
27762         * lib/md5.c (set_uint32): New function, from sha1.c
27763         (md5_read_ctx): Use it.
27764         (md5_finish_ctx): Doc fix.
27765         * lib/md5.h: Doc fix.
27766
27767 2008-01-30  Peter Palfrader  <weasel@debian.org>
27768
27769         sha1: remove the result buffer alignment constraint
27770         * lib/sha1.c (set_uint32): New function.
27771         (sha1_read_ctx): Rewrite to remove the result buffer alignment
27772         constraint.
27773         (sha1_finish_ctx): Remove comment warning about alignment constraint.
27774         * lib/sha1.h: Likewise.
27775
27776 2008-01-30  Andreas Schwab  <schwab@suse.de>
27777             Bruno Haible  <bruno@clisp.org>
27778
27779         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
27780         correct definition of LDBL_MIN_EXP.
27781
27782 2008-01-30  Karl Berry  <karl@gnu.org>
27783
27784         * config/srclist-update: try to preserve x bit on updates.
27785         * config/srclistvars.sh: update for karl.
27786
27787 2008-01-29  Jim Meyering  <meyering@redhat.com>
27788
27789         vasnprintf.c: Avoid warning about unused label
27790         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
27791         "overflow" label definition and associated code with the
27792         same cpp condition that guards the sole use of that label.
27793
27794 2008-01-26  Bruno Haible  <bruno@clisp.org>
27795
27796         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
27797         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
27798         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
27799         * lib/isnanl-nolibm.h (isnanl): Likewise.
27800         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27801
27802 2008-01-26  Bruno Haible  <bruno@clisp.org>
27803
27804         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
27805         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
27806
27807 2008-01-26  Bruno Haible  <bruno@clisp.org>
27808
27809         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
27810         GCC >= 4.0 built-in.
27811         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
27812
27813 2008-01-26  Bruno Haible  <bruno@clisp.org>
27814
27815         Rename isnan, applicable to 'double' only, to isnand.
27816         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
27817         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
27818         (configure.ac): Update.
27819         (Include): Replace "isnan.h" with "isnand.h".
27820         * m4/isnand.m4: Renamed from m4/isnan.m4.
27821         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
27822         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
27823         instead of isnan.c.
27824         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
27825         instead of HAVE_ISNAN_IN_LIBC.
27826         (isnand): Renamed from isnan.
27827         * lib/isnand.c: New file.
27828         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
27829         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
27830         (Makefile.am): Update.
27831         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
27832         Include isnand.h instead of isnan.h.
27833         (main): Test isnand instead of isnan.
27834         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
27835         isnan-nolibm.
27836         * modules/frexp (Depends-on): Likewise.
27837         * modules/frexp-tests (Depends-on): Likewise.
27838         * modules/frexp-nolibm (Depends-on): Likewise.
27839         * modules/frexp-nolibm-tests (Depends-on): Likewise.
27840         * modules/isfinite (Depends-on): Likewise.
27841         * modules/round-tests (Depends-on): Likewise.
27842         * modules/signbit (Depends-on): Likewise.
27843         * modules/signbit-tests (Depends-on): Likewise.
27844         * modules/snprintf-posix (Depends-on): Likewise.
27845         * modules/sprintf-posix (Depends-on): Likewise.
27846         * modules/trunc-tests (Depends-on): Likewise.
27847         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27848         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27849         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27850         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27851         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27852         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27853         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27854         * modules/vasnprintf-posix (Depends-on): Likewise.
27855         * modules/vasprintf-posix (Depends-on): Likewise.
27856         * modules/vfprintf-posix (Depends-on): Likewise.
27857         * modules/vsnprintf-posix (Depends-on): Likewise.
27858         * modules/vsprintf-posix (Depends-on): Likewise.
27859         * lib/frexp.c: Include isnand.h instead of isnan.h.
27860         (ISNAN): Set to isnand instead of isnan.
27861         * lib/isfinite.c: Include isnand.h instead of isnan.h.
27862         (gl_isfinited): Use isnand instead of isnan.
27863         * lib/signbitd.c: Include isnand.h instead of isnan.h.
27864         (gl_signbitd): Use isnand instead of isnan.
27865         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
27866         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
27867         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
27868         (main): Use isnand instead of isnan.
27869         * tests/test-round1.c: Include isnand.h.
27870         (main): Use isnand instead of isnan.
27871         * tests/test-round2.c: Include isnand.h instead of isnan.h.
27872         (ISNAN): Set to isnand instead of isnan.
27873         * tests/test-trunc1.c: Include isnand.h.
27874         (main): Use isnand instead of isnan.
27875         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
27876         (equal): Use isnand instead of isnan.
27877         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
27878         isnand-nolibm.
27879         * NEWS: Mention the change.
27880
27881 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
27882             Bruno Haible  <bruno@clisp.org>
27883
27884         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
27885         the GCC builtins for signbits are present and set
27886         REPLACE_SIGNBIT_USING_GCC if so.
27887         * lib/math.in.h (signbit): Define using GCC builtins if
27888         REPLACE_SIGNBIT_USING_GCC is set.
27889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
27890         REPLACE_SIGNBIT_USING_GCC.
27891         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
27892
27893 2008-01-25  Jim Meyering  <meyering@redhat.com>
27894
27895         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
27896         * lib/poll.c: Include <config.h>, not "config.h".
27897         * tests/test-getaddrinfo.c: Likewise.
27898
27899 2008-01-25  Simon Josefsson  <simon@josefsson.org>
27900
27901         * modules/sockets-tests: New file.
27902
27903 2008-01-24  Simon Josefsson  <simon@josefsson.org>
27904
27905         * modules/sockets: New module, can be used to call WSA_Startup and
27906         WSA_Cleanup when needed.
27907
27908         * lib/sockets.h, lib/sockets.c: New files.
27909
27910         * m4/sockets.m4: New file.
27911
27912         * tests/test-sockets.c: New file.
27913
27914 2008-01-19  Bruno Haible  <bruno@clisp.org>
27915
27916         * doc/posix-headers: Renamed from doc/headers.
27917         * doc/posix-functions: Renamed from doc/functions.
27918         * doc/gnulib.texi: Update.
27919
27920 2008-01-19  Bruno Haible  <bruno@clisp.org>
27921
27922         * doc/glibc-functions/strcasestr.texi: Include contents of
27923         doc/functions/strcasestr.texi, fixing the list of platforms.
27924         * doc/functions/strcasestr.texi: Remove file.
27925
27926 2008-01-19  Bruno Haible  <bruno@clisp.org>
27927
27928         * doc/glibc-functions/memmem.texi: Include contents of
27929         doc/functions/memmem.texi.
27930         * doc/functions/memmem.texi: Remove file.
27931
27932 2008-01-18  Bruno Haible  <bruno@clisp.org>
27933
27934         * doc/glibc-functions/*.texi: New files.
27935         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
27936         to use the new files.
27937
27938 2008-01-17  Bruno Haible  <bruno@clisp.org>
27939
27940         * tests/test-gethostname.c (main): Fix printf statement.
27941
27942 2008-01-17  Simon Josefsson  <simon@josefsson.org>
27943
27944         * modules/gethostname-tests: New file.
27945
27946         * tests/test-gethostname.c: New file.
27947
27948 2008-01-17  Simon Josefsson  <simon@josefsson.org>
27949
27950         * lib/gethostname.c: Include string.h unconditionally, strncpy is
27951         used by the UNAME case.  Reported by Bruno Haible
27952         <bruno@clisp.org>.
27953
27954 2008-01-17  Eric Blake  <ebb9@byu.net>
27955
27956         Convert c-strcasestr to be more efficient.
27957         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
27958         (Depends-on): Add c-strcase, remove malloca, strnlen.
27959         * tests/test-c-strcasestr.c (main): Enhance test.
27960         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
27961
27962 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
27963
27964         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
27965         Use it in creating po/Makevars.
27966
27967 2008-01-15  Simon Josefsson  <simon@josefsson.org>
27968
27969         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
27970         Applications that requires it should initialize libgcrypt
27971         manually.
27972
27973 2008-01-16  Simon Josefsson  <simon@josefsson.org>
27974
27975         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
27976
27977 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
27978
27979         Fix problem with getdate on mingw32 reported by Simon Josefsson
27980         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
27981         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
27982         tzname", when deciding whether to declare tzname.
27983         * lib/strftime.c (tzname): Likewise.
27984
27985 2008-01-15  Bruno Haible  <bruno@clisp.org>
27986
27987         Work around a MacOS X 10.5 bug in frexpl().
27988         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
27989         * doc/functions/frexpl.texi: Document the bug.
27990         Reported by Elias Pipping <pipping@gentoo.org>.
27991
27992 2008-01-14  Eric Blake  <ebb9@byu.net>
27993
27994         Touch up previous patch.
27995         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
27996         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
27997
27998         Convert strcasestr module to use Two-Way algorithm.
27999         * modules/strcasestr-simple: New module, based on the old
28000         strcasestr, but with Two-Way rather than KMP.
28001         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
28002         * lib/string.in.h (rpl_strcasestr): Declare.
28003         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
28004         performance.
28005         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
28006         * modules/string (Makefile.am): Support strcasestr.
28007         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28008         * modules/strcasestr-tests (Depends-on): Check for alarm.
28009         * tests/test-strcasestr.c: Augment test.
28010         * lib/str-two-way.h: Clean up stray macro.
28011         * NEWS: Document new module.
28012         * MODULES.html.sh (string handling): Likewise.
28013         * doc/functions/strcasestr.texi: New file.
28014         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
28015         here, since it is not a POSIX function.
28016
28017 2008-01-14  Colin Watson  <cjwatson@debian.org>
28018             Bruno Haible  <bruno@clisp.org>
28019
28020         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
28021         works fine; if not, set REPLACE_STRSIGNAL.
28022         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
28023         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28024         REPLACE_STRSIGNAL.
28025         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
28026         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
28027         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
28028
28029 2008-01-14  Bruno Haible  <bruno@clisp.org>
28030
28031         * modules/strsignal (Include): Change to <string.h>.
28032
28033 2008-01-14  Colin Watson  <cjwatson@debian.org>
28034
28035         * modules/argp (Notice): Add a notice recommending to change
28036         XGETTEXT_OPTIONS.
28037         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
28038
28039 2008-01-13  Colin Watson  <cjwatson@debian.org>
28040
28041         * modules/strsignal-tests: New file.
28042         * tests/test-strsignal.c: New file.
28043
28044         * lib/strsignal.c: New file, from glibc with modifications.
28045         * lib/siglist.h: New file, from glibc with modifications.
28046         * lib/string.in.h (strsignal): New declaration.
28047         * m4/strsignal.m4: New file.
28048         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28049         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
28050         * modules/strsignal: New file.
28051         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
28052         HAVE_DECL_STRSIGNAL.
28053
28054 2008-01-13  Bruno Haible  <bruno@clisp.org>
28055
28056         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
28057         locale encoding is not ASCII. Needed for OpenBSD 4.0.
28058         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
28059         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28060
28061 2008-01-13  Bruno Haible  <bruno@clisp.org>
28062
28063         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
28064         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
28065         * lib/argp.h (__attribute__): Likewise.
28066         * lib/c-stack.c (__attribute__): Likewise.
28067         * lib/error.h (__attribute__): Likewise.
28068         * lib/fts.c (__attribute__): Likewise.
28069         * lib/openat.h (__attribute__): Likewise.
28070         * lib/stdio.in.h (__attribute__): Likewise.
28071         * lib/string.in.h (__attribute__): Likewise.
28072         * lib/utimens.c (__attribute__): Likewise.
28073         * lib/vasnprintf.h (__attribute__): Likewise.
28074         * lib/xalloc.h (__attribute__): Likewise.
28075         * lib/xprintf.h (__attribute__): Likewise.
28076         * lib/xstrtol.h (__attribute__): Likewise.
28077         * lib/xvasprintf.h (__attribute__): Likewise.
28078
28079 2008-01-12  Bruno Haible  <bruno@clisp.org>
28080
28081         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
28082         * doc/glibc-headers/a.out.texi: New file.
28083         * doc/glibc-headers/aliases.texi: New file.
28084         * doc/glibc-headers/alloca.texi: New file.
28085         * doc/glibc-headers/ar.texi: New file.
28086         * doc/glibc-headers/argp.texi: New file.
28087         * doc/glibc-headers/argz.texi: New file.
28088         * doc/glibc-headers/byteswap.texi: New file.
28089         * doc/glibc-headers/crypt.texi: New file.
28090         * doc/glibc-headers/endian.texi: New file.
28091         * doc/glibc-headers/envz.texi: New file.
28092         * doc/glibc-headers/err.texi: New file.
28093         * doc/glibc-headers/error.texi: New file.
28094         * doc/glibc-headers/execinfo.texi: New file.
28095         * doc/glibc-headers/fpu_control.texi: New file.
28096         * doc/glibc-headers/fstab.texi: New file.
28097         * doc/glibc-headers/fts.texi: New file.
28098         * doc/glibc-headers/getopt.texi: New file.
28099         * doc/glibc-headers/ieee754.texi: New file.
28100         * doc/glibc-headers/ifaddrs.texi: New file.
28101         * doc/glibc-headers/libintl.texi: New file.
28102         * doc/glibc-headers/mcheck.texi: New file.
28103         * doc/glibc-headers/mntent.texi: New file.
28104         * doc/glibc-headers/obstack.texi: New file.
28105         * doc/glibc-headers/paths.texi: New file.
28106         * doc/glibc-headers/printf.texi: New file.
28107         * doc/glibc-headers/pty.texi: New file.
28108         * doc/glibc-headers/resolv.texi: New file.
28109         * doc/glibc-headers/shadow.texi: New file.
28110         * doc/glibc-headers/sysexits.texi: New file.
28111         * doc/glibc-headers/ttyent.texi: New file.
28112
28113 2008-01-12  Jim Meyering  <meyering@redhat.com>
28114
28115         announce-gen: emit Gnulib's git-based version string.
28116         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
28117         New option --gnulib-version=V, where V is expected to be
28118         the output of running git describe in the gnulib directory.
28119         (get_tool_versions): Request feedback on xdelta.  I suspect it's
28120         not useful, and plan to stop publishing an xdelta file with each
28121         coreutils release.
28122
28123         * build-aux/announce-gen: Also check for lzma-compressed files.
28124
28125 2008-01-11  Bruno Haible  <bruno@clisp.org>
28126
28127         * tests/test-memmem.c (main): Increase maximum allowed time.
28128         * tests/test-strstr.c (main): Likewise.
28129
28130 2008-01-11  Bruno Haible  <bruno@clisp.org>
28131
28132         * doc/functions/memmem.texi: Add more precisions about platforms.
28133         * doc/functions/strstr.texi: Likewise.
28134
28135 2008-01-10  Eric Blake  <ebb9@byu.net>
28136
28137         * m4/strstr.m4: Delete cruft from copy-n-paste.
28138         Reported by Bruno Haible.
28139
28140 2008-01-10  Bruno Haible  <bruno@clisp.org>
28141
28142         Make c-strstr rely on strstr.
28143         * lib/c-strstr.c: Don't include str-kmp.h.
28144         (c_strstr): Define in terms of strstr.
28145         * modules/c-strstr (Files): Remove lib/str-kmp.h.
28146         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
28147
28148 2008-01-10  Bruno Haible  <bruno@clisp.org>
28149
28150         * doc/gnulib.texi (String Functions in C Locale): New section.
28151         * doc/c-ctype.texi: New file.
28152         * doc/c-strcase.texi: New file.
28153         * doc/c-strcaseeq.texi: New file.
28154         * doc/c-strcasestr.texi: New file.
28155         * doc/c-strstr.texi: New file.
28156         * doc/c-strtod.texi: New file.
28157         * doc/c-strtold.texi: New file.
28158
28159 2008-01-10  Eric Blake  <ebb9@byu.net>
28160
28161         * lib/relocatable.h: Fix a comment.
28162
28163 2008-01-10  Eric Blake  <ebb9@byu.net>
28164
28165         Share two-way algorithm.
28166         * lib/str-two-way.h: New file, merged from...
28167         * lib/memmem.c: ...here...
28168         * lib/strstr.c: ...and here.
28169         * modules/memmem (Files): Use it.
28170         * modules/strstr (Files): Likewise.
28171
28172         Avoid quadratic strstr implementations.
28173         * lib/strstr.c: New file.
28174         * m4/strstr.m4: Likewise.
28175         * modules/strstr: Likewise.
28176         * modules/strstr-tests: Likewise.
28177         * tests/test-strstr.c: Likewise.
28178         * lib/string.in.h (rpl_strstr): Declare.
28179         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
28180         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
28181         * modules/string (Makefile.am): Likewise.
28182         * MODULES.html.sh (string handling): Mention new module.
28183         * doc/functions/strstr.texi (strstr): Document the bug.
28184
28185 2008-01-10  Bruno Haible  <bruno@clisp.org>
28186
28187         * lib/relocatable.h (relocate): State whether result is freshly
28188         allocated or not.
28189         * lib/relocatable.c (relocate): Return a freshly allocated string
28190         instead of a pointer to a privately held string.
28191         Reported by Sylvain Beucler <beuc@gnu.org>.
28192
28193 2008-01-10  Colin Watson  <cjwatson@debian.org>
28194
28195         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
28196         s/S_ISNLK/S_ISLNK/.
28197
28198 2008-01-09  Bruno Haible  <bruno@clisp.org>
28199
28200         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
28201         and other files.
28202         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
28203         if it's only a guess.
28204         * modules/memmem: Simplify by depending on memmem-simple.
28205
28206 2008-01-09  Bruno Haible  <bruno@clisp.org>
28207
28208         Work around OpenBSD 4.0 tdelete() bug.
28209         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
28210         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
28211         macros and don't redefine the enum values.
28212         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
28213         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
28214         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
28215
28216 2008-01-09  Bruno Haible  <bruno@clisp.org>
28217
28218         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
28219         (main): Don't perform the tests if setlocale did not install a UTF-8
28220         locale. Needed on OpenBSD 4.0.
28221         * modules/wcwidth-tests (Depends-on): Add localcharset.
28222
28223 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
28224
28225         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
28226         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
28227         * NEWS: announce this.
28228         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
28229
28230 2008-01-09  Simon Josefsson  <simon@josefsson.org>
28231         and Eric Blake  <ebb9@byu.net>
28232
28233         Add memmem-simple module.
28234         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
28235         (gl_FUNC_MEMMEM): Separate performance from presence checks.
28236         * modules/memmem-simple: New file.
28237         * modules/memmem (Description): Tweak.
28238         * MODULES.html.sh (string handling): Mention new module.
28239         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
28240         addressed by memmem-simple.
28241         * NEWS: Document the difference.
28242
28243 2008-01-09  Eric Blake  <ebb9@byu.net>
28244
28245         Give gcc some memmem optimization hints.
28246         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
28247         (strcasestr): Declare as pure.
28248         * modules/memmem (Maintainer): Claim my implementation.
28249
28250 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28251
28252         Support AIX 6.1 and higher.
28253         * build-aux/config.libpath: Likewise.
28254         * build-aux/config.rpath: Likewise.
28255
28256 2008-01-08  Jim Meyering  <meyering@redhat.com>
28257             Bruno Haible  <bruno@clisp.org>
28258
28259         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
28260         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
28261         Reported by Peter Fales in
28262         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
28263
28264 2008-01-08  Bruno Haible  <bruno@clisp.org>
28265
28266         * modules/unictype/category-of (Depends-on): Add
28267         unictype/category-none.
28268         * modules/unictype/category-and-tests (Depends-on): Add
28269         unictype/category-{L,N,Lu,Nd}.
28270         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
28271         * modules/unictype/category-or-tests (Depends-on): Add
28272         unictype/category-{L,N}.
28273         * modules/unictype/category-name-tests (Depends-on): Add
28274         unictype/category-{Z,Nl}.
28275         Reported by Simon Josefsson.
28276
28277 2008-01-08  Bruno Haible  <bruno@clisp.org>
28278
28279         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
28280         convention better.
28281         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
28282         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
28283         Reported by Peter Miller <millerp@canb.auug.org.au>.
28284
28285 2008-01-08  Eric Blake  <ebb9@byu.net>
28286
28287         Rewrite memmem to guarantee linear complexity without malloc.
28288         * lib/memmem.c (memmem): Use Two-Way rather than
28289         Knuth-Morris-Pratt, to allow O(1) space usage.
28290         (critical_factorization, two_way_short_needle)
28291         (two_way_long_needle): New functions.
28292         (knuth_morris_pratt): Delete.
28293         * modules/memmem (Depends-on): No longer need malloca or stdbool.
28294         Add stdint.
28295         * tests/test-memmem.c (main): Add tests for periodic needle and
28296         sublinear performance.
28297         * doc/functions/memmem.texi (memmem): Document other deficiencies
28298         in cygwin and older glibc.
28299
28300 2008-01-08  Bruno Haible  <bruno@clisp.org>
28301
28302         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
28303         augmentation.
28304
28305 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
28306
28307         Add a configure time option: --disable-acl.
28308         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
28309         AC_ARG_ENABLE(acl).
28310
28311 2008-01-06  Simon Josefsson  <simon@josefsson.org>
28312
28313         * tests/test-localename.c: Don't include obsolete "setenv.h".
28314
28315         * modules/localename-tests (Depends-on): Need unsetenv.
28316
28317 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28318
28319         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
28320
28321 2008-01-06  Colin Watson  <cjwatson@debian.org>
28322
28323         * users.txt: Add man-db.
28324
28325 2008-01-07  Bruno Haible  <bruno@clisp.org>
28326
28327         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
28328         previous section name.
28329
28330 2008-01-07  Bruno Haible  <bruno@clisp.org>
28331
28332         * lib/progname.c (set_program_name): Don't strip off a leading
28333         "lt-" prefix outside a .libs directory.
28334         Suggested by Paul Eggert.
28335
28336 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
28337             Bruno Haible  <bruno@clisp.org>
28338
28339         Improve memory cleanup in 'relocatable' module.
28340         * lib/relocatable.h (compute_curr_prefix): Change return type to
28341         'char *'.
28342         * lib/relocatable.c (compute_curr_prefix): Change return type to
28343         'char *'. Free curr_installdir after use.
28344         (relocate): Free curr_prefix_better after use.
28345         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
28346
28347 2008-01-01  Bruno Haible  <bruno@clisp.org>
28348
28349         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
28350         failure on older glibc systems.
28351         Reported by Peter Fales <psfales@alcatel-lucent.com>.
28352
28353 2008-01-05  Eric Blake  <ebb9@byu.net>
28354
28355         Avoid quadratic system memmem.
28356         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
28357         Reported by Ralf Wildenhues.
28358
28359         Fix memmem test for mingw.
28360         * modules/memmem-tests (configure.ac): Check for alarm.
28361         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
28362         it.
28363         * doc/functions/memmem.texi: New file.
28364         * doc/gnulib.texi (Function Substitutes): Add memmem.
28365         Reported by Bruno Haible.
28366
28367 2008-01-04  Bruno Haible  <bruno@clisp.org>
28368
28369         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
28370         Require gl_HEADER_STRINGS_H_DEFAULTS, not
28371         gl_HEADER_STRING_H_DEFAULTS.
28372
28373 2008-01-04  Eric Blake  <ebb9@byu.net>
28374
28375         Shorten duration of memmem test.
28376         * tests/test-memmem.c (main): Use alarm to declare failure if test
28377         is taking too long.
28378         Reported by Ralf Wildenhues.
28379
28380 2007-12-21  Simon Josefsson  <simon@josefsson.org>
28381
28382         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
28383         string, needed by strerror.
28384
28385 2008-01-03  Colin Watson  <cjwatson@debian.org>
28386             Bruno Haible  <bruno@clisp.org>
28387
28388         * doc/gnulib-tool.texi (Localization): New section.
28389
28390 2008-01-02  Bruno Haible  <bruno@clisp.org>
28391
28392         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
28393         variables to 'unsigned char *' type.
28394         Reported by Paul Eggert.
28395
28396 2008-01-02  Jim Meyering  <jim@meyering.net>
28397
28398         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
28399
28400 2007-12-31  Jim Meyering  <jim@meyering.net>
28401
28402         Avoid use of private FTS type name.
28403         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
28404
28405 2007-12-30  Karl Berry  <karl@gnu.org>
28406
28407         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
28408         work around defect in Texinfo and/or the standalone Info browser.
28409
28410 2007-12-30  Bruno Haible  <bruno@clisp.org>
28411
28412         Unify 5 copies of the KMP code.
28413         * lib/str-kmp.h: New file.
28414         * lib/c-strcasestr.c: Include str-kmp.h.
28415         (knuth_morris_pratt): Remove function.
28416         (c_strcasestr): Update.
28417         * lib/c-strstr.c: Include str-kmp.h.
28418         (knuth_morris_pratt): Remove function.
28419         (c_strcasestr): Update.
28420         * lib/mbscasestr.c: Include str-kmp.h.
28421         (knuth_morris_pratt_unibyte): Remove function.
28422         * lib/mbsstr.c: Include str-kmp.h.
28423         (knuth_morris_pratt_unibyte): Remove function.
28424         * lib/strcasestr.c: Include str-kmp.h.
28425         (knuth_morris_pratt): Remove function.
28426         (strcasestr): Update.
28427         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
28428         * modules/c-strstr (Files): Likewise.
28429         * modules/mbscasestr (Files): Likewise.
28430         * modules/mbsstr (Files): Likewise.
28431         * modules/strcasestr (Files): Likewise.
28432         Suggested by Paul Eggert.
28433
28434 2007-12-30  Bruno Haible  <bruno@clisp.org>
28435
28436         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
28437         defined.
28438
28439 2007-12-30  Bruno Haible  <bruno@clisp.org>
28440
28441         * lib/xmalloca.h: Include xalloc.h.
28442         (xnmalloca): New macro.
28443
28444 2007-12-30  Bruno Haible  <bruno@clisp.org>
28445
28446         * lib/malloca.h (nmalloca): New macro.
28447         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
28448         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
28449         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
28450         knuth_morris_pratt_multibyte): Likewise.
28451         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
28452         knuth_morris_pratt_multibyte): Likewise.
28453         * lib/memmem.c (knuth_morris_pratt): Likewise.
28454         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
28455
28456 2007-12-25  Bruno Haible  <bruno@clisp.org>
28457
28458         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
28459         * lib/glob.c: Don't include openat.h.
28460         (link_exists2_p): Add back the code that deals with the
28461         !GLOB_ALTDIRFUNC case.
28462         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
28463         let it do the filename concatenation.
28464         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
28465         * modules/glob (Depends-on): Remove openat.
28466
28467 2007-12-31  Bruno Haible  <bruno@clisp.org>
28468
28469         * modules/dirfd (License): Change to LGPLv2+.
28470         Approved by Jim Meyering.
28471
28472 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
28473
28474         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
28475         when multiplying M by sizeof (size_t).
28476
28477 2007-12-10  Martin Lambers  <marlam@marlam.de>
28478
28479         Override getpagesize on mingw.
28480         * lib/getpagesize.c: New file.
28481         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
28482         * modules/getpagesize (Files): Add lib/getpagesize.c.
28483         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
28484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28485         REPLACE_GETPAGESIZE.
28486         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
28487
28488 2007-12-25  Bruno Haible  <bruno@clisp.org>
28489
28490         * modules/localcharset (Notice): New field.
28491         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
28492         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
28493
28494 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28495             Bruno Haible  <bruno@clisp.org>
28496
28497         Avoid using the syntax symbol() in formatted documentation.
28498         * MODULES.html.sh (func_module): When replacing symbol() with a
28499         hyperlink, remove the parentheses. Show an error if some remain.
28500         Recognize and render the '...' syntax.
28501         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
28502         Rework. Add paragraph about GCC's inlining.
28503         * doc/alloca.texi: Likewise.
28504         * doc/error.texi: Remove parentheses from symbol reference.
28505         * doc/gnulib-intro.texi: Likewise.
28506         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
28507         * modules/fnmatch (Description): Reword to say "the ... function".
28508         * modules/full-read (Description): Likewise.
28509         * modules/full-write (Description): Likewise.
28510         * modules/safe-read (Description): Likewise.
28511         * modules/safe-write (Description): Likewise.
28512         * modules/strchrnul (Description): Likewise.
28513         * modules/trim (Description): Likewise.
28514         * modules/error (Description): Remove parentheses from symbol
28515         references.
28516         * modules/verror (Description): Likewise.
28517         Reported by Karl Berry.
28518
28519 2007-12-25  Bruno Haible  <bruno@clisp.org>
28520
28521         Fixup after 2007-10-16 commit.
28522         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
28523
28524 2007-12-24  Bruno Haible  <bruno@clisp.org>
28525
28526         Make --enable-relocatable work with DESTDIR.
28527         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
28528         to compute installdir from destprog.
28529         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
28530         also set the RELOC_DESTDIR variable.
28531         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
28532
28533 2007-12-24  Bruno Haible  <bruno@clisp.org>
28534
28535         Fix link error due to xalloc_die().
28536         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
28537         of xreadlink.
28538         * lib/relocwrapper.c: Update comments.
28539         * build-aux/install-reloc: Remove xreadlink.c from file list.
28540         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
28541         xreadlink.c.
28542         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
28543
28544 2007-12-24  Bruno Haible  <bruno@clisp.org>
28545
28546         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
28547         * lib/setenv.h: Remove file.
28548         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
28549         lib/setenv.h.
28550         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
28551         (Depends-on): Add stdlib.
28552         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
28553         gl_FUNC_UNSETENV.
28554         (Include): Replace setenv.h with <stdlib.h>.
28555         * modules/unsetenv: New file.
28556         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
28557         * lib/unsetenv.c: Include <stdlib.h> first.
28558         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
28559         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
28560         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
28561         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
28562         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
28563         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
28565         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
28566         * doc/functions/unsetenv.texi: Update.
28567         * modules/xsetenv (Depends-on): Add unsetenv.
28568         * modules/getdate (Depends-on): Likewise.
28569         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
28570         * lib/xsetenv.c: Don't include setenv.h.
28571         * lib/getdate.y: Likewise.
28572         * lib/relocwrapper.c: Likewise.
28573         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
28574         (Depends-on): Add stdlib.
28575         * NEWS: Mention the changes.
28576         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
28577
28578 2007-12-23  Bruno Haible  <bruno@clisp.org>
28579
28580         * lib/memmem.c (memmem): Use lowercase variable names. Tab
28581         indentation.
28582
28583 2007-12-23  Bruno Haible  <bruno@clisp.org>
28584
28585         * lib/c-strcasestr.c: Add more comments.
28586         * lib/c-strstr.c: Likewise.
28587         * lib/mbscasestr.c: Likewise.
28588         * lib/mbsstr.c: Likewise.
28589         * lib/strcasestr.c: Likewise.
28590         * lib/memmem.c: Likewise.
28591
28592 2007-12-23  Bruno Haible  <bruno@clisp.org>
28593
28594         * tests/test-memmem.c: Include <string.h> first.
28595
28596 2007-12-22  Bruno Haible  <bruno@clisp.org>
28597
28598         * gnulib-tool (func_create_testdir): Change $auxdir while generating
28599         the contents of $testsbase.
28600         Reported by Ralf Wildenhues.
28601
28602 2007-12-22  Bruno Haible  <bruno@clisp.org>
28603
28604         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
28605         two variables local_ldadd_before, local_ldadd_last.
28606
28607 2007-12-20  Eric Blake  <ebb9@byu.net>
28608
28609         Work around circular library issue when cross-compiling.
28610         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
28611         that progname.o does not need to pull in rpl_memcmp.
28612
28613 2007-12-19  Eric Blake  <ebb9@byu.net>
28614
28615         Fix memmem to avoid O(n^2) worst-case complexity.
28616         * lib/memmem.c (knuth_morris_pratt): New function.
28617         (memmem): Use it if first few naive iterations fail.
28618         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
28619         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
28620         * modules/memchr (License): Likewise.
28621         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
28622         malloca.
28623         * tests/test-memmem.c: Rewrite, borrowing ideas from
28624         test-mbsstr1.c; the old version wouldn't even compile!
28625         * modules/memmem-tests: New file.
28626         * lib/string.in.h (rpl_memmem): Add declaration.
28627         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
28628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
28629         REPLACE_MEMMEM.
28630
28631 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28632
28633         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
28634         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
28635         before any system include files, and undef after them all.  This
28636         should fix a problem on VMS reported by John E. Malmberg in
28637         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
28638
28639 2007-12-17  Eric Blake  <ebb9@byu.net>
28640
28641         Revert addition of verify, for BSD/OS.
28642         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
28643         can't handle large files, for the sake of obsolete platforms.
28644         * modules/fseeko (Depends-on): Remove verify.
28645         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
28646         * doc/functions/ftello.texi (ftello): Likewise.
28647         * doc/functions/fgetpos.texi (fgetpos): Likewise.
28648         Reported by Larry Jones.
28649
28650 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
28651
28652         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
28653         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
28654
28655 2007-12-17  Jim Meyering  <meyering@redhat.com>
28656
28657         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
28658         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
28659         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
28660         * modules/getcwd (Depends-on): Add openat.
28661         Reported by Petr Salinger.
28662
28663 2007-12-17  Bruno Haible  <bruno@clisp.org>
28664
28665         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
28666         avoid a segmentation fault of the configure test on x86_64 systems.
28667
28668 2007-12-15  Jim Meyering  <meyering@redhat.com>
28669
28670         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
28671
28672 2007-12-13  Eric Blake  <ebb9@byu.net>
28673
28674         Another fseek test.
28675         * tests/test-fseek.c (main): Also test ungetc handling.
28676         * tests/test-fseeko.c (main): Likewise.
28677         * modules/fseeko (Depends-on): Add verify.
28678         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
28679         large.
28680         Reported by Larry Jones.
28681
28682         Fix fseeko on mingw.
28683         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
28684         seek.
28685
28686         Beef up fseek tests.
28687         * tests/test-fseek.c (main): Also test eof handling.
28688         * tests/test-fseeko.c (main): Likewise.
28689         Reported by Larry Jones.
28690
28691 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
28692
28693         Fix fseeko on BSD-based platforms.
28694         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
28695         successful seek.
28696
28697 2007-12-12  Eric Blake  <ebb9@byu.net>
28698
28699         Allow circular dependency of separate libtests.a
28700         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
28701         when use_libtests.
28702
28703 2007-12-11  Eric Blake  <ebb9@byu.net>
28704
28705         Fix bug with -0.0L in previous patch.
28706         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
28707         * tests/test-isnan.c (main): Also test on zeroes.
28708         * tests/test-isnanf.c (main): Likewise.
28709         * tests/test-isnanl.h (main): Likewise.
28710
28711         Detect pseudo-denormals on x86 even when cross-compiling.
28712         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
28713         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
28714         invalid bit patterns that happen to satisfy ==.
28715
28716         Avoid link failures with separate libtests.a.
28717         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
28718         last, to satisfy circular dependencies.
28719
28720 2007-12-11  Eric Blake  <ebb9@byu.net>
28721         and Bruno Haible  <bruno@clisp.org>
28722
28723         Fix OpenBSD 4.0 <float.h> handling of long double.
28724         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
28725         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
28726         * doc/headers/float.texi (float.h): Document OpenBSD bug.
28727
28728 2007-12-11  Jim Meyering  <meyering@redhat.com>
28729
28730         * users.txt: Add libvirt.
28731
28732         Support versions of autoconf prior to 2.59c.
28733         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
28734         if it is not already defined.
28735
28736 2007-12-09  Bruno Haible  <bruno@clisp.org>
28737
28738         Let 'gnulib-tool --import' collect sources needed for the tests in
28739         tests/ rather than in lib/.
28740         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
28741         argument. If true, add rules to generate libtests.a, and put libtests.a
28742         into $(LDADD). Consider source files in subdirectories and set
28743         uses_subdirs.
28744         (func_emit_initmacro_start, func_emit_initmacro_end,
28745         func_emit_initmacro_done): Pass all arguments explicitly.
28746         (func_import): Determine two module lists main_modules,
28747         testsrelated_modules. Determine use_libtests. Determine two variables
28748         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
28749         instead of just sed_transform_lib_file. Determine two variables
28750         main_files and testsrelated_files. Compute 'files' as the union of
28751         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
28752         func_add_or_update. In the generated gnulib-comp.m4, collect the
28753         object files for tests/ in different variables than those for lib/.
28754         Substitute LIBTESTS_LIBDEPS.
28755         (func_create_testdir): Combine the uses_subdirs results from
28756         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
28757
28758 2007-12-09  Bruno Haible  <bruno@clisp.org>
28759
28760         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
28761         the build-aux directory.
28762
28763 2007-12-09  Bruno Haible  <bruno@clisp.org>
28764
28765         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
28766         introduced on 2006-09-09.
28767
28768 2007-12-07  Jim Meyering  <meyering@redhat.com>
28769
28770         Let these macros work also with autoconf-2.59.
28771         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
28772         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
28773         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28774
28775 2007-12-06  Jim Meyering  <meyering@redhat.com>
28776
28777         Avoid a configure-time syntax error in gl_FUNC_ACL.
28778         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
28779         function in each branch, before testing the cache variable.
28780
28781 2007-12-04  Eric Blake  <ebb9@byu.net>
28782
28783         Make scripts executable.
28784         * build-aux/config.guess: Add execute permissions.
28785         * build-aux/config.sub: Likewise.
28786         * build-aux/gendocs.sh: Likewise.
28787
28788         Fix frexp on mingw.
28789         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
28790         cross-compiling.
28791         * doc/functions/frexp.texi (frexp): Document the bug.
28792
28793         Make cygwin fseeko check more reliable.
28794         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
28795         version numbers, rather than unrelated feature check.
28796         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
28797         * doc/functions/ftello.texi (ftello): Likewise.
28798         Reported by Bruno Haible.
28799
28800         * m4/strerror.m4: Bump version number.
28801
28802 2007-12-03  Bruno Haible  <bruno@clisp.org>
28803
28804         * doc/functions/mprotect.texi: Mention the mingw problem.
28805
28806 2007-12-03  Eric Blake  <ebb9@byu.net>
28807
28808         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
28809         REPLACE_STRERROR is initialized before this macro.
28810
28811 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
28812
28813         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
28814         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
28815         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
28816         put -lsec in even for programs other than 'ls'.  This fixes a problem
28817         for gettext reported by Bruno Haible in
28818         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
28819         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
28820         Add support for Solaris 10.  This isn't efficient, but should get the
28821         job done for now.
28822
28823 2007-12-03  James Youngman  <jay@gnu.org>
28824
28825         * doc/regexprops-generic.texi: change "an close-group" to "a
28826         close-group" and "illegal" to "not allowed".
28827
28828 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28829
28830         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
28831         pr_byname.h. Needed for the rare case when the maintainer has done
28832         "make maintainer-clean" in the source directory and then attempts a
28833         build outside the source directory.
28834         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
28835         scripts_byname.h.
28836
28837 2007-12-02  Martin Lambers <marlam@marlam.de>
28838             Bruno Haible  <bruno@clisp.org>
28839
28840         * lib/getpagesize.h: Remove file.
28841         * lib/unistd.in.h: Include declaration of getpagesize here.
28842         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
28843         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
28844         HAVE_SYS_PARAM_H.
28845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
28846         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
28847         * modules/getpagesize (Files): Remove lib/getpagesize.h.
28848         (Depends-on): Add unistd.
28849         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28850         (Include): Use <unistd.h> instead of getpagesize.h.
28851         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
28852         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
28853         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
28854         gl_GETPAGESIZE invocation, already handled by module dependency.
28855         * lib/pagealign_alloc.c: Don't include getpagesize.h.
28856
28857 2007-12-02  Bruno Haible  <bruno@clisp.org>
28858
28859         * modules/strings-tests: New file.
28860         * tests/test-strings.c: New file.
28861
28862         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
28863         * lib/strings.in.h: New file.
28864         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
28865         * m4/strings_h.m4: New file.
28866         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
28867         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
28868         * modules/strings: New file.
28869         * modules/string (Makefile.am): Update.
28870         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
28871         Reported by Karl Berry.
28872
28873 2007-12-01  Eric Blake  <ebb9@byu.net>
28874
28875         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
28876         accomodate fix in cygwin 1.5.25.
28877
28878 2007-12-01  Jim Meyering  <meyering@redhat.com>
28879
28880         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
28881         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
28882         that would inhibit utf8-optimization of a regexp containing line-
28883         or buffer-anchors, e.g., `^', `$'.
28884
28885 2007-11-30  Bruno Haible  <bruno@clisp.org>
28886
28887         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
28888         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
28889         glthread_recursive_lock_init.
28890         * lib/lock.c (glthread_recursive_lock_init)
28891         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
28892         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28893
28894 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
28895
28896         New function qset_acl, like set_acl but with syscall semantics.
28897         * lib/acl.h (qset_acl): New decl.
28898         * lib/acl.c (qset_acl): New function.
28899         (set_acl): Use new function.  Use more-consistent diagnostics.
28900
28901 2007-11-28  Jim Meyering  <meyering@redhat.com>
28902
28903         * modules/physmem (License): Change from GPL to LGPLv2+.
28904
28905 2007-11-26  Bruno Haible  <bruno@clisp.org>
28906
28907         * lib/vasnprintf.c (decode_long_double): Don't abort if the
28908         'long double' type has excess precision.
28909         Reported by Jim Meyering in
28910         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
28911
28912 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28913
28914         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
28915         Sync from <http://gnu.org/licenses>.
28916         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
28917         with license text from same location.
28918         * doc/maintain.texi, doc/standards.texi:  Sync from
28919         <http://savannah.gnu.org/projects/gnustandards>.
28920
28921 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
28922         and Jim Meyering  <meyering@redhat.com>
28923
28924         Adjust getdate' grammar to accept a slightly more regular language.
28925         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
28926         Before, the former was rejected.
28927         * lib/getdate.y (digits_to_date_time): New function, factored
28928         out of ...
28929         (number): ...here.  Just call digits_to_date_time.
28930         (hybrid): New non-terminal to handle an <unsigned number,
28931         signed relative offset> sequence consistently.
28932
28933 2007-11-18  Jim Meyering  <meyering@redhat.com>
28934
28935         Pull my changes from coreutils:
28936         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
28937         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
28938         use of $gnulib_tool_option_extras, so that it's separated from the
28939         preceding argument.
28940
28941         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
28942         * build-aux/bootstrap (cp_mark_as_generated): Create any required
28943         parent destination directories before copying a file into place.
28944
28945 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
28946
28947         bootstrap: work also with 4-argument variant of AC_INIT
28948         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
28949
28950 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
28951
28952         Port test-getaddrinfo to Solaris.
28953         Problem reported by Bruno Haible in
28954         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
28955         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
28956         explanation of setting 'hints'.
28957         Don't reject an implementation merely because it returns EAI_SERVICE.
28958         (EAI_SERVICE): Define to 0 if not defined.
28959
28960 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28961
28962         The license of gnu-make and posix-shell is now "GPLed build tool".
28963         * modules/gnu-make (License): Likewise.
28964         * modules/posix-shell (License): Likewise.
28965
28966         New module posix-shell, for determining a POSIX shell
28967         or perhaps something that is close enough to a POSIX shell.
28968         * m4/posix-shell.m4: New file.
28969         * modules/posix-shell: New file.
28970
28971         * MODULES.html.sh: Mention new module.
28972
28973         New module gnu-make, for determining whether we're using GNU Make.
28974         * m4/gnu-make.m4: New file.
28975         * modules/gnu-make: New file.
28976         * MODULES.html.sh: Mention new module.
28977
28978 2007-11-14  Jim Meyering  <meyering@redhat.com>
28979
28980         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
28981         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
28982         use this macro to create a function _definition_.
28983         Remove useless "#undef ARGMATCH_DIE".
28984
28985 2007-11-14  Bruno Haible  <bruno@clisp.org>
28986
28987         * lib/config.charset: Update for OpenBSD 4.1.
28988         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
28989
28990 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
28991
28992         Document 64-bit #if problems in stdint.texi.
28993         * doc/headers/stdint.texi (stdint.h): Mention problems with
28994         64-bit-#if, and how to work around them.
28995
28996         Don't insist on 'long long int' support in the preprocessor.  It
28997         breaks too many things.  For example, PRIdMAX still uses a 'long
28998         long int' format with the latest Sun compiler, even though
28999         HAVE_LONG_LONG_INT isn't defined due to that compiler's
29000         preprocessor problem.  This causes the latest coreutils to dump
29001         core on Solaris 10 sparc with the Sun C compiler.
29002         Instead, fix the 2007-10-16 problem in a different way, by evaluating
29003         the troublesome expressions at configure-time, not at #if-time.
29004         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
29005         preprocessor.
29006         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
29007         compile-time C checks, done at 'configure'-time.
29008         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
29009         * modules/inttypes (Makefile): Substitute the new symbols that
29010         gl_INTTYPES_H now generates.
29011         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
29012
29013 2007-11-12  Bruno Haible  <bruno@clisp.org>
29014
29015         Tests for Unicode character classification functions.
29016
29017         * modules/unictype/bidicategory-byname-tests: New file.
29018         * modules/unictype/bidicategory-name-tests: New file.
29019         * modules/unictype/bidicategory-of-tests: New file.
29020         * modules/unictype/bidicategory-test-tests: New file.
29021         * modules/unictype/block-list-tests: New file.
29022         * modules/unictype/block-of-tests: New file.
29023         * modules/unictype/block-test-tests: New file.
29024         * modules/unictype/category-C-tests: New file.
29025         * modules/unictype/category-Cc-tests: New file.
29026         * modules/unictype/category-Cf-tests: New file.
29027         * modules/unictype/category-Cn-tests: New file.
29028         * modules/unictype/category-Co-tests: New file.
29029         * modules/unictype/category-Cs-tests: New file.
29030         * modules/unictype/category-L-tests: New file.
29031         * modules/unictype/category-Ll-tests: New file.
29032         * modules/unictype/category-Lm-tests: New file.
29033         * modules/unictype/category-Lo-tests: New file.
29034         * modules/unictype/category-Lt-tests: New file.
29035         * modules/unictype/category-Lu-tests: New file.
29036         * modules/unictype/category-M-tests: New file.
29037         * modules/unictype/category-Mc-tests: New file.
29038         * modules/unictype/category-Me-tests: New file.
29039         * modules/unictype/category-Mn-tests: New file.
29040         * modules/unictype/category-N-tests: New file.
29041         * modules/unictype/category-Nd-tests: New file.
29042         * modules/unictype/category-Nl-tests: New file.
29043         * modules/unictype/category-No-tests: New file.
29044         * modules/unictype/category-P-tests: New file.
29045         * modules/unictype/category-Pc-tests: New file.
29046         * modules/unictype/category-Pd-tests: New file.
29047         * modules/unictype/category-Pe-tests: New file.
29048         * modules/unictype/category-Pf-tests: New file.
29049         * modules/unictype/category-Pi-tests: New file.
29050         * modules/unictype/category-Po-tests: New file.
29051         * modules/unictype/category-Ps-tests: New file.
29052         * modules/unictype/category-S-tests: New file.
29053         * modules/unictype/category-Sc-tests: New file.
29054         * modules/unictype/category-Sk-tests: New file.
29055         * modules/unictype/category-Sm-tests: New file.
29056         * modules/unictype/category-So-tests: New file.
29057         * modules/unictype/category-Z-tests: New file.
29058         * modules/unictype/category-Zl-tests: New file.
29059         * modules/unictype/category-Zp-tests: New file.
29060         * modules/unictype/category-Zs-tests: New file.
29061         * modules/unictype/category-and-not-tests: New file.
29062         * modules/unictype/category-and-tests: New file.
29063         * modules/unictype/category-byname-tests: New file.
29064         * modules/unictype/category-name-tests: New file.
29065         * modules/unictype/category-none-tests: New file.
29066         * modules/unictype/category-of-tests: New file.
29067         * modules/unictype/category-or-tests: New file.
29068         * modules/unictype/category-test-withtable-tests: New file.
29069         * modules/unictype/combining-class-tests: New file.
29070         * modules/unictype/ctype-alnum-tests: New file.
29071         * modules/unictype/ctype-alpha-tests: New file.
29072         * modules/unictype/ctype-blank-tests: New file.
29073         * modules/unictype/ctype-cntrl-tests: New file.
29074         * modules/unictype/ctype-digit-tests: New file.
29075         * modules/unictype/ctype-graph-tests: New file.
29076         * modules/unictype/ctype-lower-tests: New file.
29077         * modules/unictype/ctype-print-tests: New file.
29078         * modules/unictype/ctype-punct-tests: New file.
29079         * modules/unictype/ctype-space-tests: New file.
29080         * modules/unictype/ctype-upper-tests: New file.
29081         * modules/unictype/ctype-xdigit-tests: New file.
29082         * modules/unictype/decimal-digit-tests: New file.
29083         * modules/unictype/digit-tests: New file.
29084         * modules/unictype/mirror-tests: New file.
29085         * modules/unictype/numeric-tests: New file.
29086         * modules/unictype/property-alphabetic-tests: New file.
29087         * modules/unictype/property-ascii-hex-digit-tests: New file.
29088         * modules/unictype/property-bidi-arabic-digit-tests: New file.
29089         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
29090         * modules/unictype/property-bidi-block-separator-tests: New file.
29091         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
29092         * modules/unictype/property-bidi-common-separator-tests: New file.
29093         * modules/unictype/property-bidi-control-tests: New file.
29094         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
29095         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
29096         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
29097         * modules/unictype/property-bidi-european-digit-tests: New file.
29098         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
29099         * modules/unictype/property-bidi-left-to-right-tests: New file.
29100         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
29101         * modules/unictype/property-bidi-other-neutral-tests: New file.
29102         * modules/unictype/property-bidi-pdf-tests: New file.
29103         * modules/unictype/property-bidi-segment-separator-tests: New file.
29104         * modules/unictype/property-bidi-whitespace-tests: New file.
29105         * modules/unictype/property-byname-tests: New file.
29106         * modules/unictype/property-combining-tests: New file.
29107         * modules/unictype/property-composite-tests: New file.
29108         * modules/unictype/property-currency-symbol-tests: New file.
29109         * modules/unictype/property-dash-tests: New file.
29110         * modules/unictype/property-decimal-digit-tests: New file.
29111         * modules/unictype/property-default-ignorable-code-point-tests: New file.
29112         * modules/unictype/property-deprecated-tests: New file.
29113         * modules/unictype/property-diacritic-tests: New file.
29114         * modules/unictype/property-extender-tests: New file.
29115         * modules/unictype/property-format-control-tests: New file.
29116         * modules/unictype/property-grapheme-base-tests: New file.
29117         * modules/unictype/property-grapheme-extend-tests: New file.
29118         * modules/unictype/property-grapheme-link-tests: New file.
29119         * modules/unictype/property-hex-digit-tests: New file.
29120         * modules/unictype/property-hyphen-tests: New file.
29121         * modules/unictype/property-id-continue-tests: New file.
29122         * modules/unictype/property-id-start-tests: New file.
29123         * modules/unictype/property-ideographic-tests: New file.
29124         * modules/unictype/property-ids-binary-operator-tests: New file.
29125         * modules/unictype/property-ids-trinary-operator-tests: New file.
29126         * modules/unictype/property-ignorable-control-tests: New file.
29127         * modules/unictype/property-iso-control-tests: New file.
29128         * modules/unictype/property-join-control-tests: New file.
29129         * modules/unictype/property-left-of-pair-tests: New file.
29130         * modules/unictype/property-line-separator-tests: New file.
29131         * modules/unictype/property-logical-order-exception-tests: New file.
29132         * modules/unictype/property-lowercase-tests: New file.
29133         * modules/unictype/property-math-tests: New file.
29134         * modules/unictype/property-non-break-tests: New file.
29135         * modules/unictype/property-not-a-character-tests: New file.
29136         * modules/unictype/property-numeric-tests: New file.
29137         * modules/unictype/property-other-alphabetic-tests: New file.
29138         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
29139         * modules/unictype/property-other-grapheme-extend-tests: New file.
29140         * modules/unictype/property-other-id-continue-tests: New file.
29141         * modules/unictype/property-other-id-start-tests: New file.
29142         * modules/unictype/property-other-lowercase-tests: New file.
29143         * modules/unictype/property-other-math-tests: New file.
29144         * modules/unictype/property-other-uppercase-tests: New file.
29145         * modules/unictype/property-paired-punctuation-tests: New file.
29146         * modules/unictype/property-paragraph-separator-tests: New file.
29147         * modules/unictype/property-pattern-syntax-tests: New file.
29148         * modules/unictype/property-pattern-white-space-tests: New file.
29149         * modules/unictype/property-private-use-tests: New file.
29150         * modules/unictype/property-punctuation-tests: New file.
29151         * modules/unictype/property-quotation-mark-tests: New file.
29152         * modules/unictype/property-radical-tests: New file.
29153         * modules/unictype/property-sentence-terminal-tests: New file.
29154         * modules/unictype/property-soft-dotted-tests: New file.
29155         * modules/unictype/property-space-tests: New file.
29156         * modules/unictype/property-terminal-punctuation-tests: New file.
29157         * modules/unictype/property-test-tests: New file.
29158         * modules/unictype/property-titlecase-tests: New file.
29159         * modules/unictype/property-unassigned-code-value-tests: New file.
29160         * modules/unictype/property-unified-ideograph-tests: New file.
29161         * modules/unictype/property-uppercase-tests: New file.
29162         * modules/unictype/property-variation-selector-tests: New file.
29163         * modules/unictype/property-white-space-tests: New file.
29164         * modules/unictype/property-xid-continue-tests: New file.
29165         * modules/unictype/property-xid-start-tests: New file.
29166         * modules/unictype/property-zero-width-tests: New file.
29167         * modules/unictype/scripts-tests: New file.
29168         * modules/unictype/syntax-c-ident-tests: New file.
29169         * modules/unictype/syntax-c-whitespace-tests: New file.
29170         * modules/unictype/syntax-java-ident-tests: New file.
29171         * modules/unictype/syntax-java-whitespace-tests: New file.
29172         * tests/unictype/test-bidi_byname.c: New file.
29173         * tests/unictype/test-bidi_name.c: New file.
29174         * tests/unictype/test-bidi_of.c: New file.
29175         * tests/unictype/test-bidi_test.c: New file.
29176         * tests/unictype/test-block_list.c: New file.
29177         * tests/unictype/test-block_of.c: New file.
29178         * tests/unictype/test-block_test.c: New file.
29179         * tests/unictype/test-categ_and.c: New file.
29180         * tests/unictype/test-categ_and_not.c: New file.
29181         * tests/unictype/test-categ_byname.c: New file.
29182         * tests/unictype/test-categ_name.c: New file.
29183         * tests/unictype/test-categ_none.c: New file.
29184         * tests/unictype/test-categ_of.c: New file.
29185         * tests/unictype/test-categ_or.c: New file.
29186         * tests/unictype/test-categ_test_withtable.c: New file.
29187         * tests/unictype/test-combining.c: New file.
29188         * tests/unictype/test-decdigit.c: New file.
29189         * tests/unictype/test-digit.c: New file.
29190         * tests/unictype/test-mirror.c: New file.
29191         * tests/unictype/test-numeric.c: New file.
29192         * tests/unictype/test-pr_byname.c: New file.
29193         * tests/unictype/test-pr_test.c: New file.
29194         * tests/unictype/test-predicate-part1.h: New file.
29195         * tests/unictype/test-predicate-part2.h: New file.
29196         * tests/unictype/test-scripts.c: New file.
29197         * tests/unictype/test-sy_c_ident.c: New file.
29198         * tests/unictype/test-sy_java_ident.c: New file.
29199
29200         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
29201         for Unicode 5.0.0.
29202         * tests/unictype/test-categ_Cc.c: Likewise.
29203         * tests/unictype/test-categ_Cf.c: Likewise.
29204         * tests/unictype/test-categ_Cn.c: Likewise.
29205         * tests/unictype/test-categ_Co.c: Likewise.
29206         * tests/unictype/test-categ_Cs.c: Likewise.
29207         * tests/unictype/test-categ_L.c: Likewise.
29208         * tests/unictype/test-categ_Ll.c: Likewise.
29209         * tests/unictype/test-categ_Lm.c: Likewise.
29210         * tests/unictype/test-categ_Lo.c: Likewise.
29211         * tests/unictype/test-categ_Lt.c: Likewise.
29212         * tests/unictype/test-categ_Lu.c: Likewise.
29213         * tests/unictype/test-categ_M.c: Likewise.
29214         * tests/unictype/test-categ_Mc.c: Likewise.
29215         * tests/unictype/test-categ_Me.c: Likewise.
29216         * tests/unictype/test-categ_Mn.c: Likewise.
29217         * tests/unictype/test-categ_N.c: Likewise.
29218         * tests/unictype/test-categ_Nd.c: Likewise.
29219         * tests/unictype/test-categ_Nl.c: Likewise.
29220         * tests/unictype/test-categ_No.c: Likewise.
29221         * tests/unictype/test-categ_P.c: Likewise.
29222         * tests/unictype/test-categ_Pc.c: Likewise.
29223         * tests/unictype/test-categ_Pd.c: Likewise.
29224         * tests/unictype/test-categ_Pe.c: Likewise.
29225         * tests/unictype/test-categ_Pf.c: Likewise.
29226         * tests/unictype/test-categ_Pi.c: Likewise.
29227         * tests/unictype/test-categ_Po.c: Likewise.
29228         * tests/unictype/test-categ_Ps.c: Likewise.
29229         * tests/unictype/test-categ_S.c: Likewise.
29230         * tests/unictype/test-categ_Sc.c: Likewise.
29231         * tests/unictype/test-categ_Sk.c: Likewise.
29232         * tests/unictype/test-categ_Sm.c: Likewise.
29233         * tests/unictype/test-categ_So.c: Likewise.
29234         * tests/unictype/test-categ_Z.c: Likewise.
29235         * tests/unictype/test-categ_Zl.c: Likewise.
29236         * tests/unictype/test-categ_Zp.c: Likewise.
29237         * tests/unictype/test-categ_Zs.c: Likewise.
29238         * tests/unictype/test-ctype_alnum.c: Likewise.
29239         * tests/unictype/test-ctype_alpha.c: Likewise.
29240         * tests/unictype/test-ctype_blank.c: Likewise.
29241         * tests/unictype/test-ctype_cntrl.c: Likewise.
29242         * tests/unictype/test-ctype_digit.c: Likewise.
29243         * tests/unictype/test-ctype_graph.c: Likewise.
29244         * tests/unictype/test-ctype_lower.c: Likewise.
29245         * tests/unictype/test-ctype_print.c: Likewise.
29246         * tests/unictype/test-ctype_punct.c: Likewise.
29247         * tests/unictype/test-ctype_space.c: Likewise.
29248         * tests/unictype/test-ctype_upper.c: Likewise.
29249         * tests/unictype/test-ctype_xdigit.c: Likewise.
29250         * tests/unictype/test-decdigit.h: Likewise.
29251         * tests/unictype/test-digit.h: Likewise.
29252         * tests/unictype/test-numeric.h: Likewise.
29253         * tests/unictype/test-pr_alphabetic.c: Likewise.
29254         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
29255         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
29256         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
29257         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
29258         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
29259         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
29260         * tests/unictype/test-pr_bidi_control.c: Likewise.
29261         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
29262         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
29263         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
29264         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
29265         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
29266         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
29267         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
29268         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
29269         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
29270         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
29271         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
29272         * tests/unictype/test-pr_combining.c: Likewise.
29273         * tests/unictype/test-pr_composite.c: Likewise.
29274         * tests/unictype/test-pr_currency_symbol.c: Likewise.
29275         * tests/unictype/test-pr_dash.c: Likewise.
29276         * tests/unictype/test-pr_decimal_digit.c: Likewise.
29277         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
29278         * tests/unictype/test-pr_deprecated.c: Likewise.
29279         * tests/unictype/test-pr_diacritic.c: Likewise.
29280         * tests/unictype/test-pr_extender.c: Likewise.
29281         * tests/unictype/test-pr_format_control.c: Likewise.
29282         * tests/unictype/test-pr_grapheme_base.c: Likewise.
29283         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
29284         * tests/unictype/test-pr_grapheme_link.c: Likewise.
29285         * tests/unictype/test-pr_hex_digit.c: Likewise.
29286         * tests/unictype/test-pr_hyphen.c: Likewise.
29287         * tests/unictype/test-pr_id_continue.c: Likewise.
29288         * tests/unictype/test-pr_id_start.c: Likewise.
29289         * tests/unictype/test-pr_ideographic.c: Likewise.
29290         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
29291         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
29292         * tests/unictype/test-pr_ignorable_control.c: Likewise.
29293         * tests/unictype/test-pr_iso_control.c: Likewise.
29294         * tests/unictype/test-pr_join_control.c: Likewise.
29295         * tests/unictype/test-pr_left_of_pair.c: Likewise.
29296         * tests/unictype/test-pr_line_separator.c: Likewise.
29297         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
29298         * tests/unictype/test-pr_lowercase.c: Likewise.
29299         * tests/unictype/test-pr_math.c: Likewise.
29300         * tests/unictype/test-pr_non_break.c: Likewise.
29301         * tests/unictype/test-pr_not_a_character.c: Likewise.
29302         * tests/unictype/test-pr_numeric.c: Likewise.
29303         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
29304         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
29305         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
29306         * tests/unictype/test-pr_other_id_continue.c: Likewise.
29307         * tests/unictype/test-pr_other_id_start.c: Likewise.
29308         * tests/unictype/test-pr_other_lowercase.c: Likewise.
29309         * tests/unictype/test-pr_other_math.c: Likewise.
29310         * tests/unictype/test-pr_other_uppercase.c: Likewise.
29311         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
29312         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
29313         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
29314         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
29315         * tests/unictype/test-pr_private_use.c: Likewise.
29316         * tests/unictype/test-pr_punctuation.c: Likewise.
29317         * tests/unictype/test-pr_quotation_mark.c: Likewise.
29318         * tests/unictype/test-pr_radical.c: Likewise.
29319         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
29320         * tests/unictype/test-pr_soft_dotted.c: Likewise.
29321         * tests/unictype/test-pr_space.c: Likewise.
29322         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
29323         * tests/unictype/test-pr_titlecase.c: Likewise.
29324         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
29325         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
29326         * tests/unictype/test-pr_uppercase.c: Likewise.
29327         * tests/unictype/test-pr_variation_selector.c: Likewise.
29328         * tests/unictype/test-pr_white_space.c: Likewise.
29329         * tests/unictype/test-pr_xid_continue.c: Likewise.
29330         * tests/unictype/test-pr_xid_start.c: Likewise.
29331         * tests/unictype/test-pr_zero_width.c: Likewise.
29332         * tests/unictype/test-sy_c_whitespace.c: Likewise.
29333         * tests/unictype/test-sy_java_whitespace.c: Likewise.
29334
29335 2007-11-12  Bruno Haible  <bruno@clisp.org>
29336
29337         Unicode character classification functions.
29338         * lib/unictype.h: New file.
29339         * modules/unictype/base: New file.
29340         * modules/unictype/category-L: New file.
29341         * modules/unictype/category-Lu: New file.
29342         * modules/unictype/category-Ll: New file.
29343         * modules/unictype/category-Lt: New file.
29344         * modules/unictype/category-Lm: New file.
29345         * modules/unictype/category-Lo: New file.
29346         * modules/unictype/category-M: New file.
29347         * modules/unictype/category-Mn: New file.
29348         * modules/unictype/category-Mc: New file.
29349         * modules/unictype/category-Me: New file.
29350         * modules/unictype/category-N: New file.
29351         * modules/unictype/category-Nd: New file.
29352         * modules/unictype/category-Nl: New file.
29353         * modules/unictype/category-No: New file.
29354         * modules/unictype/category-P: New file.
29355         * modules/unictype/category-Pc: New file.
29356         * modules/unictype/category-Pd: New file.
29357         * modules/unictype/category-Ps: New file.
29358         * modules/unictype/category-Pe: New file.
29359         * modules/unictype/category-Pi: New file.
29360         * modules/unictype/category-Pf: New file.
29361         * modules/unictype/category-Po: New file.
29362         * modules/unictype/category-S: New file.
29363         * modules/unictype/category-Sm: New file.
29364         * modules/unictype/category-Sc: New file.
29365         * modules/unictype/category-Sk: New file.
29366         * modules/unictype/category-So: New file.
29367         * modules/unictype/category-Z: New file.
29368         * modules/unictype/category-Zs: New file.
29369         * modules/unictype/category-Zl: New file.
29370         * modules/unictype/category-Zp: New file.
29371         * modules/unictype/category-C: New file.
29372         * modules/unictype/category-Cc: New file.
29373         * modules/unictype/category-Cf: New file.
29374         * modules/unictype/category-Cs: New file.
29375         * modules/unictype/category-Co: New file.
29376         * modules/unictype/category-Cn: New file.
29377         * modules/unictype/category-or: New file.
29378         * modules/unictype/category-of: New file.
29379         * modules/unictype/category-test: New file.
29380         * modules/unictype/category-test-withtable: New file.
29381         * modules/unictype/category-byname: New file.
29382         * modules/unictype/category-none: New file.
29383         * modules/unictype/category-and: New file.
29384         * modules/unictype/category-and-not: New file.
29385         * modules/unictype/category-name: New file.
29386         * modules/unictype/combining-class: New file.
29387         * modules/unictype/category-all: New file.
29388         * modules/unictype/bidicategory-all: New file.
29389         * modules/unictype/bidicategory-byname: New file.
29390         * modules/unictype/bidicategory-name: New file.
29391         * modules/unictype/bidicategory-of: New file.
29392         * modules/unictype/bidicategory-test: New file.
29393         * modules/unictype/decimal-digit: New file.
29394         * modules/unictype/digit: New file.
29395         * modules/unictype/numeric: New file.
29396         * modules/unictype/mirror: New file.
29397         * modules/unictype/property-white-space: New file.
29398         * modules/unictype/property-alphabetic: New file.
29399         * modules/unictype/property-other-alphabetic: New file.
29400         * modules/unictype/property-not-a-character: New file.
29401         * modules/unictype/property-default-ignorable-code-point: New file.
29402         * modules/unictype/property-other-default-ignorable-code-point: New
29403         file.
29404         * modules/unictype/property-deprecated: New file.
29405         * modules/unictype/property-logical-order-exception: New file.
29406         * modules/unictype/property-variation-selector: New file.
29407         * modules/unictype/property-private-use: New file.
29408         * modules/unictype/property-unassigned-code-value: New file.
29409         * modules/unictype/property-uppercase: New file.
29410         * modules/unictype/property-other-uppercase: New file.
29411         * modules/unictype/property-lowercase: New file.
29412         * modules/unictype/property-other-lowercase: New file.
29413         * modules/unictype/property-titlecase: New file.
29414         * modules/unictype/property-soft-dotted: New file.
29415         * modules/unictype/property-id-start: New file.
29416         * modules/unictype/property-other-id-start: New file.
29417         * modules/unictype/property-id-continue: New file.
29418         * modules/unictype/property-other-id-continue: New file.
29419         * modules/unictype/property-xid-start: New file.
29420         * modules/unictype/property-xid-continue: New file.
29421         * modules/unictype/property-pattern-white-space: New file.
29422         * modules/unictype/property-pattern-syntax: New file.
29423         * modules/unictype/property-join-control: New file.
29424         * modules/unictype/property-grapheme-base: New file.
29425         * modules/unictype/property-grapheme-extend: New file.
29426         * modules/unictype/property-other-grapheme-extend: New file.
29427         * modules/unictype/property-grapheme-link: New file.
29428         * modules/unictype/property-bidi-control: New file.
29429         * modules/unictype/property-bidi-left-to-right: New file.
29430         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
29431         * modules/unictype/property-bidi-arabic-right-to-left: New file.
29432         * modules/unictype/property-bidi-european-digit: New file.
29433         * modules/unictype/property-bidi-eur-num-separator: New file.
29434         * modules/unictype/property-bidi-eur-num-terminator: New file.
29435         * modules/unictype/property-bidi-arabic-digit: New file.
29436         * modules/unictype/property-bidi-common-separator: New file.
29437         * modules/unictype/property-bidi-block-separator: New file.
29438         * modules/unictype/property-bidi-segment-separator: New file.
29439         * modules/unictype/property-bidi-whitespace: New file.
29440         * modules/unictype/property-bidi-non-spacing-mark: New file.
29441         * modules/unictype/property-bidi-boundary-neutral: New file.
29442         * modules/unictype/property-bidi-pdf: New file.
29443         * modules/unictype/property-bidi-embedding-or-override: New file.
29444         * modules/unictype/property-bidi-other-neutral: New file.
29445         * modules/unictype/property-hex-digit: New file.
29446         * modules/unictype/property-ascii-hex-digit: New file.
29447         * modules/unictype/property-ideographic: New file.
29448         * modules/unictype/property-unified-ideograph: New file.
29449         * modules/unictype/property-radical: New file.
29450         * modules/unictype/property-ids-binary-operator: New file.
29451         * modules/unictype/property-ids-trinary-operator: New file.
29452         * modules/unictype/property-zero-width: New file.
29453         * modules/unictype/property-space: New file.
29454         * modules/unictype/property-non-break: New file.
29455         * modules/unictype/property-iso-control: New file.
29456         * modules/unictype/property-format-control: New file.
29457         * modules/unictype/property-dash: New file.
29458         * modules/unictype/property-hyphen: New file.
29459         * modules/unictype/property-punctuation: New file.
29460         * modules/unictype/property-line-separator: New file.
29461         * modules/unictype/property-paragraph-separator: New file.
29462         * modules/unictype/property-quotation-mark: New file.
29463         * modules/unictype/property-sentence-terminal: New file.
29464         * modules/unictype/property-terminal-punctuation: New file.
29465         * modules/unictype/property-currency-symbol: New file.
29466         * modules/unictype/property-math: New file.
29467         * modules/unictype/property-other-math: New file.
29468         * modules/unictype/property-paired-punctuation: New file.
29469         * modules/unictype/property-left-of-pair: New file.
29470         * modules/unictype/property-combining: New file.
29471         * modules/unictype/property-composite: New file.
29472         * modules/unictype/property-decimal-digit: New file.
29473         * modules/unictype/property-numeric: New file.
29474         * modules/unictype/property-diacritic: New file.
29475         * modules/unictype/property-extender: New file.
29476         * modules/unictype/property-ignorable-control: New file.
29477         * modules/unictype/property-test: New file.
29478         * modules/unictype/property-byname: New file.
29479         * modules/unictype/property-all: New file.
29480         * modules/unictype/scripts: New file.
29481         * modules/unictype/scripts-all: New file.
29482         * modules/unictype/block-of: New file.
29483         * modules/unictype/block-test: New file.
29484         * modules/unictype/block-list: New file.
29485         * modules/unictype/block-all: New file.
29486         * modules/unictype/syntax-c-whitespace: New file.
29487         * modules/unictype/syntax-java-whitespace: New file.
29488         * modules/unictype/syntax-c-ident: New file.
29489         * modules/unictype/syntax-java-ident: New file.
29490         * modules/unictype/ctype-alnum: New file.
29491         * modules/unictype/ctype-alpha: New file.
29492         * modules/unictype/ctype-cntrl: New file.
29493         * modules/unictype/ctype-digit: New file.
29494         * modules/unictype/ctype-graph: New file.
29495         * modules/unictype/ctype-lower: New file.
29496         * modules/unictype/ctype-print: New file.
29497         * modules/unictype/ctype-punct: New file.
29498         * modules/unictype/ctype-space: New file.
29499         * modules/unictype/ctype-upper: New file.
29500         * modules/unictype/ctype-xdigit: New file.
29501         * modules/unictype/ctype-blank: New file.
29502         * lib/unictype/bidi_byname.c: New file.
29503         * lib/unictype/bidi_name.c: New file.
29504         * lib/unictype/bidi_of.c: New file.
29505         * lib/unictype/bidi_test.c: New file.
29506         * lib/unictype/bitmap.h: New file.
29507         * lib/unictype/block_test.c: New file.
29508         * lib/unictype/blocks.c: New file.
29509         * lib/unictype/categ_C.c: New file.
29510         * lib/unictype/categ_Cc.c: New file.
29511         * lib/unictype/categ_Cf.c: New file.
29512         * lib/unictype/categ_Cn.c: New file.
29513         * lib/unictype/categ_Co.c: New file.
29514         * lib/unictype/categ_Cs.c: New file.
29515         * lib/unictype/categ_L.c: New file.
29516         * lib/unictype/categ_Ll.c: New file.
29517         * lib/unictype/categ_Lm.c: New file.
29518         * lib/unictype/categ_Lo.c: New file.
29519         * lib/unictype/categ_Lt.c: New file.
29520         * lib/unictype/categ_Lu.c: New file.
29521         * lib/unictype/categ_M.c: New file.
29522         * lib/unictype/categ_Mc.c: New file.
29523         * lib/unictype/categ_Me.c: New file.
29524         * lib/unictype/categ_Mn.c: New file.
29525         * lib/unictype/categ_N.c: New file.
29526         * lib/unictype/categ_Nd.c: New file.
29527         * lib/unictype/categ_Nl.c: New file.
29528         * lib/unictype/categ_No.c: New file.
29529         * lib/unictype/categ_P.c: New file.
29530         * lib/unictype/categ_Pc.c: New file.
29531         * lib/unictype/categ_Pd.c: New file.
29532         * lib/unictype/categ_Pe.c: New file.
29533         * lib/unictype/categ_Pf.c: New file.
29534         * lib/unictype/categ_Pi.c: New file.
29535         * lib/unictype/categ_Po.c: New file.
29536         * lib/unictype/categ_Ps.c: New file.
29537         * lib/unictype/categ_S.c: New file.
29538         * lib/unictype/categ_Sc.c: New file.
29539         * lib/unictype/categ_Sk.c: New file.
29540         * lib/unictype/categ_Sm.c: New file.
29541         * lib/unictype/categ_So.c: New file.
29542         * lib/unictype/categ_Z.c: New file.
29543         * lib/unictype/categ_Zl.c: New file.
29544         * lib/unictype/categ_Zp.c: New file.
29545         * lib/unictype/categ_Zs.c: New file.
29546         * lib/unictype/categ_and.c: New file.
29547         * lib/unictype/categ_and_not.c: New file.
29548         * lib/unictype/categ_byname.c: New file.
29549         * lib/unictype/categ_name.c: New file.
29550         * lib/unictype/categ_none.c: New file.
29551         * lib/unictype/categ_of.c: New file.
29552         * lib/unictype/categ_or.c: New file.
29553         * lib/unictype/categ_test.c: New file.
29554         * lib/unictype/combining.c: New file.
29555         * lib/unictype/ctype_alnum.c: New file.
29556         * lib/unictype/ctype_alpha.c: New file.
29557         * lib/unictype/ctype_blank.c: New file.
29558         * lib/unictype/ctype_cntrl.c: New file.
29559         * lib/unictype/ctype_digit.c: New file.
29560         * lib/unictype/ctype_graph.c: New file.
29561         * lib/unictype/ctype_lower.c: New file.
29562         * lib/unictype/ctype_print.c: New file.
29563         * lib/unictype/ctype_punct.c: New file.
29564         * lib/unictype/ctype_space.c: New file.
29565         * lib/unictype/ctype_upper.c: New file.
29566         * lib/unictype/ctype_xdigit.c: New file.
29567         * lib/unictype/decdigit.c: New file.
29568         * lib/unictype/digit.c: New file.
29569         * lib/unictype/identsyntaxmap.h: New file.
29570         * lib/unictype/mirror.c: New file.
29571         * lib/unictype/numeric.c: New file.
29572         * lib/unictype/pr_alphabetic.c: New file.
29573         * lib/unictype/pr_ascii_hex_digit.c: New file.
29574         * lib/unictype/pr_bidi_arabic_digit.c: New file.
29575         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
29576         * lib/unictype/pr_bidi_block_separator.c: New file.
29577         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
29578         * lib/unictype/pr_bidi_common_separator.c: New file.
29579         * lib/unictype/pr_bidi_control.c: New file.
29580         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
29581         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
29582         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
29583         * lib/unictype/pr_bidi_european_digit.c: New file.
29584         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
29585         * lib/unictype/pr_bidi_left_to_right.c: New file.
29586         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
29587         * lib/unictype/pr_bidi_other_neutral.c: New file.
29588         * lib/unictype/pr_bidi_pdf.c: New file.
29589         * lib/unictype/pr_bidi_segment_separator.c: New file.
29590         * lib/unictype/pr_bidi_whitespace.c: New file.
29591         * lib/unictype/pr_byname.c: New file.
29592         * lib/unictype/pr_byname.gperf: New file.
29593         * lib/unictype/pr_combining.c: New file.
29594         * lib/unictype/pr_composite.c: New file.
29595         * lib/unictype/pr_currency_symbol.c: New file.
29596         * lib/unictype/pr_dash.c: New file.
29597         * lib/unictype/pr_decimal_digit.c: New file.
29598         * lib/unictype/pr_default_ignorable_code_point.c: New file.
29599         * lib/unictype/pr_deprecated.c: New file.
29600         * lib/unictype/pr_diacritic.c: New file.
29601         * lib/unictype/pr_extender.c: New file.
29602         * lib/unictype/pr_format_control.c: New file.
29603         * lib/unictype/pr_grapheme_base.c: New file.
29604         * lib/unictype/pr_grapheme_extend.c: New file.
29605         * lib/unictype/pr_grapheme_link.c: New file.
29606         * lib/unictype/pr_hex_digit.c: New file.
29607         * lib/unictype/pr_hyphen.c: New file.
29608         * lib/unictype/pr_id_continue.c: New file.
29609         * lib/unictype/pr_id_start.c: New file.
29610         * lib/unictype/pr_ideographic.c: New file.
29611         * lib/unictype/pr_ids_binary_operator.c: New file.
29612         * lib/unictype/pr_ids_trinary_operator.c: New file.
29613         * lib/unictype/pr_ignorable_control.c: New file.
29614         * lib/unictype/pr_iso_control.c: New file.
29615         * lib/unictype/pr_join_control.c: New file.
29616         * lib/unictype/pr_left_of_pair.c: New file.
29617         * lib/unictype/pr_line_separator.c: New file.
29618         * lib/unictype/pr_logical_order_exception.c: New file.
29619         * lib/unictype/pr_lowercase.c: New file.
29620         * lib/unictype/pr_math.c: New file.
29621         * lib/unictype/pr_non_break.c: New file.
29622         * lib/unictype/pr_not_a_character.c: New file.
29623         * lib/unictype/pr_numeric.c: New file.
29624         * lib/unictype/pr_other_alphabetic.c: New file.
29625         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
29626         * lib/unictype/pr_other_grapheme_extend.c: New file.
29627         * lib/unictype/pr_other_id_continue.c: New file.
29628         * lib/unictype/pr_other_id_start.c: New file.
29629         * lib/unictype/pr_other_lowercase.c: New file.
29630         * lib/unictype/pr_other_math.c: New file.
29631         * lib/unictype/pr_other_uppercase.c: New file.
29632         * lib/unictype/pr_paired_punctuation.c: New file.
29633         * lib/unictype/pr_paragraph_separator.c: New file.
29634         * lib/unictype/pr_pattern_syntax.c: New file.
29635         * lib/unictype/pr_pattern_white_space.c: New file.
29636         * lib/unictype/pr_private_use.c: New file.
29637         * lib/unictype/pr_punctuation.c: New file.
29638         * lib/unictype/pr_quotation_mark.c: New file.
29639         * lib/unictype/pr_radical.c: New file.
29640         * lib/unictype/pr_sentence_terminal.c: New file.
29641         * lib/unictype/pr_soft_dotted.c: New file.
29642         * lib/unictype/pr_space.c: New file.
29643         * lib/unictype/pr_terminal_punctuation.c: New file.
29644         * lib/unictype/pr_test.c: New file.
29645         * lib/unictype/pr_titlecase.c: New file.
29646         * lib/unictype/pr_unassigned_code_value.c: New file.
29647         * lib/unictype/pr_unified_ideograph.c: New file.
29648         * lib/unictype/pr_uppercase.c: New file.
29649         * lib/unictype/pr_variation_selector.c: New file.
29650         * lib/unictype/pr_white_space.c: New file.
29651         * lib/unictype/pr_xid_continue.c: New file.
29652         * lib/unictype/pr_xid_start.c: New file.
29653         * lib/unictype/pr_zero_width.c: New file.
29654         * lib/unictype/scripts.c: New file.
29655         * lib/unictype/sy_c_ident.c: New file.
29656         * lib/unictype/sy_c_whitespace.c: New file.
29657         * lib/unictype/sy_java_ident.c: New file.
29658         * lib/unictype/sy_java_whitespace.c: New file.
29659
29660         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
29661         Unicode 5.0.0.
29662         * lib/unictype/blocks.h: Likewise.
29663         * lib/unictype/categ_C.h: Likewise.
29664         * lib/unictype/categ_Cc.h: Likewise.
29665         * lib/unictype/categ_Cf.h: Likewise.
29666         * lib/unictype/categ_Cn.h: Likewise.
29667         * lib/unictype/categ_Co.h: Likewise.
29668         * lib/unictype/categ_Cs.h: Likewise.
29669         * lib/unictype/categ_L.h: Likewise.
29670         * lib/unictype/categ_Ll.h: Likewise.
29671         * lib/unictype/categ_Lm.h: Likewise.
29672         * lib/unictype/categ_Lo.h: Likewise.
29673         * lib/unictype/categ_Lt.h: Likewise.
29674         * lib/unictype/categ_Lu.h: Likewise.
29675         * lib/unictype/categ_M.h: Likewise.
29676         * lib/unictype/categ_Mc.h: Likewise.
29677         * lib/unictype/categ_Me.h: Likewise.
29678         * lib/unictype/categ_Mn.h: Likewise.
29679         * lib/unictype/categ_N.h: Likewise.
29680         * lib/unictype/categ_Nd.h: Likewise.
29681         * lib/unictype/categ_Nl.h: Likewise.
29682         * lib/unictype/categ_No.h: Likewise.
29683         * lib/unictype/categ_P.h: Likewise.
29684         * lib/unictype/categ_Pc.h: Likewise.
29685         * lib/unictype/categ_Pd.h: Likewise.
29686         * lib/unictype/categ_Pe.h: Likewise.
29687         * lib/unictype/categ_Pf.h: Likewise.
29688         * lib/unictype/categ_Pi.h: Likewise.
29689         * lib/unictype/categ_Po.h: Likewise.
29690         * lib/unictype/categ_Ps.h: Likewise.
29691         * lib/unictype/categ_S.h: Likewise.
29692         * lib/unictype/categ_Sc.h: Likewise.
29693         * lib/unictype/categ_Sk.h: Likewise.
29694         * lib/unictype/categ_Sm.h: Likewise.
29695         * lib/unictype/categ_So.h: Likewise.
29696         * lib/unictype/categ_Z.h: Likewise.
29697         * lib/unictype/categ_Zl.h: Likewise.
29698         * lib/unictype/categ_Zp.h: Likewise.
29699         * lib/unictype/categ_Zs.h: Likewise.
29700         * lib/unictype/categ_of.h: Likewise.
29701         * lib/unictype/combining.h: Likewise.
29702         * lib/unictype/ctype_alnum.h: Likewise.
29703         * lib/unictype/ctype_alpha.h: Likewise.
29704         * lib/unictype/ctype_blank.h: Likewise.
29705         * lib/unictype/ctype_cntrl.h: Likewise.
29706         * lib/unictype/ctype_digit.h: Likewise.
29707         * lib/unictype/ctype_graph.h: Likewise.
29708         * lib/unictype/ctype_lower.h: Likewise.
29709         * lib/unictype/ctype_print.h: Likewise.
29710         * lib/unictype/ctype_punct.h: Likewise.
29711         * lib/unictype/ctype_space.h: Likewise.
29712         * lib/unictype/ctype_upper.h: Likewise.
29713         * lib/unictype/ctype_xdigit.h: Likewise.
29714         * lib/unictype/decdigit.h: Likewise.
29715         * lib/unictype/digit.h: Likewise.
29716         * lib/unictype/mirror.h: Likewise.
29717         * lib/unictype/numeric.h: Likewise.
29718         * lib/unictype/pr_alphabetic.h: Likewise.
29719         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
29720         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
29721         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
29722         * lib/unictype/pr_bidi_block_separator.h: Likewise.
29723         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
29724         * lib/unictype/pr_bidi_common_separator.h: Likewise.
29725         * lib/unictype/pr_bidi_control.h: Likewise.
29726         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
29727         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
29728         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
29729         * lib/unictype/pr_bidi_european_digit.h: Likewise.
29730         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
29731         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
29732         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
29733         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
29734         * lib/unictype/pr_bidi_pdf.h: Likewise.
29735         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
29736         * lib/unictype/pr_bidi_whitespace.h: Likewise.
29737         * lib/unictype/pr_combining.h: Likewise.
29738         * lib/unictype/pr_composite.h: Likewise.
29739         * lib/unictype/pr_currency_symbol.h: Likewise.
29740         * lib/unictype/pr_dash.h: Likewise.
29741         * lib/unictype/pr_decimal_digit.h: Likewise.
29742         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
29743         * lib/unictype/pr_deprecated.h: Likewise.
29744         * lib/unictype/pr_diacritic.h: Likewise.
29745         * lib/unictype/pr_extender.h: Likewise.
29746         * lib/unictype/pr_format_control.h: Likewise.
29747         * lib/unictype/pr_grapheme_base.h: Likewise.
29748         * lib/unictype/pr_grapheme_extend.h: Likewise.
29749         * lib/unictype/pr_grapheme_link.h: Likewise.
29750         * lib/unictype/pr_hex_digit.h: Likewise.
29751         * lib/unictype/pr_hyphen.h: Likewise.
29752         * lib/unictype/pr_id_continue.h: Likewise.
29753         * lib/unictype/pr_id_start.h: Likewise.
29754         * lib/unictype/pr_ideographic.h: Likewise.
29755         * lib/unictype/pr_ids_binary_operator.h: Likewise.
29756         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
29757         * lib/unictype/pr_ignorable_control.h: Likewise.
29758         * lib/unictype/pr_iso_control.h: Likewise.
29759         * lib/unictype/pr_join_control.h: Likewise.
29760         * lib/unictype/pr_left_of_pair.h: Likewise.
29761         * lib/unictype/pr_line_separator.h: Likewise.
29762         * lib/unictype/pr_logical_order_exception.h: Likewise.
29763         * lib/unictype/pr_lowercase.h: Likewise.
29764         * lib/unictype/pr_math.h: Likewise.
29765         * lib/unictype/pr_non_break.h: Likewise.
29766         * lib/unictype/pr_not_a_character.h: Likewise.
29767         * lib/unictype/pr_numeric.h: Likewise.
29768         * lib/unictype/pr_other_alphabetic.h: Likewise.
29769         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
29770         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
29771         * lib/unictype/pr_other_id_continue.h: Likewise.
29772         * lib/unictype/pr_other_id_start.h: Likewise.
29773         * lib/unictype/pr_other_lowercase.h: Likewise.
29774         * lib/unictype/pr_other_math.h: Likewise.
29775         * lib/unictype/pr_other_uppercase.h: Likewise.
29776         * lib/unictype/pr_paired_punctuation.h: Likewise.
29777         * lib/unictype/pr_paragraph_separator.h: Likewise.
29778         * lib/unictype/pr_pattern_syntax.h: Likewise.
29779         * lib/unictype/pr_pattern_white_space.h: Likewise.
29780         * lib/unictype/pr_private_use.h: Likewise.
29781         * lib/unictype/pr_punctuation.h: Likewise.
29782         * lib/unictype/pr_quotation_mark.h: Likewise.
29783         * lib/unictype/pr_radical.h: Likewise.
29784         * lib/unictype/pr_sentence_terminal.h: Likewise.
29785         * lib/unictype/pr_soft_dotted.h: Likewise.
29786         * lib/unictype/pr_space.h: Likewise.
29787         * lib/unictype/pr_terminal_punctuation.h: Likewise.
29788         * lib/unictype/pr_titlecase.h: Likewise.
29789         * lib/unictype/pr_unassigned_code_value.h: Likewise.
29790         * lib/unictype/pr_unified_ideograph.h: Likewise.
29791         * lib/unictype/pr_uppercase.h: Likewise.
29792         * lib/unictype/pr_variation_selector.h: Likewise.
29793         * lib/unictype/pr_white_space.h: Likewise.
29794         * lib/unictype/pr_xid_continue.h: Likewise.
29795         * lib/unictype/pr_xid_start.h: Likewise.
29796         * lib/unictype/pr_zero_width.h: Likewise.
29797         * lib/unictype/scripts.h: Likewise.
29798         * lib/unictype/scripts_byname.gperf: Likewise.
29799         * lib/unictype/sy_c_ident.h: Likewise.
29800         * lib/unictype/sy_c_whitespace.h: Likewise.
29801         * lib/unictype/sy_java_ident.h: Likewise.
29802         * lib/unictype/sy_java_whitespace.h: Likewise.
29803
29804         * lib/unictype/Makefile: New file.
29805         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
29806         glibc.
29807         * lib/unictype/3level.h: New file, copied from glibc.
29808         * lib/unictype/3levelbit.h: New file.
29809
29810 2007-11-11  Bruno Haible  <bruno@clisp.org>
29811
29812         * modules/gperf: New file.
29813         * modules/iconv_open (Depends-on): Add it.
29814         (Makefile.am): Remove the GPERF definition.
29815
29816 2007-11-11  Bruno Haible  <bruno@clisp.org>
29817
29818         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
29819         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
29820
29821 2007-11-11  Bruno Haible  <bruno@clisp.org>
29822
29823         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
29824         (usage): Remove function.
29825
29826 2007-11-11  Bruno Haible  <bruno@clisp.org>
29827
29828         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
29829         gl_FUNC_CEILF_LIBS.
29830         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
29831         gl_FUNC_CEIL_LIBS.
29832         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
29833         gl_FUNC_CEILL_LIBS.
29834         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
29835         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
29836         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
29837
29838 2007-11-11  Bruno Haible  <bruno@clisp.org>
29839
29840         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
29841         roundf were declared but do not exist on functions.
29842         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
29843         roundl were declared but do not exist on functions.
29844         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
29845         HAVE_FLOORL_AND_CEILL, respectively.
29846         Needed for Sun C on Solaris 10.
29847
29848 2007-11-11  Bruno Haible  <bruno@clisp.org>
29849
29850         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
29851         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
29852         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
29853         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
29854         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
29855         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
29856         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
29857         HAVE_DECL_ROUNDF.
29858         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
29859         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
29860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
29861         of HAVE_DECL_ROUND*.
29862         * modules/math (Makefile.am): Update.
29863
29864 2007-11-10  Bruno Haible  <bruno@clisp.org>
29865
29866         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
29867         ptrdiff_t as m4/intl.m4.
29868
29869 2007-11-10  Jim Meyering  <meyering@redhat.com>
29870
29871         Avoid link failure for the argmatch test.
29872         * tests/test-argmatch.c (usage): Define function to avoid a link
29873         failure: argmatch_die requires a usage function.
29874
29875 2007-11-09  Bruno Haible  <bruno@clisp.org>
29876
29877         * doc/functions/snprintf.texi: Mention BeOS deficiency.
29878         * doc/functions/vsnprintf.texi: Likewise.
29879         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
29880         with a size argument < 2.
29881
29882 2007-11-09  Bruno Haible  <bruno@clisp.org>
29883
29884         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
29885         buffer. Fixes an inefficiency introduced on 2007-11-03.
29886
29887 2007-11-09  Bruno Haible  <bruno@clisp.org>
29888
29889         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
29890         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
29891
29892 2007-11-08  Jim Meyering  <meyering@redhat.com>
29893
29894         Change cache variable name prefix "jm_" to "gl_" everywhere.
29895         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
29896         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
29897         * m4/uptime.m4: s/gl_/jm_/
29898
29899 2007-11-07  Bruno Haible  <bruno@clisp.org>
29900
29901         Update to GNU gettext 0.17.
29902         * m4/intl.m4: Update to GNU gettext 0.17.
29903         * m4/po.m4: Likewise.
29904         * modules/gettext (Files): Remove m4/ulonglong.m4.
29905         (configure.ac): Require gettext infrastructure from version 0.17.
29906
29907 2007-11-06  Bruno Haible  <bruno@clisp.org>
29908
29909         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
29910         symbolic values are not defined in a public header.
29911         * lib/freadable.c (freadable) [QNX]: Likewise.
29912         * lib/freadahead.c (freadahead) [QNX]: Likewise.
29913         * lib/freading.c (freading) [QNX]: Likewise.
29914         * lib/fseterr.c (fseterr) [QNX]: Likewise.
29915         * lib/fwritable.c (fwritable) [QNX]: Likewise.
29916         * lib/fwriting.c (fwriting) [QNX]: Likewise.
29917         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
29918         Reported by Alain Magloire.
29919
29920         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
29921
29922 2007-11-05  Bruno Haible  <bruno@clisp.org>
29923
29924         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
29925         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
29926         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
29927         Reported by Eric Blake.
29928
29929 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29930             Bruno Haible  <bruno@clisp.org>
29931
29932         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
29933         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
29934         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
29935         (malloc): Undefine also before including <stdlib.h>.
29936         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
29937         Needed on OSF/1 4.0.
29938
29939 2007-11-05  Jim Meyering  <meyering@redhat.com>
29940
29941         git-version-gen: sync from coreutils.
29942         * build-aux/git-version-gen: Add comments.
29943         Change the first '-' to '.' in the snapshot version string,
29944         e.g., 6.9-377-08144 -> 6.9.377-08144
29945         Remove first parameter.
29946         Don't declare a version "-dirty" merely because a time
29947         stamp has changed.
29948
29949 2007-11-04  Bruno Haible  <bruno@clisp.org>
29950
29951         * lib/lock.h: Protect all macro definitions containing an 'if'
29952         statement through a "do { ... } while (0)".
29953         * lib/tls.h: Likewise.
29954
29955 2007-11-04  Bruno Haible  <bruno@clisp.org>
29956
29957         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
29958
29959 2007-11-04  Bruno Haible  <bruno@clisp.org>
29960
29961         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
29962         * modules/fprintf-posix (Depends-on): Add nocrash.
29963         * modules/snprintf-posix (Depends-on): Likewise.
29964         * modules/sprintf-posix (Depends-on): Likewise.
29965         * modules/vasnprintf-posix (Depends-on): Likewise.
29966         * modules/vasprintf-posix (Depends-on): Likewise.
29967         * modules/vfprintf-posix (Depends-on): Likewise.
29968         * modules/vsnprintf-posix (Depends-on): Likewise.
29969         * modules/vsprintf-posix (Depends-on): Likewise.
29970         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29971         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29972         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29973         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29974         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29975         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29976         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29977
29978 2007-11-04  Bruno Haible  <bruno@clisp.org>
29979
29980         * modules/nocrash: New file.
29981         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
29982         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
29983
29984 2007-11-04  Bruno Haible  <bruno@clisp.org>
29985
29986         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
29987         precision handling.
29988         * tests/test-vasprintf-posix.c (test_function): Likewise.
29989         * tests/test-snprintf-posix.h (test_function): Likewise.
29990         * tests/test-sprintf-posix.h (test_function): Likewise.
29991
29992         Fix *printf behaviour for large precisions on mingw and BeOS.
29993         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
29994         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
29995         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
29996         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29997         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29998         gl_PRINTF_PRECISION and test its result. Invoke
29999         gl_PREREQ_VASNPRINTF_PRECISION.
30000         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30001         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30002         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30003         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30004         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30005         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30006         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30007         * doc/functions/fprintf.texi: Update.
30008         * doc/functions/printf.texi: Update.
30009         * doc/functions/snprintf.texi: Update.
30010         * doc/functions/sprintf.texi: Update.
30011         * doc/functions/vfprintf.texi: Update.
30012         * doc/functions/vprintf.texi: Update.
30013         * doc/functions/vsnprintf.texi: Update.
30014         * doc/functions/vsprintf.texi: Update.
30015
30016 2007-11-04  Bruno Haible  <bruno@clisp.org>
30017
30018         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
30019
30020 2007-11-04  Bruno Haible  <bruno@clisp.org>
30021
30022         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
30023         Reported by Sylvain Beucler <beuc@gnu.org>.
30024
30025 2007-11-03  Bruno Haible  <bruno@clisp.org>
30026
30027         * tests/test-fprintf-posix2.sh: New file.
30028         * tests/test-fprintf-posix2.c: New file.
30029         * modules/fprintf-posix-tests (Files): Add them.
30030         (TESTS): Add test-fprintf-posix2.sh.
30031         (configure.ac): Check for getrlimit and setrlimit.
30032         (check_PROGRAMS): Add test-fprintf-posix2.
30033
30034         * tests/test-printf-posix2.sh: New file.
30035         * tests/test-printf-posix2.c: New file.
30036         * modules/printf-posix-tests (Files): Add them.
30037         (TESTS): Add test-printf-posix2.sh.
30038         (configure.ac): Check for getrlimit and setrlimit.
30039         (check_PROGRAMS): Add test-printf-posix2.
30040
30041         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
30042         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
30043         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
30044         (decode_double): New function, copied from decode_long_double.
30045         (scale10_round_decimal_decoded): New function, extracted from
30046         scale10_round_decimal_long_double.
30047         (scale10_round_decimal_long_double): Use it.
30048         (scale10_round_decimal_double): New function.
30049         (floorlog10): New function.
30050         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
30051         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
30052         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30053         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30054         gl_PRINTF_ENOMEM and test its result. Invoke
30055         gl_PREREQ_VASNPRINTF_ENOMEM.
30056         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30057         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30058         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30059         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30060         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30061         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30062         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30063         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
30064         * modules/snprintf-posix (Depends-on): Likewise.
30065         * modules/sprintf-posix (Depends-on): Likewise.
30066         * modules/vasnprintf-posix (Depends-on): Likewise.
30067         * modules/vasprintf-posix (Depends-on): Likewise.
30068         * modules/vfprintf-posix (Depends-on): Likewise.
30069         * modules/vsnprintf-posix (Depends-on): Likewise.
30070         * modules/vsprintf-posix (Depends-on): Likewise.
30071         * doc/functions/fprintf.texi: Update.
30072         * doc/functions/printf.texi: Update.
30073         * doc/functions/snprintf.texi: Update.
30074         * doc/functions/sprintf.texi: Update.
30075         * doc/functions/vfprintf.texi: Update.
30076         * doc/functions/vprintf.texi: Update.
30077         * doc/functions/vsnprintf.texi: Update.
30078         * doc/functions/vsprintf.texi: Update.
30079
30080 2007-11-03  Bruno Haible  <bruno@clisp.org>
30081
30082         * modules/frexp-nolibm-tests: New file.
30083
30084         * modules/frexp-nolibm: New file.
30085         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
30086
30087 2007-11-03  Bruno Haible  <bruno@clisp.org>
30088
30089         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
30090         value is C99 compliant.
30091         Needed for OSF/1 5.1.
30092
30093 2007-11-03  Bruno Haible  <bruno@clisp.org>
30094
30095         Fix out-of-memory handling of vasnprintf.
30096         * lib/printf-parse.c: Include <errno.h>.
30097         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
30098         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
30099         is already set.
30100
30101 2007-11-02  Eric Blake  <ebb9@byu.net>
30102
30103         Fix tests on cygwin.
30104         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
30105
30106 2007-11-01  Bruno Haible  <bruno@clisp.org>
30107
30108         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
30109         warning.
30110         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
30111         needed for POSIX compatibility.
30112
30113 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
30114
30115         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
30116         for compatibility with GNU.
30117
30118 2007-11-01  Bruno Haible  <bruno@clisp.org>
30119
30120         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
30121         (putenv): Renamed from rpl_putenv. Change argument type from
30122         'const char *' to 'char *'.
30123         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
30124         of defining putenv in config.h, just set REPLACE_PUTENV.
30125         * modules/putenv (Depends-on): Add stdlib.
30126         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30127         (Include): Use <stdlib.h>.
30128         * lib/stdlib.in.h (putenv): New declaration.
30129         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
30130         REPLACE_PUTENV.
30131         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
30132         REPLACE_PUTENV.
30133         Needed for MacOS X 10.5.0.
30134         Reported by Peter O'Gorman <peter@pogma.com>.
30135
30136 2007-11-01  Jim Meyering  <meyering@redhat.com>
30137
30138         Treat an empty date string exactly like "0".
30139         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
30140         if the remaining date string (to be parsed) is empty, use "0".
30141         Reported by Mischa Molhoek and discussed in this thread:
30142         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
30143
30144 2007-10-31  Bruno Haible  <bruno@clisp.org>
30145
30146         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
30147         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
30148         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
30149         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
30150         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
30151         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
30152
30153 2007-10-31  Bruno Haible  <bruno@clisp.org>
30154
30155         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
30156         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
30157         (AC_TYPE_LONG_LONG_INT): Use it.
30158         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
30159         it as well.
30160         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
30161         to m4/longlong.m4.
30162         * modules/stdint (Files): Remove m4/ulonglong.m4.
30163         * modules/strtoull (Files): Use m4/longlong.m4 instead of
30164         m4/ulonglong.m4.
30165         * modules/strtoumax (Files): Likewise.
30166
30167 2007-10-30  Bruno Haible  <bruno@clisp.org>
30168
30169         * modules/xvasprintf-posix: New file.
30170         Suggested by Eric Blake.
30171
30172 2007-10-30  Bruno Haible  <bruno@clisp.org>
30173
30174         * modules/xprintf-posix-tests: New file.
30175         * tests/test-xprintf-posix.sh: New file.
30176         * tests/test-xprintf-posix.c: New file.
30177         * tests/test-xfprintf-posix.c: New file.
30178
30179         * modules/xprintf-posix: New file.
30180
30181 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30182
30183         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
30184         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
30185         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
30186
30187 2007-10-29  Bruno Haible  <bruno@clisp.org>
30188
30189         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
30190         contain the special marker '_cv_'.
30191         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30192         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30193         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30194         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30195         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30196         Reported by Ralf Wildenhues.
30197
30198 2007-10-29  Bruno Haible  <bruno@clisp.org>
30199
30200         * gnulib-tool (func_import): When --lgpl is not specified, set
30201         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
30202         GPLv3.
30203         Reported by Simon Josefsson.
30204
30205 2007-10-28  Bruno Haible  <bruno@clisp.org>
30206
30207         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
30208         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
30209         HAVE_DECL_ISFINITE.
30210         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30211         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
30212         HAVE_DECL_ISFINITE.
30213
30214 2007-10-28  Bruno Haible  <bruno@clisp.org>
30215
30216         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
30217         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
30218
30219 2007-10-28  Bruno Haible  <bruno@clisp.org>
30220
30221         Fix link errors with Sun C 5.0 on Solaris 10.
30222         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
30223         function is declared but not present in the compiler's libm.
30224         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30225         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30226         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
30227         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
30228         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
30229         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
30230         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
30231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
30232         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
30233         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
30234         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
30235         HAVE_DECL_FLOORL.
30236
30237 2007-10-28  Bruno Haible  <bruno@clisp.org>
30238
30239         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
30240         gl_FUNC_FLOORL. Cache the result.
30241         (gl_FUNC_FLOORL): Use it.
30242         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
30243         gl_FUNC_CEILL. Cache the result.
30244         (gl_FUNC_CEILL): Use it.
30245
30246         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
30247         gl_FUNC_FLOOR. Cache the result.
30248         (gl_FUNC_FLOOR): Use it.
30249         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
30250         gl_FUNC_CEIL. Cache the result.
30251         (gl_FUNC_CEIL): Use it.
30252
30253         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
30254         gl_FUNC_FLOORF. Cache the result.
30255         (gl_FUNC_FLOORF): Use it.
30256         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
30257         gl_FUNC_CEILF. Cache the result.
30258         (gl_FUNC_CEILF): Use it.
30259
30260 2007-10-28  Bruno Haible  <bruno@clisp.org>
30261
30262         * gnulib-tool: Allow specifying the LGPL version number through
30263         --lgpl=2 or --lgpl=3.
30264         (func_usage): Document --lgpl with argument.
30265         Handle --lgpl=... arguments.
30266         (func_import): Recognize also gl_LGPL calls with an argument. When
30267         --lgpl=2 is used and the module's license is just LGPL, report an
30268         error. Set sed_transform_lib_file according to the lgpl variable. In
30269         the generated files, use --lgpl or gl_LGPL invocations with argument,
30270         if necessary.
30271         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
30272         an LGPv2+ license.
30273         * doc/gnulib-tool.texi (Modified imports): Update explanation of
30274         gl_LGPL macro.
30275
30276 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30277             Bruno Haible  <bruno@clisp.org>
30278
30279         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
30280         (u16_uctomb_aux): Likewise.
30281         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
30282         !HAVE_INLINE.
30283         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
30284
30285 2007-10-28  Bruno Haible  <bruno@clisp.org>
30286
30287         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
30288         Invoke AM_GETTEXT_OPTION if it exists.
30289         * modules/vasprintf: Likewise.
30290         * modules/verror: Likewise.
30291         * modules/xprintf: Likewise.
30292         * modules/xvasprintf: Likewise.
30293
30294 2007-10-27  Ben Pfaff  <blp@gnu.org>
30295
30296         * lib/math.in.h: Define isfinite macro and prototypes for
30297         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
30298         implementations.
30299         * m4/math_h.m4: New substitutions for isfinite module.
30300         * lib/isfinite.c: New file.
30301         * m4/isfinite.m4: New file.
30302         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
30303         * modules/isfinite: New file.
30304         * modules/isfinite-tests: New file.
30305         * tests/tests-isfinite.c: New file.
30306         * doc/functions/isfinite.texi: Mention isfinite module.
30307         * MODULES.html.sh: Mention new module.
30308
30309 2007-10-27  Ben Pfaff  <blp@gnu.org>
30310
30311         Ralf Wildenhues reported that Tru64 4.0D declares the round
30312         functions but does not have definitions.
30313         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
30314         cannot be found in any library, set the output variable to
30315         "missing" instead of "".
30316         * m4/round.m4: Also use our substitute if we cannot find round in
30317         any library, even if it is declared.
30318         * m4/roundf.m4: Likewise for roundf.
30319         * m4/roundl.m4: Likewise for roundl.
30320         * lib/math.in.h: Undefine roundf, round, roundl before defining
30321         their replacements, to allow for hypothetical systems where these
30322         may be defined as macros but not available in libraries.
30323
30324 2007-10-27  Bruno Haible  <bruno@clisp.org>
30325
30326         * doc/gnulib.texi: Invoke @firstparagraphindent.
30327         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
30328         changes in gnulib.
30329         (Source changes): New section.
30330
30331 2007-10-26  Bruno Haible  <bruno@clisp.org>
30332
30333         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
30334         borrowed from autoconf.
30335
30336 2007-10-26  Bruno Haible  <bruno@clisp.org>
30337
30338         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
30339         strerror returned the empty string. Needed on HP-UX 11.00.
30340
30341 2007-10-24  Micah Cowan  <micah@cowan.name>
30342
30343         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
30344         * build-aux/bootstrap: Remove support for now-unnecessary option,
30345         --cvs-user, and envvars CVS_USER, CVS_RSH.
30346
30347 2007-10-24  Jim Meyering  <meyering@redhat.com>
30348
30349         Avoid diagnostics from sha1sum when there is no cached checksum.
30350         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
30351         if the po.s1 file hasn't been created yet.
30352
30353         * build-aux/bootstrap: Sync from coreutils:
30354         2007-10-24  Jim Meyering  <meyering@redhat.com>
30355         Get gnulib from the git repository, not from an obsolete cvs one.
30356         * build-aux/bootstrap: Suggestion from Micah Cowan.
30357         2007-10-04  Jim Meyering  <jim@meyering.net>
30358         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
30359         (update_po_files): Work also when there are no .po files in po/.
30360
30361 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
30362
30363         * README: Append ".git" to git and cg examples.
30364         Problem reported by Benoit Sigoure.
30365
30366 2007-10-23  Micah Cowan  <micah@cowan.name>
30367
30368         * users.txt: Add wget.
30369
30370 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30371
30372         Fix linking of some unistdio tests on FreeBSD.
30373         * modules/unistdio/u16-vsnprintf-tests
30374         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
30375         * modules/unistdio/u16-vsprintf-tests
30376         (test_u16_vsnprintf1_LDADD): Likewise.
30377         * modules/unistdio/u32-vsnprintf-tests
30378         (test_u32_vsnprintf1_LDADD): Likewise.
30379         * modules/unistdio/u32-vsprintf-tests
30380         (test_u32_vsprintf1_LDADD): Likewise.
30381         * modules/unistdio/u8-vsnprintf-tests
30382         (test_u8_vsnprintf1_LDADD): Likewise.
30383         * modules/unistdio/u8-vsprintf-tests
30384         (test_u8_vsprintf1_LDADD): Likewise.
30385         * modules/unistdio/ulc-vsnprintf-tests
30386         (test_ulc_vsnprintf1_LDADD): Likewise.
30387         * modules/unistdio/ulc-vsprintf-tests
30388         (test_ulc_vsprintf1_LDADD): Likewise.
30389
30390         Fix linking of some uniconv tests on FreeBSD.
30391         * modules/uniconv/u16-conv-from-enc-tests
30392         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
30393         * modules/uniconv/u16-conv-to-enc-tests
30394         (test_u16_conv_to_enc_LDADD): Likewise.
30395         * modules/uniconv/u16-strconv-from-enc-tests
30396         (test_u16_strconv_from_enc_LDADD): Likewise.
30397         * modules/uniconv/u16-strconv-to-enc-tests
30398         (test_u16_strconv_to_enc_LDADD): Likewise.
30399         * modules/uniconv/u32-conv-from-enc-tests
30400         (test_u32_conv_from_enc_LDADD): Likewise.
30401         * modules/uniconv/u32-conv-to-enc-tests
30402         (test_u32_conv_to_enc_LDADD): Likewise.
30403         * modules/uniconv/u32-strconv-from-enc-tests
30404         (test_u32_strconv_from_enc_LDADD): Likewise.
30405         * modules/uniconv/u32-strconv-to-enc-tests
30406         (test_u32_strconv_to_enc_LDADD): Likewise.
30407         * modules/uniconv/u8-conv-from-enc-tests
30408         (test_u8_conv_from_enc_LDADD): Likewise.
30409         * modules/uniconv/u8-conv-to-enc-tests
30410         (test_u8_conv_to_enc_LDADD): Likewise.
30411         * modules/uniconv/u8-strconv-from-enc-tests
30412         (test_u8_strconv_from_enc_LDADD): Likewise.
30413         * modules/uniconv/u8-strconv-to-enc-tests
30414         (test_u8_strconv_to_enc_LDADD): Likewise.
30415
30416 2007-10-22  Bruno Haible  <bruno@clisp.org>
30417
30418         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
30419         size.
30420
30421 2007-10-22  Eric Blake  <ebb9@byu.net>
30422
30423         Tweak x*printf documentation.
30424         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
30425         variable name and comments.
30426         Suggested by Bruno Haible.
30427
30428 2007-10-22  Bruno Haible  <bruno@clisp.org>
30429
30430         * lib/acl.c (copy_acl): Fix file name in comment.
30431
30432 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30433
30434         Fix Tru64 problem with stdbool.h.
30435         * lib/stdbool.in.h (false, true):
30436         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
30437         Don't declare as an enum in this situation; it runs afoul of Tru64.
30438         Problem reported by Steven M. Schweda in
30439         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
30440
30441 2007-10-22  Eric Blake  <ebb9@byu.net>
30442
30443         Also wrap vf?printf.
30444         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
30445         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
30446         (xvprintf, xvfprintf): New functions.
30447
30448 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30449
30450         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
30451         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
30452
30453         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
30454         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
30455
30456 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
30457
30458         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
30459         by Bruno Haible.
30460
30461 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30462
30463         * lib/getloadavg.c
30464         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
30465         Undef `sys' after including sys/table.h, for Tru64 4.0D.
30466
30467         * tests/test-i-ring.c: Work for C89.
30468
30469 2007-10-22  Bruno Haible  <bruno@clisp.org>
30470
30471         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
30472         -1u, in preprocessor expression, so that we don't test for the bug
30473         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
30474         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
30475
30476 2007-10-22  Eric Blake  <ebb9@byu.net>
30477
30478         * tests/test-yesno.sh: Silence stderr during test.
30479
30480 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30481
30482         * modules/crypto/gc-camellia: New file.
30483
30484         * m4/gc-camellia.m4: New file.
30485
30486         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
30487
30488         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
30489
30490 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30491
30492         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
30493         --help to stdout.  Reported by sms@antinode.org (Steven
30494         M. Schweda).
30495
30496 2007-10-22  Simon Josefsson  <simon@josefsson.org>
30497
30498         * users.txt: Fix link to libksba.
30499
30500 2007-10-21  Ben Pfaff  <blp@gnu.org>
30501
30502         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
30503         round.c roundf implementation that depends on floorf and ceilf to
30504         be tested unconditionally.
30505
30506 2007-10-21  Ben Pfaff  <blp@gnu.org>
30507
30508         * m4/check-libm-func.m4: Removed.
30509         * m4/check-math-lib.m4: New file.
30510         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
30511         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
30512         definition and lack of AC_LIBOBJ([roundf]).
30513         * m4/roundl.m4: Ditto, and similarly for roundl.
30514         * modules/round: Reference new m4 file.
30515         * modules/roundf: Ditto.
30516         * modules/roundl: Ditto.
30517         * tests/test-round2.c (main): Use ROUND instead of round.
30518         Bug report from Bruno Haible.
30519
30520 2007-10-21  Bruno Haible  <bruno@clisp.org>
30521
30522         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
30523         context.
30524
30525 2007-10-21  Bruno Haible  <bruno@clisp.org>
30526
30527         * tests/test-wcwidth.c (main): Allow negative result for some control
30528         characters.
30529
30530         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
30531         Needed on OSF/1 5.1.
30532
30533 2007-10-21  Bruno Haible  <bruno@clisp.org>
30534
30535         * tests/test-floorf1.c: Include isnanf.h.
30536         (main): Use isnanf() instead of isnan().
30537         * tests/test-ceilf1.c: Include isnanf.h.
30538         (main): Use isnanf() instead of isnan().
30539         * tests/test-truncf1.c: Include isnanf.h.
30540         (main): Use isnanf() instead of isnan().
30541         * tests/test-roundf1.c: Include isnanf.h.
30542         (main): Use isnanf() instead of isnan().
30543
30544 2007-10-21  Eric Blake  <ebb9@byu.net>
30545
30546         * users.txt: Update URL for m4.
30547
30548 2007-10-21  Bruno Haible  <bruno@clisp.org>
30549
30550         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
30551
30552 2007-10-21  Bruno Haible  <bruno@clisp.org>
30553
30554         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
30555         Git's management files if the CVS files are not present.
30556
30557 2007-10-20  Bruno Haible  <bruno@clisp.org>
30558
30559         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
30560         gcc-3.4.x.
30561
30562 2007-10-20  Ben Pfaff  <blp@gnu.org>
30563
30564         * lib/math.in.h: Declare round, roundf, roundl if we are providing
30565         implementations.
30566         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
30567         * lib/round.c: New file.
30568         * lib/roundf.c: New file.
30569         * lib/roundl.c: New file.
30570         * m4/round.m4: New file.
30571         * m4/roundf.m4: New file.
30572         * m4/roundl.m4: New file.
30573         * m4/check-libm-func-m4: New file.
30574         * modules/math: Replace round, roundf, roundl related @VARS@ in
30575         math.in.h.
30576         * modules/round: New file.
30577         * modules/round-tests: New file.
30578         * modules/roundf: New file.
30579         * modules/roundf-tests: New file.
30580         * modules/roundl: New file.
30581         * modules/roundl-tests: New file.
30582         * tests/test-round1.c: New file.
30583         * tests/test-round2.c: New file.
30584         * tests/test-roundf1.c: New file.
30585         * tests/test-roundf2.c: New file.
30586         * tests/test-roundl.c: New file.
30587         * doc/functions/round.texi: Mention round module.
30588         * doc/functions/roundf.texi: Mention roundf module.
30589         * doc/functions/roundl.texi: Mention roundl module.
30590         * MODULES.html.sh: Mention new modules.
30591         Thanks to Bruno Haible for suggestions.
30592
30593 2007-10-20  Jim Meyering  <meyering@redhat.com>
30594
30595         * lib/xprintf.c: Include <config.h> unconditionally.
30596
30597         Change xprintf's license to GPL.
30598         * modules/xprintf (License): s/LGPL/GPL/, since this module
30599         depends on modules (exit and exitfail) which are GPL.
30600         Suggestion from Bruno Haible.
30601
30602         xprintf fixes.
30603         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
30604         Use a clearer diagnostic.
30605         Patch from Bruno Haible.
30606
30607 2007-10-20  Bruno Haible  <bruno@clisp.org>
30608
30609         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
30610         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
30611         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30612
30613 2007-10-20  Bruno Haible  <bruno@clisp.org>
30614
30615         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
30616         precision in the comparison result > x - 1 or similar.
30617         * tests/test-ceilf2.c (correct_result_p): Likewise.
30618         * tests/test-truncf2.c (correct_result_p): Likewise.
30619         * tests/test-trunc2.c (correct_result_p): Likewise.
30620         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30621
30622 2007-10-20  Bruno Haible  <bruno@clisp.org>
30623
30624         * modules/ceil: New file.
30625         * m4/ceil.m4: New file.
30626         * doc/functions/ceil.texi: Mention the 'ceil' module.
30627
30628 2007-10-20  Bruno Haible  <bruno@clisp.org>
30629
30630         * modules/floor: New file.
30631         * m4/floor.m4: New file.
30632         * doc/functions/floor.texi: Mention the 'floor' module.
30633
30634 2007-10-20  Bruno Haible  <bruno@clisp.org>
30635
30636         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
30637         of %a.
30638         * modules/floorf-tests (Depends-on): Likewise.
30639         * modules/truncf-tests (Depends-on): Likewise.
30640         * modules/trunc-tests (Depends-on): Likewise.
30641         Reported by Ben Pfaff.
30642
30643 2007-10-19  Jim Meyering  <meyering@redhat.com>
30644
30645         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
30646         Don't bother testing specific errno values.  Just test ferror.
30647
30648         New module: xprintf
30649         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
30650
30651 2007-10-19  Bruno Haible  <bruno@clisp.org>
30652
30653         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
30654         syntax.
30655         * modules/javaexec (Makefile.am): Likewise.
30656         * modules/relocatable-prog (Makefile.am): Likewise.
30657         Suggested by Jim Meyering.
30658
30659 2007-10-18  Bruno Haible  <bruno@clisp.org>
30660
30661         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
30662         Reported by Jim Meyering.
30663
30664 2007-10-18  Eric Blake  <ebb9@byu.net>
30665
30666         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
30667
30668 2007-10-18  Bruno Haible  <bruno@clisp.org>
30669
30670         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
30671         the format string into writable memory. Needed in Fortify conditions.
30672
30673 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
30674             Bruno Haible  <bruno@clisp.org>
30675
30676         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
30677         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
30678         * modules/trim (Depends-on): Add mbchar.
30679         (configure.ac): Add gl_FUNC_MBRTOWC.
30680         (Makefile.am): Augment lib_SOURCES.
30681
30682 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
30683
30684         Modify glob.c to use fstatat and dirfd, to simplify it.
30685         Suggested by Eric Blake.
30686         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
30687         Don't include <stdbool.h>; not used.
30688         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
30689         (link_exists_p): Simplify implementation, since we can now assume
30690         dirfd and fstatat.
30691         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
30692
30693 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30694
30695         * gnulib-tool (func_get_dependencies): Fix sed script to
30696         match only tests.
30697
30698 2007-10-17  Bruno Haible  <bruno@clisp.org>
30699
30700         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
30701         allow locale names without encoding suffix.
30702         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
30703         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30704
30705 2007-10-16  Bruno Haible  <bruno@clisp.org>
30706
30707         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
30708         * lib/getgroups.c (getgroups): Likewise.
30709         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
30710
30711 2007-10-16  Bruno Haible  <bruno@clisp.org>
30712
30713         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
30714         * modules/malloc-posix (License): Likewise.
30715         * modules/realloc-posix (License): Likewise.
30716         * modules/calloc-posix (License): Likewise.
30717         * modules/intprops (License): Change from GPL to LGPL, with
30718         Paul Eggert's approval.
30719
30720 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30721
30722         Merge glibc changes into lib/glob.c.
30723
30724         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
30725         2007-10-15 04:59:03 UTC.  Here are the changes:
30726
30727         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
30728
30729         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
30730
30731         * lib/glob.c: Add some branch prediction throughout.
30732
30733         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
30734
30735         [BZ #5103]
30736         * lib/glob.c (glob): Recognize patterns starting \/.
30737
30738         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
30739
30740         [BZ #3996]
30741         * lib/glob.c (attribute_hidden): Define if not defined.
30742         (glob): Unescape dirname, filename or username when needed and not
30743         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
30744         is NULL.  Handle unescaped [ in pattern without closing ].
30745         Don't pass GLOB_CHECK down to recursive glob for directories.
30746         (__glob_pattern_type): New function.
30747         (__glob_pattern_p): Implement using __glob_pattern_type.
30748         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
30749         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
30750         Remove unreachable code.
30751
30752         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
30753
30754         * lib/glob.c (glob_in_dir): Add some comments and asserts to
30755         explain why there are no leaks.
30756
30757         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
30758
30759         [BZ #3253]
30760         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
30761         time, rather allocate increasingly bigger arrays of pointers, if
30762         possible with alloca, if too large with malloc.
30763
30764 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
30765
30766         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
30767         Problem reported by H.Merijn Brand in
30768         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
30769         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
30770         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
30771
30772 2007-10-15  Bruno Haible  <bruno@clisp.org>
30773
30774         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
30775         with explicit rpl_ prefix.
30776         * lib/fopen.c (fopen): Likewise.
30777         * lib/freopen.c (freopen): Likewise.
30778         * lib/iconv.c (iconv): Likewise.
30779         * lib/iconv_close.c (iconv_close): Likewise.
30780
30781 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30782
30783         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
30784
30785 2007-10-15  Bruno Haible  <bruno@clisp.org>
30786
30787         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
30788         <stddef.h> instead of <stdlib.h> since we only need NULL.
30789         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30790
30791 2007-10-15  Bruno Haible  <bruno@clisp.org>
30792
30793         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
30794         Replace paragraph talking about LIBOBJS.
30795         Reported by Colin Watson <cjwatson@debian.org>.
30796
30797 2007-10-15  Bruno Haible  <bruno@clisp.org>
30798
30799         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
30800         <stdlib.h> before using NULL.
30801
30802 2007-10-15  Simon Josefsson  <simon@josefsson.org>
30803
30804         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
30805         Reported by Albert Chin <china@thewrittenword.com>.
30806
30807 2007-10-14  Bruno Haible  <bruno@clisp.org>
30808
30809         * modules/iconv_open-utf-tests: New file.
30810         * tests/test-iconv-utf.c: New file.
30811
30812         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
30813         * modules/iconv_open-utf: New file.
30814         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
30815         (iconv, iconv_close): New declarations.
30816         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
30817         be defined.
30818         (iconv_open): Add special handling of conversion between UTF-8 and
30819         UTF-{16,32}{BE,LE}.
30820         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
30821         * lib/iconv_close.c: New file.
30822         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
30823         gl_FUNC_ICONV_OPEN.
30824         (gl_FUNC_ICONV_OPEN): Use it.
30825         (gl_FUNC_ICONV_OPEN_UTF): New macro.
30826         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
30827         and REPLACE_ICONV_UTF.
30828         * modules/iconv_open (Depends-on): Add c-strcase.
30829         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
30830         ICONV_CONST.
30831         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
30832
30833 2007-10-13  Albert Chin  <china@thewrittenword.com>
30834             Bruno Haible  <bruno@clisp.org>
30835
30836         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
30837         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
30838
30839 2007-10-13  Bruno Haible  <bruno@clisp.org>
30840
30841         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
30842         defined, use the ISO C99 inline semantics.
30843         * lib/argp.h (ARGP_EI): Likewise.
30844
30845 2007-10-13  Bruno Haible  <bruno@clisp.org>
30846
30847         Handle 'inline' change in gcc 4.3.0.
30848         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
30849         argp_fmtstream_write, argp_fmtstream_set_lmargin,
30850         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
30851         argp_fmtstream_point): Disable 'extern' declaration if the function
30852         definition is going to be provided inline.
30853         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
30854         semantics, not the ISO C99 inline semantics.
30855         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
30856         'extern' declaration if the function definition is going to be provided
30857         inline.
30858         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
30859         the GNU C inline semantics, not the ISO C99 inline semantics. With
30860         GCC 4.2, avoid a warning.
30861
30862 2007-10-13  Bruno Haible  <bruno@clisp.org>
30863
30864         * lib/freading.h (freading): Enable the use of __freading for
30865         glibc >= 2.7.
30866         * lib/freading.c (freading): Likewise.
30867
30868 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
30869
30870         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
30871         "warning: C99 inline functions are not supported; using GNU89".
30872
30873 2007-10-12  Bruno Haible  <bruno@clisp.org>
30874
30875         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
30876         of 2.
30877         * tests/test-ceilf2.c: New file.
30878         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
30879
30880         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
30881         * modules/ceilf-tests: Update.
30882
30883 2007-10-12  Bruno Haible  <bruno@clisp.org>
30884
30885         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
30886         of 2.
30887         * tests/test-floorf2.c: New file.
30888         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
30889
30890         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
30891         * modules/floorf-tests: Update.
30892
30893 2007-10-12  Bruno Haible  <bruno@clisp.org>
30894
30895         * tests/test-trunc2.c: New file.
30896         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
30897
30898         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
30899         * modules/trunc-tests: Update.
30900
30901 2007-10-12  Bruno Haible  <bruno@clisp.org>
30902
30903         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
30904         of 2.
30905         * tests/test-truncf2.c: New file.
30906         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
30907
30908         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
30909         * modules/truncf-tests: Update.
30910
30911 2007-10-11  Eric Blake  <ebb9@byu.net>
30912
30913         Don't claim strerror is broken on Interix.
30914         * doc/functions/strerror.texi (strerror): Known broken systems are
30915         now Solaris 8, and not Interix.
30916         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
30917         Interix on cross-compile.
30918         Reported by Martin Koeppe in
30919         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
30920
30921 2007-10-11  Bruno Haible  <bruno@clisp.org>
30922
30923         * modules/i-ring-tests: New file.
30924         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
30925         instead of assert.
30926
30927 2007-10-11  Bruno Haible  <bruno@clisp.org>
30928
30929         * modules/filenamecat-tests: New file.
30930         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
30931         * lib/filenamecat.c: Remove test code.
30932
30933 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
30934
30935         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
30936
30937         * lib/strerror.c: Include <string.h> always, to test interface,
30938         and to remove the need for the dummy.
30939         Include intprops.h to compute width instead of doing it ourselves
30940         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
30941         (strerror): Define it to return NULL if there's no system strerror.
30942         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
30943         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
30944         ancient pre-strerror Unix systems well any more.  Saying "unknown
30945         system error" is enough.
30946         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
30947         simpler strerror.c implementation.
30948         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
30949         Simplify the tests to reflect the simpler strerror implementation.
30950         * modules/strerror (Depends-on): Add intprops.
30951
30952 2007-10-09  Eric Blake  <ebb9@byu.net>
30953
30954         Silence test-fpending.
30955         * modules/fpending-tests (Files): Add wrapper script.
30956         * tests/test-fpending.sh: New file.
30957
30958 2007-10-09  Bruno Haible  <bruno@clisp.org>
30959
30960         * MODULES.html.sh (func_module): Don't create a hyperlink for
30961         function names like 'printf_frexp'.
30962         (Misc): Add crc, memxor.
30963         (Characteristics of floating types): New section.
30964         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
30965         isnanf-nolibm, signbit, trunc, truncf, truncl.
30966         (Enhancements for ISO C 99 functions): New subsection Input/output.
30967         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
30968         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
30969         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
30970         (Compatibility checks for POSIX:2001 functions): Add clock-time.
30971         (Enhancements for POSIX:2001 functions): Add chdir-long.
30972         (File system functions): Add areadlink, chdir-safer, read-file.
30973         Remove cycle-check.
30974         (File system as inode set): New section.
30975         (Date and time): Add gethrxtime.
30976         (Multithreading): Add openmp.
30977         (Internationalization functions): Add localename.
30978         (Unicode string functions): Add unistr/u*-mbsnlen.
30979         (Support for maintaining and releasing projects): Add git-version-gen.
30980         (Lone files): Remove directories.
30981
30982 2007-10-08  Ben Pfaff  <blp@gnu.org>
30983
30984         * lib/xmalloca.h: Fix typo in comment.
30985
30986 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
30987
30988         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
30989         when avoiding problems with integer overflow.  Use a portable test
30990         instead.
30991
30992 2007-10-08  Simon Josefsson  <simon@josefsson.org>
30993
30994         * modules/dummy (License): Change to LGPLv2+.
30995         * modules/float (License): Likewise
30996         * modules/realloc (License): Likewise
30997         * modules/stdlib (License): Likewise
30998
30999 2007-10-07  Bruno Haible  <bruno@clisp.org>
31000
31001         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
31002         * floor.c (TWO_MANT_DIG): Likewise.
31003         * ceil.c (TWO_MANT_DIG): Likewise.
31004         Reported by Ben Pfaff.
31005
31006 2007-10-07  Bruno Haible  <bruno@clisp.org>
31007
31008         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
31009         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
31010         * lib/frexp.c (FUNC): Likewise.
31011         * lib/printf-frexp.h (printf_frexp): Likewise.
31012         * lib/printf-frexpl.h (printf_frexpl): Likewise.
31013         * lib/printf-frexp.c (FUNC): Likewise.
31014         Suggested by Jim Meyering.
31015
31016 2007-10-07  Jim Meyering  <meyering@redhat.com>
31017
31018         Make xnanosleep's integer overflow test more robust.
31019         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
31020         so that gcc-4.3.0 doesn't optimize away this test for overflow.
31021
31022 2007-10-07  Bruno Haible  <bruno@clisp.org>
31023
31024         * NEWS: Mention the license change.
31025
31026         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
31027         abbreviations in the modules files.
31028
31029         Change copyright notice from GPLv2+ to GPLv3+.
31030         * README: Change copyright notice.
31031         * MODULES.html.sh: Likewise.
31032         * build-aux/bootstrap.conf: Likewise.
31033         * build-aux/config.libpath: Likewise.
31034         * build-aux/csharpcomp.sh.in: Likewise.
31035         * build-aux/csharpexec.sh.in: Likewise.
31036         * build-aux/install-reloc: Likewise.
31037         * build-aux/javacomp.sh.in: Likewise.
31038         * build-aux/javaexec.sh.in: Likewise.
31039         * build-aux/ldd.sh.in: Likewise.
31040         * build-aux/reloc-ldflags: Likewise.
31041         * build-aux/relocatable.sh.in: Likewise.
31042         * build-aux/x-to-1.in: Likewise.
31043         * check-module: Likewise.
31044         * config/srclistvars.sh: Likewise.
31045         * gnulib-tool: Likewise.
31046         * lib/acl-internal.h: Likewise.
31047         * lib/acl.c: Likewise.
31048         * lib/acl.h: Likewise.
31049         * lib/acl_entries.c: Likewise.
31050         * lib/areadlink-with-size.c: Likewise.
31051         * lib/areadlink.c: Likewise.
31052         * lib/areadlink.h: Likewise.
31053         * lib/argmatch.c: Likewise.
31054         * lib/argmatch.h: Likewise.
31055         * lib/argp-ba.c: Likewise.
31056         * lib/argp-eexst.c: Likewise.
31057         * lib/argp-fmtstream.c: Likewise.
31058         * lib/argp-fmtstream.h: Likewise.
31059         * lib/argp-fs-xinl.c: Likewise.
31060         * lib/argp-help.c: Likewise.
31061         * lib/argp-namefrob.h: Likewise.
31062         * lib/argp-parse.c: Likewise.
31063         * lib/argp-pin.c: Likewise.
31064         * lib/argp-pv.c: Likewise.
31065         * lib/argp-pvh.c: Likewise.
31066         * lib/argp-xinl.c: Likewise.
31067         * lib/argp.h: Likewise.
31068         * lib/at-func.c: Likewise.
31069         * lib/atanl.c: Likewise.
31070         * lib/backupfile.c: Likewise.
31071         * lib/backupfile.h: Likewise.
31072         * lib/basename.c: Likewise.
31073         * lib/binary-io.h: Likewise.
31074         * lib/byteswap.in.h: Likewise.
31075         * lib/c-stack.c: Likewise.
31076         * lib/c-stack.h: Likewise.
31077         * lib/c-strcasestr.c: Likewise.
31078         * lib/c-strcasestr.h: Likewise.
31079         * lib/c-strstr.c: Likewise.
31080         * lib/c-strstr.h: Likewise.
31081         * lib/c-strtod.c: Likewise.
31082         * lib/calloc.c: Likewise.
31083         * lib/canon-host.c: Likewise.
31084         * lib/canon-host.h: Likewise.
31085         * lib/canonicalize-lgpl.c: Likewise.
31086         * lib/canonicalize.c: Likewise.
31087         * lib/canonicalize.h: Likewise.
31088         * lib/ceil.c: Likewise.
31089         * lib/ceilf.c: Likewise.
31090         * lib/ceill.c: Likewise.
31091         * lib/chdir-long.c: Likewise.
31092         * lib/chdir-long.h: Likewise.
31093         * lib/chdir-safer.c: Likewise.
31094         * lib/chdir-safer.h: Likewise.
31095         * lib/chown.c: Likewise.
31096         * lib/classpath.c: Likewise.
31097         * lib/classpath.h: Likewise.
31098         * lib/clean-temp.c: Likewise.
31099         * lib/clean-temp.h: Likewise.
31100         * lib/cloexec.c: Likewise.
31101         * lib/close-stream.c: Likewise.
31102         * lib/closein.c: Likewise.
31103         * lib/closein.h: Likewise.
31104         * lib/closeout.c: Likewise.
31105         * lib/closeout.h: Likewise.
31106         * lib/concat-filename.c: Likewise.
31107         * lib/copy-file.c: Likewise.
31108         * lib/copy-file.h: Likewise.
31109         * lib/count-one-bits.h: Likewise.
31110         * lib/crc.c: Likewise.
31111         * lib/crc.h: Likewise.
31112         * lib/creat-safer.c: Likewise.
31113         * lib/csharpcomp.c: Likewise.
31114         * lib/csharpcomp.h: Likewise.
31115         * lib/csharpexec.c: Likewise.
31116         * lib/csharpexec.h: Likewise.
31117         * lib/cycle-check.c: Likewise.
31118         * lib/cycle-check.h: Likewise.
31119         * lib/diacrit.c: Likewise.
31120         * lib/diacrit.h: Likewise.
31121         * lib/diffseq.h: Likewise.
31122         * lib/dirchownmod.c: Likewise.
31123         * lib/dirent.in.h: Likewise.
31124         * lib/dirfd.c: Likewise.
31125         * lib/dirfd.h: Likewise.
31126         * lib/dirname.c: Likewise.
31127         * lib/dirname.h: Likewise.
31128         * lib/dummy.c: Likewise.
31129         * lib/dup-safer.c: Likewise.
31130         * lib/dup2.c: Likewise.
31131         * lib/eealloc.h: Likewise.
31132         * lib/error.c: Likewise.
31133         * lib/error.h: Likewise.
31134         * lib/euidaccess.c: Likewise.
31135         * lib/exclude.c: Likewise.
31136         * lib/exclude.h: Likewise.
31137         * lib/execute.c: Likewise.
31138         * lib/execute.h: Likewise.
31139         * lib/exitfail.c: Likewise.
31140         * lib/exitfail.h: Likewise.
31141         * lib/expl.c: Likewise.
31142         * lib/fatal-signal.c: Likewise.
31143         * lib/fatal-signal.h: Likewise.
31144         * lib/fbufmode.c: Likewise.
31145         * lib/fbufmode.h: Likewise.
31146         * lib/fchdir.c: Likewise.
31147         * lib/fchmodat.c: Likewise.
31148         * lib/fchownat.c: Likewise.
31149         * lib/fcntl--.h: Likewise.
31150         * lib/fcntl-safer.h: Likewise.
31151         * lib/fcntl.in.h: Likewise.
31152         * lib/fd-safer.c: Likewise.
31153         * lib/fflush.c: Likewise.
31154         * lib/file-has-acl.c: Likewise.
31155         * lib/file-set.c: Likewise.
31156         * lib/file-type.c: Likewise.
31157         * lib/file-type.h: Likewise.
31158         * lib/fileblocks.c: Likewise.
31159         * lib/filemode.c: Likewise.
31160         * lib/filemode.h: Likewise.
31161         * lib/filename.h: Likewise.
31162         * lib/filenamecat.c: Likewise.
31163         * lib/filenamecat.h: Likewise.
31164         * lib/findprog.c: Likewise.
31165         * lib/findprog.h: Likewise.
31166         * lib/float.in.h: Likewise.
31167         * lib/floor.c: Likewise.
31168         * lib/floorf.c: Likewise.
31169         * lib/floorl.c: Likewise.
31170         * lib/fopen-safer.c: Likewise.
31171         * lib/fopen.c: Likewise.
31172         * lib/fpending.c: Likewise.
31173         * lib/fpending.h: Likewise.
31174         * lib/fprintf.c: Likewise.
31175         * lib/fprintftime.h: Likewise.
31176         * lib/fpucw.h: Likewise.
31177         * lib/fpurge.c: Likewise.
31178         * lib/fpurge.h: Likewise.
31179         * lib/freadable.c: Likewise.
31180         * lib/freadable.h: Likewise.
31181         * lib/freadahead.c: Likewise.
31182         * lib/freadahead.h: Likewise.
31183         * lib/freading.c: Likewise.
31184         * lib/freading.h: Likewise.
31185         * lib/free.c: Likewise.
31186         * lib/freopen.c: Likewise.
31187         * lib/frexp.c: Likewise.
31188         * lib/frexpl.c: Likewise.
31189         * lib/fseek.c: Likewise.
31190         * lib/fseterr.c: Likewise.
31191         * lib/fseterr.h: Likewise.
31192         * lib/fstatat.c: Likewise.
31193         * lib/fstrcmp.c: Likewise.
31194         * lib/fstrcmp.h: Likewise.
31195         * lib/fsusage.c: Likewise.
31196         * lib/fsusage.h: Likewise.
31197         * lib/ftell.c: Likewise.
31198         * lib/ftello.c: Likewise.
31199         * lib/fts-cycle.c: Likewise.
31200         * lib/fts.c: Likewise.
31201         * lib/fts_.h: Likewise.
31202         * lib/full-read.c: Likewise.
31203         * lib/full-read.h: Likewise.
31204         * lib/full-write.c: Likewise.
31205         * lib/full-write.h: Likewise.
31206         * lib/fwritable.c: Likewise.
31207         * lib/fwritable.h: Likewise.
31208         * lib/fwriteerror.c: Likewise.
31209         * lib/fwriteerror.h: Likewise.
31210         * lib/fwriting.c: Likewise.
31211         * lib/fwriting.h: Likewise.
31212         * lib/gcd.c: Likewise.
31213         * lib/gcd.h: Likewise.
31214         * lib/getcwd.c: Likewise.
31215         * lib/getdate.h: Likewise.
31216         * lib/getdate.y: Likewise.
31217         * lib/getdomainname.c: Likewise.
31218         * lib/getdomainname.h: Likewise.
31219         * lib/getgroups.c: Likewise.
31220         * lib/gethostname.c: Likewise.
31221         * lib/gethrxtime.c: Likewise.
31222         * lib/gethrxtime.h: Likewise.
31223         * lib/getloadavg.c: Likewise.
31224         * lib/getndelim2.c: Likewise.
31225         * lib/getndelim2.h: Likewise.
31226         * lib/getnline.c: Likewise.
31227         * lib/getnline.h: Likewise.
31228         * lib/getopt.c: Likewise.
31229         * lib/getopt.in.h: Likewise.
31230         * lib/getopt1.c: Likewise.
31231         * lib/getopt_int.h: Likewise.
31232         * lib/getpagesize.h: Likewise.
31233         * lib/getsubopt.c: Likewise.
31234         * lib/gettime.c: Likewise.
31235         * lib/getugroups.c: Likewise.
31236         * lib/getugroups.h: Likewise.
31237         * lib/getusershell.c: Likewise.
31238         * lib/gl_anyavltree_list1.h: Likewise.
31239         * lib/gl_anyavltree_list2.h: Likewise.
31240         * lib/gl_anyhash_list1.h: Likewise.
31241         * lib/gl_anyhash_list2.h: Likewise.
31242         * lib/gl_anylinked_list1.h: Likewise.
31243         * lib/gl_anylinked_list2.h: Likewise.
31244         * lib/gl_anyrbtree_list1.h: Likewise.
31245         * lib/gl_anyrbtree_list2.h: Likewise.
31246         * lib/gl_anytree_list1.h: Likewise.
31247         * lib/gl_anytree_list2.h: Likewise.
31248         * lib/gl_anytree_oset.h: Likewise.
31249         * lib/gl_anytreehash_list1.h: Likewise.
31250         * lib/gl_anytreehash_list2.h: Likewise.
31251         * lib/gl_array_list.c: Likewise.
31252         * lib/gl_array_list.h: Likewise.
31253         * lib/gl_array_oset.c: Likewise.
31254         * lib/gl_array_oset.h: Likewise.
31255         * lib/gl_avltree_list.c: Likewise.
31256         * lib/gl_avltree_list.h: Likewise.
31257         * lib/gl_avltree_oset.c: Likewise.
31258         * lib/gl_avltree_oset.h: Likewise.
31259         * lib/gl_avltreehash_list.c: Likewise.
31260         * lib/gl_avltreehash_list.h: Likewise.
31261         * lib/gl_carray_list.c: Likewise.
31262         * lib/gl_carray_list.h: Likewise.
31263         * lib/gl_linked_list.c: Likewise.
31264         * lib/gl_linked_list.h: Likewise.
31265         * lib/gl_linkedhash_list.c: Likewise.
31266         * lib/gl_linkedhash_list.h: Likewise.
31267         * lib/gl_list.c: Likewise.
31268         * lib/gl_list.h: Likewise.
31269         * lib/gl_oset.c: Likewise.
31270         * lib/gl_oset.h: Likewise.
31271         * lib/gl_rbtree_list.c: Likewise.
31272         * lib/gl_rbtree_list.h: Likewise.
31273         * lib/gl_rbtree_oset.c: Likewise.
31274         * lib/gl_rbtree_oset.h: Likewise.
31275         * lib/gl_rbtreehash_list.c: Likewise.
31276         * lib/gl_rbtreehash_list.h: Likewise.
31277         * lib/gl_sublist.c: Likewise.
31278         * lib/gl_sublist.h: Likewise.
31279         * lib/group-member.c: Likewise.
31280         * lib/group-member.h: Likewise.
31281         * lib/hard-locale.c: Likewise.
31282         * lib/hard-locale.h: Likewise.
31283         * lib/hash-pjw.c: Likewise.
31284         * lib/hash-pjw.h: Likewise.
31285         * lib/hash-triple.c: Likewise.
31286         * lib/hash.c: Likewise.
31287         * lib/hash.h: Likewise.
31288         * lib/human.c: Likewise.
31289         * lib/human.h: Likewise.
31290         * lib/i-ring.c: Likewise.
31291         * lib/i-ring.h: Likewise.
31292         * lib/idcache.c: Likewise.
31293         * lib/imaxabs.c: Likewise.
31294         * lib/imaxdiv.c: Likewise.
31295         * lib/inet_pton.c: Likewise.
31296         * lib/inet_pton.h: Likewise.
31297         * lib/intprops.h: Likewise.
31298         * lib/inttostr.c: Likewise.
31299         * lib/inttostr.h: Likewise.
31300         * lib/inttypes.in.h: Likewise.
31301         * lib/isapipe.c: Likewise.
31302         * lib/isdir.c: Likewise.
31303         * lib/isnan.c: Likewise.
31304         * lib/isnan.h: Likewise.
31305         * lib/isnanf.c: Likewise.
31306         * lib/isnanf.h: Likewise.
31307         * lib/isnanl-nolibm.h: Likewise.
31308         * lib/isnanl.c: Likewise.
31309         * lib/isnanl.h: Likewise.
31310         * lib/javacomp.c: Likewise.
31311         * lib/javacomp.h: Likewise.
31312         * lib/javaexec.c: Likewise.
31313         * lib/javaexec.h: Likewise.
31314         * lib/javaversion.c: Likewise.
31315         * lib/javaversion.h: Likewise.
31316         * lib/javaversion.java: Likewise.
31317         * lib/lbrkprop.h: Likewise.
31318         * lib/lchmod.h: Likewise.
31319         * lib/lchown.c: Likewise.
31320         * lib/ldexpl.c: Likewise.
31321         * lib/linebreak.c: Likewise.
31322         * lib/linebreak.h: Likewise.
31323         * lib/linebuffer.c: Likewise.
31324         * lib/linebuffer.h: Likewise.
31325         * lib/locale.in.h: Likewise.
31326         * lib/logl.c: Likewise.
31327         * lib/long-options.c: Likewise.
31328         * lib/long-options.h: Likewise.
31329         * lib/lstat.c: Likewise.
31330         * lib/lstat.h: Likewise.
31331         * lib/math.in.h: Likewise.
31332         * lib/mbchar.c: Likewise.
31333         * lib/mbchar.h: Likewise.
31334         * lib/mbfile.h: Likewise.
31335         * lib/mbiter.h: Likewise.
31336         * lib/mbscasecmp.c: Likewise.
31337         * lib/mbscasestr.c: Likewise.
31338         * lib/mbschr.c: Likewise.
31339         * lib/mbscspn.c: Likewise.
31340         * lib/mbslen.c: Likewise.
31341         * lib/mbsncasecmp.c: Likewise.
31342         * lib/mbsnlen.c: Likewise.
31343         * lib/mbspbrk.c: Likewise.
31344         * lib/mbspcasecmp.c: Likewise.
31345         * lib/mbsrchr.c: Likewise.
31346         * lib/mbssep.c: Likewise.
31347         * lib/mbsspn.c: Likewise.
31348         * lib/mbsstr.c: Likewise.
31349         * lib/mbstok_r.c: Likewise.
31350         * lib/mbswidth.c: Likewise.
31351         * lib/mbswidth.h: Likewise.
31352         * lib/mbuiter.h: Likewise.
31353         * lib/memcasecmp.c: Likewise.
31354         * lib/memcasecmp.h: Likewise.
31355         * lib/memchr.c: Likewise.
31356         * lib/memcmp.c: Likewise.
31357         * lib/memcoll.c: Likewise.
31358         * lib/memcoll.h: Likewise.
31359         * lib/memcpy.c: Likewise.
31360         * lib/memrchr.c: Likewise.
31361         * lib/mkancesdirs.c: Likewise.
31362         * lib/mkdir-p.c: Likewise.
31363         * lib/mkdir-p.h: Likewise.
31364         * lib/mkdir.c: Likewise.
31365         * lib/mkdirat.c: Likewise.
31366         * lib/mkdtemp.c: Likewise.
31367         * lib/mkstemp-safer.c: Likewise.
31368         * lib/mkstemp.c: Likewise.
31369         * lib/modechange.c: Likewise.
31370         * lib/modechange.h: Likewise.
31371         * lib/mountlist.c: Likewise.
31372         * lib/mountlist.h: Likewise.
31373         * lib/mpsort.c: Likewise.
31374         * lib/nanosleep.c: Likewise.
31375         * lib/obstack.c: Likewise.
31376         * lib/obstack.h: Likewise.
31377         * lib/open-safer.c: Likewise.
31378         * lib/open.c: Likewise.
31379         * lib/openat-die.c: Likewise.
31380         * lib/openat-priv.h: Likewise.
31381         * lib/openat-proc.c: Likewise.
31382         * lib/openat.c: Likewise.
31383         * lib/openat.h: Likewise.
31384         * lib/pagealign_alloc.c: Likewise.
31385         * lib/pagealign_alloc.h: Likewise.
31386         * lib/physmem.c: Likewise.
31387         * lib/physmem.h: Likewise.
31388         * lib/pipe-safer.c: Likewise.
31389         * lib/pipe.c: Likewise.
31390         * lib/pipe.h: Likewise.
31391         * lib/posixtm.c: Likewise.
31392         * lib/posixtm.h: Likewise.
31393         * lib/posixver.c: Likewise.
31394         * lib/printf-frexp.c: Likewise.
31395         * lib/printf-frexp.h: Likewise.
31396         * lib/printf-frexpl.c: Likewise.
31397         * lib/printf-frexpl.h: Likewise.
31398         * lib/printf.c: Likewise.
31399         * lib/progname.c: Likewise.
31400         * lib/progname.h: Likewise.
31401         * lib/progreloc.c: Likewise.
31402         * lib/putenv.c: Likewise.
31403         * lib/quote.c: Likewise.
31404         * lib/quote.h: Likewise.
31405         * lib/quotearg.c: Likewise.
31406         * lib/quotearg.h: Likewise.
31407         * lib/raise.c: Likewise.
31408         * lib/readline.c: Likewise.
31409         * lib/readline.h: Likewise.
31410         * lib/readlink.c: Likewise.
31411         * lib/readtokens.c: Likewise.
31412         * lib/readtokens.h: Likewise.
31413         * lib/readtokens0.c: Likewise.
31414         * lib/readtokens0.h: Likewise.
31415         * lib/readutmp.c: Likewise.
31416         * lib/readutmp.h: Likewise.
31417         * lib/realloc.c: Likewise.
31418         * lib/relocwrapper.c: Likewise.
31419         * lib/rename-dest-slash.c: Likewise.
31420         * lib/rename.c: Likewise.
31421         * lib/rmdir.c: Likewise.
31422         * lib/rpmatch.c: Likewise.
31423         * lib/safe-read.c: Likewise.
31424         * lib/safe-read.h: Likewise.
31425         * lib/safe-write.c: Likewise.
31426         * lib/safe-write.h: Likewise.
31427         * lib/same-inode.h: Likewise.
31428         * lib/same.c: Likewise.
31429         * lib/same.h: Likewise.
31430         * lib/save-cwd.c: Likewise.
31431         * lib/save-cwd.h: Likewise.
31432         * lib/savedir.c: Likewise.
31433         * lib/savedir.h: Likewise.
31434         * lib/savewd.c: Likewise.
31435         * lib/savewd.h: Likewise.
31436         * lib/search.in.h: Likewise.
31437         * lib/setenv.c: Likewise.
31438         * lib/setenv.h: Likewise.
31439         * lib/settime.c: Likewise.
31440         * lib/sh-quote.c: Likewise.
31441         * lib/sh-quote.h: Likewise.
31442         * lib/sig2str.c: Likewise.
31443         * lib/sig2str.h: Likewise.
31444         * lib/signal.in.h: Likewise.
31445         * lib/signbitd.c: Likewise.
31446         * lib/signbitf.c: Likewise.
31447         * lib/signbitl.c: Likewise.
31448         * lib/sigprocmask.c: Likewise.
31449         * lib/sincosl.c: Likewise.
31450         * lib/sleep.c: Likewise.
31451         * lib/sprintf.c: Likewise.
31452         * lib/sqrtl.c: Likewise.
31453         * lib/stat-time.h: Likewise.
31454         * lib/stdio--.h: Likewise.
31455         * lib/stdio-safer.h: Likewise.
31456         * lib/stdlib--.h: Likewise.
31457         * lib/stdlib-safer.h: Likewise.
31458         * lib/stdlib.in.h: Likewise.
31459         * lib/stpcpy.c: Likewise.
31460         * lib/stpncpy.c: Likewise.
31461         * lib/strchrnul.c: Likewise.
31462         * lib/strcspn.c: Likewise.
31463         * lib/strerror.c: Likewise.
31464         * lib/strftime.c: Likewise.
31465         * lib/strftime.h: Likewise.
31466         * lib/striconveh.c: Likewise.
31467         * lib/striconveh.h: Likewise.
31468         * lib/striconveha.c: Likewise.
31469         * lib/striconveha.h: Likewise.
31470         * lib/stripslash.c: Likewise.
31471         * lib/strnlen1.c: Likewise.
31472         * lib/strnlen1.h: Likewise.
31473         * lib/strtod.c: Likewise.
31474         * lib/strtoimax.c: Likewise.
31475         * lib/strtok_r.c: Likewise.
31476         * lib/strtol.c: Likewise.
31477         * lib/strtoll.c: Likewise.
31478         * lib/strtoul.c: Likewise.
31479         * lib/strtoull.c: Likewise.
31480         * lib/sysexits.in.h: Likewise.
31481         * lib/tempname.c: Likewise.
31482         * lib/tempname.h: Likewise.
31483         * lib/timespec.h: Likewise.
31484         * lib/tls.c: Likewise.
31485         * lib/tls.h: Likewise.
31486         * lib/tmpdir.c: Likewise.
31487         * lib/tmpdir.h: Likewise.
31488         * lib/tmpfile-safer.c: Likewise.
31489         * lib/tmpfile.c: Likewise.
31490         * lib/trigl.c: Likewise.
31491         * lib/trigl.h: Likewise.
31492         * lib/trim.c: Likewise.
31493         * lib/trim.h: Likewise.
31494         * lib/trunc.c: Likewise.
31495         * lib/truncf.c: Likewise.
31496         * lib/truncl.c: Likewise.
31497         * lib/tsearch.c: Likewise.
31498         * lib/unicodeio.c: Likewise.
31499         * lib/unicodeio.h: Likewise.
31500         * lib/unistd--.h: Likewise.
31501         * lib/unistd-safer.h: Likewise.
31502         * lib/unistdio/ulc-fprintf.c: Likewise.
31503         * lib/unistdio/ulc-vfprintf.c: Likewise.
31504         * lib/unlinkdir.c: Likewise.
31505         * lib/unlinkdir.h: Likewise.
31506         * lib/unlocked-io.h: Likewise.
31507         * lib/unsetenv.c: Likewise.
31508         * lib/userspec.c: Likewise.
31509         * lib/utime.c: Likewise.
31510         * lib/utimecmp.c: Likewise.
31511         * lib/utimecmp.h: Likewise.
31512         * lib/utimens.c: Likewise.
31513         * lib/verify.h: Likewise.
31514         * lib/verror.c: Likewise.
31515         * lib/verror.h: Likewise.
31516         * lib/version-etc-fsf.c: Likewise.
31517         * lib/version-etc.c: Likewise.
31518         * lib/version-etc.h: Likewise.
31519         * lib/vfprintf.c: Likewise.
31520         * lib/vprintf.c: Likewise.
31521         * lib/vsprintf.c: Likewise.
31522         * lib/w32spawn.h: Likewise.
31523         * lib/wait-process.c: Likewise.
31524         * lib/wait-process.h: Likewise.
31525         * lib/wcwidth.c: Likewise.
31526         * lib/write-any-file.c: Likewise.
31527         * lib/xalloc-die.c: Likewise.
31528         * lib/xalloc.h: Likewise.
31529         * lib/xasprintf.c: Likewise.
31530         * lib/xgetcwd.c: Likewise.
31531         * lib/xgetcwd.h: Likewise.
31532         * lib/xgetdomainname.c: Likewise.
31533         * lib/xgetdomainname.h: Likewise.
31534         * lib/xgethostname.c: Likewise.
31535         * lib/xmalloc.c: Likewise.
31536         * lib/xmalloca.c: Likewise.
31537         * lib/xmalloca.h: Likewise.
31538         * lib/xmemcoll.c: Likewise.
31539         * lib/xnanosleep.c: Likewise.
31540         * lib/xreadlink.c: Likewise.
31541         * lib/xreadlink.h: Likewise.
31542         * lib/xsetenv.c: Likewise.
31543         * lib/xsetenv.h: Likewise.
31544         * lib/xstriconv.c: Likewise.
31545         * lib/xstriconv.h: Likewise.
31546         * lib/xstrndup.c: Likewise.
31547         * lib/xstrndup.h: Likewise.
31548         * lib/xstrtod.c: Likewise.
31549         * lib/xstrtod.h: Likewise.
31550         * lib/xstrtol-error.c: Likewise.
31551         * lib/xstrtol.c: Likewise.
31552         * lib/xstrtol.h: Likewise.
31553         * lib/xtime.h: Likewise.
31554         * lib/xvasprintf.c: Likewise.
31555         * lib/xvasprintf.h: Likewise.
31556         * lib/yesno.c: Likewise.
31557         * lib/yesno.h: Likewise.
31558         * posix-modules: Likewise.
31559         * tests/test-alloca-opt.c: Likewise.
31560         * tests/test-arcfour.c: Likewise.
31561         * tests/test-arctwo.c: Likewise.
31562         * tests/test-argmatch.c: Likewise.
31563         * tests/test-argp-2.sh: Likewise.
31564         * tests/test-argp.c: Likewise.
31565         * tests/test-arpa_inet.c: Likewise.
31566         * tests/test-array_list.c: Likewise.
31567         * tests/test-array_oset.c: Likewise.
31568         * tests/test-atexit.c: Likewise.
31569         * tests/test-avltree_list.c: Likewise.
31570         * tests/test-avltree_oset.c: Likewise.
31571         * tests/test-avltreehash_list.c: Likewise.
31572         * tests/test-base64.c: Likewise.
31573         * tests/test-binary-io.c: Likewise.
31574         * tests/test-byteswap.c: Likewise.
31575         * tests/test-c-ctype.c: Likewise.
31576         * tests/test-c-strcasecmp.c: Likewise.
31577         * tests/test-c-strcasestr.c: Likewise.
31578         * tests/test-c-strncasecmp.c: Likewise.
31579         * tests/test-c-strstr.c: Likewise.
31580         * tests/test-canonicalize-lgpl.c: Likewise.
31581         * tests/test-canonicalize.c: Likewise.
31582         * tests/test-carray_list.c: Likewise.
31583         * tests/test-ceilf.c: Likewise.
31584         * tests/test-ceill.c: Likewise.
31585         * tests/test-count-one-bits.c: Likewise.
31586         * tests/test-crc.c: Likewise.
31587         * tests/test-dirname.c: Likewise.
31588         * tests/test-fbufmode.c: Likewise.
31589         * tests/test-fcntl.c: Likewise.
31590         * tests/test-fflush.c: Likewise.
31591         * tests/test-floorf.c: Likewise.
31592         * tests/test-floorl.c: Likewise.
31593         * tests/test-fopen.c: Likewise.
31594         * tests/test-fprintf-posix.c: Likewise.
31595         * tests/test-fprintf-posix.h: Likewise.
31596         * tests/test-fpurge.c: Likewise.
31597         * tests/test-freadable.c: Likewise.
31598         * tests/test-freadahead.c: Likewise.
31599         * tests/test-freading.c: Likewise.
31600         * tests/test-freopen.c: Likewise.
31601         * tests/test-frexp.c: Likewise.
31602         * tests/test-frexpl.c: Likewise.
31603         * tests/test-fseek.c: Likewise.
31604         * tests/test-fseeko.c: Likewise.
31605         * tests/test-fseterr.c: Likewise.
31606         * tests/test-fstrcmp.c: Likewise.
31607         * tests/test-ftell.c: Likewise.
31608         * tests/test-ftello.c: Likewise.
31609         * tests/test-fwritable.c: Likewise.
31610         * tests/test-fwriting.c: Likewise.
31611         * tests/test-getaddrinfo.c: Likewise.
31612         * tests/test-getpass.c: Likewise.
31613         * tests/test-gettimeofday.c: Likewise.
31614         * tests/test-hmac-md5.c: Likewise.
31615         * tests/test-hmac-sha1.c: Likewise.
31616         * tests/test-iconv.c: Likewise.
31617         * tests/test-iconvme.c: Likewise.
31618         * tests/test-inttypes.c: Likewise.
31619         * tests/test-isnan.c: Likewise.
31620         * tests/test-isnanf.c: Likewise.
31621         * tests/test-isnanl-nolibm.c: Likewise.
31622         * tests/test-isnanl.c: Likewise.
31623         * tests/test-isnanl.h: Likewise.
31624         * tests/test-ldexpl.c: Likewise.
31625         * tests/test-linked_list.c: Likewise.
31626         * tests/test-linkedhash_list.c: Likewise.
31627         * tests/test-locale.c: Likewise.
31628         * tests/test-localename.c: Likewise.
31629         * tests/test-lock.c: Likewise.
31630         * tests/test-lseek.c: Likewise.
31631         * tests/test-malloca.c: Likewise.
31632         * tests/test-math.c: Likewise.
31633         * tests/test-mbscasecmp.c: Likewise.
31634         * tests/test-mbscasestr1.c: Likewise.
31635         * tests/test-mbscasestr2.c: Likewise.
31636         * tests/test-mbscasestr3.c: Likewise.
31637         * tests/test-mbscasestr4.c: Likewise.
31638         * tests/test-mbschr.c: Likewise.
31639         * tests/test-mbscspn.c: Likewise.
31640         * tests/test-mbsncasecmp.c: Likewise.
31641         * tests/test-mbspbrk.c: Likewise.
31642         * tests/test-mbspcasecmp.c: Likewise.
31643         * tests/test-mbsrchr.c: Likewise.
31644         * tests/test-mbsspn.c: Likewise.
31645         * tests/test-mbsstr1.c: Likewise.
31646         * tests/test-mbsstr2.c: Likewise.
31647         * tests/test-mbsstr3.c: Likewise.
31648         * tests/test-md5.c: Likewise.
31649         * tests/test-memmem.c: Likewise.
31650         * tests/test-netinet_in.c: Likewise.
31651         * tests/test-open.c: Likewise.
31652         * tests/test-printf-frexp.c: Likewise.
31653         * tests/test-printf-frexpl.c: Likewise.
31654         * tests/test-printf-posix.c: Likewise.
31655         * tests/test-printf-posix.h: Likewise.
31656         * tests/test-rbtree_list.c: Likewise.
31657         * tests/test-rbtree_oset.c: Likewise.
31658         * tests/test-rbtreehash_list.c: Likewise.
31659         * tests/test-read-file.c: Likewise.
31660         * tests/test-rijndael.c: Likewise.
31661         * tests/test-search.c: Likewise.
31662         * tests/test-signbit.c: Likewise.
31663         * tests/test-sleep.c: Likewise.
31664         * tests/test-snprintf-posix.c: Likewise.
31665         * tests/test-snprintf-posix.h: Likewise.
31666         * tests/test-snprintf.c: Likewise.
31667         * tests/test-sprintf-posix.c: Likewise.
31668         * tests/test-sprintf-posix.h: Likewise.
31669         * tests/test-stat-time.c: Likewise.
31670         * tests/test-stdbool.c: Likewise.
31671         * tests/test-stdint.c: Likewise.
31672         * tests/test-stdio.c: Likewise.
31673         * tests/test-stdlib.c: Likewise.
31674         * tests/test-stpncpy.c: Likewise.
31675         * tests/test-strcasestr.c: Likewise.
31676         * tests/test-striconv.c: Likewise.
31677         * tests/test-striconveh.c: Likewise.
31678         * tests/test-striconveha.c: Likewise.
31679         * tests/test-string.c: Likewise.
31680         * tests/test-sys_select.c: Likewise.
31681         * tests/test-sys_socket.c: Likewise.
31682         * tests/test-sys_stat.c: Likewise.
31683         * tests/test-sys_time.c: Likewise.
31684         * tests/test-sysexits.c: Likewise.
31685         * tests/test-time.c: Likewise.
31686         * tests/test-tls.c: Likewise.
31687         * tests/test-trunc.c: Likewise.
31688         * tests/test-truncf.c: Likewise.
31689         * tests/test-truncl.c: Likewise.
31690         * tests/test-unistd.c: Likewise.
31691         * tests/test-vasnprintf-posix.c: Likewise.
31692         * tests/test-vasnprintf-posix2.c: Likewise.
31693         * tests/test-vasnprintf.c: Likewise.
31694         * tests/test-vasprintf-posix.c: Likewise.
31695         * tests/test-vasprintf.c: Likewise.
31696         * tests/test-verify.c: Likewise.
31697         * tests/test-vfprintf-posix.c: Likewise.
31698         * tests/test-vprintf-posix.c: Likewise.
31699         * tests/test-vsnprintf-posix.c: Likewise.
31700         * tests/test-vsnprintf.c: Likewise.
31701         * tests/test-vsprintf-posix.c: Likewise.
31702         * tests/test-wchar.c: Likewise.
31703         * tests/test-wctype.c: Likewise.
31704         * tests/test-wcwidth.c: Likewise.
31705         * tests/test-xstrtol.c: Likewise.
31706         * tests/test-xvasprintf.c: Likewise.
31707         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
31708         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
31709         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31710         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31711         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31712         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
31713         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31714         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31715         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31716         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
31717         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31718         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31719         * tests/uniname/test-uninames.c: Likewise.
31720         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
31721         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
31722         * tests/unistdio/test-u16-printf1.h: Likewise.
31723         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
31724         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
31725         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
31726         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
31727         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
31728         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
31729         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
31730         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
31731         * tests/unistdio/test-u32-printf1.h: Likewise.
31732         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
31733         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
31734         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
31735         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
31736         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
31737         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
31738         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
31739         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
31740         * tests/unistdio/test-u8-printf1.h: Likewise.
31741         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
31742         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
31743         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
31744         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
31745         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
31746         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
31747         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
31748         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
31749         * tests/unistdio/test-ulc-printf1.h: Likewise.
31750         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
31751         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
31752         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
31753         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
31754         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
31755         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
31756         * tests/uniwidth/test-u16-strwidth.c: Likewise.
31757         * tests/uniwidth/test-u16-width.c: Likewise.
31758         * tests/uniwidth/test-u32-strwidth.c: Likewise.
31759         * tests/uniwidth/test-u32-width.c: Likewise.
31760         * tests/uniwidth/test-u8-strwidth.c: Likewise.
31761         * tests/uniwidth/test-u8-width.c: Likewise.
31762         * tests/uniwidth/test-uc_width.c: Likewise.
31763         * config/srclist-update: Likewise.
31764         (fixlicense): Update to GPLv3+.
31765
31766         Change copyright notice from LGPLv2.1+ to LGPLv3+.
31767         * tests/test-tsearch.c: Change copyright notice.
31768
31769         Change copyright notice from LGPLv2.0+ to LGPLv3+.
31770         * lib/c-strcaseeq.h: Change copyright notice.
31771         * lib/streq.h: Likewise.
31772         * lib/uniconv.h: Likewise.
31773         * lib/uniconv/u-conv-from-enc.h: Likewise.
31774         * lib/uniconv/u-conv-to-enc.h: Likewise.
31775         * lib/uniconv/u-strconv-from-enc.h: Likewise.
31776         * lib/uniconv/u-strconv-to-enc.h: Likewise.
31777         * lib/uniconv/u16-conv-from-enc.c: Likewise.
31778         * lib/uniconv/u16-conv-to-enc.c: Likewise.
31779         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
31780         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
31781         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
31782         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
31783         * lib/uniconv/u32-conv-from-enc.c: Likewise.
31784         * lib/uniconv/u32-conv-to-enc.c: Likewise.
31785         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
31786         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
31787         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
31788         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
31789         * lib/uniconv/u8-conv-from-enc.c: Likewise.
31790         * lib/uniconv/u8-conv-to-enc.c: Likewise.
31791         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
31792         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
31793         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
31794         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
31795         * lib/uniname.h: Likewise.
31796         * lib/uniname/uniname.c: Likewise.
31797         * lib/unistdio.h: Likewise.
31798         * lib/unistdio/u-asnprintf.h: Likewise.
31799         * lib/unistdio/u-asprintf.h: Likewise.
31800         * lib/unistdio/u-printf-args.c: Likewise.
31801         * lib/unistdio/u-printf-args.h: Likewise.
31802         * lib/unistdio/u-printf-parse.h: Likewise.
31803         * lib/unistdio/u-snprintf.h: Likewise.
31804         * lib/unistdio/u-sprintf.h: Likewise.
31805         * lib/unistdio/u-vasprintf.h: Likewise.
31806         * lib/unistdio/u-vsnprintf.h: Likewise.
31807         * lib/unistdio/u-vsprintf.h: Likewise.
31808         * lib/unistdio/u16-asnprintf.c: Likewise.
31809         * lib/unistdio/u16-asprintf.c: Likewise.
31810         * lib/unistdio/u16-printf-parse.c: Likewise.
31811         * lib/unistdio/u16-snprintf.c: Likewise.
31812         * lib/unistdio/u16-sprintf.c: Likewise.
31813         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
31814         * lib/unistdio/u16-u16-asprintf.c: Likewise.
31815         * lib/unistdio/u16-u16-snprintf.c: Likewise.
31816         * lib/unistdio/u16-u16-sprintf.c: Likewise.
31817         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
31818         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
31819         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
31820         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
31821         * lib/unistdio/u16-vasnprintf.c: Likewise.
31822         * lib/unistdio/u16-vasprintf.c: Likewise.
31823         * lib/unistdio/u16-vsnprintf.c: Likewise.
31824         * lib/unistdio/u16-vsprintf.c: Likewise.
31825         * lib/unistdio/u32-asnprintf.c: Likewise.
31826         * lib/unistdio/u32-asprintf.c: Likewise.
31827         * lib/unistdio/u32-printf-parse.c: Likewise.
31828         * lib/unistdio/u32-snprintf.c: Likewise.
31829         * lib/unistdio/u32-sprintf.c: Likewise.
31830         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
31831         * lib/unistdio/u32-u32-asprintf.c: Likewise.
31832         * lib/unistdio/u32-u32-snprintf.c: Likewise.
31833         * lib/unistdio/u32-u32-sprintf.c: Likewise.
31834         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
31835         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
31836         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
31837         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
31838         * lib/unistdio/u32-vasnprintf.c: Likewise.
31839         * lib/unistdio/u32-vasprintf.c: Likewise.
31840         * lib/unistdio/u32-vsnprintf.c: Likewise.
31841         * lib/unistdio/u32-vsprintf.c: Likewise.
31842         * lib/unistdio/u8-asnprintf.c: Likewise.
31843         * lib/unistdio/u8-asprintf.c: Likewise.
31844         * lib/unistdio/u8-printf-parse.c: Likewise.
31845         * lib/unistdio/u8-snprintf.c: Likewise.
31846         * lib/unistdio/u8-sprintf.c: Likewise.
31847         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
31848         * lib/unistdio/u8-u8-asprintf.c: Likewise.
31849         * lib/unistdio/u8-u8-snprintf.c: Likewise.
31850         * lib/unistdio/u8-u8-sprintf.c: Likewise.
31851         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
31852         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
31853         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
31854         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
31855         * lib/unistdio/u8-vasnprintf.c: Likewise.
31856         * lib/unistdio/u8-vasprintf.c: Likewise.
31857         * lib/unistdio/u8-vsnprintf.c: Likewise.
31858         * lib/unistdio/u8-vsprintf.c: Likewise.
31859         * lib/unistdio/ulc-asnprintf.c: Likewise.
31860         * lib/unistdio/ulc-asprintf.c: Likewise.
31861         * lib/unistdio/ulc-printf-parse.c: Likewise.
31862         * lib/unistdio/ulc-snprintf.c: Likewise.
31863         * lib/unistdio/ulc-sprintf.c: Likewise.
31864         * lib/unistdio/ulc-vasnprintf.c: Likewise.
31865         * lib/unistdio/ulc-vasprintf.c: Likewise.
31866         * lib/unistdio/ulc-vsnprintf.c: Likewise.
31867         * lib/unistdio/ulc-vsprintf.c: Likewise.
31868         * lib/unistr.h: Likewise.
31869         * lib/unistr/u-cpy-alloc.h: Likewise.
31870         * lib/unistr/u-cpy.h: Likewise.
31871         * lib/unistr/u-endswith.h: Likewise.
31872         * lib/unistr/u-move.h: Likewise.
31873         * lib/unistr/u-set.h: Likewise.
31874         * lib/unistr/u-startswith.h: Likewise.
31875         * lib/unistr/u-stpcpy.h: Likewise.
31876         * lib/unistr/u-stpncpy.h: Likewise.
31877         * lib/unistr/u-strcat.h: Likewise.
31878         * lib/unistr/u-strcpy.h: Likewise.
31879         * lib/unistr/u-strcspn.h: Likewise.
31880         * lib/unistr/u-strdup.h: Likewise.
31881         * lib/unistr/u-strlen.h: Likewise.
31882         * lib/unistr/u-strncat.h: Likewise.
31883         * lib/unistr/u-strncpy.h: Likewise.
31884         * lib/unistr/u-strnlen.h: Likewise.
31885         * lib/unistr/u-strpbrk.h: Likewise.
31886         * lib/unistr/u-strspn.h: Likewise.
31887         * lib/unistr/u-strstr.h: Likewise.
31888         * lib/unistr/u-strtok.h: Likewise.
31889         * lib/unistr/u16-check.c: Likewise.
31890         * lib/unistr/u16-chr.c: Likewise.
31891         * lib/unistr/u16-cmp.c: Likewise.
31892         * lib/unistr/u16-cpy-alloc.c: Likewise.
31893         * lib/unistr/u16-cpy.c: Likewise.
31894         * lib/unistr/u16-endswith.c: Likewise.
31895         * lib/unistr/u16-mblen.c: Likewise.
31896         * lib/unistr/u16-mbsnlen.c: Likewise.
31897         * lib/unistr/u16-mbtouc-aux.c: Likewise.
31898         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
31899         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
31900         * lib/unistr/u16-mbtouc.c: Likewise.
31901         * lib/unistr/u16-mbtoucr.c: Likewise.
31902         * lib/unistr/u16-move.c: Likewise.
31903         * lib/unistr/u16-next.c: Likewise.
31904         * lib/unistr/u16-prev.c: Likewise.
31905         * lib/unistr/u16-set.c: Likewise.
31906         * lib/unistr/u16-startswith.c: Likewise.
31907         * lib/unistr/u16-stpcpy.c: Likewise.
31908         * lib/unistr/u16-stpncpy.c: Likewise.
31909         * lib/unistr/u16-strcat.c: Likewise.
31910         * lib/unistr/u16-strchr.c: Likewise.
31911         * lib/unistr/u16-strcmp.c: Likewise.
31912         * lib/unistr/u16-strcpy.c: Likewise.
31913         * lib/unistr/u16-strcspn.c: Likewise.
31914         * lib/unistr/u16-strdup.c: Likewise.
31915         * lib/unistr/u16-strlen.c: Likewise.
31916         * lib/unistr/u16-strmblen.c: Likewise.
31917         * lib/unistr/u16-strmbtouc.c: Likewise.
31918         * lib/unistr/u16-strncat.c: Likewise.
31919         * lib/unistr/u16-strncmp.c: Likewise.
31920         * lib/unistr/u16-strncpy.c: Likewise.
31921         * lib/unistr/u16-strnlen.c: Likewise.
31922         * lib/unistr/u16-strpbrk.c: Likewise.
31923         * lib/unistr/u16-strrchr.c: Likewise.
31924         * lib/unistr/u16-strspn.c: Likewise.
31925         * lib/unistr/u16-strstr.c: Likewise.
31926         * lib/unistr/u16-strtok.c: Likewise.
31927         * lib/unistr/u16-to-u32.c: Likewise.
31928         * lib/unistr/u16-to-u8.c: Likewise.
31929         * lib/unistr/u16-uctomb-aux.c: Likewise.
31930         * lib/unistr/u16-uctomb.c: Likewise.
31931         * lib/unistr/u32-check.c: Likewise.
31932         * lib/unistr/u32-chr.c: Likewise.
31933         * lib/unistr/u32-cmp.c: Likewise.
31934         * lib/unistr/u32-cpy-alloc.c: Likewise.
31935         * lib/unistr/u32-cpy.c: Likewise.
31936         * lib/unistr/u32-endswith.c: Likewise.
31937         * lib/unistr/u32-mblen.c: Likewise.
31938         * lib/unistr/u32-mbsnlen.c: Likewise.
31939         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
31940         * lib/unistr/u32-mbtouc.c: Likewise.
31941         * lib/unistr/u32-mbtoucr.c: Likewise.
31942         * lib/unistr/u32-move.c: Likewise.
31943         * lib/unistr/u32-next.c: Likewise.
31944         * lib/unistr/u32-prev.c: Likewise.
31945         * lib/unistr/u32-set.c: Likewise.
31946         * lib/unistr/u32-startswith.c: Likewise.
31947         * lib/unistr/u32-stpcpy.c: Likewise.
31948         * lib/unistr/u32-stpncpy.c: Likewise.
31949         * lib/unistr/u32-strcat.c: Likewise.
31950         * lib/unistr/u32-strchr.c: Likewise.
31951         * lib/unistr/u32-strcmp.c: Likewise.
31952         * lib/unistr/u32-strcpy.c: Likewise.
31953         * lib/unistr/u32-strcspn.c: Likewise.
31954         * lib/unistr/u32-strdup.c: Likewise.
31955         * lib/unistr/u32-strlen.c: Likewise.
31956         * lib/unistr/u32-strmblen.c: Likewise.
31957         * lib/unistr/u32-strmbtouc.c: Likewise.
31958         * lib/unistr/u32-strncat.c: Likewise.
31959         * lib/unistr/u32-strncmp.c: Likewise.
31960         * lib/unistr/u32-strncpy.c: Likewise.
31961         * lib/unistr/u32-strnlen.c: Likewise.
31962         * lib/unistr/u32-strpbrk.c: Likewise.
31963         * lib/unistr/u32-strrchr.c: Likewise.
31964         * lib/unistr/u32-strspn.c: Likewise.
31965         * lib/unistr/u32-strstr.c: Likewise.
31966         * lib/unistr/u32-strtok.c: Likewise.
31967         * lib/unistr/u32-to-u16.c: Likewise.
31968         * lib/unistr/u32-to-u8.c: Likewise.
31969         * lib/unistr/u32-uctomb.c: Likewise.
31970         * lib/unistr/u8-check.c: Likewise.
31971         * lib/unistr/u8-chr.c: Likewise.
31972         * lib/unistr/u8-cmp.c: Likewise.
31973         * lib/unistr/u8-cpy-alloc.c: Likewise.
31974         * lib/unistr/u8-cpy.c: Likewise.
31975         * lib/unistr/u8-endswith.c: Likewise.
31976         * lib/unistr/u8-mblen.c: Likewise.
31977         * lib/unistr/u8-mbsnlen.c: Likewise.
31978         * lib/unistr/u8-mbtouc-aux.c: Likewise.
31979         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
31980         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
31981         * lib/unistr/u8-mbtouc.c: Likewise.
31982         * lib/unistr/u8-mbtoucr.c: Likewise.
31983         * lib/unistr/u8-move.c: Likewise.
31984         * lib/unistr/u8-next.c: Likewise.
31985         * lib/unistr/u8-prev.c: Likewise.
31986         * lib/unistr/u8-set.c: Likewise.
31987         * lib/unistr/u8-startswith.c: Likewise.
31988         * lib/unistr/u8-stpcpy.c: Likewise.
31989         * lib/unistr/u8-stpncpy.c: Likewise.
31990         * lib/unistr/u8-strcat.c: Likewise.
31991         * lib/unistr/u8-strchr.c: Likewise.
31992         * lib/unistr/u8-strcmp.c: Likewise.
31993         * lib/unistr/u8-strcpy.c: Likewise.
31994         * lib/unistr/u8-strcspn.c: Likewise.
31995         * lib/unistr/u8-strdup.c: Likewise.
31996         * lib/unistr/u8-strlen.c: Likewise.
31997         * lib/unistr/u8-strmblen.c: Likewise.
31998         * lib/unistr/u8-strmbtouc.c: Likewise.
31999         * lib/unistr/u8-strncat.c: Likewise.
32000         * lib/unistr/u8-strncmp.c: Likewise.
32001         * lib/unistr/u8-strncpy.c: Likewise.
32002         * lib/unistr/u8-strnlen.c: Likewise.
32003         * lib/unistr/u8-strpbrk.c: Likewise.
32004         * lib/unistr/u8-strrchr.c: Likewise.
32005         * lib/unistr/u8-strspn.c: Likewise.
32006         * lib/unistr/u8-strstr.c: Likewise.
32007         * lib/unistr/u8-strtok.c: Likewise.
32008         * lib/unistr/u8-to-u16.c: Likewise.
32009         * lib/unistr/u8-to-u32.c: Likewise.
32010         * lib/unistr/u8-uctomb-aux.c: Likewise.
32011         * lib/unistr/u8-uctomb.c: Likewise.
32012         * lib/unitypes.h: Likewise.
32013         * lib/uniwidth.h: Likewise.
32014         * lib/uniwidth/cjk.h: Likewise.
32015         * lib/uniwidth/u16-strwidth.c: Likewise.
32016         * lib/uniwidth/u16-width.c: Likewise.
32017         * lib/uniwidth/u32-strwidth.c: Likewise.
32018         * lib/uniwidth/u32-width.c: Likewise.
32019         * lib/uniwidth/u8-strwidth.c: Likewise.
32020         * lib/uniwidth/u8-width.c: Likewise.
32021         * lib/uniwidth/width.c: Likewise.
32022
32023 2007-10-07  Bruno Haible  <bruno@clisp.org>
32024
32025         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
32026         The file is still under LGPL (see modules/inttypes).
32027
32028 2007-10-06  Bruno Haible  <bruno@clisp.org>
32029
32030         * modules/trunc (Dependencies): Add 'extensions'.
32031         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
32032         Reported by Ben Pfaff <blp@gnu.org>.
32033
32034 2007-10-06  Bruno Haible  <bruno@clisp.org>
32035
32036         * modules/freopen-tests: New file.
32037         * tests/test-freopen.c: New file.
32038
32039         * modules/fopen-tests: New file.
32040         * tests/test-fopen.c: New file.
32041
32042         * modules/fopen: New file.
32043         * lib/fopen.c: New file.
32044         * m4/fopen.m4: New file.
32045         * modules/freopen: New file.
32046         * lib/freopen.c: New file.
32047         * m4/freopen.m4: New file.
32048         * lib/stdio.in.h (fopen, freopen): New declarations.
32049         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
32050         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32051         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
32052         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
32053         * doc/functions/fopen.texi: Mention the 'fopen' module.
32054         * doc/functions/freopen.texi: Mention the 'freopen' module.
32055
32056 2007-10-06  Bruno Haible  <bruno@clisp.org>
32057
32058         * modules/open-tests: New file.
32059         * tests/test-open.c: New file.
32060
32061         * modules/open: New file.
32062         * lib/open.c: New file.
32063         * m4/open.m4: New file.
32064         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
32065         lib/open.c does.
32066         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
32067         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
32068         macros.
32069         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
32070         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
32071         REPLACE_OPEN.
32072         * doc/functions/open.texi: Mention the 'open' module.
32073
32074 2007-10-04  Bruno Haible  <bruno@clisp.org>
32075
32076         * modules/ceill-tests: New file.
32077         * tests/test-ceill.c: New file.
32078
32079         * modules/ceill: New file.
32080         * lib/ceill.c: Replace entire file.
32081         * m4/ceill.m4: New file.
32082         * lib/math.in.h (ceill): Replace declaration.
32083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
32084         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
32085         * doc/functions/ceill.texi: Mention the 'ceill' module.
32086         * modules/mathl (Files): Remove lib/ceill.c.
32087         (Depends-on): Add ceill.
32088
32089 2007-10-04  Bruno Haible  <bruno@clisp.org>
32090
32091         * modules/ceilf-tests: New file.
32092         * tests/test-ceilf.c: New file.
32093
32094         * modules/ceilf: New file.
32095         * lib/ceil.c: New file.
32096         * lib/ceilf.c: New file.
32097         * m4/ceilf.m4: New file.
32098         * lib/math.in.h (ceilf): New declaration.
32099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
32100         HAVE_DECL_CEILF.
32101         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
32102         HAVE_DECL_CEILF.
32103         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
32104
32105 2007-10-04  Bruno Haible  <bruno@clisp.org>
32106
32107         * modules/floorl-tests: New file.
32108         * tests/test-floorl.c: New file.
32109
32110         * modules/floorl: New file.
32111         * lib/floorl.c: Replace entire file.
32112         * m4/floorl.m4: New file.
32113         * lib/math.in.h (floorl): Replace declaration.
32114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
32115         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
32116         * doc/functions/floorl.texi: Mention the 'floorl' module.
32117         * modules/mathl (Files): Remove lib/floorl.c.
32118         (Depends-on): Add floorl.
32119
32120 2007-10-04  Bruno Haible  <bruno@clisp.org>
32121
32122         * modules/floorf-tests: New file.
32123         * tests/test-floorf.c: New file.
32124
32125         * modules/floorf: New file.
32126         * lib/floor.c: New file.
32127         * lib/floorf.c: New file.
32128         * m4/floorf.m4: New file.
32129         * lib/math.in.h (floorf): New declaration.
32130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
32131         HAVE_DECL_FLOORF.
32132         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
32133         HAVE_DECL_FLOORF.
32134         * doc/functions/floorf.texi: Mention the 'floorf' module.
32135
32136 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
32137             Bruno Haible  <bruno@clisp.org>
32138
32139         Advertise for the Git server instead of the CVS server.
32140         * doc/gnulib-intro.texi (Steady Development): Mention the Git
32141         repository instead of the CVS one.
32142         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
32143         about all VCS systems generically.
32144         * doc/gnulib.texi (Introduction): Capitalize `Git'.
32145
32146 2007-10-04  Bruno Haible  <bruno@clisp.org>
32147
32148         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
32149         means.
32150         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
32151
32152 2007-10-04  Bruno Haible  <bruno@clisp.org>
32153
32154         * modules/truncl-tests: New file.
32155         * tests/test-truncl.c: New file.
32156
32157         * modules/truncl: New file.
32158         * lib/truncl.c: New file.
32159         * m4/truncl.m4: New file.
32160         * lib/math.in.h (truncl): New declaration.
32161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
32162         HAVE_DECL_TRUNCL.
32163         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
32164         HAVE_DECL_TRUNCL.
32165         * doc/functions/truncl.texi: Mention the 'truncl' module.
32166
32167 2007-10-04  Bruno Haible  <bruno@clisp.org>
32168
32169         * modules/truncf-tests: New file.
32170         * tests/test-truncf.c: New file.
32171
32172         * modules/truncf: New file.
32173         * lib/trunc.c: Make paramerizable through USE_* macros.
32174         * lib/truncf.c: New file.
32175         * m4/truncf.m4: New file.
32176         * lib/math.in.h (truncf): New declaration.
32177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
32178         HAVE_DECL_TRUNCF.
32179         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
32180         HAVE_DECL_TRUNCF.
32181         * doc/functions/truncf.texi: Mention the 'truncf' module.
32182
32183 2007-10-03  Bruno Haible  <bruno@clisp.org>
32184
32185         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32186         augmentation also for tests modules.
32187         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
32188         * modules/atexit-tests (Makefile.am): Likewise.
32189         * modules/binary-io-tests (Makefile.am): Likewise.
32190         * modules/c-strcase-tests (Makefile.am): Likewise.
32191         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
32192         * modules/canonicalize-tests (Makefile.am): Likewise.
32193         * modules/closein-tests (Makefile.am): Likewise.
32194         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32195         * modules/freadahead-tests (Makefile.am): Likewise.
32196         * modules/fseek-tests (Makefile.am): Likewise.
32197         * modules/fseeko-tests (Makefile.am): Likewise.
32198         * modules/ftell-tests (Makefile.am): Likewise.
32199         * modules/ftello-tests (Makefile.am): Likewise.
32200         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
32201         * modules/isnanl-tests (Makefile.am): Likewise.
32202         * modules/lseek-tests (Makefile.am): Likewise.
32203         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32204         * modules/mbscasestr-tests (Makefile.am): Likewise.
32205         * modules/mbschr-tests (Makefile.am): Likewise.
32206         * modules/mbscspn-tests (Makefile.am): Likewise.
32207         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32208         * modules/mbspbrk-tests (Makefile.am): Likewise.
32209         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32210         * modules/mbsrchr-tests (Makefile.am): Likewise.
32211         * modules/mbsspn-tests (Makefile.am): Likewise.
32212         * modules/mbsstr-tests (Makefile.am): Likewise.
32213         * modules/printf-posix-tests (Makefile.am): Likewise.
32214         * modules/snprintf-posix-tests (Makefile.am): Likewise.
32215         * modules/sprintf-posix-tests (Makefile.am): Likewise.
32216         * modules/tsearch-tests (Makefile.am): Likewise.
32217         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32218         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32219         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32220         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32221         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32222         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32223         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32224         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32225         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
32226         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
32227         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32228         * modules/xstrtol-tests (Makefile.am): Likewise.
32229         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32230         * modules/yesno-tests (Makefile.am): Likewise.
32231
32232 2007-10-03  Bruno Haible  <bruno@clisp.org>
32233
32234         * modules/trunc-tests: New file.
32235         * tests/test-trunc.c: New file.
32236
32237         * modules/trunc: New file.
32238         * lib/trunc.c: New file.
32239         * m4/trunc.m4: New file.
32240         * lib/math.in.h (trunc): New declaration.
32241         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
32242         HAVE_DECL_TRUNC.
32243         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
32244         HAVE_DECL_TRUNC.
32245         * doc/functions/trunc.texi: Mention the 'trunc' module.
32246
32247 2007-10-03  Bruno Haible  <bruno@clisp.org>
32248
32249         * tests/test-fpending.c: New file, mostly copied
32250         from coreutils/lib/t-fpending.c.
32251         * modules/fpending-tests: New file.
32252
32253 2007-10-03  Bruno Haible  <bruno@clisp.org>
32254
32255         Port the stdio extensions to QNX (untested).
32256         * lib/fseterr.c (fseterr): Add support for QNX.
32257         * lib/fbufmode.c (fbufmode): Likewise.
32258         * lib/freadable.c (freadable): Likewise.
32259         * lib/fwritable.c (fwritable): Likewise.
32260         * lib/freading.c (freading): Likewise.
32261         * lib/fwriting.c (fwriting): Likewise.
32262         * lib/freadahead.c (freadahed): Likewise.
32263         * lib/fpurge.c (fpurge): Likewise.
32264         * lib/fseeko.c (rpl_fseeko): Likewise.
32265
32266 2007-10-03  Bruno Haible  <bruno@clisp.org>
32267             Jim Meyering  <jim@meyering.net>
32268             Eric Blake  <ebb9@byu.net>
32269
32270         * doc/relocatable.texi: Use @command instead of @program.
32271
32272 2007-10-02  Jim Meyering  <jim@meyering.net>
32273
32274         Perform one more "_.h" -> ".in.h" substitution.
32275         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
32276         instead of unistd_.h here, too.
32277
32278 2007-10-01  Bruno Haible  <bruno@clisp.org>
32279
32280         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
32281         Needed for the alloca-opt module.
32282
32283 2007-09-30  Bruno Haible  <bruno@clisp.org>
32284
32285         * lib/alloca.in.h: Renamed from lib/alloca_.h.
32286         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
32287         alloca_.h.
32288         * lib/argz.in.h: Renamed from lib/argz_.h.
32289         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
32290         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
32291         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
32292         byteswap_.h.
32293         * lib/dirent.in.h: Renamed from lib/dirent_.h.
32294         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
32295         dirent_.h.
32296         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
32297         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
32298         fcntl_.h.
32299         * lib/float.in.h: Renamed from lib/float_.h.
32300         * modules/float (Files, Makefile.am): Use float.in.h instead of
32301         float_.h.
32302         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
32303         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
32304         fnmatch_.h.
32305         * lib/getopt.in.h: Renamed from lib/getopt_.h.
32306         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
32307         getopt_.h.
32308         * lib/glob.in.h: Renamed from lib/glob_.h.
32309         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
32310         * lib/iconv.in.h: Renamed from lib/iconv_.h.
32311         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
32312         iconv_.h.
32313         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32314         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
32315         inttypes_.h.
32316         * lib/locale.in.h: Renamed from lib/locale_.h.
32317         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
32318         locale_.h.
32319         * lib/math.in.h: Renamed from lib/math_.h.
32320         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
32321         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
32322         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
32323         of netinet_in_.h. Add dependency.
32324         * lib/poll.in.h: Renamed from lib/poll_.h.
32325         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
32326         * lib/search.in.h: Renamed from lib/search_.h.
32327         * modules/search (Files, Makefile.am): Use search.in.h instead of
32328         search_.h.
32329         * lib/signal.in.h: Renamed from lib/signal_.h.
32330         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
32331         _signal.h.
32332         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
32333         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
32334         stdbool_.h.
32335         * lib/stdint.in.h: Renamed from lib/stdint_.h.
32336         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
32337         stdint_.h.
32338         * lib/stdio.in.h: Renamed from lib/stdio_.h.
32339         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
32340         stdio_.h.
32341         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
32342         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
32343         stdlib_.h.
32344         * lib/string.in.h: Renamed from lib/string_.h.
32345         * modules/string (Files, Makefile.am): Use string.in.h instead of
32346         string_.h.
32347         * doc/gnulib-tool.texi (Initial import): Update.
32348         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
32349         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
32350         of sys_select_.h. Add dependency.
32351         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
32352         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
32353         of sys_socket_.h.
32354         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
32355         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
32356         sys_stat_.h.
32357         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
32358         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
32359         sys_time_.h.
32360         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
32361         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
32362         sysexits_.h.
32363         * lib/time.in.h: Renamed from lib/time_.h.
32364         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
32365         * lib/unistd.in.h: Renamed from lib/unistd_.h.
32366         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
32367         unistd_.h.
32368         * lib/wchar.in.h: Renamed from lib/wchar_.h.
32369         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
32370         wchar_.h.
32371         * lib/wctype.in.h: Renamed from lib/wctype_.h.
32372         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
32373         wctype_.h.
32374         * build-aux/bootstrap (slurp): Update.
32375         * lib/.cppi-disable: Update.
32376
32377 2007-09-30  Bruno Haible  <bruno@clisp.org>
32378
32379         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
32380         Needed on BeOS.
32381
32382 2007-09-30  Bruno Haible  <bruno@clisp.org>
32383
32384         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
32385
32386 2007-09-29  Bruno Haible  <bruno@clisp.org>
32387
32388         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
32389
32390 2007-09-29  Bruno Haible  <bruno@clisp.org>
32391
32392         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
32393         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
32394         * build-aux/install-reloc: Compile also areadlink.c.
32395         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
32396
32397 2007-09-29  Bruno Haible  <bruno@clisp.org>
32398
32399         * gnulib-tool (func_emit_initmacro_done): Indentation.
32400
32401 2007-09-29  Bruno Haible  <bruno@clisp.org>
32402
32403         * README: Add CVS checkout update instructions.
32404         Info from Bob Proulx <bob@proulx.com>.
32405
32406 2007-09-28  Eric Blake  <ebb9@byu.net>
32407
32408         Provide move-if-change.
32409         * build-aux/move-if-change: New file, based on best practice
32410         rather than any canonical upstream location.
32411
32412 2007-09-28  Jim Meyering  <jim@meyering.net>
32413
32414         Fix canonicalize loop-detection corner case.
32415         Do not attempt to stat the symlink values stored via seen_triple.
32416         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
32417         on linux-2.6.18, (but not 2.6.22).
32418         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
32419         triple_compare.  The former compares dev,ino,filename, while the latter
32420         would actually stat dirname(filename) when dev and ino were equal.
32421         * lib/hash-triple.c: Install <string.h>.
32422         (STREQ): Define.
32423         (triple_compare_ino_str): New function.
32424         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
32425
32426 2007-09-28  Eric Blake  <ebb9@byu.net>
32427
32428         Enforce that AC_REPLACE_FUNCS files exist.
32429         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
32430         override check for typos.
32431
32432         Fix test-closein on Solaris 10.
32433         * tests/test-closein.c (main): Don't assume stdin can be inherited
32434         closed on all systems.
32435         * tests/test-closein.sh: Likewise.
32436         Reported by Piotr Tarnowski.
32437
32438 2007-09-28  Jim Meyering  <jim@meyering.net>
32439
32440         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
32441
32442 2007-09-27  Jim Meyering  <jim@meyering.net>
32443
32444         canonicalize: Avoid a false-positive cycle failure.
32445         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
32446         Sort.  Remove cycle-check.
32447         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
32448         not cycle-check.h.
32449         (seen_triple): New function.
32450         (canonicalize_filename_mode): Use it instead of cycle-check.
32451         * tests/test-canonicalize.c: Add a test for this bug.
32452         * tests/test-canonicalize.sh: Set up and run the test.
32453
32454         New module, file-set, from coreutils.
32455         * modules/file-set: Define it.
32456         * lib/file-set.c, lib/file-set.h: Implement.
32457
32458         New module, hash-triple, from coreutils.
32459         * modules/hash-triple: Define it.
32460         * lib/hash-triple.c, lib/hash-triple.h: Implement.
32461
32462 2007-09-25  Eric Blake  <ebb9@byu.net>
32463
32464         Fix strerror on Interix.
32465         * lib/string_.h (strerror): Declare replacement.
32466         * doc/functions/strerror.texi (strerror): Document the Interix
32467         shortcoming.
32468         * modules/string (Makefile.am): Support new hooks.
32469         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
32470         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
32471         gl_FUNC_STRERROR_SEPARATE.
32472         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
32473         * lib/strerror.c (rpl_strerror): Provide replacement.
32474         * modules/strerror (Depends-on): Add string.
32475         (configure.ac): Detect use of module.
32476         * tests/test-strerror.c: New file.
32477         * modules/strerror-tests: New test module.
32478         * modules/argp (Depends-on): Add strerror.
32479         * modules/error (Depends-on): Likewise.
32480         Reported by Martin Koeppe.
32481
32482 2007-09-24  Bruno Haible  <bruno@clisp.org>
32483
32484         * README: Update git instructions.
32485
32486 2007-09-24  Eric Blake  <ebb9@byu.net>
32487
32488         Revert fpending breakage from 2007-09-08.
32489         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
32490         __fpending.c.
32491
32492 2007-09-24  Jim Meyering  <jim@meyering.net>
32493
32494         filenamecat.c: Add a test.
32495         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
32496         showing how the function works when DIR is the empty string.
32497
32498 2007-09-21  Simon Josefsson  <simon@josefsson.org>
32499
32500         * tests/test-canonicalize.sh: Turn on executable bit.
32501
32502 2007-09-19  Eric Blake  <ebb9@byu.net>
32503
32504         * README: Update CVS instructions.
32505
32506 2007-09-18  Bruno Haible  <bruno@clisp.org>
32507
32508         * modules/areadlink: New file.
32509         * lib/areadlink.h (areadlink): New declaration.
32510         * lib/areadlink.c: New file, based on lib/xreadlink.c.
32511
32512 2007-09-17  Jim Meyering  <jim@meyering.net>
32513
32514         * lib/savewd.c (ESTALE) [!defined]: Define.
32515         Reported to be required on Interix by Martin Koeppe.
32516
32517 2007-09-17  Bruno Haible  <bruno@clisp.org>
32518
32519         * gnulib-tool (func_version): Use $version.
32520
32521 2007-09-16  Bruno Haible  <bruno@clisp.org>
32522
32523         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
32524         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
32525         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
32526         Reported by Greg Schafer <gschafer@zip.com.au>.
32527
32528 2007-09-15  Bruno Haible  <bruno@clisp.org>
32529
32530         * gnulib-tool (sed): Try a little harder to make bash understand the
32531         alias.
32532         Reported by Bruce Korb <bruce.korb@gmail.com>.
32533
32534 2007-09-13  Eric Blake  <ebb9@byu.net>
32535
32536         * ChangeLog: Remove conflict markers.
32537
32538 2007-09-13  Simon Josefsson  <simon@josefsson.org>
32539
32540         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
32541         Reported by Bruno Haible <bruno@clisp.org>.
32542
32543 2007-09-12  Bruno Haible  <bruno@clisp.org>
32544
32545         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
32546         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
32547         is not defined.
32548
32549 2007-09-12  Eric Blake  <ebb9@byu.net>
32550
32551         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
32552         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
32553         Autoconf definition.
32554         * modules/euidaccess (Depends-on): Add extensions, for
32555         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
32556         * modules/fnmatch (Depends-on): Likewise.
32557         * modules/getaddrinfo (Depends-on): Likewise.
32558         * modules/getdelim (Depends-on): Likewise.
32559         * modules/getline (Depends-on): Likewise.
32560         * modules/getsubopt (Depends-on): Likewise.
32561         * modules/gettext (Depends-on): Likewise.
32562         * modules/group-member (Depends-on): Likewise.
32563         * modules/mbchar (Depends-on): Likewise.
32564         * modules/memmem (Depends-on): Likewise.
32565         * modules/mempcpy (Depends-on): Likewise.
32566         * modules/memrchr (Depends-on): Likewise.
32567         * modules/pagealign_alloc (Depends-on): Likewise.
32568         * modules/readutmp (Depends-on): Likewise.
32569         * modules/stpcpy (Depends-on): Likewise.
32570         * modules/stpncpy (Depends-on): Likewise.
32571         * modules/strchrnul (Depends-on): Likewise.
32572         * modules/strndup (Depends-on): Likewise.
32573         * modules/strsep (Depends-on): Likewise.
32574         * modules/strverscmp (Depends-on): Likewise.
32575         * modules/vasprintf (Depends-on): Likewise.
32576         * modules/wcwidth (Depends-on): Likewise.
32577         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
32578         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
32579         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
32580         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
32581         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32582         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32583         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
32584         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
32585         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
32586         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32587         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
32588         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
32589         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
32590         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
32591         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
32592         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32593         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32594         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
32595         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
32596         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
32597         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
32598         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
32599         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
32600         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
32601         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
32602         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32603         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
32604         so that lock.m4 can be used in gettext without extensions module.
32605
32606 2007-09-11  Bruno Haible  <bruno@clisp.org>
32607
32608         * m4/isc-posix.m4: Remove file.
32609         Suggested by Eric Blake.
32610
32611 2007-09-11  Eric Blake  <ebb9@byu.net>
32612
32613         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
32614
32615 2007-09-10  Bruno Haible  <bruno@clisp.org>
32616
32617         * posix-modules: Fix typo in error message.
32618         Reported by Matt <mkraai@beckman.com>.
32619
32620 2007-09-09  Bruno Haible  <bruno@clisp.org>
32621
32622         * doc/functions/getdelim.texi: Update list of platforms lacking the
32623         function.
32624         * doc/functions/getline.texi: Likewise.
32625
32626 2007-09-09  Jim Meyering  <jim@meyering.net>
32627
32628         * lib/hash.c (hash_initialize): Detect calloc failure.
32629         Reported by Bruno Haible.
32630
32631 2007-09-09  Bruno Haible  <bruno@clisp.org>
32632
32633         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
32634         malloc or realloc fails.
32635
32636 2007-09-09  Bruno Haible  <bruno@clisp.org>
32637
32638         * modules/getcwd (Depends-on): Add malloc-posix.
32639         * modules/glob (Depends-on): Likewise.
32640         * modules/putenv (Depends-on): Likewise.
32641         * modules/strdup (Depends-on): Likewise.
32642         * modules/getdelim (Depends-on): Add realloc-posix.
32643         * modules/read-file (Depends-on): Likewise.
32644
32645 2007-09-09  Bruno Haible  <bruno@clisp.org>
32646
32647         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
32648         (gl_FUNC_MALLOC_POSIX): Require it.
32649         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
32650         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
32651         * modules/realloc (Files): Add m4/malloc.m4.
32652         * modules/calloc (Files): Likewise.
32653
32654 2007-09-09  Bruno Haible  <bruno@clisp.org>
32655
32656         * modules/malloc-posix: New file.
32657         * modules/malloc (Depends-on): Add malloc-posix.
32658         * lib/malloc.c: Include errno.h.
32659         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
32660         and a POSIX-compatible malloc into a single function. Set ENOMEM
32661         when returning NULL.
32662         * m4/malloc.m4: New file.
32663         * doc/functions/malloc.texi: Mention the malloc-posix module.
32664         * lib/stdlib_.h (malloc): New declaration.
32665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32666         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
32667         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
32668         and HAVE_MALLOC_POSIX.
32669
32670 2007-09-09  Bruno Haible  <bruno@clisp.org>
32671
32672         * modules/realloc-posix: New file.
32673         * modules/realloc (Depends-on): Add realloc-posix.
32674         * lib/realloc.c: Include errno.h.
32675         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
32676         and a POSIX-compatible realloc into a single function. Set ENOMEM
32677         when returning NULL.
32678         * m4/realloc.m4: New file.
32679         * doc/functions/realloc.texi: Mention the realloc-posix module.
32680         * lib/stdlib_.h (realloc): New declaration.
32681         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32682         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
32683         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
32684         and HAVE_REALLOC_POSIX.
32685
32686 2007-09-09  Bruno Haible  <bruno@clisp.org>
32687
32688         * modules/calloc-posix: New file.
32689         * modules/calloc (Depends-on): Add calloc-posix.
32690         * lib/calloc.c: Include errno.h.
32691         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
32692         and a POSIX-compatible calloc into a single function. Set ENOMEM
32693         when returning NULL.
32694         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
32695         * doc/functions/calloc.texi: Mention the calloc-posix module.
32696         * lib/stdlib_.h (calloc): New declaration.
32697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
32698         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
32699         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
32700         and HAVE_CALLOC_POSIX.
32701
32702 2007-09-09  Bruno Haible  <bruno@clisp.org>
32703
32704         Allow for modules to show an arbitrary notice.
32705         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
32706         * gnulib-tool: New option --extract-notice.
32707         (func_usage): Document it.
32708         (sed_extract_prog): Update.
32709         (func_get_notice): New function.
32710         (func_modules_notice): New function.
32711         (func_import, func_create_testdir): Invoke it.
32712         Suggested by Jim Meyering.
32713
32714 2007-09-09  Bruno Haible  <bruno@clisp.org>
32715
32716         * gnulib-tool: New options --verbose, --quiet.
32717         (func_usage): Document them.
32718         (verbose): New variable.
32719         (func_execute_command): New function.
32720         (func_import): Don't show the module list and the file list if
32721         $verbose < 0.
32722         (func_create_testdir): Likewise. Use func_execute_command.
32723         (func_create_megatestdir): Use func_execute_command.
32724
32725 2007-09-08  Bruno Haible  <bruno@clisp.org>
32726
32727         * gnulib-tool (func_import): Prefer rsync over wget when available,
32728         for fetching the PO files.
32729
32730 2007-09-08  Bruno Haible  <bruno@clisp.org>
32731
32732         * posix-modules: New file. Portions copied from gnulib-tool.
32733         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
32734
32735 2007-09-08  Jim Meyering  <jim@meyering.net>
32736
32737         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
32738         * lib/fpending.h: Rename from __fpending.h.
32739         * lib/fpending.c: Rename from __fpending.c.
32740         Include "fpending.h", not "__fpending.h".
32741         * lib/__fpending.h, lib/__fpending.c: Remove files.
32742         * modules/fpending (Files): Reflect new file names.
32743         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
32744
32745 2007-09-08  Bruno Haible  <bruno@clisp.org>
32746
32747         * m4/inttypes-h.m4: Remove stub file.
32748
32749 2007-09-07  Simon Josefsson  <simon@josefsson.org>
32750
32751         * doc/headers/stdint.texi: Discuss #include_next issue.
32752
32753 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
32754
32755         * build-aux/bootstrap: Remove obsolete comment about wget --help.
32756
32757 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32758
32759         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
32760         in variable name.
32761
32762 2007-09-03  Jim Meyering  <jim@meyering.net>
32763
32764         New module: git-version-gen.
32765         * modules/git-version-gen: New file.
32766
32767         Import changes from coreutils for bootstrap script.
32768
32769         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
32770
32771         bootstrap: uses rsync to download the .po files
32772         * build-aux/bootstrap (po_download_command_format): New global.
32773         (download_po_files): Use rsync.
32774         (update_po_files): Don't remove .po files after download,
32775         so future rsync runs can take advantage of the copies.
32776
32777         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
32778
32779         Solve the unnecessary-.po-file-regeneration problem once and for all.
32780         * build-aux/bootstrap (download_po_files): New function, renamed from
32781         get_translations.  Now, downloads, but doesn't update LINGUAS.
32782         (update_po_files): New function.
32783
32784         bootstrap: Ignore more.
32785         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
32786         uniwidth to e.g., lib/.gitignore.
32787         (slurp): Handle the sys_stat_.h -> sys mapping, too.
32788
32789         * build-aux/bootstrap: New setting: vc_ignore.
32790         (insert_sorted_if_absent): Create $file if absent.
32791         Adapt to new, possibly empty, list: $vc_ignore.
32792
32793         bootstrap: generate more ignorable names
32794         * build-aux/bootstrap (slurp): When generating ignorable names,
32795         also map .sin to .sed, .gperf to .c, and .y to .c.
32796
32797 2007-09-03  Jim Meyering  <jim@meyering.net>
32798
32799         * build-aux/git-version-gen: New file, from coreutils.  For details, see
32800         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
32801
32802 2007-09-02  Bruno Haible  <bruno@clisp.org>
32803
32804         Fix mis-recognition of 'mcs' on QNX 6.
32805         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
32806         output contains the string "Mono".
32807         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
32808         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
32809
32810 2007-09-01  Bruno Haible  <bruno@clisp.org>
32811
32812         Fix collision between uniwidth/* and linebreak modules.
32813         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
32814         u32_width): Remove declarations.
32815         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
32816         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
32817         streq3, streq2, streq1, streq0): Remove functions.
32818         (STREQ): Remove macro.
32819         (is_cjk_encoding): Remove function.
32820         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
32821         (uc_width, u8_width, u16_width, u32_width): Remove functions.
32822         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
32823         * NEWS: Document the change.
32824
32825 2007-09-01  Bruno Haible  <bruno@clisp.org>
32826
32827         * lib/streq.h: Add double-inclusion guard.
32828
32829 2007-09-01  Karl Berry  <karl@gnu.org>
32830
32831         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
32832
32833 2007-08-28  Jim Meyering  <jim@meyering.net>
32834
32835         Rename mreadlink_with_size to areadlink_with_size.
32836         * NEWS: Document the change.
32837         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
32838         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
32839         * lib/mreadlink.h: Rename this to...
32840         * lib/areadlink.h: ...this.
32841         * modules/mreadlink-with-size: Rename this to...
32842         * modules/areadlink-with-size: ...this.
32843         * lib/canonicalize.c: Reflect the renaming.
32844         * modules/canonicalize: Likewise.
32845
32846 2007-08-26  Bruno Haible  <bruno@clisp.org>
32847
32848         * gnulib-tool (func_import): When deciding which files to remove,
32849         consider also dangling symbolic links.
32850         Reported by Eric Blake.
32851
32852 2007-08-26  Bruno Haible  <bruno@clisp.org>
32853
32854         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
32855
32856 2007-08-23  Simon Josefsson  <simon@josefsson.org>
32857
32858         * lib/readline.c: Don't include getline.h, the prototype is now
32859         found in stdio.h.
32860
32861 2007-08-23  Jim Meyering  <jim@meyering.net>
32862
32863         Getdelim touchup.
32864         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
32865         around the funlockfile call, since funlockfile never sets errno.
32866         Don't set errno upon failed realloc.
32867
32868 2007-08-22  Eric Blake  <ebb9@byu.net>
32869
32870         Getline touchups.
32871         * lib/getdelim.c (getdelim): Revert regression that required *n to
32872         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
32873         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
32874         getdelim, rather than whether implementation is missing.
32875         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
32876         * lib/stdio_.h (getline): Also declare if replacement is
32877         required.
32878         * doc/functions/getdelim.texi: New file.
32879         * doc/functions/getline.texi: Likewise.
32880         * doc/gnulib.texi (Function Substitutes): Add new files.
32881         Reported by Bruno Haible.
32882
32883 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
32884
32885         * users.txt: Add Guile.
32886
32887 2007-08-22  Eric Blake  <ebb9@byu.net>
32888
32889         * tests/test-getdelim.c (main): Use remove, not unlink.
32890         * tests/test-getline.c (main): Likewise.
32891
32892         Move getline and getdelim into stdio.h, per POSIX 200x.
32893         * modules/getline (Files): Remove getline.h.
32894         (Depends-on): Add stdio.
32895         (configure.ac): Add module indicator.
32896         * modules/getdelim (Files): Remove getdelim.h.
32897         (Depends-on): Add stdio.
32898         (configure.ac): Add module indicator.
32899         * modules/stdio (Makefile.am): Work with new indicators.
32900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
32901         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
32902         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
32903         * lib/getdelim.h: Delete.
32904         * lib/getline.h: Delete.
32905         * lib/stdio_.h (getdelim, getline): Declare.
32906         * modules/getdelim-tests: New module.
32907         * modules/getline-tests: Likewise.
32908         * tests/test-getdelim.c: New file.
32909         * tests/test-getline.c: Likewise.
32910         * NEWS: Document the change.
32911         * lib/getline.c: Update choice of header.
32912         * lib/csharpcomp.c: Likewise.
32913         * lib/getpass.c: Likewise.
32914         * lib/javacomp.c: Likewise.
32915         * lib/javaversion.c: Likewise.
32916         * lib/yesno.c: Likewise.
32917         * lib/getdelim.c: Likewise.
32918         (getdelim): Set errno on failure, and avoid memory leak.
32919
32920 2007-08-19  Bruno Haible  <bruno@clisp.org>
32921
32922         * modules/closein (Depends-on): Add freadahead.
32923         * lib/closein.c: Include freadahead.h.
32924         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
32925         is zero.
32926
32927 2007-08-19  Bruno Haible  <bruno@clisp.org>
32928
32929         * modules/freadahead-tests: New file.
32930         * tests/test-freadahead.sh: New file.
32931         * tests/test-freadahead.c: New file.
32932
32933         * modules/freadahead: New file.
32934         * lib/freadahead.h: New file.
32935         * lib/freadahead.c: New file.
32936         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
32937         fbufmode, fpurge, freadable, fwritable.
32938
32939 2007-08-19  Eric Blake  <ebb9@byu.net>
32940
32941         Test yesno in combination with closein.
32942         * lib/yesno.c (yesno): Document use of stdin.
32943         * modules/yesno-tests (Files): New module.
32944         * tests/test-yesno.c (main): New file.
32945         * tests/test-yesno.sh: Likewise.
32946
32947 2007-08-19  Bruno Haible  <bruno@clisp.org>
32948
32949         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
32950         * lib/fseeko.c (rpl_fseeko): Likewise.
32951         * lib/fseterr.c (fseterr): Likewise.
32952
32953 2007-08-19  Bruno Haible  <bruno@clisp.org>
32954
32955         * tests/test-lseek.c (main): Disable a test for BeOS.
32956         * doc/functions/lseek.texi: Document the BeOS bug.
32957
32958 2007-08-19  Bruno Haible  <bruno@clisp.org>
32959             Eric Blake  <ebb9@byu.net>
32960
32961         * lib/lseek.c: Include <sys/stat.h>.
32962         (rpl_lseek): Add workaround code also for Unix platforms.
32963         Needed for BeOS.
32964         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
32965         * doc/functions/lseek.texi: Document BeOS definiency.
32966
32967 2007-08-18  Bruno Haible  <bruno@clisp.org>
32968
32969         * modules/fstrcmp-tests: New file.
32970         * tests/test-fstrcmp.c: New file.
32971
32972 2007-08-18  Bruno Haible  <bruno@clisp.org>
32973
32974         * modules/fstrcmp: New file, from GNU gettext with modifications.
32975         * lib/fstrcmp.h: New file, from GNU gettext.
32976         * lib/fstrcmp.c: New file, from GNU gettext.
32977         * MODULES.html.sh (String handling): Add fstrcmp.
32978
32979 2007-08-18  Bruno Haible  <bruno@clisp.org>
32980
32981         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
32982         'bool'.
32983         (diag, compareseq): Remove const from the ctxt argument.
32984         (USE_HEURISTIC): Undefine at the end.
32985
32986 2007-08-18  Jim Meyering  <jim@meyering.net>
32987
32988         New file: lib/idcache.h
32989         * NEWS: Mention the addition.
32990         * modules/idcache (Files): Add lib/idcache.h
32991         * lib/idcache.c: Include "idcache.h".
32992         Don't include <sys/types.h>.
32993         Add a FIXME comment.
32994         Move file-scoped "static" declarations to the top.
32995         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
32996
32997 2007-08-17  Bruno Haible  <bruno@clisp.org>
32998         and Paul Eggert  <eggert@cs.ucla.edu>
32999
33000         * MODULES.html.sh: Add diffseq.
33001         * modules/diffseq: New file.
33002         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
33003         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
33004
33005 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
33006
33007         Import changes from coreutils for bootstrap script.
33008
33009         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
33010
33011         * build-aux/bootstrap (slurp): Work even in environments where
33012         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
33013         current code does not slurp files whose names start with ".", and
33014         this looks like it might be a troublesome area.
33015
33016         2007-07-11  Jim Meyering  <jim@meyering.net>
33017
33018         If there's a GPL vN copyright comment, require that N == 3.
33019
33020         2007-07-08  Jim Meyering  <jim@meyering.net>
33021
33022         Run the coreutils-specific code only if tests/Makefile.am.in exists.
33023         * build-aux/bootstrap (mam_template): Move definition out of loop.
33024
33025         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
33026
33027         * build-aux/bootstrap (symlink_to_dir): Rename function from
33028         symlink_to_gnulib.  Add a directory parameter.  Update all
33029         callers.
33030         (cp_mark_as_generated): Also check for -- and link to -- files in
33031         gl/.
33032
33033         2007-07-08  Jim Meyering  <jim@meyering.net>
33034
33035         Adapt to deeper hierarchy in gnulib.
33036         * build-aux/bootstrap (symlink_to_dir): If the destination
33037         directory doesn't exist, create it. This is required at least for
33038         "lib/uniwidth/cjk.h".
33039
33040         2007-05-15  Jim Meyering  <jim@meyering.net>
33041
33042         * build-aux/bootstrap: Now that generated Makefile.am files
33043         are no longer under version control, they must be created at
33044         bootstrap time.
33045
33046 2007-08-14  Ben Pfaff  <blp@gnu.org>
33047
33048         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
33049
33050 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
33051
33052         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
33053         given the changes below.
33054         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
33055         even on hosts that have padding bits beyond the supported 64.
33056
33057 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33058
33059         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
33060         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
33061         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
33062         depends on it.
33063         (xstrtol_error): Remove.
33064         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
33065         but with a different signature.
33066         (ATTRIBUTE_NORETURN, __attribute__): New macros.
33067         * lib/xstrtol-error.c: Include exitfail.h.
33068         (xstrtol_fatal): New function, with a different signature from the
33069         old xstrtol_error, so that the caller need not worry about passing
33070         in an exit status, or about storage management of the option argument.
33071         (xstrtol_error): Now a static function.  Redo signature to
33072         implement xstrtol_fatal.  Output the correct number of hyphens in
33073         front of the option so that the caller need not worry about
33074         storage management.
33075         (N_): New macro.
33076         (_): Remove; not used now.
33077         * modules/xstrtol: Depend on getopt.
33078         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
33079         of old STRTOL_FATAL_ERROR macro.
33080         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
33081         of test program.
33082         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
33083         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
33084
33085 2007-08-08  Eric Blake  <ebb9@byu.net>
33086
33087         * lib/xstrtol-error.c: Add missing include.
33088
33089         Move xstrtol messages into gnulib domain, when --pobase is used.
33090         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
33091         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
33092         * modules/xstrtol (Files): Distribute new file.
33093         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
33094         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
33095         * tests/test-xstrtol.c: ...into new file.
33096         * tests/test-xstrtoul.c: Also test xstrtoul.
33097         * tests/test-xstrtoimax.c: Also test xstrtoimax.
33098         * tests/test-xstrtoumax.c: Also test xstrtoumax.
33099         * tests/test-xstrtol.sh: Drive the tests.
33100         * tests/test-xstrtoimax.sh: Likewise.
33101         * tests/test-xstrtoumax.sh: Likewise.
33102         * modules/xstrtol-tests: New module.
33103         * modules/xstrtoimax-tests: Likewise.
33104         * modules/xstrtoumax-tests: Likewise.
33105
33106 2007-08-08  Jim Meyering  <jim@meyering.net>
33107
33108         New function: mfile_name_concat.
33109         * lib/filenamecat.c (mfile_name_concat): New function, just like
33110         file_name_concat, but return NULL upon failure rather than exiting
33111         with a diagnostic.
33112         * lib/filenamecat.h: Declare it.
33113
33114 2007-08-07  Bruno Haible  <bruno@clisp.org>
33115
33116         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
33117         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
33118         warning from gcc.
33119         Reported by Eric Blake.
33120
33121 2007-08-07  Simon Josefsson  <simon@josefsson.org>
33122
33123         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
33124         * modules/crypto/arcfour (License): Likewise.
33125         * modules/crypto/des-tests (License): Likewise.
33126         * modules/crypto/gc-arctwo-tests (License): Likewise.
33127         * modules/crypto/gc-des-tests (License): Likewise.
33128         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
33129         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
33130         * modules/crypto/gc-md2-tests (License): Likewise.
33131         * modules/crypto/gc-md4-tests (License): Likewise.
33132         * modules/crypto/gc-md5-tests (License): Likewise.
33133         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
33134         * modules/crypto/gc-rijndael-tests (License): Likewise.
33135         * modules/crypto/gc-sha1-tests (License): Likewise.
33136         * modules/crypto/gc-tests (License): Likewise.
33137         * modules/crypto/hmac-md5 (License): Likewise.
33138         * modules/crypto/hmac-sha1 (License): Likewise.
33139         * modules/crypto/md2-tests (License): Likewise.
33140         * modules/crypto/md4-tests (License): Likewise.
33141         * modules/crypto/md5 (License): Likewise.
33142         * modules/crypto/rijndael (License): Likewise.
33143         * modules/crypto/sha1 (License): Likewise.
33144         * modules/memxor (License): Likewise.
33145
33146 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
33147         and Bruno Haible  <bruno@clisp.org>
33148
33149         * NEWS: Describe interface changes to human, xstrtol.
33150         * lib/human.h: Include <xstrtol.h>.
33151         (human_options): Return enum strtol_error, not int.  Remove
33152         bool arg; take int * instead.
33153         * lib/human.c: Don't include "gettext.h".
33154         (_): Remove; no longer used.
33155         Don't include <xstrtol.h>, since human.h does it.
33156         (human_options): Adjust to abovementioned interface changes.
33157         Do not report error to stderr; that's now the caller's
33158         responsibility.
33159         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
33160         interface change.
33161         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
33162         Str, Argument_type_string.  All uses changed.  Put " argument"
33163         in diagnostics to make them clearer.  Change wording of suffix
33164         message for clarity.
33165         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
33166         Argument_type_string.
33167         (STRTOL_FATAL_WARN): Remove; no longer used.
33168         * modules/human (Depends-on): Remove gettext-h.
33169
33170 2007-08-06  Simon Josefsson  <simon@josefsson.org>
33171
33172         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
33173
33174 2007-07-31  Bruno Haible  <bruno@clisp.org>
33175
33176         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
33177         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
33178         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
33179
33180 2007-07-31  Bruno Haible  <bruno@clisp.org>
33181
33182         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
33183         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
33184
33185 2007-07-30  Bruno Haible  <bruno@clisp.org>
33186
33187         * modules/base64 (License): Use the synonymous term "LGPLv2+".
33188         * modules/c-ctype (License): Likewise.
33189         * modules/c-strcase (License): Likewise.
33190         * modules/check-version (License): Likewise.
33191         * modules/iconv (License): Likewise.
33192         * modules/iconv_open (License): Likewise.
33193         * modules/read-file (License): Likewise.
33194         * modules/striconv (License): Likewise.
33195         * modules/strverscmp (License): Likewise.
33196         * modules/vasprintf (License): Likewise.
33197         * modules/crypto/des (License): Likewise.
33198         * modules/crypto/gc (License): Likewise.
33199         * modules/crypto/gc-arcfour (License): Likewise.
33200         * modules/crypto/gc-arctwo (License): Likewise.
33201         * modules/crypto/gc-des (License): Likewise.
33202         * modules/crypto/gc-hmac-md5 (License): Likewise.
33203         * modules/crypto/gc-hmac-sha1 (License): Likewise.
33204         * modules/crypto/gc-md2 (License): Likewise.
33205         * modules/crypto/gc-md4 (License): Likewise.
33206         * modules/crypto/gc-md5 (License): Likewise.
33207         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
33208         * modules/crypto/gc-random (License): Likewise.
33209         * modules/crypto/gc-rijndael (License): Likewise.
33210         * modules/crypto/gc-sha1 (License): Likewise.
33211         * modules/crypto/md2 (License): Likewise.
33212         * modules/crypto/md4 (License): Likewise.
33213
33214 2007-07-30  Jim Meyering  <jim@meyering.net>
33215
33216         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
33217         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
33218         it has valid stat data.  This bug would cause du not to count the
33219         sizes of inaccessible directories.
33220         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
33221         in <http://bugzilla.redhat.com/250077>.
33222
33223 2007-07-25  Peter O'Gorman  <peter@pogma.com>
33224             Bruno Haible  <bruno@clisp.org>
33225
33226         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
33227         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
33228         #include_next, gives a diagnostic about it, but reports no error in
33229         the exit code.
33230         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33231
33232 2007-07-24  Ben Pfaff  <blp@gnu.org>
33233
33234         Improve name: "count-one-bits" is better than "popcount".
33235         * MODULES.html.sh: Update name.
33236         * lib/popcount.h: Renamed lib/count-one-bits.h.
33237         (popcount): Renamed count_one_bits.
33238         (popcountl): Renamed count_one_bits_l.
33239         (popcountll): Renamed count_one_bits_ll.
33240         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
33241         * modules/popcount: Renamed module/count-one-bits.
33242         * modules/popcount-tests: Renamed module/count-one-bits-tests.
33243         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
33244
33245 2007-07-23  Ben Pfaff  <blp@gnu.org>
33246
33247         * lib/popcount.h (popcount32): Reduce size of constants, to allow
33248         better code generation, and add U to large constants to avoid
33249         warnings, in non-GCC case.
33250         Suggested by Bruno Haible.
33251
33252 2007-07-23  Ben Pfaff  <blp@gnu.org>
33253
33254         * lib/popcount.h: Use verify_true instead of if...abort.
33255         * modules/popcount: Depend on verify module.
33256         Suggested by Jim Meyering.
33257
33258 2007-07-23  Bruno Haible  <bruno@clisp.org>
33259
33260         * gnulib-tool (func_import): Create a .cvsignore file also when the
33261         directory is not yet in CVS but the toplevel directory is. When
33262         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
33263         Reported by Karl Berry.
33264
33265 2007-07-22  Ben Pfaff  <blp@gnu.org>
33266
33267         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
33268         case.
33269         Suggested by Eric Blake.
33270
33271 2007-07-22  Ben Pfaff  <blp@gnu.org>
33272
33273         New module: popcount.
33274         * MODULES.html.sh: Add popcount.
33275         * modules/popcount: New file.
33276         * modules/popcount-tests: New file.
33277         * tests/test-popcount.c: New file.
33278         * lib/popcount.h: New file.
33279         * m4/popcount.m4: New file.
33280
33281 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33282
33283         * build-aux/announce-gen: Update to GPLv3.
33284
33285         * build-aux/config.guess: Update from config.
33286
33287 2007-07-21  Bruno Haible  <bruno@clisp.org>
33288
33289         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
33290         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
33291
33292 2007-07-20  Jim Meyering  <jim@meyering.net>
33293
33294         * check-module: Diagnose a self-dependency.
33295
33296 2007-07-19  Bruno Haible  <bruno@clisp.org>
33297
33298         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
33299         empty.
33300         Reported by Eric Blake.
33301
33302 2007-07-18  Bruno Haible  <bruno@clisp.org>
33303
33304         * gnulib-tool: New options --po-base, --po-domain.
33305         (func_usage): Document them.
33306         (pobase, po_domain): New variables.
33307         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
33308         DEFAULT_TEXT_DOMAIN.
33309         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
33310         (func_import): Consider pobase and po_domain. Create a po/ directory.
33311         (func_create_testdir): Set pobase and po_domain to empty.
33312         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
33313         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
33314
33315 2007-07-18  Bruno Haible  <bruno@clisp.org>
33316
33317         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33318         EXTRA_DIST augmentation for files in build-aux/.
33319
33320 2007-07-16  Bruno Haible  <bruno@clisp.org>
33321
33322         * modules/lseek (License): Use the synonymous term "LGPLv2+".
33323         * modules/getdelim (License): Likewise.
33324
33325 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33326
33327         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
33328         * modules/d-type (License): Likewise.
33329         * modules/extensions (License): Likewise.
33330         * modules/fnmatch (License): Likewise.
33331         * modules/fseeko (License): Likewise.
33332         * modules/getaddrinfo (License): Likewise.
33333         * modules/getline (License): Likewise.
33334         * modules/getlogin_r (License): Likewise.
33335         * modules/getpass (License): Likewise.
33336         * modules/gettimeofday (License): Likewise.
33337         * modules/glob (License): Likewise.
33338         * modules/inet_ntop (License): Likewise.
33339         * modules/malloc (License): Likewise.
33340         * modules/malloca (License): Likewise.
33341         * modules/memmem (License): Likewise.
33342         * modules/mempcpy (License): Likewise.
33343         * modules/memset (License): Likewise.
33344         * modules/minmax (License): Likewise.
33345         * modules/mktime (License): Likewise.
33346         * modules/netinet_in (License): Likewise.
33347         * modules/pathmax (License): Likewise.
33348         * modules/poll (License): Likewise.
33349         * modules/regex (License): Likewise.
33350         * modules/snprintf (License): Likewise.
33351         * modules/stdbool (License): Likewise.
33352         * modules/stdint (License): Likewise.
33353         * modules/stdio (License): Likewise.
33354         * modules/strcase (License): Likewise.
33355         * modules/strcasestr (License): Likewise.
33356         * modules/strdup (License): Likewise.
33357         * modules/string (License): Likewise.
33358         * modules/strndup (License): Likewise.
33359         * modules/strnlen (License): Likewise.
33360         * modules/strpbrk (License): Likewise.
33361         * modules/strptime (License): Likewise.
33362         * modules/strsep (License): Likewise.
33363         * modules/sys_select (License): Likewise.
33364         * modules/sys_socket (License): Likewise.
33365         * modules/sys_stat (License): Likewise.
33366         * modules/sys_time (License): Likewise.
33367         * modules/time (License): Likewise.
33368         * modules/time_r (License): Likewise.
33369         * modules/timegm (License): Likewise.
33370         * modules/unistd (License): Likewise.
33371         * modules/vsnprintf (License): Likewise.
33372         * modules/wctype (License): Likewise.
33373
33374 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33375
33376         * modules/argz (License): LGPLv2+.
33377
33378 2007-07-15  Karl Berry  <karl@gnu.org>
33379
33380         * doc/gnulib.texi: revise node structure per new fdl.texi.
33381
33382 2007-07-14  Bruno Haible  <bruno@clisp.org>
33383
33384         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
33385         the output file.
33386         * lib/uniname/uninames.h: Regenerated.
33387
33388 2007-07-14  Karl Berry  <karl@gnu.org>
33389
33390         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
33391         omitting sectioning and index commands.
33392
33393 2007-07-13  Bruno Haible  <bruno@clisp.org>
33394
33395         New gnulib-tool option --more-symlinks.
33396         * gnulib-tool (func_usage): Document --more-symlinks.
33397         (do_copyrights): New variable.
33398         Recognize option --more-symlinks.
33399         (func_import): Don't add a copyright notice transform to
33400         sed_transform_lib_file if do_copyrights is empty.
33401
33402 2007-07-13  Bruno Haible  <bruno@clisp.org>
33403
33404         * lib/vasnprintf.c (decimal_point_char): Define also if
33405         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
33406         && !NEED_PRINTF_DIRECTIVE_A.
33407         Reported by Clemens Koller <clemens.koller@anagramm.de> via
33408         Gary V. Vaughan <gary@gnu.org>.
33409
33410 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
33411
33412         * lib/inttypes_.h: Undo previous change, since it was fixed
33413         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
33414
33415 2007-07-13  Bruno Haible  <bruno@clisp.org>
33416
33417         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
33418         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
33419
33420 2007-07-13  Jim Meyering  <jim@meyering.net>
33421
33422         df: Don't fail for Tru64's "file-on-file mount".
33423         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
33424         so we fall through and use statfs instead.  Details here:
33425         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
33426         Reported by Albert Chin.
33427
33428 2007-07-13  Bruno Haible  <bruno@clisp.org>
33429
33430         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
33431         * modules/configmake (License): Likewise.
33432         * modules/gettext (License): Likewise.
33433         * modules/gettext-h (License): Likewise.
33434         * modules/include_next (License): Likewise.
33435         * modules/link-warning (License): Likewise.
33436         * modules/localcharset (License): Likewise.
33437         * modules/localename (License): Likewise.
33438         * modules/lock (License): Likewise.
33439         * modules/relocatable-lib-lgpl (License): Likewise.
33440         * modules/size_max (License): Likewise.
33441         * modules/vasnprintf (License): Likewise.
33442         * modules/wchar (License): Likewise.
33443         * modules/xsize (License): Likewise.
33444
33445 2007-07-13  Bruno Haible  <bruno@clisp.org>
33446
33447         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
33448         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
33449
33450 2007-07-12  Bruno Haible  <bruno@clisp.org>
33451
33452         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
33453         in the modules files.
33454
33455 2007-07-11  Karl Berry  <karl@gnu.org>
33456
33457         * MODULES.html.sh (func_module): use
33458          sed -e '\|^'"${includefile}"'$|d'
33459          instead of /.../d, to avoid errors on $includefile's containing /.
33460
33461 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
33462
33463         * gnulib-tool (func_import): Avoid duplication of --avoid
33464         statements
33465         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
33466         names to `_' in variable names.
33467
33468 2007-07-10  Eric Blake  <ebb9@byu.net>
33469
33470         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
33471         * NEWS: Document this change.
33472
33473 2007-07-08  Bruno Haible  <bruno@clisp.org>
33474
33475         Update to Unicode 5.0.
33476         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
33477         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
33478         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
33479         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
33480         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
33481         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
33482         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
33483         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
33484         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
33485         U+10A3F, U+1D242..U+1D244.
33486         (nonspacing_table_ind): Update.
33487         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
33488         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
33489
33490 2007-07-08  Bruno Haible  <bruno@clisp.org>
33491
33492         Update to Unicode 5.0.
33493         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
33494         code transform. Extend the name index field of unicode_name_to_code and
33495         unicode_code_to_name from 16 to 24 bits.
33496         * lib/uniname/uniname.c (unicode_character_name,
33497         unicode_name_character): Add the range 0x12xxx to the code transform.
33498         * lib/uniname/uninames.h: Regenerated.
33499         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
33500
33501 2007-07-07  Bruno Haible  <bruno@clisp.org>
33502
33503         * modules/wcwidth-tests: New file.
33504         * tests/test-wcwidth.c: New file.
33505
33506         Work around MacOS X wcwidth() bug.
33507         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
33508         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
33509         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
33510         original wcwidth in non-UTF-8 locales.
33511         * modules/wcwidth (Depends-on): Add localcharset, streq,
33512         uniwidth/width.
33513         * doc/functions/wcwidth.texi: Update.
33514
33515 2007-07-07  Bruno Haible  <bruno@clisp.org>
33516
33517         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
33518         (wcwidth): New declaration.
33519         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
33520         macros.
33521         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
33522         here. Prepare for creating <wchar.h> unconditionally.
33523         * modules/wchar (Depends-on): Add link-warning.
33524         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
33525         REPLACE_WCWIDTH, and GL_LINK_WARNING.
33526         * lib/wcwidth.h: Remove file.
33527         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
33528         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
33529         * modules/wcwidth (Files): Remove lib/wcwidth.h.
33530         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
33531         (Include): Replace wcwidth.h with <wchar.h>.
33532         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
33533         * lib/mbchar.h: Don't include wcwidth.h.
33534         * lib/mbswidth.c: Likewise.
33535         * NEWS: Mention the change.
33536
33537 2007-07-07  Bruno Haible  <bruno@clisp.org>
33538
33539         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
33540         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
33541         definition with an external declaration.
33542         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
33543         defined as a function. Remove AC_C_INLINE requirement.
33544         * modules/wcwidth (Files): Add lib/wcwidth.c.
33545         (Makefile.am): Remove redundant statement.
33546
33547 2007-07-07  Bruno Haible  <bruno@clisp.org>
33548
33549         * MODULES.html.sh (Unicode string functions): Add the new modules.
33550
33551         * tests/uniwidth/test-u32-strwidth.c: New file.
33552         * modules/uniwidth/u32-strwidth-tests: New file.
33553
33554         * lib/uniwidth/u32-strwidth.c: New file.
33555         * modules/uniwidth/u32-strwidth: New file.
33556
33557         * tests/uniwidth/test-u16-strwidth.c: New file.
33558         * modules/uniwidth/u16-strwidth-tests: New file.
33559
33560         * lib/uniwidth/u16-strwidth.c: New file.
33561         * modules/uniwidth/u16-strwidth: New file.
33562
33563         * tests/uniwidth/test-u8-strwidth.c: New file.
33564         * modules/uniwidth/u8-strwidth-tests: New file.
33565
33566         * lib/uniwidth/u8-strwidth.c: New file.
33567         * modules/uniwidth/u8-strwidth: New file.
33568
33569         * tests/uniwidth/test-u32-width.c: New file.
33570         * modules/uniwidth/u32-width-tests: New file.
33571
33572         * lib/uniwidth/u32-width.c: New file.
33573         * modules/uniwidth/u32-width: New file.
33574
33575         * tests/uniwidth/test-u16-width.c: New file.
33576         * modules/uniwidth/u16-width-tests: New file.
33577
33578         * lib/uniwidth/u16-width.c: New file.
33579         * modules/uniwidth/u16-width: New file.
33580
33581         * tests/uniwidth/test-u8-width.c: New file.
33582         * modules/uniwidth/u8-width-tests: New file.
33583
33584         * lib/uniwidth/u8-width.c: New file.
33585         * modules/uniwidth/u8-width: New file.
33586
33587         * tests/uniwidth/test-uc_width.c: New file.
33588         * modules/uniwidth/width-tests: New file.
33589
33590         * lib/uniwidth/width.c: New file, from GNU libiconv.
33591         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
33592         * modules/uniwidth/width: New file.
33593
33594         * lib/uniwidth.h: New file, from GNU libiconv.
33595         * modules/uniwidth/base: New file.
33596
33597 2007-07-07  Bruno Haible  <bruno@clisp.org>
33598
33599         * lib/uniname.h: New file, from GNU gettext.
33600         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
33601         * lib/uniname/uninames.h: New file, from GNU gettext.
33602         * lib/uniname/uniname.c: New file, from GNU gettext.
33603         * tests/uniname/test-uninames.sh: New file.
33604         * tests/uniname/test-uninames.c: New file, from GNU gettext.
33605         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
33606         * modules/uniname/base: New file.
33607         * modules/uniname/uniname: New file.
33608         * modules/uniname/uniname-tests: New file.
33609         * MODULES.html.sh (Unicode string functions): Add the new modules.
33610
33611 2007-07-06  Bruno Haible  <bruno@clisp.org>
33612
33613         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
33614
33615 2007-07-06  Bruno Haible  <bruno@clisp.org>
33616
33617         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
33618         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
33619         includes <cygwin/sys_time.h> which includes <sys/select.h> which
33620         include <sys/time.h>.
33621         Reported by Eric Blake.
33622
33623 2007-07-06  Eric Blake  <ebb9@byu.net>
33624
33625         Fix testing canonicalize on cygwin.
33626         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
33627         Revert patch from 2007-06-19.
33628         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
33629         canonicalize module is also in use.
33630         * tests/test-canonicalize.c: New file.
33631         * tests/test-canonicalize.sh: Likewise.
33632         * modules/canonicalize-tests: Likewise.
33633
33634 2007-07-06  Jim Meyering  <jim@meyering.net>
33635
33636         * lib/getugroups.c (getugroups): Detect getgrent failure.
33637         Adjust comment to reflect reality: this function may return -1.
33638
33639 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33640
33641         * build-aux/bootstrap (TP_URL,get_translations): Update to use
33642         the new TP address.
33643         (usage): Fix typo
33644         (gnulib_mk): New variable.
33645
33646 2007-07-05  Jim Meyering  <jim@meyering.net>
33647
33648         Don't let endgrent clobber errno, no matter how improbable.
33649         * lib/getugroups.c (getugroups): Save and restore errno around
33650         endgrent call.
33651
33652         Close the group DB even when failing with 2^31 or more members.
33653         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
33654
33655 2007-07-04  Jim Meyering  <jim@meyering.net>
33656
33657         * lib/getugroups.h: New file.
33658         * lib/getugroups.c: Include "getugroups.h".
33659         Remove uses of "register" keyword.
33660         Move local variable, "cp", down into scope where used.
33661         Give "username" parameter the "const" attribute.
33662         * modules/getugroups (Files): Add lib/getugroups.h
33663
33664 2007-07-04  Karl Berry  <karl@gnu.org>
33665
33666         * MODULES.html.sh (func_all_modules): Complete rename of
33667         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
33668
33669 2007-07-02  Bruno Haible  <bruno@clisp.org>
33670
33671         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
33672         mode, when inttypes.h comes from gnulib.
33673         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33674
33675 2007-07-02  Simon Josefsson  <simon@josefsson.org>
33676
33677         * NEWS: Mention lgpl module name change.
33678
33679         * modules/lgpl-2.1: Renamed from lgpl.
33680
33681         * NEWS: Mention gpl module name change.
33682
33683         * modules/gpl-3.0: New file, based on gpl-2.0.
33684
33685         * modules/gpl-2.0: Renamed from gpl.
33686
33687         * modules/gpl: Fix filename, doc/gpl.texi is now found at
33688         doc/gpl-2.0.texi.
33689
33690 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
33691
33692         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
33693         #define __STDC_LIMIT_MACROS temporarily while including
33694         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
33695         Problem reported by Joel E. Denny in
33696         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
33697
33698 2007-07-01  Bruno Haible  <bruno@clisp.org>
33699
33700         * lib/unistdio.h: New file.
33701         * lib/unistdio/u-asnprintf.h: New file.
33702         * lib/unistdio/u-asprintf.h: New file.
33703         * lib/unistdio/u-printf-args.c: New file.
33704         * lib/unistdio/u-printf-args.h: New file.
33705         * lib/unistdio/u-printf-parse.h: New file.
33706         * lib/unistdio/u-snprintf.h: New file.
33707         * lib/unistdio/u-sprintf.h: New file.
33708         * lib/unistdio/u-vasprintf.h: New file.
33709         * lib/unistdio/u-vsnprintf.h: New file.
33710         * lib/unistdio/u-vsprintf.h: New file.
33711         * lib/unistdio/ulc-asnprintf.c: New file.
33712         * lib/unistdio/ulc-asprintf.c: New file.
33713         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
33714         * lib/unistdio/ulc-printf-parse.c: New file.
33715         * lib/unistdio/ulc-snprintf.c: New file.
33716         * lib/unistdio/ulc-sprintf.c: New file.
33717         * lib/unistdio/ulc-vasnprintf.c: New file.
33718         * lib/unistdio/ulc-vasprintf.c: New file.
33719         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
33720         * lib/unistdio/ulc-vsnprintf.c: New file.
33721         * lib/unistdio/ulc-vsprintf.c: New file.
33722         * lib/unistdio/u8-asnprintf.c: New file.
33723         * lib/unistdio/u8-asprintf.c: New file.
33724         * lib/unistdio/u8-printf-parse.c: New file.
33725         * lib/unistdio/u8-snprintf.c: New file.
33726         * lib/unistdio/u8-sprintf.c: New file.
33727         * lib/unistdio/u8-vasnprintf.c: New file.
33728         * lib/unistdio/u8-vasprintf.c: New file.
33729         * lib/unistdio/u8-vsnprintf.c: New file.
33730         * lib/unistdio/u8-vsprintf.c: New file.
33731         * lib/unistdio/u8-u8-asnprintf.c: New file.
33732         * lib/unistdio/u8-u8-asprintf.c: New file.
33733         * lib/unistdio/u8-u8-snprintf.c: New file.
33734         * lib/unistdio/u8-u8-sprintf.c: New file.
33735         * lib/unistdio/u8-u8-vasnprintf.c: New file.
33736         * lib/unistdio/u8-u8-vasprintf.c: New file.
33737         * lib/unistdio/u8-u8-vsnprintf.c: New file.
33738         * lib/unistdio/u8-u8-vsprintf.c: New file.
33739         * lib/unistdio/u16-asnprintf.c: New file.
33740         * lib/unistdio/u16-asprintf.c: New file.
33741         * lib/unistdio/u16-printf-parse.c: New file.
33742         * lib/unistdio/u16-snprintf.c: New file.
33743         * lib/unistdio/u16-sprintf.c: New file.
33744         * lib/unistdio/u16-vasnprintf.c: New file.
33745         * lib/unistdio/u16-vasprintf.c: New file.
33746         * lib/unistdio/u16-vsnprintf.c: New file.
33747         * lib/unistdio/u16-vsprintf.c: New file.
33748         * lib/unistdio/u16-u16-asnprintf.c: New file.
33749         * lib/unistdio/u16-u16-asprintf.c: New file.
33750         * lib/unistdio/u16-u16-snprintf.c: New file.
33751         * lib/unistdio/u16-u16-sprintf.c: New file.
33752         * lib/unistdio/u16-u16-vasnprintf.c: New file.
33753         * lib/unistdio/u16-u16-vasprintf.c: New file.
33754         * lib/unistdio/u16-u16-vsnprintf.c: New file.
33755         * lib/unistdio/u16-u16-vsprintf.c: New file.
33756         * lib/unistdio/u32-asnprintf.c: New file.
33757         * lib/unistdio/u32-asprintf.c: New file.
33758         * lib/unistdio/u32-printf-parse.c: New file.
33759         * lib/unistdio/u32-snprintf.c: New file.
33760         * lib/unistdio/u32-sprintf.c: New file.
33761         * lib/unistdio/u32-vasnprintf.c: New file.
33762         * lib/unistdio/u32-vasprintf.c: New file.
33763         * lib/unistdio/u32-vsnprintf.c: New file.
33764         * lib/unistdio/u32-vsprintf.c: New file.
33765         * lib/unistdio/u32-u32-asnprintf.c: New file.
33766         * lib/unistdio/u32-u32-asprintf.c: New file.
33767         * lib/unistdio/u32-u32-snprintf.c: New file.
33768         * lib/unistdio/u32-u32-sprintf.c: New file.
33769         * lib/unistdio/u32-u32-vasnprintf.c: New file.
33770         * lib/unistdio/u32-u32-vasprintf.c: New file.
33771         * lib/unistdio/u32-u32-vsnprintf.c: New file.
33772         * lib/unistdio/u32-u32-vsprintf.c: New file.
33773         * tests/unistdio/test-ulc-asnprintf1.c: New file.
33774         * tests/unistdio/test-ulc-asnprintf1.h: New file.
33775         * tests/unistdio/test-ulc-printf1.h: New file.
33776         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
33777         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
33778         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
33779         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
33780         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
33781         * tests/unistdio/test-ulc-vasprintf1.c: New file.
33782         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
33783         * tests/unistdio/test-ulc-vsprintf1.c: New file.
33784         * tests/unistdio/test-u8-asnprintf1.c: New file.
33785         * tests/unistdio/test-u8-asnprintf1.h: New file.
33786         * tests/unistdio/test-u8-printf1.h: New file.
33787         * tests/unistdio/test-u8-vasnprintf1.c: New file.
33788         * tests/unistdio/test-u8-vasnprintf2.c: New file.
33789         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
33790         * tests/unistdio/test-u8-vasnprintf3.c: New file.
33791         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
33792         * tests/unistdio/test-u8-vasprintf1.c: New file.
33793         * tests/unistdio/test-u8-vsnprintf1.c: New file.
33794         * tests/unistdio/test-u8-vsprintf1.c: New file.
33795         * tests/unistdio/test-u16-asnprintf1.c: New file.
33796         * tests/unistdio/test-u16-asnprintf1.h: New file.
33797         * tests/unistdio/test-u16-printf1.h: New file.
33798         * tests/unistdio/test-u16-vasnprintf1.c: New file.
33799         * tests/unistdio/test-u16-vasnprintf2.c: New file.
33800         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
33801         * tests/unistdio/test-u16-vasnprintf3.c: New file.
33802         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
33803         * tests/unistdio/test-u16-vasprintf1.c: New file.
33804         * tests/unistdio/test-u16-vsnprintf1.c: New file.
33805         * tests/unistdio/test-u16-vsprintf1.c: New file.
33806         * tests/unistdio/test-u32-asnprintf1.c: New file.
33807         * tests/unistdio/test-u32-asnprintf1.h: New file.
33808         * tests/unistdio/test-u32-printf1.h: New file.
33809         * tests/unistdio/test-u32-vasnprintf1.c: New file.
33810         * tests/unistdio/test-u32-vasnprintf2.c: New file.
33811         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
33812         * tests/unistdio/test-u32-vasnprintf3.c: New file.
33813         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
33814         * tests/unistdio/test-u32-vasprintf1.c: New file.
33815         * tests/unistdio/test-u32-vsnprintf1.c: New file.
33816         * tests/unistdio/test-u32-vsprintf1.c: New file.
33817         * modules/unistdio/base: New file.
33818         * modules/unistdio/u-printf-args: New file.
33819         * modules/unistdio/ulc-asnprintf: New file.
33820         * modules/unistdio/ulc-asprintf: New file.
33821         * modules/unistdio/ulc-fprintf: New file.
33822         * modules/unistdio/ulc-printf-parse: New file.
33823         * modules/unistdio/ulc-snprintf: New file.
33824         * modules/unistdio/ulc-sprintf: New file.
33825         * modules/unistdio/ulc-vasnprintf: New file.
33826         * modules/unistdio/ulc-vasprintf: New file.
33827         * modules/unistdio/ulc-vfprintf: New file.
33828         * modules/unistdio/ulc-vsnprintf: New file.
33829         * modules/unistdio/ulc-vsprintf: New file.
33830         * modules/unistdio/u8-asnprintf: New file.
33831         * modules/unistdio/u8-asprintf: New file.
33832         * modules/unistdio/u8-printf-parse: New file.
33833         * modules/unistdio/u8-snprintf: New file.
33834         * modules/unistdio/u8-sprintf: New file.
33835         * modules/unistdio/u8-vasnprintf: New file.
33836         * modules/unistdio/u8-vasprintf: New file.
33837         * modules/unistdio/u8-vsnprintf: New file.
33838         * modules/unistdio/u8-vsprintf: New file.
33839         * modules/unistdio/u8-u8-asnprintf: New file.
33840         * modules/unistdio/u8-u8-asprintf: New file.
33841         * modules/unistdio/u8-u8-snprintf: New file.
33842         * modules/unistdio/u8-u8-sprintf: New file.
33843         * modules/unistdio/u8-u8-vasnprintf: New file.
33844         * modules/unistdio/u8-u8-vasprintf: New file.
33845         * modules/unistdio/u8-u8-vsnprintf: New file.
33846         * modules/unistdio/u8-u8-vsprintf: New file.
33847         * modules/unistdio/u16-asnprintf: New file.
33848         * modules/unistdio/u16-asprintf: New file.
33849         * modules/unistdio/u16-printf-parse: New file.
33850         * modules/unistdio/u16-snprintf: New file.
33851         * modules/unistdio/u16-sprintf: New file.
33852         * modules/unistdio/u16-vasnprintf: New file.
33853         * modules/unistdio/u16-vasprintf: New file.
33854         * modules/unistdio/u16-vsnprintf: New file.
33855         * modules/unistdio/u16-vsprintf: New file.
33856         * modules/unistdio/u16-u16-asnprintf: New file.
33857         * modules/unistdio/u16-u16-asprintf: New file.
33858         * modules/unistdio/u16-u16-snprintf: New file.
33859         * modules/unistdio/u16-u16-sprintf: New file.
33860         * modules/unistdio/u16-u16-vasnprintf: New file.
33861         * modules/unistdio/u16-u16-vasprintf: New file.
33862         * modules/unistdio/u16-u16-vsnprintf: New file.
33863         * modules/unistdio/u16-u16-vsprintf: New file.
33864         * modules/unistdio/u32-asnprintf: New file.
33865         * modules/unistdio/u32-asprintf: New file.
33866         * modules/unistdio/u32-printf-parse: New file.
33867         * modules/unistdio/u32-snprintf: New file.
33868         * modules/unistdio/u32-sprintf: New file.
33869         * modules/unistdio/u32-vasnprintf: New file.
33870         * modules/unistdio/u32-vasprintf: New file.
33871         * modules/unistdio/u32-vsnprintf: New file.
33872         * modules/unistdio/u32-vsprintf: New file.
33873         * modules/unistdio/u32-u32-asnprintf: New file.
33874         * modules/unistdio/u32-u32-asprintf: New file.
33875         * modules/unistdio/u32-u32-snprintf: New file.
33876         * modules/unistdio/u32-u32-sprintf: New file.
33877         * modules/unistdio/u32-u32-vasnprintf: New file.
33878         * modules/unistdio/u32-u32-vasprintf: New file.
33879         * modules/unistdio/u32-u32-vsnprintf: New file.
33880         * modules/unistdio/u32-u32-vsprintf: New file.
33881         * modules/unistdio/ulc-asnprintf-tests: New file.
33882         * modules/unistdio/ulc-vasnprintf-tests: New file.
33883         * modules/unistdio/ulc-vasprintf-tests: New file.
33884         * modules/unistdio/ulc-vsnprintf-tests: New file.
33885         * modules/unistdio/ulc-vsprintf-tests: New file.
33886         * modules/unistdio/u8-asnprintf-tests: New file.
33887         * modules/unistdio/u8-vasnprintf-tests: New file.
33888         * modules/unistdio/u8-vasprintf-tests: New file.
33889         * modules/unistdio/u8-vsnprintf-tests: New file.
33890         * modules/unistdio/u8-vsprintf-tests: New file.
33891         * modules/unistdio/u16-asnprintf-tests: New file.
33892         * modules/unistdio/u16-vasnprintf-tests: New file.
33893         * modules/unistdio/u16-vasprintf-tests: New file.
33894         * modules/unistdio/u16-vsnprintf-tests: New file.
33895         * modules/unistdio/u16-vsprintf-tests: New file.
33896         * modules/unistdio/u32-asnprintf-tests: New file.
33897         * modules/unistdio/u32-vasnprintf-tests: New file.
33898         * modules/unistdio/u32-vasprintf-tests: New file.
33899         * modules/unistdio/u32-vsnprintf-tests: New file.
33900         * modules/unistdio/u32-vsprintf-tests: New file.
33901         * MODULES.html.sh (Unicode string functions): Add the new modules.
33902
33903 2007-07-01  Bruno Haible  <bruno@clisp.org>
33904
33905         * lib/sprintf.c (sprintf): Limit the available length estimation,
33906         to avoid address wraparound.
33907         * lib/vsprintf.c (vsprintf): Likewise.
33908         * modules/sprintf-posix (Dependencies): Add stdint.
33909         * modules/vsprintf-posix (Dependencies): Likewise.
33910
33911 2007-07-01  Bruno Haible  <bruno@clisp.org>
33912
33913         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
33914         Windows PATH as well. Conservative double-quoting. Comments.
33915
33916 2007-07-01  Bruno Haible  <bruno@clisp.org>
33917             Eric Blake  <ebb9@byu.net>
33918             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33919
33920         * gnulib-tool (self_abspathname): Fix algorithm to cope with
33921         empty components in $PATH, denoting '.'.
33922
33923 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33924
33925         * gnulib-tool: Fix indentation.
33926         (func_create_megatestdir): Likewise.
33927         Report by Bruno Haible.
33928
33929 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33930
33931         Sync from Automake.
33932         * build-aux/gnupload: Fix shell portability issues with for loops.
33933         Report by Karl Berry.
33934
33935 2007-06-29  Simon Josefsson  <simon@josefsson.org>
33936
33937         * build-aux/maint.mk (POURL): Use translationproject.org.
33938
33939 2007-06-27  Simon Josefsson  <simon@josefsson.org>
33940             Bruno Haible  <bruno@clisp.org>
33941
33942         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
33943         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
33944         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
33945         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
33946         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
33947
33948 2007-06-27  Bruno Haible  <bruno@clisp.org>
33949
33950         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
33951         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
33952
33953 2007-06-26  Karl Berry  <karl@gnu.org>
33954
33955         * MODULES.html.sh: remove xreadlink-with-size.
33956
33957 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
33958
33959         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
33960         method that I hope also handles the double-include problem noted
33961         by Bruno Haible in
33962         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
33963
33964 2007-06-23  Bruno Haible  <bruno@clisp.org>
33965
33966         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33967         Don't let the 'mostlyclean' target fail if the last subdirectory could
33968         not be removed.
33969         Reported by Karl Berry.
33970
33971 2007-06-23  Bruno Haible  <bruno@clisp.org>
33972
33973         * gnulib-tool (echo): Add a speedier workaround for ksh.
33974         * tests/test-echo.sh: Likewise.
33975
33976 2007-06-23  Bruno Haible  <bruno@clisp.org>
33977
33978         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
33979         * tests/test-echo.sh: Likewise.
33980
33981 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33982
33983         * gnulib-tool (IFS): Initialize early, so we don't set it to
33984         empty later.
33985         (self_abspathname): Rewrite algorithm to set it, reindent.
33986         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
33987         (func_create_megatestdir): Merge some sed scripts.
33988
33989 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
33990
33991         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
33992         exposed by Sun Studio 11 cc on Solaris 8.
33993
33994 2007-06-22  Bruno Haible  <bruno@clisp.org>
33995
33996         * gnulib-tool (echo): Ensure the echo primitive does not interpret
33997         backslashes.
33998         * tests/test-echo.sh: New file.
33999
34000 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34001
34002         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
34003         simplify `sed_replace_build_aux' scripts, they are portable but
34004         echoing them with `echo' is not.
34005         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
34006
34007 2007-06-21  Karl Berry  <karl@gnu.org>
34008
34009         * config/srclist.txt: guess we can't handle the licenses via
34010         srclist at the moment.
34011
34012 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34013
34014         * MODULES.html.sh: Add include_next.
34015         * modules/include_next: New file.
34016
34017 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34018
34019         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
34020         INCLUDE_NEXT.
34021         (gl_CHECK_NEXT_HEADERS): New macro.
34022         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
34023         the obsolescent gl_ABSOLUTE_HEADER.
34024         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
34025         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
34026         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34027         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34028         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34029         * m4/math_h.m4 (gl_MATH_H): Likewise.
34030         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34031         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34032         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34033         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34034         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34035         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34036         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34039         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34040         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34041         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
34042         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
34043         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34044         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34045         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
34046         * m4/inttypes.m4 (gl_INTTYPES_H): Define
34047         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
34048         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
34049         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
34050         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
34051         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
34052         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
34053         * lib/float_.h: Likewise.
34054         * lib/inttypes_.h: Likewise.
34055         * lib/math_.h: Likewise.
34056         * lib/search_.h: Likewise.
34057         * lib/signal_.h: Likewise.
34058         * lib/stdint_.h: Likewise.
34059         * lib/stdio_.h: Likewise.
34060         * lib/stdlib_.h: Likewise.
34061         * lib/string_.h: Likewise.
34062         * lib/sys_stat_.h: Likewise.
34063         * lib/sys_time_.h: Likewise.
34064         * lib/time_.h: Likewise.
34065         * lib/unistd_.h: Likewise.
34066         * lib/wchar_.h: Likewise.
34067         * lib/wctype_.h: Likewise.
34068         * lib/dirent_.h: Likewise.
34069         * lib/iconv_.h: Likewise.
34070         * lib/locale_.h: Likewise.
34071         * lib/netinet_in_.h: Likewise.
34072         * lib/sys_select_.h: Likewise.
34073         * lib/sys_socket_.h: Likewise.
34074         * lib/sysexits_.h: Likewise.
34075         * modules/fcntl (Depends-on): Depend on include_next, not
34076         absolute_header.
34077         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
34078         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
34079         * modules/fchdir: Likewise.
34080         * modules/float: Likewise.
34081         * modules/iconv_open: Likewise.
34082         * modules/inttypes: Likewise.
34083         * modules/locale: Likewise.
34084         * modules/math: Likewise.
34085         * modules/netinet_in: Likewise.
34086         * modules/search: Likewise.
34087         * modules/signal: Likewise.
34088         * modules/stdint: Likewise.
34089         * modules/stdio: Likewise.
34090         * modules/stdlib: Likewise.
34091         * modules/string: Likewise.
34092         * modules/sys_select: Likewise.
34093         * modules/sys_socket: Likewise.
34094         * modules/sys_stat: Likewise.
34095         * modules/sys_time: Likewise.
34096         * modules/sysexits: Likewise.
34097         * modules/time: Likewise.
34098         * modules/unistd: Likewise.
34099         * modules/wchar: Likewise.
34100         * modules/wctype: Likewise.
34101         * modules/sys_stat: Change maintainer to "all".
34102         * modules/unistd: Likewise.
34103
34104 2007-06-20  Karl Berry  <karl@gnu.org>
34105
34106         * config/srclist.txt: track www changes in license files.
34107
34108 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
34109
34110         * build-aux/bootstrap: Remove stray dot.
34111         Make sure build_aux settings are honored when linking
34112         gnulib_extra_files.
34113
34114 2007-06-19  Eric Blake  <ebb9@byu.net>
34115
34116         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
34117         Allow compilation on cygwin.
34118
34119 2007-06-19  Jim Meyering  <jim@meyering.net>
34120
34121         xreadlink-with-size: Remove module.  No longer used.
34122         Ex-callers now use xreadlink or mreadlink-with-size.
34123         * modules/xreadlink-with-size: Remove module.
34124         * lib/xreadlink-with-size.c: Remove file.
34125         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
34126         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
34127         just before the function definition *is* accurate.
34128
34129         Eliminate one way canonicalize_filename_mode could exit.
34130         * lib/canonicalize.c (canonicalize_filename_mode):
34131         Use mreadlink_with_size, not xreadlink_with_size.
34132
34133 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34134
34135         Detect porting problems to FreeBSD/arm, which has time_t wider than
34136         long int.  Original problem reported for GNU diff by Xin Li in
34137         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
34138         * modules/getdate (Depends-on): Add intprops, verify.
34139         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
34140         is an integer type no wider than long int.
34141
34142 2007-06-18  Jim Meyering  <jim@meyering.net>
34143
34144         New module: mreadlink-with-size.
34145         * MODULES.html.sh: Add mreadlink-with-size.
34146         * modules/mreadlink-with-size: New module
34147         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
34148         not xreadlink-with-size.
34149         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
34150
34151 2007-06-16  Bruno Haible  <bruno@clisp.org>
34152
34153         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
34154         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
34155         Reported by Gary V. Vaughan <gary@gnu.org>.
34156
34157 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34158
34159         Revamp lchown so that it lives in unistd.h where it belongs.
34160         * lib/lchown.h: Remove.
34161         * lib/dirchownmod.c: Don't include lib/lchown.h.
34162         * lib/fchownat.c: Likewise.
34163         * lib/openat.c: Likewise.
34164         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
34165         does not follow symlinks.
34166         (EOPNOTSUPP): Define if not defined.
34167         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
34168         is defined to 0.
34169         (lchown): New decl.
34170         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
34171         Do not check for lchown decl.
34172         Set REPLACE_LCHOWN.
34173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
34174         REPLACE_LCHOWN.
34175         * modules/chown: Make it clear it follows symlinks.
34176         * modules/lchown: Make it clear it doesn't follow symlinks.
34177         (Files): Remove lib/lchown.h
34178         (Depends-on): Add unistd.
34179         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
34180         (Include): Include <unistd.h>, not "lchown.h".
34181         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
34182         REPLACE_LCHOWN.
34183
34184 2007-06-15  Jim Meyering  <jim@meyering.net>
34185
34186         Change license (GPL to LGPL) of fsusage and dependents.
34187         * modules/fsusage (License): Change to LGPL.
34188         * modules/full-read (License): Likewise.
34189         * modules/full-write (License): Likewise.
34190         * modules/safe-read (License): Likewise.
34191         * modules/safe-write (License): Likewise.
34192
34193 2007-06-14  Ben Pfaff  <blp@gnu.org>
34194
34195         Missing part of allocsa -> malloca transition.
34196         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
34197         gl_MALLOCA.
34198
34199 2007-06-12  Bruno Haible  <bruno@clisp.org>
34200
34201         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
34202         to ia64, x86_64, i386.
34203         Reported by Eric Blake.
34204
34205 2007-06-12  Bruno Haible  <bruno@clisp.org>
34206
34207         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
34208         cross-compiling to x86_64.
34209
34210 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
34211
34212         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
34213         glitch reported by Ralf Wildenhues in
34214         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
34215
34216         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
34217         Vin Shelton.
34218
34219 2007-06-11  Bruno Haible  <bruno@clisp.org>
34220
34221         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
34222         replacement string.
34223         Reported by Eric Blake.
34224
34225 2007-06-10  Bruno Haible  <bruno@clisp.org>
34226
34227         Prepare vasnprintf code for use with Unicode strings.
34228         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
34229         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
34230         TYPE_U32_STRING.
34231         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
34232         a_u32_string variants.
34233         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34234         * lib/printf-args.c: Don't include config.h and the specification
34235         header if PRINTF_FETCHARGS is already defined.
34236         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
34237         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
34238         TYPE_U16_STRING, TYPE_U32_STRING.
34239         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
34240         u16_directive, u16_directives, u32_directive, u32_directives): New
34241         types.
34242         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
34243         New declarations.
34244         * lib/printf-parse.c: Don't include config.h and the specification
34245         header if PRINTF_PARSE is already defined. Eliminate the set of
34246         parameters for WIDE_CHAR_VERSION; the user of this file must provide
34247         them now. Include c-ctype.h.
34248         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
34249         directive and CHAR_T_ONLY_ASCII.
34250         * lib/vasnprintf.c: Don't include config.h and the specification header
34251         if VASNPRINTF is already defined.
34252         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
34253         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
34254         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
34255         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
34256         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
34257         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
34258         code accordingly.
34259         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
34260         pad_ourselves also in this case, with the 'c' and 's' directives, and
34261         with a different notion of "width".
34262         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
34263
34264 2007-06-10  Bruno Haible  <bruno@clisp.org>
34265
34266         * modules/unistr/u32-mbsnlen: New file.
34267         * lib/unistr/u32-mbsnlen.c: New file.
34268
34269         * modules/unistr/u16-mbsnlen: New file.
34270         * lib/unistr/u16-mbsnlen.c: New file.
34271
34272         * modules/unistr/u8-mbsnlen: New file.
34273         * lib/unistr/u8-mbsnlen.c: New file.
34274
34275         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
34276         declarations.
34277
34278 2007-06-10  Bruno Haible  <bruno@clisp.org>
34279
34280         * lib/string_.h (mbsnlen): New declaration.
34281         * lib/mbsnlen.c: New file.
34282         * m4/mbsnlen.m4: New file.
34283         * modules/mbsnlen: New file.
34284         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
34285         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
34286         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
34287
34288 2007-06-10  Bruno Haible  <bruno@clisp.org>
34289
34290         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
34291
34292 2007-06-10  Bruno Haible  <bruno@clisp.org>
34293
34294         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
34295         * lib/mbuiter.h: Likewise.
34296
34297 2007-06-10  Bruno Haible  <bruno@clisp.org>
34298
34299         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
34300         declaration.
34301
34302 2007-06-10  Karl Berry  <karl@gnu.org>
34303
34304         * config/srclist.txt: remove gettext entries, Bruno prefers
34305         to update individually.
34306
34307 2007-06-10  Bruno Haible  <bruno@clisp.org>
34308
34309         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
34310         'maxlen'. Ensure only length + width bytes are allocated, not
34311         length + 1 + width.
34312
34313 2007-06-09  Bruno Haible  <bruno@clisp.org>
34314
34315         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
34316         (CHAR_T): Remove macro.
34317         (VASNPRINTF): Update.
34318
34319 2007-06-09  Bruno Haible  <bruno@clisp.org>
34320
34321         * MODULES.html.sh (Unicode string functions): Add the new modules.
34322
34323         * modules/uniconv/u32-conv-to-enc: New file.
34324         * lib/uniconv/u32-conv-to-enc.c: New file.
34325         * modules/uniconv/u32-conv-to-enc-tests: New file.
34326         * tests/uniconv/test-u32-conv-to-enc.c: New file.
34327
34328         * modules/uniconv/u16-conv-to-enc: New file.
34329         * lib/uniconv/u16-conv-to-enc.c: New file.
34330         * lib/uniconv/u-conv-to-enc.h: New file.
34331         * modules/uniconv/u16-conv-to-enc-tests: New file.
34332         * tests/uniconv/test-u16-conv-to-enc.c: New file.
34333
34334         * modules/uniconv/u8-conv-to-enc: New file.
34335         * lib/uniconv/u8-conv-to-enc.c: New file.
34336         * modules/uniconv/u8-conv-to-enc-tests: New file.
34337         * tests/uniconv/test-u8-conv-to-enc.c: New file.
34338
34339         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34340         u32_conv_to_encoding): New declarations.
34341
34342 2007-06-09  Bruno Haible  <bruno@clisp.org>
34343
34344         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
34345
34346 2007-06-09  Bruno Haible  <bruno@clisp.org>
34347
34348         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
34349         * modules/malloca: Renamed from modules/allocsa, updated.
34350         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
34351         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
34352         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
34353         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
34354         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
34355         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
34356         * modules/xmalloca: Renamed from modules/xallocsa, updated.
34357         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
34358         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
34359         * modules/c-strcasestr (Depends-on): Update.
34360         * lib/c-strcasestr.c: Update.
34361         * modules/c-strstr (Depends-on): Update.
34362         * lib/c-strstr.c: Update.
34363         * modules/canonicalize-lgpl (Depends-on): Update.
34364         * lib/canonicalize-lgpl.c: Update.
34365         * modules/clean-temp (Depends-on): Update.
34366         * lib/clean-temp.c: Update.
34367         * modules/csharpcomp (Depends-on): Update.
34368         * lib/csharpcomp.c: Update.
34369         * modules/csharpexec (Depends-on): Update.
34370         * lib/csharpexec.c: Update.
34371         * modules/javacomp (Depends-on): Update.
34372         * lib/javacomp.c: Update.
34373         * modules/javaexec (Depends-on): Update.
34374         * lib/javaexec.c: Update.
34375         * modules/mbscasestr (Depends-on): Update.
34376         * lib/mbscasestr.c: Update.
34377         * modules/mbsstr (Depends-on): Update.
34378         * lib/mbsstr.c: Update.
34379         * modules/setenv (Depends-on): Update.
34380         * lib/setenv.c: Update.
34381         * modules/strcasestr (Depends-on): Update.
34382         * lib/strcasestr.c: Update.
34383         * modules/striconveha (Depends-on): Update.
34384         * lib/striconveha.c: Update.
34385         * modules/relocatable-prog-wrapper (Files): Update.
34386         * lib/relocwrapper.c: Update.
34387         * build-aux/install-reloc: Update.
34388         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
34389
34390 2007-06-08  Bruno Haible  <bruno@clisp.org>
34391
34392         Port to uClibc.
34393         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
34394         * lib/fpurge.c (fpurge): Likewise.
34395         * lib/freading.c (freading): Likewise.
34396         * lib/fseeko.c (rpl_fseeko): Likewise.
34397         * lib/fseterr.c (fseterr): Likewise.
34398         * lib/fwriting.c (fwriting): Likewise.
34399         * tests/test-fflush.c (main): Avoid a failure on uClibc.
34400
34401 2007-06-08  Bruno Haible  <bruno@clisp.org>
34402
34403         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
34404         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
34405         * modules/gettext (Files): Add m4/intlmacosx.m4.
34406
34407 2007-06-07  Bruno Haible  <bruno@clisp.org>
34408
34409         * modules/localename-tests: New file.
34410         * tests/test-localename.c: New file.
34411
34412         New module 'localename'.
34413         * lib/localename.h: New file.
34414         * lib/localename.c: New file, from GNU gettext.
34415         * m4/localename.m4: New file.
34416         * modules/localename: New file.
34417
34418 2007-06-07  Bruno Haible  <bruno@clisp.org>
34419
34420         Work around the lack of <wchar.h> on some builds of uClibc.
34421         * doc/headers/wchar.texi: Update.
34422         * lib/wchar_.h: Include <wchar.h> only if it exists.
34423         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
34424         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
34425         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
34426         doesn't exist.
34427         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
34428         * modules/mbfile (Depends-on): Add wchar.
34429         * modules/mbiter (Depends-on): Likewise.
34430         * modules/mbuiter (Depends-on): Likewise.
34431         Reported by Simon Josefsson.
34432
34433 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
34434
34435         Work around problem reported by Steven M. Schweda in
34436         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
34437         Tru64 5.1B with the Compaq compiler environment installed declares
34438         an 'isblank' function but does not define it in the C library.
34439         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
34440         * lib/regex_internal.h (isblank): Likewise.
34441         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
34442         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
34443
34444 2007-06-05  Bruno Haible  <bruno@clisp.org>
34445
34446         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
34447         ia64.
34448         * modules/printf-safe: New file.
34449         * modules/fprintf-posix (Depends-on): Add printf-safe.
34450         * modules/printf-posix (Depends-on): Likewise.
34451         * modules/snprintf-posix (Depends-on): Likewise.
34452         * modules/sprintf-posix (Depends-on): Likewise.
34453         * modules/vasnprintf-posix (Depends-on): Likewise.
34454         * modules/vasprintf-posix (Depends-on): Likewise.
34455         * modules/vfprintf-posix (Depends-on): Likewise.
34456         * modules/vprintf-posix (Depends-on): Likewise.
34457         * modules/vsnprintf-posix (Depends-on): Likewise.
34458         * modules/vsprintf-posix (Depends-on): Likewise.
34459         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
34460         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
34461         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
34462         "no" on i386, x86_64, ia64.
34463         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
34464         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34465         on i386, x86_64, ia64.
34466         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
34467         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34468         on i386, x86_64, ia64.
34469         * tests/test-vasnprintf-posix.c: Include float.h.
34470         (LDBL80_WORDS): New macro.
34471         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34472         on i386, x86_64, ia64.
34473         * tests/test-vasprintf-posix.c: Include float.h.
34474         (LDBL80_WORDS): New macro.
34475         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
34476         on i386, x86_64, ia64.
34477         * tests/test-snprintf-posix.c: Include float.h.
34478         * tests/test-sprintf-posix.c: Likewise.
34479         * tests/test-vsnprintf-posix.c: Likewise.
34480         * tests/test-vsprintf-posix.c: Likewise.
34481
34482 2007-06-05  Bruno Haible  <bruno@clisp.org>
34483
34484         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
34485         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
34486         non-IEEE numbers on i386, x86_64, ia64.
34487         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
34488         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
34489         * tests/test-isnanl.h: Include float.h.
34490         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
34491
34492 2007-06-05  Bruno Haible  <bruno@clisp.org>
34493
34494         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
34495         also the %a / %A. Handle the %a / %A code before this extra handling.
34496
34497 2007-06-05  Bruno Haible  <bruno@clisp.org>
34498
34499         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
34500         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
34501
34502 2007-06-05  Bruno Haible  <bruno@clisp.org>
34503
34504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
34505         typo in variable name.
34506
34507 2007-06-05  Eric Blake  <ebb9@byu.net>
34508
34509         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
34510         Reported by Simon Josefsson.
34511
34512 2007-06-04  Bruno Haible  <bruno@clisp.org>
34513
34514         Avoid test failures on some PowerPC platforms.
34515         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
34516         Define differently for PowerPC.
34517         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
34518         Reported by Gary V. Vaughan <gary@gnu.org>.
34519
34520 2007-06-02  Bruno Haible  <bruno@clisp.org>
34521
34522         Fix test-stdint failure on FreeBSD/ia64.
34523         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
34524         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
34525         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
34526         * doc/headers/stdint.texi: Update.
34527
34528 2007-06-01  Bruno Haible  <bruno@clisp.org>
34529
34530         * tests/test-binary-io.c (main): Pass a third argument to open().
34531         Reported by Gary V. Vaughan <gary@gnu.org>.
34532
34533 2007-06-01  Bruno Haible  <bruno@clisp.org>
34534
34535         * doc/functions/frexpl.texi: Update for mingw.
34536
34537 2007-06-01  Bruno Haible  <bruno@clisp.org>
34538
34539         * tests/test-lseek.c (main): Disable test of errno for invalid third
34540         argument.
34541         * doc/functions/lseek.texi: Update.
34542         Reported by Gary V. Vaughan <gary@gnu.org>.
34543
34544 2007-05-28  Bruno Haible  <bruno@clisp.org>
34545
34546         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
34547
34548 2007-05-31  Eric Blake  <ebb9@byu.net>
34549
34550         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
34551         cross compiling.
34552
34553 2007-05-30  Eric Blake  <ebb9@byu.net>
34554         and Bruno Haible  <bruno@clisp.org>
34555
34556         Work around mingw test failures exposed by m4-1.4.9b.
34557         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
34558         * tests/test-unistd.c: Disable uid_t and git_t tests for the
34559         moment.
34560
34561 2007-05-30  Bruno Haible  <bruno@clisp.org>
34562
34563         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
34564         assuming that they are closed. Needed on HP-UX 11.
34565
34566 2007-05-29  Bruno Haible  <bruno@clisp.org>
34567
34568         Fix a problem with #include_next.
34569         * lib/dirent_.h: Split the double-inclusion guard.
34570         * lib/fcntl_.h: Likewise.
34571         * lib/float_.h: Likewise.
34572         * lib/iconv_.h: Likewise.
34573         * lib/inttypes_.h: Likewise.
34574         * lib/locale_.h: Likewise.
34575         * lib/math_.h: Likewise.
34576         * lib/netinet_in_.h: Likewise.
34577         * lib/search_.h: Likewise.
34578         * lib/signal_.h: Likewise.
34579         * lib/stdint_.h: Likewise.
34580         * lib/stdio_.h: Likewise.
34581         * lib/stdlib_.h: Likewise.
34582         * lib/string_.h: Likewise.
34583         * lib/sys_select_.h: Likewise.
34584         * lib/sys_socket_.h: Likewise.
34585         * lib/sys_stat_.h: Likewise.
34586         * lib/sys_time_.h: Likewise.
34587         * lib/sysexits_.h: Likewise.
34588         * lib/time_.h: Likewise.
34589         * lib/unistd_.h: Likewise.
34590         * lib/wchar_.h: Likewise.
34591         * lib/wctype_.h: Likewise.
34592
34593 2007-05-29  Bruno Haible  <bruno@clisp.org>
34594
34595         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
34596         for the moment.
34597
34598 2007-05-29  Bruno Haible  <bruno@clisp.org>
34599
34600         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
34601         invocation.
34602         Reported by Eric Blake.
34603
34604 2007-05-29  Bruno Haible  <bruno@clisp.org>
34605
34606         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
34607         compiling case.
34608
34609 2007-05-29  Eric Blake  <ebb9@byu.net>
34610             Bruno Haible  <bruno@clisp.org>
34611
34612         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
34613         cross compiles.
34614
34615 2007-05-28  Eric Blake  <ebb9@byu.net>
34616
34617         * modules/closein-tests (test_closein_LDADD): Support test on
34618         cygwin with libtool.
34619
34620 2007-05-28  Bruno Haible  <bruno@clisp.org>
34621
34622         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
34623         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34624         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34625         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34626         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34627         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34628         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34629         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34630         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34631
34632 2007-05-28  Eric Blake  <ebb9@byu.net>
34633
34634         Unconditionally include <config.h> in unit tests.
34635         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
34636         * tests/test-allocsa.c, tests/test-arcfour.c,
34637         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
34638         tests/test-array_list.c, tests/test-array_oset.c,
34639         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
34640         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
34641         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
34642         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
34643         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
34644         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
34645         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
34646         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
34647         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
34648         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
34649         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
34650         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
34651         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
34652         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
34653         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
34654         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
34655         test-md5.c, test-memmem.c, test-printf-posix.c,
34656         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
34657         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
34658         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
34659         test-strcasestr.c, test-striconv.c, test-striconveh.c,
34660         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
34661         test-vasnprintf-posix2.c, test-vasnprintf.c,
34662         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
34663         test-vfprintf-posix.c, test-vprintf-posix.c,
34664         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
34665         test-xvasprintf.c: Likewise.
34666
34667 2007-05-28  Bruno Haible  <bruno@clisp.org>
34668
34669         * gnulib-tool (func_import): Remember the --with-tests command-line
34670         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
34671         Reported by Eric Blake.
34672
34673 2007-05-28  Bruno Haible  <bruno@clisp.org>
34674
34675         * modules/ftell-tests: New file.
34676         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
34677         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
34678
34679         * lib/ftell.c: New file.
34680         * modules/ftell: New file.
34681         * m4/ftell.m4: New file.
34682         * doc/functions/ftell.texi: Update.
34683         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
34684         REPLACE_FTELL.
34685         * lib/stdio_.h (rpl_ftell): New declaration.
34686         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
34687         REPLACE_FTELL.
34688
34689 2007-05-28  Eric Blake  <ebb9@byu.net>
34690
34691         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
34692
34693 2007-05-28  Bruno Haible  <bruno@clisp.org>
34694
34695         * modules/fseek-tests: New file.
34696         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
34697         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
34698
34699         * lib/fseek.c: New file.
34700         * modules/fseek: New file.
34701         * m4/fseek.m4: New file.
34702         * doc/functions/fseek.texi: Update.
34703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
34704         REPLACE_FSEEK.
34705         * lib/stdio_.h (rpl_fseek): New declaration.
34706         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
34707         REPLACE_FSEEK.
34708
34709 2007-05-28  Bruno Haible  <bruno@clisp.org>
34710
34711         * lib/stdio_.h (fflush): More comments.
34712
34713 2007-05-28  Bruno Haible  <bruno@clisp.org>
34714
34715         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
34716         runtime test.
34717
34718 2007-05-28  Eric Blake  <ebb9@byu.net>
34719
34720         Improve lseek module.
34721         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
34722         * lib/unistd_.h (lseek): Scale back link warning message.
34723         * tests/test-lseek.c: Beef up test.
34724         * tests/test-lseek.sh: Exercise more facets of lseek.
34725         Reported by Bruno Haible.
34726
34727 2007-05-28  Bruno Haible  <bruno@clisp.org>
34728
34729         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
34730         to define.
34731
34732 2007-05-27  Bruno Haible  <bruno@clisp.org>
34733
34734         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
34735
34736 2007-05-27  Bruno Haible  <bruno@clisp.org>
34737
34738         * modules/openmp: New file.
34739         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
34740         Noah Misch.
34741
34742 2007-05-26  Bruno Haible  <bruno@clisp.org>
34743
34744         * modules/chdir-long (Depends-on): Add fchdir.
34745         * modules/chdir-safer (Depends-on): Likewise.
34746         * modules/fts (Depends-on): Likewise.
34747         * modules/fts-lgpl (Depends-on): Likewise.
34748         * modules/openat (Depends-on): Likewise.
34749         * modules/savewd (Depends-on): Likewise.
34750
34751 2007-05-24  Eric Blake  <ebb9@byu.net>
34752
34753         Fix lseek on mingw.
34754         * modules/lseek: New module.
34755         * m4/lseek.m4: New file.
34756         * lib/lseek.c: New file.
34757         * modules/lseek-tests: New file.
34758         * tests/test-lseek.c: New file.
34759         * tests/test-lseek.sh: New file.
34760         * MODULES.html.sh: Document lseek module.
34761         * modules/fflush (Depends-on): Add lseek, fseeko.
34762         * modules/fseeko (Depends-on): Likewise.
34763         * modules/ftello (Depends-on): Likewise.
34764         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
34765         broken.
34766         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
34767         broken.
34768         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
34769         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
34770         * lib/ftello.c (rpl_ftello): Likewise.
34771         * tests/test-fseeko.c (main): Test this.
34772         * tests/test-fseeko.sh: Likewise.
34773         * tests/test-ftello.c (main): Likewise.
34774         * tests/test-ftello.sh: Likewise.
34775         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
34776         implies replacing fseek.
34777         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
34778         HAVE_FTELLO.
34779         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
34780         * modules/unistd (Makefile.am): Likewise.
34781         * lib/unistd_.h (lseek): Declare a replacement.
34782         * doc/functions/lseek.texi (lseek): Document this fix.
34783         * doc/functions/fseek.texi (fseek): Likewise.
34784         * doc/functions/ftell.texi (ftell): Likewise.
34785
34786 2007-05-24  Bruno Haible  <bruno@clisp.org>
34787
34788         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
34789         in the printed representation of a NaN.
34790         * tests/test-vasprintf-posix.c (test_function): Likewise.
34791         * tests/test-snprintf-posix.h (test_function): Likewise.
34792         * tests/test-sprintf-posix.h (test_function): Likewise.
34793         Reported by Eric Blake.
34794
34795 2007-05-23  Eric Blake  <ebb9@byu.net>
34796
34797         Fix fseeko/ftello on cygwin 1.5.24.
34798         * doc/functions/fseeko.texi (fseeko): Document the fix.
34799         * doc/functions/ftello.texi (ftello): Document the fix.
34800         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
34801         * doc/functions/stdout.text (stdout): New file.
34802         * doc/functions/stderr.text (stderr): New file.
34803         * doc/gnulib.texi (Function Substitutes): Use new files.
34804         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
34805         prior to 1.7.0.
34806         * tests/test-ftello.c (main): Likewise for ftello.
34807         * tests/test-fseeko.sh: New file.
34808         * tests/test-ftello.sh: New file.
34809         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
34810         with seekable stdin.
34811         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
34812         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
34813         (gl_REPLACE_FSEEKO): New macro.
34814         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
34815         * modules/fseeko (Files): Distribute fseeko.c.
34816         * modules/ftello (Files): Distribute ftello.c.
34817         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
34818         mode.
34819         * lib/ftello.c (rpl_ftello): New file.
34820         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
34821         fseeko, ftello.
34822         (gl_STDIN_LARGE_OFFSET): New macro.
34823         * modules/stdio (Makefile.am): Perform the replacement.
34824         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
34825
34826 2007-05-23  Bruno Haible  <bruno@clisp.org>
34827
34828         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
34829         GNULIB_POSIXCHECK is defined.
34830
34831 2007-05-21  Bruno Haible  <bruno@clisp.org>
34832
34833         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
34834         Check also the output for NaN arguments. When cross-compiling, guess
34835         no on IRIX.
34836         * lib/vasnprintf.c: Update comments.
34837         * tests/test-vasnprintf-posix.c (strisnan): New function.
34838         (test_function): Use it.
34839         * tests/test-vasprintf-posix.c (strisnan): New function.
34840         (test_function): Use it.
34841         * tests/test-snprintf-posix.h (strisnan): New function.
34842         (test_function): Use it.
34843         * tests/test-sprintf-posix.h (strisnan): New function.
34844         (test_function): Use it.
34845         Reported by Eric Blake.
34846
34847 2007-05-20  Bruno Haible  <bruno@clisp.org>
34848
34849         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
34850         numbers that fails on BeOS.
34851         * doc/functions/frexpl.texi: Update.
34852
34853 2007-05-20  Jim Meyering  <jim@meyering.net>
34854
34855         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
34856         forced upon us by glibc-2.6.
34857
34858 2007-05-20  Bruno Haible  <bruno@clisp.org>
34859
34860         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
34861         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
34862         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
34863         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
34864         NEED_PRINTF_INFINITE.
34865         (is_infinitel): New function.
34866         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
34867         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
34868         gl_PREREQ_VASNPRINTF_INFINITE.
34869         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
34870         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
34871         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
34872         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
34873         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
34874         gl_PREREQ_VASNPRINTF_INFINITE.
34875         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
34876         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34877         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34878         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34879         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
34880         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
34881         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34882         * doc/functions/fprintf.texi: Update.
34883         * doc/functions/printf.texi: Update.
34884         * doc/functions/snprintf.texi: Update.
34885         * doc/functions/sprintf.texi: Update.
34886         * doc/functions/vfprintf.texi: Update.
34887         * doc/functions/vprintf.texi: Update.
34888         * doc/functions/vsnprintf.texi: Update.
34889         * doc/functions/vsprintf.texi: Update.
34890
34891 2007-05-20  Bruno Haible  <bruno@clisp.org>
34892
34893         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
34894         was not found in libc.
34895         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
34896
34897 2007-05-20  Bruno Haible  <bruno@clisp.org>
34898
34899         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
34900         printed as "-nan" instead of "nan".
34901         * tests/test-vasprintf-posix.c (test_function): Likewise.
34902         * tests/test-snprintf-posix.h (test_function): Likewise.
34903         * tests/test-sprintf-posix.h (test_function): Likewise.
34904         Needed for HP-UX 11.
34905
34906 2007-05-20  Jim Meyering  <jim@meyering.net>
34907
34908         Fix buggy test for the fchownat-deref bug.
34909         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
34910         symlink required for the run-test.  Without it, this test would
34911         always declare that fchownat doesn't work, and client code would
34912         unnecessarily use the replacement function with fixed libc.
34913         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
34914         Reported by Greg Schafer.
34915
34916 2007-05-19  Bruno Haible  <bruno@clisp.org>
34917
34918         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
34919         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
34920         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
34921         Needed for IRIX 6.5 and Solaris 2.5.1.
34922
34923 2007-05-19  Bruno Haible  <bruno@clisp.org>
34924
34925         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
34926         (test_function): Skip tests involving -0.0 on platforms where
34927         -0.0 = 0.0.
34928         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
34929         (test_function): Skip tests involving -0.0 on platforms where
34930         -0.0 = 0.0.
34931         * tests/test-snprintf-posix.h (have_minus_zero): New function.
34932         (test_function): Skip tests involving -0.0 on platforms where
34933         -0.0 = 0.0.
34934         * tests/test-sprintf-posix.h (have_minus_zero): New function.
34935         (test_function): Skip tests involving -0.0 on platforms where
34936         -0.0 = 0.0.
34937         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
34938         tests.
34939         * tests/test-printf-posix.h (test_function): Likewise.
34940         * tests/test-printf-posix.output: Remove all -0.0 related results.
34941         Needed for IRIX 6.5.
34942
34943 2007-05-19  Bruno Haible  <bruno@clisp.org>
34944
34945         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
34946         printed as "nan0x7fffffff" instead of "nan".
34947         * tests/test-vasprintf-posix.c (test_function): Likewise.
34948         * tests/test-snprintf-posix.h (test_function): Likewise.
34949         * tests/test-sprintf-posix.h (test_function): Likewise.
34950         * tests/test-fprintf-posix.h (NaN): Remove macro.
34951         (test_function): Remove all NaN related tests.
34952         * tests/test-printf-posix.h (NaN): Remove macro.
34953         (test_function): Remove all NaN related tests.
34954         * tests/test-printf-posix.output: Remove all NaN related results.
34955         Needed for IRIX 6.5.
34956
34957 2007-05-19  Bruno Haible  <bruno@clisp.org>
34958
34959         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
34960         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
34961
34962 2007-05-19  Bruno Haible  <bruno@clisp.org>
34963
34964         * lib/float_.h: New file.
34965         * m4/float_h.m4: New file.
34966         * modules/float: New file.
34967         * modules/isnanl (Dependencies): Add float.
34968         * modules/isnanl-nolibm (Dependencies): Likewise.
34969         * modules/mathl (Dependencies): Likewise.
34970         * modules/printf-frexpl (Dependencies): Likewise.
34971         * modules/signbit (Dependencies): Likewise.
34972         * modules/vasnprintf (Dependencies): Likewise.
34973         * doc/headers/float.texi: Update.
34974
34975 2007-05-19  Jim Meyering  <jim@meyering.net>
34976
34977         * lib/utimens.c (gl_futimens): Rename from futimens,
34978         now that glibc-2.6 declares futimens.
34979         * lib/utimens.h: Likewise.
34980
34981 2007-05-19  Bruno Haible  <bruno@clisp.org>
34982
34983         Avoid test failures on mingw.
34984         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
34985         * tests/test-printf-posix.sh: Likewise.
34986         * tests/test-vfprintf-posix.sh: Likewise.
34987         * tests/test-vprintf-posix.sh: Likewise.
34988
34989 2007-05-19  Bruno Haible  <bruno@clisp.org>
34990
34991         Fix *printf result for NaN, Inf, -0.0 on mingw.
34992         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
34993         * lib/vasnprintf.c: Include math.h and isnan.h.
34994         (is_infinite_or_zero): New function.
34995         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
34996         values in the %f, %F, %e, %E, %g, %G directives.
34997         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
34998         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
34999         gl_PRINTF_INFINITE and test its result. Invoke
35000         gl_PREREQ_VASNPRINTF_INFINITE.
35001         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35002         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35003         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35004         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35005         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35006         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35007         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35008         * doc/functions/fprintf.texi: Update.
35009         * doc/functions/printf.texi: Update.
35010         * doc/functions/snprintf.texi: Update.
35011         * doc/functions/sprintf.texi: Update.
35012         * doc/functions/vfprintf.texi: Update.
35013         * doc/functions/vprintf.texi: Update.
35014         * doc/functions/vsnprintf.texi: Update.
35015         * doc/functions/vsprintf.texi: Update.
35016
35017 2007-05-19  Bruno Haible  <bruno@clisp.org>
35018
35019         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
35020         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
35021         Instead of multiplying with 10^k, set extra_zeroes to k.
35022         (scale10_round_long_double): Remove function.
35023
35024 2007-05-18  Bruno Haible  <bruno@clisp.org>
35025
35026         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
35027         introduced on 2007-05-06.
35028
35029 2007-05-18  Bruno Haible  <bruno@clisp.org>
35030
35031         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
35032         %g directives.
35033         * tests/test-vasprintf-posix.c (test_function): Likewise.
35034         * tests/test-snprintf-posix.h (test_function): Likewise.
35035         * tests/test-sprintf-posix.h (test_function): Likewise.
35036
35037 2007-05-18  Bruno Haible  <bruno@clisp.org>
35038
35039         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
35040         (strmatch): New function.
35041         (test_function): Test the %f directive on numbers of various exponents.
35042         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
35043         (strmatch): New function.
35044         (test_function): Test the %f directive on numbers of various exponents.
35045         * tests/test-snprintf-posix.h (strmatch): New function.
35046         (test_function): Test the %f directive on numbers of various exponents.
35047         * tests/test-sprintf-posix.h (strmatch): New function.
35048         (test_function): Test the %f directive on numbers of various exponents.
35049         * tests/test-snprintf-posix.c (SIZEOF): New macro.
35050         * tests/test-sprintf-posix.c (SIZEOF): New macro.
35051         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
35052         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
35053
35054 2007-05-18  Bruno Haible  <bruno@clisp.org>
35055
35056         Add support for 'long double' number output.
35057         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
35058         * lib/vasnprintf.c: Include math.h and float+.h.
35059         (mp_limb_t): New type.
35060         (GMP_LIMB_BITS): New macro.
35061         (mp_twolimb_t): New type.
35062         (GMP_TWOLIMB_BITS): New macro.
35063         (mpn_t): New type.
35064         (multiply, divide, convert_to_decimal, decode_long_double,
35065         scale10_round_long_double, scale10_round_decimal_long_double,
35066         floorlog10l): New functions.
35067         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
35068         for the %f, %F, %e, %E, %g, %G directives.
35069         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
35070         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35071         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
35072         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
35073         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35075         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35076         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35077         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35078         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35079         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35080         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
35081         * modules/snprintf-posix (Depends-on): Likewise.
35082         * modules/sprintf-posix (Depends-on): Likewise.
35083         * modules/vasnprintf-posix (Depends-on): Likewise.
35084         * modules/vasprintf-posix (Depends-on): Likewise.
35085         * modules/vfprintf-posix (Depends-on): Likewise.
35086         * modules/vsnprintf-posix (Depends-on): Likewise.
35087         * modules/vsprintf-posix (Depends-on): Likewise.
35088         * modules/vasnprintf (Files): Add lib/float+.h.
35089         * doc/functions/fprintf.texi: Update.
35090         * doc/functions/printf.texi: Update.
35091         * doc/functions/snprintf.texi: Update.
35092         * doc/functions/sprintf.texi: Update.
35093         * doc/functions/vfprintf.texi: Update.
35094         * doc/functions/vprintf.texi: Update.
35095         * doc/functions/vsnprintf.texi: Update.
35096         * doc/functions/vsprintf.texi: Update.
35097
35098 2007-05-18  Bruno Haible  <bruno@clisp.org>
35099
35100         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
35101
35102 2007-05-18  Bruno Haible  <bruno@clisp.org>
35103
35104         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
35105         for printing 64-bit integers. Needed for mingw.
35106
35107 2007-05-18  Bruno Haible  <bruno@clisp.org>
35108
35109         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
35110         gl_FUNC_FREXPL_WORKS.
35111         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
35112
35113 2007-05-18  Bruno Haible  <bruno@clisp.org>
35114
35115         * modules/frexpl-nolibm-tests: New file.
35116
35117         * modules/frexpl-nolibm: New file.
35118         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
35119
35120 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
35121
35122         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
35123         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35124         GCC 4.2, which otherwise issues a lot of warnings.
35125         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
35126         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
35127         Likewise.
35128         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
35129         * modules/iconv_open (iconv.h): Likewise.
35130         * modules/locale (locale.h): Likewise.
35131         * modules/netinet_in (netinet/in.h): Likewise.
35132         * modules/sys_select (sys_select.h): Likewise.
35133         * modules/sys_socket (sys/socket.h): Likewise.
35134         * modules/sys_stat (sys/stat.h): Likewise.
35135         * modules/sysexits (sysexits.h): Likewise.
35136         * modules/unistd (unistd.h): Likewise.
35137
35138 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35139
35140         * modules/closein-tests (Makefile.am): Distribute
35141         `test-closein.sh'.
35142
35143 2007-05-17  Bruno Haible  <bruno@clisp.org>
35144
35145         * tests/test-printf-posix.output: Renamed from
35146         tests/test-fprintf-posix.out.
35147         * modules/fprintf-posix-tests: Update.
35148         * modules/printf-posix-tests: Update.
35149         * modules/vfprintf-posix-tests: Update.
35150         * modules/vprintf-posix-tests: Update.
35151         * tests/test-fprintf-posix.sh: Update.
35152         * tests/test-printf-posix.sh: Update.
35153         * tests/test-vfprintf-posix.sh: Update.
35154         * tests/test-vprintf-posix.sh: Update.
35155         Reported by Ralf Wildenhues.
35156
35157 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
35158
35159         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
35160         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
35161         GCC 4.2, which otherwise issues a lot of warnings.
35162         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
35163         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
35164         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
35165         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
35166         it should no longer be needed.
35167         * lib/string_.h: Likewise.
35168         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
35169         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
35170         * modules/inttypes (inttypes.h): Likewise.
35171         * modules/math (math.h): Likewise.
35172         * modules/search (search.h): Likewise.
35173         * modules/signal (signal.h): Likewise.
35174         * modules/stdint (stdint.h): Likewise.
35175         * modules/stdio (stdio.h): Likewise.
35176         * modules/stdlib (stdlib.h): Likewise.
35177         * modules/string (string.h): Likewise.
35178         * modules/sys_time (sys/time.h): Likewise.
35179         * modules/time (time.h): Likewise.
35180         * modules/wchar (wchar.h): Likewise.
35181         * modules/wctype (wtype.h): Likewise.
35182
35183 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35184
35185         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
35186
35187 2007-05-13  Bruno Haible  <bruno@clisp.org>
35188
35189         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
35190         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35191         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
35192         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35193         (gl_PREREQ_STRTOK_R): Don't require it here.
35194
35195 2007-05-13  Bruno Haible  <bruno@clisp.org>
35196
35197         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
35198         when used in C++ mode.
35199
35200 2007-05-12  Bruno Haible  <bruno@clisp.org>
35201
35202         * lib/linebuffer.h: Tweak doc.
35203         * lib/linebuffer.c: Likewise.
35204
35205 2007-05-12  James Youngman  <jay@gnu.org>
35206
35207         * lib/linebuffer.c (readlinebuffer_delim): New function,
35208         like readlinebuffer, but use a caller-specified delimiter.
35209         (readlinebuffer): Just call readlinebuffer_delim with '\n'
35210         as the delimiter.
35211         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
35212
35213 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35214
35215         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
35216         * modules/openat (Files): Remove openat-die.c.
35217         (Depends-on): Add openat-die.
35218         * modules/openat-die: New module.
35219
35220 2007-05-06  Bruno Haible  <bruno@clisp.org>
35221
35222         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
35223         Update with info about Cygwin.
35224         * doc/functions/fprintf.texi: Update.
35225         * doc/functions/printf.texi: Update.
35226         * doc/functions/snprintf.texi: Update.
35227         * doc/functions/sprintf.texi: Update.
35228         * doc/functions/vfprintf.texi: Update.
35229         * doc/functions/vprintf.texi: Update.
35230         * doc/functions/vsnprintf.texi: Update.
35231         * doc/functions/vsprintf.texi: Update.
35232         Reported by Eric Blake.
35233
35234 2007-05-06  Bruno Haible  <bruno@clisp.org>
35235
35236         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
35237         padding ourselves for the floating-point directives.
35238         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
35239         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
35240         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35241         gl_PRINTF_FLAG_ZERO and test its result. Invoke
35242         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
35243         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35244         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35245         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35246         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35247         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35248         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35249         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35250         * tests/test-snprintf-posix.h (test_function): Also check the width
35251         and some flags in the %f directive.
35252         * tests/test-sprintf-posix.h (test_function): Likewise.
35253         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35254         * tests/test-vasprintf-posix.c (test_function): Likewise.
35255         * doc/functions/fprintf.texi: Update.
35256         * doc/functions/printf.texi: Update.
35257         * doc/functions/snprintf.texi: Update.
35258         * doc/functions/sprintf.texi: Update.
35259         * doc/functions/vfprintf.texi: Update.
35260         * doc/functions/vprintf.texi: Update.
35261         * doc/functions/vsnprintf.texi: Update.
35262         * doc/functions/vsprintf.texi: Update.
35263
35264 2007-05-06  Bruno Haible  <bruno@clisp.org>
35265
35266         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
35267         pass the ' flag character to sprintf or snprintf.
35268         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
35269         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
35270         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35271         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
35272         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
35273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35274         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
35275         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35276         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35277         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35278         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35279         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35280         * tests/test-snprintf-posix.h (test_function): Also check the grouping
35281         flag.
35282         * tests/test-sprintf-posix.h (test_function): Likewise.
35283         * tests/test-vasnprintf-posix.c (test_function): Likewise.
35284         * tests/test-vasprintf-posix.c (test_function): Likewise.
35285         * doc/functions/fprintf.texi: Update.
35286         * doc/functions/printf.texi: Update.
35287         * doc/functions/snprintf.texi: Update.
35288         * doc/functions/sprintf.texi: Update.
35289         * doc/functions/vfprintf.texi: Update.
35290         * doc/functions/vprintf.texi: Update.
35291         * doc/functions/vsnprintf.texi: Update.
35292         * doc/functions/vsprintf.texi: Update.
35293
35294 2007-05-01  Bruno Haible  <bruno@clisp.org>
35295
35296         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
35297
35298 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
35299
35300         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
35301         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
35302
35303 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
35304
35305         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
35306         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
35307         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
35308
35309 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
35310
35311         * lib/argp-help.c (struct hol_entry): New member `ord'.
35312         (HOL_ENTRY_PTRCMP): Use ord for comparison
35313         (hol_sort): Initialize ord.
35314
35315 2007-05-01  Bruno Haible  <bruno@clisp.org>
35316
35317         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
35318         Reported by Eric Blake.
35319         * doc/gnulib.texi (Function Substitutes): Update.
35320
35321 2007-05-01  Bruno Haible  <bruno@clisp.org>
35322
35323         * doc/functions.texi: Remove file, now redundant through
35324         doc/functions/*.texi.
35325
35326 2007-05-01  Bruno Haible  <bruno@clisp.org>
35327
35328         * modules/argp (Depends-on): Add sleep.
35329
35330 2007-05-01  Bruno Haible  <bruno@clisp.org>
35331
35332         * modules/sleep-tests: New file.
35333         * tests/test-sleep.c: New file.
35334
35335         * modules/sleep: New file.
35336         * lib/sleep.c: New file.
35337         * m4/sleep.m4: New file.
35338         * lib/unistd_.h (sleep): New declaration.
35339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
35340         HAVE_SLEEP.
35341         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
35342         * doc/functions/sleep.texi: Document the sleep module.
35343
35344 2007-05-01  Bruno Haible  <bruno@clisp.org>
35345
35346         * lib/sigprocmask.h: Remove file.
35347         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
35348         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
35349         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
35350         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
35351         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35352         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
35353         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
35354         HAVE_SIGSET_T as a shell variable.
35355         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
35356         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
35357         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
35358         (Depends-on): Add signal. Remove verify.
35359         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
35360         (Include): Mention <signal.h> instead of sigprocmask.h.
35361         * NEWS: Mention the change.
35362         * lib/fatal-signal.c: Don't include sigprocmask.h.
35363
35364 2007-05-01  Bruno Haible  <bruno@clisp.org>
35365
35366         * modules/signal: New file.
35367         * lib/signal_.h: New file.
35368         * m4/signal_h.m4: New file.
35369
35370 2007-05-01  Bruno Haible  <bruno@clisp.org>
35371
35372         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
35373         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
35374         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
35375         HAVE_WCTYPE_CTMP_BUG into wctype.h.
35376
35377 2007-05-01  Bruno Haible  <bruno@clisp.org>
35378
35379         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
35380         configure time.
35381         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
35382         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
35383         * modules/sys_stat (Makefile.am): Substitute their values into
35384         sys/stat.h.
35385
35386 2007-05-01  Bruno Haible  <bruno@clisp.org>
35387
35388         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
35389         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
35390         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
35391
35392 2007-05-01  Bruno Haible  <bruno@clisp.org>
35393
35394         * doc/header/assert.texi: Undo last change: don't mention the gnulib
35395         'assert' module here.
35396
35397 2007-05-01  Bruno Haible  <bruno@clisp.org>
35398
35399         * doc/functions/*.texi: New files.
35400         * doc/functions/google-ranking.txt: New file.
35401         * doc/gnulib.texi (Function Substitutes): New chapter.
35402         (ctime, inet_ntoa): Remove sections.
35403         * doc/ctime.texi: Remove file.
35404         * doc/inet_ntoa.texi: Remove file.
35405         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
35406         dependencies.
35407         (%.info): New rule, specifying a --reference-limit.
35408
35409 2007-05-01  Bruno Haible  <bruno@clisp.org>
35410
35411         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
35412
35413 2007-05-01  Bruno Haible  <bruno@clisp.org>
35414
35415         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
35416         the portability of 'mkdir' to mingw systems.
35417
35418 2007-05-01  Bruno Haible  <bruno@clisp.org>
35419
35420         * doc/headers/google-ranking.txt: New file.
35421
35422 2007-04-30  Eric Blake  <ebb9@byu.net>
35423
35424         Prefer fseeko to fseek.
35425         * modules/getpass (Depends-on): Add fseeko.
35426         * lib/getpass.c (getpass): Use fseeko, not fseek.
35427
35428 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
35429
35430         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
35431         assumes the sorting is stable, while most qsort implementations
35432         are not.  Use argument addresses to ensure they never compare as
35433         equal.
35434
35435         * tests/test-argp-2.sh (usage-indent test): Fix output
35436         (func_compare): Restore diff options
35437         * tests/test-argp.c: Restore #include "progname.h"
35438
35439 2007-04-29  Bruno Haible  <bruno@clisp.org>
35440
35441         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
35442         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35443         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
35444         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35445         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
35446         (configure.ac): Define CHECK_SNPRINTF_POSIX.
35447         (TESTS, check_PROGRAMS): Add test-snprintf.
35448         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
35449         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
35450         (TESTS, check_PROGRAMS): Add test-vsnprintf.
35451         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
35452         assertions that fail on HP-UX, OSF/1, or IRIX.
35453         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
35454
35455 2007-04-29  Bruno Haible  <bruno@clisp.org>
35456
35457         * MODULES.html.sh (posix_functions): Remove 'contents'.
35458
35459 2007-04-29  Karl Berry  <karl@gnu.org>
35460
35461         * config/srclist.txt (gendocs_template_min): new entry.
35462
35463 2007-04-29  Bruno Haible  <bruno@clisp.org>
35464
35465         Work around fpurge bug on BSD systems.
35466         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
35467         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
35468         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
35469         fpurge to rpl_fpurge if the system already has this function.
35470         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
35471         the case where the system already has this function. Correct invariants
35472         on BSD systems.
35473         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
35474         BSD systems.
35475
35476 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
35477
35478         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
35479         proposed by Sven Verdoolaege.
35480
35481         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
35482         options.
35483         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
35484         (usage and help tests): Update
35485
35486 2007-04-29  Bruno Haible  <bruno@clisp.org>
35487
35488         * tests/test-fflush.c (main): Use a file of size 17, not 10.
35489         Print more information in case of failure. Disable a test on BeOS.
35490
35491 2007-04-29  Bruno Haible  <bruno@clisp.org>
35492
35493         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
35494         This helps debugging on systems on which no gdb is available.
35495
35496 2007-04-29  Bruno Haible  <bruno@clisp.org>
35497
35498         * lib/freading.h: Improve comments.
35499         * lib/fwriting.h: Likewise.
35500         * tests/test-freading.c (main): Don't check freading immediately after
35501         repositioning. Needed for glibc.
35502
35503 2007-04-29  Bruno Haible  <bruno@clisp.org>
35504
35505         * lib/freading.c (freading): Trivial simplification.
35506
35507 2007-04-28  Bruno Haible  <bruno@clisp.org>
35508
35509         * tests/test-fwriting.c (main): Also test the interaction between
35510         fflush and fwriting.
35511         * modules/fwriting-tests (Depends-on): Add fflush.
35512
35513         * tests/test-freading.c (main): Also test the interaction between
35514         fflush and freading.
35515         * modules/freading-tests (Depends-on): Add fflush.
35516
35517 2007-04-28  Bruno Haible  <bruno@clisp.org>
35518
35519         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
35520         fseeko and ftello.
35521         Suggested by Eric Blake.
35522
35523 2007-04-28  Jim Meyering  <jim@meyering.net>
35524
35525         Avoid false-negative in gl_STDINT_H's C99 conformance test.
35526         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
35527         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
35528
35529 2007-04-27  Eric Blake  <ebb9@byu.net>
35530
35531         * doc/headers/assert.texi (assert.h): Document assert module use.
35532
35533 2007-04-27  Bruno Haible  <bruno@clisp.org>
35534
35535         * doc/headers/*.texi: New files.
35536         * doc/gnulib.texi (Header File Substitutes): New chapter.
35537         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
35538         dependencies.
35539         (standards.info ,standards.html, standards.dvi): Update dependencies.
35540         (mostlyclean, clean): New targets.
35541
35542 2007-04-27  Bruno Haible  <bruno@clisp.org>
35543
35544         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
35545         * modules/sysexits (Files, Makefile.am): Update.
35546
35547         * lib/sys_socket_.h: Renamed from lib/socket_.h.
35548         * modules/sys_socket (Files, Makefile.am): Update.
35549
35550         * lib/sys_stat_.h: Renamed from lib/stat_.h.
35551         * modules/sys_stat (Files, Makefile.am): Update.
35552
35553 2007-04-27  Eric Blake  <ebb9@byu.net>
35554
35555         * lib/freading.h: Improve comments.
35556         * lib/fwriting.h: Likewise.
35557         * lib/fflush.c: Likewise.
35558
35559         Fix closein for mingw.
35560         * modules/closein-tests: Add tests for closein.
35561         * tests/test-closein.c: New file.
35562         * tests/test-closein.sh: Likewise.
35563         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
35564         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
35565
35566 2007-04-27  Bruno Haible  <bruno@clisp.org>
35567
35568         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
35569         version is < 6.
35570         * lib/math_.h [__DECC]: Likewise.
35571         * lib/stdio_.h [__DECC]: Likewise.
35572         * lib/stdlib_.h [__DECC]: Likewise.
35573         * lib/string_.h [__DECC]: Likewise.
35574         * lib/time_.h [__DECC]: Likewise.
35575         * lib/wchar_.h [__DECC]: Likewise.
35576         * lib/wctype_.h [__DECC]: Likewise.
35577
35578 2007-04-27  Bruno Haible  <bruno@clisp.org>
35579
35580         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
35581
35582 2007-04-27  Bruno Haible  <bruno@clisp.org>
35583
35584         * lib/fflush.c: Add comments.
35585         * modules/fpurge-tests (Depends-on): Add fflush.
35586         * modules/freadable-tests (Depends-on): Likewise.
35587         * modules/fwritable-tests (Depends-on): Likewise.
35588
35589 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
35590
35591         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
35592         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
35593         Report by Bruno Haible <bruno@clisp.org>.
35594
35595 2007-04-26  Eric Blake  <ebb9@byu.net>
35596
35597         Fix fflush on mingw.
35598         * modules/fflush (Depends-on): Add freading.
35599         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
35600         but unread data.
35601
35602 2007-04-26  Eric Blake  <ebb9@byu.net>
35603         and Bruno Haible  <bruno@clisp.org>
35604
35605         Implement freading and fwriting.
35606         * lib/freading.c: New file.
35607         * lib/freading.h: Likewise.
35608         * m4/freading.m4: Likewise.
35609         * modules/freading: Likewise.
35610         * modules/freading-tests: Likewise.
35611         * tests/test-freading.c: Likewise.
35612         * lib/fwriting.c: New file.
35613         * lib/fwriting.h: Likewise.
35614         * m4/fwriting.m4: Likewise.
35615         * modules/fwriting: Likewise.
35616         * modules/fwriting-tests: Likewise.
35617         * tests/test-fwriting.c: Likewise.
35618         * MODULES.html.sh (File stream based Input/Output): Mention them.
35619
35620 2007-04-26  Bruno Haible  <bruno@clisp.org>
35621
35622         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
35623         'long' when we assume it.
35624         Suggested by Eric Blake.
35625
35626 2007-04-26  Bruno Haible  <bruno@clisp.org>
35627
35628         Ensure fseeko, ftello are declared on glibc systems.
35629         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
35630         * modules/fseeko (configure.ac-early): Likewise.
35631         * modules/ftello (configure.ac-early): Likewise.
35632         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
35633         AC_FUNC_FSEEKO for this.
35634         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
35635         (gl_CHECK_FSEEKO): Remove macro.
35636
35637 2007-04-26  Bruno Haible  <bruno@clisp.org>
35638
35639         * tests/test-fflush.c (main): Also check the ftell result after
35640         fflush and fseek/fseeko.
35641         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
35642         file descriptor position cache in the stream.
35643         * lib/fseeko.c (rpl_fseeko): Likewise.
35644
35645 2007-04-26  Bruno Haible  <bruno@clisp.org>
35646
35647         * modules/fflush-tests (Depends-on): Add fseeko.
35648
35649 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
35650             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35651
35652         * lib/argz_.h: ensure error_t definition is obtained in same
35653         mechanism system argz.h would have.
35654         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
35655         argz facilities are known bad.  Err on the side of caution if
35656         cross-compiling.
35657
35658 2007-04-25  Eric Blake  <ebb9@byu.net>
35659
35660         * lib/fpurge.c (includes): Use stdlib.h for free.
35661         * tests/test-fflush.c (main): Also test fflush-fseeko.
35662
35663 2007-04-25  Bruno Haible  <bruno@clisp.org>
35664
35665         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
35666         * lib/fseeko.c: New file.
35667         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
35668         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
35669         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
35670         gl_FUNC_FSEEKO.
35671         (gl_FUNC_FSEEKO): Invoke it.
35672         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
35673         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
35674         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
35675
35676 2007-04-25  Bruno Haible  <bruno@clisp.org>
35677
35678         * modules/fflush (Depends-on): Add ftello.
35679
35680 2007-04-25  Bruno Haible  <bruno@clisp.org>
35681
35682         * modules/ftello-tests: New file.
35683         * tests/test-ftello.c: New file.
35684
35685         * modules/ftello: New file.
35686         * m4/ftello.m4: New file.
35687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
35688         HAVE_FTELLO.
35689         * lib/stdio_.h (ftello): New declaration.
35690         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
35691         HAVE_FTELLO.
35692
35693 2007-04-25  Bruno Haible  <bruno@clisp.org>
35694
35695         * modules/fseeko-tests: New file.
35696         * tests/test-fseeko.c: New file.
35697
35698         * modules/fseeko: New file.
35699         * m4/fseeko.m4: New file.
35700         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
35701         HAVE_FSEEKO.
35702         * lib/stdio_.h (fseeko): New declaration.
35703         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
35704         HAVE_FSEEKO.
35705
35706 2007-04-25  Bruno Haible  <bruno@clisp.org>
35707
35708         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
35709
35710 2007-04-25  Bruno Haible  <bruno@clisp.org>
35711
35712         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
35713         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
35714         * tests/test-unistd.c: Likewise.
35715         * tests/test-fcntl.c: Likewise.
35716
35717 2007-04-23  Eric Blake  <ebb9@byu.net>
35718
35719         * lib/fflush.c: Fix missing include.
35720         Reported by Bruno Haible.
35721
35722 2007-04-23  Bruno Haible  <bruno@clisp.org>
35723
35724         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
35725         Reported by Eric Blake.
35726
35727 2007-04-23  Bruno Haible  <bruno@clisp.org>
35728
35729         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
35730
35731 2007-04-23  Bruno Haible  <bruno@clisp.org>
35732
35733         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
35734
35735 2007-04-23  Bruno Haible  <bruno@clisp.org>
35736
35737         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
35738         Needed on HP-UX 11.
35739
35740 2007-04-16  Eric Blake  <ebb9@byu.net>
35741
35742         Make fflush rely on fpurge.
35743         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
35744         open coding all variants.
35745         * modules/fflush (Depends-on): Add fpurge and unistd.
35746         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
35747         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
35748
35749         Fix --with-tests compilation on cygwin.
35750         * modules/argmatch-tests (Makefile.am): List gnulib library first
35751         in LDADD.
35752         * modules/argp-tests (Makefile.am): Likewise.
35753         * modules/array-list-tests (Makefile.am): Likewise.
35754         * modules/array-oset-tests (Makefile.am): Likewise.
35755         * modules/avltree-list-tests (Makefile.am): Likewise.
35756         * modules/avltree-oset-tests (Makefile.am): Likewise.
35757         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35758         * modules/carray-list-tests (Makefile.am): Likewise.
35759         * modules/dirname-tests (Makefile.am): Likewise.
35760         * modules/frexp-tests (Makefile.am): Likewise.
35761         * modules/isnanl-tests (Makefile.am): Likewise.
35762         * modules/linked-list-tests (Makefile.am): Likewise.
35763         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35764         * modules/lock-tests (Makefile.am): Likewise.
35765         * modules/rbtree-list-tests (Makefile.am): Likewise.
35766         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35767         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35768         * modules/tls-tests (Makefile.am): Likewise.
35769         * modules/tsearch-tests (Makefile.am): Likewise.
35770         * modules/xvasprintf-tests (Makefile.am): Likewise.
35771
35772         Fix fpurge for cygwin.
35773         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
35774         value.
35775         * modules/fpurge-tests (Depends-on): Clean up trash.
35776
35777 2007-04-16  Simon Josefsson  <simon@josefsson.org>
35778
35779         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
35780
35781         * m4/autobuild.m4: Re-indent.
35782
35783 2007-04-13  Bruno Haible  <bruno@clisp.org>
35784
35785         * modules/fpurge-tests: New file.
35786         * tests/test-fpurge.c: New file.
35787
35788         * modules/fpurge: New file.
35789         * lib/fpurge.h: New file.
35790         * lib/fpurge.c: New file.
35791         * m4/fpurge.m4: New file.
35792
35793 2007-04-13  Bruno Haible  <bruno@clisp.org>
35794
35795         * modules/fbufmode-tests: New file.
35796         * tests/test-fbufmode.c: New file.
35797
35798         * modules/fbufmode: New file.
35799         * lib/fbufmode.h: New file.
35800         * lib/fbufmode.c: New file.
35801         * m4/fbufmode.m4: New file.
35802
35803 2007-04-13  Bruno Haible  <bruno@clisp.org>
35804
35805         * modules/fwritable-tests: New file.
35806         * tests/test-fwritable.c: New file.
35807
35808         * modules/fwritable: New file.
35809         * lib/fwritable.h: New file.
35810         * lib/fwritable.c: New file.
35811         * m4/fwritable.m4: New file.
35812
35813 2007-04-13  Bruno Haible  <bruno@clisp.org>
35814
35815         * modules/freadable-tests: New file.
35816         * tests/test-freadable.c: New file.
35817
35818         * modules/freadable: New file.
35819         * lib/freadable.h: New file.
35820         * lib/freadable.c: New file.
35821         * m4/freadable.m4: New file.
35822
35823 2007-04-13  Bruno Haible  <bruno@clisp.org>
35824
35825         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
35826         MOSTLYCLEANFILES.
35827
35828 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
35829
35830         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
35831         gzip bootstrap.conf to avoid dragging in i18n machinery.
35832         (gnulib_tool_option): Use it.
35833
35834 2007-04-13  Bruno Haible  <bruno@clisp.org>
35835
35836         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
35837         %F directives.
35838         * tests/test-vasprintf-posix.c (test_function): Likewise.
35839         * tests/test-snprintf-posix.h (test_function): Likewise.
35840         * tests/test-sprintf-posix.h (test_function): Likewise.
35841         * tests/test-fprintf-posix.h (test_function): Likewise.
35842         * tests/test-printf-posix.h (test_function): Likewise.
35843         * tests/test-fprintf-posix.out: Likewise.
35844
35845 2007-04-13  Bruno Haible  <bruno@clisp.org>
35846
35847         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
35848         * modules/tls-tests (configure.ac): Likewise.
35849         Reported by Arto C. Nirkko <anirkko@insel.ch>.
35850
35851 2007-04-13  Bruno Haible  <bruno@clisp.org>
35852
35853         * lib/tls.c (glthread_tls_get): Fix return type.
35854         Patch by Arto C. Nirkko <anirkko@insel.ch>.
35855
35856 2007-04-12  Eric Blake  <ebb9@byu.net>
35857
35858         * modules/gettime (Depends-on): Remove gettime.
35859         Reported by Dmitry V. Levin.
35860
35861 2007-04-12  Bruno Haible  <bruno@clisp.org>
35862
35863         * modules/fflush (Include): Mention <stdio.h>.
35864         * modules/strtoimax (Include): Mention <inttypes.h>.
35865         * modules/strtoumax (Include): Likewise.
35866
35867 2007-04-12  Eric Blake  <ebb9@byu.net>
35868
35869         * .cvsignore: New file.
35870         * .gitignore: Likewise.
35871
35872 2007-04-12  Bruno Haible  <bruno@clisp.org>
35873
35874         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
35875         not before, since $(LDADD) often contains libgnu.a.
35876         * modules/striconv-tests (test_striconv_LDADD): Likewise.
35877         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
35878         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
35879         Needed on Cygwin.
35880
35881 2007-04-12  Eric Blake  <ebb9@byu.net>
35882
35883         Work around glibc's failure to flush stdin on fclose.
35884         * lib/closein.c (close_stdin): Flush stdin before closing.
35885
35886         Work around glibc's failure to reset seekable stdin on exit.
35887         * modules/closein: New module.
35888         * lib/closein.c: New file.
35889         * lib/closein.h: Likewise.
35890         * m4/closein.m4: Likewise.
35891         * MODULES.html.sh (File stream based Input/Output): Document it.
35892
35893 2007-04-12  Simon Josefsson  <simon@josefsson.org>
35894
35895         * gnulib-tool: Rename generated 'autobuild' script to
35896         'do-autobuild' in --create-megatestdir output.
35897
35898         * doc/gnulib.texi (Build robot for gnulib): Fix.
35899
35900 2007-04-12  Simon Josefsson  <simon@josefsson.org>
35901
35902         * modules/sysexits (Depends-on): Add absolute-header.
35903
35904 2007-04-12  Eric Blake  <ebb9@byu.net>
35905
35906         No need to preserve errno on success.
35907         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
35908         Reported by Bruno Haible.
35909
35910 2007-04-12  Simon Josefsson  <simon@josefsson.org>
35911
35912         * MODULES.html.sh (Support for maintaining and releasing
35913         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
35914
35915 2007-04-12  Simon Josefsson  <simon@josefsson.org>
35916
35917         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
35918
35919 2007-04-12  Simon Josefsson  <simon@josefsson.org>
35920
35921         * modules/autobuild: New module.
35922
35923         * m4/autobuild.m4: New file.
35924
35925 2007-04-11  Bruno Haible  <bruno@clisp.org>
35926
35927         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
35928         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
35929         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
35930         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
35931         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35932         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35933         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35934         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
35935         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35936         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35937         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
35938         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35939         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35940         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
35941         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35942         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35943         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
35944         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35945         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35946         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
35947         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35948         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35949         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
35950         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35951         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35952         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
35953         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
35954         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
35955         Reported by Eric Blake.
35956
35957 2007-04-11  Bruno Haible  <bruno@clisp.org>
35958
35959         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
35960
35961 2007-04-10  Bruno Haible  <bruno@clisp.org>
35962
35963         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
35964         for NaN and Infinity. Needed on FreeBSD 6.1.
35965         * tests/test-vasnprintf-posix.c (test_function): Undo last change
35966         regarding results for "%010a" of Infinity and NaN.
35967         * tests/test-vasprintf-posix.c (test_function): Likewise.
35968         * tests/test-snprintf-posix.h (test_function): Likewise.
35969         * tests/test-sprintf-posix.h (test_function): Likewise.
35970         * tests/test-fprintf-posix.h (test_function): Likewise.
35971         * tests/test-printf-posix.h (test_function): Likewise.
35972         * tests/test-fprintf-posix.out: Likewise.
35973
35974 2007-04-10  Bruno Haible  <bruno@clisp.org>
35975
35976         * modules/locale-tests: New file.
35977         * tests/test-locale.c: New file.
35978
35979         * modules/locale: New file.
35980         * lib/locale_.h: New file.
35981         * m4/locale_h.m4: New file.
35982
35983 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
35984             Bruno Haible  <bruno@clisp.org>
35985
35986         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
35987         be determined, test for availability of the copysignf, copysign,
35988         copysignl functions.
35989         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
35990         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
35991         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
35992
35993 2007-04-09  Eric Blake  <ebb9@byu.net>
35994
35995         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
35996         * modules/stdio (Makefile.am): Support fflush.
35997         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35998         * modules/fflush: New file.
35999         * lib/fflush.c: Likewise.
36000         * m4/fflush.m4: Likewise.
36001         * modules/fflush-tests: New test.
36002         * tests/test-fflush.c: Likewise.
36003         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
36004
36005 2007-04-06  Bruno Haible  <bruno@clisp.org>
36006
36007         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
36008         (VASNPRINTF): Use signbit for faster determination whether to print a
36009         minus sign.
36010         * modules/vasnprintf (Files): Remove lib/float+.h.
36011         * modules/fprintf-posix (Depends-on): Add signbit.
36012         * modules/snprintf-posix (Depends-on): Likewise.
36013         * modules/sprintf-posix (Depends-on): Likewise.
36014         * modules/vasnprintf-posix (Depends-on): Likewise.
36015         * modules/vasprintf-posix (Depends-on): Likewise.
36016         * modules/vfprintf-posix (Depends-on): Likewise.
36017         * modules/vsnprintf-posix (Depends-on): Likewise.
36018         * modules/vsprintf-posix (Depends-on): Likewise.
36019
36020 2007-04-06  Bruno Haible  <bruno@clisp.org>
36021
36022         * tests/test-frexp.c (main): Test also the sign bit of zero results.
36023         * tests/test-frexpl.c (main): Likewise.
36024         * tests/test-ldexpl.c (main): Likewise.
36025         * modules/frexp-tests (Depends-on): Add signbit.
36026         * modules/frexpl-tests (Depdends-on): Likewise.
36027         * modules/ldexpl-tests (Depdends-on): Likewise.
36028
36029 2007-04-06  Bruno Haible  <bruno@clisp.org>
36030
36031         * modules/signbit-tests: New file.
36032         * tests/test-signbit.c: New file.
36033
36034         * modules/signbit: New file.
36035         * lib/signbitf.c: New file.
36036         * lib/signbitd.c: New file.
36037         * lib/signbitl.c: New file.
36038         * m4/signbit.m4: New file.
36039         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
36040         (signbit): New macro.
36041         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
36042         REPLACE_SIGNBIT.
36043         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
36044         REPLACE_FREXPL into math.h.
36045
36046 2007-04-06  Bruno Haible  <bruno@clisp.org>
36047
36048         * modules/isnanf-nolibm-tests: New file.
36049         * tests/test-isnanf.c: New file.
36050
36051         * modules/isnanf-nolibm: New file.
36052         * lib/isnanf.h: New file.
36053         * lib/isnanf.c: New file.
36054         * lib/isnan.c: Consider the USE_FLOAT macro.
36055         * m4/isnanf.m4: New file.
36056
36057 2007-04-06  Bruno Haible  <bruno@clisp.org>
36058
36059         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
36060         (Link): New section.
36061
36062         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
36063
36064 2007-04-06  Bruno Haible  <bruno@clisp.org>
36065
36066         Assume the 'long double' type.
36067         * m4/longdouble.m4: Remove file.
36068         * config/srclist.txt: Don't mention longdouble.m4.
36069         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
36070         * lib/float+.h: Likewise.
36071         * lib/frexp.c: Likewise.
36072         * lib/printf-args.h: Likewise.
36073         * lib/printf-args.c: Likewise.
36074         * lib/printf-frexp.c: Likewise.
36075         * lib/printf-parse.c: Likewise.
36076         * lib/vasnprintf.c: Likewise.
36077         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
36078         * m4/intl.m4: Likewise.
36079         * m4/isnanl.m4: Likewise.
36080         * m4/printf.m4: Likewise.
36081         * m4/printf-frexpl.m4: Likewise.
36082         * m4/vasnprintf.m4: Likewise.
36083         * modules/allocsa (Files): Remove m4/longdouble.m4.
36084         * modules/gettext (Files): Likewise.
36085         * modules/relocatable-prog-wrapper (Files): Likewise.
36086         * modules/vasnprintf (Files): Likewise.
36087         * modules/isnanl (Files): Likewise.
36088         (Include): Simplify.
36089         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
36090         (Include): Simplify.
36091         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
36092         (Include): Simplify.
36093         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
36094         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36095         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
36096         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36097         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36098         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36099         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
36100         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36101         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
36102         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36103         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
36104         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
36105         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
36106         * tests/test-isnanl.c: Likewise.
36107         * tests/test-snprintf-posix.h: Likewise.
36108         * tests/test-sprintf-posix.h: Likewise.
36109         * tests/test-vasnprintf-posix.c: Likewise.
36110         * tests/test-vasnprintf-posix2.c: Likewise.
36111         * tests/test-vasprintf-posix.c: Likewise.
36112
36113 2007-04-06  Bruno Haible  <bruno@clisp.org>
36114
36115         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
36116         * lib/math_.h [__DECC]: Include the overridden include file through
36117         #include_next, outside the double-inclusion guard.
36118         * lib/stdio_.h [__DECC]: Likewise.
36119         * lib/stdlib_.h [__DECC]: Likewise.
36120         * lib/string_.h [__DECC]: Likewise.
36121         * lib/time_.h [__DECC]: Likewise.
36122         * lib/wchar_.h [__DECC]: Likewise.
36123         * lib/wctype_.h [__DECC]: Likewise.
36124         * lib/inttypes_.h [__DECC]: Likewise.
36125         Reported by Albert Chin <china@thewrittenword.com> in
36126         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
36127
36128 2007-04-04  Eric Blake  <ebb9@byu.net>
36129
36130         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
36131         1.5.x.
36132
36133 2007-04-04  Bruno Haible  <bruno@clisp.org>
36134
36135         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
36136         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
36137
36138 2007-04-04  Bruno Haible  <bruno@clisp.org>
36139
36140         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
36141         results for "%010a" of Infinity and NaN.
36142         * tests/test-vasprintf-posix.c (test_function): Likewise.
36143         * tests/test-snprintf-posix.h (test_function): Likewise.
36144         * tests/test-sprintf-posix.h (test_function): Likewise.
36145         * tests/test-fprintf-posix.h (test_function): Remove these tests.
36146         * tests/test-printf-posix.h (test_function): Likewise.
36147         * tests/test-fprintf-posix.out: Update.
36148         Needed for FreeBSD 6.1.
36149
36150 2007-04-04  Bruno Haible  <bruno@clisp.org>
36151
36152         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
36153         directly used by the gnulib modules nor by gnulib-tool.
36154
36155 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
36156
36157         * DEPENDENCIES: Give overall description of version dependency
36158         desirability.  Use more-typical names for apps.
36159         Add shell, coreutils, diffutils, grep, tar, gzip.
36160
36161 2007-04-04  Simon Josefsson  <simon@josefsson.org>
36162
36163         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
36164
36165 2007-04-04  Karl Berry  <karl@gnu.org>
36166
36167         * MODULES.html.sh (func_module): missing '.
36168
36169 2007-04-03  Bruno Haible  <bruno@clisp.org>
36170
36171         * modules/argmatch-tests (Makefile.am): New variable
36172         test_argmatch_LDADD.
36173         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
36174         * modules/array-list-tests (Makefile.am): New variable
36175         test_array_list_LDADD.
36176         * modules/array-oset-tests (Makefile.am): New variable
36177         test_array_oset_LDADD.
36178         * modules/avltree-list-tests (Makefile.am): New variable
36179         test_avltree_list_LDADD.
36180         * modules/avltree-oset-tests (Makefile.am): New variable
36181         test_avltree_oset_LDADD.
36182         * modules/avltreehash-list-tests (Makefile.am): New variable
36183         test_avltreehash_list_LDADD.
36184         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
36185         test_canonicalize_lgpl_LDADD.
36186         * modules/carray-list-tests (Makefile.am): New variable
36187         test_carray_list_LDADD.
36188         * modules/dirname-tests (Makefile.am): New variable
36189         test_dirname_LDADD.
36190         * modules/linked-list-tests (Makefile.am): New variable
36191         test_linked_list_LDADD.
36192         * modules/linkedhash-list-tests (Makefile.am): New variable
36193         test_linkedhash_list_LDADD.
36194         * modules/rbtree-list-tests (Makefile.am): New variable
36195         test_rbtree_list_LDADD.
36196         * modules/rbtree-oset-tests (Makefile.am): New variable
36197         test_rbtree_oset_LDADD.
36198         * modules/rbtreehash-list-tests (Makefile.am): New variable
36199         test_rbtreehash_list_LDADD.
36200         * modules/xvasprintf-tests (Makefile.am): New variable
36201         test_xvasprintf_LDADD.
36202         Reported by Eric Blake.
36203
36204 2007-04-03  Eric Blake  <ebb9@byu.net>
36205
36206         * DEPENDENCIES: Weaken m4 requirements.
36207
36208 2007-04-03  Bruno Haible  <bruno@clisp.org>
36209
36210         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
36211         * modules/isnanl-tests (configure.ac): Likewise.
36212
36213 2007-04-03  Ben Pfaff  <blp@gnu.org>
36214
36215         * modules/iconv_open: Add $(srcdir)/ to source directory
36216         references in Makefile fragments that call gperf, to fix VPATH
36217         builds.
36218
36219 2007-04-03  Bruno Haible  <bruno@clisp.org>
36220
36221         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
36222         * lib/ldexpl.c: Undo last change.
36223
36224 2007-04-03  Bruno Haible  <bruno@clisp.org>
36225
36226         * modules/printf-frexpl (Depends-on): Undo last change.
36227         (Files): Add m4/ldexpl.m4.
36228
36229 2007-04-03  Bruno Haible  <bruno@clisp.org>
36230
36231         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
36232         * modules/isnanl (Link): New section.
36233
36234         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
36235         * modules/frexp (Link): New section.
36236
36237         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
36238         * modules/frexpl (Link): New section.
36239
36240         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
36241         * modules/ldexpl (Link): New section.
36242
36243 2007-04-03  Bruno Haible  <bruno@clisp.org>
36244
36245         * modules/TEMPLATE-EXTENDED: New file.
36246         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
36247
36248 2007-04-03  Bruno Haible  <bruno@clisp.org>
36249
36250         * DEPENDENCIES: New file.
36251         Suggested by Simon Josefsson.
36252
36253 2007-04-03  Bruno Haible  <bruno@clisp.org>
36254
36255         * doc/gnulib.texi: Escape @.
36256
36257 2007-04-03  James Youngman  <jay@gnu.org>
36258         and Paul Eggert  <eggert@cs.ucla.edu>
36259
36260         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
36261         birthtime on all systems that have birthtime, not just those which
36262         use st_birthtimensec rather than st_birthtim.  Putting zero in
36263         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
36264         that the birth time is not available for files on an NFS mount.
36265
36266 2007-04-03  Simon Josefsson  <simon@josefsson.org>
36267
36268         * modules/memxor: Move back from crypto/, suggested by Bruno.
36269         * modules/crypto/hmac-sha1: Fix memxor dependency.
36270
36271         * modules/crypto/gc: Moved from ../.
36272
36273 2007-04-02  Eric Blake  <ebb9@byu.net>
36274
36275         * lib/ldexpl.c (includes): Avoid libm.
36276
36277         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
36278
36279 2007-04-02  Bruno Haible  <bruno@clisp.org>
36280
36281         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
36282         on IRIX.
36283
36284 2007-04-02  Bruno Haible  <bruno@clisp.org>
36285
36286         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
36287         x86 or x86_64 platforms running MacOS X.
36288         Reported by Ryan Schmidt <@ryandesign.com>.
36289
36290 2007-04-02  Bruno Haible  <bruno@clisp.org>
36291
36292         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
36293         i386.
36294
36295 2007-04-01  Simon Josefsson  <simon@josefsson.org>
36296
36297         * modules/crypto/arcfour: Moved from ../.
36298         * modules/crypto/arcfour-tests: Moved from ../.
36299         * modules/crypto/arctwo: Moved from ../.
36300         * modules/crypto/arctwo-tests: Moved from ../.
36301         * modules/crypto/des: Moved from ../.
36302         * modules/crypto/des-tests: Moved from ../.
36303         * modules/crypto/gc-arcfour: Moved from ../.
36304         * modules/crypto/gc-arcfour-tests: Moved from ../.
36305         * modules/crypto/gc-arctwo: Moved from ../.
36306         * modules/crypto/gc-arctwo-tests: Moved from ../.
36307         * modules/crypto/gc-des: Moved from ../.
36308         * modules/crypto/gc-des-tests: Moved from ../.
36309         * modules/crypto/gc-hmac-md5: Moved from ../.
36310         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
36311         * modules/crypto/gc-hmac-sha1: Moved from ../.
36312         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
36313         * modules/crypto/gc-md2: Moved from ../.
36314         * modules/crypto/gc-md2-tests: Moved from ../.
36315         * modules/crypto/gc-md4: Moved from ../.
36316         * modules/crypto/gc-md4-tests: Moved from ../.
36317         * modules/crypto/gc-md5: Moved from ../.
36318         * modules/crypto/gc-md5-tests: Moved from ../.
36319         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
36320         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
36321         * modules/crypto/gc-random: Moved from ../.
36322         * modules/crypto/gc-rijndael: Moved from ../.
36323         * modules/crypto/gc-rijndael-tests: Moved from ../.
36324         * modules/crypto/gc-sha1: Moved from ../.
36325         * modules/crypto/gc-sha1-tests: Moved from ../.
36326         * modules/crypto/gc-tests: Moved from ../.
36327         * modules/crypto/hmac-md5: Moved from ../.
36328         * modules/crypto/hmac-md5-tests: Moved from ../.
36329         * modules/crypto/hmac-sha1: Moved from ../.
36330         * modules/crypto/hmac-sha1-tests: Moved from ../.
36331         * modules/crypto/md2: Moved from ../.
36332         * modules/crypto/md2-tests: Moved from ../.
36333         * modules/crypto/md4: Moved from ../.
36334         * modules/crypto/md4-tests: Moved from ../.
36335         * modules/crypto/md5: Moved from ../.
36336         * modules/crypto/md5-tests: Moved from ../.
36337         * modules/crypto/memxor: Moved from ../.
36338         * modules/crypto/rijndael: Moved from ../.
36339         * modules/crypto/rijndael-tests: Moved from ../.
36340         * modules/crypto/sha1: Moved from ../.
36341
36342 2007-03-30  James Youngman  <jay@gnu.org>
36343
36344         * tests/test-stat-time.c (prepare_test): use chmod() rather than
36345         rename() to change the ctime of a file (because ctime is unaffected
36346         by rename on jfs2 on AIX 5.1).
36347         (main): Start by doing cleanup, in case a previous run failed leaving
36348         test files behind.
36349
36350 2007-03-31  Bruno Haible  <bruno@clisp.org>
36351
36352         Support old proprietary implementations of iconv.
36353         * modules/iconv_open: New file.
36354         * lib/iconv_.h: New file.
36355         * m4/iconv_h.m4: New file.
36356         * lib/iconv_open.c: New file.
36357         * lib/iconv_open-aix.gperf: New file.
36358         * lib/iconv_open-hpux.gperf: New file.
36359         * lib/iconv_open-irix.gperf: New file.
36360         * lib/iconv_open-osf.gperf: New file.
36361         * m4/iconv_open.m4: New file.
36362         * modules/linebreak (Depends-on): Add iconv_open.
36363         * modules/striconv (Depends-on): Likewise.
36364         * modules/striconveh (Depends-on): Likewise.
36365         * modules/unicodeio (Depends-on): Likewise.
36366         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
36367         (iconv_t)(-1).
36368         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
36369         conversion if cd is (iconv_t)(-1).
36370         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
36371         is not possible.
36372
36373 2007-03-31  Bruno Haible  <bruno@clisp.org>
36374
36375         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36376         work on Solaris either. Protect also second use of "autodetect_jp".
36377
36378 2007-03-31  Bruno Haible  <bruno@clisp.org>
36379
36380         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
36381         the function is not present.
36382
36383 2007-03-31  Bruno Haible  <bruno@clisp.org>
36384
36385         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
36386         the function is not present.
36387
36388 2007-03-31  Bruno Haible  <bruno@clisp.org>
36389
36390         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
36391         a bug in HP-UX iconv_open().
36392
36393 2007-03-31  Bruno Haible  <bruno@clisp.org>
36394
36395         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
36396         (Mathematics <math.h>): New section, add fpieee.
36397         (Input/output <stdio.h>): Add fseterr.
36398         (Mathematics <math.h>): New section, add printf-frexp.
36399         (Container data structures): Add sublist.
36400         (Core language properties): Add fpucw, inline.
36401         (Functions for greatest-width integer types <inttypes.h>): Add
36402         imaxabs, imaxdiv, inttypes.
36403         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
36404         isnanl-nolibm, ldexp.
36405         (Mathematics <math.h>): New section, add printf-frexpl.
36406         (Support for systems lacking POSIX:2001): Add fprintf-posix,
36407         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
36408         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
36409         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
36410         (Unicode string functions): Add unistr/u*-mbtoucr.
36411         (Java): Add javacomp-script, javaexec-script.
36412         (C#): Add csharpcomp-script, csharpexec-script.
36413         (Support for building libraries and executables): Add havelib,
36414         relocatable-*.
36415         (Support for maintaining and releasing projects): Renamed from
36416         'Support for maintaining and release projects'. Add announce-gen.
36417
36418 2007-03-31  Bruno Haible  <bruno@clisp.org>
36419
36420         * README: Talk primarily about git.
36421         (git and CVS): Renamed from CVS.
36422         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
36423         gnulib is available through git.
36424         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
36425
36426 2007-03-30  Bruno Haible  <bruno@clisp.org>
36427
36428         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
36429         * lib/poll_.h: Likewise.
36430         * lib/stat_.h: Likewise.
36431         * lib/sys_time_.h: Likewise.
36432         * lib/sysexit_.h: Likewise.
36433         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
36434         * lib/stdbool_.h: Likewise.
36435         * lib/byteswap_.h: Add double-inclusion guard.
36436
36437 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
36438
36439         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
36440
36441 2007-03-30  Karl Berry  <karl@gnu.org>
36442
36443         * config/srclist-update: double space after USA in the license
36444         substitution, since that's how it's usually (?) written.
36445
36446 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36447
36448         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
36449         reported by Bruno Haible.
36450
36451 2007-03-29  Bruno Haible  <bruno@clisp.org>
36452
36453         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
36454         a bug in AIX iconv().
36455
36456 2007-03-29  Bruno Haible  <bruno@clisp.org>
36457
36458         * modules/ldexpl-tests: New file.
36459         * tests/test-ldexpl.c: New file.
36460
36461 2007-03-29  Bruno Haible  <bruno@clisp.org>
36462
36463         * lib/ldexpl.c: Include fpucw.h.
36464         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
36465         multiplication.
36466         * modules/ldexpl (Depends-on): Add fpucw.
36467
36468 2007-03-29  Bruno Haible  <bruno@clisp.org>
36469
36470         * modules/ldexpl: New file.
36471         * m4/ldexpl.m4: New file.
36472         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
36473         set.
36474         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
36475         REPLACE_LDEXPL.
36476         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
36477         REPLACE_LDEXPL.
36478         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
36479         gl_FUNC_LDEXPL_WORKS.
36480         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
36481         * modules/mathl (Files): Remove lib/ldexpl.c.
36482         (Depends-on): Add ldexpl.
36483
36484 2007-03-29  Bruno Haible  <bruno@clisp.org>
36485
36486         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
36487
36488 2007-03-29  Bruno Haible  <bruno@clisp.org>
36489
36490         * tests/test-striconveh.c (main): Don't assume that a direct conversion
36491         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
36492         and possibly also HP-UX.
36493         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
36494         work on AIX, IRIX, HP-UX, OSF/1.
36495         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
36496         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
36497         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
36498         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
36499         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
36500         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
36501
36502 2007-03-29  Bruno Haible  <bruno@clisp.org>
36503
36504         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
36505
36506 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36507
36508         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
36509         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
36510
36511 2007-03-29  Eric Blake  <ebb9@byu.net>
36512
36513         * lib/acl-internal.h: Remove redundant include.
36514         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
36515         Cygwin when a file is locked.
36516
36517 2007-03-29  Bruno Haible  <bruno@clisp.org>
36518
36519         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
36520         file.
36521         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
36522
36523 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
36524
36525         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
36526         try to remove a parent directory if the child couldn't be removed
36527         (except for the first rmdir, which could fail because the child
36528         doesn't exist).  Problem reported by Jeff Blaine in
36529         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
36530
36531 2007-03-28  Bruno Haible  <bruno@clisp.org>
36532
36533         * lib/striconveh.c (utf8conv_carefully): New function.
36534         (mem_cd_iconveh_internal): Invoke it.
36535
36536 2007-03-28  Bruno Haible  <bruno@clisp.org>
36537
36538         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
36539         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
36540         input.
36541         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
36542         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
36543         unistr/u8-uctomb.
36544
36545 2007-03-28  Bruno Haible  <bruno@clisp.org>
36546
36547         * modules/unistr/u8-mbtoucr: New file.
36548         * lib/unistr/u8-mbtoucr.c: New file.
36549         * modules/unistr/u16-mbtoucr: New file.
36550         * lib/unistr/u16-mbtoucr.c: New file.
36551         * modules/unistr/u16-mbtoucr: New file.
36552         * lib/unistr/u16-mbtoucr.c: New file.
36553         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
36554
36555 2007-03-27  Simon Josefsson  <simon@josefsson.org>
36556             Bruno Haible  <bruno@clisp.org>
36557
36558         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
36559         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
36560         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
36561
36562         * m4/stdio_h.m4: Add stubs for vasprintf too.
36563
36564         * modules/stdio: Support vasprintf in sed command.
36565
36566         * modules/vasprintf: Depend on stdio for prototypes.  Remove
36567         vasprintf.h.  Add stdio module indicator.
36568
36569         * lib/stdio_.h: Declare asprintf and vasprintf, based on
36570         vasprintf.h.
36571
36572         * lib/vasprintf.h: File removed.
36573
36574         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
36575         * lib/vasprintf.c: Ditto.
36576         * lib/xvasprintf.c: Ditto.
36577         * tests/test-vasprintf-posix.c: Ditto.
36578         * tests/test-vasprintf.c: Ditto.
36579
36580 2007-03-27  Bruno Haible  <bruno@clisp.org>
36581
36582         Make vasnprintf multithread-safe.
36583         * lib/vasnprintf.c (decimal_point_char): New function.
36584         (VASNPRINTF): Use it.
36585         Suggested by Simon Josefsson.
36586
36587 2007-03-27  Eric Blake  <ebb9@byu.net>
36588
36589         Support sub-second birthtime on cygwin.
36590         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
36591         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
36592         (get_stat_birthtime): Also work with st_birthtim.
36593
36594 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
36595
36596         * lib/stat-time.h (USE_BIRTHTIME): Remove.
36597         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
36598         (get_stat_birthtime_ns): Do not try to use "spare" fields.
36599         (get_stat_birthtime_ns): Simplify compile-time tests.
36600         (get_stat_birthtime): Change the API to look like
36601         get_stat_mtime etc., except return a negative tv_nsec on error.
36602         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
36603         Don't check for "spare" fields.
36604         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
36605         or for struct stat.st_birthtime, as these tests aren't used.
36606         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
36607
36608 2007-03-27  Bruno Haible  <bruno@clisp.org>
36609
36610         * lib/stat-time.h: Include <sys/stat.h>.
36611
36612 2007-03-27  James Youngman  <jay@gnu.org>
36613
36614         * lib/stat-time.h (get_stat_birthtime): New function for
36615           retrieving st_birthtime as provided by UFS2 (hence *BSD).
36616         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
36617           and its variants.
36618         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
36619         * modules/stat-time-test: New file.
36620         * tests/test-stat-time.c: New test, devised by Bruno Haible.
36621
36622 2007-03-26  Bruno Haible  <bruno@clisp.org>
36623
36624         Better support of signalling NaNs.
36625         * lib/atanl.c: Include isnanl.h.
36626         (atanl): Perform test for NaN at the beginning of the function and
36627         through a call to isnanl.
36628         * lib/cosl.c: Include isnanl.h.
36629         (cosl): Perform test for NaN at the beginning of the function and
36630         through a call to isnanl.
36631         * lib/ldexpl.c: Include isnanl.h.
36632         (ldexpl): Perform test for NaN through a call to isnanl.
36633         * lib/logl.c: Include isnanl.h.
36634         (logl): Perform test for NaN at the beginning of the function and
36635         through a call to isnanl.
36636         * lib/sinl.c: Include isnanl.h.
36637         (sinl): Perform test for NaN at the beginning of the function and
36638         through a call to isnanl.
36639         * lib/sqrtl.c: Include isnanl.h.
36640         (sqrtl): Perform test for NaN at the beginning of the function and
36641         through a call to isnanl.
36642         * lib/tanl.c: Include isnanl.h.
36643         (tanl): Perform test for NaN at the beginning of the function and
36644         through a call to isnanl.
36645         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
36646         * modules/mathl (Depends-on): Add isnanl.
36647
36648 2007-03-26  Eric Blake  <ebb9@byu.net>
36649
36650         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
36651         regression in logic sense of previous patch.
36652
36653 2007-03-26  Bruno Haible  <bruno@clisp.org>
36654
36655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
36656         unportable shell command "if ! ...".
36657         Reported by Ralf Wildenhues.
36658
36659 2007-03-25  Bruno Haible  <bruno@clisp.org>
36660
36661         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
36662         <sysexits.h> file, and only add EX_CONFIG.
36663         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
36664         absolute file name and whether it is sufficient. Substitute also
36665         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
36666         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
36667         ABSOLUTE_SYSEXITS_H into sysexits.h.
36668
36669 2007-03-25  Bruno Haible  <bruno@clisp.org>
36670
36671         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
36672         hints is NULL.
36673
36674 2007-03-25  Bruno Haible  <bruno@clisp.org>
36675
36676         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
36677         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
36678
36679 2007-03-25  Bruno Haible  <bruno@clisp.org>
36680
36681         * lib/vasnprintf.c: Include langinfo.h.
36682         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
36683         multithread-safe.
36684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
36685         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
36686         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36687         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36688         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36689         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36690         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36691         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
36692         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36693         Reported by Simon Josefsson.
36694
36695 2007-03-25  Bruno Haible  <bruno@clisp.org>
36696
36697         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
36698         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
36699         * modules/vasnprintf (Depends-on): Add stdint.
36700
36701 2007-03-25  Bruno Haible  <bruno@clisp.org>
36702
36703         * modules/fpieee: New file.
36704         * m4/fpieee.m4: New file.
36705         * modules/isnan-nolibm (Depends-on): Add fpieee.
36706         * modules/isnanl-nolibm (Depends-on): Add fpieee.
36707         * modules/isnanl (Depends-on): Add fpieee.
36708
36709 2007-03-25  Bruno Haible  <bruno@clisp.org>
36710
36711         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
36712
36713 2007-03-25  Bruno Haible  <bruno@clisp.org>
36714
36715         Avoid test failures on IRIX 6.5.
36716         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
36717         (main): Use it.
36718         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
36719         macros.
36720         (main): Use them.
36721
36722 2007-03-25  Bruno Haible  <bruno@clisp.org>
36723
36724         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
36725         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
36726         exists but doesn't work.
36727         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
36728         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
36729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
36730         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
36731
36732 2007-03-25  Bruno Haible  <bruno@clisp.org>
36733
36734         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
36735         returns inf. Needed on IRIX 6.5.
36736
36737 2007-03-25  Bruno Haible  <bruno@clisp.org>
36738
36739         * tests/test-frexpl.c: Include isnanl-nolibm.h.
36740         (main): Use isnanl instead of x != x idiom.
36741         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
36742
36743         * tests/test-frexp.c: Include isnan.h.
36744         (main): Use isnan instead of x != x idiom.
36745         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
36746
36747 2007-03-25  Bruno Haible  <bruno@clisp.org>
36748
36749         * tests/test-frexp.c (NaN): New function/macro.
36750         (main): Use it instead of 0.0 / 0.0.
36751         * tests/test-isnan.c (NaN): New function/macro.
36752         (main): Use it instead of 0.0 / 0.0.
36753         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
36754         (test_function): Use it instead of 0.0 / 0.0.
36755         * tests/test-vasprintf-posix.c (NaN): New function/macro.
36756         (test_function): Use it instead of 0.0 / 0.0.
36757         * tests/test-snprintf-posix.h (NaN): New function/macro.
36758         (test_function): Use it instead of 0.0 / 0.0.
36759         * tests/test-sprintf-posix.h (NaN): New function/macro.
36760         (test_function): Use it instead of 0.0 / 0.0.
36761         * tests/test-fprintf-posix.h (NaN): New function/macro.
36762         (test_function): Use it instead of 0.0 / 0.0.
36763         * tests/test-printf-posix.h (NaN): New function/macro.
36764         (test_function): Use it instead of 0.0 / 0.0.
36765
36766         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
36767
36768 2007-03-25  Bruno Haible  <bruno@clisp.org>
36769
36770         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
36771
36772 2007-03-25  Bruno Haible  <bruno@clisp.org>
36773
36774         * lib/regexec.c (merge_state_with_log): Make static.
36775
36776 2007-03-25  Bruno Haible  <bruno@clisp.org>
36777
36778         * lib/trigl.c (kernel_rem_pio2): Make static.
36779
36780 2007-03-25  Bruno Haible  <bruno@clisp.org>
36781
36782         * lib/sincosl.c (sincosl_table): Make static.
36783
36784 2007-03-25  Bruno Haible  <bruno@clisp.org>
36785
36786         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
36787         if the compiler does not support C99.
36788
36789 2007-03-25  Bruno Haible  <bruno@clisp.org>
36790
36791         * modules/time (Makefile.am): Ensure all rule action lines start with a
36792         tab.
36793
36794 2007-03-24  Bruno Haible  <bruno@clisp.org>
36795
36796         * modules/tsearch-tests: New file.
36797         * tests/test-tsearch.sh: New file.
36798         * tests/test-tsearch.c: New file, mostly copied from glibc.
36799
36800         * modules/search-tests: New file.
36801         * tests/test-search.c: New file.
36802
36803         * modules/search: New file.
36804         * lib/search_.h: New file, incorporating lib/tsearch.h.
36805         * m4/search_h.m4: New file.
36806         * lib/tsearch.h: Remove file.
36807         * lib/tsearch.c: Include search.h instead of tsearch.h.
36808         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
36809         HAVE_TSEARCH.
36810         * modules/tsearch (Files): Remove lib/tsearch.h.
36811         (Depends-on): Add search.
36812         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
36813         (Include): Change tsearch.h into search.h.
36814
36815 2007-03-24  Bruno Haible  <bruno@clisp.org>
36816
36817         * modules/fpucw: New file.
36818         * lib/fpucw.h: New file.
36819         * lib/frexp.c: Include fpucw.h.
36820         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
36821         (FUNC): Use them.
36822         * lib/printf-frexp.c: Include fpucw.h.
36823         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
36824         (FUNC): Use them.
36825         * lib/vasnprintf.c: Include fpucw.h.
36826         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
36827         'long double' calculations.
36828         * tests/test-frexpl.c: Include fpucw.h.
36829         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
36830         * tests/test-printf-frexpl.c: Include fpucw.h.
36831         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
36832         * modules/frexpl (Depends-on): Add fpucw.
36833         * modules/printf-frexpl (Depends-on): Likewise.
36834         * modules/fprintf-posix (Depends-on): Likewise.
36835         * modules/snprintf-posix (Depends-on): Likewise.
36836         * modules/sprintf-posix (Depends-on): Likewise.
36837         * modules/vasnprintf-posix (Depends-on): Likewise.
36838         * modules/vasprintf-posix (Depends-on): Likewise.
36839         * modules/vfprintf-posix (Depends-on): Likewise.
36840         * modules/vsnprintf-posix (Depends-on): Likewise.
36841         * modules/vsprintf-posix (Depends-on): Likewise.
36842         * modules/frexpl-tests (Depends-on): Likewise.
36843         * modules/printf-frexpl-tests (Depends-on): Likewise.
36844
36845 2007-03-24  Bruno Haible  <bruno@clisp.org>
36846
36847         * lib/float+.h: New file.
36848         * lib/isnan.c: Include float+.h.
36849         (SIZE): New macro.
36850         (FUNC): Compare only SIZE bytes of the value.
36851         * lib/vasnprintf.c: Include float+.h.
36852         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
36853         SIZEOF_LDBL or SIZEOF_DBL bytes.
36854         * modules/isnan-nolibm (Files): Add lib/float+.h.
36855         * modules/isnanl-nolibm (Files): Add lib/float+.h.
36856         * modules/isnanl (Files): Add lib/float+.h.
36857         * modules/vasnprintf (Files): Add lib/float+.h.
36858
36859 2007-03-24  Bruno Haible  <bruno@clisp.org>
36860
36861         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
36862         include isnanl-nolibm.h.
36863
36864 2007-03-24  Bruno Haible  <bruno@clisp.org>
36865
36866         * tests/test-read-file.c (main): Don't produce spurious output for
36867         expected situations. Make the test fail if it encountered unexpected
36868         results.
36869
36870 2007-03-24  Bruno Haible  <bruno@clisp.org>
36871
36872         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
36873         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
36874
36875 2007-03-24  Bruno Haible  <bruno@clisp.org>
36876
36877         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
36878
36879 2007-03-24  Bruno Haible  <bruno@clisp.org>
36880
36881         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
36882         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
36883
36884         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
36885         * modules/utf8-ucs4: Turn into a symbolic link to module
36886         unistr/u8-mbtouc.
36887
36888         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
36889         utf8-ucs4-unsafe.
36890         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
36891         unistr/u8-mbtouc-unsafe.
36892
36893         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
36894         * modules/utf16-ucs4: Turn into a symbolic link to module
36895         unistr/u16-mbtouc.
36896
36897         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
36898         utf16-ucs4-unsafe.
36899         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
36900         unistr/u16-mbtouc-unsafe.
36901
36902         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
36903         * modules/ucs4-utf8: Turn into a symbolic link to module
36904         unistr/u8-ubtomb.
36905
36906         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
36907         * modules/ucs4-utf16: Turn into a symbolic link to module
36908         unistr/u16-ubtomb.
36909
36910 2007-03-24  Bruno Haible  <bruno@clisp.org>
36911
36912         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
36913         Enable the function only if HAVE_INLINE.
36914         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
36915         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
36916         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
36917         Enable the function only if HAVE_INLINE.
36918         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
36919         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
36920         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
36921         Enable the function only if HAVE_INLINE.
36922         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
36923         Enable the function only if HAVE_INLINE.
36924         * modules/utf8-ucs4: Update.
36925         * modules/utf8-ucs4-unsafe: Update.
36926         * modules/utf16-ucs4: Update.
36927         * modules/utf16-ucs4-unsafe: Update.
36928         * modules/ucs4-utf8: Update.
36929         * modules/ucs4-utf16: Update.
36930
36931 2007-03-24  Bruno Haible  <bruno@clisp.org>
36932
36933         * lib/utf8-ucs4.h: Remove file.
36934         * lib/utf8-ucs4-unsafe.h: Remove file.
36935         * lib/utf16-ucs4.h: Remove file.
36936         * lib/utf16-ucs4-unsafe.h: Remove file.
36937         * lib/ucs4-utf8.h: Remove file.
36938         * lib/ucs4-utf16.h: Remove file.
36939         * lib/unistr.h: Include their previous contents.
36940         * m4/utf-ucs4.m4: Remove file.
36941         * m4/ucs4-utf.m4: Remove file.
36942         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
36943         (Depends-on): Add unistr/base.
36944         (configure.ac): Remove gl_UTF_UCS4.
36945         (Makefile.am): Update.
36946         (Include): Change to unistr.h.
36947         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
36948         (Depends-on): Add unistr/base.
36949         (configure.ac): Remove gl_UTF_UCS4.
36950         (Makefile.am): Update.
36951         (Include): Change to unistr.h.
36952         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
36953         (Depends-on): Add unistr/base.
36954         (configure.ac): Remove gl_UTF_UCS4.
36955         (Makefile.am): Update.
36956         (Include): Change to unistr.h.
36957         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
36958         (Depends-on): Add unistr/base.
36959         (configure.ac): Remove gl_UTF_UCS4.
36960         (Makefile.am): Update.
36961         (Include): Change to unistr.h.
36962         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
36963         (Depends-on): Add unistr/base.
36964         (configure.ac): Remove gl_UCS4_UTF.
36965         (Makefile.am): Update.
36966         (Include): Change to unistr.h.
36967         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
36968         (Depends-on): Add unistr/base.
36969         (configure.ac): Remove gl_UCS4_UTF.
36970         (Makefile.am): Update.
36971         (Include): Change to unistr.h.
36972         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
36973         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
36974         utf8-ucs4-unsafe.h.
36975         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
36976         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
36977         utf16-ucs4-unsafe.h.
36978         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
36979         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
36980         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
36981         * lib/unistr/u8-strchr.c: Likewise.
36982         * lib/unistr/u8-strrchr.c: Likewise.
36983         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
36984         * lib/unistr/u16-strchr.c: Likewise.
36985         * lib/unistr/u16-strrchr.c: Likewise.
36986         * lib/striconveh.c: Update.
36987         * lib/linebreak.c: Update.
36988
36989 2007-03-24  Bruno Haible  <bruno@clisp.org>
36990
36991         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
36992         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
36993
36994 2007-03-22  Bruno Haible  <bruno@clisp.org>
36995
36996         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
36997
36998 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
36999
37000         * MODULES.html.sh (File system functions): New module write-any-file.
37001         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
37002         * m4/write-any-file.m4: New files.
37003
37004 2007-03-23  Eric Blake  <ebb9@byu.net>
37005
37006         * gnulib-tool: Rearrange space-tab sequences, since some editors
37007         like to eat them.
37008
37009 2007-03-23  Eric Blake  <ebb9@byu.net>
37010
37011         * lib/version-etc.c (version_etc_va): Update license wording to
37012         be more concise.  Recommended by Richard Stallman.
37013
37014 2007-03-22  Bruno Haible  <bruno@clisp.org>
37015
37016         * lib/poll.c (MSG_PEEK): New fallback definition.
37017
37018 2007-03-22  Bruno Haible  <bruno@clisp.org>
37019
37020         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
37021         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
37022         (main): Update.
37023         Fixes a compilation error on BeOS.
37024
37025 2007-03-22  Bruno Haible  <bruno@clisp.org>
37026
37027         * modules/frexpl-tests: New file.
37028         * tests/test-frexpl.c: New file.
37029
37030         * modules/frexpl: New file.
37031         * m4/frexpl.m4: New file.
37032         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
37033         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
37034         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
37035         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
37036         (Depends-on): Add frexpl. Remove isnanl-nolibm.
37037         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
37038
37039 2007-03-22  Bruno Haible  <bruno@clisp.org>
37040
37041         * lib/frexpl.c: Share code with lib/frexp.c.
37042         * modules/mathl (Files): Add lib/frexp.c.
37043         (Depends-on): Add isnanl-nolibm.
37044
37045 2007-03-22  Bruno Haible  <bruno@clisp.org>
37046
37047         * modules/printf-frexp (Files): Add m4/frexp.m4.
37048         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
37049         only if the found frexp function actually works.
37050
37051 2007-03-22  Bruno Haible  <bruno@clisp.org>
37052
37053         * lib/frexp.c: Remove older implementation that uses divisions.
37054
37055 2007-03-21  Bruno Haible  <bruno@clisp.org>
37056
37057         * modules/frexp-tests: New file.
37058         * tests/test-frexp.c: New file.
37059
37060         * modules/frexp: New file.
37061         * lib/frexp.c: New file.
37062         * m4/frexp.m4: New file.
37063         * lib/math_.h (frexp): New declaration.
37064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
37065         REPLACE_FREXP.
37066         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
37067
37068 2007-03-21  Bruno Haible  <bruno@clisp.org>
37069
37070         * modules/isnanl-tests: New file.
37071         * tests/test-isnanl.c: New file.
37072
37073         * modules/isnanl: New file.
37074         * lib/isnanl.h: New file.
37075         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
37076         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
37077         gl_FUNC_ISNANL_WORKS.
37078         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
37079         New macros.
37080
37081 2007-03-21  Bruno Haible  <bruno@clisp.org>
37082
37083         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
37084         lib/isnanl.h.
37085         (Include): Update.
37086         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
37087         * lib/vasnprintf.c: Update.
37088         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
37089         tests/test-isnanl.h, remove tests/test-isnanl.c.
37090         (Makefile.am): Update.
37091         * tests/test-isnanl-nolibm.c: New file.
37092         * tests/test-isnanl.h: New file.
37093         * tests/test-isnanl.c: Remove file.
37094
37095 2007-03-21  Jim Meyering  <jim@meyering.net>
37096
37097         When trying to open ".", treat ESTALE like EACCES.
37098         * lib/savewd.c (savewd_save): Resort to forking not just upon
37099         failure with EACCES, but also when errno is ESTALE.
37100
37101 2007-03-20  Bruno Haible  <bruno@clisp.org>
37102
37103         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
37104         Needed on AIX 5.1. Reported by Matthew Woehlke.
37105
37106 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37107
37108         Suggestions by Bruno Haible:
37109         * lib/acl-internal.h: Include "gettext.h" rather than rolling
37110         our own.
37111         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
37112         * modules/acl (Depends-on): Add gettext.
37113
37114 2007-03-19  Bruno Haible  <bruno@clisp.org>
37115
37116         * modules/iconvme: Remove file.
37117         * lib/iconvme.h: Remove file.
37118         * lib/iconvme.c: Remove file.
37119         * m4/iconvme.m4: Remove file.
37120
37121 2007-03-19  Bruno Haible  <bruno@clisp.org>
37122
37123         * doc/relocatable-maint.texi: Break long shell script line.
37124         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37125
37126 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37127
37128         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
37129         handle file_has_acl.
37130         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
37131         * lib/acl.c: Move header inclusions and related macro defns into
37132         lib/acl-internal.h.
37133         (S_ISLNK): Remove defn, since that's now done for us.
37134         (file_has_acl): Move to lib/file-has-acl.c.
37135         Call acl_trivial if available.  This is the crucial part of the fix.
37136         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
37137         shared within the library.  Rewrite a bit, partly to make it compatible
37138         with the GNU coding style.
37139         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
37140         Remove unnecessary double-quotes.
37141         Don't test for acl_to_text; the build will catch that.
37142         Replace acl_entries if it doesn't exist and it is needed.
37143         Check for -lsec and acl_trivial (as used on Solaris 10).
37144         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
37145         lib/file-has-acl.c.
37146         (Depends-on): Add sys_stat, for S_ISLNK.
37147
37148 2007-03-19  Ben Pfaff  <blp@gnu.org>
37149
37150         * doc/gnulib.texi: Fix typos.
37151         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
37152
37153 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
37154
37155         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
37156         If size is zero here, buf must be zero.
37157
37158 2007-03-19  Simon Josefsson  <simon@josefsson.org>
37159
37160         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
37161         <bruno@clisp.org>.
37162
37163 2007-03-18  Bruno Haible  <bruno@clisp.org>
37164
37165         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
37166         Suggested by Eric Blake.
37167
37168 2007-03-18  Ben Pfaff  <blp@gnu.org>
37169
37170         * doc/relocatable.texi: Recommend using as prefix a directory
37171         that does not exist and will never be created.  Based on
37172         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
37173         and others.
37174
37175 2007-03-17  Bruno Haible  <bruno@clisp.org>
37176
37177         * lib/fchownat.c: Include lchown.h.
37178
37179 2007-03-17  Bruno Haible  <bruno@clisp.org>
37180
37181         Fix endless loop when the given allocated size was > INT_MAX.
37182         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
37183         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
37184         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
37185         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
37186         * lib/sprintf.c (sprintf): Likewise.
37187
37188 2007-03-17  Bruno Haible  <bruno@clisp.org>
37189
37190         * tests/test-argp-2.sh (func_compare): Output a context diff.
37191
37192 2007-03-17  Bruno Haible  <bruno@clisp.org>
37193
37194         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
37195         locale's decimal-point character.
37196
37197 2007-03-17  Bruno Haible  <bruno@clisp.org>
37198
37199         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
37200         before comparing it. Needed because on some platforms (e.g. x86) a
37201         'long double' occupies less bytes than sizeof (long double).
37202
37203 2007-03-17  Bruno Haible  <bruno@clisp.org>
37204
37205         * tests/test-crc.c (main): Make printf statements 64-bit clean.
37206         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
37207         * tests/test-getaddrinfo.c (simple): Likewise.
37208         * tests/test-read-file.c (main): Likewise.
37209
37210 2007-03-17  Bruno Haible  <bruno@clisp.org>
37211
37212         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
37213
37214 2007-03-17  Bruno Haible  <bruno@clisp.org>
37215
37216         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
37217         unused variable.
37218
37219 2007-03-17  Bruno Haible  <bruno@clisp.org>
37220
37221         * tests/test-c-strcasecmp.c: Include c-strcase.h.
37222         * tests/test-c-strncasecmp.c: Likewise.
37223
37224 2007-03-17  Bruno Haible  <bruno@clisp.org>
37225
37226         * modules/stdlib (Depends-on): Add unistd.
37227         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
37228         Needed for MacOS X 10.3.
37229
37230 2007-03-17  Bruno Haible  <bruno@clisp.org>
37231
37232         * lib/unistr/u-strdup.h: Include <stdlib.h>.
37233
37234 2007-03-17  Bruno Haible  <bruno@clisp.org>
37235
37236         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
37237
37238 2007-03-17  Bruno Haible  <bruno@clisp.org>
37239
37240         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
37241         to reflect files copied from gnulib (with or without modifications).
37242         Suggested by Jim Meyering.
37243
37244 2007-03-17  Eric Blake  <ebb9@byu.net>
37245
37246         * NEWS: Document stdlib change from 2007-02-18.
37247
37248 2007-03-17  Jim Meyering  <jim@meyering.net>
37249
37250         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
37251         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
37252         someone uses a name containing shell meta-characters.
37253         Reported by Alfred M. Szmidt.
37254
37255         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
37256
37257 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37258
37259         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
37260         and copy gettext configuration files only if configure.ac contains
37261         a use of AM_GNU_GETTEXT_VERSION.
37262
37263 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
37264
37265         * build-aux/bootstrap (gnulib_name): New variable.
37266         (gnulib_tool_options): Use it.
37267
37268 2007-03-13  Simon Josefsson  <simon@josefsson.org>
37269
37270         * tests/test-des.c: Use new namespace.
37271
37272 2007-03-15  Bruno Haible  <bruno@clisp.org>
37273
37274         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
37275         Reported by James Youngman <jay@gnu.org>.
37276
37277 2007-03-15  Bruno Haible  <bruno@clisp.org>
37278
37279         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
37280         declared prototype. Needed with cc on OSF/1 5.1.
37281
37282 2007-03-15  Bruno Haible  <bruno@clisp.org>
37283
37284         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
37285         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
37286         (struct gl_list_implementation): Add dispose_fn argument to the
37287         'create_empty', 'create' methods.
37288         (struct gl_list_impl_base): Add field 'dispose_fn'.
37289         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
37290         argument.
37291         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
37292         dispose_fn argument.
37293         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
37294         dispose_fn on the dropped values.
37295         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
37296         dispose_fn argument.
37297         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
37298         dropped values.
37299         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
37300         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37301         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
37302         (gl_tree_remove_node): Call dispose_fn on the dropped value.
37303         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
37304         argument.
37305         (gl_tree_list_free): Call dispose_fn on the dropped values.
37306         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
37307         the dropped values.
37308         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37309         Add dispose_fn argument.
37310         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
37311         Call dispose_fn on the dropped values.
37312         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
37313         Add dispose_fn argument.
37314         (gl_sublist_create): Initialize the 'dispose_fn' field.
37315         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
37316         * tests/test-array_list.c (main): Update.
37317         * tests/test-carray_list.c (main): Update.
37318         * tests/test-avltree_list.c (main): Update.
37319         * tests/test-rbtree_list.c (main): Update.
37320         * tests/test-avltreehash_list.c (main): Update.
37321         * tests/test-rbtreehash_list.c (main): Update.
37322         * tests/test-linked_list.c (main): Update.
37323         * tests/test-linkedhash_list.c (main): Update.
37324         * tests/test-array_oset.c (main): Update.
37325
37326 2007-03-15  Bruno Haible  <bruno@clisp.org>
37327
37328         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
37329         (gl_oset_create_empty): Add dispose_fn argument.
37330         (struct gl_oset_implementation): Add dispose_fn argument to
37331         'create_empty' method.
37332         (struct gl_oset_impl_base): Add dispose_fn field.
37333         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
37334         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
37335         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
37336         values.
37337         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
37338         (gl_tree_oset_free): Call dispose_fn on the dropped values.
37339         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37340         dropped value.
37341         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
37342         dropped value.
37343         * tests/test-array_oset.c (main): Update.
37344         * tests/test-avltree_oset.c (main): Update.
37345         * tests/test-rbtree_oset.c (main): Update.
37346         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
37347
37348 2007-03-13  Bruno Haible  <bruno@clisp.org>
37349
37350         * tests/test-stdbool.c (i): Update after last patch.
37351
37352 2007-03-12  Bruno Haible  <bruno@clisp.org>
37353
37354         * lib/quotearg.c: Include <wctype.h> early, before the definition of
37355         the iswprint macro. Needed on Solaris 2.5.1.
37356
37357 2007-03-12  Bruno Haible  <bruno@clisp.org>
37358
37359         * tests/test-printf-frexp.c (main): Declare x as volatile.
37360
37361 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37362
37363         * doc/gnulib.texi (Build robot for gnulib): New section.
37364
37365 2007-03-12  Jim Meyering  <jim@meyering.net>
37366
37367         * build-aux/bootstrap: New file.
37368         * build-aux/bootstrap.conf: New file, from coreutils.
37369
37370 2007-03-11  Bruno Haible  <bruno@clisp.org>
37371
37372         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
37373
37374 2007-03-12  Simon Josefsson  <simon@josefsson.org>
37375
37376         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
37377         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
37378         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
37379
37380 2007-03-11  Bruno Haible  <bruno@clisp.org>
37381
37382         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
37383         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
37384
37385 2007-03-11  Bruno Haible  <bruno@clisp.org>
37386
37387         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
37388         formula. Needed for SunPRO C 5.0.
37389
37390 2007-03-11  Bruno Haible  <bruno@clisp.org>
37391
37392         * modules/long-options (Depends-on): Add getopt.
37393
37394 2007-03-11  Bruno Haible  <bruno@clisp.org>
37395
37396         * modules/modechange (Depends-on): Add stdbool.
37397
37398 2007-03-11  Bruno Haible  <bruno@clisp.org>
37399
37400         * modules/i-ring (Depends-on): Add stdbool.
37401
37402 2007-03-11  Bruno Haible  <bruno@clisp.org>
37403
37404         * modules/gc-des (Depends-on): Add stdbool.
37405
37406 2007-03-11  Bruno Haible  <bruno@clisp.org>
37407
37408         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
37409
37410 2007-03-11  Bruno Haible  <bruno@clisp.org>
37411
37412         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
37413
37414 2007-03-11  Bruno Haible  <bruno@clisp.org>
37415
37416         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
37417
37418 2007-03-11  Bruno Haible  <bruno@clisp.org>
37419
37420         * lib/vasnprintf.c (sprintf): Undefine.
37421
37422 2007-03-11  Bruno Haible  <bruno@clisp.org>
37423
37424         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
37425         initializers in SunPRO C and Compaq C compilers.
37426
37427 2007-03-11  Bruno Haible  <bruno@clisp.org>
37428
37429         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
37430         decrementing code ANSI C compliant.
37431
37432 2007-03-11  Bruno Haible  <bruno@clisp.org>
37433
37434         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
37435         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
37436
37437 2007-03-11  Bruno Haible  <bruno@clisp.org>
37438
37439         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
37440         <stdbool.h> substitute doesn't pass.
37441
37442 2007-03-11  Bruno Haible  <bruno@clisp.org>
37443
37444         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
37445
37446 2007-03-11  Bruno Haible  <bruno@clisp.org>
37447
37448         * gnulib-tool (func_create_megatestdir): Create also an autobuild
37449         script, for submission to autobuild.josefsson.org.
37450
37451 2007-03-10  Bruno Haible  <bruno@clisp.org>
37452
37453         * modules/canonicalize-lgpl-tests: New file.
37454         * tests/test-canonicalize-lgpl.sh: New file.
37455         * tests/test-canonicalize-lgpl.c: New file.
37456
37457         * modules/c-strcase-tests: New file.
37458         * tests/test-c-strcase.sh: New file.
37459         * tests/test-c-strcasecmp.c: New file.
37460         * tests/test-c-strncasecmp.c: New file.
37461
37462         * modules/atexit-tests: New file.
37463         * tests/test-atexit.sh: New file.
37464         * tests/test-atexit.c: New file.
37465
37466 2007-03-10  Bruno Haible  <bruno@clisp.org>
37467
37468         * tests/test-binary-io.sh: Use temporary filenames that are not so
37469         likely to clash with those of other tests (in a parallel make).
37470         * tests/test-binary-io.c: Likewise.
37471
37472 2007-03-10  Bruno Haible  <bruno@clisp.org>
37473
37474         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
37475         fallback; use #error instead.
37476         Suggested by Simon Josefsson.
37477
37478 2007-03-10  Bruno Haible  <bruno@clisp.org>
37479
37480         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
37481         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
37482         first and the last.
37483
37484 2007-03-10  Bruno Haible  <bruno@clisp.org>
37485
37486         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
37487
37488 2007-03-10  Bruno Haible  <bruno@clisp.org>
37489
37490         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
37491         "make distcheck".
37492         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
37493         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
37494         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
37495
37496 2007-03-10  Bruno Haible  <bruno@clisp.org>
37497
37498         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
37499         variable.
37500         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
37501         variable.
37502
37503 2007-03-09  Eric Blake  <ebb9@byu.net>
37504         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
37505
37506         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
37507         types are not being provided by gnulib.
37508         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
37509         types are supported.
37510
37511 2007-03-10  Bruno Haible  <bruno@clisp.org>
37512
37513         * lib/stdio_.h (__attribute__): New macro.
37514         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
37515         vsprintf): Specify __attribute__ __format__ for GCC.
37516         Suggested by Eric Blake.
37517
37518 2007-03-09  Bruno Haible  <bruno@clisp.org>
37519
37520         * modules/printf-posix-tests: New file.
37521         * tests/test-printf-posix.sh: New file.
37522         * tests/test-printf-posix.c: New file.
37523
37524         * modules/printf-posix: New file.
37525         * lib/printf.c: New file.
37526         * m4/printf-posix-rpl.m4: New file.
37527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
37528         REPLACE_PRINTF.
37529         * lib/stdio_.h (printf): New declaration.
37530         (format, __format__, ____printf____, ____scanf____, ____strftime____,
37531         ____strfmon____): New macros.
37532         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
37533         REPLACE_PRINTF.
37534
37535 2007-03-09  Bruno Haible  <bruno@clisp.org>
37536
37537         * tests/test-vasnprintf-posix2.sh: New file.
37538         * tests/test-vasnprintf-posix2.c: New file.
37539         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
37540         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37541         (Makefile.am): Activate test-vasnprintf-posix2.sh.
37542
37543         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
37544         a locale dependent decimal point, rather than always '.'.
37545
37546 2007-03-09  Eric Blake  <ebb9@byu.net>
37547
37548         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
37549         spite of platforms like Tandem/NSK that define it to -1.
37550
37551 2007-03-08  Bruno Haible  <bruno@clisp.org>
37552
37553         * modules/vprintf-posix-tests: New file.
37554         * tests/test-vprintf-posix.sh: New file.
37555         * tests/test-vprintf-posix.c: New file.
37556         * tests/test-printf-posix.h: New file.
37557
37558         * modules/vprintf-posix: New file.
37559         * lib/vprintf.c: New file.
37560         * m4/vprintf-posix.m4: New file.
37561         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
37562         REPLACE_VPRINTF.
37563         * lib/stdio_.h (vprintf): New declaration.
37564         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
37565         REPLACE_VPRINTF.
37566
37567 2007-03-08  Bruno Haible  <bruno@clisp.org>
37568
37569         * modules/fprintf-posix-tests: New file.
37570         * tests/test-fprintf-posix.sh: New file.
37571         * tests/test-fprintf-posix.c: New file.
37572
37573         * modules/fprintf-posix: New file.
37574         * lib/fprintf.c: New file.
37575         * m4/fprintf-posix.m4: New file.
37576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
37577         REPLACE_FPRINTF.
37578         * lib/stdio_.h (fprintf): New declaration.
37579         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
37580         REPLACE_FPRINTF.
37581
37582 2007-03-08  Bruno Haible  <bruno@clisp.org>
37583
37584         * modules/vfprintf-posix-tests: New file.
37585         * tests/test-vfprintf-posix.sh: New file.
37586         * tests/test-vfprintf-posix.c: New file.
37587         * tests/test-fprintf-posix.h: New file.
37588         * tests/test-fprintf-posix.out: New file.
37589
37590         * modules/vfprintf-posix: New file.
37591         * lib/vfprintf.c: New file.
37592         * m4/vfprintf-posix.m4: New file.
37593         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
37594         REPLACE_VFPRINTF.
37595         * lib/stdio_.h (vfprintf): New declaration.
37596         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
37597         REPLACE_VFPRINTF.
37598
37599 2007-03-08  Bruno Haible  <bruno@clisp.org>
37600
37601         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
37602
37603 2007-03-08  Bruno Haible  <bruno@clisp.org>
37604
37605         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
37606         instead of 'expr' invocations.
37607         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37608         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37609         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37610         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37611         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37612         Suggested by Paul Eggert.
37613
37614 2007-03-08  Bruno Haible  <bruno@clisp.org>
37615
37616         * modules/fseterr-tests: New file.
37617         * tests/test-fseterr.c: New file.
37618
37619         * modules/fseterr: New file.
37620         * lib/fseterr.h: New file.
37621         * lib/fseterr.c: New file.
37622
37623 2007-03-08  Bruno Haible  <bruno@clisp.org>
37624
37625         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
37626         * lib/getopt_.h: Likewise.
37627         * lib/mbswidth.h: Likewise.
37628         * lib/setenv.h: Likewise.
37629         * lib/vasnprintf.h: Likewise.
37630         * lib/vasprintf.h: Likewise.
37631         * lib/verror.h: Likewise.
37632         * lib/xsetenv.h: Likewise.
37633         * lib/xvasprintf.h: Likewise.
37634
37635 2007-03-08  Jim Meyering  <jim@meyering.net>
37636
37637         * users.txt: Add parted.
37638
37639         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
37640
37641 2007-03-07  Bruno Haible  <bruno@clisp.org>
37642
37643         * m4/printf.m4: Make the shell script snippets copy&pastable.
37644
37645 2007-03-02  Bruno Haible  <bruno@clisp.org>
37646
37647         * lib/netinet_in_.h: New file.
37648         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
37649         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
37650         * modules/netinet_in (Files): Add lib/netinet_in_.h.
37651         (Depends-on): Add absolute-header.
37652         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
37653         into netinet/in.h.
37654
37655 2007-03-03  Bruno Haible  <bruno@clisp.org>
37656
37657         * lib/sys_select_.h: New file.
37658         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
37659         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
37660         * modules/sys_select (Files): Add lib/sys_select_.h.
37661         (Depends-on): Add absolute-header.
37662         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
37663         into sys/select.h.
37664
37665 2007-03-02  Bruno Haible  <bruno@clisp.org>
37666
37667         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
37668         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
37669         values.
37670         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
37671         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
37672         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
37673         * modules/sys_socket (Depends-on): Add absolute-header.
37674         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
37675         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
37676         (Include): Remove requirement of inclusion of <sys/types.h>.
37677
37678 2007-03-02  Bruno Haible  <bruno@clisp.org>
37679
37680         * lib/byteswap_.h (bswap_32): Fix formula.
37681
37682 2007-03-06  Bruno Haible  <bruno@clisp.org>
37683
37684         * modules/sprintf-posix-tests: New file.
37685         * tests/test-sprintf-posix.c: New file.
37686
37687         * modules/sprintf-posix: New file.
37688         * lib/sprintf.c: New file.
37689         * m4/sprintf-posix.m4: New file.
37690         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
37691         REPLACE_SPRINTF.
37692         * lib/stdio_.h (sprintf): New declaration.
37693         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
37694         REPLACE_SPRINTF.
37695
37696 2007-03-06  Bruno Haible  <bruno@clisp.org>
37697
37698         * modules/vsprintf-posix-tests: New file.
37699         * tests/test-vsprintf-posix.c: New file.
37700         * tests/test-sprintf-posix.h: New file.
37701
37702         * modules/vsprintf-posix: New file.
37703         * lib/vsprintf.c: New file.
37704         * m4/vsprintf-posix.m4: New file.
37705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
37706         REPLACE_VSPRINTF.
37707         * lib/stdio_.h (vsprintf): New declaration.
37708         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
37709         REPLACE_VSPRINTF.
37710
37711 2007-03-06  Bruno Haible  <bruno@clisp.org>
37712
37713         * modules/vsnprintf (Depend-on): Remove minmax.
37714
37715 2007-03-06  Bruno Haible  <bruno@clisp.org>
37716
37717         * modules/snprintf-posix-tests: New file.
37718         * tests/test-snprintf-posix.c: New file.
37719
37720         * modules/snprintf-posix: New file.
37721         * m4/snprintf-posix.m4: New file.
37722         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
37723         gl_FUNC_SNPRINTF.
37724         (gl_FUNC_SNPRINTF): Invoke it.
37725         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
37726         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
37727         is set.
37728         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
37729
37730 2007-03-06  Bruno Haible  <bruno@clisp.org>
37731
37732         * modules/vsnprintf-posix-tests: New file.
37733         * tests/test-vsnprintf-posix.c: New file.
37734         * tests/test-snprintf-posix.h: New file.
37735
37736         * modules/vsnprintf-posix: New file.
37737         * m4/vsnprintf-posix.m4: New file.
37738         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
37739         gl_FUNC_VSNPRINTF.
37740         (gl_FUNC_VSNPRINTF): Invoke it.
37741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
37742         * lib/stdio_.h (vsnprintf): Define as a replacement if
37743         REPLACE_VSNPRINTF is set.
37744         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
37745
37746 2007-03-06  Bruno Haible  <bruno@clisp.org>
37747
37748         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
37749         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
37750
37751 2007-03-06  Bruno Haible  <bruno@clisp.org>
37752
37753         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
37754         (asinl): Declare also if HAVE_DECL_ASINL is set.
37755         (atanl): Declare also if HAVE_DECL_ATANL is set.
37756         (ceill): Declare also if HAVE_DECL_CEILL is set.
37757         (cosl): Declare also if HAVE_DECL_COSL is set.
37758         (expl): Declare also if HAVE_DECL_EXPL is set.
37759         (floorl): Declare also if HAVE_DECL_FLOORL is set.
37760         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
37761         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
37762         (logl): Declare also if HAVE_DECL_LOGL is set.
37763         (sinl): Declare also if HAVE_DECL_SINL is set.
37764         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
37765         (tanl): Declare also if HAVE_DECL_TANL is set.
37766         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
37767         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
37768         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
37769         declaration of frexpl, ldexpl.
37770         * modules/printf-frexpl (Depends-on): Add math.
37771         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
37772
37773 2007-03-05  Bruno Haible  <bruno@clisp.org>
37774
37775         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
37776         frexpl and ldexpl are declared.
37777         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
37778
37779 2007-03-05  Bruno Haible  <bruno@clisp.org>
37780
37781         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
37782         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
37783
37784 2007-03-05  Bruno Haible  <bruno@clisp.org>
37785
37786         * lib/stdio_.h: Include <stddef.h>.
37787
37788 2007-03-05  Bruno Haible  <bruno@clisp.org>
37789
37790         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
37791
37792 2007-03-05  Bruno Haible  <bruno@clisp.org>
37793
37794         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
37795         NetBSD 4, from Ralf Wildenhues.
37796
37797 2007-03-04  Bruno Haible  <bruno@clisp.org>
37798
37799         * lib/vasprintf.h: Update #if logic for the case when the functions
37800         exist but are overridden.
37801
37802 2007-03-04  Bruno Haible  <bruno@clisp.org>
37803
37804         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
37805         implementations: glibc-2.4 and MacOS X 10.3.
37806         * tests/test-vasnprintf-posix.c (test_function): Test also the case
37807         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
37808         * tests/test-vasprintf-posix.c (test_function): Likewise.
37809
37810 2007-03-04  Bruno Haible  <bruno@clisp.org>
37811
37812         * modules/vasprintf-posix-tests: New file.
37813         * tests/test-vasprintf-posix.c: New file.
37814
37815         * modules/vasprintf-posix: New file.
37816         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
37817         defined.
37818         * m4/vasprintf-posix.m4: New file.
37819         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
37820         gl_FUNC_VASPRINTF.
37821         (gl_FUNC_VASPRINTF): Invoke it.
37822         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
37823         here.
37824         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
37825
37826 2007-03-04  Bruno Haible  <bruno@clisp.org>
37827
37828         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
37829         REPLACE_GETTIMEOFDAY.
37830         * modules/sys_time (Makefile.am): Likewise.
37831         * m4/sys_time_h.m4: Likewise.
37832         * m4/gettimeofday.m4: Likewise.
37833
37834 2007-03-04  Bruno Haible  <bruno@clisp.org>
37835
37836         * modules/vasnprintf-posix-tests: New file.
37837         * tests/test-vasnprintf-posix.c: New file.
37838
37839         * modules/vasnprintf-posix: New file.
37840         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
37841         printf-frexpl.h.
37842         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
37843         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
37844         REPLACE_VASNPRINTF is defined.
37845         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
37846         gl_FUNC_VASNPRINTF.
37847         (gl_FUNC_VASNPRINTF): Invoke it.
37848         * m4/vasnprintf-posix.m4: New file.
37849         * m4/printf.m4: New file.
37850
37851 2007-03-04  Bruno Haible  <bruno@clisp.org>
37852
37853         Compile progreloc.c only if --enable-relocatable is specified.
37854         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
37855         if --enable-relocatable was specified.
37856         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
37857         lib_SOURCES.
37858
37859 2007-03-04  Jim Meyering  <jim@meyering.net>
37860
37861         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
37862         Use it consistently, rather than enumerating errno constants.
37863
37864 2007-03-04  Bruno Haible  <bruno@clisp.org>
37865
37866         * modules/xvasprintf-tests: New file.
37867         * tests/test-xvasprintf.c: New file.
37868
37869         * modules/vasprintf-tests: New file.
37870         * tests/test-vasprintf.c: New file.
37871
37872         * modules/vasnprintf-tests: New file.
37873         * tests/test-vasnprintf.c: New file.
37874
37875         * modules/vsnprintf-tests: New file.
37876         * tests/test-vsnprintf.c: New file.
37877
37878         * modules/snprintf-tests: New file.
37879         * tests/test-snprintf.c: New file.
37880
37881 2007-03-04  Bruno Haible  <bruno@clisp.org>
37882
37883         Compile relocatable.c only if --enable-relocatable is specified.
37884         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
37885         gl_RELOCATABLE_LIBRARY.
37886         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
37887         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
37888         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
37889         gl_RELOCATABLE_LIBRARY.
37890         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
37891         (Makefile.am): Remove lib_SOURCES.
37892         * modules/relocatable-lib-lgpl (configure.ac): Invoke
37893         gl_RELOCATABLE_LIBRARY.
37894         (Makefile.am): Remove lib_SOURCES.
37895         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
37896         always.
37897         * modules/relocatable-prog-wrapper (configure.ac): Invoke
37898         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
37899
37900 2007-03-04  Bruno Haible  <bruno@clisp.org>
37901
37902         * modules/argmatch-tests: New file.
37903         * tests/test-argmatch.c: New file.
37904
37905         * tests/test-allocsa.c (main): Halve the number of loop runs.
37906
37907         * modules/alloca-opt-tests: New file.
37908         * tests/test-alloca-opt.c: New file.
37909
37910 2007-03-04  Jim Meyering  <jim@meyering.net>
37911
37912         Work around difference between Linux ACLs and Solaris 10 ZFS.
37913         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
37914         for EINVAL.
37915
37916 2007-03-03  Bruno Haible  <bruno@clisp.org>
37917
37918         * modules/relocatable-prog (Depends-on): Add back progreloc's
37919         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
37920
37921 2007-03-03  Bruno Haible  <bruno@clisp.org>
37922
37923         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
37924         * modules/relocatable-lib: New file.
37925
37926 2007-03-03  Bruno Haible  <bruno@clisp.org>
37927
37928         * modules/relocatable-prog: Renamed from modules/relocatable.
37929         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
37930
37931 2007-03-03  Bruno Haible  <bruno@clisp.org>
37932
37933         * modules/relocatable-script (Files): Add doc/relocatable.texi,
37934         m4/relocatable-lib.m4.
37935         (Depends-on): Remove 'relocatable'.
37936         (configure.ac): Add gl_RELOCATABLE_NOP.
37937
37938 2007-03-03  Bruno Haible  <bruno@clisp.org>
37939
37940         * modules/relocatable-prog-wrapper: New file.
37941         * modules/relocatable (Depends-on): Add it. Remove all other
37942         dependencies except progname.
37943         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
37944
37945         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
37946         (gl_FUNC_STRERROR): Nop.
37947         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
37948
37949         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
37950         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
37951
37952         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
37953         (gl_FUNC_READLINK): Update.
37954
37955         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
37956
37957 2007-03-03  Bruno Haible  <bruno@clisp.org>
37958
37959         * lib/xreadlink.c: Include <unistd.h> unconditionally.
37960         * modules/xreadlink (Depends-on): Add unistd.
37961         * modules/xreadlink-with-size (Depends-on): Likewise.
37962
37963 2007-03-03  Bruno Haible  <bruno@clisp.org>
37964
37965         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
37966         extracted from gt_FUNC_SETENV.
37967         (gt_FUNC_SETENV): Remove macro.
37968         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
37969         remove gt_FUNC_SETENV.
37970
37971 2007-03-03  Bruno Haible  <bruno@clisp.org>
37972
37973         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
37974         ENABLE_RELOCATABLE here.
37975         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
37976
37977 2007-03-03  Bruno Haible  <bruno@clisp.org>
37978
37979         * modules/rbtreehash-list-tests (Depends-on): Add progname.
37980         * tests/test-rbtreehash_list.c: Include progname.h.
37981         (main): Call set_program_name.
37982
37983         * modules/rbtree-oset-tests (Depends-on): Add progname.
37984         * tests/test-rbtree_oset.c: Include progname.h.
37985         (main): Call set_program_name.
37986
37987         * modules/rbtree-list-tests (Depends-on): Add progname.
37988         * tests/test-rbtree_list.c: Include progname.h.
37989         (main): Call set_program_name.
37990
37991         * modules/linked-list-tests (Depends-on): Add progname.
37992         * tests/test-linked_list.c: Include progname.h.
37993         (main): Call set_program_name.
37994
37995 2007-03-03  Bruno Haible  <bruno@clisp.org>
37996
37997         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
37998         All uses of __restrict changed to _Restrict_.
37999         * lib/glob_.h (__restrict): Remove macro.
38000
38001 2007-03-02  Bruno Haible  <bruno@clisp.org>
38002
38003         * modules/gettext (configure.ac): Require gettext infrastructure
38004         from version 0.16.1.
38005
38006 2007-03-02  Bruno Haible  <bruno@clisp.org>
38007
38008         * modules/linkedhash-list-tests (Depends-on): Add progname.
38009         * tests/test-linkedhash_list.c: Include progname.h.
38010         (main): Call set_program_name.
38011
38012         * modules/carray-list-tests (Depends-on): Add progname.
38013         * tests/test-carray_list.c: Include progname.h.
38014         (main): Call set_program_name.
38015
38016         * modules/avltreehash-list-tests (Depends-on): Add progname.
38017         * tests/test-avltreehash_list.c: Include progname.h.
38018         (main): Call set_program_name.
38019
38020         * modules/avltree-oset-tests (Depends-on): Add progname.
38021         * tests/test-avltree_oset.c: Include progname.h.
38022         (main): Call set_program_name.
38023
38024         * modules/avltree-list-tests (Depends-on): Add progname.
38025         * tests/test-avltree_list.c: Include progname.h.
38026         (main): Call set_program_name.
38027
38028         * modules/array-oset-tests (Depends-on): Add progname.
38029         * tests/test-array_oset.c: Include progname.h.
38030         (main): Call set_program_name.
38031
38032         * modules/array-list-tests (Depends-on): Add progname.
38033         * tests/test-array_list.c: Include progname.h.
38034         (main): Call set_program_name.
38035
38036         * modules/argp-tests (Depends-on): Add progname.
38037         * tests/test-argp.c: Include argp.h first. Include progname.h.
38038         (main): Call set_program_name.
38039
38040 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
38041
38042         * doc/gnulib-tool.texi (Initial import): Reword description of
38043         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
38044         limited effect even if defined after the first system include.
38045
38046 2007-03-01  Bruno Haible  <bruno@clisp.org>
38047
38048         * build-aux/config.libpath: Update to libtool-1.5.22.
38049         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38050
38051 2007-03-01  Bruno Haible  <bruno@clisp.org>
38052
38053         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
38054         foo_CFLAGS.
38055         Reported by Ralf Wildenhues.
38056
38057 2007-03-01  Bruno Haible  <bruno@clisp.org>
38058
38059         * build-aux/install-reloc: Remove object files left over by some
38060         compilers.
38061         Reported by Ralf Wildenhues.
38062
38063 2007-03-01  Bruno Haible  <bruno@clisp.org>
38064
38065         * build-aux/install-reloc: Break long lines.
38066
38067 2007-03-01  Bruno Haible  <bruno@clisp.org>
38068
38069         * doc/relocatable.texi: Document that it may not work on OpenBSD.
38070         Reported by Ralf Wildenhues.
38071
38072 2007-03-01  Bruno Haible  <bruno@clisp.org>
38073
38074         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
38075         include ordering constraints.
38076
38077 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
38078
38079         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
38080         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
38081         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
38082         as another example.
38083         * lib/time_.h: Fix misspelling.
38084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
38085         Require gl_HEADER_TIME_H_DEFAULTS.
38086         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
38087         * m4/time_r.m4 (gl_TIME_R): Likewise.
38088         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
38089
38090 2007-03-01  Bruno Haible  <bruno@clisp.org>
38091
38092         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
38093         * m4/utimens.m4 (gl_UTIMENS): Likewise.
38094
38095 2007-03-01  Jim Meyering  <jim@meyering.net>
38096
38097         * modules/xreadlink (Maintainer): Add my name.
38098         * modules/xreadlink-with-size (Depends-on): Alphabetize.
38099
38100 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
38101             Bruno Haible  <bruno@clisp.org>
38102
38103         * build-aux/install-reloc: Compile also c-ctype.c.
38104         * build-aux/relocatable.sh.in: New file.
38105         * doc/relocatable.texi: New file.
38106         * doc/relocatable-maint.texi: New file.
38107         * doc/gnulib.texi: Include relocatable-maint.texi.
38108         * lib/progreloc.c: Include unistd.h unconditionally.
38109         * lib/relocwrapper.c: Include unistd.h unconditionally.
38110         Include c-ctype.h.
38111         (add_dotbin): Use c_tolower.
38112         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
38113         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
38114         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
38115         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
38116         to m4/relocatable-lib.m4.
38117         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
38118         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
38119         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
38120         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
38121         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
38122         * modules/relocatable: New file.
38123         * modules/relocatable-lib: New file.
38124         * modules/relocatable-script: New file.
38125
38126 2007-02-28  Bruno Haible  <bruno@clisp.org>
38127
38128         Import --enable-relocatable infrastructure.
38129         * build-aux/config.libpath: New file, from GNU gettext.
38130         * build-aux/install-reloc: New file, from GNU gettext.
38131         * build-aux/reloc-ldflags: New file, from GNU gettext.
38132         * lib/relocatable.h: New file, from GNU gettext.
38133         * lib/relocatable.c: New file, from GNU gettext.
38134         * lib/relocwrapper.c: New file, from GNU gettext.
38135         * m4/relocatable.m4: New file, from GNU gettext.
38136
38137 2007-02-28  Bruno Haible  <bruno@clisp.org>
38138
38139         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
38140
38141         * modules/xreadlink: New file, from GNU gettext with modifications.
38142         * lib/xreadlink.c: New file, from GNU gettext.
38143         * lib/xreadlink.h: Add comments.
38144         (xreadlink): New declaration.
38145
38146         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
38147         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
38148         lib/xreadlink-with-size.c.
38149         (configure.ac): Remove gl_XREADLINK invocation.
38150         (Makefile.am): Augment lib_SOURCES.
38151         * m4/xreadlink.m4: Remove file.
38152         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
38153         (xreadlink_with_size): Renamed from xreadink.
38154         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
38155         * modules/canonicalize (Depends-on): Replace xreadlink with
38156         xreadlink-with-size.
38157         * lib/canonicalize.c (canonicalize_filename_mode): Update.
38158
38159 2007-02-25  Jim Meyering  <jim@meyering.net>
38160
38161         * build-aux/announce-gen: When complaining about excess arguments,
38162         list them.
38163
38164 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
38165
38166         * README: Document signed integer overflow situation more
38167         accurately.
38168
38169 2007-02-25  Bruno Haible  <bruno@clisp.org>
38170
38171         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
38172         'a' or 'A' conversion.
38173
38174 2007-02-25  Bruno Haible  <bruno@clisp.org>
38175
38176         * modules/filename: Renamed from modules/pathname.
38177         (Files): Replace lib/pathname.h with lib/filename.h. Replace
38178         lib/concatpath.c with lib/concat-filename.c.
38179         (Makefile.am): Update.
38180         (Include): Replace pathname.h with filename.h.
38181         * lib/filename.h: Renamed from lib/pathname.h.
38182         (concatenated_filename): Renamed from concatenated_pathname.
38183         * lib/concat-filename.c: Renamed from lib/concatpath.c.
38184         (concatenated_filename): Renamed from concatenated_pathname.
38185         * lib/findprog.c: Include filename.h instead of pathname.h.
38186         (find_in_path): Update.
38187         * lib/javacomp.c: Include filename.h instead of pathname.h.
38188         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
38189         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
38190         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
38191         is_oldgcj_14_13_usable, is_javac_usable): Update.
38192         * lib/javaexec.c: Include filename.h instead of pathname.h.
38193         (execute_java_class): Update.
38194         * modules/findprog: Update.
38195         * modules/javacomp: Update.
38196         * modules/javaexec: Update.
38197         * MODULES.html.sh (File system functions): Add 'filename', remove
38198         'pathname'.
38199
38200 2007-02-25  Bruno Haible  <bruno@clisp.org>
38201
38202         * modules/printf-frexpl-tests: New file.
38203         * tests/test-printf-frexpl.c: New file.
38204
38205         * modules/printf-frexpl: New file.
38206         * lib/printf-frexpl.h: New file.
38207         * lib/printf-frexpl.c: New file.
38208         * m4/printf-frexpl.m4: New file.
38209
38210 2007-02-25  Bruno Haible  <bruno@clisp.org>
38211
38212         * modules/printf-frexp-tests: New file.
38213         * tests/test-printf-frexp.c: New file.
38214
38215         * modules/printf-frexp: New file.
38216         * lib/printf-frexp.h: New file.
38217         * lib/printf-frexp.c: New file.
38218         * m4/printf-frexp.m4: New file.
38219
38220 2007-02-25  Bruno Haible  <bruno@clisp.org>
38221
38222         Assume automake >= 1.10 for the tests.
38223         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
38224         * modules/arctwo-tests: Likewise.
38225         * modules/argp-tests: Likewise.
38226         * modules/avltree-list-tests: Likewise.
38227         * modules/avltree-oset-tests: Likewise.
38228         * modules/avltreehash-list-tests: Likewise.
38229         * modules/carray-list-tests: Likewise.
38230         * modules/crc-tests: Likewise.
38231         * modules/des-tests: Likewise.
38232         * modules/gc-arcfour-tests: Likewise.
38233         * modules/gc-arctwo-tests: Likewise.
38234         * modules/gc-des-tests: Likewise.
38235         * modules/gc-hmac-md5-tests: Likewise.
38236         * modules/gc-hmac-sha1-tests: Likewise.
38237         * modules/gc-md2-tests: Likewise.
38238         * modules/gc-md4-tests: Likewise.
38239         * modules/gc-md5-tests: Likewise.
38240         * modules/gc-pbkdf2-sha1-tests: Likewise.
38241         * modules/gc-rijndael-tests: Likewise.
38242         * modules/gc-sha1-tests: Likewise.
38243         * modules/gc-tests: Likewise.
38244         * modules/getaddrinfo-tests: Likewise.
38245         * modules/hmac-md5-tests: Likewise.
38246         * modules/hmac-sha1-tests: Likewise.
38247         * modules/linked-list-tests: Likewise.
38248         * modules/linkedhash-list-tests: Likewise.
38249         * modules/lock-tests: Likewise.
38250         * modules/md2-tests: Likewise.
38251         * modules/md4-tests: Likewise.
38252         * modules/md5-tests: Likewise.
38253         * modules/rbtree-list-tests: Likewise.
38254         * modules/rbtree-oset-tests: Likewise.
38255         * modules/rbtreehash-list-tests: Likewise.
38256         * modules/read-file-tests: Likewise.
38257         * modules/rijndael-tests: Likewise.
38258         * modules/stdint-tests: Likewise.
38259         * modules/tls-tests: Likewise.
38260
38261 2007-02-24  Bruno Haible  <bruno@clisp.org>
38262
38263         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
38264         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
38265         function; instead check whether isnan with a double argument links.
38266         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
38267         function; instead check whether isnan with a 'long double' argument
38268         links.
38269         Reported by Eric Blake <ebb9@byu.net>.
38270
38271 2007-02-24  Bruno Haible  <bruno@clisp.org>
38272
38273         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
38274         defined.
38275         * lib/isnanl.c: Remove all code. Just include isnan.c.
38276         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
38277
38278 2007-02-25  Jim Meyering  <jim@meyering.net>
38279
38280         Avoid conflicting types for 'unsetenv' on FreeBSD.
38281         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
38282         conflicting with FreeBSD's (5.0 and 6.1) function declaration
38283         in stdlib.h.
38284
38285 2007-02-24  Bruno Haible  <bruno@clisp.org>
38286
38287         * modules/isnanl-nolibm-tests: New file.
38288         * tests/test-isnanl.c: New file.
38289
38290         * modules/isnanl-nolibm: New file.
38291         * lib/isnanl.h: New file.
38292         * lib/isnanl.c: New file.
38293         * m4/isnanl.m4: New file.
38294
38295 2007-02-24  Bruno Haible  <bruno@clisp.org>
38296
38297         * modules/isnan-nolibm-tests: New file.
38298         * tests/test-isnan.c: New file.
38299
38300         * modules/isnan-nolibm: New file.
38301         * lib/isnan.h: New file.
38302         * lib/isnan.c: New file.
38303         * m4/isnan.m4: New file.
38304
38305 2007-02-24  Bruno Haible  <bruno@clisp.org>
38306
38307         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
38308         assume that an exponent fits in 20 bits.
38309
38310 2007-02-24  Jim Meyering  <jim@meyering.net>
38311
38312         * m4/regex.m4: Update the description of the configure-time option,
38313         --without-included-regex, to state accurately what the defaults are,
38314         and perhaps to give people an idea why using this option is risky.
38315
38316 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
38317
38318         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
38319         loops on small arguments.  This attempts to avoid the problem
38320         Bruno Haible reported for AIX 4.3.2 in
38321         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
38322
38323 2007-02-23  Bruno Haible  <bruno@clisp.org>
38324
38325         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
38326         Needed for help2man.
38327
38328 2007-02-23  Karl Berry  <karl@gnu.org>
38329
38330         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
38331         exists, foo.h should be cvs-ignored, not committed.
38332
38333 2007-02-23  Eric Blake  <ebb9@byu.net>
38334
38335         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
38336         * lib/stat-time.h (includes): Likewise.
38337         * lib/utimecmp.c (includes): Likewise.
38338         * lib/utimens.h (includes): Likewise.
38339         * lib/getdate.y (includes): Also include "timespec.h" for use
38340         internal to the module.
38341         * modules/utimens (Depends-on): Revert yesterday's patch.
38342         * modules/nanosleep (Depends-on): Add missing dependency.
38343
38344 2007-02-22  Bruno Haible  <bruno@clisp.org>
38345
38346         * lib/glob.c: Don't include getlogin_r.h.
38347
38348 2007-02-22  Jim Meyering  <jim@meyering.net>
38349
38350         * modules/utimens (Depends-on): Add timespec, required for
38351         utimens.h's inclusion of timespec.h.
38352
38353 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
38354
38355         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
38356         long unreadable paths in GNU/Linux.  Problem reported by Andreas
38357         Schwab in
38358         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
38359         I'll try to think of a better way to fix the Solaris problem.
38360
38361         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
38362         like glibc; on Solaris 10, it fails with errno == EINVAL.
38363         POSIX says the behavior is unspecified if the first argument is NULL,
38364         so play it safe and never pass NULL to the system getcwd.
38365
38366 2007-02-21  Jim Meyering  <jim@meyering.net>
38367
38368         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
38369         of gettimeofday.  It would conflict with the one now always
38370         provided via sys_time_.h.  Reported by Matthew Woehlke, as
38371         an IRIX 6.5 build failure.
38372
38373 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38374
38375         Minor fixups to port to Solaris 10 with Sun C 5.8.
38376         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
38377         * modules/getcwd (Depends-on): Add dirfd.
38378         * lib/putenv.c (putenv): #undef it.
38379         (rpl_putenv): New decl.
38380         (malloc, free): Include <stdlib.h> rather than prototyping separately.
38381
38382 2007-02-20  Bruno Haible  <bruno@clisp.org>
38383
38384         * modules/stdio-tests: New file.
38385         * tests/test-stdio.c: New file.
38386
38387         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
38388         (Depends-on): Add stdio.
38389         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38390         (Include): Use <stdio.h> instead of vsnprintf.h.
38391         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38392         HAVE_DECL_VSNPRINTF.
38393         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
38394
38395         * modules/snprintf (Files): Remove lib/snprintf.h.
38396         (Depends-on): Add stdio.
38397         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
38398         (Include): Use <stdio.h> instead of snprintf.h.
38399         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
38400         HAVE_DECL_SNPRINTF.
38401         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
38402         * lib/getaddrinfo.c: Likewise.
38403
38404         * modules/stdio: New file.
38405         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
38406         * lib/snprintf.h: Remove file.
38407         * lib/vsnprintf.h: Remove file.
38408         * lib/.cppi-disable: Remove snprintf.h.
38409         * m4/stdio_h.m4: New file.
38410         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
38411
38412 2007-02-20  Jim Meyering  <jim@meyering.net>
38413
38414         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
38415         used by e.g., mingw.  From Bruno Haible.
38416
38417 2007-02-19  Bruno Haible  <bruno@clisp.org>
38418
38419         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
38420         warnings.
38421         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38422
38423 2007-02-19  Bruno Haible  <bruno@clisp.org>
38424
38425         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
38426         from mingw users.
38427
38428 2007-02-19  Bruno Haible  <bruno@clisp.org>
38429
38430         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
38431         warnings.
38432         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
38433
38434 2007-02-19  Jim Meyering  <jim@meyering.net>
38435
38436         Don't use FD after a successful "fdopendir (fd)".
38437         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
38438         Reset it by calling dirfd on the just-obtained DIR*.
38439
38440         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
38441         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
38442
38443 2007-02-18  Bruno Haible  <bruno@clisp.org>
38444
38445         * lib/readlink.c: Include <unistd.h>.
38446         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
38447         HAVE_READLINK.
38448         * modules/readlink (Depends-on): Add unistd.
38449         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38450         (Include): Add <unistd.h>.
38451
38452         * lib/getlogin_r.h: Remove file.
38453         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
38454         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
38455         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
38456         HAVE_DECL_GETLOGIN_R.
38457         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
38458         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38459         (Include): Use <unistd.h> instead of getlogin_r.h.
38460
38461         * lib/getcwd.h: Remove file.
38462         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
38463         * lib/xgetcwd.c: Likewise.
38464         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
38465         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
38466         * modules/getcwd (Files): Remove lib/getcwd.h.
38467         (Depends-on): Add unistd.
38468         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38469         (Include): Use <unistd.h> instad of getcwd.h.
38470
38471         * lib/ftruncate.c: Include <unistd.h> first.
38472         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
38473         Set HAVE_FTRUNCATE.
38474         * modules/ftruncate (Depends-on): Add unistd.
38475         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38476
38477         * lib/fchdir.c: Include <unistd.h> first.
38478         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
38479         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
38480         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
38481         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38482         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
38483
38484         * lib/dup2.c: Include <unistd.h> first.
38485         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
38486         HAVE_DUP2.
38487         * modules/dup2 (Depends-on): Add unistd.
38488         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38489
38490         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
38491         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
38492         REPLACE_CHOWN. Don't define chown as a macro here.
38493         * modules/chown (Depends-on): Add unistd.
38494         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38495
38496         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
38497         Add definition for GL_LINK_WARNING.
38498         (chown, dup2): New declarations.
38499         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
38500         link warning.
38501         (ftruncate): New declaration.
38502         (getcwd): New declaration, taken from old getcwd.h.
38503         (getlogin_r): New declaration, taken from old getlogin_r.h.
38504         (readlink): New declaration.
38505         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
38506         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
38507         (gl_PREREQ_UNISTD): Remove macro.
38508         (gl_UNISTD_MODULE_INDICATOR): New macro.
38509         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
38510         many new variables. Don't set UNISTD_H.
38511         * modules/unistd (Description): Change.
38512         (Depends-on): Add link-warning.
38513         (configure.ac): Update.
38514         (Makefile.am): Create unistd.h always. Substitute many new variables
38515         into it.
38516
38517 2007-02-18  Bruno Haible  <bruno@clisp.org>
38518
38519         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
38520         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
38521         HAVE_GETSUBOPT.
38522         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
38523         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
38524         * lib/getsubopt.h: Remove file.
38525         * modules/getsubopt (Files): Remove lib/getsubopt.h.
38526         (Depends-on): Add stdlib.
38527         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38528         (Includes): Use <stdlib.h> instead of getsubopt.h.
38529         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
38530         Set HAVE_GETSUBOPT.
38531         * lib/getsubopt.c: Don't include getsubopt.h.
38532
38533 2007-02-18  Bruno Haible  <bruno@clisp.org>
38534
38535         * modules/fchdir (Depends-on): Add dup2.
38536
38537 2007-02-18  Bruno Haible  <bruno@clisp.org>
38538
38539         * lib/stdlib_.h: Handle glibc's special invocation convention
38540         specially.
38541
38542 2007-02-18  Bruno Haible  <bruno@clisp.org>
38543
38544         * modules/stdlib-tests: New file.
38545         * tests/test-stdlib.c: New file.
38546
38547         * modules/mkstemp (Files): Remove lib/mkstemp.h.
38548         (Depends-on): Add stdlib.
38549         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38550         (Includes): Use <stdlib.h> instead of mkstemp.h.
38551         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38552         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
38553         * lib/mkstemp.c: Don't include mkstemp.h.
38554         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
38555         * lib/stdlib--.h: Don't include mkstemp.h.
38556
38557         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
38558         (Depends-on): Add stdlib.
38559         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38560         (Includes): Use <stdlib.h> instead of mkdtemp.h.
38561         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
38562         HAVE_MKDTEMP.
38563         * lib/mkdtemp.c: Don't include mkdtemp.h.
38564         * lib/clean-temp.c: Don't include mkdtemp.h.
38565
38566         * modules/exit (Files): Remove lib/exit.h.
38567         (Depends-on): Add stdlib.
38568         (Makefile.am): Remove lib_SOURCES.
38569         (Include): Use <stdlib.h> instead of exit.h.
38570         * lib/argmatch.c: Don't include exit.h.
38571         * lib/execute.c: Likewise.
38572         * lib/pagealign_alloc.c: Likewise.
38573         * lib/pipe.c: Likewise.
38574         * lib/wait-process.c: Likewise.
38575         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
38576         * lib/exitfail.c: Likewise.
38577         * lib/savewd.c: Likewise.
38578         * lib/xsetenv.c: Likewise.
38579
38580         * modules/stdlib: New file.
38581         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
38582         and extra comments about mkstemp().
38583         * lib/exit.h: Remove file.
38584         * lib/mkdtemp.h: Remove file.
38585         * lib/mkstemp.h: Remove file.
38586         * m4/stdlib_h.m4: New file.
38587         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
38588
38589 2007-02-18  Bruno Haible  <bruno@clisp.org>
38590
38591         * modules/math-tests: New file.
38592         * tests/test-math.c: New file.
38593
38594         * modules/math: New file.
38595         * modules/mathl (Files): Remove lib/mathl.h.
38596         (Depends-on): Add math.
38597         (Makefile.am): Don't mention mathl.h.
38598         (Include): Use <math.h> instead of mathl.h.
38599         * lib/math_.h: New file.
38600         * lib/mathl.h: Remove file.
38601         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
38602         mathl.h.
38603         * lib/asinl.c: Likewise.
38604         * lib/atanl.c: Likewise.
38605         * lib/ceill.c: Likewise.
38606         * lib/cosl.c: Likewise.
38607         * lib/expl.c: Likewise.
38608         * lib/floorl.c: Likewise.
38609         * lib/frexpl.c: Likewise.
38610         * lib/ldexpl.c: Likewise.
38611         * lib/logl.c: Likewise.
38612         * lib/sincosl.c: Likewise.
38613         * lib/sinl.c: Likewise.
38614         * lib/sqrtl.c: Likewise.
38615         * lib/tanl.c: Likewise.
38616         * lib/trigl.c: Likewise.
38617         * m4/math_h.m4: New file.
38618         * MODULES.html.sh (Mathematics): Add math.
38619
38620 2007-02-17  Bruno Haible  <bruno@clisp.org>
38621
38622         * modules/wctype-tests: New file.
38623         * tests/test-wctype.c: New file.
38624
38625         * modules/wchar-tests: New file.
38626         * tests/test-wchar.c: New file.
38627
38628         * modules/unistd-tests: New file.
38629         * tests/test-unistd.c: New file.
38630
38631         * modules/time-tests: New file.
38632         * tests/test-time.c: New file.
38633
38634         * modules/sysexits-tests: New file.
38635         * tests/test-sysexits.c: New file.
38636
38637         * modules/sys_time-tests: New file.
38638         * tests/test-sys_time.c: New file.
38639
38640         * modules/sys_stat-tests: New file.
38641         * tests/test-sys_stat.c: New file.
38642
38643         * modules/sys_socket-tests: New file.
38644         * tests/test-sys_socket.c: New file.
38645
38646         * modules/sys_select-tests: New file.
38647         * tests/test-sys_select.c: New file.
38648
38649         * modules/string-tests: New file.
38650         * tests/test-string.c: New file.
38651
38652         * modules/stdbool-tests: New file.
38653         * tests/test-stdbool.c: New file.
38654
38655         * modules/netinet_in-tests: New file.
38656         * tests/test-netinet_in.c: New file.
38657
38658         * modules/inttypes-tests: New file.
38659         * tests/test-inttypes.c: New file.
38660
38661         * modules/fcntl-tests: New file.
38662         * tests/test-fcntl.c: New file.
38663
38664         * modules/byteswap-tests: New file.
38665         * tests/test-byteswap.c: New file.
38666
38667         * modules/arpa_inet-tests: New file.
38668         * tests/test-arpa_inet.c: New file.
38669
38670 2007-02-17  Bruno Haible  <bruno@clisp.org>
38671
38672         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
38673         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
38674         if the corresponding module is not enabled. Emit link warnings if
38675         the function is used nevertheless.
38676         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
38677         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
38678         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
38679         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
38680         * modules/inttypes (Depends-on): Add link-warning.
38681         (Makefile.am): Copy the contents of build-aux/link-warning.h into
38682         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
38683         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
38684         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
38685         * modules/imaxdiv (configure.ac): Likewise.
38686         * modules/strtoimax (configure.ac): Likewise.
38687         * modules/strtoumax (configure.ac): Likewise.
38688
38689 2007-02-17  Bruno Haible  <bruno@clisp.org>
38690
38691         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
38692         gl_STRING_MODULE_INDICATOR_DEFAULTS.
38693         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
38694         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
38695
38696 2007-02-17  Bruno Haible  <bruno@clisp.org>
38697
38698         * modules/link-warning: New file.
38699         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
38700         * lib/string_.h (GL_LINK_WARNING): Remove definition.
38701         * modules/string (Depends-on): Add link-warning.
38702         (Makefile.am): Copy the contents of build-aux/link-warning.h into
38703         string.h.
38704         * MODULES.html.sh (Support for building libraries and executables): Add
38705         link-warning.
38706
38707 2007-02-17  Bruno Haible  <bruno@clisp.org>
38708
38709         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
38710         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
38711         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
38712         long lines.
38713
38714 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
38715             Bruno Haible  <bruno@clisp.org>
38716
38717         * modules/tmpfile: New file.
38718         * lib/tmpfile.c: New file.
38719         * m4/tmpfile.m4: New file.
38720         * MODULES.html.sh (func_all_modules): New section "Input/output".
38721
38722 2007-02-15  Bruno Haible  <bruno@clisp.org>
38723
38724         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
38725         (supports_delete_on_close): New function.
38726         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
38727
38728 2007-02-14  Bruno Haible  <bruno@clisp.org>
38729
38730         * modules/mbspcasecmp-tests: New file.
38731         * tests/test-mbspcasecmp.sh: New file.
38732         * tests/test-mbspcasecmp.c: New file.
38733
38734         New module mbspcasecmp.
38735         * modules/mbspcasecmp: New file.
38736         * lib/mbspcasecmp.c: New file.
38737         * lib/string_.h (strncasecmp): Change warning message.
38738         (mbspcasecmp): New declaration.
38739         * m4/mbspcasecmp.m4: New file.
38740         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38741         GNULIB_MBSPCASECMP.
38742         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
38743         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
38744
38745 2007-02-14  Bruno Haible  <bruno@clisp.org>
38746
38747         * modules/mbsncasecmp-tests: New file.
38748         * tests/test-mbsncasecmp.sh: New file.
38749         * tests/test-mbsncasecmp.c: New file.
38750
38751         New module mbsncasecmp.
38752         * modules/mbsncasecmp: New file.
38753         * lib/mbsncasecmp.c: New file.
38754         * lib/string_.h (mbsncasecmp): New declaration.
38755         * m4/mbsncasecmp.m4: New file.
38756         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38757         GNULIB_MBSNCASECMP.
38758         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
38759         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
38760
38761 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
38762
38763         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
38764         Verify that it doesn't overlap with our flags.
38765         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
38766         do not have the desired effect in multibyte locales; instead, use
38767         mbscasecmp.
38768         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
38769         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
38770         we don't require GNU fnmatch ourselves (if our users require it, they
38771         should do so explicitly).
38772
38773         Fix regex code so it doesn't rely on strcasecmp.
38774         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
38775         Otherwise, include gnulib's langinfo.h.
38776         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
38777         undesirable behavior in non-C locales.  Instead, rely on localecharset.
38778         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
38779         * modules/regex (FILES): Remove m4/codeset.m4.
38780         (Depends-on): Add localcharset.  Remove strcase.
38781
38782 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38783
38784         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
38785         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
38786
38787 2007-02-13  Bruno Haible  <bruno@clisp.org>
38788
38789         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
38790         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38791
38792 2007-02-12  Bruno Haible  <bruno@clisp.org>
38793
38794         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
38795         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
38796         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
38797         time warning rather than a link error.
38798
38799 2007-02-12  Bruno Haible  <bruno@clisp.org>
38800
38801         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
38802         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
38803         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38804
38805 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
38806
38807         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
38808         args, not 2.
38809
38810 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
38811
38812         New module 'time', so that apps can include <time.h> as per
38813         POSIX and GNU instead of separate include files like time_r.h
38814         and timegm.h.  This implementation tries out a simpler approach
38815         for replacing decls in standard include files (as compared to
38816         the string module), somewhat as an experiment.
38817
38818         * config/srclist.txt: Comment out mktime.c for now.
38819         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
38820         since it doesn't apply any more.  Use generic wording instead.
38821         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
38822         'time'.
38823         * lib/time_.h, m4/time_h.m4, modules/time: New files.
38824         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
38825         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
38826         Don't include <sys/types.h>; no longer needed since we assume C89.
38827         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
38828         * lib/strftime.c: Likewise.
38829         * lib/time_r.c: Likewise.
38830         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
38831         * lib/nanosleep.c: Include <time.h> first, to check interface.
38832         * lib/strptime.c: Likewise.
38833         * lib/time_r.c: Likewise.
38834         * lib/timegm.c: Likewise.
38835         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
38836         needed.
38837         * lib/timegm.c: Don't include timegm.h; no longer needed.
38838         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
38839         time.h now handles any problems in that area.
38840         (struct timespec, nanosleep): Remove; time.h now arranges for these.
38841         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
38842         that time.h defines struct timespec.
38843         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
38844         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
38845         handles that.
38846         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
38847         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
38848         needed.  Set REPLACE_LOCALTIME.
38849         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
38850         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
38851         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
38852         nanosleep; time_h.m4 now does that.  Don't require
38853         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
38854         module handles this now.
38855         * modules/getdate (Depends-on): Remove timespec.  Add time.
38856         * modules/nanosleep (Depends-on): Likewise.
38857         * modules/stat-time (Depends-on): Likewise.
38858         * modules/nanosleep (Include): Include time.h, not timespec.h.
38859         * modules/strptime (Files): Remove lib/strptime.h.
38860         (Depends-on): Add extensions, time.
38861         (Include): Include time.h, not strptime.h.
38862         * modules/time_r (Files): Remove lib/time_r.h.
38863         (Depends-on): Add time.
38864         (Include): Include time.h, not time_r.h.
38865         * modules/timegm: Likewise.
38866         * modules/timespec (Description): Now does timespec-related decls
38867         of our own, instead of struct timespec itself.
38868         (Depends-on): Add time; remove extensions.
38869         (Maintainer): Add self.
38870         * modules/utimecmp (Depends-on): Add time; remove timespec.
38871         * modules/utimens (Depends-on): Likewise.
38872         * modules/xnanosleep (Depends-on): Likewise.
38873
38874 2007-02-11  Bruno Haible  <bruno@clisp.org>
38875
38876         * lib/c-strstr.c: Include allocsa.h.
38877         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
38878         * lib/c-strcasestr.c: Include allocsa.h.
38879         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
38880         * lib/strcasestr.c: Include allocsa.h.
38881         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
38882         * lib/mbsstr.c: Include allocsa.h.
38883         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
38884         allocsa/freesa instead of malloc/free.
38885         * lib/mbscasestr.c: Include allocsa.h.
38886         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
38887         allocsa/freesa instead of malloc/free.
38888         * modules/c-strstr (Depends-on): Add allocsa.
38889         * modules/c-strcasestr (Depends-on): Likewise.
38890         * modules/strcasestr (Depends-on): Likewise.
38891         * modules/mbsstr (Depends-on): Likewise.
38892         * modules/mbscasestr (Depends-on): Likewise.
38893
38894 2007-02-11  Bruno Haible  <bruno@clisp.org>
38895
38896         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
38897
38898         * modules/mbsspn-tests: New file.
38899         * tests/test-mbsspn.sh: New file.
38900         * tests/test-mbsspn.c: New file.
38901
38902 2007-02-11  Bruno Haible  <bruno@clisp.org>
38903
38904         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
38905
38906         * modules/mbspbrk-tests: New file.
38907         * tests/test-mbspbrk.sh: New file.
38908         * tests/test-mbspbrk.c: New file.
38909
38910 2007-02-11  Bruno Haible  <bruno@clisp.org>
38911
38912         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
38913         unneeded cast.
38914
38915         * modules/mbscspn-tests: New file.
38916         * tests/test-mbscspn.sh: New file.
38917         * tests/test-mbscspn.c: New file.
38918
38919 2007-02-11  Bruno Haible  <bruno@clisp.org>
38920
38921         * modules/mbscasecmp-tests: New file.
38922         * tests/test-mbscasecmp.sh: New file.
38923         * tests/test-mbscasecmp.c: New file.
38924
38925 2007-02-11  Bruno Haible  <bruno@clisp.org>
38926
38927         Ensure O(n) worst-case complexity of mbscasestr.
38928         * lib/mbscasestr.c: Include stdbool.h.
38929         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
38930         functions.
38931         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
38932         the bookkeeping indicates that it's worth it.
38933         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
38934
38935         * modules/mbscasestr-tests: New file.
38936         * tests/test-mbscasestr1.c: New file.
38937         * tests/test-mbscasestr2.sh: New file.
38938         * tests/test-mbscasestr2.c: New file.
38939         * tests/test-mbscasestr3.sh: New file.
38940         * tests/test-mbscasestr3.c: New file.
38941         * tests/test-mbscasestr4.sh: New file.
38942         * tests/test-mbscasestr4.c: New file.
38943         * m4/locale-tr.m4: New file.
38944
38945 2007-02-11  Bruno Haible  <bruno@clisp.org>
38946
38947         Ensure O(n) worst-case complexity of mbsstr.
38948         * lib/mbsstr.c: Include stdbool.h.
38949         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
38950         functions.
38951         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
38952         bookkeeping indicates that it's worth it.
38953         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
38954
38955         * modules/mbsstr-tests: New file.
38956         * tests/test-mbsstr1.c: New file.
38957         * tests/test-mbsstr2.sh: New file.
38958         * tests/test-mbsstr2.c: New file.
38959         * tests/test-mbsstr3.sh: New file.
38960         * tests/test-mbsstr3.c: New file.
38961         * m4/locale-fr.m4: New file.
38962
38963 2007-02-11  Bruno Haible  <bruno@clisp.org>
38964
38965         * lib/mbsrchr.c (mbsrchr): Fix bug.
38966
38967         * modules/mbsrchr-tests: New file.
38968         * tests/test-mbsrchr.sh: New file.
38969         * tests/test-mbsrchr.c: New file.
38970
38971 2007-02-11  Bruno Haible  <bruno@clisp.org>
38972
38973         * lib/mbschr.c (mbschr): Fix bug.
38974
38975         * modules/mbschr-tests: New file.
38976         * tests/test-mbschr.sh: New file.
38977         * tests/test-mbschr.c: New file.
38978         * m4/locale-zh.m4: New file.
38979
38980 2007-02-11  Bruno Haible  <bruno@clisp.org>
38981
38982         Support for copying multibyte string iterators.
38983         * lib/mbiter.h: Include <string.h>.
38984         (mbiter_multi_copy): New function.
38985         (mbi_copy): New macro.
38986         * lib/mbuiter.h: Include <string.h>.
38987         (mbuiter_multi_copy): New function.
38988         (mbui_copy): New macro.
38989
38990 2007-02-11  Bruno Haible  <bruno@clisp.org>
38991
38992         New module mbslen.
38993         * modules/mbslen: New file.
38994         * lib/mbslen.c: New file.
38995         * lib/string_.h (mbslen): New declaration.
38996         * m4/mbslen.m4: New file.
38997         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
38998         GNULIB_MBSLEN.
38999         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
39000         * MODULES.html.sh (Internationalization functions): Add mbslen.
39001
39002 2007-02-11  Bruno Haible  <bruno@clisp.org>
39003
39004         Ensure O(n) worst-case complexity of strcasestr substitute.
39005         * lib/strcasestr.c: Include stdbool.h.
39006         (knuth_morris_pratt): New function.
39007         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39008         bookkeeping indicates that it's worth it.
39009         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
39010
39011         * modules/strcasestr-tests: New file.
39012         * tests/test-strcasestr.c: New file.
39013
39014 2007-02-11  Bruno Haible  <bruno@clisp.org>
39015
39016         Ensure O(n) worst-case complexity of c_strcasestr.
39017         * lib/c-strcasestr.c: Include stdbool.h, string.h.
39018         (knuth_morris_pratt): New function.
39019         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
39020         the bookkeeping indicates that it's worth it.
39021         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
39022
39023         * modules/c-strcasestr-tests: New file.
39024         * tests/test-c-strcasestr.c: New file.
39025
39026 2007-02-11  Bruno Haible  <bruno@clisp.org>
39027
39028         Ensure O(n) worst-case complexity of c_strstr.
39029         * lib/c-strstr.c: Include stdbool.h, string.h.
39030         (knuth_morris_pratt): New function.
39031         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
39032         bookkeeping indicates that it's worth it.
39033         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
39034
39035         * lib/c-strstr.c: Complete rewrite for maintainability.
39036
39037         * modules/c-strstr-tests: New file.
39038         * tests/test-c-strstr.c: New file.
39039
39040 2007-02-11  Bruno Haible  <bruno@clisp.org>
39041
39042         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
39043         5.2.1 and earlier, whereby \055 was treated just like the range
39044         delimiter '-'.
39045         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39046
39047 2007-02-08  Bruno Haible  <bruno@clisp.org>
39048
39049         * modules/regex (Depends-on): Add stdbool.
39050         Reported by Dalibor Topic <robilad@kaffe.org>.
39051
39052 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39053
39054         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
39055         Prefer returning from main to exiting from it.
39056         Remove unnecessary parens after sizeof.
39057
39058 2007-02-05  Bruno Haible  <bruno@clisp.org>
39059
39060         New module mbssep.
39061         * modules/mbssep: New file.
39062         * lib/mbssep.c: New file.
39063         * lib/string_.h (strsep): Add a conditional link warning.
39064         (mbssep): New declaration.
39065         * m4/mbssep.m4: New file.
39066         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39067         GNULIB_MBSSEP.
39068         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
39069         * MODULES.html.sh (Internationalization functions): Add mbssep.
39070
39071 2007-02-05  Bruno Haible  <bruno@clisp.org>
39072
39073         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
39074         Optimize search in case of 1 delimiter.
39075
39076 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39077
39078         * lib/acl.h: Include sys/types.h before sys/acl.h.
39079
39080 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
39081
39082         Merge upstream fix for glibc bugzilla #3957:
39083
39084         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
39085
39086         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
39087         bit for RE_HAT_LISTS_NOT_NEWLINE.
39088         (build_charclass_op): Remove bogus comment.
39089
39090 2007-02-05  Simon Josefsson  <simon@josefsson.org>
39091
39092         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
39093
39094 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39095
39096         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
39097         * lib/memmem.c [!defined _LIBC]: Include config.h.
39098
39099 2007-02-04  Bruno Haible  <bruno@clisp.org>
39100
39101         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
39102         warning message.
39103
39104 2007-02-04  Bruno Haible  <bruno@clisp.org>
39105
39106         New module mbstok_r.
39107         * modules/mbstok_r: New file.
39108         * lib/mbstok_r.c: New file.
39109         * lib/string_.h (strtok_r): Change argument names to match the
39110         comments. Add a conditional link warning.
39111         (mbstok_r): New declaration.
39112         * m4/mbstok_r.m4: New file.
39113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39114         GNULIB_MBSTOK_R.
39115         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
39116         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
39117
39118 2007-02-04  Bruno Haible  <bruno@clisp.org>
39119
39120         New module mbsspn.
39121         * modules/mbsspn: New file.
39122         * lib/mbsspn.c: New file.
39123         * lib/string_.h (strspn): Add a conditional link warning.
39124         (mbsspn): New declaration.
39125         * m4/mbsspn.m4: New file.
39126         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39127         GNULIB_MBSSPN.
39128         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
39129         * MODULES.html.sh (Internationalization functions): Add mbsspn.
39130
39131 2007-02-04  Bruno Haible  <bruno@clisp.org>
39132
39133         New module mbspbrk.
39134         * modules/mbspbrk: New file.
39135         * lib/mbspbrk.c: New file.
39136         * lib/string_.h (strpbrk): Add a conditional link warning.
39137         (mbspbrk): New declaration.
39138         * m4/mbspbrk.m4: New file.
39139         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39140         GNULIB_MBSPBRK.
39141         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
39142         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
39143
39144 2007-02-04  Bruno Haible  <bruno@clisp.org>
39145
39146         New module mbscspn.
39147         * modules/mbscspn: New file.
39148         * lib/mbscspn.c: New file.
39149         * lib/string_.h (strcspn): Add a conditional link warning.
39150         (mbscspn): New declaration.
39151         * m4/mbscspn.m4: New file.
39152         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39153         GNULIB_MBSCSPN.
39154         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
39155         * MODULES.html.sh (Internationalization functions): Add mbscspn.
39156
39157 2007-02-04  Bruno Haible  <bruno@clisp.org>
39158
39159         New module mbscasestr, reduced goal of strcasestr.
39160         * modules/mbscasestr: New file.
39161         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
39162         (mbscasestr): Renamed from strcasestr.
39163         * lib/strcasestr.c: Don't include mbuiter.h.
39164         (strcasestr): Remove support for multibyte locales.
39165         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
39166         Change the conditional link warning.
39167         (mbscasestr): New declaration.
39168         * m4/mbscasestr.m4: New file.
39169         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
39170         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
39171         REPLACE_STRCASESTR.
39172         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
39173         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39174         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39175         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
39176         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
39177         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
39178         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
39179         (Depends-on): Remove mbuiter.
39180         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
39181
39182 2007-02-04  Bruno Haible  <bruno@clisp.org>
39183
39184         Simplify handling of strncasecmp.
39185         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
39186         the conditional link warning.
39187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39188         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
39189         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
39190         * modules/strcase (configure.ac): Don't invoke
39191         gl_STRING_MODULE_INDICATOR.
39192         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
39193
39194 2007-02-04  Bruno Haible  <bruno@clisp.org>
39195
39196         New module mbscasecmp, reduced goal of strcasecmp.
39197         * modules/mbscasecmp: New file.
39198         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
39199         (mbscasecmp): Renamed from strcasecmp.
39200         * lib/strcasecmp.c: Don't include mbuiter.h.
39201         (strcasecmp): Remove support for multibyte locales.
39202         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
39203         Change the conditional link warning.
39204         (mbscasecmp): New declaration.
39205         * m4/mbscasecmp.m4: New file.
39206         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
39207         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
39208         REPLACE_STRCASECMP.
39209         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
39210         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39211         GNULIB_MBSCASECMP.
39212         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
39213         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
39214         * modules/strcase (Files): Remove m4/mbrtowc.m4.
39215         (Depends-on): Remove mbuiter.
39216         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
39217
39218 2007-02-04  Bruno Haible  <bruno@clisp.org>
39219
39220         New module mbsstr. Remove module strstr.
39221         * modules/mbsstr: New file.
39222         * modules/strstr: Remove file.
39223         * lib/mbsstr.c: Renamed from lib/strstr.c.
39224         (mbsstr): Renamed from strstr.
39225         * lib/string_.h (strstr): Remove declaration. Change the conditional
39226         link warning.
39227         (mbsstr): New declaration.
39228         * m4/mbsstr.m4: New file.
39229         * m4/strstr.m4: Remove file.
39230         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
39231         REPLACE_STRSTR.
39232         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
39233         Don't initialize GNULIB_STRSTR.
39234         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
39235         substitute GNULIB_STRSTR and REPLACE_STRSTR.
39236         * MODULES.html.sh (Internationalization functions): Add mbsstr.
39237         (Support for systems lacking ANSI C 89): Remove strstr.
39238
39239 2007-02-04  Bruno Haible  <bruno@clisp.org>
39240
39241         New module mbsrchr.
39242         * modules/mbsrchr: New file.
39243         * lib/mbsrchr.c: New file.
39244         * lib/string_.h (strrchr): Add a conditional link warning.
39245         (mbsrchr): New declaration.
39246         * m4/mbsrchr.m4: New file.
39247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39248         GNULIB_MBSRCHR.
39249         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
39250         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
39251
39252 2007-02-04  Bruno Haible  <bruno@clisp.org>
39253
39254         New module mbschr.
39255         * modules/mbschr: New file.
39256         * lib/mbschr.c: New file.
39257         * lib/string_.h (strchr): Add a conditional link warning.
39258         (mbschr): New declaration.
39259         * m4/mbschr.m4: New file.
39260         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
39261         GNULIB_MBSCHR.
39262         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
39263         * MODULES.html.sh (Internationalization functions): Add mbschr.
39264
39265 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
39266
39267         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
39268
39269         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
39270
39271 2007-02-04  Bruno Haible  <bruno@clisp.org>
39272
39273         New module description section 'configure.ac-early'.
39274         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
39275         (func_get_autoconf_early_snippet): New function.
39276         (func_import, func_create_testdir): Use it. Remove special cases for
39277         modules 'extensions' and 'lock'.
39278         * modules/extensions (configure.ac-early): Require
39279         gl_USE_SYSTEM_EXTENSIONS.
39280         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
39281
39282 2007-02-04  Bruno Haible  <bruno@clisp.org>
39283
39284         Make use of gcj-4.3's -fsource and -ftarget option.
39285         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
39286         and if so try the options -fsource and -ftarget.
39287         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
39288         source_version, ftarget_option, target_version arguments.
39289         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
39290         (is_envjavac_oldgcj_14_14_usable): Renamed from
39291         is_envjavac_gcj_14_14_usable.
39292         (is_envjavac_oldgcj_14_13_usable): Renamed from
39293         is_envjavac_gcj_14_13_usable.
39294         (is_gcj_present): Update.
39295         (is_gcj_43, is_gcj43_usable): New functions.
39296         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
39297         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
39298         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
39299         try the options -fsource and -ftarget.
39300
39301 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
39302
39303         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
39304         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
39305         larger value.
39306
39307 2007-02-03  Jim Meyering  <jim@meyering.net>
39308
39309         Give tools a better chance to allocate space for very large buffers.
39310         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
39311
39312         Make pwd and readlink work also when run with an unreadable parent dir
39313         on systems with openat support.
39314         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
39315         provided getcwd function, even when we have openat support.
39316         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
39317
39318 2007-02-02  Bruno Haible  <bruno@clisp.org>
39319
39320         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
39321         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
39322         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
39323         portability problems if one of these functions is only used on specific
39324         platforms.
39325         Reported by Paul Eggert.
39326
39327 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
39328
39329         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
39330         is causing more trouble than it's curing.
39331         * lib/regex_internal.h (__mempcpy): Remove.
39332         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
39333         (and make the code a tad smaller to boot).
39334         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
39335
39336 2007-02-02  Jim Meyering  <jim@meyering.net>
39337
39338         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
39339         section, not in the Makefile.am: one.
39340
39341 2007-02-02  Eric Blake  <ebb9@byu.net>
39342
39343         * lib/strchrnul.c: Always include config.h first.
39344
39345         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
39346         gnulib strstr is not necessary here.
39347
39348 2007-02-02  Simon Josefsson  <simon@josefsson.org>
39349
39350         * m4/socklen.m4: Fix typo.
39351
39352 2007-02-02  Eric Blake  <ebb9@byu.net>
39353
39354         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
39355         * modules/netinet_in (Makefile.am): Likewise.
39356
39357 2007-02-01  Bruno Haible  <bruno@clisp.org>
39358
39359         * lib/string_.h (GL_LINK_WARNING): New macro.
39360         (strcasecmp, strstr, strcasestr): If provided by the system,
39361         conditionally define as a macro that leads to a warning instead of to
39362         an error.
39363         (strncasecmp): Conditionally define as a macro that leads to a warning.
39364
39365 2007-02-01  Karl Berry  <karl@gnu.org>
39366
39367         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
39368
39369 2007-02-01  Bruno Haible  <bruno@clisp.org>
39370
39371         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
39372         renamings.
39373
39374 2007-02-01  Eric Blake  <ebb9@byu.net>
39375
39376         * modules/regex (Depends-on): Revert dependence on mempcpy.
39377         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
39378         module's definition of mempcpy.
39379         Reported by Paul Eggert.
39380
39381 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
39382
39383         * lib/string_.h: If the gnulib module XYZ is not present, undefine
39384         the symbol XYZ before redefining it.  This fixes a problem with
39385         programs that don't use XYZ, when compiled on systems that define
39386         XYZ to something else.
39387
39388 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
39389
39390         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
39391         occurs when "mkdir -m foo" creates a setgid directory that is (1)
39392         writeable to group or other and (2) is intended to have a special
39393         mode bit that is set or cleared.  In such a case, the directory
39394         should be neither group- nor other-writeable until the special
39395         mode bits are right.
39396
39397 2007-01-31  Eric Blake  <ebb9@byu.net>
39398
39399         * modules/mountlist (Depends-on): Add strstr.
39400
39401         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
39402         bug.
39403         * modules/string (Makefile.am): Remove redundant replacement.
39404         * modules/regex (Depends-on): Add mempcpy.
39405
39406 2007-01-31  Bruno Haible  <bruno@clisp.org>
39407
39408         New module description field 'Link'.
39409         * gnulib-tool (func_usage): Document --extract-link-directive.
39410         (sed_extract_prog): Recognize 'Link' directive.
39411         (func_get_link_directive): New function.
39412         (func_import): Show summary of link directives.
39413         Handle --extract-link-directive option.
39414         * modules/acl (Link): New section.
39415         * modules/clock-time (Link): New section.
39416         * modules/euidaccess (Link): New section.
39417         * modules/gettext (Link): New section.
39418         * modules/iconv (Link): New section.
39419         * modules/lock (Link): New section.
39420         * modules/nanosleep (Link): New section.
39421         * modules/readline (Link): New section.
39422
39423 2007-01-27  Bruno Haible  <bruno@clisp.org>
39424
39425         Enforce the use of gnulib modules for unportable <string.h> functions.
39426         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
39427         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
39428         (gl_HEADER_STRING_H_BODY): Require it.
39429         * lib/string_.h: If the gnulib module XYZ is not present, redefine
39430         the symbol XYZ to one that gives a link error.
39431         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
39432         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
39433         * modules/mempcpy (configure.ac): Likewise.
39434         * modules/memrchr (configure.ac): Likewise.
39435         * modules/stpcpy (configure.ac): Likewise.
39436         * modules/stpncpy (configure.ac): Likewise.
39437         * modules/strcase (configure.ac): Likewise.
39438         * modules/strcasestr (configure.ac): Likewise.
39439         * modules/strchrnul (configure.ac): Likewise.
39440         * modules/strdup (configure.ac): Likewise.
39441         * modules/strndup (configure.ac): Likewise.
39442         * modules/strnlen (configure.ac): Likewise.
39443         * modules/strpbrk (configure.ac): Likewise.
39444         * modules/strsep (configure.ac): Likewise.
39445         * modules/strstr (configure.ac): Likewise.
39446         * modules/strtok_r (configure.ac): Likewise.
39447
39448 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
39449
39450         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
39451
39452 2007-01-30  Jim Meyering  <jim@meyering.net>
39453
39454         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
39455
39456 2007-01-29  Bruno Haible  <bruno@clisp.org>
39457
39458         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
39459         * lib/execute.c: Likewise.
39460         * lib/pipe.c: Likewise.
39461         * lib/printf-args.h: Likewise.
39462         * lib/printf-args.c: Likewise.
39463         * lib/printf-parse.c: Likewise.
39464         * lib/vasnprintf.c: Likewise.
39465
39466 2007-01-29  Eric Blake  <ebb9@byu.net>
39467
39468         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
39469         declaration.
39470
39471 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
39472
39473         * lib/strptime.h (strptime): Use 'restrict' for args where
39474         POSIX requires this.
39475         * lib/strptime.c (strptime): Likewise.
39476         Change license notice from LGPL to GPL, since gnulib-tool will
39477         change this as needed.
39478         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
39479         defined.
39480         Include "strptime.h" first, to check interface.
39481         Do not #undef _LIBC and _NL_CURRENT.
39482         Do not include <stdlib.h>; no longer needed.
39483         Include "time_r.h" and declare ptime_locale_status
39484         only if _LIBC is not defined.
39485         (__P): Remove unused macro.
39486         (match_string): Bring back glibc version, but use it only if _LIBC
39487         is defined.
39488         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
39489         Remove unnecessary assertion and abort() call.
39490         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
39491         * m4/strptime.m4: Fix serial number comment.
39492         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
39493         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
39494         (Depends-on): Add time_r.
39495
39496 2007-01-29  Bruno Haible  <bruno@clisp.org>
39497
39498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39499         strptime.
39500         * modules/strptime (Depends-on): Add stdbool.
39501         * lib/strptime.h: Include <time.h> always. Add comments.
39502
39503 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39504
39505         * modules/strptime: New file.
39506         * lib/strptime.h: New file.
39507         * lib/strptime.c: New file.
39508         * m4/strptime.m4: New file.
39509
39510 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
39511
39512         * MODULES.html.sh: New module mpsort.
39513         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
39514
39515         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
39516         a circularity problem with HP-UX ia64 reported by Bob Proulx in
39517         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
39518         All uses changed.
39519         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
39520         All uses changed.
39521         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
39522         to _Restrict_.
39523         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
39524         the parameter matches the prototype.
39525
39526 2007-01-28  Jim Meyering  <jim@meyering.net>
39527
39528         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
39529         sys/time.h here, reverting that part of the previous patch:
39530         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
39531
39532 2007-01-28  Bruno Haible  <bruno@clisp.org>
39533
39534         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
39535         value of $(SYS_TIME_H).
39536         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
39537         remove it conditionally, too. [added by Jim Meyering]
39538         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
39539         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
39540         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
39541         GETTIMEOFDAY_REPLACEMENT to 1.
39542
39543 2007-01-28  Bruno Haible  <bruno@clisp.org>
39544
39545         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
39546         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
39547         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
39548         Set UNISTD_H instead of UNISTD_H2.
39549         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
39550
39551 2007-01-28  Bruno Haible  <bruno@clisp.org>
39552
39553         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
39554         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
39555
39556 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39557
39558         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
39559         (func_create_testdir): Ensure C locale for `grep' and `tr'
39560         character ranges.
39561         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
39562         ACLOCAL_AMFLAGS parsing state machine.
39563
39564 2007-01-27  Bruno Haible  <bruno@clisp.org>
39565
39566         * modules/unistr/base: Update.
39567
39568 2007-01-27  Bruno Haible  <bruno@clisp.org>
39569
39570         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
39571         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
39572         * modules/unistr/u32-mbtouc-unsafe: Renamed from
39573         modules/unistr/u32-mbtouc.
39574         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
39575         * lib/unistr.h: Update.
39576         * lib/linebreak.c: Update.
39577         * modules/unistr/u32-mbtouc: Renamed from
39578         modules/unistr/u32-mbtouc-safe.
39579         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
39580         * lib/unistr.h: Update.
39581         * lib/unistr/u32-to-u8.c: Update.
39582         * lib/unistr/u32-to-u16.c: Update.
39583
39584 2007-01-27  Bruno Haible  <bruno@clisp.org>
39585
39586         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
39587         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
39588         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
39589         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
39590         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
39591         * modules/unistr/u16-mbtouc-unsafe: Renamed from
39592         modules/unistr/u16-mbtouc.
39593         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
39594         * lib/unistr.h: Update.
39595         * lib/linebreak.c: Update.
39596         * modules/linebreak: Update.
39597         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
39598         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
39599         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
39600         * modules/unistr/u16-mbtouc: Renamed from
39601         modules/unistr/u16-mbtouc-safe.
39602         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
39603         * lib/unistr.h: Update.
39604         * lib/unistr/u16-to-u8.c: Update.
39605         * modules/unistr/u16-to-u8: Update.
39606         * lib/unistr/u16-to-u32.c: Update.
39607         * modules/unistr/u16-to-u32: Update.
39608
39609 2007-01-27  Bruno Haible  <bruno@clisp.org>
39610
39611         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
39612         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
39613         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
39614         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
39615         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
39616         * modules/unistr/u8-mbtouc-unsafe: Renamed from
39617         modules/unistr/u8-mbtouc.
39618         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
39619         * lib/unistr.h: Update.
39620         * lib/striconveh.c: Update.
39621         * modules/striconveh: Update.
39622         * lib/linebreak.c: Update.
39623         * modules/linebreak: Update.
39624         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
39625         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
39626         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
39627         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
39628         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
39629         * lib/unistr.h: Update.
39630         * lib/striconveh.c: Update.
39631         * modules/striconveh: Update.
39632         * lib/unistr/u8-to-u16.c: Update.
39633         * modules/unistr/u8-to-u16: Update.
39634         * lib/unistr/u8-to-u32.c: Update.
39635         * modules/unistr/u8-to-u32: Update.
39636
39637 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39638
39639         Sync from Libtool.
39640         * lib/argz.c: Do not include strings.h nor memory.h, include
39641         string.h unconditionally.  Patch by Simon Josefsson.
39642
39643 2007-01-27  Bruno Haible  <bruno@clisp.org>
39644
39645         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
39646         from gl_HEADER_STRING_H_BODY.
39647         (gl_HEADER_STRING_H_BODY): Require it.
39648         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
39649         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
39650         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
39651         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
39652         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
39653         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
39654         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39655         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
39656         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
39657         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
39658         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
39659         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
39660         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
39661         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39662         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
39663
39664 2007-01-27  Bruno Haible  <bruno@clisp.org>
39665
39666         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
39667         check_PROGRAMS into noinst_PROGRAMS.
39668         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
39669         check_PROGRAMS in this case.
39670         (func_import): Set for_test to false.
39671         (func_create_testdir): Set for_test to true.
39672
39673 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
39674             Bruno Haible  <bruno@clisp.org>
39675
39676         * modules/strcasestr (Files): Remove lib/strcasestr.h.
39677         (Depends-on): Add string.
39678         (Includes): Use <string.h> instead of strcasestr.h.
39679         * modules/string (Makefile.am): Also substitute the value of
39680         REPLACE_STRCASESTR.
39681         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
39682         assume strcasestr is declared in <string.h> not <strings.h>. Also
39683         set REPLACE_STRCASESTR.
39684         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
39685         REPLACE_STRCASESTR.
39686         * lib/strcasestr.h: Remove file.
39687         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
39688         * lib/string_.h (strcasestr): New declaration.
39689
39690 2007-01-27  Bruno Haible  <bruno@clisp.org>
39691
39692         * lib/string_.h: Use 'extern'.
39693
39694 2007-01-27  Jim Meyering  <jim@meyering.net>
39695
39696         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
39697         of set-but-not-used local, "q".
39698
39699         * lib/mempcpy.c: Include <config.h> before <string.h>.
39700         This fixes a compilation error on HP-UX, due to the system's
39701         "restrict"-using mempcpy prototype.
39702
39703 2007-01-26  Bruno Haible  <bruno@clisp.org>
39704
39705         Small optimization.
39706         * lib/javacomp.c: Include c-strstr.h.
39707          (is_envjavac_gcj): Use c_strstr instead of strstr.
39708         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
39709
39710 2007-01-26  Bruno Haible  <bruno@clisp.org>
39711
39712         * MODULES.html.sh (Unicode string functions): Add the new modules.
39713
39714         * modules/uniconv/u32-strconv-to-locale: New file.
39715         * lib/uniconv/u32-strconv-to-locale.c: New file.
39716
39717         * modules/uniconv/u16-strconv-to-locale: New file.
39718         * lib/uniconv/u16-strconv-to-locale.c: New file.
39719
39720         * modules/uniconv/u8-strconv-to-locale: New file.
39721         * lib/uniconv/u8-strconv-to-locale.c: New file.
39722
39723         * modules/uniconv/u32-strconv-from-locale: New file.
39724         * lib/uniconv/u32-strconv-from-locale.c: New file.
39725
39726         * modules/uniconv/u16-strconv-from-locale: New file.
39727         * lib/uniconv/u16-strconv-from-locale.c: New file.
39728
39729         * modules/uniconv/u8-strconv-from-locale: New file.
39730         * lib/uniconv/u8-strconv-from-locale.c: New file.
39731
39732         * modules/uniconv/u32-strconv-to-enc: New file.
39733         * lib/uniconv/u32-strconv-to-enc.c: New file.
39734         * modules/uniconv/u32-strconv-to-enc-tests: New file.
39735         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
39736
39737         * modules/uniconv/u16-strconv-to-enc: New file.
39738         * lib/uniconv/u16-strconv-to-enc.c: New file.
39739         * lib/uniconv/u-strconv-to-enc.h: New file.
39740         * modules/uniconv/u16-strconv-to-enc-tests: New file.
39741         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
39742
39743         * modules/uniconv/u8-strconv-to-enc: New file.
39744         * lib/uniconv/u8-strconv-to-enc.c: New file.
39745         * modules/uniconv/u8-strconv-to-enc-tests: New file.
39746         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
39747
39748         * modules/uniconv/u32-strconv-from-enc: New file.
39749         * lib/uniconv/u32-strconv-from-enc.c: New file.
39750         * modules/uniconv/u32-strconv-from-enc-tests: New file.
39751         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
39752
39753         * modules/uniconv/u16-strconv-from-enc: New file.
39754         * lib/uniconv/u16-strconv-from-enc.c: New file.
39755         * modules/uniconv/u16-strconv-from-enc-tests: New file.
39756         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
39757
39758         * modules/uniconv/u8-strconv-from-enc: New file.
39759         * lib/uniconv/u8-strconv-from-enc.c: New file.
39760         * lib/uniconv/u-strconv-from-enc.h: New file.
39761         * modules/uniconv/u8-strconv-from-enc-tests: New file.
39762         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
39763
39764         * modules/uniconv/u32-conv-from-enc: New file.
39765         * lib/uniconv/u32-conv-from-enc.c: New file.
39766         * modules/uniconv/u32-conv-from-enc-tests: New file.
39767         * tests/uniconv/test-u32-conv-from-enc.c: New file.
39768
39769         * modules/uniconv/u16-conv-from-enc: New file.
39770         * lib/uniconv/u16-conv-from-enc.c: New file.
39771         * lib/uniconv/u-conv-from-enc.h: New file.
39772         * modules/uniconv/u16-conv-from-enc-tests: New file.
39773         * tests/uniconv/test-u16-conv-from-enc.c: New file.
39774
39775         * modules/uniconv/u8-conv-from-enc: New file.
39776         * lib/uniconv/u8-conv-from-enc.c: New file.
39777         * modules/uniconv/u8-conv-from-enc-tests: New file.
39778         * tests/uniconv/test-u8-conv-from-enc.c: New file.
39779
39780         * modules/uniconv/base: New file.
39781         * lib/uniconv.h: New file.
39782
39783 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
39784
39785         * doc/gnulib-tool.texi (Initial import): Update to match current
39786         behavior with strdup module.
39787         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
39788         * lib/memmem.h: Remove; all uses removed.  This is now done
39789         by <string.h>.
39790         * lib/mempcpy.h: Likewise.
39791         * lib/memrchr.h: Likewise.
39792         * lib/stpcpy.h: Likewise.
39793         * lib/stpncpy.h: Likewise.
39794         * lib/strcase.h: Likewise.
39795         * lib/strchrnul.h: Likewise.
39796         * lib/strdup.h: Likewise.
39797         * lib/strndup.h: Likewise.
39798         * lib/strnlen.h: Likewise.
39799         * lib/strpbrk.h: Likewise.
39800         * lib/strsep.h: Likewise.
39801         * lib/strstr.h: Likewise.
39802         * lib/strtok_r.h: Likewise.
39803         * lib/string_.h: New file.
39804         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
39805         Rely on <string.h> instead.
39806         * lib/canon-host.c: Likewise.
39807         * lib/chdir-long.c: Likewise.
39808         * lib/concatpath.c: Likewise.
39809         * lib/exclude.c: Likewise.
39810         * lib/fchdir.c: Likewise.
39811         * lib/getaddrinfo.c: Likewise.
39812         * lib/getcwd.c: Likewise.
39813         * lib/getsubopt.c: Likewise.
39814         * lib/glob.c: Likewise.
39815         * lib/hard-locale.c: Likewise.
39816         * lib/iconvme.c: Likewise.
39817         * lib/javacomp.c: Likewise.
39818         * lib/mempcpy.c: Likewise.
39819         * lib/memrchr.c: Likewise.
39820         * lib/regex_internal.h: Likewise.
39821         * lib/stpncpy.c: Likewise.
39822         * lib/strcasecmp.c: Likewise.
39823         * lib/strchrnul.c: Likewise.
39824         * lib/strdup.c: Likewise.
39825         * lib/striconv.c: Likewise.
39826         * lib/striconveh.c: Likewise.
39827         * lib/striconveha.c: Likewise.
39828         * lib/strncasecmp.c: Likewise.
39829         * lib/strndup.c: Likewise.
39830         * lib/strnlen.c: Likewise.
39831         * lib/strsep.c: Likewise.
39832         * lib/strstr.c: Likewise.
39833         * lib/strtok_r.c: Likewise.
39834         * lib/userspec.c: Likewise.
39835         * lib/w32spawn.h: Likewise.
39836         * lib/xstrndup.c: Likewise.
39837         * lib/mountlist.c (strstr): Remove decl.
39838         * m4/string_h.m4: New file.
39839         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
39840         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
39841         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
39842         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
39843         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
39844         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
39845         Set REPLACE_STRCASECMP if necessary.
39846         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
39847         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
39848         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
39849         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
39850         HAVE_DECL_STRDUP if necessary.
39851         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
39852         since gl_FUNC_STRNDUP does that now.
39853         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
39854         Check for decl here...
39855         (gl_PREREQ_STRNLEN): ... not here.
39856         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
39857         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
39858         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
39859         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
39860         necessary.
39861         * modules/string: New file.
39862         * modules/memmem (Files): Remove special-purpose include file.
39863         (Depends-on): Add string.
39864         (Include): Include <string.h>, not the removed file.
39865         * modules/mempcpy: Likewise.
39866         * modules/memrchr: Likewise.
39867         * modules/stpcpy: Likewise.
39868         * modules/stpncpy: Likewise.
39869         * modules/strcase: Likewise.
39870         * modules/strchrnul: Likewise.
39871         * modules/strdup: Likewise.
39872         * modules/strndup: Likewise.
39873         * modules/strnlen: Likewise.
39874         * modules/strpbrk: Likewise.
39875         * modules/strsep: Likewise.
39876         * modules/strstr: Likewise.
39877         * modules/strtok_r: Likewise.
39878         * tests/test-dirname.c: Don't include "strdup.h", since
39879         <string.h> now suffices.
39880         * tests/test-memmem.c: Don't include "memmem.h", since
39881         <string.h> now suffices.
39882
39883 2007-01-25  Bruno Haible  <bruno@clisp.org>
39884
39885         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
39886         *resultp is 0.
39887
39888         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
39889         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
39890         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
39891         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
39892
39893         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
39894         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
39895         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
39896         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
39897         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
39898         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
39899
39900 2007-01-24  Bruno Haible  <bruno@clisp.org>
39901
39902         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
39903         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
39904         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
39905         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
39906         gl_FUNC_FTS_CORE.
39907         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
39908         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
39909         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
39910         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
39911         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
39912         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
39913         gl_FUNC_FCHOWNAT.
39914         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
39915         gl_FUNC_STRFTIME.
39916         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
39917         Reported by Ralf Wildenhues.
39918
39919 2007-01-24  Bruno Haible  <bruno@clisp.org>
39920
39921         Drop AC_REQUIRE calls that are redundant with the module dependencies.
39922         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
39923         gl_GETADDRINFO.
39924         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
39925         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
39926         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
39927
39928 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
39929
39930         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
39931         Don't use 'exit'; just return from 'main'.
39932         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
39933
39934         * lib/fnmatch_.h: Readjust white space and comments to match
39935         glibc, to avoid spurious diffs.
39936
39937 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39938
39939         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
39940         2004-12-01 change by Jakub Jelinek, since this code won't compile
39941         if !LIBC.  Problem reported by Bob Proulx.
39942
39943 2007-01-23  Bruno Haible  <bruno@clisp.org>
39944
39945         * lib/striconveh.c: Include c-strcaseeq.h.
39946         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
39947         * modules/striconveh (Depends-on): Add c-strcaseeq.
39948
39949 2007-01-23  Bruno Haible  <bruno@clisp.org>
39950
39951         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
39952
39953         * modules/c-strcaseeq: New file.
39954         * lib/c-strcaseeq.h: New file.
39955
39956         * modules/streq: New file.
39957         * lib/streq.h: New file.
39958
39959 2007-01-23  Bruno Haible  <bruno@clisp.org>
39960
39961         * modules/striconveha-tests: New file.
39962         * tests/test-striconveha.c: New file.
39963
39964         * lib/striconveha.h: Include <stdbool.h>.
39965         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
39966         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
39967         (mem_iconveha_notranslit): Renamed from mem_iconveha.
39968         (mem_iconveha): New function.
39969         (str_iconveha_notranslit): Renamed from str_iconveha.
39970         (str_iconveha): New function.
39971         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
39972         c-strcase.
39973
39974 2007-01-23  Bruno Haible  <bruno@clisp.org>
39975
39976         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
39977         encodings without forgiving before trying any encoding with handler.
39978         (str_iconveha): Try all encodings without forgiving before trying any
39979         encoding with handler.
39980
39981 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39982
39983         Import the following changes from libc.
39984
39985         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
39986
39987         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
39988
39989         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
39990
39991         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
39992         normal_bracket label.
39993
39994         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
39995
39996         [BZ #361]
39997         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
39998         to normal_bracket after fetching the next character.
39999
40000 2007-01-22  Bruno Haible  <bruno@clisp.org>
40001
40002         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
40003         argument.
40004         * lib/striconveh.c (iconv_carefully_1): New function.
40005         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
40006         argument.
40007         (str_cd_iconveh): Update.
40008         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
40009         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
40010         * tests/test-striconveh.c (MAGIC): New macro.
40011         (new_offsets): New function.
40012         (main): Test call with and without offsets.
40013
40014 2007-01-22  Bruno Haible  <bruno@clisp.org>
40015
40016         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
40017         * modules/sys_select (Makefile.am): Likewise.
40018         * modules/sys_socket (Makefile.am): Likewise.
40019         * modules/sys_time (Makefile.am): Likewise.
40020
40021 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40022
40023         * modules/gettimeofday (License): Change from GPL to LGPL, since
40024         gettimeofday is a library function.
40025
40026 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40027
40028         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
40029
40030 2007-01-21  Bruno Haible  <bruno@clisp.org>
40031
40032         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
40033
40034 2007-01-21  Bruno Haible  <bruno@clisp.org>
40035
40036         * modules/striconveha: New file.
40037         * lib/striconveha.h: New file.
40038         * lib/striconveha.c: New file.
40039         * MODULES.html.sh (Internationalization functions): Add striconveha.
40040         * lib/striconv.c (str_iconv): Optimize the case of an empty input
40041         string.
40042         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
40043
40044 2007-01-21  Bruno Haible  <bruno@clisp.org>
40045
40046         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
40047         * lib/striconveh.c (str_iconveh): Likewise.
40048
40049 2007-01-21  Bruno Haible  <bruno@clisp.org>
40050
40051         * lib/striconveh.h (mem_iconveh): New declaration.
40052         * lib/striconveh.c (mem_iconveh): New function.
40053         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
40054
40055 2007-01-21  Bruno Haible  <bruno@clisp.org>
40056
40057         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
40058
40059         * lib/striconveh.h (mem_cd_iconveh): Change specification.
40060         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
40061         original result buffer.
40062         (str_cd_iconveh): Update.
40063         * tests/test-striconveh.c (main): Update.
40064
40065         * lib/striconv.h (mem_cd_iconv): Change specification.
40066         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
40067         result buffer.
40068         (str_cd_iconv): Update.
40069         * tests/test-striconv.c (main): Update.
40070
40071 2007-01-21  Bruno Haible  <bruno@clisp.org>
40072
40073         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
40074
40075 2007-01-20  Jim Meyering  <jim@meyering.net>
40076
40077         * lib/userspec.c (parse_with_separator): If a user or group string
40078         starts with "+", skip the corresponding name-to-ID look-up, since
40079         such a look-up must fail: user and group names may not include "+".
40080
40081 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
40082
40083         * lib/poll.c: Include sys/time.h and time.h unconditionally,
40084         since we now assume the sys_time module.
40085         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
40086         check for sys/time.h; no longer needed.
40087         * modules/poll (Depends-on): Depend on sys_time.
40088
40089 2007-01-18  Bruno Haible  <bruno@clisp.org>
40090
40091         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
40092         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40093
40094         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
40095         gettimeofday.
40096
40097         * tests/test-gettimeofday.c: Include <time.h>.
40098         (dummy): Remove variable.
40099
40100         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
40101         gl_HEADER_SYS_TIME_H.
40102         (gl_HEADER_SYS_TIME_H): New macro.
40103
40104         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
40105         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40106         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
40107         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
40108         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40109         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
40110         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
40111         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40112         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
40113         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
40114         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40115
40116         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
40117         last change; it caused a compilation error when cross-compiling to
40118         Cygwin.
40119
40120 2007-01-18  Jim Meyering  <jim@meyering.net>
40121
40122         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
40123         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
40124         than the race-prone "test -d sys || mkdir sys".
40125         (configure.ac): Use AC_PROG_MKDIR_P.
40126         * modules/sys_select: Likewise.
40127         * modules/sys_socket: Likewise.
40128         * modules/sys_time: Likewise.
40129
40130 2007-01-18  Eric Blake  <ebb9@byu.net>
40131
40132         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
40133         replace gettimeofday.
40134         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
40135         name, to avoid infinite recursion.
40136
40137 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
40138
40139         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
40140         module sys_time.
40141         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
40142         assume timespec.h defines struct timeval.
40143         * lib/settime.c: Likewise.
40144         * lib/utimens.c: Likewise.
40145         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
40146         since we now assume the gettimeofday module.
40147         * lib/tempname.c (__gen_tempname): Likewise.
40148         * lib/gettimeofday.h: Remove.
40149         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
40150         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
40151         Include <time.h>, for 'time()'.
40152         (localtime_buffer_addr): Also use this workaround if
40153         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
40154         to simplify the uses.  All uses changed.
40155         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
40156         that #undef is inside {}, and 'const' follows type name consistently.
40157         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
40158         (gettimeofday): Do not use the maximum possible value for
40159         tv->tv_usec, since that might break usages other than ls.c.
40160         Instead, we'll leave ls.c alone.  This undoes today's patch
40161         by Bruno.  Add a compile-time warning for 1s-clock resolution;
40162         we've never observed the problem but might as well keep the
40163         canary.
40164         * lib/nanosleep.c: Include timespec.h first, for interface check.
40165         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
40166         now assume the sys_time module.
40167         * lib/tempname.c: Likewise.
40168         * lib/timespec.h: Likewise.
40169         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
40170         needed.
40171         * lib/strftime.c: Likewise.
40172         * lib/timespec.h: Likewise.
40173         * lib/posixtm.c: Include posixtm.h first, for interface check.
40174         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
40175         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
40176         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
40177         * lib/sys_time_.h: New file.
40178         * lib/timespec.h (struct timespec): Use long int, not long.
40179         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
40180         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
40181         Remove obsolescent call to AC_HEADER_TIME.
40182         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
40183         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40184         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
40185         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
40186         Likewise.
40187         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
40188         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
40189         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
40190         into the sys_time module.  Check for gettimeofday just once.
40191         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
40192         for gettimeofday signature to just check the signature.  Merely
40193         compile it, since linking doesn't test signature.  Improve test for
40194         whether gettimeofday.o is actually needed.
40195         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
40196         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
40197         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
40198         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40199         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
40200         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
40201         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
40202         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
40203         than worrying about sys/time.h.
40204         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40205         Don't bother worrying about TIME_WITH_SYS_TIME.
40206         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40207         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
40208         * m4/sys_time_h.m4: New file.
40209         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
40210         Don't include sys/time.h.  Return from main rather than exiting.
40211         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
40212         all uses changed.
40213         * modules/gethrxtime (Depends-on): Add sys_time.
40214         * modules/gettime (Depends-on): Likewise.
40215         * modules/gettimeofday (Depends-on): Likewise.
40216         * modules/nanosleep (Depends-on): Likewise.
40217         * modules/settime (Depends-on): Likewise.
40218         * modules/tempname (Depends-on): Likewise.
40219         * modules/utimens (Depends-on): Likewise.
40220         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
40221         (Include:) Change back to <sys/time.h>.
40222         (Maintainer:) Add self.
40223         * modules/sys_time: New file.
40224         * modules/tempname (Depends-on): Add gettimeofday.
40225         * tests/test-gettimeofday.c: Include <sys/time.h>
40226         rather than gettimeofday.h.
40227
40228 2007-01-17  Bruno Haible  <bruno@clisp.org>
40229
40230         * gnulib-tool (func_get_license): Revert last patch. Instead, let
40231         the license default to GPL.
40232         (func_create_testdir): Don't complain if a module is LGPL and its
40233         tests module depends on GPLed modules.
40234
40235 2007-01-17  Bruno Haible  <bruno@clisp.org>
40236
40237         * lib/gettimeofday.c (gettimeofday): Add code for the case
40238         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
40239         maximum possible value for tv->tv_usec, rather than the minimum one.
40240
40241 2005-10-08  Martin Lambers  <marlam@marlam.de>
40242 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
40243 2007-01-16  Bruno Haible  <bruno@clisp.org>
40244
40245         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
40246         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
40247         gl_FUNC_GETTIMEOFDAY.
40248         (Include): Add gettimeofday.h.
40249         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
40250         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
40251         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
40252         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
40253         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
40254         * lib/gettimeofday.h: New file.
40255         * lib/gettimeofday.c: Include <sys/timeb.h>.
40256         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
40257         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
40258         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
40259         fall back on time().
40260
40261         * tests/test-gettimeofday.c: New file.
40262         * modules/gettimeofday-tests: New file.
40263
40264 2007-01-16  Eric Blake  <ebb9@byu.net>
40265
40266         * modules/fnmatch (Depends-on): Depend on wchar.
40267         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
40268         * m4/fnmatch.m4: Likewise.
40269         * modules/mbchar (Makefile.am): Assume <wchar.h>.
40270         * m4/mbchar.m4: Likewise.
40271         * modules/mbswidth (Depends-on): Depend on wchar.
40272         * lib/mbswidth.c: Assume <wchar.h>.
40273         * m4/mbswidth.m4: Likewise.
40274         * modules/quotearg (Depends-on): Depend on wchar.
40275         * lib/quotearg.c: Assume <wchar.h>.
40276         * m4/quotearg.m4: Likewise.
40277         * modules/regex (Depends-on): Depend on wchar.
40278         * lib/regex_internal.h: Assume <wchar.h>.
40279         * m4/regex.m4: Likewise.
40280         * modules/stdint (Depends-on): Depend on wchar.
40281         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
40282         * m4/stdint.m4: Likewise.
40283         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
40284         * modules/strftime (Depends-on): Depend on wchar.
40285         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
40286         * modules/strtol (Depends-on): Depend on wchar.
40287         * lib/strtol.c: Assume <wchar.h>.
40288         * modules/wcwidth (Depends-on): Depend on wchar.
40289         * lib/wcwidth.h: Assume <wchar.h>.
40290         * m4/wcwidth.m4: Likewise.
40291
40292 2007-01-16  Bruno Haible  <bruno@clisp.org>
40293
40294         * modules/csharpexec-script: New, created from...
40295         * modules/csharpexec: ... this.
40296
40297 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40298
40299         * modules/javaexec-script: New, created from...
40300         * modules/javaexec: ... this.
40301
40302 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40303
40304         * modules/poll (Dependencies): Add sys_select.
40305
40306 2007-01-15  Jim Meyering  <jim@meyering.net>
40307
40308         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
40309         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
40310         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
40311         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
40312
40313 2007-01-15  Bruno Haible  <bruno@clisp.org>
40314
40315         * modules/striconveh: New file.
40316         * lib/striconveh.h: New file.
40317         * lib/striconveh.c: New file.
40318         * MODULES.html.sh (Internationalization functions): Add striconveh.
40319
40320         * modules/striconveh-tests: New file.
40321         * tests/test-striconveh.c: New file.
40322
40323 2007-01-15  Bruno Haible  <bruno@clisp.org>
40324
40325         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
40326         not from GNU libiconv or GNU libc.
40327
40328 2007-01-15  Bruno Haible  <bruno@clisp.org>
40329
40330         * doc/gnulib-intro.texi (Copyright): Explain the different license
40331         terms for module descriptions, autoconf macros, tests, documentation.
40332
40333 2007-01-14  Bruno Haible  <bruno@clisp.org>
40334
40335         * modules/striconv-tests: New file.
40336         * tests/test-striconv.c: New file.
40337
40338 2007-01-14  Bruno Haible  <bruno@clisp.org>
40339
40340         * modules/iconv-tests: New file.
40341         * tests/test-iconv.c: New file.
40342
40343 2007-01-14  Bruno Haible  <bruno@clisp.org>
40344
40345         * gnulib-tool (func_get_license): For test modules, use the license of
40346         the main module.
40347
40348 2007-01-14  Bruno Haible  <bruno@clisp.org>
40349
40350         * modules/iconv (Include): Clarify that <iconv.h> can only be included
40351         if iconv is found to exist.
40352
40353 2007-01-14  Bruno Haible  <bruno@clisp.org>
40354
40355         * modules/c-ctype-tests: New file.
40356         * tests/test-c-ctype.c: New file.
40357
40358 2007-01-14  Bruno Haible  <bruno@clisp.org>
40359
40360         * modules/binary-io-tests: New file.
40361         * tests/test-binary-io.sh: New file.
40362         * tests/test-binary-io.c: New file.
40363
40364 2007-01-14  Bruno Haible  <bruno@clisp.org>
40365
40366         * modules/array-oset-tests: New file.
40367         * tests/test-array_oset.c: New file.
40368
40369 2007-01-14  Bruno Haible  <bruno@clisp.org>
40370
40371         * modules/array-list-tests: New file.
40372         * tests/test-array_list.c: New file.
40373
40374 2007-01-14  Bruno Haible  <bruno@clisp.org>
40375
40376         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
40377         and make.
40378         Reported by Simon Josefsson in
40379         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
40380
40381 2007-01-14  Bruno Haible  <bruno@clisp.org>
40382
40383         * modules/allocsa-tests: New file.
40384         * tests/test-allocsa.c: New file.
40385
40386 2007-01-14  Bruno Haible  <bruno@clisp.org>
40387
40388         * modules/fchdir (Depends-on): Add absolute-header.
40389         * modules/unistd (Depends-on): Likewise.
40390
40391 2006-12-30  Bruno Haible  <bruno@clisp.org>
40392
40393         * modules/fchdir: New file.
40394         * modules/unistd (Files): Add lib/unistd_.h.
40395         (Makefile.am): Generate unistd.h from unistd_.h.
40396         * lib/fchdir.c: New file.
40397         * lib/dirent_.h: New file.
40398         * lib/unistd_.h: New file.
40399         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
40400         * m4/fchdir.m4: New file.
40401         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
40402         (gl_HEADER_UNISTD): Invoke it.
40403         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
40404         function.
40405         * lib/backupfile.c (opendir, closedir): Undefine.
40406         * lib/chown.c (open, close): Undefine.
40407         * lib/clean-temp.c (open, close): Undefine.
40408         * lib/copy-file.c (open, close): Undefine.
40409         * lib/execute.c (open, close): Undefine.
40410         * lib/fsusage.c (open, close): Undefine.
40411         * lib/gc-gnulib.c (open, close): Undefine.
40412         * lib/getcwd.c (opendir, closedir): Undefine.
40413         * lib/glob.c (opendir, closedir): Undefine.
40414         * lib/javacomp.c (open, close): Undefine.
40415         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
40416         * lib/openat-proc.c (open, close): Undefine.
40417         * lib/pagealign_alloc.c (open, close): Undefine.
40418         * lib/pipe.c (open, close): Undefine.
40419         * lib/progreloc.c (open, close): Undefine.
40420         * lib/savedir.c (opendir, closedir): Undefine.
40421         * lib/utime.c (open, close): Undefine.
40422         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
40423
40424 2007-01-10  Bruno Haible  <bruno@clisp.org>
40425
40426         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
40427
40428 2007-01-12  Eric Blake  <ebb9@byu.net>
40429
40430         Provide a robust <wchar.h>.  Further simplifications are now
40431         possible in other modules, but not included here.
40432         * modules/wchar: New module.
40433         * m4/wchar.m4: New file.
40434         * lib/wchar_.h: Likewise.
40435         * modules/mbchar (Depends-on): Depend on wchar, as the first use
40436         of the new module.
40437         * MODULES.html.sh (Extended multibyte and wide character utilities):
40438         New section.
40439
40440 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
40441
40442         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
40443         to a reasonable default for memory allocation.
40444         (xreadlink): Don't allocate a huge buffer, to work around a buggy
40445         file system that reports garbage st_size values for symlinks.
40446         Problem reported by Liyang Hu.
40447
40448 2007-01-11  Simon Josefsson  <simon@josefsson.org>
40449
40450         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
40451         Emacs .#* auto-save files).
40452
40453 2007-01-11  Bruno Haible  <bruno@clisp.org>
40454
40455         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
40456         directory.
40457
40458 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40459
40460         Use @...@ consistently in lib/wctype_.h.
40461         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
40462         on it being set to 1 or 0.
40463         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
40464         go back to AC_SUBSTing it.
40465         * modules/wctype (Makefile.am): Undo previous change.
40466
40467 2007-01-10  Eric Blake  <ebb9@byu.net>
40468
40469         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
40470         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
40471         * modules/wctype (Makefile.am): Likewise.
40472         Reported by Chris McGuire.
40473
40474 2007-01-10  Jim Meyering  <jim@meyering.net>
40475
40476         fts.c: a small readability/maintainability improvement
40477         * lib/fts.c (fts_read): Make this code slightly more readable and
40478         maintainable by hoisting the "sp->fts_cur = p" assignments to
40479         immediately follow the statements that set P.  Derived from
40480         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
40481
40482 2007-01-10  Eric Blake  <ebb9@byu.net>
40483
40484         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
40485         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
40486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40487         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40488         Reported by Chris McGuire.
40489
40490 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40491
40492         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
40493         in sed script.
40494
40495 2007-01-09  Bruno Haible  <bruno@clisp.org>
40496
40497         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
40498         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
40499         variables.
40500         (func_module): Use them.
40501
40502 2007-01-09  Bruno Haible  <bruno@clisp.org>
40503
40504         * modules/unistr/base: New file.
40505         * lib/unistr.h: New file.
40506
40507         * modules/unistr/u8-to-u16: New file.
40508         * lib/unistr/u8-to-u16.c: New file.
40509
40510         * modules/unistr/u8-to-u32: New file.
40511         * lib/unistr/u8-to-u32.c: New file.
40512
40513         * modules/unistr/u16-to-u8: New file.
40514         * lib/unistr/u16-to-u8.c: New file.
40515
40516         * modules/unistr/u16-to-u32: New file.
40517         * lib/unistr/u16-to-u32.c: New file.
40518
40519         * modules/unistr/u32-to-u8: New file.
40520         * lib/unistr/u32-to-u8.c: New file.
40521
40522         * modules/unistr/u32-to-u16: New file.
40523         * lib/unistr/u32-to-u16.c: New file.
40524
40525         * modules/unistr/u8-check: New file.
40526         * modules/unistr/u16-check: New file.
40527         * modules/unistr/u32-check: New file.
40528         * lib/unistr/u8-check.c: New file.
40529         * lib/unistr/u16-check.c: New file.
40530         * lib/unistr/u32-check.c: New file.
40531
40532         * modules/unistr/u8-chr: New file.
40533         * modules/unistr/u16-chr: New file.
40534         * modules/unistr/u32-chr: New file.
40535         * lib/unistr/u8-chr.c: New file.
40536         * lib/unistr/u16-chr.c: New file.
40537         * lib/unistr/u32-chr.c: New file.
40538
40539         * modules/unistr/u8-cmp: New file.
40540         * modules/unistr/u16-cmp: New file.
40541         * modules/unistr/u32-cmp: New file.
40542         * lib/unistr/u8-cmp.c: New file.
40543         * lib/unistr/u16-cmp.c: New file.
40544         * lib/unistr/u32-cmp.c: New file.
40545
40546         * modules/unistr/u8-cpy: New file.
40547         * modules/unistr/u16-cpy: New file.
40548         * modules/unistr/u32-cpy: New file.
40549         * lib/unistr/u8-cpy.c: New file.
40550         * lib/unistr/u16-cpy.c: New file.
40551         * lib/unistr/u32-cpy.c: New file.
40552         * lib/unistr/u-cpy.h: New file.
40553
40554         * modules/unistr/u8-cpy-alloc: New file.
40555         * modules/unistr/u16-cpy-alloc: New file.
40556         * modules/unistr/u32-cpy-alloc: New file.
40557         * lib/unistr/u8-cpy-alloc.c: New file.
40558         * lib/unistr/u16-cpy-alloc.c: New file.
40559         * lib/unistr/u32-cpy-alloc.c: New file.
40560         * lib/unistr/u-cpy-alloc.h: New file.
40561
40562         * modules/unistr/u8-endswith: New file.
40563         * modules/unistr/u16-endswith: New file.
40564         * modules/unistr/u32-endswith: New file.
40565         * lib/unistr/u8-endswith.c: New file.
40566         * lib/unistr/u16-endswith.c: New file.
40567         * lib/unistr/u32-endswith.c: New file.
40568         * lib/unistr/u-endswith.h: New file.
40569
40570         * modules/unistr/u8-mblen: New file.
40571         * modules/unistr/u16-mblen: New file.
40572         * modules/unistr/u32-mblen: New file.
40573         * lib/unistr/u8-mblen.c: New file.
40574         * lib/unistr/u16-mblen.c: New file.
40575         * lib/unistr/u32-mblen.c: New file.
40576
40577         * modules/unistr/u8-mbtouc: New file.
40578         * modules/unistr/u16-mbtouc: New file.
40579         * modules/unistr/u32-mbtouc: New file.
40580         * lib/unistr/u8-mbtouc.c: New file.
40581         * lib/unistr/u16-mbtouc.c: New file.
40582         * lib/unistr/u32-mbtouc.c: New file.
40583
40584         * modules/unistr/u8-mbtouc-safe: New file.
40585         * modules/unistr/u16-mbtouc-safe: New file.
40586         * modules/unistr/u32-mbtouc-safe: New file.
40587         * lib/unistr/u8-mbtouc-safe.c: New file.
40588         * lib/unistr/u16-mbtouc-safe.c: New file.
40589         * lib/unistr/u32-mbtouc-safe.c: New file.
40590
40591         * modules/unistr/u8-move: New file.
40592         * modules/unistr/u16-move: New file.
40593         * modules/unistr/u32-move: New file.
40594         * lib/unistr/u8-move.c: New file.
40595         * lib/unistr/u16-move.c: New file.
40596         * lib/unistr/u32-move.c: New file.
40597         * lib/unistr/u-move.h: New file.
40598
40599         * modules/unistr/u8-next: New file.
40600         * modules/unistr/u16-next: New file.
40601         * modules/unistr/u32-next: New file.
40602         * lib/unistr/u8-next.c: New file.
40603         * lib/unistr/u16-next.c: New file.
40604         * lib/unistr/u32-next.c: New file.
40605
40606         * modules/unistr/u8-prev: New file.
40607         * modules/unistr/u16-prev: New file.
40608         * modules/unistr/u32-prev: New file.
40609         * lib/unistr/u8-prev.c: New file.
40610         * lib/unistr/u16-prev.c: New file.
40611         * lib/unistr/u32-prev.c: New file.
40612
40613         * modules/unistr/u8-set: New file.
40614         * modules/unistr/u16-set: New file.
40615         * modules/unistr/u32-set: New file.
40616         * lib/unistr/u8-set.c: New file.
40617         * lib/unistr/u16-set.c: New file.
40618         * lib/unistr/u32-set.c: New file.
40619         * lib/unistr/u-set.h: New file.
40620
40621         * modules/unistr/u8-startswith: New file.
40622         * modules/unistr/u16-startswith: New file.
40623         * modules/unistr/u32-startswith: New file.
40624         * lib/unistr/u8-startswith.c: New file.
40625         * lib/unistr/u16-startswith.c: New file.
40626         * lib/unistr/u32-startswith.c: New file.
40627         * lib/unistr/u-startswith.h: New file.
40628
40629         * modules/unistr/u8-stpcpy: New file.
40630         * modules/unistr/u16-stpcpy: New file.
40631         * modules/unistr/u32-stpcpy: New file.
40632         * lib/unistr/u8-stpcpy.c: New file.
40633         * lib/unistr/u16-stpcpy.c: New file.
40634         * lib/unistr/u32-stpcpy.c: New file.
40635         * lib/unistr/u-stpcpy.h: New file.
40636
40637         * modules/unistr/u8-stpncpy: New file.
40638         * modules/unistr/u16-stpncpy: New file.
40639         * modules/unistr/u32-stpncpy: New file.
40640         * lib/unistr/u8-stpncpy.c: New file.
40641         * lib/unistr/u16-stpncpy.c: New file.
40642         * lib/unistr/u32-stpncpy.c: New file.
40643         * lib/unistr/u-stpncpy.h: New file.
40644
40645         * modules/unistr/u8-strcat: New file.
40646         * modules/unistr/u16-strcat: New file.
40647         * modules/unistr/u32-strcat: New file.
40648         * lib/unistr/u8-strcat.c: New file.
40649         * lib/unistr/u16-strcat.c: New file.
40650         * lib/unistr/u32-strcat.c: New file.
40651         * lib/unistr/u-strcat.h: New file.
40652
40653         * modules/unistr/u8-strchr: New file.
40654         * modules/unistr/u16-strchr: New file.
40655         * modules/unistr/u32-strchr: New file.
40656         * lib/unistr/u8-strchr.c: New file.
40657         * lib/unistr/u16-strchr.c: New file.
40658         * lib/unistr/u32-strchr.c: New file.
40659
40660         * modules/unistr/u8-strcmp: New file.
40661         * modules/unistr/u16-strcmp: New file.
40662         * modules/unistr/u32-strcmp: New file.
40663         * lib/unistr/u8-strcmp.c: New file.
40664         * lib/unistr/u16-strcmp.c: New file.
40665         * lib/unistr/u32-strcmp.c: New file.
40666
40667         * modules/unistr/u8-strcpy: New file.
40668         * modules/unistr/u16-strcpy: New file.
40669         * modules/unistr/u32-strcpy: New file.
40670         * lib/unistr/u8-strcpy.c: New file.
40671         * lib/unistr/u16-strcpy.c: New file.
40672         * lib/unistr/u32-strcpy.c: New file.
40673         * lib/unistr/u-strcpy.h: New file.
40674
40675         * modules/unistr/u8-strcspn: New file.
40676         * modules/unistr/u16-strcspn: New file.
40677         * modules/unistr/u32-strcspn: New file.
40678         * lib/unistr/u8-strcspn.c: New file.
40679         * lib/unistr/u16-strcspn.c: New file.
40680         * lib/unistr/u32-strcspn.c: New file.
40681         * lib/unistr/u-strcspn.h: New file.
40682
40683         * modules/unistr/u8-strdup: New file.
40684         * modules/unistr/u16-strdup: New file.
40685         * modules/unistr/u32-strdup: New file.
40686         * lib/unistr/u8-strdup.c: New file.
40687         * lib/unistr/u16-strdup.c: New file.
40688         * lib/unistr/u32-strdup.c: New file.
40689         * lib/unistr/u-strdup.h: New file.
40690
40691         * modules/unistr/u8-strlen: New file.
40692         * modules/unistr/u16-strlen: New file.
40693         * modules/unistr/u32-strlen: New file.
40694         * lib/unistr/u8-strlen.c: New file.
40695         * lib/unistr/u16-strlen.c: New file.
40696         * lib/unistr/u32-strlen.c: New file.
40697         * lib/unistr/u-strlen.h: New file.
40698
40699         * modules/unistr/u8-strmblen: New file.
40700         * modules/unistr/u16-strmblen: New file.
40701         * modules/unistr/u32-strmblen: New file.
40702         * lib/unistr/u8-strmblen.c: New file.
40703         * lib/unistr/u16-strmblen.c: New file.
40704         * lib/unistr/u32-strmblen.c: New file.
40705
40706         * modules/unistr/u8-strmbtouc: New file.
40707         * modules/unistr/u16-strmbtouc: New file.
40708         * modules/unistr/u32-strmbtouc: New file.
40709         * lib/unistr/u8-strmbtouc.c: New file.
40710         * lib/unistr/u16-strmbtouc.c: New file.
40711         * lib/unistr/u32-strmbtouc.c: New file.
40712
40713         * modules/unistr/u8-strncat: New file.
40714         * modules/unistr/u16-strncat: New file.
40715         * modules/unistr/u32-strncat: New file.
40716         * lib/unistr/u8-strncat.c: New file.
40717         * lib/unistr/u16-strncat.c: New file.
40718         * lib/unistr/u32-strncat.c: New file.
40719         * lib/unistr/u-strncat.h: New file.
40720
40721         * modules/unistr/u8-strncmp: New file.
40722         * modules/unistr/u16-strncmp: New file.
40723         * modules/unistr/u32-strncmp: New file.
40724         * lib/unistr/u8-strncmp.c: New file.
40725         * lib/unistr/u16-strncmp.c: New file.
40726         * lib/unistr/u32-strncmp.c: New file.
40727
40728         * modules/unistr/u8-strncpy: New file.
40729         * modules/unistr/u16-strncpy: New file.
40730         * modules/unistr/u32-strncpy: New file.
40731         * lib/unistr/u8-strncpy.c: New file.
40732         * lib/unistr/u16-strncpy.c: New file.
40733         * lib/unistr/u32-strncpy.c: New file.
40734         * lib/unistr/u-strncpy.h: New file.
40735
40736         * modules/unistr/u8-strnlen: New file.
40737         * modules/unistr/u16-strnlen: New file.
40738         * modules/unistr/u32-strnlen: New file.
40739         * lib/unistr/u8-strnlen.c: New file.
40740         * lib/unistr/u16-strnlen.c: New file.
40741         * lib/unistr/u32-strnlen.c: New file.
40742         * lib/unistr/u-strnlen.h: New file.
40743
40744         * modules/unistr/u8-strpbrk: New file.
40745         * modules/unistr/u16-strpbrk: New file.
40746         * modules/unistr/u32-strpbrk: New file.
40747         * lib/unistr/u8-strpbrk.c: New file.
40748         * lib/unistr/u16-strpbrk.c: New file.
40749         * lib/unistr/u32-strpbrk.c: New file.
40750         * lib/unistr/u-strpbrk.h: New file.
40751
40752         * modules/unistr/u8-strrchr: New file.
40753         * modules/unistr/u16-strrchr: New file.
40754         * modules/unistr/u32-strrchr: New file.
40755         * lib/unistr/u8-strrchr.c: New file.
40756         * lib/unistr/u16-strrchr.c: New file.
40757         * lib/unistr/u32-strrchr.c: New file.
40758
40759         * modules/unistr/u8-strspn: New file.
40760         * modules/unistr/u16-strspn: New file.
40761         * modules/unistr/u32-strspn: New file.
40762         * lib/unistr/u8-strspn.c: New file.
40763         * lib/unistr/u16-strspn.c: New file.
40764         * lib/unistr/u32-strspn.c: New file.
40765         * lib/unistr/u-strspn.h: New file.
40766
40767         * modules/unistr/u8-strstr: New file.
40768         * modules/unistr/u16-strstr: New file.
40769         * modules/unistr/u32-strstr: New file.
40770         * lib/unistr/u8-strstr.c: New file.
40771         * lib/unistr/u16-strstr.c: New file.
40772         * lib/unistr/u32-strstr.c: New file.
40773         * lib/unistr/u-strstr.h: New file.
40774
40775         * modules/unistr/u8-strtok: New file.
40776         * modules/unistr/u16-strtok: New file.
40777         * modules/unistr/u32-strtok: New file.
40778         * lib/unistr/u8-strtok.c: New file.
40779         * lib/unistr/u16-strtok.c: New file.
40780         * lib/unistr/u32-strtok.c: New file.
40781         * lib/unistr/u-strtok.h: New file.
40782
40783         * modules/unistr/u8-uctomb: New file.
40784         * modules/unistr/u16-uctomb: New file.
40785         * modules/unistr/u32-uctomb: New file.
40786         * lib/unistr/u8-uctomb.c: New file.
40787         * lib/unistr/u16-uctomb.c: New file.
40788         * lib/unistr/u32-uctomb.c: New file.
40789
40790         * MODULES.html.sh (Unicode string functions): Add the new modules.
40791
40792 2007-01-08  Bruno Haible  <bruno@clisp.org>
40793
40794         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
40795         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
40796         subdirectories.
40797
40798 2007-01-08  Karl Berry  <karl@gnu.org>
40799
40800         * doc/error.texi: mention that main() fns must set program_name
40801         when progname is used.
40802
40803 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
40804
40805         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
40806         WCTYPE_H is empty, for the benefit of builds from non-distclean
40807         directories.  Problem reported by Eric Blake in
40808         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
40809
40810 2007-01-08  Bruno Haible  <bruno@clisp.org>
40811
40812         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
40813         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
40814         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
40815         PROVIDE_CANONICALIZE_FILENAME_MODE.
40816         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
40817
40818 2007-01-08  Bruno Haible  <bruno@clisp.org>
40819
40820         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
40821         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
40822         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
40823         * lib/fts.c: Likewise.
40824         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
40825
40826 2006-12-25  Bruno Haible  <bruno@clisp.org>
40827
40828         * modules/utf8-ucs4-safe: New file.
40829         * lib/utf8-ucs4-safe.h: New file.
40830         * lib/unistr/utf8-ucs4-safe.c: New file.
40831
40832         * modules/utf16-ucs4-safe: New file.
40833         * lib/utf16-ucs4-safe.h: New file.
40834         * lib/unistr/utf16-ucs4-safe.c: New file.
40835
40836         * MODULES.html.sh (Unicode string functions): Add the new modules.
40837
40838 2007-01-08  Bruno Haible  <bruno@clisp.org>
40839
40840         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
40841         (Depends-on): Add unitypes.
40842         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
40843         (u8_mbtouc_aux): Move out to separate file.
40844         (u8_mbtouc): Use ucs4_t, uint8_t types.
40845         * lib/unistr/utf8-ucs4.c: New file.
40846
40847         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
40848         (Depends-on): Add unitypes.
40849         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
40850         (u16_mbtouc_aux): Move out to separate file.
40851         (u16_mbtouc): Use ucs4_t, uint16_t types.
40852         * lib/unistr/utf16-ucs4.c: New file.
40853
40854         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
40855         (Depends-on): Add unitypes.
40856         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
40857         (u8_uctomb_aux): Move out to separate file.
40858         (u8_uctomb): Use ucs4_t, uint8_t types.
40859         * lib/unistr/ucs4-utf8.c: New file.
40860
40861         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
40862         (Depends-on): Add unitypes.
40863         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
40864         (u16_uctomb_aux): Move out to separate file.
40865         (u16_uctomb): Use ucs4_t, uint16_t types.
40866         * lib/unistr/ucs4-utf16.c: New file.
40867
40868 2006-12-25  Bruno Haible  <bruno@clisp.org>
40869
40870         * modules/unitypes: New file.
40871         * lib/unitypes.h: New file.
40872         * MODULES.html.sh (func_all_modules): New section "Unicode string
40873         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
40874         this section. Add unitypes.
40875
40876 2007-01-08  Bruno Haible  <bruno@clisp.org>
40877
40878         Avoid variable names that conflict with those from libtool.
40879         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
40880         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
40881         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
40882         library_names_spec to acl_library_names_spec, hardcode_* to
40883         acl_hardcode_*.
40884         Reported by Ralf Wildenhues.
40885
40886 2007-01-08  Bruno Haible  <bruno@clisp.org>
40887
40888         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
40889         definition.
40890         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
40891         definition.
40892         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
40893         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
40894         definition.
40895         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
40896         definition.
40897         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
40898         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
40899         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
40900         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
40901         definition.
40902         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
40903         definition.
40904         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
40905         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
40906         GC_USE_<algorithm>.
40907         * lib/gc-libgcrypt.c: Likewise.
40908         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
40909         * modules/gc-arctwo (configure.ac): Likewise.
40910         * modules/gc-des (configure.ac): Likewise.
40911         * modules/gc-hmac-md5 (configure.ac): Likewise.
40912         * modules/gc-hmac-sha1 (configure.ac): Likewise.
40913         * modules/gc-md2 (configure.ac): Likewise.
40914         * modules/gc-md4 (configure.ac): Likewise.
40915         * modules/gc-md5 (configure.ac): Likewise.
40916         * modules/gc-random (configure.ac): Likewise.
40917         * modules/gc-rijndael (configure.ac): Likewise.
40918         * modules/gc-sha1 (configure.ac): Likewise.
40919
40920 2007-01-08  Bruno Haible  <bruno@clisp.org>
40921
40922         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
40923         macro definition.
40924         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
40925         definition.
40926         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
40927         definition.
40928         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
40929         * modules/fcntl-safer (configure.ac): Likewise.
40930         * modules/fopen-safer (configure.ac): Likewise.
40931         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
40932         GNULIB_FWRITEERROR macro definition.
40933
40934 2007-01-08  Bruno Haible  <bruno@clisp.org>
40935
40936         * m4/gnulib-common.m4: New file.
40937         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
40938         (func_get_filelist): Add m4/gnulib-common.m4.
40939
40940 2007-01-08  Bruno Haible  <bruno@clisp.org>
40941
40942         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
40943         command.
40944
40945 2007-01-08  Jim Meyering  <jim@meyering.net>
40946
40947         Use a more robust test for a "can't happen" condition.
40948         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
40949         narrowed the st_size value.  Presuming the "can't happen" condition
40950         is true, that narrowing could conceivably convert an invalid st_size
40951         value into a valid one.  Instead, use a change based on Matthew
40952         Woehlke's original patch.
40953
40954         Slight readability improvement: use an assert-like macro
40955         in place of literal "abort ()" uses.
40956         * lib/fts.c (fts_assert): Define.
40957         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
40958         Use this macro instead of a bare 'abort'.
40959
40960 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
40961
40962         Don't worry about using IRIX 5.3's wctype.h broken definitions;
40963         simply work around them.
40964         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
40965         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
40966         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
40967         declaring.
40968         Don't bother to define as macros, since the standard doesn't require it.
40969         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
40970         longer worry about IRIX 5.3.
40971         (HAVE_WCTYPE_CTMP_BUG): Remove.
40972
40973 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40974
40975         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
40976         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
40977         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
40978         Problems reported by Georg Schwarz for IRIX 5.3.
40979
40980         * gnulib-tool (autoconf_minversion): Take the maximum version number
40981         found, not the minimum.  Problem reported by James Youngman.
40982
40983 2007-01-03  Karl Berry  <karl@gnu.org>
40984
40985         * doc/error.texi: new file, explaining interaction with progname.
40986         * doc/gnulib.texi: include it.  Update copyright.
40987
40988 2007-01-03  Simon Josefsson  <simon@josefsson.org>
40989
40990         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
40991         AC_CANONICAL_HOST, to improve autobuild outputs.
40992
40993 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
40994             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
40995
40996         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
40997         sockets, server sockets, and other file descriptors.  Count errors
40998         to compute the return value.  Reorder the code a bit to be easier
40999         to follow.  Don't set event bits that were not requested (except
41000         POLLERR and POLLHUP).
41001
41002 2007-01-01  Bruno Haible  <bruno@clisp.org>
41003
41004         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
41005
41006 2007-01-03  Jim Meyering  <jim@meyering.net>
41007
41008         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
41009
41010 2007-01-02  Bruno Haible  <bruno@clisp.org>
41011
41012         * modules/settime (Include): Require timespec.h.
41013         * modules/nanosleep (Include): Likewise.
41014
41015 2007-01-01  Bruno Haible  <bruno@clisp.org>
41016
41017         * gnulib-tool (func_emit_copyright_notice): Bump year.
41018         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
41019
41020 2007-01-01  Bruno Haible  <bruno@clisp.org>
41021
41022         Improve support for OpenBSD.
41023         * build-aux/config.rpath (libname_spec): Export.
41024         (library_names_spec): New variable. Export.
41025         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
41026         library_names_spec from the config.rpath output. Locate shared library
41027         through the name pattern in library_names_spec.
41028
41029 2007-01-01  Eric Blake  <ebb9@byu.net>
41030
41031         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
41032
41033 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
41034
41035         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
41036         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
41037         assume the C locale, and avoid an "eval" that could cause trouble.
41038         Problem with SORT reported by Bob Proulx.
41039
41040         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
41041         Define.  Trivial patch from Henning Nielsen Lund, originally
41042         sent to bug-grep@gnu.org today.
41043
41044 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41045
41046         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
41047         struct stat.  Problem reported by Henning Nielsen Lund.
41048         * lib/acl.c: Include acl.h first, to check interface.  Don't
41049         bother to include sys/types.h and sys/stat.h again.
41050
41051 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
41052
41053         Import the following change from libc; problem reported by
41054         Sven Verdoolaege.
41055
41056         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
41057
41058         [BZ #1373]
41059         * lib/argp.h: Remove __NTH for __argp_usage inline function.
41060
41061 2006-12-28  Jim Meyering  <jim@meyering.net>
41062
41063         * build-aux/announce-gen: Do not assume that the package
41064         builds any of tar.gz, tar.bz2, and .xdelta files.
41065         Suggestion from Simon Josefsson.
41066
41067 2006-12-28  Simon Josefsson  <simon@josefsson.org>
41068
41069         * modules/announce-gen: New file.
41070
41071 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
41072
41073         * lib/mbchar.h: Just include <wctype.h>; the wctype module
41074         handles its gotchas now.
41075         * lib/mbswidth.c: Likewise.
41076         * lib/wcwidth.h: Likewise.
41077         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
41078         and iswcntrl; the wctype module does this stuff now.
41079         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41080         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41081         * modules/mbchar (Depends-on): Add wctype.
41082         * modules/mbswidth (Depends-on): Likewise.
41083         * modules/wcwidth (Depends-on): Likewise.
41084
41085 2006-12-27  Eric Blake  <ebb9@byu.net>
41086
41087         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
41088         module uses more than what <wctype.h> is required to provide.
41089
41090 2006-12-26  Eric Blake  <ebb9@byu.net>
41091
41092         * gnulib-tool (sed_extract_prog): Avoid space-tab.
41093
41094 2006-12-26  Eric Blake  <ebb9@byu.net>
41095
41096         * modules/absolute-header: New module.
41097         * modules/fcntl (Depends-on): Depend on it.
41098         * modules/inttypes (Depends-on): Likewise.
41099         * modules/stdint (Depends-on): Likewise.
41100         * modules/sys_stat (Depends-on): Likewise.
41101         * modules/wctype (Depends-on): Likewise.
41102         * MODULES.html.sh (Support for building libraries and
41103         executables): Document it.
41104
41105 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41106
41107         * gnulib-tool (SED): Remove, undoing previous change.
41108         The problem was that it broke coreutils on Solaris, because
41109         "sed --posix" leaked into a makefile.
41110         (sed): New alias, if 'alias' and GNU sed.
41111
41112 2006-12-24  Jim Meyering  <jim@meyering.net>
41113
41114         Work around an fchownat bug in glibc-2.4:
41115         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
41116         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
41117         in spite of the -P option.
41118         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
41119         New macros.
41120         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
41121         * modules/openat (Files): Add lib/fchownat.c.
41122         * lib/openat.c (fchownat): Don't define here.  Move to...
41123         * lib/fchownat.c: ...this new file.
41124
41125 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
41126
41127         Fix bug reported by Bruno Haible in
41128         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
41129         where quotearg.c didn't compile on Mac OS X 10.2 because it
41130         lacks <wchar.h> and wint_t.
41131         * lib/wctype_.h (__wctype_wint_t): New type.
41132         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
41133         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
41134         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
41135         Arg is now of type __wctype_wint_t, not wint_t.
41136         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
41137         substitute HAVE_WINT_T.
41138         * modules/wctype (Files): Add m4/wint_t.m4.
41139         (wctype.h): Substitute HAVE_WINT_T.
41140
41141 2006-12-23  Bruno Haible  <bruno@clisp.org>
41142
41143         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
41144
41145 2006-12-23  Bruno Haible  <bruno@clisp.org>
41146
41147         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
41148         S_ISLNK.
41149         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
41150         mingw.
41151
41152 2006-12-22  Bruno Haible  <bruno@clisp.org>
41153
41154         * lib/copy-file.c: Include acl.h.
41155         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
41156         Close the file descriptors only after being done with copy_acl.
41157         * modules/copy-file (Depends-on): Add acl.
41158
41159 2006-12-22  Bruno Haible  <bruno@clisp.org>
41160
41161         * gnulib-tool (SED): New variable.
41162         Use $SED instead of sed everywhere.
41163
41164 2006-12-22  Bruno Haible  <bruno@clisp.org>
41165
41166         * modules/no-c++: New file.
41167         * m4/no-c++.m4: New file.
41168         * MODULES.html.sh (Support for building libraries and executables):
41169         Add no-c++.
41170
41171 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41172
41173         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
41174         Include <limits.h>, and use its INT_MAX to rewrite the
41175         j loop so that it does not overflow 'int'.  Problem reported by
41176         Ralf Wildenhues in
41177         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
41178         Play it safe by shifting left by 1 rather than multiplying by 2,
41179         as GCC is less likely to optimize this away when the value
41180         is signed (when it assumes overflow leads to undefined behavior).
41181         Also, don't assume time_t uses two's complement.
41182
41183 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41184
41185         * MODULES.html.sh: New module wctype.
41186         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
41187         * lib/fnmatch.c: Don't bother to include <wchar.h> before
41188         <wctype.h>, since the new wctype module should fix this.
41189         * lib/quotearg.c: Include <wctype.h> unconditionally, since
41190         the wctype module should arrange for it.
41191         * lib/regex_internal.h: Likewise.
41192         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
41193         since the wctype module should handle this now.
41194         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
41195         * modules/fnmatch (Depends-on): Add wctype.
41196         * modules/quotearg (Depends-on): Likewise.
41197         * modules/regex (Depends-on): Likewise.
41198
41199 2006-12-19  Bruno Haible  <bruno@clisp.org>
41200
41201         * lib/strdup.h [C++]: Wrap definitions in extern "C".
41202         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
41203
41204 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41205
41206         * modules/savewd (Depends-on): Fix dependency on fcntl.
41207
41208 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41209
41210         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
41211         conforms to C99, rather than relying on the user's environment
41212         setting of STDINT_H.
41213
41214 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41215         and Eric Blake  <ebb9@byu.net>
41216
41217         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
41218         This is more consistent with the other defines here.
41219         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
41220         Port to z/OS.  Problem reported by Paul Gilmartin.
41221         Change local vars to use gl_ prefix rather than ac_.
41222         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
41223         with other defines.
41224         * modules/double-slash-root: New module.
41225         * modules/dirname (Files): Remove m4/double-slash-root.m4.
41226         (Depends-on): Add double-slash-root.
41227         * MODULES.html.sh (File system functions): Mention new module.
41228
41229 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
41230
41231         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
41232         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
41233         This is for the benefit of gzip, which doesn't do i18n.
41234
41235 2006-12-12  Jim Meyering  <jim@meyering.net>
41236
41237         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
41238         Reported by Andreas Schwab <schwab@suse.de>.
41239
41240 2006-12-12  Bruno Haible  <bruno@clisp.org>
41241
41242         Merge these changes.
41243         2006-09-05  Bruno Haible  <bruno@clisp.org>
41244         * lib/iconvme.c (iconv_string): No need to save and restore errno when
41245         iconv_alloc succeeded.
41246         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
41247         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
41248         test for " && dest " at the end - dest is always != NULL there. Call
41249         iconv with 4xNULL arguments initially, to reset the state. Call iconv
41250         with 2xNULL arguments, also to flush the state storage. Handle the
41251         IRIX iconv behaviour. Realloc the final result, to throw away unused
41252         memory.
41253
41254 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
41255
41256         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
41257         and fchmodat unconditionally, since glibc 2.4 has them.
41258         Problem reported by Arkadiusz Miskiewicz.
41259
41260 2006-12-10  Bruno Haible  <bruno@clisp.org>
41261
41262         * gnulib-tool (func_import): Show the include files only for those
41263         modules that are copied and specified.
41264         Reported by Karl Berry.
41265
41266 2006-12-08  Jim Meyering  <jim@meyering.net>
41267
41268         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
41269         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
41270
41271         * build-aux/announce-gen: Add two new options, both optional:
41272         --bootstrap-tools=TOOL_LIST
41273               a comma-separated list of tools, e.g.,
41274               autoconf,automake,bison,gnulib
41275         --gnulib-snapshot-date=DATE
41276               if gnulib is in the bootstrap tool list,
41277               then report this as the snapshot date.
41278               If not specified, use the current date/time.
41279               If you specify a date here, be sure it's UTC.
41280
41281 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41282
41283         * tests/test-argp-2.sh: Fix test to match actual output.
41284         (func_compare): Fix sed script to be portable.
41285
41286 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41287
41288         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
41289         workaround for this case.  It is not autoconfigured now; offhand
41290         it's hard to see how to autoconfigure it.
41291
41292 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41293
41294         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
41295         a directory that is about to be chowned.  Such a directory's
41296         initial file permissions should permit the owner only and this
41297         should not be changed until after the chown, since the group and
41298         other bits would be incorrect if they granted permission before
41299         the chown.
41300
41301         Fix porting problem for iswctype reported by Georg Schwarz in:
41302         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
41303         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
41304         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
41305         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
41306         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41307
41308 2006-12-03  Jim Meyering  <jim@meyering.net>
41309
41310         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
41311         p->fts_statp may not yet be defined.
41312         (fts_read): Instead, set it in the caller, once p->fts_statp is
41313         sure to be defined, and corresponds to a top-level directory.
41314         This bug made du -x fail.  Here's the coreutils test case:
41315         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
41316         Reported by Mike Frysinger.
41317
41318 2006-12-01  Jim Meyering  <jim@meyering.net>
41319
41320         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
41321         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
41322         Reported by Simon Josefsson.
41323
41324 2006-11-30  Jim Meyering  <jim@meyering.net>
41325
41326         * m4/warning.m4: Use the all-permissive copyright notice
41327         recommended by RMS (rather than LGPL).
41328         * m4/vararrays.m4: Likewise.
41329         * m4/flexmember.m4: Likewise.
41330
41331 2006-11-29  Bruno Haible  <bruno@clisp.org>
41332
41333         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41334         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
41335         using +=.
41336         Reported by Simon Josefsson <simon@josefsson.org>.
41337
41338 2006-11-28  James Youngman <jay@gnu.org>
41339
41340         * README: Advise users that they might find the bug-gnulib@gnu.org
41341         and autotools-announce@gnu.org mailing lists useful.
41342
41343 2006-11-28  Bruno Haible  <bruno@clisp.org>
41344
41345         * m4/ptrdiff_max.m4: Remove file.
41346
41347 2006-11-21  Bruno Haible  <bruno@clisp.org>
41348
41349         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
41350         _AC_COMPUTE_INT.
41351         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41352         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
41353         _AC_COMPUTE_INT.
41354         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41355         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
41356         _AC_COMPUTE_INT.
41357         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41358
41359 2006-11-28  Jim Meyering  <jim@meyering.net>
41360
41361         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
41362         warning from "gcc -Wshadow" about shadowing the builtin.
41363
41364 2006-11-27  Bruno Haible  <bruno@clisp.org>
41365
41366         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
41367         _AC_COMPUTE_INT.
41368         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
41369
41370 2006-11-27  Bruno Haible  <bruno@clisp.org>
41371             Paul Eggert  <eggert@cs.ucla.edu>
41372
41373         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
41374
41375 2006-11-26  Bruno Haible  <bruno@clisp.org>
41376
41377         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
41378         noinst_LTLIBRARIES.
41379
41380 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
41381             Bruno Haible  <bruno@clisp.org>
41382
41383         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
41384         if compiling with "gcc -ansi".
41385
41386 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
41387
41388         Fix some incompatibilities with gcc -ansi -pedantic.
41389         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
41390         if compiling pedantically with GCC, unless it's C99 or later.
41391         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
41392         it mishandles gcc -ansi -pedantic as well.
41393         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
41394         if gcc -pedantic.
41395         * lib/regexec.c (check_node_accept_bytes): Don't use auto
41396         initializers for struct if -pedantic, unless it's C99 or later.
41397
41398 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
41399
41400         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
41401         Don't close an fd more than once. Identical atimes indicate
41402         success, not failure.
41403
41404 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
41405
41406         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
41407
41408 2006-11-23  Jim Meyering  <jim@meyering.net>
41409
41410         * build-aux/announce-gen: New file.  From coreutils.
41411
41412 2006-11-22  Jim Meyering  <jim@meyering.net>
41413
41414         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
41415         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
41416         (fts_read): Use a temporary to narrow the overused st_size member
41417         before using it in a switch statement.  Reported by Matthew Woehlke.
41418
41419         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
41420         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41421
41422 2006-11-20  Bruno Haible  <bruno@clisp.org>
41423
41424         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
41425         changequote instead of pairs of brackets.
41426         Reported by Andreas Schwab <schwab@suse.de>.
41427
41428 2006-11-21  Jim Meyering  <jim@meyering.net>
41429
41430         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
41431         so as to remain compatible with older compilers.
41432         Patch from Michael Deutschmann.
41433
41434 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41435
41436         * MODULES.html.sh (File system functions): Add openat.
41437
41438         * lib/openat.h (rpl_fstatat): New macro, if
41439         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
41440         (fstatat): Define to rpl_fstatat under the same conditions,
41441         unless COMPILING_FSTATAT.
41442         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
41443         seems to have the bug.
41444         * lib/fstatat.c: New file.
41445         * modules/openat (Files): Add it.
41446
41447 2006-11-20  Bruno Haible  <bruno@clisp.org>
41448
41449         * Makefile: New file.
41450
41451 2006-11-20  Jim Meyering  <jim@meyering.net>
41452
41453         The beginnings of syntax-related checks for gnulib.
41454         * lib/Makefile: New file.
41455         * lib/t-idcache: New script.  Ensure that the two halves of
41456         idcache.c stay in sync.
41457
41458         * lib/idcache.c: Adjust comments in user- and group- portions to
41459         be more accurate, and to be consistent with one another.
41460
41461 2006-11-20  Jim Meyering  <jim@meyering.net>
41462
41463         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
41464         continue using the flexible array member (thus, this module performs
41465         half as many malloc calls), with the addition that...
41466         (getgroup, getuser): Consistently record a non-match via an empty
41467         "name" string, and map an empty string match to a NULL return value.
41468         * modules/idcache (Depends-on): Re-add flexmember.
41469
41470         * lib/idcache.c (getuser): Remove all uses of the register keyword.
41471         (getuidbyname, getgroup, getgidbyname): Likewise.
41472
41473         Use cleaner syntax: NULL rather than 0.
41474         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
41475
41476 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
41477
41478         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
41479         It mishandled the case where the group was missing.
41480         Problem reported by Greg Schafer.
41481         * modules/idcache: Likewise.
41482
41483 2006-11-18  Jim Meyering  <jim@meyering.net>
41484
41485         * check-module (%exempt_header): Add exception for some
41486         conditionally-included headers.
41487
41488         * modules/i-ring (Depends-on): Add verify.
41489         (License): Change to LGPL.
41490
41491 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41492
41493         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
41494         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
41495         and inttostr.h.  Use snprintf rather than uinttostr, so that
41496         LGPLed code doesn't depend on GPLed.
41497
41498 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
41499
41500         * modules/inline (License): Change from GPL to LGPL.
41501
41502 2006-11-17  Jim Meyering  <jim@meyering.net>
41503
41504         * modules/d-type (License): Switch to LGPL.
41505
41506 2006-11-15  Bruno Haible  <bruno@clisp.org>
41507
41508         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
41509
41510 2006-11-15  Eric Blake  <ebb9@byu.net>
41511
41512         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
41513         the module dependency.
41514
41515 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41516             Bruno Haible  <bruno@clisp.org>
41517
41518         * gnulib-tool (func_create_testdir): Add license consistency check.
41519
41520 2006-11-15  Eric Blake  <ebb9@byu.net>
41521
41522         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
41523         random "(cached)" in configure output.
41524
41525 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41526
41527         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
41528         test for conforming inttypes.h is both announced and cached.
41529
41530         * MODULES.html.sh (seen_modules, seen_files): New variables.
41531         (func_module): Rewrite to use a few less gnulib-tool and sed
41532         invocations.  Avoid a couple of quadratic algorithms for ...
41533         (missed_modules, missed_files): ... these, with ...
41534         (func_append, func_tmpdir): ... these new functions, from
41535         gnulib-tool.  Analogously, install traps for cleanup.
41536
41537         * tests/test-gc.c (main): Remove unused variables.
41538         * tests/test-read-file.c: Include stdlib.h, for 'free'.
41539
41540 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
41541
41542         * modules/inttostr (License): Change to LGPL.
41543
41544 2006-11-14  Eric Blake  <ebb9@byu.net>
41545
41546         * modules/tempname (License): Change to LGPL.
41547
41548 2006-11-14  Eric Blake  <ebb9@byu.net>
41549
41550         * doc/functions.texi (Function Portability): *printf functions on
41551         Cygwin now understand all POSIX size specifiers.
41552
41553 2006-11-14  Bruno Haible  <bruno@clisp.org>
41554
41555         * modules/c-ctype (License): Change to LGPL.
41556
41557 2006-11-12  Bruno Haible  <bruno@clisp.org>
41558
41559         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41560         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
41561         for GNOME libraries, for which the include files are installed in
41562         subdirectories of $prefix/include.
41563
41564 2006-11-12  Bruno Haible  <bruno@clisp.org>
41565
41566         * m4/lib-link.m4: Require at least autoconf-2.54.
41567         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
41568         name to underscores for the --with option.
41569
41570 2006-11-13  Bruno Haible  <bruno@clisp.org>
41571
41572         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
41573         the tests directory.
41574         Reported by Ralf Wildenhues.
41575
41576 2006-11-13  Bruno Haible  <bruno@clisp.org>
41577
41578         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
41579         (func_emit_initmacro_end): Undo the override here.
41580         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
41581         Works around the famous automake error in coreutils.
41582
41583 2006-11-13  Eric Blake  <ebb9@byu.net>
41584
41585         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
41586         element, not its node.
41587
41588 2006-11-12  Bruno Haible  <bruno@clisp.org>
41589
41590         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
41591         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
41592
41593 2006-11-12  Bruno Haible  <bruno@clisp.org>
41594
41595         * gnulib-tool: New option --local-symlink.
41596         (func_usage): Document it.
41597         (lsymbolic): New variable.
41598         (func_import, func_create_testdir): If --symlink was not specified,
41599         test whether --local-symlink was specified and the file comes from
41600         the local_gnulib_dir.
41601
41602 2006-11-12  Bruno Haible  <bruno@clisp.org>
41603
41604         * gnulib-tool (func_ln): New function.
41605         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
41606
41607 2006-11-12  Bruno Haible  <bruno@clisp.org>
41608
41609         Finish support for source files in subdirectories.
41610         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
41611         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
41612         AUTOMAKE_OPTIONS.
41613         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
41614
41615 2006-11-12  Bruno Haible  <bruno@clisp.org>
41616
41617         * gnulib-tool (func_get_automake_snippet): Synthesize also an
41618         EXTRA_lib_SOURCES augmentation.
41619         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
41620
41621 2006-11-12  Jim Meyering  <jim@meyering.net>
41622
41623         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
41624         file descriptors.  This also averts a failure on systems with
41625         native openat support when a traversed directory lacks "x" access.
41626         * lib/fts_.h: Include "i-ring.h"
41627         (struct FTS) [fts_fd_ring]: New member.
41628         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
41629         (FCHDIR): Add parentheses.
41630         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
41631         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
41632         When descending, rather than simply closing the previous
41633         fts_cwd_fd value, push that file descriptor onto the ring.
41634         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
41635         (fts_open): Initialize the new fd_ring member.
41636         (fts_close): Clear the ring.
41637         (fts_safe_changedir): When possible, use our new fd_ring to skip
41638         the diropen and fstat and dev/ino comparison that would normally
41639         accompany a virtual `chdir ("..")'.
41640
41641         * modules/fts (Depends-on): Add i-ring.
41642         * modules/i-ring: New module.
41643         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
41644         * m4/i-ring.m4: New file.
41645
41646 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41647
41648         * gnulib-tool (func_create_testdir): Fix replacement of
41649         `build-aux' in configure.ac.  Run autotools in gltests
41650         subdirectory.
41651         (func_create_testdir, func_create_megatestdir, test): There is
41652         no need for '--force' in most autotool invocations in a new
41653         tree.  Actually fail the whole test if any of the tools, or the
41654         configure or make stages fail.
41655
41656         Sync from Automake.
41657         * build-aux/gnupload: Revert last change.  Add pointer to upload
41658         instructions of the GNU Maintenance Instructions.
41659         Suggestion by Karl Berry.
41660
41661 2006-11-10  Jim Meyering  <jim@meyering.net>
41662
41663         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
41664
41665 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41666
41667         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
41668         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
41669         (bind_textdomain_codeset) [! ENABLE_NLS]:
41670         Evaluate all the arguments.  That way, callers get compatible behavior
41671         if the arguments have side effects.  Also, it avoids some GCC
41672         diagnostics in some cases; Joel E. Denny reported problems when Bison
41673         was configured with --enable-gcc-warnigs.
41674
41675 2006-11-10  Jim Meyering  <jim@meyering.net>
41676
41677         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
41678         relevant options in CFLAGS (like -O, -fno-inline) are taken into
41679         account.
41680
41681 2006-11-10  Jim Meyering  <jim@meyering.net>
41682
41683         * modules/inline: New file/module.
41684         * modules/xalloc (Files): Remove m4/inline.m4.
41685         (Depends-on): Add inline, instead.
41686         * modules/oset: Likewise.
41687         * modules/list: Likewise.
41688
41689 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
41690
41691         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
41692         Problem reported by Matthew Woehlke.
41693
41694 2006-11-09  Bruno Haible  <bruno@clisp.org>
41695
41696         * lib/tempname.c (gen_tempname): Remove variant that invokes
41697         __gen_tempname.
41698         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
41699         __gen_tempname.
41700
41701 2006-11-08  Bruno Haible  <bruno@clisp.org>
41702
41703         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
41704         to 'yes' instead of 'cross-compiling'.
41705
41706 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
41707
41708         * lib/quotearg.h (quotearg_free): New decl.
41709         * lib/quotearg.c (quotearg_free): New function.
41710         (slot0, nslots, slotvec0, slotvec):
41711         Now file-scope so that quotearg_free can get at them.
41712
41713 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41714
41715         Sync from Automake.
41716         * build-aux/gnupload: Add missing 'gnu' to example URL.
41717         Report by Karl Berry.
41718
41719 2006-11-08  Bruno Haible  <bruno@clisp.org>
41720
41721         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
41722         Suggested by Paul Eggert.
41723
41724 2006-11-08  Jim Meyering  <jim@meyering.net>
41725
41726         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
41727         It's already included if !_LIBC.
41728         (fts_safe_changedir): Add a comment.
41729
41730 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
41731
41732         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
41733         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
41734         Matthew Woehlke.
41735
41736         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
41737         definitions up, to avoid colliding with change below.
41738         (static_inline) [HAVE_INLINE]: New macro.
41739         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
41740         Provide extern decls when !HAVE_INLINE.  Do not define unless
41741         static_inline is defined, either by us or by xmalloc.c.  Use
41742         static_inline rather than static inline.
41743         (XCALLOC): Optimize sizeof(T) = 1 case.
41744         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
41745
41746 2006-11-07  Bruno Haible  <bruno@clisp.org>
41747
41748         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
41749         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
41750         AC_C_INLINE.
41751         * modules/xalloc (Files): Add m4/inline.m4.
41752
41753 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41754
41755         * README: Fix typo.
41756         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
41757         (Miscellanous Notes): ...from this.
41758
41759 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
41760
41761         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
41762         Mention that offsetof should be used instead of sizeof.
41763         From Bruno Haible.
41764
41765 2006-11-07  Bruno Haible  <bruno@clisp.org>
41766
41767         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
41768
41769 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
41770
41771         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
41772         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
41773         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
41774         (gl_tree_add_before, gl_tree_add_after):
41775         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
41776         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
41777         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
41778         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
41779         (gl_linked_add_after, gl_linked_add_at): Likewise.
41780         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
41781         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
41782         (gl_tree_add_before, gl_tree_add_after): Likewise.
41783         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
41784         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
41785         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41786
41787 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41788
41789         * lib/gl_oset.h: Use C comment style, not C++ comment style.
41790
41791 2006-11-06  Bruno Haible  <bruno@clisp.org>
41792
41793         * m4/inline.m4: New file.
41794         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
41795         * modules/list (Files): Add m4/inline.m4.
41796         * modules/oset (Files): Likewise.
41797
41798 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
41799
41800         * lib/idcache.c: Include <stddef.h>, for offsetof.
41801         (struct userid.name): Change from char * to a flexible array member.
41802         All uses changed.
41803         * modules/idcache (Depends-on): Add flexmember.
41804
41805         * MODULES.html.sh (Core language properties): New module flexmember.
41806         * modules/flexmember, m4/flexmember.m4: New files.
41807
41808         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
41809         inline functions that are identical with the old xnmalloc_inline,
41810         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
41811         that we can avoid some unnecessary integer multiplications and
41812         divisions in the common case where the element size is known at
41813         compile time.
41814         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
41815         needed.
41816         (xnboundedmalloc): Remove.
41817         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
41818         arguments, for consistency with rest of this header.
41819         (xcharalloc): Rewrite using XNMALLOC.
41820         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
41821         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
41822         versions have been moved to lib/xalloc.h and renamed to be the
41823         non-*_inline versions.
41824         (xmalloc, xrealloc): Implement without reference to the xnmalloc
41825         and xnrealloc functions, since those functions are now inline and
41826         now call us.
41827         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
41828         renaming described above.
41829         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
41830         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
41831         captures the dependency in AC_C_INLINE.
41832
41833         New module canonicalize-lgpl, proposed by Charles Wilson in
41834         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
41835         with a few small changes afterwards.
41836         * MODULES.html.sh (File system functions): New module
41837         canonicalize-lgpl.
41838         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
41839         and canonicalize_file_name.
41840         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
41841         * modules/canonicalize-lgpl: New files.
41842
41843 2006-11-05  Bruno Haible  <bruno@clisp.org>
41844
41845         * gnulib-tool (func_import, func_create_testdir): Create directories
41846         also for files in subdirectories of lib/.
41847
41848 2006-11-05  Bruno Haible  <bruno@clisp.org>
41849
41850         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
41851         ANSI C compliant.
41852
41853 2006-11-03  Bruno Haible  <bruno@clisp.org>
41854
41855         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
41856         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
41857         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
41858         (xnboundedmalloc): New inline function.
41859         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
41860         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
41861         xmalloc.
41862         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
41863         xmalloc.
41864         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
41865         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
41866         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
41867         xmalloc.
41868         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
41869         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
41870         xmalloc.
41871         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
41872         gl_tree_add_after): Use XMALLOC instead of xmalloc.
41873         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
41874         xmalloc.
41875         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
41876         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
41877         gl_tree_add_after): Use XMALLOC instead of xmalloc.
41878         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
41879         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
41880         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
41881         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
41882
41883 2006-11-03  Bruno Haible  <bruno@clisp.org>
41884
41885         * lib/c-ctype.h [C++]: Define functions without name mangling.
41886         * lib/fwriteerror.h [C++]: Likewise.
41887         * lib/gcd.h [C++]: Likewise.
41888         * lib/linebreak.h [C++]: Likewise.
41889
41890 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
41891
41892         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
41893         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
41894         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
41895         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
41896         Check for functions and headers just once.
41897         Check for declaration of canonicalize_file_name.
41898         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
41899
41900 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
41901
41902         * gnulib-tool (func_import): Fix typo in actioncmd.
41903
41904 2006-11-02  Bruno Haible  <bruno@clisp.org>
41905
41906         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
41907         newline sequence in the Makefile.am snippet as a space, like "make"
41908         does.
41909         Reported by Roger Persson <perrog@gmail.com>.
41910
41911 2006-11-01  Bruno Haible  <bruno@clisp.org>
41912
41913         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
41914         already declared in <string.h>.
41915         * lib/strcase.h (strncasecmp): Don't declare it if yes.
41916
41917 2006-11-01  Bruno Haible  <bruno@clisp.org>
41918
41919         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
41920         * lib/strcase.h: Include <string.h>.
41921         (strcasecmp): Define to rpl_strcasecmp here.
41922
41923 2006-11-01  Bruno Haible  <bruno@clisp.org>
41924
41925         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
41926
41927 2006-11-01  Eric Blake  <ebb9@byu.net>
41928
41929         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
41930
41931         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
41932
41933 2006-10-29  Bruno Haible  <bruno@clisp.org>
41934
41935         Make it compile in C++ mode.
41936         * lib/full-write.c (full_rw): Add a cast.
41937
41938 2006-11-01  Bruno Haible  <bruno@clisp.org>
41939
41940         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
41941         be POSIX compliant.
41942         Reported by Roger Persson <perrog@gmail.com>.
41943
41944 2006-11-01  Eric Blake  <ebb9@byu.net>
41945
41946         * lib/getopt_.h: Fix comments.
41947
41948 2006-10-31  Eric Blake  <ebb9@byu.net>
41949
41950         * modules/tmpdir (Depends-on): Add sys_stat.
41951         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
41952         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
41953         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
41954         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
41955         tempname.
41956
41957 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
41958
41959         Avoid some C++ diagnostics reported by Bruno Haible.
41960         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
41961         xmalloc.
41962         (quotearg_alloc): Use xcharalloc rather than xmalloc.
41963         (struct slotvec): Move to top level.
41964         (quotearg_n_options): Rewrite to avoid xmalloc.
41965         * lib/xalloc.h (xcharalloc): New function.
41966         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
41967         [defined __cplusplus]: Add function template that provides result
41968         type propagation.  This part of the change is from Bruno Haible.
41969
41970 2006-10-29  Bruno Haible  <bruno@clisp.org>
41971
41972         Make it compile in C++ mode.
41973         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
41974         * lib/strnlen1.c (strnlen1): Cast memchr result.
41975         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
41976         * lib/clean-temp.c (string_equals, string_hash): Add casts.
41977         (create_temp_dir): Rename local variable 'template'.
41978         (compile_csharp_using_sscli): Add cast.
41979         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
41980         * lib/findprog.c (find_in_path): Likewise.
41981         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
41982         * lib/wait-process.c (register_slave_subprocess): Likewise.
41983
41984 2006-10-22  Bruno Haible  <bruno@clisp.org>
41985
41986         * modules/tsearch: New file.
41987         * lib/tsearch.h: New file.
41988         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
41989         * m4/tsearch.m4: New file.
41990         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
41991
41992 2006-10-29  Eric Blake  <ebb9@byu.net>
41993
41994         * lib/arcfour.c: Assume config.h.
41995         * lib/arctwo.c: Likewise.
41996         * lib/base64.c: Likewise.
41997         * lib/check-version.c: Likewise.
41998         * lib/crc.c: Likewise.
41999         * lib/des.c: Likewise.
42000         * lib/gc-gnulib.c: Likewise.
42001         * lib/gc-libgcrypt.c: Likewise.
42002         * lib/gc-pbkdf2-sha1.c: Likewise.
42003         * lib/getaddrinfo.c: Likewise.
42004         * lib/getdelim.c: Likewise.
42005         * lib/getline.c: Likewise.
42006         * lib/hmac-md5.c: Likewise.
42007         * lib/hmac-sha1.c: Likewise.
42008         * lib/iconvme.c: Likewise.
42009         * lib/md2.c: Likewise.
42010         * lib/md4.c: Likewise.
42011         * lib/memxor.c: Likewise.
42012         * lib/read-file.c: Likewise.
42013         * lib/readline.c: Likewise.
42014         * lib/rijndael-alg-fst.c: Likewise.
42015         * lib/rijndael-api-fst.c: Likewise.
42016         * lib/xgetdomainname.c: Likewise.
42017
42018 2006-10-28  Eric Blake  <ebb9@byu.net>
42019
42020         * lib/xstrndup.c: Assume config.h.
42021
42022 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
42023
42024         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
42025         stat-macros.h is now for our own macros, whereas stat_h is for
42026         macros in the <sys/stat.h> name space.
42027         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
42028         (STAT_MACROS_H): Remove.
42029         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
42030         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
42031         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
42032         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42033         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
42034         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
42035         Move these macros to ...
42036         * lib/stat_.h: here.  Don't include stat-macros.h.
42037         * lib/canonicalize.c: Don't include stat-macros.h.
42038         * lib/chown.c: Likewise.
42039         * lib/euidaccess.c: Likewise.
42040         * lib/file-type.c: Likewise.
42041         * lib/filemode.c: Likewise.
42042         * lib/glob.c: Likewise.
42043         * lib/isapipe.c: Likewise.
42044         * lib/lchown.c: Likewise.
42045         * lib/lstat.c: Likewise.
42046         * lib/mkdir-p.c: Likewise.
42047         * lib/rmdir.c: Likewise.
42048         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
42049         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
42050         unless mkdir isn't declared, to speed up 'configure'.
42051         Always create sys/stat.h, since it's unlikely any real sys/stat.h
42052         would define all the S_* symbols.
42053         * modules/canonicalize (Depends-on):
42054         Depend on sys_stat, not stat-macros.
42055         * modules/chown: Likewise.
42056         * modules/euidaccess: Likewise.
42057         * modules/filemode: Likewise.
42058         * modules/file-type: Likewise.
42059         * modules/glob: Likewise.
42060         * modules/isapipe: Likewise.
42061         * modules/lchown: Likewise.
42062         * modules/lstat: Likewise.
42063         * modules/mkancesdirs: Likewise.
42064         * modules/rmdir: Likewise.
42065         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
42066         * modules/modechange: Likewise.
42067         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
42068         (configure.ac): Remove gl_STAT_MACROS.
42069         * modules/sys_stat (Depends-on): Remove stat-macros.
42070
42071 2006-10-27  Bruno Haible  <bruno@clisp.org>
42072
42073         * m4/signed.m4: Remove file.
42074         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
42075         invocation.
42076         * modules/vasnprintf (Files): Remove m4/signed.m4.
42077
42078 2006-10-27  Bruno Haible  <bruno@clisp.org>
42079
42080         Update to GNU gettext 0.16.
42081         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
42082         m4/inttypes-h.m4, m4/signed.m4.
42083         * m4/gettext.m4: Update to GNU gettext 0.16.
42084         * m4/intl.m4: New file, from GNU gettext.
42085         * m4/intldir.m4: New file, from GNU gettext.
42086         * config/srclist.txt: Update
42087
42088 2006-10-27  Eric Blake  <ebb9@byu.net>
42089
42090         * MODULES.html.sh: Document tempname.
42091         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
42092         dependencies.
42093         (Files): Move lib/tempname.c...
42094         * modules/tempname: ...to this new module.
42095         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
42096         (gl_PREREQ_TEMPNAME): Move...
42097         * m4/tempname.m4: ...to this new file.
42098         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
42099         * modules/sys_stat (Depends-on): Add stat-macros.
42100         * lib/stat_.h (includes): Pick up stat macros.
42101         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
42102         if stat macros are broken.
42103         * lib/tempname.c (includes): No need to include "stat-macros.h".
42104         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
42105         (direxists, __path_search) [!_LIBC]: Don't compile these in
42106         gnulib; the tmpdir module covers that.
42107         * lib/tempname.h: New file.
42108
42109 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42110
42111         * COPYING: Explain how gnulib-tool converts licence headers.
42112         Almost all wording by Eric Blake.
42113
42114 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
42115
42116         * lib/mbchar.h (is_basic_table): Make read-only.
42117         * lib/mbchar.c (is_basic_table): Likewise.
42118         Reported by John Darrington.
42119
42120 2006-10-25  Bruno Haible  <bruno@clisp.org>
42121
42122         * lib/progname.h (set_program_name): Undefine before defining.
42123
42124 2006-10-25  Bruno Haible  <bruno@clisp.org>
42125
42126         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
42127         false for non-gcc C++ compilers.
42128         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
42129
42130 2006-10-24  Bruno Haible  <bruno@clisp.org>
42131
42132         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
42133         iconv implementations like Irix iconv.
42134
42135 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42136
42137         * modules/vararrays: New file.
42138         * m4/vararrays.m4: New file, taken from diffutils.
42139         * MODULES.html.sh: New module vararrays.
42140
42141 2006-10-24  Karl Berry  <karl@gnu.org>
42142
42143         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
42144         Don't call GNU Unix.
42145
42146 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42147
42148         * users.txt: Add Libtool.
42149
42150         Sync from Libtool:
42151
42152         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42153
42154         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
42155         to gnulib's policy of including config.h unconditionally.
42156
42157 2006-10-24  Bruno Haible  <bruno@clisp.org>
42158
42159         * modules/wcwidth (Files): Add m4/wint_t.m4.
42160         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
42161         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
42162
42163 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42164
42165         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
42166         to pacify GCC with some -W flags enabled.  Problem reported by
42167         Bruno Haible.
42168
42169 2006-10-24  Jim Meyering  <jim@meyering.net>
42170
42171         * MODULES.html.sh: Remove uinttostr.  It's not a module.
42172         Reported by Karl Berry.
42173
42174 2006-10-23  Bruno Haible  <bruno@clisp.org>
42175
42176         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
42177
42178 2006-10-24  Bruno Haible  <bruno@clisp.org>
42179
42180         * lib/gl_list.h: Use C comment style, not C++ comment style.
42181
42182 2006-10-23  Eric Blake  <ebb9@byu.net>
42183
42184         * lib/getaddrinfo.c (includes): Add missing include.
42185
42186 2006-10-23  Bruno Haible  <bruno@clisp.org>
42187             Paul Eggert  <eggert@cs.ucla.edu>
42188
42189         Ability to rename obstack_free.
42190         * lib/obstack.h (__obstack_free): New macro. Declare instead of
42191         obstack_free.
42192         (obstack_free): Invoke the __obstack_free macro.
42193         * lib/obstack.c (obstack_free): Use __obstack_free macro.
42194
42195 2006-10-23  Bruno Haible  <bruno@clisp.org>
42196             Paul Eggert  <eggert@cs.ucla.edu>
42197
42198         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
42199         __argc, __argv from the declaration. (They are defined as macros on
42200         mingw.)
42201
42202 2006-10-22  Bruno Haible  <bruno@clisp.org>
42203
42204         * doc/gnulib-intro.texi: New file.
42205         * doc/gnulib.texi: Include it.
42206
42207 2006-10-21  Bruno Haible  <bruno@clisp.org>
42208
42209         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
42210         "Introduction", "Miscellanous Notes", "Particular Modules".
42211
42212 2006-10-21  Bruno Haible  <bruno@clisp.org>
42213
42214         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
42215         Change mostlyclean-local rule to avoid sh syntax error from bash
42216         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
42217
42218 2006-10-23  Jim Meyering  <jim@meyering.net>
42219
42220         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
42221         in place of snprintf.
42222
42223         * modules/inttostr (Files): Add lib/uinttostr.c.
42224         * lib/uinttostr.c (inttostr): New file/function.
42225         * lib/inttostr.h (uinttostr): Declare.
42226         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
42227         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
42228         Add uinttostr.
42229         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
42230
42231 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42232
42233         * lib/canonicalize.c (ELOOP): Define if not already defined.
42234         Problem reported by Bruno Haible in
42235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
42236
42237 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
42238
42239         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
42240         Problem reported by Perry Smith and Ville Laurikari.
42241
42242         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
42243         uses.
42244
42245 2006-10-19  Bruno Haible  <bruno@clisp.org>
42246
42247         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
42248         for mingw.
42249
42250 2006-10-19  Bruno Haible  <bruno@clisp.org>
42251
42252         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
42253         Needed for mingw.
42254
42255 2006-10-19  Bruno Haible  <bruno@clisp.org>
42256
42257         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
42258
42259 2006-10-19  Bruno Haible  <bruno@clisp.org>
42260
42261         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
42262         it.
42263
42264 2006-10-19  Bruno Haible  <bruno@clisp.org>
42265
42266         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
42267         invocation.
42268
42269 2006-10-19  Bruno Haible  <bruno@clisp.org>
42270
42271         * gnulib-tool (func_create_testdir): Don't include ftruncate and
42272         mountlist by default.
42273
42274 2006-10-16  Bruno Haible  <bruno@clisp.org>
42275
42276         * lib/c-strstr.c: Include c-strstr.h.
42277
42278 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42279
42280         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
42281         in a slash.
42282
42283 2006-10-18  Bruno Haible  <bruno@clisp.org>
42284
42285         * lib/lock.h [C++]: Wrap definitions in extern "C".
42286
42287 2006-10-18  Bruno Haible  <bruno@clisp.org>
42288
42289         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
42290         gl_LIBOBJS list.
42291
42292 2006-10-18  Bruno Haible  <bruno@clisp.org>
42293
42294         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
42295
42296 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
42297
42298         * lib/xstrtol.h: Include gettext.h.
42299         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
42300         Problem reported by Eric Blake.
42301         * modules/xstrtol (Depends-on): Add gettext-h.
42302
42303 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
42304
42305         * lib/strftime.c (advance): New macro.
42306         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
42307         incomplete type, so you can't add 0 to it.  Problem and patch
42308         reported by Eelco Dolstra for dietlibc.
42309
42310 2006-10-18  Jim Meyering  <jim@meyering.net>
42311
42312         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
42313         type for a local, and rename it: s/up/user_proc/.
42314
42315 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42316
42317         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
42318         READ_UTMP_USER_PROCESS.
42319         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
42320
42321 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42322
42323         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
42324         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
42325
42326 2006-10-17  Eric Blake  <ebb9@byu.net>
42327
42328         * lib/sigprocmask.c (sigprocmask): Fix typo.
42329
42330         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
42331
42332         * modules/clean-temp (Makefile.am): Don't add to make output...
42333         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
42334         config.h.
42335
42336 2006-10-17  Bruno Haible  <bruno@clisp.org>
42337
42338         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
42339         differently if DEFAULT_TEXT_DOMAIN is set.
42340
42341 2006-10-16  Bruno Haible  <bruno@clisp.org>
42342
42343         * lib/clean-temp.c: Include fwriteerror.h.
42344
42345 2006-10-16  Bruno Haible  <bruno@clisp.org>
42346
42347         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
42348
42349 2006-10-16  Bruno Haible  <bruno@clisp.org>
42350
42351         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
42352         * lib/sigprocmask.h: Include <sys/types.h>.
42353         (sigset_t): Use the system's definition if present.
42354
42355 2006-10-17  Eric Blake  <ebb9@byu.net>
42356
42357         * lib/xvasprintf.c (includes): Assume config.h.
42358         * lib/xasprintf.c (includes): Likewise.
42359
42360 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42361
42362         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
42363         at least as wide as intmax_t.
42364
42365 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
42366
42367         (Imported from Automake.)
42368         * build-aux/gnupload: Update to version 1.1 of directive file.
42369
42370 2006-10-16  Eric Blake  <ebb9@byu.net>
42371
42372         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
42373         match Automake 1.10a.
42374
42375 2006-10-14  Bruno Haible  <bruno@clisp.org>
42376
42377         * modules/sigprocmask: New file.
42378         * lib/sigprocmask.h: New file.
42379         * lib/sigprocmask.c: New file.
42380         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
42381         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
42382         request sigprocmask.o.
42383         (gl_PREREQ_SIGPROCMASK): New macro.
42384         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
42385         (Depends-on): Add sigprocmask.
42386         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
42387         gt_SIGNALBLOCKING. Test for 'raise' only once.
42388         * lib/fatal-signal.c: Include sigprocmask.h.
42389         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
42390         unblock_fatal_signals): Define always.
42391         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42392         sigprocmask.
42393
42394 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
42395
42396         Sync from Automake.
42397         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
42398         which incorrectly sets the mode of an existing destination
42399         directory.  In some cases the unpatched install-sh could do the
42400         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
42401         system.  We hope this is rare in practice, but it's clearly worth
42402         fixing.  Problem reported by Alex Unleashed in
42403         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
42404         Also, don't bother to check for -m bugs unless we're using -m;
42405         suggested by Stepan Kasal.
42406
42407 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42408
42409         Sync from Automake.
42410         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
42411         `-c' flag, so they appear at the same position as in %FASTDEP%
42412         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
42413         which ignores unknown options only after the first non-option.
42414         Bug report against M4 by Nelson H. F. Beebe.
42415
42416 2006-10-13  Jim Meyering  <jim@meyering.net>
42417
42418         Fix a bug in yesterday's change.
42419         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
42420         p->fts_statp->st_dev would be used uninitialized.
42421         Ensures that we always call fts_stat on the very first entry.
42422         Miklos Szeredi reported that find -xdev stopped working.
42423
42424 2006-10-12  Bruno Haible  <bruno@clisp.org>
42425
42426         * gnulib-tool (func_get_automake_snippet): Append an automatically
42427         computed EXTRA_DIST augmentation.
42428         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
42429         * modules/alloca-opt (Makefile.am): Likewise.
42430         * modules/allocsa (Makefile.am): Likewise.
42431         * modules/arcfour (Makefile.am): Likewise.
42432         * modules/arctwo (Makefile.am): Likewise.
42433         * modules/argmatch (Makefile.am): Likewise.
42434         * modules/argz (Makefile.am): Likewise.
42435         * modules/atexit (Makefile.am): Likewise.
42436         * modules/backupfile (Makefile.am): Likewise.
42437         * modules/byteswap (Makefile.am): Likewise.
42438         * modules/c-strtod (Makefile.am): Likewise.
42439         * modules/c-strtold (Makefile.am): Likewise.
42440         * modules/calloc (Makefile.am): Likewise.
42441         * modules/canon-host (Makefile.am): Likewise.
42442         * modules/canonicalize (Makefile.am): Likewise.
42443         * modules/chdir-long (Makefile.am): Likewise.
42444         * modules/chdir-safer (Makefile.am): Likewise.
42445         * modules/check-version (Makefile.am): Likewise.
42446         * modules/chown (Makefile.am): Likewise.
42447         * modules/cloexec (Makefile.am): Likewise.
42448         * modules/close-stream (Makefile.am): Likewise.
42449         * modules/closeout (Makefile.am): Likewise.
42450         * modules/crc (Makefile.am): Likewise.
42451         * modules/csharpexec (Makefile.am): Likewise.
42452         * modules/cycle-check (Makefile.am): Likewise.
42453         * modules/des (Makefile.am): Likewise.
42454         * modules/dev-ino (Makefile.am): Likewise.
42455         * modules/dirfd (Makefile.am): Likewise.
42456         * modules/dirname (Makefile.am): Likewise.
42457         * modules/dup2 (Makefile.am): Likewise.
42458         * modules/eealloc (Makefile.am): Likewise.
42459         * modules/error (Makefile.am): Likewise.
42460         * modules/euidaccess (Makefile.am): Likewise.
42461         * modules/exclude (Makefile.am): Likewise.
42462         * modules/exitfail (Makefile.am): Likewise.
42463         * modules/fcntl-safer (Makefile.am): Likewise.
42464         * modules/fcntl (Makefile.am): Likewise.
42465         * modules/file-type (Makefile.am): Likewise.
42466         * modules/fileblocks (Makefile.am): Likewise.
42467         * modules/filemode (Makefile.am): Likewise.
42468         * modules/filenamecat (Makefile.am): Likewise.
42469         * modules/fnmatch (Makefile.am): Likewise.
42470         * modules/fopen-safer (Makefile.am): Likewise.
42471         * modules/fpending (Makefile.am): Likewise.
42472         * modules/fprintftime (Makefile.am): Likewise.
42473         * modules/free (Makefile.am): Likewise.
42474         * modules/fsusage (Makefile.am): Likewise.
42475         * modules/ftruncate (Makefile.am): Likewise.
42476         * modules/fts (Makefile.am): Likewise.
42477         * modules/gc-arcfour (Makefile.am): Likewise.
42478         * modules/gc-des (Makefile.am): Likewise.
42479         * modules/gc-hmac-md5 (Makefile.am): Likewise.
42480         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
42481         * modules/gc-md4 (Makefile.am): Likewise.
42482         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42483         * modules/gc-sha1 (Makefile.am): Likewise.
42484         * modules/gc (Makefile.am): Likewise.
42485         * modules/getaddrinfo (Makefile.am): Likewise.
42486         * modules/getcwd (Makefile.am): Likewise.
42487         * modules/getdelim (Makefile.am): Likewise.
42488         * modules/getdomainname (Makefile.am): Likewise.
42489         * modules/getgroups (Makefile.am): Likewise.
42490         * modules/gethostname (Makefile.am): Likewise.
42491         * modules/gethrxtime (Makefile.am): Likewise.
42492         * modules/getline (Makefile.am): Likewise.
42493         * modules/getloadavg (Makefile.am): Likewise.
42494         * modules/getlogin_r (Makefile.am): Likewise.
42495         * modules/getndelim2 (Makefile.am): Likewise.
42496         * modules/getopt (Makefile.am): Likewise.
42497         * modules/getpagesize (Makefile.am): Likewise.
42498         * modules/getpass-gnu (Makefile.am): Likewise.
42499         * modules/getpass (Makefile.am): Likewise.
42500         * modules/getsubopt (Makefile.am): Likewise.
42501         * modules/gettime (Makefile.am): Likewise.
42502         * modules/gettimeofday (Makefile.am): Likewise.
42503         * modules/getugroups (Makefile.am): Likewise.
42504         * modules/getusershell (Makefile.am): Likewise.
42505         * modules/glob (Makefile.am): Likewise.
42506         * modules/group-member (Makefile.am): Likewise.
42507         * modules/hard-locale (Makefile.am): Likewise.
42508         * modules/hash (Makefile.am): Likewise.
42509         * modules/hmac-md5 (Makefile.am): Likewise.
42510         * modules/hmac-sha1 (Makefile.am): Likewise.
42511         * modules/human (Makefile.am): Likewise.
42512         * modules/idcache (Makefile.am): Likewise.
42513         * modules/imaxabs (Makefile.am): Likewise.
42514         * modules/imaxdiv (Makefile.am): Likewise.
42515         * modules/inet_ntop (Makefile.am): Likewise.
42516         * modules/inet_pton (Makefile.am): Likewise.
42517         * modules/intprops (Makefile.am): Likewise.
42518         * modules/inttostr (Makefile.am): Likewise.
42519         * modules/inttypes (Makefile.am): Likewise.
42520         * modules/isapipe (Makefile.am): Likewise.
42521         * modules/javaversion (Makefile.am): Likewise.
42522         * modules/lchmod (Makefile.am): Likewise.
42523         * modules/lchown (Makefile.am): Likewise.
42524         * modules/localcharset (Makefile.am): Likewise.
42525         * modules/long-options (Makefile.am): Likewise.
42526         * modules/lstat (Makefile.am): Likewise.
42527         * modules/malloc (Makefile.am): Likewise.
42528         * modules/mathl (Makefile.am): Likewise.
42529         * modules/mbchar (Makefile.am): Likewise.
42530         * modules/md2 (Makefile.am): Likewise.
42531         * modules/md4 (Makefile.am): Likewise.
42532         * modules/md5 (Makefile.am): Likewise.
42533         * modules/memcasecmp (Makefile.am): Likewise.
42534         * modules/memchr (Makefile.am): Likewise.
42535         * modules/memcmp (Makefile.am): Likewise.
42536         * modules/memcoll (Makefile.am): Likewise.
42537         * modules/memcpy (Makefile.am): Likewise.
42538         * modules/memmem (Makefile.am): Likewise.
42539         * modules/memmove (Makefile.am): Likewise.
42540         * modules/mempcpy (Makefile.am): Likewise.
42541         * modules/memrchr (Makefile.am): Likewise.
42542         * modules/memset (Makefile.am): Likewise.
42543         * modules/memxor (Makefile.am): Likewise.
42544         * modules/mkancesdirs (Makefile.am): Likewise.
42545         * modules/mkdir-p (Makefile.am): Likewise.
42546         * modules/mkdir (Makefile.am): Likewise.
42547         * modules/mkdtemp (Makefile.am): Likewise.
42548         * modules/mkstemp (Makefile.am): Likewise.
42549         * modules/mktime (Makefile.am): Likewise.
42550         * modules/modechange (Makefile.am): Likewise.
42551         * modules/mountlist (Makefile.am): Likewise.
42552         * modules/nanosleep (Makefile.am): Likewise.
42553         * modules/obstack (Makefile.am): Likewise.
42554         * modules/openat (Makefile.am): Likewise.
42555         * modules/pagealign_alloc (Makefile.am): Likewise.
42556         * modules/pathmax (Makefile.am): Likewise.
42557         * modules/physmem (Makefile.am): Likewise.
42558         * modules/poll (Makefile.am): Likewise.
42559         * modules/posixtm (Makefile.am): Likewise.
42560         * modules/posixver (Makefile.am): Likewise.
42561         * modules/putenv (Makefile.am): Likewise.
42562         * modules/quote (Makefile.am): Likewise.
42563         * modules/quotearg (Makefile.am): Likewise.
42564         * modules/raise (Makefile.am): Likewise.
42565         * modules/read-file (Makefile.am): Likewise.
42566         * modules/readline (Makefile.am): Likewise.
42567         * modules/readlink (Makefile.am): Likewise.
42568         * modules/readtokens (Makefile.am): Likewise.
42569         * modules/readutmp (Makefile.am): Likewise.
42570         * modules/realloc (Makefile.am): Likewise.
42571         * modules/regex (Makefile.am): Likewise.
42572         * modules/rename-dest-slash (Makefile.am): Likewise.
42573         * modules/rename (Makefile.am): Likewise.
42574         * modules/rijndael (Makefile.am): Likewise.
42575         * modules/rmdir (Makefile.am): Likewise.
42576         * modules/rpmatch (Makefile.am): Likewise.
42577         * modules/safe-read (Makefile.am): Likewise.
42578         * modules/safe-write (Makefile.am): Likewise.
42579         * modules/same-inode (Makefile.am): Likewise.
42580         * modules/same (Makefile.am): Likewise.
42581         * modules/save-cwd (Makefile.am): Likewise.
42582         * modules/savedir (Makefile.am): Likewise.
42583         * modules/setenv (Makefile.am): Likewise.
42584         * modules/settime (Makefile.am): Likewise.
42585         * modules/sha1 (Makefile.am): Likewise.
42586         * modules/sig2str (Makefile.am): Likewise.
42587         * modules/snprintf (Makefile.am): Likewise.
42588         * modules/stat-macros (Makefile.am): Likewise.
42589         * modules/stat-time (Makefile.am): Likewise.
42590         * modules/stdbool (Makefile.am): Likewise.
42591         * modules/stdint (Makefile.am): Likewise.
42592         * modules/stdlib-safer (Makefile.am): Likewise.
42593         * modules/stpcpy (Makefile.am): Likewise.
42594         * modules/stpncpy (Makefile.am): Likewise.
42595         * modules/strcase (Makefile.am): Likewise.
42596         * modules/strcasestr (Makefile.am): Likewise.
42597         * modules/strchrnul (Makefile.am): Likewise.
42598         * modules/strcspn (Makefile.am): Likewise.
42599         * modules/strdup (Makefile.am): Likewise.
42600         * modules/strerror (Makefile.am): Likewise.
42601         * modules/strftime (Makefile.am): Likewise.
42602         * modules/strndup (Makefile.am): Likewise.
42603         * modules/strnlen (Makefile.am): Likewise.
42604         * modules/strpbrk (Makefile.am): Likewise.
42605         * modules/strsep (Makefile.am): Likewise.
42606         * modules/strstr (Makefile.am): Likewise.
42607         * modules/strtod (Makefile.am): Likewise.
42608         * modules/strtoimax (Makefile.am): Likewise.
42609         * modules/strtok_r (Makefile.am): Likewise.
42610         * modules/strtol (Makefile.am): Likewise.
42611         * modules/strtoll (Makefile.am): Likewise.
42612         * modules/strtoul (Makefile.am): Likewise.
42613         * modules/strtoull (Makefile.am): Likewise.
42614         * modules/strtoumax (Makefile.am): Likewise.
42615         * modules/strverscmp (Makefile.am): Likewise.
42616         * modules/sys_socket (Makefile.am): Likewise.
42617         * modules/sys_stat (Makefile.am): Likewise.
42618         * modules/sysexits (Makefile.am): Likewise.
42619         * modules/time_r (Makefile.am): Likewise.
42620         * modules/timegm (Makefile.am): Likewise.
42621         * modules/timespec (Makefile.am): Likewise.
42622         * modules/tmpfile-safer (Makefile.am): Likewise.
42623         * modules/trim (Makefile.am): Likewise.
42624         * modules/unistd-safer (Makefile.am): Likewise.
42625         * modules/unlinkdir (Makefile.am): Likewise.
42626         * modules/unlocked-io (Makefile.am): Likewise.
42627         * modules/userspec (Makefile.am): Likewise.
42628         * modules/utime (Makefile.am): Likewise.
42629         * modules/utimecmp (Makefile.am): Likewise.
42630         * modules/utimens (Makefile.am): Likewise.
42631         * modules/vasnprintf (Makefile.am): Likewise.
42632         * modules/vasprintf (Makefile.am): Likewise.
42633         * modules/vsnprintf (Makefile.am): Likewise.
42634         * modules/xalloc (Makefile.am): Likewise.
42635         * modules/xgetcwd (Makefile.am): Likewise.
42636         * modules/xnanosleep (Makefile.am): Likewise.
42637         * modules/xreadlink (Makefile.am): Likewise.
42638         * modules/xstrtod (Makefile.am): Likewise.
42639         * modules/xstrtol (Makefile.am): Likewise.
42640         * modules/xstrtold (Makefile.am): Likewise.
42641         * modules/yesno (Makefile.am): Likewise.
42642         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
42643
42644 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
42645
42646         * modules/error (Makefile.am): Distribute files through
42647         EXTRA_DIST, not lib_SOURCES.
42648
42649 2006-10-12  Eric Blake  <ebb9@byu.net>
42650
42651         * modules/error (Makefile.am): Distribute files in /lib.
42652         * modules/obstack (Makefile.am): Likewise.
42653
42654 2006-10-12  Bruno Haible  <bruno@clisp.org>
42655
42656         * modules/acl (Makefile.am): Distribute all files in lib/ through
42657         EXTRA_DIST.
42658         * modules/arcfour (Makefile.am): Likewise.
42659         * modules/arctwo (Makefile.am): Likewise.
42660         * modules/argmatch (Makefile.am): Likewise.
42661         * modules/argz (Makefile.am): Likewise.
42662         * modules/atexit (Makefile.am): Likewise.
42663         * modules/backupfile (Makefile.am): Likewise.
42664         * modules/c-strtod (Makefile.am): Likewise.
42665         * modules/c-strtold (Makefile.am): Likewise.
42666         * modules/calloc (Makefile.am): Likewise.
42667         * modules/canon-host (Makefile.am): Likewise.
42668         * modules/canonicalize (Makefile.am): Likewise.
42669         * modules/chdir-long (Makefile.am): Likewise.
42670         * modules/chdir-safer (Makefile.am): Likewise.
42671         * modules/check-version (Makefile.am): Likewise.
42672         * modules/chown (Makefile.am): Likewise.
42673         * modules/cloexec (Makefile.am): Likewise.
42674         * modules/close-stream (Makefile.am): Likewise.
42675         * modules/closeout (Makefile.am): Likewise.
42676         * modules/crc (Makefile.am): Likewise.
42677         * modules/cycle-check (Makefile.am): Likewise.
42678         * modules/des (Makefile.am): Likewise.
42679         * modules/dirfd (Makefile.am): Likewise.
42680         * modules/dirname (Makefile.am): Likewise.
42681         * modules/dup2 (Makefile.am): Likewise.
42682         * modules/euidaccess (Makefile.am): Likewise.
42683         * modules/exclude (Makefile.am): Likewise.
42684         * modules/exitfail (Makefile.am): Likewise.
42685         * modules/fcntl-safer (Makefile.am): Likewise.
42686         * modules/file-type (Makefile.am): Likewise.
42687         * modules/fileblocks (Makefile.am): Likewise.
42688         * modules/filemode (Makefile.am): Likewise.
42689         * modules/filenamecat (Makefile.am): Likewise.
42690         * modules/fnmatch (Makefile.am): Likewise.
42691         * modules/fopen-safer (Makefile.am): Likewise.
42692         * modules/fpending (Makefile.am): Likewise.
42693         * modules/fprintftime (Makefile.am): Likewise.
42694         * modules/free (Makefile.am): Likewise.
42695         * modules/fsusage (Makefile.am): Likewise.
42696         * modules/ftruncate (Makefile.am): Likewise.
42697         * modules/fts (Makefile.am): Likewise.
42698         * modules/gc (Makefile.am): Likewise.
42699         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
42700         * modules/getaddrinfo (Makefile.am): Likewise.
42701         * modules/getcwd (Makefile.am): Likewise.
42702         * modules/getdelim (Makefile.am): Likewise.
42703         * modules/getdomainname (Makefile.am): Likewise.
42704         * modules/getgroups (Makefile.am): Likewise.
42705         * modules/gethostname (Makefile.am): Likewise.
42706         * modules/gethrxtime (Makefile.am): Likewise.
42707         * modules/getline (Makefile.am): Likewise.
42708         * modules/getloadavg (Makefile.am): Likewise.
42709         * modules/getlogin_r (Makefile.am): Likewise.
42710         * modules/getopt (Makefile.am): Likewise.
42711         * modules/getpass (Makefile.am): Likewise.
42712         * modules/getpass-gnu (Makefile.am): Likewise.
42713         * modules/getsubopt (Makefile.am): Likewise.
42714         * modules/gettime (Makefile.am): Likewise.
42715         * modules/gettimeofday (Makefile.am): Likewise.
42716         * modules/getugroups (Makefile.am): Likewise.
42717         * modules/getusershell (Makefile.am): Likewise.
42718         * modules/glob (Makefile.am): Likewise.
42719         * modules/group-member (Makefile.am): Likewise.
42720         * modules/hard-locale (Makefile.am): Likewise.
42721         * modules/hash (Makefile.am): Likewise.
42722         * modules/hmac-md5 (Makefile.am): Likewise.
42723         * modules/hmac-sha1 (Makefile.am): Likewise.
42724         * modules/human (Makefile.am): Likewise.
42725         * modules/idcache (Makefile.am): Likewise.
42726         * modules/imaxabs (Makefile.am): Likewise.
42727         * modules/imaxdiv (Makefile.am): Likewise.
42728         * modules/inet_ntop (Makefile.am): Likewise.
42729         * modules/inet_pton (Makefile.am): Likewise.
42730         * modules/inttostr (Makefile.am): Likewise.
42731         * modules/isapipe (Makefile.am): Likewise.
42732         * modules/lchown (Makefile.am): Likewise.
42733         * modules/long-options (Makefile.am): Likewise.
42734         * modules/lstat (Makefile.am): Likewise.
42735         * modules/malloc (Makefile.am): Likewise.
42736         * modules/mathl (Makefile.am): Likewise.
42737         * modules/mbchar (Makefile.am): Likewise.
42738         * modules/md2 (Makefile.am): Likewise.
42739         * modules/md4 (Makefile.am): Likewise.
42740         * modules/md5 (Makefile.am): Likewise.
42741         * modules/memcasecmp (Makefile.am): Likewise.
42742         * modules/memchr (Makefile.am): Likewise.
42743         * modules/memcmp (Makefile.am): Likewise.
42744         * modules/memcoll (Makefile.am): Likewise.
42745         * modules/memcpy (Makefile.am): Likewise.
42746         * modules/memmem (Makefile.am): Likewise.
42747         * modules/memmove (Makefile.am): Likewise.
42748         * modules/mempcpy (Makefile.am): Likewise.
42749         * modules/memrchr (Makefile.am): Likewise.
42750         * modules/memset (Makefile.am): Likewise.
42751         * modules/memxor (Makefile.am): Likewise.
42752         * modules/mkancesdirs (Makefile.am): Likewise.
42753         * modules/mkdir (Makefile.am): Likewise.
42754         * modules/mkdir-p (Makefile.am): Likewise.
42755         * modules/mkdtemp (Makefile.am): Likewise.
42756         * modules/mkstemp (Makefile.am): Likewise.
42757         * modules/mktime (Makefile.am): Likewise.
42758         * modules/modechange (Makefile.am): Likewise.
42759         * modules/mountlist (Makefile.am): Likewise.
42760         * modules/nanosleep (Makefile.am): Likewise.
42761         * modules/openat (Makefile.am): Likewise.
42762         * modules/pagealign_alloc (Makefile.am): Likewise.
42763         * modules/physmem (Makefile.am): Likewise.
42764         * modules/poll (Makefile.am): Likewise.
42765         * modules/posixtm (Makefile.am): Likewise.
42766         * modules/posixver (Makefile.am): Likewise.
42767         * modules/putenv (Makefile.am): Likewise.
42768         * modules/quote (Makefile.am): Likewise.
42769         * modules/quotearg (Makefile.am): Likewise.
42770         * modules/raise (Makefile.am): Likewise.
42771         * modules/read-file (Makefile.am): Likewise.
42772         * modules/readline (Makefile.am): Likewise.
42773         * modules/readlink (Makefile.am): Likewise.
42774         * modules/readtokens (Makefile.am): Likewise.
42775         * modules/readutmp (Makefile.am): Likewise.
42776         * modules/realloc (Makefile.am): Likewise.
42777         * modules/regex (Makefile.am): Likewise.
42778         * modules/rename (Makefile.am): Likewise.
42779         * modules/rename-dest-slash (Makefile.am): Likewise.
42780         * modules/rijndael (Makefile.am): Likewise.
42781         * modules/rmdir (Makefile.am): Likewise.
42782         * modules/rpmatch (Makefile.am): Likewise.
42783         * modules/safe-read (Makefile.am): Likewise.
42784         * modules/safe-write (Makefile.am): Likewise.
42785         * modules/same (Makefile.am): Likewise.
42786         * modules/save-cwd (Makefile.am): Likewise.
42787         * modules/savedir (Makefile.am): Likewise.
42788         * modules/setenv (Makefile.am): Likewise.
42789         * modules/settime (Makefile.am): Likewise.
42790         * modules/sha1 (Makefile.am): Likewise.
42791         * modules/sig2str (Makefile.am): Likewise.
42792         * modules/snprintf (Makefile.am): Likewise.
42793         * modules/stdlib-safer (Makefile.am): Likewise.
42794         * modules/stpcpy (Makefile.am): Likewise.
42795         * modules/stpncpy (Makefile.am): Likewise.
42796         * modules/strcase (Makefile.am): Likewise.
42797         * modules/strcasestr (Makefile.am): Likewise.
42798         * modules/strchrnul (Makefile.am): Likewise.
42799         * modules/strcspn (Makefile.am): Likewise.
42800         * modules/strdup (Makefile.am): Likewise.
42801         * modules/strerror (Makefile.am): Likewise.
42802         * modules/strftime (Makefile.am): Likewise.
42803         * modules/strndup (Makefile.am): Likewise.
42804         * modules/strnlen (Makefile.am): Likewise.
42805         * modules/strpbrk (Makefile.am): Likewise.
42806         * modules/strsep (Makefile.am): Likewise.
42807         * modules/strstr (Makefile.am): Likewise.
42808         * modules/strtod (Makefile.am): Likewise.
42809         * modules/strtoimax (Makefile.am): Likewise.
42810         * modules/strtok_r (Makefile.am): Likewise.
42811         * modules/strtol (Makefile.am): Likewise.
42812         * modules/strtoll (Makefile.am): Likewise.
42813         * modules/strtoul (Makefile.am): Likewise.
42814         * modules/strtoull (Makefile.am): Likewise.
42815         * modules/strtoumax (Makefile.am): Likewise.
42816         * modules/strverscmp (Makefile.am): Likewise.
42817         * modules/time_r (Makefile.am): Likewise.
42818         * modules/timegm (Makefile.am): Likewise.
42819         * modules/tmpfile-safer (Makefile.am): Likewise.
42820         * modules/unistd-safer (Makefile.am): Likewise.
42821         * modules/unlinkdir (Makefile.am): Likewise.
42822         * modules/userspec (Makefile.am): Likewise.
42823         * modules/utime (Makefile.am): Likewise.
42824         * modules/utimecmp (Makefile.am): Likewise.
42825         * modules/utimens (Makefile.am): Likewise.
42826         * modules/vasnprintf (Makefile.am): Likewise.
42827         * modules/vasprintf (Makefile.am): Likewise.
42828         * modules/vsnprintf (Makefile.am): Likewise.
42829         * modules/xalloc (Makefile.am): Likewise.
42830         * modules/xgetcwd (Makefile.am): Likewise.
42831         * modules/xnanosleep (Makefile.am): Likewise.
42832         * modules/xreadlink (Makefile.am): Likewise.
42833         * modules/xstrtod (Makefile.am): Likewise.
42834         * modules/xstrtol (Makefile.am): Likewise.
42835         * modules/xstrtold (Makefile.am): Likewise.
42836         * modules/yesno (Makefile.am): Likewise.
42837
42838 2006-10-12  Jim Meyering  <jim@meyering.net>
42839
42840         * m4/getloadavg.m4: Revert the change below.
42841
42842         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
42843         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
42844         fail with a symlink, which is what coreutils' ./bootstrap now
42845         creates by default.
42846
42847 2006-10-12  Bruno Haible  <bruno@clisp.org>
42848
42849         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
42850         mingw.
42851         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
42852         MSVC and mingw explicitly.
42853
42854 2006-10-11  Simon Josefsson  <jas@extundo.com>
42855             Bruno Haible  <bruno@clisp.org>
42856
42857         Add support for multiple gnulib-tool invocations in the scope of a
42858         single configure.ac file.
42859         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
42860         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
42861         with the same contents as the _LIBADD variable.
42862         (func_emit_initmacro_start, func_emit_initmacro_end,
42863         func_emit_initmacro_done): New functions.
42864         (func_import, func_create_testdir): Invoke them. Allow the identifiers
42865         gl_LIBOBJS and gl_LTLIBOBJS.
42866
42867 2006-10-11  Bruno Haible  <bruno@clisp.org>
42868
42869         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
42870         (func_create_testdir): Don't create po/Makefile.am, don't invoke
42871         autoreconf. Instead, invoke autopoint explicitly but move back the
42872         *.m4 files from gnulib.
42873
42874 2006-10-11  Bruno Haible  <bruno@clisp.org>
42875
42876         * gnulib-tool (func_usage): Make module names after --create-testdir
42877         optional.
42878         (func_create_testdir): If no module was specified, use nearly all
42879         modules.
42880
42881 2006-10-12  Jim Meyering  <jim@meyering.net>
42882
42883         Big performance improvement for fts-based tools that use FTS_NOSTAT.
42884         Avoid spurious inode-mismatch problems on non-POSIX file systems.
42885         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
42886         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
42887         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
42888         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
42889         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
42890         (fts_set_stat_required): New function.
42891         (fts_open): Defer the calls to fts_stat, if possible or requested.
42892         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
42893         into fts_stat itself.
42894         (fts_read): Perform any required (deferred) fts_stat call.
42895         (fts_build): Likewise, for the directory we're about to open and read.
42896         In the readdir loop, carefully decide whether each entry will require
42897         an eventual call to fts_stat, using dirent.d_type info if available.
42898         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
42899         a command line argument into this function.  Update all callers.
42900         Map a return value of FTS_DOT to FTS_D for a command line argument.
42901         * modules/fts (Depends-on): Add d-type.  Alphabetize.
42902         Thanks to Miklos Szeredi for his tenacity and for the initial
42903         bug report about "find" failing on a FUSE-based file system.
42904
42905         * lib/fts.c (fts_open): Use consistent indentation.
42906
42907 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
42908
42909         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
42910         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
42911         reported by Jim Meyering.  All uses of cache variables renamed
42912         to match Autoconf's.
42913         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
42914         the other one.
42915
42916         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
42917         Fix misspelling in diagnostic.
42918
42919 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
42920
42921         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
42922         defined.  Problem reported by Matthew Woehlke.
42923
42924         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
42925         Add support for Tandem NonStop R series.
42926         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
42927         Use new macro.
42928
42929         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
42930         (has_trailing_slash): Omit size arg; all callers changed.
42931         Omit 'inline', since it doesn't help performance and we'd
42932         need to configure it.
42933         Don't count //, ///, etc. as having a trailing slash.
42934         As a side effect, this removes a C99ism reported by Matthew Woehlke.
42935         (rpl_rename_dest_slash): On failure, use rename's errno rather
42936         than (in some cases) an incorrect or junk errno.
42937         Simplify code by removing need to compute length; this does
42938         cause it to make two passes instead of one over the file name,
42939         but it's worth it.
42940
42941         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
42942         change, since Autoconf's version may no longer be appropriate now
42943         that we are using CVS Autoconf's version.  Add support for Tandem.
42944
42945 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
42946             Bruno Haible  <bruno@clisp.org>
42947
42948         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
42949         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
42950         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
42951         gl_AC_TYPE_LONG_LONG.
42952
42953         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
42954         instead of HAVE_LONG_LONG.
42955         * lib/printf-args.c (printf_fetchargs): Likewise.
42956         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
42957         * lib/vasnprintf.c (VASNPRINTF): Likewise.
42958         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
42959         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
42960         gl_AC_TYPE_LONG_LONG.
42961
42962 2006-10-11  Bruno Haible  <bruno@clisp.org>
42963
42964         * m4/longlong.m4: Add comments.
42965         * m4/ulonglong.m4: Likewise.
42966
42967 2006-10-10  Bruno Haible  <bruno@clisp.org>
42968
42969         Make it possible to #define stpcpy, strdup to aliases.
42970         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
42971         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
42972
42973 2006-10-10  Bruno Haible  <bruno@clisp.org>
42974
42975         Make it possible to #define gcd to an alias.
42976         * lib/gcd.c: Include config.h.
42977
42978 2006-10-10  Bruno Haible  <bruno@clisp.org>
42979
42980         Make it possible to #define c_isascii to an alias.
42981         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
42982         defined. Undefine the macros before defining them, to avoid gcc
42983         warnings.
42984         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
42985         define NO_C_CTYPE_MACROS early.
42986
42987 2006-10-10  Bruno Haible  <bruno@clisp.org>
42988
42989         Make it possible to #define set_program_name to an alias.
42990         * lib/progname.c: Don't undefine set_program_name; instead, undefine
42991         ENABLE_RELOCATABLE early.
42992
42993 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42994
42995         Port to Tandem NSK OSS, which has 64-bit signed int but at most
42996         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
42997         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
42998         More generally, don't assume that 64-bit signed int is available
42999         if unsigned int is, and vice versa.
43000         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
43001         unsigned symbols, not on their signed counterparts.
43002         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
43003         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
43004         (UINT64_C, UINTMAX_C):
43005         Likewise.
43006         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
43007         unsigned counterparts.
43008         (Have_long_long, Unsigned): New macros.
43009         (Int): Renamed from INT.
43010         (strtoimax): Use the new macros.
43011         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
43012         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
43013         * modules/inttypes (inttypes.h): Substitute
43014         HAVE_UNSIGNED_LONG_LONG_INT.
43015         * modules/stdint (stdint.h): Likewise.
43016         (Files): Add m4/ulonglong.m4.
43017
43018 2006-10-10  Bruno Haible  <bruno@clisp.org>
43019
43020         Fix a gcc -Wshadow warning.
43021         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
43022         to 'bucket'.
43023         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
43024         gl_linked_indexof_from_to): Likewise.
43025         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
43026         Likewise.
43027         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
43028         Likewise.
43029         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
43030         Reported by Eric Blake.
43031
43032 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
43033
43034         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
43035         for NetBSD.  Problem reported by Bruno Haible.
43036
43037 2006-10-09  Jim Meyering  <jim@meyering.net>
43038
43039         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
43040         Patch from Bruno Haible.
43041
43042 2006-10-09  Jim Meyering  <jim@meyering.net>
43043
43044         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
43045         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
43046         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
43047
43048 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43049
43050         Don't include <config.h> twice; this doesn't work in some cases,
43051         e.g., when config.h has "#define intmax_t long long int" and
43052         we include <config.h>, <inttypes.h>, <config.h> in that order.
43053         Problem reported by Matthew Woehlke in:
43054         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
43055         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
43056         * lib/fts-cycle.c: Don't include config.h.
43057         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
43058         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
43059         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
43060         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
43061         inttypes.h.
43062         * lib/xstrtoumax.c: Likewise.
43063         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
43064         __strtol and the like, so that this module is more like its siblings.
43065         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
43066         Remove; no longer needed now that we assume gnulib inttypes.h.
43067
43068 2006-10-08  Bruno Haible  <bruno@clisp.org>
43069
43070         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
43071         option.
43072
43073 2006-10-07  Jim Meyering  <jim@meyering.net>
43074
43075         * modules/inttypes (inttypes.h): Revert what seems to have been
43076         an inadvertent part of today's change: use "|", not "/" in the
43077         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
43078
43079 2006-10-07  Bruno Haible  <bruno@clisp.org>
43080
43081         * modules/sublist: New file.
43082
43083 2006-10-07  Bruno Haible  <bruno@clisp.org>
43084
43085         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
43086         * modules/argz (argz.h): Likewise.
43087         * modules/arpa_inet (arpa/inet.h): Likewise.
43088         * modules/byteswap (byteswap.h): Likewise.
43089         * modules/configmake (configmake.h): Likewise.
43090         * modules/fcntl (fcntl.h): Likewise.
43091         * modules/fnmatch (fnmatch.h): Likewise.
43092         * modules/getopt (getopt.h): Likewise.
43093         * modules/glob (glob.h): Likewise.
43094         * modules/inttypes (inttypes.h): Likewise.
43095         * modules/netinet_in (netinet/in.h): Likewise.
43096         * modules/poll (poll.h): Likewise.
43097         * modules/stdbool (stdbool.h): Likewise.
43098         * modules/stdint (stdint.h): Likewise.
43099         * modules/sys_select (sys/select.h): Likewise.
43100         * modules/sys_socket (sys/socket.h): Likewise.
43101         * modules/sys_stat (sys/stat.h): Likewise.
43102         * modules/sysexits (sysexits.h): Likewise.
43103         * modules/unistd (unistd.h): Likewise.
43104         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
43105         Add a "DO NOT EDIT" comment to the generated file.
43106         (func_import): Likewise for gnulib-comp.m4.
43107
43108 2006-10-07  Bruno Haible  <bruno@clisp.org>
43109
43110         * lib/gl_sublist.h: New file.
43111         * lib/gl_sublist.c: New file.
43112
43113 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
43114
43115         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
43116         name (relative to the original working directory) and the file
43117         name component (relative to the temporary working directory).  All
43118         callers changed.
43119         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
43120         * lib/mkdir-p.c (make_dir_parents): Likewise.
43121         * lib/mkdir-p.h (make_dir_parents): Likewise.
43122
43123 2006-10-06  Eric Blake  <ebb9@byu.net>
43124
43125         Define several macros for use by the clean-temp module.
43126         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
43127         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
43128         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
43129
43130         * lib/clean-temp.h (close_stream_temp): New declaration.
43131         * lib/clean-temp.c (includes): Pull in headers according to what
43132         other modules are in use.
43133         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
43134
43135 2006-10-06  Bruno Haible  <bruno@clisp.org>
43136
43137         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
43138         instead of fopen, fwriteerror.
43139
43140 2006-10-06  Bruno Haible  <bruno@clisp.org>
43141
43142         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
43143         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
43144         int.
43145         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
43146         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
43147         Return an error indicator.
43148         Suggested by Eric Blake.
43149
43150 2006-10-06  Bruno Haible  <bruno@clisp.org>
43151
43152         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
43153         Reported by Eric Blake.
43154
43155 2006-10-06  Bruno Haible  <bruno@clisp.org>
43156
43157         * modules/closeout (Description): Mention stderr too.
43158
43159 2006-10-06  Bruno Haible  <bruno@clisp.org>
43160         and Paul Eggert  <eggert@cs.ucla.edu>
43161
43162         * lib/closeout.c (close_stdout): Also close stderr.
43163         * lib/closeout.h: Update comment.
43164
43165 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
43166
43167         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
43168         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
43169         * lib/dirchownmod.c: Include lchown.h.
43170         * lib/lchown.c: Don't include files that lchown.h now includes.
43171         Don't declare chown, since lchown.h now does that.
43172         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
43173         (lchown): Define to rpl_chown if lchown is declared but
43174         does not exist.  Declare using a prototype if lchown is not
43175         declared.  Add a copyright notice.
43176         * lib/mkstemp.h: Include <unistd.h>.
43177         * lib/openat.c: Include lchown.h.
43178
43179         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
43180         we now test for that separately.
43181         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
43182         rather than O_NOFOLLOW, when testing whether it's possible to
43183         avoid a race condition reliably.
43184         * lib/savewd.c (savewd_chdir): Likewise.
43185
43186         Remove macros that are no longer needed now that stdint.h is
43187         reliable.
43188         * lib/fsusage.c (UINTMAX_MAX): Remove.
43189         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
43190         * lib/utimecmp.c (SIZE_MAX): Remove.
43191
43192         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
43193
43194         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
43195         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
43196         O_NOATIME works.
43197
43198 2006-10-05  Bruno Haible  <bruno@clisp.org>
43199
43200         * lib/gl_list.h (gl_sortedlist_search_from_to,
43201         gl_sortedlist_indexof_from_to): New declarations.
43202         (gl_list_implementation): New fields sortedlist_search_from_to,
43203         sortedlist_indexof_from_to.
43204         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
43205         inline functions.
43206         * lib/gl_list.c (gl_sortedlist_search_from_to,
43207         gl_sortedlist_indexof_from_to): New functions.
43208         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
43209         function.
43210         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
43211         (gl_array_sortedlist_search_from_to): New function.
43212         (gl_array_list_implementation): Update.
43213         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
43214         function.
43215         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
43216         (gl_carray_sortedlist_search_from_to): New function.
43217         (gl_carray_list_implementation): Update.
43218         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
43219         gl_linked_sortedlist_indexof_from_to): New functions.
43220         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43221         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43222         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
43223         gl_tree_sortedlist_indexof_from_to): New functions.
43224         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43225         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43226         Update.
43227         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43228         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
43229         Update.
43230
43231 2006-10-05  Bruno Haible  <bruno@clisp.org>
43232
43233         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
43234         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
43235         (struct gl_list_implementation): Add fields search_from_to,
43236         indexof_from_to. Remove fields search, indexof.
43237         (gl_list_search): Use the search_from_to method.
43238         (gl_list_search_from, gl_list_search_from_to): New functions.
43239         (gl_list_indexof): Use the indexof_from_to method.
43240         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43241         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
43242         (gl_list_search_from, gl_list_search_from_to): New functions.
43243         (gl_list_indexof): Use the indexof_from_to method.
43244         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
43245         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
43246         gl_array_indexof. Add start_index, end_index arguments.
43247         (gl_array_search_from_to): Renamed from gl_array_search. Add
43248         start_index, end_index arguments.
43249         (gl_array_remove, gl_array_list_implementation): Update.
43250         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
43251         gl_carray_indexof. Add start_index, end_index arguments.
43252         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
43253         start_index, end_index arguments.
43254         (gl_carray_remove, gl_carray_list_implementation): Update.
43255         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
43256         gl_linked_search. Add start_index, end_index arguments.
43257         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
43258         start_index, end_index arguments.
43259         (gl_linked_remove): Update.
43260         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
43261         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
43262         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
43263         field to 'size_t'.
43264         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
43265         gl_tree_search. Add start_index, end_index arguments.
43266         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43267         start_index, end_index arguments.
43268         (gl_tree_remove): Update.
43269         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
43270         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
43271         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
43272         function.
43273         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
43274         gl_tree_search. Add start_index, end_index arguments.
43275         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
43276         start_index, end_index arguments.
43277         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
43278         Update.
43279         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
43280
43281 2006-10-05  Bruno Haible  <bruno@clisp.org>
43282
43283         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
43284
43285         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
43286         fwriteerror_temp): New declarations.
43287         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
43288         (descriptors): New variable.
43289         (cleanup): First, close the descriptors.
43290         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
43291         fclose_temp, fwriteerror_temp): New functions.
43292
43293 2006-10-04  Jim Meyering  <jim@meyering.net>
43294
43295         * lib/fts.c (fts_open): Tiny comment change.
43296
43297 2006-10-04  Bruno Haible  <bruno@clisp.org>
43298
43299         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
43300         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
43301         gl_LOCK_BODY.
43302         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
43303         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
43304         gl_LOCK_EARLY_BODY.
43305         (gl_LOCK): Require gl_LOCK_BODY.
43306
43307 2006-10-04  Bruno Haible  <bruno@clisp.org>
43308
43309         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
43310         (gl_oset_search_atleast): New declaration.
43311         (struct gl_oset_implementation): Add field 'search_atleast'.
43312         (gl_oset_search_atleast): New inline function.
43313         * lib/gl_oset.c (gl_oset_search_atleast): New function.
43314         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
43315         (gl_array_oset_implementation): Update.
43316         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
43317         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
43318         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
43319
43320 2006-10-04  Bruno Haible  <bruno@clisp.org>
43321
43322         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
43323
43324 2006-10-03  Bruno Haible  <bruno@clisp.org>
43325
43326         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
43327         from gl_avltreehash_list_implementation.
43328
43329 2006-10-03  Bruno Haible  <bruno@clisp.org>
43330
43331         * lib/gl_oset.c (gl_oset_add): Fix return type.
43332
43333 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
43334
43335         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
43336
43337 2006-10-02  Eric Blake  <ebb9@byu.net>
43338
43339         * modules/strnlen (Depends-on): Add extensions.
43340
43341 2006-10-02  Eric Blake  <ebb9@byu.net>
43342
43343         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
43344         definition in 2.60+.
43345
43346 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
43347
43348         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
43349         checks.
43350
43351 2006-10-02  Bruno Haible  <bruno@clisp.org>
43352
43353         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
43354         to the AUTOMAKE_OPTIONS.
43355         Reported by Jim Meyering.
43356
43357 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
43358
43359         Work around bug in Solaris 10 /proc file system:
43360         /proc/self/fd/NNN/.. isn't the parent directory of
43361         the directory whose file descriptor is NNN.  This needs to
43362         be worked around at run time, not compile time, since a
43363         program might be built on Solaris 8, where things work, and
43364         run on Solaris 10.
43365         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
43366         to use the following interface instead:
43367         (OPENAT_BUFFER_SIZE): New macro.
43368         (openat_proc_name): New function.
43369         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
43370         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
43371         Likewise.
43372         * lib/openat-proc.c: New file.
43373         * modules/openat (Files): Add lib/openat-proc.c.
43374         (Depends-on): Add same-inode, stdbool.
43375         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
43376
43377 2006-09-29  Bruno Haible  <bruno@clisp.org>
43378
43379         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
43380         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
43381         argument. Set stdout_closed before testing for ferror, not after.
43382         (fwriteerror, fwriteerror_no_ebadf): New functions.
43383
43384 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43385
43386         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
43387
43388 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
43389
43390         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
43391         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
43392
43393 2006-09-28  Jim Meyering  <jim@meyering.net>
43394
43395         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
43396         Include <unistd.h>.
43397
43398 2006-09-28  Bruno Haible  <bruno@clisp.org>
43399
43400         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
43401         * modules/linkedhash-list (Depends-on): Likewise.
43402         * modules/rbtreehash-list (Depends-on): Likewise.
43403
43404 2006-09-28  Bruno Haible  <bruno@clisp.org>
43405
43406         * lib/strndup.h: Simplify the redefinition of strndup.
43407         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
43408         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
43409
43410 2006-09-28  Bruno Haible  <bruno@clisp.org>
43411
43412         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
43413         * lib/gl_linkedhash_list.c: Likewise.
43414         * lib/gl_rbtreehash_list.c: Likewise.
43415
43416 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
43417
43418         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
43419         getaddrinfo.
43420
43421         * lib/__fpending.h: Don't include <stdio_ext.h> unless
43422         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
43423         it causes <stdio_ext.h> to cause a compile-time error.
43424         Problem reported by Nelson H. F. Beebe.
43425         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
43426         of HAVE_DECL___PENDING.
43427
43428         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
43429         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
43430         declaration.
43431
43432 2006-09-27  Jim Meyering  <jim@meyering.net>
43433
43434         This file could end up with a definition for a function
43435         named __strndup, rather than rpl_strndup on a system with
43436         incomplete weak_alias support.
43437         * lib/strndup.c (strndup): Rename from __strndup.
43438         Remove #defines that used to map __strndup to strndup.
43439         Don't use K&R prototypes.
43440         Remove LIBC-related code, since this file is not sync'd with glibc.
43441         * lib/strndup.h: Revamp, accordingly.
43442         * m4/strndup.m4: Modernize.
43443
43444 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
43445
43446         * modules/savewd (Depends-on): Add 'raise'.
43447         * lib/savewd.c: Include <signal.h>, for 'raise'.
43448
43449 2006-09-26  Jim Meyering  <jim@meyering.net>
43450
43451         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
43452         when we detect Darwin 8.7.0's acl_get_file bug.
43453         Rearrange to perform the new (below) run-test while $LIBS
43454         contains any acl-related library.  Set USE_ACL at the end.
43455         (gl_ACL_GET_FILE): New function.
43456
43457 2006-09-26  Eric Blake  <ebb9@byu.net>
43458
43459         * lib/verror.c: Include <config.h> unconditionally.
43460
43461 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
43462
43463         * modules/clock-time (Maintainer): Add self.
43464         * modules/getlogin_r (Depends-on): Add extensions.
43465
43466 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43467
43468         * modules/clock-time: New module.
43469         * modules/nanosleep (Depends-on): Add clock-time.
43470         * modules/gethrxtime (Depends-on): Likewise.
43471         * modules/gettime (Depends-on): Likewise.
43472         * modules/settime (Depends-on): Likewise.
43473
43474         * modules/fts-lgpl: Depend on openat.
43475         * modules/mkancesdirs: Depend on savewd.
43476         * modules/mkdir-p: Likewise.
43477
43478 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43479
43480         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
43481
43482         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
43483         `gl_have_arbitrary_file_name_length_limit' to
43484         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
43485         actually works between configure runs.
43486
43487 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43488             Bruno Haible  <bruno@clisp.org>
43489
43490         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
43491
43492 2006-09-25  Jim Meyering  <jim@meyering.net>
43493
43494         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
43495         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
43496
43497 2006-09-25  Eric Blake  <ebb9@byu.net>
43498
43499         * gnulib-tool (func_import, func_create_testdir): Fix typos in
43500         exec's in 2006-09-18 patch when shuffling fds.
43501
43502 2006-09-25  Bruno Haible  <bruno@clisp.org>
43503
43504         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
43505         Reported by Jim Meyering.
43506
43507 2006-09-24  Jim Meyering  <jim@meyering.net>
43508
43509         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
43510         compare a pointer against a literal "0".  That caused failures with
43511         at least HP-UX's hpcc.
43512
43513 2006-09-22  Simon Josefsson  <jas@extundo.com>
43514
43515         * modules/gc-sha1:
43516         * modules/gc-md4:
43517         * modules/gc-hmac-sha1:
43518         * modules/gc-hmac-md5:
43519         * modules/gc-des:
43520         * modules/gc-arcfour: Distribute more files.
43521
43522 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43523
43524         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
43525         (gl_linked_iterator_from_to): Initialize struct completely.
43526         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
43527         (gl_tree_iterator_from_to): Likewise
43528         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
43529         * lib/gl_array_list.c [lint] (gl_array_iterator)
43530         (gl_array_iterator_from_to): Likewise.
43531         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
43532         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
43533         (gl_carray_iterator_from_to): Likewise.
43534
43535         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
43536         * lib/md4.c (md4_process_block): Remove unused variable.
43537         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
43538         parentheses for clarity.
43539
43540 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43541
43542         * modules/bison-i18n (Depends-on): Add gettext.
43543
43544 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43545
43546         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
43547         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43548         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
43549         also add missing comma that caused broken test.
43550         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
43551         stdlib.h, for `abort'.
43552         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
43553         variables.
43554         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
43555         include unistd.h if present, for `rmdir'.
43556         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
43557         variables.
43558         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
43559         in the process include standard headers for prototypes.
43560         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
43561         gets declared on GNU/Linux.
43562         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
43563         unistd.h, for `rmdir'.
43564         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
43565
43566         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
43567         always true.
43568         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
43569
43570         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
43571
43572 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43573
43574         * gnulib-tool (func_version): Create output all at once.  This
43575         may help avoid triggering unnecessary SIGPIPEs, and at any
43576         rate it doesn't hurt.
43577
43578 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43579             Bruno Haible  <bruno@clisp.org>
43580
43581         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
43582         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43583         * m4/signed.m4 (bh_C_SIGNED): Likewise.
43584
43585         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
43586         (gl_FUNC_VASPRINTF): Invoke it.
43587
43588 2006-09-22  Bruno Haible  <bruno@clisp.org>
43589
43590         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
43591         getloadavg.c as first argument.
43592
43593 2006-09-22  Bruno Haible  <bruno@clisp.org>
43594
43595         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
43596         at the beginning of the gl_INIT macro.
43597         * modules/getloadavg (configure.ac): Pass $gl_source_base to
43598         gl_GETLOADAVG.
43599
43600 2006-09-22  Bruno Haible  <bruno@clisp.org>
43601
43602         * gnulib-tool (func_create_megatestdir): Don't include the config-h
43603         module.
43604         Suggested by Ralf Wildenhues.
43605
43606 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
43607
43608         Import this patch from libc:
43609
43610         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
43611
43612         * lib/regex_internal.c (re_string_reconstruct): Handle
43613         offset < pstr->valid_raw_len && pstr->offsets_needed case.
43614         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
43615         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
43616         re_string_context_at.
43617
43618         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
43619         now requires it.
43620         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
43621         gl_REGEX now does it for us.
43622         (gl_REGEX): Add test taken from
43623         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
43624
43625         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
43626         Check that large offsets work.  Modernize Autoconf usages.
43627         Prefer "yes" to mean a good thing rather than a bad.
43628         Don't put "#define mkstemp" in config.h, as this might interfere
43629         with standard system headers that "#define mkstemp mkstemp64".
43630
43631         * modules/mkstemp (Depends-on): Add extensions, so that
43632         mkstemp is visible on some platforms.
43633         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
43634         (Include): Change to "mkstemp.h" from <stdlib.h>.
43635         (Files): Add mkstemp.h.
43636
43637         * lib/mkstemp.h: New file, since some standard headers
43638         #define mkstemp.
43639         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
43640         Include "mkstemp.h".
43641         Make the _LIBC code resemble glibc original more,
43642         e.g., use K&R style.
43643         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
43644         (mkstemp): Remove, since mkstemp.h does this for us.
43645         * lib/stdlib--.h: Include mkstemp.h.
43646
43647         Import this patch from libc:
43648
43649         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
43650
43651         * lib/tempname.c (__gen_tempname): Change attempts_min
43652         into a macro.  Use preprocessor to decide how to initialize
43653         attempts [Coverity CID 67].
43654
43655 2006-09-20  Bruno Haible  <bruno@clisp.org>
43656
43657         * lib/mkdtemp.c: Import from libc.
43658         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
43659                 * sysdeps/posix/tempname.c (__gen_tempname): Change
43660                 attempts_min into a macro.  Use preprocessor to decide how to
43661                 initialize attempts [Coverity CID 67].
43662         2001-11-27  Paul Eggert  <eggert@twinsun.com>
43663                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
43664                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
43665
43666 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43667
43668         * gnulib-tool (func_exit): New function, to allow to pass the
43669         exit status portably through the trap.  Use everywhere.
43670         (--help, --version): Signal a write error.
43671         (trap): catch SIGPIPE, for write errors.
43672         Exit at the end of the trap, with the correct exit status.
43673
43674 2006-09-19  Karl Berry  <karl@gnu.org>
43675
43676         * doc/gnulib.texi: note about the license texinfo files.
43677
43678 2006-09-19  Eric Blake  <ebb9@byu.net>
43679
43680         * gnulib-tool: Avoid space-tab.
43681
43682 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
43683
43684         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
43685         that prevented coreutils 6.1 from building.  Problem reported
43686         by Petter Reinholdtsen.
43687
43688 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
43689
43690         * gnulib-tool (avoidlist): Fix typo that broke options like
43691         --avoid=lock that are used by coreutils bootstrap.
43692
43693 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
43694
43695         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
43696         more systematically.
43697
43698 2006-09-18  Jim Meyering  <jim@meyering.net>
43699
43700         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
43701
43702 2006-09-18  Bruno Haible  <bruno@clisp.org>
43703
43704         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
43705
43706 2006-09-18  Bruno Haible  <bruno@clisp.org>
43707
43708         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
43709         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
43710         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
43711         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
43712         * m4/gettext.m4: Require autoconf >= 2.52.
43713         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
43714         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
43715         of gl_cv_header_inttypes_h.
43716
43717 2006-09-18  Bruno Haible  <bruno@clisp.org>
43718
43719         * lib/javaversion.c: Include configmake.h.
43720
43721 2006-09-18  Bruno Haible  <bruno@clisp.org>
43722
43723         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
43724         avoid that the while loops be executed in a subshell.
43725
43726 2006-09-18  Bruno Haible  <bruno@clisp.org>
43727
43728         * MODULES.html.sh (func_module): Break long lines.
43729         Suggested by Bruce Korb <bkorb@gnu.org>.
43730
43731 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43732
43733         Speed up by a factor of 1.12.
43734         * gnulib-tool (nl): New variable.
43735         (func_import): Rewrite include directive extraction to only read each
43736         directive once.
43737
43738 2006-09-17  Bruno Haible  <bruno@clisp.org>
43739
43740         * modules/javaversion (Makefile.am): Remove DEFS setting.
43741         (Depends-on): Add configmake, for PKGDATADIR definition.
43742
43743 2006-09-17  Bruno Haible  <bruno@clisp.org>
43744
43745         * gnulib-tool (func_create_testdir): Rewrite all files at once.
43746
43747 2006-09-17  Bruno Haible  <bruno@clisp.org>
43748
43749         * gnulib-tool (func_append): New function, stolen from libtool.m4.
43750         (func_modules_transitive_closure, func_modules_add_dummy,
43751         func_modules_to_filelist, func_import, func_create_testdir,
43752         func_create_megatestdir, ...): Use it wherever possible.
43753         Suggested by Ralf Wildenhues.
43754
43755 2006-09-16  Karl Berry  <karl@gnu.org>
43756
43757         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
43758         to avoid sectioning errors.
43759         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
43760         [ifinfo]: blank line after @center-ed titles.
43761         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
43762         Spell FSF address consistently with others.
43763         (These changes approved by rms.)
43764
43765 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43766
43767         Speed up by a factor of 1.61.
43768         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
43769         already checked module names again.
43770
43771 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43772
43773         Speed up by a factor of 1.13.
43774         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
43775         for new_files, and the input to func_add_or_update.
43776
43777 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43778
43779         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
43780         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
43781
43782 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43783
43784         * modules/mkancesdirs (Depends-on): Add fcntl.
43785         * modules/savewd: New file.
43786         * MODULES.html.sh (File system functions): Add savewd.
43787
43788         * modules/configmake (Makefile.am): Add support for the
43789         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
43790
43791 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43792
43793         * m4/savewd.m4: New file.
43794
43795 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
43796
43797         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
43798         (dirchownmod): New arg FD.  All callers changed.
43799         Use FD rather than opening the directory ourself, as opening is
43800         now the caller's responsibility.
43801         * lib/dirchownmod.h: Likewise.
43802         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
43803         hosts that require <sys/types.h> before <sys/stat.h>.  Include
43804         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
43805         (test_dir): Remove.
43806         (mkancesdirs): Return length of prefix of FILE that has already
43807         been made, or -2 if there is a child doing the work.  Redo
43808         algorithm so that it is O(N) rather than O(N**2).  Optimize away
43809         ".", and treat ".." specially since it might stray back into
43810         already-created areas.  Use a subprocess if necessary.  New arg
43811         WD; all users changed.  MAKE_DIR function should now return 1
43812         if it creates a directory that is not readable.  Return -2 if
43813         a child process is spun off.
43814         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
43815         Adjust signature to match code.
43816         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
43817         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
43818         all users changed.
43819         * lib/savewd.c, lib/savewd.h: New files.
43820
43821 2006-09-15  Jim Meyering  <jim@meyering.net>
43822
43823         * modules/rename-dest-slash: New module.
43824         * MODULES.html.sh (posix_compat): Add it here.
43825
43826         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
43827
43828 2006-09-15  Jim Meyering  <jim@meyering.net>
43829
43830         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
43831         file.
43832
43833         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
43834
43835 2006-09-15  Jim Meyering  <jim@meyering.net>
43836
43837         * lib/rename-dest-slash.c (has_trailing_slash): Use
43838         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
43839         (rpl_rename_dest_slash): Perform the cheaper trailing slash
43840         test before testing whether SRC is a directory.
43841         Suggestions from Bruno Haible.
43842
43843         Avoid a warning about an unused variable.
43844         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
43845         into the #ifdef block where it's used.
43846
43847         * lib/rename-dest-slash.c: New file.
43848
43849 2006-09-14  Bruno Haible  <bruno@clisp.org>
43850
43851         * lib/allocsa.c: Include <config.h> unconditionally.
43852         * lib/asnprintf.c: Likewise.
43853         * lib/asprintf.c: Likewise.
43854         * lib/c-strcasecmp.c: Likewise.
43855         * lib/c-strcasestr.c: Likewise.
43856         * lib/c-strncasecmp.c: Likewise.
43857         * lib/c-strstr.c: Likewise.
43858         * lib/classpath.c: Likewise.
43859         * lib/clean-temp.c: Likewise.
43860         * lib/concatpath.c: Likewise.
43861         * lib/copy-file.c: Likewise.
43862         * lib/csharpcomp.c: Likewise.
43863         * lib/csharpexec.c: Likewise.
43864         * lib/execute.c: Likewise.
43865         * lib/fatal-signal.c: Likewise.
43866         * lib/findprog.c: Likewise.
43867         * lib/fwriteerror.c: Likewise.
43868         * lib/gl_array_list.c: Likewise.
43869         * lib/gl_array_oset.c: Likewise.
43870         * lib/gl_avltree_list.c: Likewise.
43871         * lib/gl_avltree_oset.c: Likewise.
43872         * lib/gl_avltreehash_list.c: Likewise.
43873         * lib/gl_carray_list.c: Likewise.
43874         * lib/gl_linked_list.c: Likewise.
43875         * lib/gl_linkedhash_list.c: Likewise.
43876         * lib/gl_list.c: Likewise.
43877         * lib/gl_oset.c: Likewise.
43878         * lib/gl_rbtree_list.c: Likewise.
43879         * lib/gl_rbtree_oset.c: Likewise.
43880         * lib/gl_rbtreehash_list.c: Likewise.
43881         * lib/imaxabs.c: Likewise.
43882         * lib/imaxdiv.c: Likewise.
43883         * lib/javacomp.c: Likewise.
43884         * lib/javaexec.c: Likewise.
43885         * lib/javaversion.c: Likewise.
43886         * lib/linebreak.c: Likewise.
43887         * lib/localcharset.c: Likewise.
43888         * lib/lock.c: Likewise.
43889         * lib/mbchar.c: Likewise.
43890         * lib/mbswidth.c: Likewise.
43891         * lib/mkdtemp.c: Likewise.
43892         * lib/pipe.c: Likewise.
43893         * lib/printf-args.c: Likewise.
43894         * lib/printf-parse.c: Likewise.
43895         * lib/progname.c: Likewise.
43896         * lib/progreloc.c: Likewise.
43897         * lib/readlink.c: Likewise.
43898         * lib/sh-quote.c: Likewise.
43899         * lib/stpcpy.c: Likewise.
43900         * lib/stpncpy.c: Likewise.
43901         * lib/strcasecmp.c: Likewise.
43902         * lib/strcasestr.c: Likewise.
43903         * lib/strcspn.c: Likewise.
43904         * lib/striconv.c: Likewise.
43905         * lib/strncasecmp.c: Likewise.
43906         * lib/strnlen1.c: Likewise.
43907         * lib/strstr.c: Likewise.
43908         * lib/strtok_r.c: Likewise.
43909         * lib/tls.c: Likewise.
43910         * lib/tmpdir.c: Likewise.
43911         * lib/unicodeio.c: Likewise.
43912         * lib/unsetenv.c: Likewise.
43913         * lib/vasnprintf.c: Likewise.
43914         * lib/vasprintf.c: Likewise.
43915         * lib/wait-process.c: Likewise.
43916         * lib/xallocsa.c: Likewise.
43917         * lib/xsetenv.c: Likewise.
43918         * lib/xstriconv.c: Likewise.
43919
43920 2006-09-13  Simon Josefsson  <jas@extundo.com>
43921
43922         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
43923         that internally, suggested by Ralf Wildenhues
43924         <Ralf.Wildenhues@gmx.de>.
43925
43926 2006-09-13  Simon Josefsson  <jas@extundo.com>
43927
43928         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
43929         @LIBOBJS@.
43930         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43931
43932 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
43933
43934         * lib/_fpending.c: Include <config.h> unconditionally, since we no
43935         longer worry about uses that don't define HAVE_CONFIG_H.
43936         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
43937         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
43938         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
43939         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
43940         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
43941         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
43942         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
43943         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
43944         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
43945         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
43946         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
43947         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
43948         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
43949         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
43950         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
43951         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
43952         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
43953         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
43954         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
43955         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
43956         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
43957         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
43958         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
43959         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
43960         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
43961         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
43962         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
43963         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
43964         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
43965         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
43966         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
43967         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
43968         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
43969         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
43970         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
43971         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
43972         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
43973         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
43974         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
43975         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
43976         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
43977         Likewise.
43978
43979 2006-09-13  Eric Blake  <ebb9@byu.net>
43980
43981         * lib/getopt.c: Fix typo in last commit.
43982
43983 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43984
43985         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
43986         dgettext.
43987
43988 2006-09-12  Jim Meyering  <jim@meyering.net>
43989
43990         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
43991         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
43992         Reported by Nelson H. F. Beebe.
43993
43994 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43995
43996         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
43997         program_invocation_name and program_invocation_short_name are
43998         initialized.
43999         * lib/argp-namefrob.h: Move declarations of program_invocation_name
44000         and program_invocation_short_name to argp.h, so they are visible
44001         to user programs.
44002         * lib/argp.h: Likewise
44003
44004 2006-09-10  Bruno Haible  <bruno@clisp.org>
44005
44006         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
44007         m4/inttypes_h.m4, m4/uintmax_t.m4.
44008
44009 2006-09-10  Bruno Haible  <bruno@clisp.org>
44010
44011         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
44012         gl_AC_TYPE_UINTMAX_T.
44013
44014 2006-09-10  Bruno Haible  <bruno@clisp.org>
44015
44016         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
44017
44018 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44019
44020         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
44021         convention.  Text proposed by Bruno Haible.
44022         (struct argp_option): Document the use of N_() wrappers.
44023
44024         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
44025         '\v', and translate the two parts separately, instead of feeding
44026         the whole string to gettext.  This allows to exclude
44027         '\v' from the strings visible to the translator by writing doc
44028         strings as N_("..") "\v" N_("..").
44029
44030 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
44031
44032         * config/srclist.txt: Undo latest change; the bug was fixed.
44033
44034 2006-09-09  Bruno Haible  <bruno@clisp.org>
44035
44036         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
44037         assignments if building a library without libtool.
44038         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
44039         in func_emit_lib_Makefile_am.
44040         (func_import): When building a static library libfoo.a, arrange to
44041         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
44042         (func_create_testdir): Likewise.
44043         * modules/gc (configure.ac, Makefile.am): If building statically,
44044         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
44045         * modules/iconvme (configure.ac, Makefile.am): Likewise.
44046         * modules/striconv (configure.ac, Makefile.am): Likewise.
44047         Based on a suggestion by Ralf Wildenhues.
44048
44049 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44050
44051         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44052         Check for unistd.h too, since Autoconf doesn't assume POSIX.
44053         Also:
44054
44055         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44056         Add year_2050_test to catch glibc bug 2821
44057         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44058
44059         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
44060         Prefer #ifdef to #if.
44061
44062         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
44063         Return from 'main' instead of calling 'exit'.
44064
44065 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44066
44067         * lib/mktime.c (guess_time_tm): Fix bug where mktime
44068         returned the maximum time_t value rather than (time_t) -1.
44069         Problem originally reported by William Bardwell
44070         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
44071
44072         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44073         Moved to here ...
44074         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
44075         ... from here.
44076
44077 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
44078
44079         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
44080         2821 is fixed.
44081
44082 2006-09-08  Jim Meyering  <jim@meyering.net>
44083
44084         Don't make generated files read-only.  That would bother too many
44085         people.  However, do retain the ability to work when targets are
44086         read-only: remove the destination and temporary files before writing
44087         them (when generated via sed or echo), or by using the -f option for
44088         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
44089         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44090         * modules/byteswap, modules/configmake, modules/fcntl:
44091         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44092         * modules/localcharset, modules/netinet_in, modules/poll:
44093         * modules/stdbool, modules/stdint, modules/sys_select:
44094         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44095
44096 2006-09-08  Jim Meyering  <jim@meyering.net>
44097
44098         Avoid new build failure on FreeBSD 6.0.
44099         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
44100         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
44101         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
44102
44103 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44104
44105         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
44106
44107 2006-09-07  Jim Meyering  <jim@meyering.net>
44108
44109         Fix global typo in last change: use chmod u-w, not chmod u-x.
44110         Spotted by Paul Eggert and Bruce Korb.
44111         * modules/alloca-opt, modules/argz, modules/arpa_inet:
44112         * modules/byteswap, modules/configmake, modules/fcntl:
44113         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
44114         * modules/localcharset, modules/netinet_in, modules/poll:
44115         * modules/stdbool, modules/stdint, modules/sys_select:
44116         * modules/sys_socket, modules/sys_stat, modules/sysexits:
44117
44118 2006-09-06  Jim Meyering  <jim@meyering.net>
44119
44120         Make generated files be read-only.
44121         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
44122         Ensure that each generated file is now read-only.
44123         * modules/argz: Likewise.
44124         * modules/arpa_inet: Likewise.
44125         * modules/byteswap: Likewise.
44126         * modules/configmake: Likewise.
44127         * modules/fcntl: Likewise.
44128         * modules/fnmatch: Likewise.
44129         * modules/getopt: Likewise.
44130         * modules/glob: Likewise.
44131         * modules/inttypes: Likewise.
44132         * modules/netinet_in: Likewise.
44133         * modules/poll: Likewise.
44134         * modules/stdbool: Likewise.
44135         * modules/stdint: Likewise.
44136         * modules/sys_select: Likewise.
44137         * modules/sys_socket: Likewise.
44138         * modules/sys_stat: Likewise.
44139         * modules/sysexits: Likewise.
44140         * modules/localcharset: Same as above, but continue using temporary
44141         file named "t-$@" (why different?) rather than the "$@-t" used
44142         everywhere else.
44143
44144         * modules/sysexits (Makefile.am): Replace literal occurrences
44145         of "sysexit.h" more readable, and more consistent, "$@".
44146
44147 2006-09-06  Bruno Haible  <bruno@clisp.org>
44148
44149         * modules/striconv: New file.
44150         * modules/xstriconv: New file.
44151         * MODULES.html.sh (Internationalization functions): Add striconv,
44152         xstriconv.
44153
44154 2006-09-06  Bruno Haible  <bruno@clisp.org>
44155
44156         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
44157         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
44158         not using libtool correctly.
44159
44160 2006-09-06  Bruno Haible  <bruno@clisp.org>
44161
44162         * lib/striconv.h: New file.
44163         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
44164         iconvstring.c.
44165         * lib/xstriconv.h: New file.
44166         * lib/xstriconv.c: New file.
44167
44168 2006-09-06  Bruno Haible  <bruno@clisp.org>
44169
44170         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44171         lib_..._LDFLAGS.
44172
44173 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44174
44175         * lib/argz_.h: Sync from Libtool.
44176
44177         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
44178                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
44179
44180         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
44181
44182 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44183
44184         * modules/trim: New file.
44185
44186 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
44187
44188         * lib/trim.h: New file.
44189         * lib/trim.c: New file.
44190
44191 2006-09-05  Bruno Haible  <bruno@clisp.org>
44192
44193         * MODULES.html.sh (String handling): Add trim.
44194
44195 2006-09-04  Karl Berry  <karl@gnu.org>
44196
44197         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
44198         until next release.
44199
44200 2006-09-03  Bruno Haible  <bruno@clisp.org>
44201
44202         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
44203         correctly.
44204
44205 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44206
44207         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
44208         not gl_GETLOADAVG.  Omit unneeded semicolons.
44209         Problems reported by Ralf Wildenhues in
44210         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44211         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
44212         at the end, which is the usual gnulib style.
44213
44214         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
44215         of doing all the work ourselves.
44216         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
44217         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
44218
44219 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44220
44221         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
44222         Problem reported by Ralf Wildenhues in
44223         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
44224
44225         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
44226         HAVE_STRUCT_STATFS_F_FSTYPENAME.
44227
44228 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44229
44230         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
44231         yesterday's patch by changing test -n to test -z.
44232
44233 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44234
44235         * modules/getloadavg (Files): Add m4/getloadavg.m4.
44236         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
44237         the former is now obsolescent.
44238
44239         * modules/chdir-long (Depends-on): Add fcntl.
44240
44241 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44242
44243         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
44244         obsolescent, and programs should use gnulib instead.
44245         * m4/getloadavg.m4: New file, with contents taken from Autoconf
44246         but with prefixes changed.
44247
44248 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
44249
44250         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
44251         or stdbool.h, because they might not exist while configuring.
44252
44253         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
44254         Don't include unistd.h or limits.h; not needed, since chdir-long.h
44255         does that for us.
44256         (O_DIRECTORY): Remove.
44257
44258 2006-08-31  Eric Blake  <ebb9@byu.net>
44259
44260         * gnulib-tool: Don't let emacs change spaces to TAB.
44261
44262 2006-08-31  Bruno Haible  <bruno@clisp.org>
44263
44264         * gnulib-tool: When calling func_import more than once, do it in a
44265         subshell.
44266         Reported by Eric Blake <ebb9@byu.net>.
44267
44268 2006-08-31  Bruno Haible  <bruno@clisp.org>
44269
44270         * gnulib-tool (nl): Remove variable.
44271         (sed_transform_lib_file): Use more robust test for config-h module.
44272         (func_import): Fix typo in 2006-08-25 patch.
44273
44274 2006-08-31  Bruno Haible  <bruno@clisp.org>
44275
44276         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
44277         specified, augment Makefile.am variables instead of assigning them.
44278
44279 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44280
44281         Work around a bug in both the Linux and SunOS 64-bit kernels:
44282         nanosleep mishandles sleeps for longer than 2**31 seconds.
44283         Problem reported by Frank v Waveren in
44284         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44285         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
44286         Check for nanosleep bug.
44287         (LIB_NANOSLEEP): Append clock_gettime library if needed.
44288
44289 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44290
44291         Work around a bug in both the Linux and SunOS 64-bit kernels:
44292         nanosleep mishandles sleeps for longer than 2**31 seconds.
44293         Problem reported by Frank v Waveren in
44294         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
44295         * lib/nanosleep.c (BILLION): New constant.
44296         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
44297         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
44298         implementation.
44299
44300 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44301
44302         * modules/nanosleep (Depends-on): Add gettime.
44303
44304 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
44305         and Simon Josefsson  <jas@extundo.com>
44306         and Oskar Liljeblad  <oskar@osk.mine.nu>
44307
44308         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
44309         * gnulib-tool (func_import): New license type 'unmodifiable license
44310         text'.
44311         * modules/fdl: Use it.  Longer description.
44312         * module/gpl, module/lgpl: New files.
44313
44314 2006-08-30  Jim Meyering  <jim@meyering.net>
44315
44316         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
44317         shadowing the parameter.
44318
44319 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44320
44321         Sync from Libtool:
44322
44323         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44324
44325         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
44326         sharing with gnulib.  Report by Eric Blake.
44327
44328 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44329
44330         * modules/isapipe: New file.
44331         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
44332
44333 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44334
44335         * modules/configmake (Makefile.am): Add a comment, and omit
44336         the CONFIGMAKE_ prefix from generated macro names.  Suggested
44337         by Bruno Haible.
44338
44339 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44340
44341         * m4/isapipe.m4: New file.
44342
44343 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
44344
44345         * lib/isapipe.c, lib/isapipe.h: New files.
44346
44347 2006-08-29  Jim Meyering  <jim@meyering.net>
44348
44349         * modules/configmake (Makefile.am): Make configmake.h depend on
44350         Makefile.  Otherwise, a stale configmake.h could hang around.
44351
44352 2006-08-29  Eric Blake  <ebb9@byu.net>
44353
44354         * lib/error.c (error_at_line, print_errno_message): Match libc, after
44355         resolution of upstream bug 3044.
44356
44357 2006-08-29  Bruno Haible  <bruno@clisp.org>
44358
44359         * modules/localcharset (Depends-on): Add configmake.
44360         (Makefile.am): Remove setting of LIBDIR through DEFS.
44361
44362 2006-08-29  Bruno Haible  <bruno@clisp.org>
44363
44364         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
44365         defined.
44366
44367 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44368
44369         * modules/fcntl: New file.
44370         * modules/chdir-safer (Depends-on): Add fcntl.
44371         * modules/fts: Likewise.
44372         * modules/mkdir-p: Likewise.
44373
44374         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
44375         This undoes the most recent change, since we're now addressing the
44376         problem in a different way.
44377
44378         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
44379         into output, since the output might be called Makefile.am even
44380         if $makefile_name is something different.
44381         (func_import): Use $makefile_am rather than
44382         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
44383         empty.
44384
44385         * modules/inttypes (Files): Add m4/inttypes-h.m4.
44386
44387 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44388
44389         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
44390         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
44391         recent change to stdint.m4, since we're now addressing the problem in a
44392         different way.
44393
44394 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44395
44396         * m4/fcntl_h.m4: New file.
44397
44398 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
44399
44400         * lib/fcntl_.h: New file.
44401         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
44402         the fcntl module.
44403         * lib/dirchownmod.c: Likewise.
44404         * lib/fts.c: Likewise.
44405
44406         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
44407         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
44408         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
44409         just before including <inttypes.h>, to avoid circular inclusion.
44410
44411 2006-08-28  Jim Meyering  <jim@meyering.net>
44412
44413         * doc/visibility.texi: Actually read and correct the grammar of the
44414         sentence affected by yesterday's change.
44415
44416 2006-08-28  Eric Blake  <ebb9@byu.net>
44417
44418         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
44419         needs wrapper.
44420
44421 2006-08-28  Eric Blake  <ebb9@byu.net>
44422
44423         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
44424
44425 2006-08-28  Eric Blake  <ebb9@byu.net>
44426
44427         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
44428
44429 2006-08-28  Bruno Haible  <bruno@clisp.org>
44430
44431         * modules/c-strstr: New file, from GNU gettext.
44432         * MODULES.html.sh (String handling): Add c-strstr.
44433
44434 2006-08-28  Bruno Haible  <bruno@clisp.org>
44435
44436         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
44437         macros.
44438         Reported by Eric Blake.
44439
44440 2006-08-28  Bruno Haible  <bruno@clisp.org>
44441
44442         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
44443         (VASNPRINTF): Return a string of length > INT_MAX without failing.
44444         * lib/vasprintf.c: Include errno.h, limits.h.
44445         (EOVERFLOW): New fallback definition.
44446         (vasprintf): Test here whether the string length is > INT_MAX.
44447         * lib/vsnprintf.c: Include errno.h, limits.h.
44448         (EOVERFLOW): New fallback definition.
44449         (vsnprintf): Fix bug when generated string was too long for the buffer.
44450         Test here whether the string length is > INT_MAX.
44451
44452 2006-08-28  Bruno Haible  <bruno@clisp.org>
44453
44454         * lib/inttypes_.h (SCNX*): Remove definitions.
44455         Reported by Eric Blake.
44456
44457 2006-08-28  Bruno Haible  <bruno@clisp.org>
44458
44459         * lib/c-strstr.h: New file, from GNU gettext.
44460         * lib/c-strstr.c: New file, from GNU gettext.
44461
44462 2006-08-28  Bruno Haible  <bruno@clisp.org>
44463
44464         * gnulib-tool: Reorder some statements.
44465
44466 2006-08-28  Bruno Haible  <bruno@clisp.org>
44467
44468         * gnulib-tool: New option --makefile-name.
44469         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
44470         $makefile_name.
44471         (func_import): Write $makefile_name to the cache file, and read it from
44472         there unless explicitly specified. Use $makefile_name as file name
44473         instead of Makefile.am. Adjust the recommendations accordingly.
44474
44475 2006-08-28  Bruno Haible  <bruno@clisp.org>
44476
44477         * gnulib-tool (func_verify_module): Check against misapplying patch.
44478
44479 2006-08-28  Bruno Haible  <bruno@clisp.org>
44480
44481         * gnulib-tool (func_relativize, func_relconcat): New functions.
44482         Give an error if --local-dir is given with --update.
44483         Remove trailing slashes from $local_gnulib_dir.
44484         (func_import): Store the relativized $local_gnulib_dir in
44485         gnulib-cache.m4, and read it from there if not specified explicitly.
44486
44487 2006-08-28  Bruno Haible  <bruno@clisp.org>
44488
44489         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
44490         is the current directory. Respect also $local_gnulib_dir.
44491
44492 2006-08-28  Bruno Haible  <bruno@clisp.org>
44493             Simon Josefsson  <jas@extundo.com>
44494
44495         BeOS portability.
44496         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
44497
44498 2006-08-27  Jim Meyering  <jim@meyering.net>
44499
44500         * doc/visibility.texi: Remove duplicate word: "pointer".
44501
44502 2006-08-26  Bruno Haible  <bruno@clisp.org>
44503
44504         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
44505         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
44506         (Makefile.am): Create inttypes.h from inttypes_.h.
44507         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
44508
44509         * modules/imaxabs: New file.
44510
44511         * modules/imaxdiv: New file.
44512
44513 2006-08-26  Bruno Haible  <bruno@clisp.org>
44514
44515         * m4/inttypes.m4: New file.
44516         * m4/_inttypes_h.m4: Remove file.
44517         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
44518         PRI_MACROS_BROKEN.
44519         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
44520
44521         * m4/imaxabs.m4: New file.
44522
44523         * m4/imaxdiv.m4: New file.
44524
44525 2006-08-26  Bruno Haible  <bruno@clisp.org>
44526
44527         * lib/inttypes_.h: New file.
44528         * lib/inttypes.h: Remove file.
44529         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
44530
44531         * lib/imaxabs.c: New file.
44532
44533         * lib/imaxdiv.c: New file.
44534
44535 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44536
44537         New config-h module, so that "make" output needn't be cluttered
44538         by -DHAVE_CONFIG_H.
44539         * MODULES.html.sh (Support for building libraries and executables):
44540         Add config-h.
44541         * modules/config-h: New file.
44542         * gnulib-tool (nl, sed_transform_lib_file): New vars.
44543         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
44544         the config-h module is used.
44545
44546         New configmake module, so that "make" output needn't be cluttered
44547         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
44548         * MODULES.html.sh (Support for building libraries and executables):
44549         Add configmake.
44550         * modules/configmake: New file.
44551
44552 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
44553
44554         * m4/config-h.m4: New file.
44555
44556 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44557
44558         * config/srclist.txt: Add elisp-comp.
44559
44560 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44561
44562         * MODULES.html.sh (Support for building libraries and executables):
44563         Add elisp-comp.
44564         * build-aux/elisp-comp: New file.
44565         * modules/elisp-comp: New file.
44566
44567 2006-08-24  Bruno Haible  <bruno@clisp.org>
44568
44569         * gnulib-tool (func_create_testdir): Use non-default values of
44570         sourcebase and m4base.
44571
44572 2006-08-24  Bruno Haible  <bruno@clisp.org>
44573
44574         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
44575         HTML structure.
44576
44577 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
44578
44579         * modules/openat (Depends-on): Add lchown.
44580
44581 2006-08-23  Bruno Haible  <bruno@clisp.org>
44582
44583         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
44584         of gl_LOCK_EARLY instead of gl_LOCK.
44585
44586 2006-08-23  Bruno Haible  <bruno@clisp.org>
44587
44588         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
44589         on OSF/1 to no.
44590         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
44591
44592 2006-08-23  Bruno Haible  <bruno@clisp.org>
44593
44594         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
44595         as unusable.
44596
44597         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
44598         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
44599         (gl_LOCK): New macro.
44600
44601 2006-08-22  Simon Josefsson  <jas@extundo.com>
44602
44603         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
44604         to md5 module.
44605
44606 2006-08-22  Simon Josefsson  <jas@extundo.com>
44607
44608         * MODULES.html.sh: Add "Support for maintaining and release
44609         projects".
44610
44611         * build-aux/gnupload: New file, from coreutils.
44612
44613 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44614
44615         Avoid the need for AC_LIBSOURCES in m4 macros.
44616         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
44617         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
44618         * modules/check-version (EXTRA_DIST): Add check-version.h.
44619         * modules/crc (EXTRA_DIST): Add crc.h.
44620         * modules/des (EXTRA_DIST): Add des.h.
44621         * modules/gc (EXTRA_DIST): Add gc.h.
44622         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
44623         * modules/getline (EXTRA_DIST): Add getline.h.
44624         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
44625         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
44626         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
44627         * modules/md2 (EXTRA_DIST): Add md2.h.
44628         * modules/md4 (EXTRA_DIST): Add md4.h.
44629         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
44630         * modules/read-file (EXTRA_DIST): Add read-file.h.
44631         * modules/readline (EXTRA_DIST): Add readline.h.
44632         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
44633         rijndael-api-fst.h.
44634
44635 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44636
44637         * m4/rijndael.m4 (gl_ARCFOUR):
44638         * m4/arctwo.m4 (gl_ARCTWO):
44639         * m4/check-version.m4 (gl_CHECK_VERSION):
44640         * m4/crc.m4 (gl_CRC):
44641         * m4/des.m4 (gl_DES):
44642         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
44643         * m4/gc.m4 (gl_GC):
44644         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
44645         * m4/getline.m4 (gl_FUNC_GETLINE):
44646         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
44647         * m4/hmac-md5.m4 (gl_HMAC_MD5):
44648         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
44649         * m4/md2.m4 (gl_MD2):
44650         * m4/md4.m4 (gl_MD4):
44651         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
44652         * m4/read-file.m4 (gl_FUNC_READ_FILE):
44653         * m4/readline.m4 (gl_FUNC_READLINE):
44654         * m4/rijndael.m4 (gl_RIJNDAEL):
44655         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
44656         to get the necessary .h files and whatnot.
44657
44658 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
44659
44660         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
44661         gnulib rather than the other way around.
44662         * config/srclistvars.sh (COREUTILS): Remove.
44663
44664 2006-08-22  Jim Meyering  <jim@meyering.net>
44665
44666         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
44667
44668         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
44669
44670 2006-08-22  Eric Blake  <ebb9@byu.net>
44671
44672         * modules/regexprops-generic: New file.
44673         * MODULES.html.sh (Support for building documentation): List it.
44674
44675 2006-08-22  Eric Blake  <ebb9@byu.net>
44676
44677         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
44678         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44679         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
44680         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
44681
44682 2006-08-22  Bruno Haible  <bruno@clisp.org>
44683
44684         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
44685         and lib_LTLIBRARIES like the other lib_* variables.
44686
44687 2006-08-22  Bruno Haible  <bruno@clisp.org>
44688
44689         * build-aux/x-to-1.in: New file, from GNU gettext.
44690
44691 2006-08-22  Bruno Haible  <bruno@clisp.org>
44692
44693         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
44694         <utmpx.h> exists.
44695
44696 2006-08-22  Bruno Haible  <bruno@clisp.org>
44697
44698         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
44699         <utmpx.h> exists.
44700
44701 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44702
44703         BeOS portability.
44704         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
44705         exist.
44706         Problem reported by Bruno Haible.
44707
44708 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44709
44710         Avoid the need for AC_LIBSOURCES in m4 macros.
44711         * modules/acl (EXTRA_DIST): Add acl.h.
44712         * modules/argmatch (Files): Add m4/argmatch.m4.
44713         (configure.ac): Add gl_ARGMATCH.
44714         (EXTRA_DIST): Renamed from lib_SOURCES, for
44715         consistency with the other modules.  Remove argmatch.c.
44716         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
44717         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
44718         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
44719         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
44720         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
44721         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
44722         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
44723         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
44724         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
44725         * modules/closeout (EXTRA_DIST): Add closeout.h.
44726         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
44727         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
44728         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
44729         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
44730         dirname.h; remove basename.c and stripslash.c.
44731         * modules/exclude (EXTRA_DIST): Add exclude.h.
44732         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
44733         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
44734         * modules/file-type (EXTRA_DIST): Add file-type.h.
44735         * modules/filemode (EXTRA_DIST): Add filemode.h.
44736         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
44737         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
44738         * modules/fpending (EXTRA_DIST): Add __fpending.h.
44739         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
44740         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
44741         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
44742         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
44743         * modules/getdate (EXTRA_DIST): Add getdate.c.
44744         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
44745         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
44746         * modules/getpass (EXTRA_DIST): Add getpass.h.
44747         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
44748         * modules/group-member (EXTRA_DIST): Add group-member.h.
44749         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
44750         * modules/hash (EXTRA_DIST): Add hash.h.
44751         * modules/human (EXTRA_DIST): Add human.h.
44752         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
44753         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
44754         * modules/lchown (EXTRA_DIST): Add lchown.h.
44755         * modules/long-options (EXTRA_DIST): Add long-options.h.
44756         * modules/lstat (EXTRA_DIST): Add lstat.h.
44757         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
44758         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
44759         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
44760         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
44761         * modules/memxor (EXTRA_DIST): Add memxor.h.
44762         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
44763         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
44764         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
44765         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
44766         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
44767         * modules/physmem (EXTRA_DIST): Add physmem.h.
44768         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
44769         * modules/posixver (EXTRA_DIST): Add posixver.h.
44770         * modules/quote (EXTRA_DIST): Add quote.h.
44771         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
44772         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
44773         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
44774         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
44775         regex_internal.h regexec.c.
44776         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
44777         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
44778         * modules/same (EXTRA_DIST): Add same.h.
44779         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
44780         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
44781         * modules/savedir (EXTRA_DIST): Add savedir.h.
44782         * modules/sha1 (EXTRA_DIST): Add sha1.h.
44783         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
44784         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
44785         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
44786         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
44787         * modules/strdup (EXTRA_DIST): Add strdup.h.
44788         * modules/strftime (EXTRA_DIST): Add strftime.h.
44789         * modules/strndup (EXTRA_DIST): Add strndup.h.
44790         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
44791         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
44792         * modules/time_r (EXTRA_DIST): Add time_r.h.
44793         * modules/timespec (EXTRA_DIST): Add timespec.h.
44794         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
44795         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
44796         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
44797         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
44798         * modules/userspec (EXTRA_DIST): Add userspec.h.
44799         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
44800         * modules/utimens (EXTRA_DIST): Add utimens.h.
44801         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
44802         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
44803         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
44804         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
44805         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
44806         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
44807         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
44808         * modules/yesno (EXTRA_DIST): Add yesno.h.
44809
44810 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
44811
44812         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
44813
44814         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
44815         * m4/dev-ino.m4, same-inode.m4: Remove.
44816
44817         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
44818         * m4/acl.m4 (AC_FUNC_ACL):
44819         * m4/backupfile.m4 (gl_BACKUPFILE):
44820         * m4/c-strtod.m4 (gl_C99_STRTOLD):
44821         * m4/canon-host.m4 (gl_CANON_HOST):
44822         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
44823         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
44824         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
44825         * m4/cloexec.m4 (gl_CLOEXEC):
44826         * m4/close-stream.m4 (gl_CLOSE_STREAM):
44827         * m4/closeout.m4 (gl_CLOSEOUT):
44828         * m4/dirfd.m4 (gl_FUNC_DIRFD):
44829         * m4/dirname.m4 (gl_DIRNAME):
44830         * m4/exclude.m4 (gl_EXCLUDE):
44831         * m4/exitfail.m4 (gl_EXITFAIL):
44832         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
44833         * m4/file-type.m4 (gl_FILE_TYPE):
44834         * m4/filemode.m4 (gl_FILEMODE):
44835         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
44836         * m4/fpending.m4 (gl_FUNC_FPENDING):
44837         * m4/fprintftime.m4 (gl_FPRINTFTIME):
44838         * m4/fts.m4 (gl_FUNC_FTS):
44839         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
44840         * m4/getdate.m4 (gl_GETDATE):
44841         * m4/gethrxtime.m4 (gl_GETHRXTIME):
44842         * m4/getpagesize.m4 (gl_GETPAGESIZE):
44843         * m4/getpass.m4 (gl_FUNC_GETPASS):
44844         * m4/gettime.m4 (gl_GETTIME):
44845         * m4/getugroups.m4 (gl_GETUGROUPS):
44846         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
44847         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
44848         * m4/hard-locale.m4 (gl_HARD_LOCALE):
44849         * m4/hash.m4 (gl_HASH):
44850         * m4/idcache.m4 (gl_IDCACHE):
44851         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
44852         * m4/lchown.m4 (gl_FUNC_LCHOWN):
44853         * m4/long-options.m4 (gl_LONG_OPTIONS):
44854         * m4/lstat.m4 (gl_FUNC_LSTAT):
44855         * m4/md5.m4 (gl_MD5):
44856         * m4/memcasecmp.m4 (gl_MEMCASECMP):
44857         * m4/memcoll.m4 (gl_MEMCOLL):
44858         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
44859         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
44860         * m4/memxor.m4 (gl_MEMXOR):
44861         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
44862         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
44863         * m4/modechange.m4 (gl_MODECHANGE):
44864         * m4/mountlist.m4 (gl_MOUNTLIST):
44865         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
44866         * m4/openat.m4 (gl_FUNC_OPENAT):
44867         * m4/pathmax.m4 (gl_PATHMAX):
44868         * m4/physmem.m4 (gl_PHYSMEM):
44869         * m4/posixtm.m4 (gl_POSIXTM):
44870         * m4/posixver.m4 (gl_POSIXVER):
44871         * m4/quote.m4 (gl_QUOTE):
44872         * m4/quotearg.m4 (gl_QUOTEARG):
44873         * m4/readtokens.m4 (gl_READTOKENS):
44874         * m4/readutmp.m4 (gl_READUTMP):
44875         * m4/regex.m4 (gl_REGEX):
44876         * m4/safe-read.m4 (gl_SAFE_READ):
44877         * m4/safe-write.m4 (gl_SAFE_WRITE):
44878         * m4/same.m4 (gl_SAME):
44879         * m4/save-cwd.m4 (gl_SAVE_CWD):
44880         * m4/savedir.m4 (gl_SAVEDIR):
44881         * m4/settime.m4 (gl_SETTIME):
44882         * m4/sha1.m4 (gl_SHA1):
44883         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
44884         * m4/stat-macros.m4 (gl_STAT_MACROS):
44885         * m4/stat-time.m4 (gl_STAT_TIME):
44886         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
44887         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
44888         * m4/strdup.m4 (gl_FUNC_STRDUP):
44889         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
44890         * m4/strndup.m4 (gl_FUNC_STRNDUP):
44891         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
44892         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
44893         * m4/time_r.m4 (gl_TIME_R):
44894         * m4/timespec.m4 (gl_TIMESPEC):
44895         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
44896         * m4/unlinkdir.m4 (gl_UNLINKDIR):
44897         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
44898         * m4/userspec.m4 (gl_USERSPEC):
44899         * m4/utimecmp.m4 (gl_UTIMECMP):
44900         * m4/utimens.m4 (gl_UTIMENS):
44901         * m4/xalloc.m4 (gl_XALLOC):
44902         * m4/xgetcwd.m4 (gl_XGETCWD):
44903         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
44904         * m4/xreadlink.m4 (gl_XREADLINK):
44905         * m4/xstrtod.m4 (gl_XSTRTOD):
44906         * m4/yesno.m4 (gl_YESNO):
44907         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
44908         to get the necessary .h files and whatnot.
44909
44910 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
44911             Bruno Haible  <bruno@clisp.org>
44912
44913         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
44914         /bin/sh understanding of '!' conditional negation.
44915
44916 2006-08-21  Jim Meyering  <jim@meyering.net>
44917
44918         * modules/openat (Depends-on): Really alphabetize.
44919
44920         * modules/acl (Depends-on): Add error and quote.
44921
44922         * check-module (find_included_lib_files): Add at-func.c to the
44923         ok-to-include-more-than-once white list.
44924
44925         * modules/openat (Depends-on): Add lstat.  Alphabetize.
44926
44927 2006-08-21  Bruno Haible  <bruno@clisp.org>
44928
44929         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44930         Emit a pkgdata_DATA variable only if some snippets add contents to it.
44931         Reported by Martin Lambers <marlam@marlam.de>.
44932
44933 2006-08-21  Bruno Haible  <bruno@clisp.org>
44934
44935         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
44936         specify an installation location, don't emit a noinst_LIBRARIES or
44937         noinst_LTLIBRARIES assignment.
44938
44939 2006-08-21  Bruno Haible  <bruno@clisp.org>
44940
44941         BeOS portability.
44942         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
44943         BeOS has mbrtowc() but no <wctype.h>.
44944
44945 2006-08-21  Bruno Haible  <bruno@clisp.org>
44946
44947         BeOS portability.
44948         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
44949         exist.
44950
44951 2006-08-21  Bruno Haible  <bruno@clisp.org>
44952
44953         BeOS portability.
44954         * lib/mbchar.h: Include <wctype.h> only if it exists.
44955
44956 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
44957
44958         Remove files that are no longer needed by their respective modules.
44959         * m4/obstack.m4: Remove.
44960         * m4/strerror_r.m4: Remove.
44961         * m4/uint32_t.m4: Remove.
44962         * m4/uintptr_t.m4: Remove.
44963         * m4/ullong_max.m4: Remove.
44964         * m4/xstrtoimax.m4: Remove.
44965         * m4/xstrtoumax.m4: Remove.
44966
44967         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
44968         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
44969         dependencies now capture this.
44970
44971         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
44972         Do not use AC_LIBSOURCES, since gnulib modules now do this.
44973         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
44974         * m4/human.m4 (gl_HUMAN): Likewise.
44975         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
44976         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
44977
44978         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
44979
44980         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
44981         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
44982         stdint.
44983         * m4/human.m4 (gl_HUMAN): Likewise.
44984         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
44985         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
44986         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
44987         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
44988         * m4/xstrtol (gl_XSTRTOL): Likewise.
44989
44990         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
44991         AC_TYPE_LONG_LONG_INT.
44992         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
44993         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
44994         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
44995         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
44996
44997         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
44998         on stdbool.
44999
45000         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
45001         (gl_PREREQ_XSTRTOUL): Remove.
45002
45003         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
45004
45005         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
45006         mode.
45007
45008 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45009
45010         Add and change modules to make it easier for coreutils to use
45011         gnulib-tool.
45012         * modules/backupfile (Files): Remove m4/d-ino.m4.
45013         (Depends-on): Add d-ino.
45014         * modules/cycle-check (Depends-on): Add stdint.
45015         (lib_SOURCES): Add cycle-check.h.
45016         * modules/d-ino: New module.
45017         * modules/d-type: New module.
45018         * modules/error (Files): Remove m4/strerror_r.m4.
45019         * modules/filemode (Files): Add m4/st_dm_mode.m4.
45020         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
45021         m4/inttypes_h.m4, m4/uintmax_t.m4.
45022         (Depends-on): Add stdint.
45023         (lib_SOURCES): Add fsusage.h.
45024         * modules/getcwd (Files): Remove d-ino.m4.
45025         (Depends-on): Add d-ino.
45026         * modules/getndelim2 (Depends-on): Add stdint.
45027         * modules/glob (Files): Remove m4/d-type.m4.
45028         (Depends-on): Add d-type.
45029         * modules/host-os: New module.
45030         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
45031         m4/inttypes_h.m4, m4/uintmax_t.m4.
45032         * Depends-on: Add stdint.
45033         (lib_SOURCES): Add human.h.
45034         * modules/inttostr (Files): Remove m4/intmax_t.m4,
45035         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
45036         m4/uintmax_t.m4, m4/ulonglong.m4.
45037         (Depends-on): Add stdint.
45038         (EXTRA_DIST): Add inttostr.h.
45039         * modules/lchmod: New module.
45040         * modules/link-follow: New module.
45041         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
45042         (Depends-on): Add lchmod.
45043         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
45044         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
45045         (Depends-on): Add stdint.
45046         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
45047         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
45048         (Depends-on): Add stdint.
45049         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
45050         * modules/perl: New module.
45051         * modules/regex (Depends-on): Add stdint.
45052         * modules/rmdir-errno: New module.
45053         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45054         m4/intmax_t.m4.
45055         (Depends-on): Add stdint.
45056         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
45057         m4/uintmax_t.m4.
45058         (Depends-on): Add stdint.
45059         * modules/unlink-busy: New module.
45060         * modules/utimecmp (Depends-on): Add stdint.
45061         * modules/uptime: New module.
45062         * modules/winsz-ioctl: New module.
45063         * modules/winsz-termios: New module.
45064         * modules/xnanosleep (Depends-on): Add nanosleep.
45065         * modules/ullong_max: Remove.
45066         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
45067         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
45068         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
45069         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
45070         (Depends-on): Add inttypes.
45071         (lib_SOURCES): Add xstrtol.h.
45072         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
45073         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
45074         * MODULES.html.sh: Move 'assert' into the assert section.
45075         Move 'dummy' into the linking section.
45076         Remove ullong_max.
45077         Add section for compatibility checks for POSIX:2001 functions,
45078         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
45079         winsz-ioctl, and winsz-termios into it.
45080         Add lchmod.
45081         Add top-level Misc section and put host-os, perl, and uptime
45082         into it.
45083
45084 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
45085
45086         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
45087         now assume the stdint module.  Do not include inttypes.h.
45088         * lib/fsusage.h: Likewise.
45089         * lib/getndelim2.c: Likewise.
45090         * lib/human.h: Likewise.
45091         * lib/inttostr.h: Likewise.
45092         * lib/obstack.c: Likewise.
45093         * lib/regex_internal.h: Likewise.
45094         * lib/tempname.c: Likewise.
45095         * lib/utimecmp.c: Likewise.
45096         * lib/xstrtol.h: Likewise.
45097
45098         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
45099
45100         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
45101         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
45102         * lib/xtime.h: Likewise.
45103
45104 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45105
45106         * modules/openat (Files): Add lib/fchmodat.c.
45107         Fixes problem reported by Jay Youngman.
45108
45109 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
45110
45111         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
45112         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
45113
45114 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
45115             Bruno Haible  <bruno@clisp.org>
45116
45117         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
45118         and is a script that invokes bison. Tighten the code. Add comments.
45119
45120 2006-08-18  Jim Meyering  <jim@meyering.net>
45121
45122         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
45123         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
45124         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
45125         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
45126
45127 2006-08-18  Bruno Haible  <bruno@clisp.org>
45128
45129         * modules/bison-i18n: New file.
45130         * MODULES.html.sh (Internationalization functions): Add it.
45131
45132 2006-08-18  Bruno Haible  <bruno@clisp.org>
45133
45134         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
45135         sys/statvfs.h. When getmntinfo was found, check its declaration and
45136         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
45137
45138 2006-08-18  Bruno Haible  <bruno@clisp.org>
45139
45140         * m4/bison-i18n.m4: New file, from bison.
45141
45142 2006-08-18  Bruno Haible  <bruno@clisp.org>
45143
45144         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
45145         (ME_DUMMY): Treat "kernfs" as a dummy.
45146         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
45147
45148 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45149
45150         Update from coreutils.
45151
45152         2006-08-15  Jim Meyering  <jim@meyering.net>
45153
45154         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
45155
45156         2006-01-17  Jim Meyering  <jim@meyering.net>
45157
45158         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
45159
45160         2006-01-11  Jim Meyering  <jim@meyering.net>
45161
45162         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
45163         Check for the lchmod function.
45164
45165 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
45166
45167         Update from coreutils.
45168
45169         * lib/__fpending.h: Add copyright notice.
45170         * lib/fprintftime.h: Likewise.
45171         * lib/savedir.c: Use (C) in copyright notice.
45172         * lib/savedir.h: Likewise.
45173
45174         2006-08-15  Jim Meyering  <jim@meyering.net>
45175
45176         * lib/at-func.c: New file, with the logic of all emulated at-functions.
45177         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
45178         in support of the EXPECTED_ERRNO macro.
45179         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
45180         definitions.  Instead, define the appropriate symbols and include
45181         "at-func.c".
45182         * lib/mkdirat.c (mkdirat): Likewise.
45183         * lib/fchmodat.c (fchmodat): Likewise.
45184         (ENOSYS): Remove definition.
45185         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
45186         it.  Don't include "unistd--.h" -- it wasn't ever used.
45187
45188         2006-01-17  Jim Meyering  <jim@meyering.net>
45189
45190         Rewrite fts.c not to change the current working directory,
45191         by using openat, fstatat, fdopendir, etc..
45192
45193         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
45194         (HAVE_OPENAT_SUPPORT): Define.
45195         [_LIBC] (fchdir): Don't undef or define; no longer used.
45196         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
45197         Now, this `function' always succeeds, and consumes its file descriptor
45198         parameter -- so callers must not close such FDs.  Update callers.
45199         (diropen_fd, opendirat, cwd_advance_fd): New functions.
45200         (diropen): Add parameter, SP.  Adjust all callers.
45201         Implement using diropen_fd, rather than open.
45202         (fts_open): Initialize new member, fts_cwd_fd.
45203         Remove fts_rft-setting code.
45204         (fts_close): Close fts_cwd_fd, if necessary.
45205         (__opendir2): Define in terms of opendir or opendirat,
45206         depending on whether the FST_NOCHDIR flag is set.
45207         (fts_build): Since fts_safe_changedir consumes its FD, and since
45208         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
45209         and close the dup'd file descriptor upon failure.
45210         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
45211         (fts_safe_changedir): Tweak semantics to reflect that this function
45212         now calls cwd_advance_fd and hence consumes its FD argument.
45213         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
45214         [struct FTS] (fts_rft): Remove now-unused member.
45215         [struct FTS] (fts_cycle.state): Improve comment.
45216
45217         * lib/openat.c (openat_needs_fchdir): New function.
45218         * lib/openat.h (openat_needs_fchdir): Declare it.
45219
45220 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
45221
45222         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
45223         Problem and fix reported by Pádraig Brady in
45224         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
45225
45226 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45227
45228         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
45229
45230 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45231
45232         * lib/memcoll.c (memcoll): Optimize for the common case where the
45233         arguments are bytewise equal.
45234
45235 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45236
45237         * doc/regexprops-generic.texi: Add a copyright notice.
45238
45239 2006-08-15  Bruno Haible  <bruno@clisp.org>
45240
45241         * modules/tmpdir (License): Change to LGPL.
45242
45243 2006-08-15  Bruno Haible  <bruno@clisp.org>
45244
45245         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
45246         module.
45247
45248 2006-08-14  Simon Josefsson  <jas@extundo.com>
45249
45250         * config/srclist.txt: Add gnupload.
45251
45252 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45253
45254         Change copyright notice from LGPL 2 to GPL 2, since that's the
45255         standard form used in the gnulib repository.
45256         * tests/test-lock.c: Likewise.
45257         * tests/test-stdint.c: Likewise.
45258         * tests/test-tls.c: Likewise.
45259
45260         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
45261         prelude-manager.  User shorter URLs for GNU projects, without '?'.
45262         Add copyright notice.
45263
45264         * check-module: Add copyright notice.  Output a copyright
45265         notice if "--version" is specified.
45266         * modules/COPYING: New file.
45267         * tests/test-getaddrinfo.c: Add copyright notice.
45268         * tests/test-verify.c: Likewise.
45269
45270 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45271
45272         Change copyright notice from LGPL 2 to GPL 2, since that's the
45273         standard form used in the gnulib repository.
45274         * lib/lock.c: LGPL -> GPL.
45275         * lib/lock.h: Likewise.
45276         * lib/strnlen1.c: Likewise.
45277         * lib/strnlen1.h: Likewise.
45278         * lib/tls.c: Likewise.
45279         * lib/tls.h: Likewise.
45280         * lib/tmpdir.c: Likewise.
45281
45282         * lib/TODO: Remove; this belongs only in coreutils.
45283
45284 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45285
45286         Add copyright notices to long-enough files that lack them, since
45287         otherwise the files aren't clearly free.  Use the same notice that
45288         getdate.texi already uses.
45289         * doc/alloca-opt.texi: Add copyright notice.
45290         * doc/alloca.texi: Likewise.
45291         * doc/ctime.texi: Likewise.
45292         * doc/functions.texi: Likewise.
45293         * doc/gcd.texi: Likewise.
45294         * doc/gnulib-tool.texi: Likewise.
45295         * doc/inet_ntoa.texi: Likewise.
45296         * doc/visibility.texi: Likewise.
45297
45298         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
45299         * doc/quote.texi: Add copyright notice.
45300
45301         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
45302         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
45303         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
45304         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
45305         is now obsolete, and give a pointer to the Sun list.
45306         Add copyright notice.
45307
45308 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45309
45310         * config/srclistvars.sh: Add copyright notice.
45311
45312 2006-08-14  Eric Blake  <ebb9@byu.net>
45313
45314         Import the following change from libc:
45315
45316         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
45317
45318         Upstream bug 2997.
45319         * lib/misc/error.c: Add space between program name and message if file
45320         name is missing.
45321
45322 2006-08-12  Karl Berry  <karl@gnu.org>
45323
45324         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
45325         remove, these originate in gnulib now.
45326
45327 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45328
45329         * doc/Makefile (standards.info standards.html standards.dvi):
45330         Also depend on make-stds.texi.
45331
45332 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
45333
45334         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
45335         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
45336
45337         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
45338         in wchar_t.  Problem reported by Eric Blake.
45339
45340         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
45341         LEN is smaller than SIZE.  Suggested by Bruno Haible.
45342         Also, help the compiler to keep LEN in a register.
45343
45344 2006-08-11  Eric Blake  <ebb9@byu.net>
45345
45346         * users.txt: Sort.  Add tar.
45347
45348 2006-08-11  Bruno Haible  <bruno@clisp.org>
45349
45350         * users.txt: New file.
45351
45352 2006-08-11  Bruno Haible  <bruno@clisp.org>
45353
45354         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
45355         before <wchar.h>. Needed for OSF/1 and BSD/OS.
45356
45357 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45358
45359         * modules/snprintf (Depends-on): Remove minmax.
45360         (Maintainer): Add self and Bruno.
45361
45362 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45363
45364         * lib/.cppi-disable: Add snprintf.h, socket_.h.
45365         * lib/snprintf.c: Include <errno.h> and <limits.h>.
45366         (EOVERFLOW): Define if the system does not.
45367         Do not include "minmax.h"; it wasn't used.
45368         (snprintf): Don't assume size_t promotes to an unsigned type.
45369         Fix bug when generated string was too long for the buffer: the
45370         buffer's contents are supposed to be the initial prefix of the
45371         output.  Don't assume vasnprintf returns EOVERFLOW if the size
45372         exceeds INT_MAX; do the check ourselves.
45373
45374         Import the following changes from libc:
45375
45376         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
45377
45378         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
45379         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
45380         set wc to the byte which couldn't be converted.
45381         (re_string_reconstruct): Don't clear valid_raw_len before calling
45382         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
45383         tip_context using re_string_context_at.
45384
45385         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
45386
45387         * lib/posix/regex.h: g++ still cannot handled [restrict].
45388
45389         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
45390
45391         * lib/posix/regex.h: Remove special handling for VMS.
45392
45393 2006-08-10  Jim Meyering  <jim@meyering.net>
45394
45395         * modules/same-inode: New module.
45396         * modules/dev-ino: New module.
45397         * modules/cycle-check: Depend on these modules, rather than simply
45398         including their .h files.
45399         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
45400         required via m4/cycle-check.m4.
45401         * modules/same: Depend on new same-inode module, rather than
45402         including same-inode.h.
45403         * modules/chdir-safer: New file.
45404
45405         * modules/chown (Depends-on): Add stat-macros.
45406
45407 2006-08-10  Jim Meyering  <jim@meyering.net>
45408
45409         * m4/cycle-check.m4: New file.
45410         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
45411         * m4/dev-ino.m4, m4/same-inode.m4: New files.
45412
45413 2006-08-10  Eric Blake  <ebb9@byu.net>
45414
45415         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
45416         in from original proposal.
45417
45418 2006-08-10  Eric Blake  <ebb9@byu.net>
45419         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
45420
45421         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
45422         namespace.
45423
45424 2006-08-10  Bruno Haible  <bruno@clisp.org>
45425
45426         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
45427         as well.
45428
45429 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45430
45431         Sync from coreutils.
45432
45433         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
45434
45435         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
45436         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
45437
45438 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45439
45440         * modules/restrict: Remove; no longer needed now that we assume
45441         Autoconf 2.59 or later.
45442         * MODULES.html.sh: Remove 'restrict'.
45443         * modules/argp (Depends-on): Remove 'restrict'.
45444         * modules/base64 (Depends-on): Likewise.
45445         * modules/gc (Depends-on): Likewise.
45446         * modules/getaddrinfo (Depends-on): Likewise.
45447         * modules/glob (Depends-on): Likewise.
45448         * modules/inet_ntop (Depends-on): Likewise.
45449         * modules/inet_pton (Depends-on): Likewise.
45450         * modules/memxor (Depends-on): Likewise.
45451         * modules/regex (Depends-on): Likewise.
45452         * modules/strtok_r (Depends-on): Likewise.
45453         * modules/time_r (Depends-on): Likewise.
45454
45455 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
45456
45457         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
45458         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
45459         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45460         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
45461         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45462         * m4/memxor.m4 (gl_MEMXOR): Likewise.
45463         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
45464         gl_C_RESTRICT replaced by AC_C_RESTRICT.
45465
45466         Merge from coreutils.
45467         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
45468         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
45469         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45470         * m4/time_r.m4 (gl_TIME_R): Likewise.
45471
45472 2006-08-09  Karl Berry  <karl@gnu.org>
45473
45474         * config/srclist.txt: no more gettext-tools, per Bruno.
45475
45476 2006-08-08  Eric Blake  <ebb9@byu.net>
45477
45478         * modules/verror: New module.
45479         * MODULES.html.sh: Document it.
45480
45481 2006-08-08  Eric Blake  <ebb9@byu.net>
45482
45483         * lib/verror.h, lib/verror.c: New files.
45484
45485 2006-08-08  Eric Blake  <ebb9@byu.net>
45486
45487         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
45488         verror_at_line output complies with GNU Coding Standards even when
45489         file is NULL.
45490
45491 2006-08-07  Bruno Haible  <bruno@clisp.org>
45492
45493         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
45494         versions of AIX.
45495         Reported by Ralf Wildenhues.
45496
45497 2006-08-07  Bruno Haible  <bruno@clisp.org>
45498
45499         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
45500         in an AC_DEFUN. Needed so that the autoconf snippets can use
45501         AC_REQUIRE.
45502
45503 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45504
45505         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45506         Initialize pkgdata_DATA.
45507         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
45508         overriding it.
45509
45510 2006-08-06  Eric Blake  <ebb9@byu.net>
45511
45512         * lib/error.h: Fold in some upstream changes from glibc.
45513         * lib/error.c: Likewise.
45514
45515 2006-08-04  Bruno Haible  <bruno@clisp.org>
45516
45517         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45518         Make the mostlyclean-local rule depend on mostlyclean-generic.
45519         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
45520
45521 2006-07-31  Bruno Haible  <bruno@clisp.org>
45522
45523         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
45524         <stdlib.h>, <string.h>.
45525
45526 2006-07-30  Bruno Haible  <bruno@clisp.org>
45527
45528         * modules/readlink (License): Change to LGPL.
45529
45530 2006-07-30  Bruno Haible  <bruno@clisp.org>
45531
45532         * modules/javaversion (Makefile.am): Distribute javaversion.java and
45533         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
45534         set PKGDATADIR to point to it.
45535
45536 2006-07-30  Bruno Haible  <bruno@clisp.org>
45537
45538         * modules/csharpexec (configure.ac): Comment out macro invocation.
45539         * modules/javaexec (configure.ac): Likewise.
45540         * modules/javacomp-script (configure.ac): Likewise.
45541
45542         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
45543
45544 2006-07-30  Bruno Haible  <bruno@clisp.org>
45545
45546         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
45547         linked-list.
45548
45549 2006-07-30  Bruno Haible  <bruno@clisp.org>
45550
45551         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
45552
45553 2006-07-30  Bruno Haible  <bruno@clisp.org>
45554
45555         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45556         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
45557         get removed.
45558
45559 2006-07-29  Bruno Haible  <bruno@clisp.org>
45560
45561         Make it possible for gnulib-tool to work with locally modified or
45562         augmented gnulib repositories.
45563         * gnulib-tool (func_usage): Document --local-dir option.
45564         (local_gnulib_dir): New variable.
45565         Handle --local-dir option.
45566         (func_lookup_file): New function.
45567         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
45568         (func_get_description, func_get_filelist, func_get_description,
45569         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
45570         func_get_automake_snippet, func_get_include_directive,
45571         func_get_license, func_get_maintainer): Use func_lookup_file.
45572         (func_import, func_create_testdir): Use func_lookup_file.
45573
45574 2006-07-29  Bruno Haible  <bruno@clisp.org>
45575
45576         * modules/setenv (Depends-on): Add unistd.
45577
45578 2006-07-29  Bruno Haible  <bruno@clisp.org>
45579
45580         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
45581
45582 2006-07-29  Bruno Haible  <bruno@clisp.org>
45583
45584         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
45585
45586 2006-07-29  Bruno Haible  <bruno@clisp.org>
45587
45588         * gnulib-tool (import, update): If there is no Makefile.am, look at
45589         aclocal.m4, instead of bailing out.
45590
45591 2006-07-29  Bruno Haible  <bruno@clisp.org>
45592
45593         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
45594         Categorize the options by when they are useful.
45595
45596 2006-07-29  Bruno Haible  <bruno@clisp.org>
45597
45598         * gnulib-tool (func_usage): Document option --no-libtool.
45599         Handle option --no-libtool.
45600         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
45601         for changed semantics of $libtool variable.
45602         (func_import): Likewise. If libtool is not used, show this through
45603         an option --no-libtool.
45604         (func_create_testdir): Update.
45605
45606 2006-07-29  Bruno Haible  <bruno@clisp.org>
45607
45608         * gnulib-tool (func_import): Extend error message about missing
45609         --doc-base.
45610
45611 2006-07-29  Bruno Haible  <bruno@clisp.org>
45612
45613         * gnulib-tool (func_import): Don't create the $docbase directory if
45614         there is no file to store there.
45615
45616 2006-07-29  Bruno Haible  <bruno@clisp.org>
45617
45618         * gnulib-tool (autoconf_minversion): If a --dir option is given and
45619         relevant, look for configure.ac there, not in the current directory.
45620         Also use a simple search for AC_PREREQ, not "autoconf --trace".
45621
45622 2006-07-29  Bruno Haible  <bruno@clisp.org>
45623
45624         * gnulib-tool (SORT): New variable.
45625         (func_usage): Undocument --assume-autoconf option.
45626         Remove --assume-autoconf option handling.
45627         (autoconf_minversion): Determine from the contents of configure.ac.
45628         (func_import): Remove autoconf_minversion handling.
45629         Suggested by Eric Blake.
45630
45631 2006-07-29  Bruno Haible  <bruno@clisp.org>
45632
45633         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
45634
45635 2006-07-29  Bruno Haible  <bruno@clisp.org>
45636
45637         * config/srclist.txt (*setenv.[ch]): Remove rules.
45638
45639 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45640
45641         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
45642
45643 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45644
45645         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
45646         arpa/inet.h.
45647
45648 2006-07-28  Simon Josefsson  <jas@extundo.com>
45649
45650         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
45651         * modules/inet_pton (Depends-on): Likewise.
45652
45653 2006-07-28  Simon Josefsson  <jas@extundo.com>
45654
45655         * m4/netinet_in_h.m4: New file.
45656
45657 2006-07-28  Simon Josefsson  <jas@extundo.com>
45658
45659         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
45660         #include's.
45661
45662 2006-07-28  Simon Josefsson  <jas@extundo.com>
45663
45664         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
45665         #include's.
45666
45667 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
45668
45669         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
45670         setgid on directories only if they set these bits.
45671         * lib/modechange.h: Remove obsolete comment about masks.
45672
45673 2006-07-28  Eric Blake  <ebb9@byu.net>
45674
45675         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
45676         macro expansion.
45677
45678 2006-07-28  Bruno Haible  <bruno@clisp.org>
45679
45680         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
45681
45682 2006-07-28  Bruno Haible  <bruno@clisp.org>
45683
45684         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
45685
45686 2006-07-28  Bruno Haible  <bruno@clisp.org>
45687
45688         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45689         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45690         Define fallbacks.
45691         Avoids link error on FreeBSD 4.x.
45692         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
45693
45694         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
45695         encoding.
45696         * lib/mbswidth.c (iswcntrl): Likewise.
45697
45698 2006-07-27  Bruno Haible  <bruno@clisp.org>
45699
45700         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
45701         test.
45702
45703 2006-07-27  Bruno Haible  <bruno@clisp.org>
45704
45705         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
45706         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
45707         defined.
45708
45709 2006-07-26  Eric Blake  <ebb9@byu.net>
45710
45711         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
45712
45713 2006-07-26  Eric Blake  <ebb9@byu.net>
45714
45715         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
45716         like mingw that lack mkstemp.
45717         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
45718         avoid compilation warning on mingw.
45719
45720 2006-07-26  Bruno Haible  <bruno@clisp.org>
45721
45722         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
45723         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
45724         INT_FAST*_MIN, INTPTR_MIN.
45725
45726 2006-07-25  Bruno Haible  <bruno@clisp.org>
45727
45728         * modules/version-etc (Depends-on): Add stdarg.
45729
45730 2006-07-25  Bruno Haible  <bruno@clisp.org>
45731
45732         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
45733         complex commands.
45734
45735 2006-07-25  Bruno Haible  <bruno@clisp.org>
45736
45737         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
45738         defined in <stdarg.h> or config.h.
45739
45740 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45741
45742         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
45743         (gl_STDIO_SAFER): Remove.
45744
45745 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
45746
45747         * MODULES.html.sh (File stream based Input/Output):
45748         Add fopen-safer, tmpfile-safer; remove stdio-safer.
45749         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
45750         * modules/fopen-safer, modules/tmpfile-safer: New files.
45751         * modules/stdio-safer: Remove.
45752
45753 2006-07-24  Bruno Haible  <bruno@clisp.org>
45754
45755         * modules/tmpdir: New file.
45756         * MODULES.html.sh (File system functions): Add it.
45757
45758 2006-07-24  Bruno Haible  <bruno@clisp.org>
45759
45760         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
45761         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
45762
45763 2006-07-24  Bruno Haible  <bruno@clisp.org>
45764
45765         * modules/clean-temp: New file.
45766
45767 2006-07-24  Bruno Haible  <bruno@clisp.org>
45768
45769         * m4/tmpdir.m4: New file, from GNU gettext.
45770
45771 2006-07-24  Bruno Haible  <bruno@clisp.org>
45772
45773         * lib/tmpdir.h: New file, from GNU gettext.
45774         * lib/tmpdir.c: New file, from GNU gettext.
45775
45776 2006-07-24  Bruno Haible  <bruno@clisp.org>
45777
45778         * lib/clean-temp.h: New file, from GNU gettext.
45779         * lib/clean-temp.c: New file, from GNU gettext.
45780
45781 2006-07-23  Eric Blake  <ebb9@byu.net>
45782
45783         * modules/stdio-safer (Files): Add tmpfile-safer.c.
45784         (Depends-on): Add binary-io.
45785
45786 2006-07-23  Eric Blake  <ebb9@byu.net>
45787
45788         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
45789
45790 2006-07-23  Eric Blake  <ebb9@byu.net>
45791
45792         * lib/tmpfile-safer.c: New file.
45793         * lib/stdio-safer.h (fopen_safer): Add prototype.
45794         * lib/stdio--.h (tmpfile): Make safer.
45795
45796 2006-07-23  Bruno Haible  <bruno@clisp.org>
45797
45798         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
45799         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
45800         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
45801         gl_linked_remove_at): Use it.
45802
45803 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45804         and Simon Josefsson <jas@extundo.com>
45805
45806         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
45807
45808         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
45809
45810 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45811
45812         * modules/close-stream: New file.
45813         * modules/closeout (Description): Make it clear that it exits
45814         with a diagnostic on error.
45815         (Depends-on): Add close-stream.  Remove fpending, stdbool.
45816         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
45817
45818 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45819
45820         * m4/close-stream.m4: New file.
45821
45822 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45823
45824         * lib/close-stream.c, lib/close-stream.h: New files.
45825
45826 2006-07-22  Bruno Haible  <bruno@clisp.org>
45827
45828         Merge from GNU gettext 0.15.
45829
45830         2006-05-01  Bruno Haible  <bruno@clisp.org>
45831
45832                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
45833
45834         2006-07-22  Bruno Haible  <bruno@clisp.org>
45835
45836                 * modules/javaversion: New file.
45837                 * MODULES.html.sh (Java): Add javaversion.
45838
45839         2006-03-12  Bruno Haible  <bruno@clisp.org>
45840
45841                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
45842
45843         2005-12-04  Bruno Haible  <bruno@clisp.org>
45844
45845                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
45846                 (untested).
45847
45848         2006-06-21  Bruno Haible  <bruno@clisp.org>
45849
45850                 Avoid warnings from recent versions of mcs.
45851                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
45852                 -o, -L, -r any more. Use options documented since mcs-1.0
45853                 instead. Similarly for -g.
45854
45855         2005-12-04  Bruno Haible  <bruno@clisp.org>
45856
45857                 * build-aux/csharpcomp.sh.in: Suffix for resources is
45858                 .resources, not .resource.
45859
45860         2005-07-09  Bruno Haible  <bruno@clisp.org>
45861
45862                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
45863                 add a .dll suffix.
45864                 Reported by Mark Junker <mjscod@gmx.de>.
45865
45866         2006-07-22  Bruno Haible  <bruno@clisp.org>
45867
45868                 * modules/gettext: Upgrade to gettext-0.15.
45869                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
45870                 m4/visibility.m4.
45871                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
45872
45873 2006-07-22  Bruno Haible  <bruno@clisp.org>
45874
45875         Merge from GNU gettext 0.15.
45876
45877         2006-03-25  Bruno Haible  <bruno@clisp.org>
45878
45879                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
45880
45881         2006-07-21  Bruno Haible  <bruno@clisp.org>
45882
45883                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
45884                 "1.1".
45885
45886         2006-05-09  Bruno Haible  <bruno@clisp.org>
45887
45888                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
45889                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
45890                 for the conftestver execution.
45891
45892         2006-05-01  Bruno Haible  <bruno@clisp.org>
45893
45894                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
45895                 optional target-version argument. Verify that the compiler
45896                 groks source of the specified source-version, or add -source
45897                 option as necessary. Verify that the compiler produces
45898                 bytecode in the specified target-version, or add -target and
45899                 -source options as necessary. Make the result of the test
45900                 available as variable CONF_JAVAC. Also log error output in
45901                 config.log.
45902
45903         2006-03-11  Bruno Haible  <bruno@clisp.org>
45904
45905                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
45906
45907         2006-05-09  Bruno Haible  <bruno@clisp.org>
45908
45909                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
45910                 CLASSPATH_SEPARATOR to a semicolon.
45911
45912         2006-03-12  Bruno Haible  <bruno@clisp.org>
45913
45914                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
45915                 available as variable CONF_JAVA, for subsequent autoconf
45916                 tests. Also log error output in config.log.
45917
45918         2006-07-19  Bruno Haible  <bruno@clisp.org>
45919
45920                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
45921                 that getline works on glibc2 systems. Needed to avoid trouble
45922                 in relocatable.c.
45923                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
45924
45925         2005-12-04  Bruno Haible  <bruno@clisp.org>
45926
45927                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
45928                 launcher (untested).
45929
45930         2005-12-04  Bruno Haible  <bruno@clisp.org>
45931
45932                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
45933
45934         2006-07-22  Bruno Haible  <bruno@clisp.org>
45935
45936                 * gettext.m4: Update from GNU gettext-0.15.
45937                 * nls.m4: Likewise.
45938                 * po.m4: Likewise.
45939                 * inttypes-pri.m4: Likewise.
45940                 * inttypes-h.m4: Renamed from inttypes.m4.
45941                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
45942
45943 2006-07-22  Bruno Haible  <bruno@clisp.org>
45944
45945         Merge from GNU gettext 0.15.
45946
45947         2005-07-05  Bruno Haible  <bruno@clisp.org>
45948
45949                 * printf-args.c (printf_fetchargs): Work around broken
45950                 definition of wint_t on mingw.
45951
45952         2005-02-12  Bruno Haible  <bruno@clisp.org>
45953
45954                 * xallocsa.h: Add extern "C" for C++.
45955
45956         2006-05-17  Bruno Haible  <bruno@clisp.org>
45957
45958                 Cygwin portability.
45959                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
45960
45961         2006-04-30  Bruno Haible  <bruno@clisp.org>
45962
45963                 * progreloc.c: Include <mach-o/dyld.h> if available.
45964                 (find_executable): Use _NSGetExecutablePath when possible.
45965
45966         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45967
45968                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
45969                 function.
45970
45971         2005-12-29  Bruno Haible  <bruno@clisp.org>
45972
45973                 * progreloc.c (set_program_name_and_installdir): Fix
45974                 compilation error.
45975
45976         2005-12-04  Bruno Haible  <bruno@clisp.org>
45977
45978                 Cygwin portability.
45979                 * progreloc.c: Include <windows.h> also on Cygwin.
45980                 (find_executable): Add support for Cygwin.
45981                 (set_program_name_and_installdir): Handle also platforms with
45982                 nonempty EXEEXT.
45983
45984         2006-07-11  Bruno Haible  <bruno@clisp.org>
45985
45986                 * javacomp.c: Fix a comment.
45987                 Reported by Jim Meyering.
45988
45989         2006-04-30  Bruno Haible  <bruno@clisp.org>
45990
45991                 * javacomp.h (compile_java_class): Add source_version,
45992                 target_version arguments.
45993                 * javacomp.c: Rewritten to choose only a compiler that
45994                 respects the specified source_version and target_version.
45995
45996         2006-06-27  Bruno Haible  <bruno@clisp.org>
45997
45998                 Assume correct S_ISDIR macro.
45999                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
46000
46001         2006-07-22  Bruno Haible  <bruno@clisp.org>
46002
46003                 * javaversion.h: New file, from GNU gettext.
46004                 * javaversion.c: New file, from GNU gettext.
46005                 * javaversion.java: New file, from GNU gettext.
46006                 * javaversion.class: New file, from GNU gettext.
46007
46008         2006-05-17  Bruno Haible  <bruno@clisp.org>
46009
46010                 Cygwin portability.
46011                 * javaexec.c (execute_java_class): Test for jview program
46012                 also on Cygwin.
46013
46014         2006-04-09  Bruno Haible  <bruno@clisp.org>
46015
46016                 * fatal-signal.c: Don't include string.h.
46017                 (at_fatal_signal): Use a copying loop instead of memcpy.
46018
46019         2005-12-04  Bruno Haible  <bruno@clisp.org>
46020
46021                 * csharpexec.c: Add support for 'clix' launcher (untested).
46022                 (execute_csharp_using_sscli): New function.
46023                 (execute_csharp_program): Call it.
46024
46025         2006-06-21  Bruno Haible  <bruno@clisp.org>
46026
46027                 Avoid warnings from recent versions of mcs.
46028                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
46029                 -o, -L, -r any more. Use options documented since mcs-1.0
46030                 instead. Similarly for -g.
46031
46032         2005-07-09  Bruno Haible  <bruno@clisp.org>
46033
46034                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
46035                 add a .dll suffix.
46036                 Reported by Mark Junker <mjscod@gmx.de>.
46037
46038         2006-06-17  Bruno Haible  <bruno@clisp.org>
46039
46040                 * config.charset: Update for NetBSD 3.0.
46041
46042         2006-05-17  Bruno Haible  <bruno@clisp.org>
46043
46044                 Cygwin portability.
46045                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
46046
46047         2006-05-16  Bruno Haible  <bruno@clisp.org>
46048
46049                 * localcharset.c [CYGWIN]: Include <windows.h>.
46050                 (get_charset_aliases): For Cygwin, return the same CPxxx
46051                 aliases list as under WIN32.
46052                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
46053                 the environment variables. Fall back to GetACP().
46054
46055         2006-04-05  Bruno Haible  <bruno@clisp.org>
46056
46057                 * config.charset: Update Juan Manuel Guerrero's address.
46058
46059         2005-02-12  Bruno Haible  <bruno@clisp.org>
46060
46061                 * allocsa.h: Add extern "C" for C++.
46062
46063         2005-02-10  Bruno Haible  <bruno@clisp.org>
46064
46065                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
46066                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
46067
46068         2006-07-22  Bruno Haible  <bruno@clisp.org>
46069
46070                 * gettext.h: Update to GNU gettext-0.15.
46071
46072 2006-07-22  Bruno Haible  <bruno@clisp.org>
46073
46074         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
46075         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
46076         lib-prefix.m4, longdouble.m4, ssize_t.m4.
46077
46078 2006-07-21  Eric Blake  <ebb9@byu.net>
46079
46080         * modules/stdlib-safer: New file.
46081         * MODULES.html.sh (File stream based Input/Output): Add
46082         stdlib-safer.
46083
46084 2006-07-21  Eric Blake  <ebb9@byu.net>
46085
46086         * lib/stdlib-safer.h: New file from coreutils, required by
46087         stdlib--.h.
46088
46089 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
46090
46091         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
46092
46093 2006-07-20  Bruno Haible  <bruno@clisp.org>
46094
46095         * gnulib-tool: Recognize new option --assume-autoconf.
46096         (autoconf_minversion): New variable.
46097         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
46098
46099 2006-07-20  Bruno Haible  <bruno@clisp.org>
46100
46101         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
46102
46103 2006-07-19  Derek R. Price  <derek@ximbiot.com>
46104
46105         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
46106         Reindent and repaginate.
46107
46108 2006-07-19  Derek Price  <derek@ximbiot.com>
46109
46110         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
46111         Correct grammar.
46112
46113 2006-07-17  Bruno Haible  <bruno@clisp.org>
46114
46115         * modules/list: New file.
46116         * modules/array-list: New file.
46117         * modules/carray-list, modules/carray-list-tests: New files.
46118         * modules/linked-list, modules/linked-list-tests: New files.
46119         * modules/avltree-list, modules/avltree-list-tests: New files.
46120         * modules/rbtree-list, modules/rbtree-list-tests: New files.
46121         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
46122         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
46123         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
46124         * modules/oset: New file.
46125         * modules/array-oset: New file.
46126         * modules/avltree-oset, modules/avltree-oset-tests: New files.
46127         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
46128         * tests/test-carray_list.c: New file.
46129         * tests/test-linked_list.c: New file.
46130         * tests/test-avltree_list.c: New file.
46131         * tests/test-rbtree_list.c: New file.
46132         * tests/test-linkedhash_list.c: New file.
46133         * tests/test-avltreehash_list.c: New file.
46134         * tests/test-rbtreehash_list.c: New file.
46135         * tests/test-avltree_oset.c: New file.
46136         * tests/test-rbtree_oset.c: New file.
46137         * MODULES.html.sh (Container data structures): New section.
46138
46139 2006-07-17  Bruno Haible  <bruno@clisp.org>
46140
46141         * m4/gl_list.m4: New file.
46142
46143 2006-07-17  Bruno Haible  <bruno@clisp.org>
46144
46145         * lib/gl_list.h: New file.
46146         * lib/gl_list.c: New file.
46147         * lib/gl_array_list.h: New file.
46148         * lib/gl_array_list.c: New file.
46149         * lib/gl_carray_list.h: New file.
46150         * lib/gl_carray_list.c: New file.
46151         * lib/gl_linked_list.h: New file.
46152         * lib/gl_linked_list.c: New file.
46153         * lib/gl_anylinked_list1.h: New file.
46154         * lib/gl_anylinked_list2.h: New file.
46155         * lib/gl_avltree_list.h: New file.
46156         * lib/gl_avltree_list.c: New file.
46157         * lib/gl_anyavltree_list1.h: New file.
46158         * lib/gl_anyavltree_list2.h: New file.
46159         * lib/gl_rbtree_list.h: New file.
46160         * lib/gl_rbtree_list.c: New file.
46161         * lib/gl_anyrbtree_list1.h: New file.
46162         * lib/gl_anyrbtree_list2.h: New file.
46163         * lib/gl_anytree_list1.h: New file.
46164         * lib/gl_anytree_list2.h: New file.
46165         * lib/gl_linkedhash_list.h: New file.
46166         * lib/gl_linkedhash_list.c: New file.
46167         * lib/gl_anyhash_list1.h: New file.
46168         * lib/gl_anyhash_list2.h: New file.
46169         * lib/gl_avltreehash_list.h: New file.
46170         * lib/gl_avltreehash_list.c: New file.
46171         * lib/gl_rbtreehash_list.h: New file.
46172         * lib/gl_rbtreehash_list.c: New file.
46173         * lib/gl_anytreehash_list1.h: New file.
46174         * lib/gl_anytreehash_list2.h: New file.
46175
46176         * lib/gl_oset.h: New file.
46177         * lib/gl_oset.c: New file.
46178         * lib/gl_array_oset.h: New file.
46179         * lib/gl_array_oset.c: New file.
46180         * lib/gl_avltree_oset.h: New file.
46181         * lib/gl_avltree_oset.c: New file.
46182         * lib/gl_rbtree_oset.h: New file.
46183         * lib/gl_rbtree_oset.c: New file.
46184         * lib/gl_anytree_oset.h: New file.
46185
46186 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46187
46188         * m4/mkancesdirs.m4: New file.
46189         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
46190         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
46191         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
46192         it.
46193
46194 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46195
46196         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
46197         * lib/mkancesdirs.h: New files.
46198         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
46199         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
46200         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
46201         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
46202         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
46203         callers changed.  Revamp internals significantly, by not
46204         attempting to create directories that are temporarily more
46205         permissive than the final results.  Do not attempt to use
46206         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
46207         This removes some race conditions, fixes some bugs, and simplifies
46208         things.  Use new dirchownmod function to do owner and mode changes.
46209         * lib/mkdir-p.h: Likewise.
46210         * lib/modechange.c (octal_to_mode): New function.
46211         (struct mode_change): New member mentioned.
46212         (make_node_op_equals): New arg mentioned.  All callers changed.
46213         (mode_compile): Keep track of which mode bits the user has explicitly
46214         mentioned.
46215         (mode_adjust): New arg DIR, so that we implement the X op correctly.
46216         New arg PMODE_BITS, to keep track of which mode bits the user
46217         mentioned; it treats S_ISUID and S_ISGID speciall.
46218         All callers changed.
46219         * lib/modechange.h: Likewise.
46220
46221 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
46222
46223         * MODULES.html.sh: Add mkancestors.
46224         * modules/mkancesdirs: New module.
46225         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
46226         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
46227         The chdir-safer and afs files are now orphans; I'll remove them
46228         unless someone speaks up.
46229         Add lib/dirchownmod.c, lib/dirchownmod.h.
46230         (Depends-on): Remove alloca, chown, save-cwd, dirname.
46231         Add lchown, mkancesdirs.
46232         (Maintainer): Add self.
46233
46234 2006-07-15  Karl Berry  <karl@gnu.org>
46235
46236         * gnulib-tool: help message wording/arrangement.
46237
46238 2006-07-14  Simon Josefsson  <jas@extundo.com>
46239
46240         * doc/gnulib.texi (Libtool and Windows): New section.
46241
46242 2006-07-12  Simon Josefsson  <jas@extundo.com>
46243
46244         * modules/gendocs (License): Fix license, approved by Karl.
46245
46246 2006-07-12  Eric Blake  <ebb9@byu.net>
46247
46248         * MODULES.html.sh: Add gendocs.
46249
46250 2006-07-11  Eric Blake  <ebb9@byu.net>
46251
46252         * modules/fdl: New module, to install doc/fdl.texi.
46253         * MODULES.html.sh: Add new section for documentation modules.
46254         * gnulib-tool: Avoid space-tab.
46255         (--doc-base): New option, to manage files from doc.
46256
46257 2006-07-11  Eric Blake  <ebb9@byu.net>
46258
46259         * m4/absolute-header.m4: Fix comments to match recent change.
46260
46261 2006-07-11  Eric Blake  <ebb9@byu.net>
46262
46263         * gnulib-tool: List --doc-base before --tests-base.
46264
46265 2006-07-11  Derek R. Price  <derek@ximbiot.com>
46266
46267         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
46268
46269 2006-07-11  Bruno Haible  <bruno@clisp.org>
46270
46271         * README: Mention where to put documentation.
46272
46273 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46274
46275         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
46276
46277 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46278
46279         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
46280         to stdint.m4.
46281
46282 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
46283
46284         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
46285         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
46286         "no/such/file/stdint.h" when there is no such file, so that
46287         the resulting C code can be parsed by dodgy compilers.
46288         Problems reported by Bob Proulx.
46289
46290 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46291
46292         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
46293         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46294         macros into the GNU _D_EXACT_NAMLEN.
46295         * lib/savedir.c:  Likewise.
46296         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
46297
46298 2006-07-10  Derek R. Price  <derek@ximbiot.com>
46299         and Paul Eggert  <eggert@cs.ucla.edu>
46300
46301         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
46302         * m4/savedir.m4:
46303         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
46304         macros into the GNU _D_EXACT_NAMLEN.
46305
46306 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46307
46308         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
46309         around the absolute name, to work around a problem with the HP-UX
46310         11.23 native C compiler, reported by Bob Proulx.
46311
46312 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46313
46314         * doc/maintain.texi, make-stds.texi: Sync from
46315         <http://savannah.gnu.org/projects/gnustandards>.
46316
46317 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46318
46319         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
46320
46321 2006-07-09  Jim Meyering  <jim@meyering.net>
46322
46323         * m4/glob.m4: Remove a doubled word in a comment.
46324
46325 2006-07-09  Jim Meyering  <jim@meyering.net>
46326
46327         * lib/argp-pv.c: Remove a doubled word in a comment.
46328         * lib/check-version.c (check_version): Likewise.
46329         * lib/javacomp.c (compile_java_class): Likewise.
46330
46331 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
46332
46333         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
46334         for the benefit of people using Autoconf 2.60.  If you want to
46335         support older Autoconf versions you can copy m4/onceonly_2_57.m4
46336         (or m4/onceonly.m4, if pre-2.57) manually.
46337
46338 2006-07-08  Jim Meyering  <jim@meyering.net>
46339
46340         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
46341         comment.
46342         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
46343         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
46344         comment.
46345
46346 2006-07-08  Jim Meyering  <jim@meyering.net>
46347
46348         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
46349
46350 2006-07-07  Simon Josefsson  <jas@extundo.com>
46351
46352         * tests/test-crc.c: Change expected crc value, the test vector
46353         were probably computed using the old broken crc.c?
46354
46355 2006-07-06  Simon Josefsson  <jas@extundo.com>
46356
46357         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
46358         now the canonical place for the M4 file).
46359
46360         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
46361         from the sys_socket dependency now.
46362
46363         * modules/inet_pton (Files): Ditto.
46364
46365         * modules/inet_ntop (Files): Ditto.
46366
46367 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46368
46369         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
46370         not gl_PREREQ_GETUSERSHELL.
46371
46372 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46373
46374         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
46375         with only one argument, for Autoconf 2.60.
46376         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
46377         expand to nothing, so add a shell command to avoid syntax error.
46378         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
46379
46380 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46381
46382         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
46383
46384 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46385
46386         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
46387         no longer needed.  Check for isblank decl.
46388         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
46389         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
46390         of existence.
46391
46392 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46393
46394         * lib/getloadavg.c: Use __VMS, not VMS.
46395         * lib/getopt.c: Likewise.
46396         * lib/getpagesize.h: Likewise.
46397         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
46398         and probably does not work.
46399
46400 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
46401
46402         * lib/.cppi-disable: Add wcwidth.
46403         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
46404         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
46405         (ISGRAPH): Remove.  All uses changed to isgraph.
46406         (FOLD) [!defined _LIBC]: Remove special case.
46407         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
46408         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
46409         HAVE_ISBLANK.
46410         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
46411         case.
46412
46413 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46414
46415         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
46416         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
46417         brackets.  Other minor changes to suppress some compiler
46418         warnings.
46419
46420 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46421         and Paul Eggert  <eggert@cs.ucla.edu>
46422
46423         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
46424         of invoking obsolescent AC_HEADER_DIRENT macro.
46425         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46426         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
46427         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46428         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
46429         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
46430         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46431         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
46432         * m4/readdir.m4: Remove; no longer needed.
46433
46434 2006-07-06  Derek R. Price  <derek@ximbiot.com>
46435         and Paul Eggert  <eggert@cs.ucla.edu>
46436
46437         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
46438         Don't worry about this obsolete case any more.
46439         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
46440         directories.
46441         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
46442         worry about this obsolete case any more.
46443         * lib/fts.c: Likewise.
46444         * lib/getcwd.c: Likewise.
46445         * lib/glob.h: Likewise.
46446         * lib/savedir.c: Likewise.
46447
46448 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46449
46450         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
46451         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
46452         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
46453         needed.
46454         All uses removed.
46455         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46456         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46457         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
46458         needed.
46459         * m4/getdate.m4 (gl_GETDATE): Likewise.
46460         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46461         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46462         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46463         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46464         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
46465         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46466         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
46467         needed.
46468
46469 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
46470
46471         * lib/memcasecmp.c: Include <limits.h>.
46472         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
46473         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
46474         Don't assume isdigit succeeds only on '0' through '9'.
46475
46476 2006-07-05  Eric Blake  <ebb9@byu.net>
46477
46478         * modules/getaddrinfo (Depends-on): Add snprintf.
46479
46480 2006-07-05  Eric Blake  <ebb9@byu.net>
46481
46482         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
46483         to avoid 'header present but could not be compiled' on cygwin.
46484
46485 2006-07-05  Eric Blake  <ebb9@byu.net>
46486
46487         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
46488         missing from netdb.h.
46489         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
46490
46491 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46492
46493         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
46494         no longer needed.
46495         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
46496         * m4/getdate.m4 (gl_GETDATE): Likewise.
46497         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
46498         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
46499         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46500         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
46501         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
46502
46503 2006-07-05  Derek R. Price  <derek@ximbiot.com>
46504
46505         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
46506         All uses of is_space replaced by isspace.
46507         * lib/exit.h: Don't talk about STDC_HEADERS.
46508         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
46509         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
46510         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
46511         replaced by isprint etc.
46512         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
46513         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46514         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
46515         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
46516         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
46517         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
46518
46519 2006-07-05  Bruno Haible  <bruno@clisp.org>
46520
46521         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
46522         the function exists, before testing against AIX.
46523         Reported by Martin Lambers <marlam@marlam.de>.
46524
46525 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46526
46527         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
46528         From Mark D. Baushke.
46529
46530 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
46531
46532         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
46533         to the absolute name, not just one, to bypass Sun C 5.8's
46534         "warning: #include of /usr/include/... may be non-portable".
46535
46536 2006-07-04  Eric Blake  <ebb9@byu.net>
46537
46538         * modules/dirname-tests: New test module.
46539         * tests/test-dirname.c: New file, replacing dirname.c
46540         TEST_DIRNAME section that was recently deleted.
46541
46542 2006-07-04  Bruno Haible  <bruno@clisp.org>
46543
46544         Assume ANSI C header files and <ctype.h> functions.
46545         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
46546         (mbsnwidth): Use isprint, iscntrl instead.
46547
46548 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46549
46550         Merge from coreutils.
46551         * MODULES.html.sh: Add xstrtold.
46552         * modules/xstrtold: New file.
46553         * modules/cycle-check (Files): Add lib/same-inode.h.
46554         * modules/dirname (Files): Add m4/double-slash-root.m4.
46555         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
46556         * modules/mkdir-p (Files): Add lib/same-inode.h.
46557         * modules/same (Files): Add lib/same-inode.h.
46558
46559 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46560
46561         * m4/absolute-header.m4: Renamed from full-header-path.m4.
46562         This is to keep the terminology clean; POSIX talks about
46563         "absolute pathnames", not "full pathnames", but the GNU
46564         Coding Standards say to use "path" for something else;
46565         so use "absolute" to keep both sides happy.
46566         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
46567         Set gl_absolute_header, not gl_full_header_path.
46568         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
46569         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
46570         All uses changed.
46571
46572         Merge from coreutils.
46573
46574         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46575
46576         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
46577         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
46578         want to require the building of c-strtod.o.
46579         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
46580         needs -lm directly.
46581         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
46582
46583         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
46584
46585         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
46586         --as-needed option if available.  Problem reported by Albert Chin in
46587         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
46588         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
46589         cc merely issues a bunch of annoying warnings for --as-needed
46590         (this problem was reported by Bob Proulx).  Also, try linking with
46591         -lm to detect a bug in binutils 2.16 (this problem was reported
46592         by Ralf Wildenhues).
46593
46594         2006-06-18  Jim Meyering  <jim@meyering.net>
46595
46596         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
46597         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
46598         macro.
46599         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
46600         also check for glibc-2.4's abort-inducing bug.
46601
46602         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
46603         Low-probability clean-up should be to use rmdir to get rid of
46604         the just-created directory, not unlink.
46605
46606         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
46607         configure fail, and request a bug report to inform us about it.
46608         Add a comment that, barring reports to the contrary, in 2007 we'll
46609         assume ftruncate is universally available.
46610
46611         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
46612
46613         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
46614
46615         2006-03-12  Jim Meyering  <jim@meyering.net>
46616
46617         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
46618         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
46619         * m4/same.m4 (gl_SAME): Likewise.
46620         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
46621
46622         2006-03-11  Eric Blake  <ebb9@byu.net>
46623
46624         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
46625         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
46626         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
46627         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
46628
46629 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
46630
46631         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
46632         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
46633         reported by Mark D. Baushke, one in
46634         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
46635
46636         Merge from coreutils.
46637
46638         * lib/.cppi-disable: Add stdint_.h.
46639         * lib/.cvsignore: Add stdint.h.
46640
46641         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
46642
46643         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
46644         both double and long double versions.
46645         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
46646         * lib/xstrtold.c: New file.
46647         * lib/xstrtod.h (xstrtold): New decl.
46648
46649         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
46650
46651         * lib/filemode.c (setst): Remove.
46652         (strmode): Rewrite to avoid setst.  This makes the code shorter,
46653         (arguably) clearer, and the generated code is a bit smaller on my
46654         Debian GNU/Linux stable x86 host.
46655
46656         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
46657
46658         * lib/filemode.c: Include "filemode.h" first, to test the interface.
46659         Assume that filemode.h includes sys/types.h and sys/stat.h.
46660         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
46661         (ftypelet): Reorder to put common cases first, for efficiency.
46662         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
46663         to do 'M'.
46664         (strmode): Renamed from mode_string, and now stores 12 bytes instead
46665         of 10, for compatibility with FreeBSD.  All callers changed.
46666         (filemodestring): Now stores 12 bytes instead of 10, and sets file
46667         types that can't be deduced solely from st_mode.  First arg is now a
46668         const pointer.
46669         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
46670         (strmode): Renamed from mode_string.
46671         (filemodestring): New decl.
46672         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
46673         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
46674         needed.
46675         (S_ISPORT, S_ISWHT): New macros, if not already defined.
46676
46677         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
46678
46679         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
46680         fsusage.h now does that.  Include fsusage.h first, to test interface.
46681         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
46682         at most one method (the old code could have generated decls that
46683         didn't conform to C89, not that this was ever exercised).
46684         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
46685
46686         2006-03-19  Jim Meyering  <jim@meyering.net>
46687
46688         Work even in a chroot where d_ino values for entries in "/"
46689         don't match the stat.st_ino values for the same names.
46690         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
46691         number, iterate through all entries again, using lstat instead.
46692         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
46693         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
46694
46695         * lib/getcwd.c (__getcwd): Clarify a comment.
46696         Use memcpy in place of a call to strcpy.
46697
46698         2006-03-12  Jim Meyering  <jim@meyering.net>
46699
46700         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
46701         matches that of the current directory (which we're about to chdir ".."
46702         out of), then save the dev-ino of the parent, instead.
46703
46704         * lib/same-inode.h (SAME_INODE): New file/macro.
46705         * lib/chdir-safer.c (SAME_INODE): Remove definition.
46706         Include "same-inode.h", instead.
46707         * lib/same.c: Likewise.
46708         * lib/cycle-check.h: Include "same-inode.h".
46709         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
46710         * lib/cycle-check.c (SAME_INODE): Remove definition.
46711         * lib/root-dev-ino.h: Include "same-inode.h".
46712
46713         2006-03-11  Eric Blake  <ebb9@byu.net>
46714
46715         * lib/same.c (same_name): s/base_name/last_component/
46716         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
46717         * lib/filenamecat.c (file_name_concat): Likewise.
46718
46719         2006-03-11  Eric Blake  <ebb9@byu.net>,
46720                     Paul Eggert  <eggert@cs.ucla.edu>
46721
46722         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
46723         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
46724         drive prefix.
46725         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
46726         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
46727         (last_component): New method.
46728         * lib/dirname.c (dir_len): Determine when drive letters need a
46729         subsequent slash.  Preserve // when it is special.
46730         (dir_name): Don't append dot when drive letter is absolute.
46731         [TEST_DIRNAME]: Move into a full-blown gnulib test.
46732         * lib/basename.c (base_name): New semantics - malloc the result.
46733         Preserve // when it is special.  Preserve relative files that look
46734         like drive letters.
46735         (base_len): Preserve // when it is special.
46736         (last_component): New method, similar to old base_name semantics.
46737         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
46738         base_name.  Strip redundant slashes from ///.
46739
46740 2006-07-03  Jim Meyering  <jim@meyering.net>
46741
46742         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
46743         macro is used before the first cycle_check call.
46744
46745 2006-07-03  Eric Blake  <ebb9@byu.net>
46746
46747         * modules/dirname (Depends-on): Add xstrndup.
46748
46749 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46750
46751         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
46752         test cases, so that config.log is a bit easier to follow.
46753
46754 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46755
46756         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
46757         both are 64 bits, since this seems to be the tradition, and this
46758         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
46759         we ever run into a host that prefers long long to long in this
46760         case, we'll need another configure-time test.  Problem reported by
46761         Jim Meyering.
46762
46763 2006-07-02  Eric Blake  <ebb9@byu.net>
46764
46765         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
46766
46767 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
46768
46769         * modules/inttypes (Depends-on): No longer depends on stdint.
46770         * modules/stdint (Description): Say more about assumptions.
46771         Say that the fast types might differ.  Say macros are used.
46772         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
46773         (Makefile.am): Revise list of substituted symbols to match
46774         new stdint.m4.
46775         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
46776         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
46777         * tests/test-stdint.c (verify_same_types)
46778         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
46779         the code conforms to C99/C89.
46780         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
46781         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
46782
46783 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
46784
46785         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
46786         but fix a bug, by requiring at least 64 bits.
46787         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
46788         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
46789         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
46790         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
46791
46792         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
46793         changes.  Make 2.59 a prerequisite.  Check and substitute for
46794         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
46795         inttypes.h.  Do not use special include files; just use the
46796         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
46797         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
46798         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
46799         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
46800         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
46801         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
46802         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
46803         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
46804         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
46805         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
46806         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
46807         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
46808         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
46809         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
46810         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
46811         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
46812         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
46813         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
46814         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
46815         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
46816         WINT_MAX.  Check for C99 conformance more strictly, by detecting
46817         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
46818         not check for things that C99 does not require, e.g., int8_t.  If
46819         a test isn't needed unless <stdint.h> isn't working, and is
46820         unlikely to be needed for any other reason, then don't do it
46821         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
46822         size_t, since we assume C89 freestanding at least.  Do not check
46823         for sig_atomic_t, wchar_t, or wint_t, since the code now does
46824         the right thing even if the types are not defined.  Instead use:
46825         (gl_STDINT_TYPE_PROPERTIES): New macro.
46826         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
46827         testing whether <sys/types.h> clashes, as Autoconf does this for
46828         us now.  All uses removed.
46829         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
46830         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
46831         (gl_CHECK_TYPE_SAME):
46832         Remove; no longer needed.
46833         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
46834         exists, since we'll return 0 anyway in that case.
46835         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
46836
46837 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
46838
46839         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
46840         possible collision with system files.
46841         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
46842         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
46843         WCHAR_MIN and WCHAR_MAX in this case.
46844         (<stddef.h>): Do not include; no longer needed.
46845         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
46846         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
46847         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
46848         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
46849         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
46850         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
46851         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
46852         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
46853         !defined(__c99))]: Include in this case too, since it's harmless
46854         now.
46855         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
46856         dangerous to do so.
46857         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
46858         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
46859         (_STDINT_MIN, _STDINT_MAX): New macros.
46860         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
46861         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
46862         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
46863         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
46864         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
46865         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
46866         macros, not typedefs; this simplifies things quite a bit.
46867         Use long int for all types narrower than int64_t.
46868         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
46869         Define in terms of long long int or int64_t or long int,
46870         not int64_t or int32_t.  This saves some compile-time testing.
46871         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
46872         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
46873         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
46874         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
46875         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
46876         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
46877         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
46878         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
46879         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
46880         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
46881         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
46882         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
46883         undef any previous version and define our own version, for
46884         simplicity and consistency with the new macros for types.
46885         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
46886         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
46887         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
46888         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
46889         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
46890         @WINT_T_SUFFIX@ to keep things simple here.
46891         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
46892         Simplify by assuming typical 8/16/32/64 host, since we're
46893         already doing that elsewhere anyway.
46894         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
46895         and assume long long int is 64 bits if available.  This
46896         speeds up 'configure'.
46897
46898 2006-07-01  Eric Blake  <ebb9@byu.net>
46899
46900         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
46901         Reported by Andreas Buening.
46902
46903 2006-07-01  Eric Blake  <ebb9@byu.net>
46904
46905         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
46906
46907 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
46908
46909         * lib/getaddrinfo.c: fixed typo
46910
46911 2006-06-29  Jim Meyering  <jim@meyering.net>
46912
46913         * modules/strftime (Maintainer): Add my name, since with the
46914         FPRINTFTIME changes strftime.c has forked from glibc.
46915
46916 2006-06-29  Eric Blake  <ebb9@byu.net>
46917
46918         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
46919
46920 2006-06-29  Eric Blake  <ebb9@byu.net>
46921
46922         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
46923
46924 2006-06-29  Eric Blake  <ebb9@byu.net>
46925
46926         * lib/stat_.h: New file.
46927
46928 2006-06-29  Eric Blake  <ebb9@byu.net>
46929
46930         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
46931         unused static function.
46932
46933 2006-06-29  Eric Blake  <ebb9@byu.net>
46934
46935         * doc/functions.texi (Function Portability): Document missing lstat
46936         on mingw.
46937
46938 2006-06-29  Eric Blake  <ebb9@byu.net>
46939
46940         * MODULES.html.sh: Add sys_stat.
46941         * modules/sys_stat: New module.
46942         * modules/mkstemp (Depends-on): Add sys_stat.
46943
46944 2006-06-29  Derek R. Price  <derek@ximbiot.com>
46945
46946         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
46947
46948 2006-06-29  Derek R. Price  <derek@ximbiot.com>
46949
46950         * m4/c-bs-a.m4: Removed.
46951
46952 2006-06-29  Derek R. Price  <derek@ximbiot.com>
46953
46954         * lib/strftime.c: Assume strftime() exists.
46955
46956 2006-06-29  Derek Price  <derek@ximbiot.com>
46957
46958         * modules/c-bs-a: Removed - \a is C89.
46959         * MODULES.html.sh: Remove c-bs-a.
46960
46961 2006-06-29  Bruno Haible  <bruno@clisp.org>
46962
46963         * modules/wcwidth (License): Change to LGPL.
46964
46965 2006-06-28  Simon Josefsson  <jas@extundo.com>
46966
46967         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
46968         on _WIN32.
46969
46970         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
46971         getnameinfo.
46972
46973 2006-06-28  Simon Josefsson  <jas@extundo.com>
46974
46975         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
46976
46977 2006-06-28  Simon Josefsson  <jas@extundo.com>
46978
46979         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
46980         functions there.  It will succeed on Windows XP, but on Windows
46981         2000 and (presumably) earlier, it will fail, and use the internal
46982         re-implementation.
46983         (use_win32_p): New function.
46984         (getaddrinfo): Use strtoul on servname, to support numeric ports.
46985         Support AI_NUMERICSERV to disable getservbyname.
46986         (getnameinfo): New function, only supports
46987         NI_NUMERICHOST|NI_NUMERICSERV for now.
46988
46989         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
46990         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
46991         getnameinfo.
46992
46993 2006-06-28  Eric Blake  <ebb9@byu.net>
46994
46995         * modules/wcwidth: New file.
46996         * modules/mbchar (Depends-on): Add wcwidth.
46997         * modules/mbswidth (Depends-on): Add wcwidth.
46998         * MODULES.html.sh: Add wcwidth.
46999
47000 2006-06-28  Eric Blake  <ebb9@byu.net>
47001
47002         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
47003         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
47004
47005 2006-06-28  Eric Blake  <ebb9@byu.net>
47006
47007         * lib/xvasprintf.h: Fix comments.
47008
47009 2006-06-28  Eric Blake  <ebb9@byu.net>
47010
47011         * lib/mbchar.h (wcwidth): Include wcwidth.h.
47012         * lib/mbswidth.c (wcwidth): Move from here...
47013         * lib/wcwidth.h: ...to this new file.
47014
47015 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47016
47017         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
47018
47019         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
47020         it's obsolete.
47021         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
47022
47023 2006-06-28  Derek R. Price  <derek@ximbiot.com>
47024
47025         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
47026         Autoconf 2.60 says this stuff was obsolete.
47027
47028 2006-06-28  Bruno Haible  <bruno@clisp.org>
47029
47030         * modules/wcwidth (Files): Add m4/wchar_t.m4.
47031
47032 2006-06-28  Bruno Haible  <bruno@clisp.org>
47033
47034         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
47035         gt_TYPE_WCHAR_T.
47036
47037 2006-06-28  Bruno Haible  <bruno@clisp.org>
47038
47039         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
47040         declaration for wcwidth.
47041         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
47042
47043 2006-06-28  Bruno Haible  <bruno@clisp.org>
47044
47045         * lib/mkdtemp.c [MINGW]: Include <io.h>.
47046         (mkdir): Define using _mkdir.
47047
47048 2006-06-28  Bruno Haible  <bruno@clisp.org>
47049
47050         * lib/getaddrinfo.h: Fix POSIX URL.
47051         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
47052         _WIN32.
47053         (use_win32_p): Make static.
47054         (getaddrinfo): Reject service name if it is empty or does not consist
47055         solely of decimal digits, or if its value is > 65535.
47056         (getnameinfo): Remove useless casts.
47057
47058 2006-06-27  Simon Josefsson  <jas@extundo.com>
47059
47060         * modules/sys_select: New file, suggested by Bruno Haible, Paul
47061         Eggert and Martin Lambers.
47062
47063 2006-06-27  Simon Josefsson  <jas@extundo.com>
47064
47065         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
47066         Eggert and Martin Lambers.
47067
47068 2006-06-27  Bruno Haible  <bruno@clisp.org>
47069
47070         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
47071         result to 0, not to empty.
47072         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
47073
47074 2006-06-27  Bruno Haible  <bruno@clisp.org>
47075
47076         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
47077
47078 2006-06-26  Simon Josefsson  <jas@extundo.com>
47079
47080         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
47081         present.
47082
47083 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
47084
47085         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
47086         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
47087         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
47088
47089 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
47090
47091         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
47092
47093 2006-06-26  Bruno Haible  <bruno@clisp.org>
47094
47095         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
47096
47097 2006-06-26  Bruno Haible  <bruno@clisp.org>
47098
47099         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
47100
47101 2006-06-26  Bruno Haible  <bruno@clisp.org>
47102
47103         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
47104         SGI C compiler in pre-C99 mode.
47105         Suggested by Mark D. Baushke and Larry Jones.
47106
47107 2006-06-26  Bruno Haible  <bruno@clisp.org>
47108
47109         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
47110         WCHAR_MAX.
47111         Reported by Mark D. Baushke and Larry Jones.
47112
47113 2006-06-26  Bruno Haible  <bruno@clisp.org>
47114
47115         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
47116         in pre-C99 mode.
47117         Suggested by Mark D. Baushke and Larry Jones.
47118
47119 2006-06-23  Simon Josefsson  <jas@extundo.com>
47120             Bruno Haible  <bruno@clisp.org>
47121
47122         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
47123         Emit mostlyclean-local rule.
47124         (func_emit_tests_Makefile_am): Likewise.
47125         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
47126
47127 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
47128
47129         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
47130
47131 2006-06-23  Bruno Haible  <bruno@clisp.org>
47132
47133         * tests/test-stdint.c: Update to match ISO C 99 Technical
47134         Corrigendum 1.
47135
47136 2006-06-23  Bruno Haible  <bruno@clisp.org>
47137
47138         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
47139
47140 2006-06-23  Bruno Haible  <bruno@clisp.org>
47141
47142         * lib/stdint_.h: Treat IRIX like OpenBSD.
47143
47144 2006-06-23  Bruno Haible  <bruno@clisp.org>
47145
47146         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
47147         ISO C 99 Technical Corrigendum 1.
47148
47149 2006-06-22  Simon Josefsson  <jas@extundo.com>
47150
47151         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
47152         MinGW.
47153
47154 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47155
47156         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
47157         needed.  Some compiler complained about some of them.  Problem reported
47158         by Larry Jones in
47159         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
47160
47161 2006-06-21  Simon Josefsson  <jas@extundo.com>
47162
47163         * tests/test-getaddrinfo.c: New file.
47164
47165         * modules/getaddrinfo-tests: New file.
47166
47167         * MODULES.html.sh: Add inet_pton.
47168
47169         * modules/inet_pton: New file.
47170
47171 2006-06-21  Simon Josefsson  <jas@extundo.com>
47172
47173         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
47174         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
47175         of using the (limited) gnulib implementation on Windows XP.
47176
47177         * m4/inet_pton.m4: New file.
47178
47179 2006-06-21  Simon Josefsson  <jas@extundo.com>
47180
47181         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
47182         variable.
47183
47184         * lib/socket_.h: Don't define WINVER.
47185
47186         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
47187         slightly modified to work in gnulib.
47188
47189 2006-06-21  Simon Josefsson  <jas@extundo.com>
47190
47191         * doc/gnulib.texi (Windows sockets): Add.
47192
47193 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47194
47195         * lib/read-file.c (fread_file): Start with buffer allocation of
47196         0 bytes rather than 1 byte; this simplifies the code.
47197         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
47198         code to free buffer and save/restore errno.
47199         (internal_read_file): Remove unused local.
47200
47201 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47202
47203         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
47204         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
47205         Problem reported by Denis Excoffier in
47206         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
47207
47208 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47209
47210         * modules/sys_socket, modules/socklen: Include sys/types since
47211         FreeBSD 4.x's sys/socket.h needs it.
47212
47213 2006-06-19  Simon Josefsson  <jas@extundo.com>
47214
47215         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
47216
47217 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
47218
47219         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
47220
47221 2006-06-19  Bruno Haible  <bruno@clisp.org>
47222
47223         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
47224         and FULL_PATH_INTTYPES_H in angle brackets.
47225         Reported by Mark D. Baushke <mdb@gnu.org>.
47226
47227 2006-06-17  Eric Blake  <ebb9@byu.net>
47228
47229         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
47230         errno.
47231
47232 2006-06-17  Bruno Haible  <bruno@clisp.org>
47233
47234         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
47235         <sys/inttypes.h>.
47236
47237 2006-06-17  Bruno Haible  <bruno@clisp.org>
47238
47239         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
47240         whether errno is declared. Assume <errno.h> declares errno.
47241
47242 2006-06-17  Bruno Haible  <bruno@clisp.org>
47243
47244         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
47245
47246 2006-06-17  Bruno Haible  <bruno@clisp.org>
47247
47248         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
47249         problem on Solaris 2.5.1.
47250
47251 2006-06-16  Eric Blake  <ebb9@byu.net>
47252
47253         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
47254         * lib/unicodeio.c [!defined errno]: Likewise.
47255         * lib/strtol.c [!defined errno]: Likewise.
47256         * lib/strtod.c [!defined errno]: Likewise.
47257
47258 2006-06-15  Eric Blake  <ebb9@byu.net>
47259
47260         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
47261
47262 2006-06-15  Eric Blake  <ebb9@byu.net>
47263
47264         * config/srclist.txt (ssize_t.m4): Lose sync.
47265
47266 2006-06-15  Bruno Haible  <bruno@clisp.org>
47267
47268         * modules/stdint (Files): Include m4/full-header-path.m4,
47269         m4/size_max.m4, m4/wchar_t.m4.
47270         (Makefile.am): Many more substitutions.
47271         * modules/stdint-tests: New file.
47272         * tests/test-stdint.c: New file.
47273
47274 2006-06-15  Bruno Haible  <bruno@clisp.org>
47275
47276         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
47277         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
47278         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
47279         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
47280         gl_CHECK_TYPE_SAME): New macros.
47281
47282 2006-06-15  Bruno Haible  <bruno@clisp.org>
47283
47284         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
47285
47286 2006-06-15  Bruno Haible  <bruno@clisp.org>
47287
47288         * lib/stdint_.h: Rewritten to be fully auto-configured.
47289         Fixes bug on HP-UX/IA64.
47290
47291 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
47292
47293         * lib/getdate.y (__attribute__): Don't define if already defined.
47294         Problem reported by Larry Jones.
47295         * lib/utimens.c (__attribute__): Likewise.
47296
47297 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
47298
47299         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
47300         reported by Andreas Schwab.
47301
47302 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47303             Bruno Haible  <bruno@clisp.org>
47304
47305         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
47306         check for the declaration of strnlen and a run test that exposes the
47307         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
47308         rpl_strndup.
47309
47310 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47311             Bruno Haible  <bruno@clisp.org>
47312
47313         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
47314
47315 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47316
47317         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
47318         compile test, for Tru64 4.0D.
47319
47320 2006-05-28  Karl Berry  <karl@gnu.org>
47321
47322         * config/srclist.txt (printf-args.c): lose sync.
47323
47324 2006-05-26  Martin Lambers  <marlam@marlam.de>
47325
47326         * lib/getpass.c: Updates the test for the native W32 API, and adds
47327         missing includes, thus fixing compilation warnings.
47328
47329 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47330
47331         * lib/exclude.c (exclude_fnmatch): New function.
47332         (excluded_file_name): Call exclude_fnmatch.
47333         * lib/exclude.h (excluded_file_name): New prototype
47334
47335 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
47336
47337         * lib/tempname.c (small_open, large_open): New macros.
47338         (__open, __open64) [!_LIBC]: Remove.
47339         (__gen_tempname): Use small_open and large_open instead of __open
47340         and __open64.  This fixes a portability bug on HP-UX 11.11i
47341         reported by Simon Wing-Tang in
47342         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
47343
47344 2006-05-24  Bruno Haible  <bruno@clisp.org>
47345
47346         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
47347         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
47348         Reported by Thorsten Maerz <torte@netztorte.de> via
47349         Aaron Stone <aaron@serendipity.cx>.
47350
47351 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47352
47353         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
47354         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
47355         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
47356         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
47357         not really conditional on the cache.
47358         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
47359
47360 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47361
47362         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
47363         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
47364         (my_usleep): Don't mishandle maximum value.
47365
47366 2006-05-19  Jim Meyering  <jim@meyering.net>
47367
47368         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
47369
47370 2006-05-17  Bruno Haible  <bruno@clisp.org>
47371
47372         Cygwin portability.
47373         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
47374
47375 2006-05-17  Bruno Haible  <bruno@clisp.org>
47376
47377         * lib/stdint_.h: Fix recognition of Cygwin.
47378
47379 2006-05-15  Bruno Haible  <bruno@clisp.org>
47380
47381         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
47382         on libtool patch by Ralf Wildenhues.
47383
47384 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
47385
47386         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
47387         test for C99 conformance; (bool) 0.5 is an integer constant
47388         expression, but (bool) -0.5 is not.  Problem reported by Fedor
47389         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
47390
47391 2006-05-11  Simon Josefsson  <jas@extundo.com>
47392
47393         * m4/xvasprintf.m4: Fix obvious typo.
47394
47395 2006-05-11  Jim Meyering  <jim@meyering.net>
47396
47397         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
47398         James Lemley.
47399
47400 2006-05-10  Simon Josefsson  <jas@extundo.com>
47401
47402         * lib/md4.c: Typo fix, update copyright years.
47403         (K1, K2): Don't use L because it turn computations into 64-bit on
47404         64-bit platforms.
47405
47406 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
47407
47408         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
47409         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
47410         unwanted sign propagation, e.g., on hosts with 64-bit int.
47411         There still are some problems with reeelly weird theoretical hosts
47412         (e.g., 33-bit int) but it's not worth worrying about now.
47413         * lib/sha1.c (rol): Likewise.
47414         (K1, K2, K3, K4): Remove unnecessary L suffix.
47415
47416 2006-05-10  Bruno Haible  <bruno@clisp.org>
47417
47418         * lib/des.c: Cast to avoid warnings.
47419
47420 2006-05-09  Bruno Haible  <bruno@clisp.org>
47421
47422         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
47423         (Depends-on): Depend also on xsize, stdarg.
47424         (configure.ac): Add gl_XVASPRINTF.
47425
47426 2006-05-09  Bruno Haible  <bruno@clisp.org>
47427
47428         * m4/xvasprintf.m4: New file.
47429
47430 2006-05-09  Bruno Haible  <bruno@clisp.org>
47431
47432         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
47433         (EOVERFLOW): Define fallback value.
47434         (xstrcat): New function.
47435         (xvasprintf): Recognize the special case of a string concatenation.
47436
47437 2006-05-08  Eric Blake  <ebb9@byu.net>
47438
47439         * gnulib-tool (func_version): Base copyright year on CVS date.
47440         (func_emit_copyright_notice): New function.
47441         (func_emit_lib_Makefile_am): Use it.
47442         (func_emit_tests_Makefile_am): Likewise.
47443         (func_import): Likewise.
47444
47445 2006-05-08  Bruno Haible  <bruno@clisp.org>
47446
47447         * modules/stdarg: New file.
47448         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
47449
47450 2006-05-08  Bruno Haible  <bruno@clisp.org>
47451
47452         * m4/stdarg.m4: New file, from GNU gettext.
47453
47454 2006-05-08  Bruno Haible  <bruno@clisp.org>
47455
47456         * config/srclist.txt (build-aux/config.rpath): different from latest
47457         release.
47458
47459 2006-05-08  Bruno Haible  <bruno@clisp.org>
47460
47461         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
47462
47463 2006-05-05  Jim Meyering  <jim@meyering.net>
47464
47465         * m4/warning.m4: New file, derived from bison's file by the same name.
47466
47467 2006-05-03  Bruno Haible  <bruno@clisp.org>
47468
47469         * lib/stdint_.h: Shorter URL.
47470         * lib/inttypes.h: Likewise.
47471
47472 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47473
47474         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
47475
47476 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47477
47478         * lib/verify.h: Document the internals better.  Most of this change
47479         was written by Bruno Haible.
47480
47481 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47482
47483         * doc/verify.texi: New file, partly based on a proposal by
47484         Bruno Haible.
47485
47486 2006-05-02  Bruno Haible  <bruno@clisp.org>
47487
47488         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
47489         test from here...
47490         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
47491
47492 2006-04-29  Bruno Haible  <bruno@clisp.org>
47493
47494         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
47495         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
47496
47497 2006-04-29  Bruno Haible  <bruno@clisp.org>
47498
47499         * gnulib-tool: Make --update option actually work.
47500
47501 2006-04-29  Bruno Haible  <bruno@clisp.org>
47502
47503         * doc/gcd.texi: New file.
47504         * doc/gnulib.texi: Include it.
47505
47506 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
47507
47508         * lib/getdate.y (get_date): When adding relative date, start with the
47509         initial time, not with the result of the first mktime call.
47510
47511 2006-04-25  Bruno Haible  <bruno@clisp.org>
47512
47513         * gnulib-tool (func_import): Output the include directives in three
47514         blocks, sorted separately.
47515         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47516
47517 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47518
47519         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
47520         to define main with arguments, for C++.  Reported by Eric Blake.
47521         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
47522         Prefer 'int main ()' to 'int main (void)', for C++.
47523         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47524         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
47525         for 'main', for C99 and C++.
47526
47527 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
47528
47529         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
47530         Don't assume that exit status -1 is valid.
47531         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47532         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47533         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
47534         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
47535         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
47536         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
47537         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
47538         functions can be used without declaring them, or that you can
47539         exit with status -1.
47540         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
47541
47542 2006-04-24  Karl Berry  <karl@gnu.org>
47543
47544         * config/srclist.txt (longdouble.m4): sync lost.
47545
47546 2006-04-24  Eric Blake  <ebb9@byu.net>
47547
47548         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
47549
47550 2006-04-24  Bruno Haible  <bruno@clisp.org>
47551
47552         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
47553         poll() implementation in AIX.
47554         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47555
47556 2006-04-24  Bruno Haible  <bruno@clisp.org>
47557
47558         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
47559         assigned exactly once.
47560
47561 2006-04-23  Claudio Fontana  <claudio@gnu.org>
47562             Bruno Haible  <bruno@clisp.org>
47563
47564         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
47565         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
47566         for AM_CPPFLAGS.
47567
47568 2006-04-23  Bruno Haible  <bruno@clisp.org>
47569
47570         * modules/copy-file: Depend on unistd.
47571         * modules/execute: Likewise.
47572         * modules/fatal-signal: Likewise.
47573         * modules/findprog: Likewise.
47574         * modules/mkdtemp : Likewise.
47575         * modules/pipe: Likewise.
47576         * modules/wait-process: Likewise.
47577
47578 2006-04-23  Bruno Haible  <bruno@clisp.org>
47579
47580         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
47581         condition was already detected.
47582         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47583
47584 2006-04-23  Bruno Haible  <bruno@clisp.org>
47585
47586         * lib/copy-file.c: Include <unistd.h> unconditionally.
47587         * lib/execute.c: Likewise.
47588         * lib/fatal-signal.c: Likewise.
47589         * lib/findprog.c: Likewise.
47590         * lib/mkdtemp.c: Likewise.
47591         * lib/pipe.h: Likewise.
47592         * lib/pipe.c: Likewise.
47593         * lib/wait-process.h: Likewise.
47594
47595 2006-04-23  Bruno Haible  <bruno@clisp.org>
47596
47597         * gnulib-tool (func_usage): Fix --import description. Document
47598         --update.
47599         (func_import): Create temporary file in a temporary directory, if
47600         --dry-run is specified. Silence errors from 'grep' when there are no
47601         m4 files in $m4dir.
47602         (func_create_testdir): Silence errors from 'grep' when there are no
47603         m4 files in $m4dir.
47604         Reported by Karl Berry <karl@freefriends.org>.
47605
47606 2006-04-20  Bruno Haible  <bruno@clisp.org>
47607
47608         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
47609         one argument, so that the code will be portable to Autoconf 2.60.
47610         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
47611         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
47612         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
47613
47614 2006-04-19  Derek Price  <derek@ximbiot.com>
47615             Eric Blake  <ebb9@byu.net>
47616
47617         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
47618         rather than "/full/path.h".  Update comment to match.  Shorten &
47619         generalize m4_translit call via AS_TR_CPP.
47620
47621 2006-04-19  Derek Price  <derek@ximbiot.com>
47622             Eric Blake  <ebb9@byu.net>
47623
47624         * lib/inttypes.h: Correct grammar in comment.
47625
47626 2006-04-18  Derek Price  <derek@ximbiot.com>
47627             Paul Eggert  <eggert@cs.ucla.edu>
47628
47629         * modules/inttypes: New file.
47630         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
47631
47632 2006-04-18  Derek Price  <derek@ximbiot.com>
47633             Paul Eggert  <eggert@cs.ucla.edu>
47634
47635         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
47636         New files.
47637
47638 2006-04-18  Derek Price  <derek@ximbiot.com>
47639             Paul Eggert  <eggert@cs.ucla.edu>
47640
47641         * lib/inttypes.h: New file.
47642         * lib/strtoimax.c: Assume <inttypes.h>.
47643
47644 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
47645
47646         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
47647         isn't mounted.  Problem reported by Kir Kolyshkin.
47648
47649 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47650
47651         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
47652         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
47653         Derek R. Price.
47654         * lib/regex.h (RE_DUP_MAX): Update comment to match current
47655         implementation.
47656
47657 2006-04-12  Eric Blake  <ebb9@byu.net>
47658
47659         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
47660         is now done automatically by the corresponding Autoconf macro.
47661
47662 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47663
47664         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
47665         time_r.h.
47666
47667 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47668
47669         Merge regex changes from libc, removing some of our
47670         POSIX-conformance changes that were rejected and redoing them in a
47671         less-intrusive way.
47672
47673         * lib/regcomp.c (re_compile_internal, init_dfa):
47674         Length arg is now size_t, not Idx.  All uses changed.
47675         (peek_token): Forward decl now says internal_function.
47676         (__re_error_msgid, __re_error_msgid_idx):
47677         Now static rather than extern with attribute_hidden.
47678         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
47679         For some reason libc prefers K&R style defns for external functions.
47680         (regerror) [!defined _LIBC]: Likewise.
47681         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
47682         (seek_collating_symbol_entry, lookup_collation_sequence_value):
47683         (build_range_exp, build_collating_symbol):
47684         Use K&R-style defn.
47685         (re_compile_fastmap): Use '\0' to memset, not 0.
47686         (utf8_sb_map): Make the calculations more obvious.
47687         (init_dfa, parse_bracket_exp, build_charclass_op):
47688         Call calloc and cast result, as glibc does.
47689         (init_word_char, fetch_token, peek_token, peek_token_bracket):
47690         (build_range_exp, build_collating_symbol):
47691         Now internal functions.
47692
47693         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
47694
47695         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
47696         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
47697         Don't depend on VMS; depend on __VMS instead, for POSIX
47698         namespace cleanness.
47699         (regoff_t): Define to ssize_t, not long int.
47700
47701         Remove the REG_ macros named below.  Instead, make the old names
47702         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
47703         __USE_GNU_REGEX.
47704         (REG_BACKSLASH_ESCAPE_IN_LISTS):
47705         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
47706         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
47707         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
47708         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
47709         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
47710         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
47711         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
47712         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
47713         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
47714         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
47715         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
47716         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
47717         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
47718         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
47719         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
47720         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
47721         (REG_NREGS):
47722         Remove.  All uses replaced by the old RE_* names.
47723         (RE_BACKSLASH_ESCAPE_IN_LISTS):
47724         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
47725         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
47726         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
47727         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
47728         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
47729         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
47730         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
47731         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
47732         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
47733         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
47734         Don't bother having these macros be independent of each others'
47735         values, since they no longer exist in the POSIX name space.
47736
47737         Rename the following member names back to their old names,
47738         unless !__USE_GNU_REGEX.  All uses changed back.
47739         (buffer): Renamed from re_buffer.
47740         (allocated): Renamed from re_allocated.
47741         (used): Renamed from re_used.
47742         (syntax): Renamed from re_syntax.
47743         (fastmap): Renamed from re_fastmap.
47744         (translate): Renamed from re_translate.
47745         (can_be_null): Renamed from re_can_be_null.
47746         (regs_allocated): Renamed from re_regs_allocated.
47747         (fastmap_accurate): Renamed from re_fastmap_accurate.
47748         (no_sub): Renamed from re_no_sub.
47749         (not_bol): Renamed from re_not_bol.
47750         (not_eol): Renamed from re_not_eol.
47751         (newline_anchor): Renamed from re_newline_anchor.
47752         (num_regs): Renamed from rm_num_regs.
47753         (start): Renamed from rm_start.
47754         (end): Renamed from rm_end.
47755
47756         (free_state): Move up a bit.
47757
47758         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
47759         #define to be empty.
47760         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
47761         when that is what is intended.
47762         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
47763         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
47764         (MAX): New macro.
47765         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
47766         All uses changed back to re_malloc, etc.  It's now the caller's
47767         responsibility to check for overflow; all callers changed.
47768         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
47769         (re_x2nrealloc): Remove.
47770         (free_state): Remove decl.
47771
47772         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
47773         (re_set_registers, re_exec):
47774         Use K&R-style defn.
47775
47776         2006-01-31  Roland McGrath  <roland@redhat.com>
47777
47778         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
47779         Reported by Mike Frysinger <vapier@gentoo.org>.
47780
47781         2006-01-15  Andreas Jaeger  <aj@suse.de>
47782
47783         [BZ #1950]
47784         * lib/regex_internal.c (re_string_reconstruct): Adjust for
47785         build_wcs_upper_buffer change.
47786         (build_wcs_upper_buffer): Change return type.
47787
47788         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
47789
47790         * lib/regex_internal.h: Include <stdint.h> if available.
47791
47792         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
47793
47794         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
47795
47796         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
47797
47798         * lib/regcomp.c: Adjust for changed secondary hash function.
47799
47800         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
47801
47802         * lib/regex.h: Pretty printing.
47803         Clean up namespace a bit.
47804
47805         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
47806
47807         * lib/regexec.c (update_cur_sifted_state, check_arrival,
47808         check_arrival_add_next_nodes): Avoid using uninitialized variable.
47809
47810         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47811                     Ulrich Drepper  <drepper@redhat.com>
47812
47813         [BZ #1302]
47814         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
47815         changed.
47816         (bitset_word_t): Renamed from bitset_word.  All uses changed.
47817
47818         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
47819
47820         [BZ #281]
47821         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
47822         * lib/regcomp.c: Remove unnecessary uses of
47823         unsigned RE_TRANSLATE_TYPE.
47824         * lib/regex_internal.h: Likewise.
47825         * lib/regex_internal.c: Likewise.
47826         * lib/regexec.c: Likewise.
47827         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
47828
47829         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
47830
47831         * lib/regexec.c (find_recover_state): Remove unnecessary
47832         initialization.
47833         (transit_state_bkref): Make DFA a const pointer.
47834         (get_subexp): Likewise.
47835         (check_arrival): Likewise.
47836         (update_cur_sifted_state): Likewise.
47837         (re_search_internal): Likewise.
47838         (prune_impossible_nodes): Likewise.
47839         (acquire_init_state_context): Likewise.
47840         (proceed_next_node): Likewise.
47841         (set_regs): Likewise.
47842         (free_fail_stack_return): Likewise.
47843         (check_arrival_expand_ecl): Mark DFA parameter as const.
47844         (check_arrival_expand_ecl_sub): Likewise.
47845         (check_subexp_limits): Likewise.
47846         (sub_epsilon_src_nodes):  Likewise.
47847         (add_epsilon_src_nodes):  Likewise.
47848         (merge_state_array): Likewise.
47849         (update_regs): Likewise.
47850         (build_trtable): Likewise.
47851         (sift_states_backward): Mark MCTX parameter as const.
47852         (build_sifted_states): Likewise.
47853         (update_cur_sifted_state): Likewise.
47854         (sift_states_mkref): Likewise.
47855         (check_arrival_expand_ecl): Mark eclosure as const.
47856         (check_dst_limits_calc_pos_1): Likewise.
47857         * lib/regex_internal.h (re_match_context_t): Make dfa a const
47858         pointer.
47859
47860         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
47861
47862         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
47863         (transit_state_sb): Likewise.
47864         (transit_state_mb): Likewise.
47865         (sift_states_iter_mb): Likewise.
47866         (check_arrival_add_next_nodes): Likewise.
47867         (check_node_accept_bytes): Change first parameter to pointer-to-const.
47868         [_LIBC] (re_search_2_stub): Use mempcpy.
47869
47870         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
47871         mbrtowc for very simple UTF-8 case.
47872
47873         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
47874         a pointer-to-const.
47875         (re_acquire_state_context): Likewise.
47876         * lib/regex_internal.h: Adjust prototypes.
47877
47878         * lib/regex.c: Prevent using C++ compilers.
47879
47880         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
47881         (re_acquire_state_context): Likewise.
47882
47883 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47884
47885         * modules/regex (Depends-on): Add ssize_t.
47886
47887 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47888
47889         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
47890         translation table.
47891
47892 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
47893
47894         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
47895
47896 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
47897             Bruno Haible  <bruno@clisp.org>
47898
47899         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
47900         <sys/types.h> and <inttypes.h>.
47901
47902 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47903
47904         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
47905         `__error_t_defined', so argp.h will not typedef the former.
47906
47907 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
47908
47909         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
47910         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
47911         glibc names.  Even if glibc is changed to conform to POSIX, the
47912         traditional names will be available anyway, since regex depends on
47913         the extensions module.  Also, fix a longstanding typo in the
47914         implementation of Spencer ERE test #75 from grep 2.3.  Problems
47915         reported by Emanuele Giaquinta.  Also, change sense of cached
47916         variable, so that the message makes sense.
47917
47918 2006-03-24  Simon Josefsson  <jas@extundo.com>
47919
47920         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
47921         including some doc fixes.
47922         (base64_encode_alloc): Fix +1 bug on allocation failures.
47923
47924 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47925
47926         * lib/base64.c (base64_encode): Do not read past end of array with
47927         unsanitized input on systems with CHAR_BIT > 8.
47928
47929 2006-03-24  Eric Blake  <ebb9@byu.net>
47930
47931         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
47932
47933 2006-03-22  Karl Berry  <karl@gnu.org>
47934
47935         * config/srclist.txt (*setenv.[ch]): get from coreutils.
47936         * config/srclistvars.sh (COREUTILS): new var.
47937
47938 2006-03-17  Jim Meyering  <jim@meyering.net>
47939
47940         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
47941         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
47942
47943 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
47944
47945         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
47946         no longer needs it.  Instead, check that regoff_t is as least
47947         as wide as ptrdiff_t.
47948
47949         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
47950         so that our regex.h stays compatible with the installed regex.
47951         This is helpful for installers who configure --without-included-regex.
47952         Problem reported by Emanuele Giaquinta.
47953
47954 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
47955
47956         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
47957         Typedef to long int, not to off_, as POSIX will likely change
47958         in that direction.
47959
47960 2006-03-15  Eric Blake  <ebb9@byu.net>
47961
47962         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
47963
47964 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
47965
47966         * lib/argp-help.c (validate_uparams): Fix typo
47967         * lib/argp-parse.c (argp_default_options): Consistently begin help
47968         messages with a lowercase letter.
47969
47970 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
47971
47972         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
47973         overrun buffers and shouldn't be used (much as gets shouldn't be
47974         used).
47975         * lib/time_r.c (asctime_r, ctime_r): Likewise.
47976
47977 2006-03-08  Simon Josefsson  <jas@extundo.com>
47978
47979         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
47980         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47981
47982 2006-03-08  Simon Josefsson  <jas@extundo.com>
47983
47984         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
47985         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47986
47987 2006-03-08  Simon Josefsson  <jas@extundo.com>
47988
47989         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
47990         signal that configure disabled the device.
47991
47992 2006-03-08  Simon Josefsson  <jas@extundo.com>
47993
47994         * build-aux/maint.mk: Fix refresh-po, to handle no translated
47995         languages.
47996
47997 2006-03-07  Simon Josefsson  <jas@extundo.com>
47998
47999         * modules/getopt (Depends-on): Add unistd.
48000
48001         * modules/unistd: New file.
48002
48003 2006-03-07  Simon Josefsson  <jas@extundo.com>
48004
48005         * modules/gc-random: New file.
48006
48007 2006-03-07  Simon Josefsson  <jas@extundo.com>
48008
48009         * m4/unistd_h.m4: New file.
48010
48011 2006-03-07  Simon Josefsson  <jas@extundo.com>
48012
48013         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
48014         test to be side-effect free by storing the result in the cache
48015         variable gl_cv_lib_readline, and moving the assignment of
48016         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
48017         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48018
48019 2006-03-07  Simon Josefsson  <jas@extundo.com>
48020
48021         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
48022         error on missing devices (the functions will return an error).
48023
48024         * m4/gc.m4: Move random stuff to gc-random.m4
48025
48026 2006-03-07  Simon Josefsson  <jas@extundo.com>
48027
48028         * lib/unistd_.h: New file.
48029
48030 2006-03-07  Simon Josefsson  <jas@extundo.com>
48031
48032         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
48033
48034 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48035
48036         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
48037         Problem reported by Juan Manuel Guerrero.
48038
48039 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48040
48041         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
48042         the unistd module.
48043         * lib/getlogin_r.c: Likewise.
48044         * lib/getlogin_r.h: Likewise.
48045         * lib/glob.c: Likewise.
48046         * lib/pagealign_alloc.c: Likewise.
48047         * lib/unistd_.h: Remove; no longer needed.
48048
48049 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48050
48051         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48052         Add unistd.
48053         * modules/c-stack (Depends-on): Add unistd.
48054         * modules/getlogin_r: Likewise.
48055         * modules/glob: Likewise.
48056         * modules/pagealign_alloc: Likewise.
48057         * modules/unistd (Files): Remove lib/unistd_.h.
48058         (EXTRA_DIST): Remove.
48059         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
48060         need unistd_.h.
48061         (MOSTLYCLEANFILES): Remove unistd.h-t.
48062
48063 2006-03-03  Simon Josefsson  <jas@extundo.com>
48064
48065         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
48066
48067 2006-03-03  Simon Josefsson  <jas@extundo.com>
48068
48069         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
48070         libidn and bison.
48071
48072 2006-03-03  Simon Josefsson  <jas@extundo.com>
48073
48074         * build-aux/maint.mk: Add indent target.
48075
48076 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
48077
48078         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
48079         our replacement poll.h in any case, to avoid a differing
48080         declaration from a system header.  Seen on AIX.
48081
48082 2006-03-01  Simon Josefsson  <jas@extundo.com>
48083
48084         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
48085         <kasal@ucw.cz>.
48086
48087 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48088
48089         * modules/gettime (Depends-on): Add extensions module.
48090         * modules/nanosleep (Depends-on): Likewise.
48091         * modules/settime (Depends-on): Likewise.
48092
48093 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48094
48095         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
48096         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
48097         pedantically.
48098         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48099         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
48100
48101         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
48102         not "==".  Reported by Ralf Wildenhues.
48103
48104 2006-03-01  Karl Berry  <karl@gnu.org>
48105
48106         * doc/Copyright/request-*: new files, synced from gnuorg.
48107
48108 2006-03-01  Karl Berry  <karl@gnu.org>
48109
48110         * config/srclist.txt (Copyright/*): new entries.
48111
48112 2006-02-28  Simon Josefsson  <jas@extundo.com>
48113
48114         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
48115
48116 2006-02-27  Simon Josefsson  <jas@extundo.com>
48117
48118         * lib/base64.h: Indent #define's.  From Jim Meyering
48119         <jim@meyering.net>.
48120
48121 2006-02-27  Jim Meyering  <jim@meyering.net>
48122
48123         Revert the change of 2006-02-24, so these files can continue
48124         to be sync'd from gettext.
48125         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
48126         of `config.h'.
48127
48128 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
48129
48130         * modules/intprops: New file.
48131         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
48132         Add intprops.
48133         * modules/getloadavg (Files): Remove lib/intprops.h.
48134         (Depends-on): Add intprops.
48135         * modules/human: Likewise.
48136         * modules/inttostr: Likewise.
48137         * modules/openat: Likewise.
48138         * modules/sig2str: Likewise.
48139         * modules/userspec: Likewise.
48140         * modules/utimecmp: Likewise.
48141         * modules/xnanosleep: Likewise.
48142         * modules/xstrtol: Likewise.
48143
48144 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
48145
48146         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
48147         * modules/lock-tests (TESTS): Use $(EXEEXT).
48148         * modules/tls-tests: Likewise.
48149         * modules/argp-tests: Likewise.
48150         (check_PROGRAMS): New var, replacing...
48151         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
48152
48153 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48154
48155         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
48156         `config.h'.
48157
48158 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48159
48160         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
48161
48162 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48163
48164         Sync from coreutils.
48165         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
48166         gl_CHDIR_SAFER.
48167
48168 2006-02-22  Jim Meyering  <jim@meyering.net>
48169
48170         Sync from coreutils.
48171         * m4/chdir-safer.m4: New file.
48172
48173 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48174
48175         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
48176         AT_FDCWD exceeds INT_MAX.
48177         * lib/openat.h (AT_FDCWD): Likewise.
48178
48179 2006-02-17  Eric Blake  <address@hidden>
48180
48181         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
48182
48183 2006-02-16  Simon Josefsson  <jas@extundo.com>
48184
48185         * modules/getaddrinfo (Depends-on): Add sys_socket.
48186
48187 2006-02-15  Simon Josefsson  <jas@extundo.com>
48188
48189         * build-aux/maint.mk: Add dsyntax-check rule.
48190
48191 2006-02-15  Eric Blake  <ebb9@byu.net>
48192
48193         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
48194         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
48195         'present but cannot compile' warnings on cygwin.
48196         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
48197         use ws2tcpip.h if sys/socket.h works.
48198         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
48199         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
48200
48201 2006-02-14  Simon Josefsson  <jas@extundo.com>
48202
48203         * modules/maintainer-makefile (Files): Rename.
48204
48205         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
48206         and (the local) Makefile.cfg to maint-cfg.mk.
48207
48208         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
48209         to the latter.
48210
48211         * modules/maintainer-makefile: New module.
48212
48213         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
48214         severaly stripped to make it possible to build it up from scratch
48215         with reliable tests.
48216
48217         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
48218         fixes to permit overriding the default actions when configure and
48219         makefile are not available.
48220
48221 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48222
48223         Sync from coreutils.
48224         * modules/lstat (Depends-on): Don't depend on xalloc.
48225         (License): Change from GPL to LGPL, since this is now simply a
48226         replacement for a libc function.
48227
48228 2006-02-14  Jim Meyering  <jim@meyering.net>
48229
48230         Sync from coreutils.
48231
48232         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
48233         failure on deficient systems, and simplify gnulib lgpl dependencies.
48234         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
48235         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
48236
48237         * lib/xalloc-die.c: Remove unused definition of N_.
48238
48239 2006-02-14  Jim Meyering  <jim@meyering.net>
48240
48241         Sync from coreutils.
48242         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
48243         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
48244         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
48245         double-quote uses of that variable, to accommodate the rare case in
48246         which getmntent is available in none of the libraries checked.  This
48247         happens at least on FreeBSD 5.0.
48248
48249 2006-02-13  Simon Josefsson  <jas@extundo.com>
48250
48251         * gnulib-tool (Usage): Fix --import, from
48252         karl@freefriends.org (Karl Berry).
48253
48254 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
48255
48256         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
48257
48258 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
48259
48260         * lib/argp-namefrob.h: Restore changes accidentally lost during the
48261         "autoupdate" on 2005-12-12.
48262
48263 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48264
48265         * modules/closeout (Depends-on): Remove atexit.
48266
48267 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
48268
48269         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
48270         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
48271
48272 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
48273
48274         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
48275         __EXTENSIONS__ if this causes compilation to fail.  Problem
48276         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
48277         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
48278
48279 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
48280
48281         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
48282         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
48283         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
48284         All uses changed.
48285
48286 2006-01-26  Simon Josefsson  <jas@extundo.com>
48287
48288         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
48289         prototype is visible on mingw32.
48290
48291         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
48292         for mingw32.
48293
48294         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
48295         mingw32).
48296
48297 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
48298
48299         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
48300         attempt to open for write; this always fails, at least on POSIX
48301         hosts.  This reinstates the 2006-01-09 change, which was
48302         inadvertently removed.
48303
48304 2006-01-26  Bruno Haible  <bruno@clisp.org>
48305
48306         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
48307         Reported by Paul Eggert.
48308
48309 2006-01-26  Bruno Haible  <bruno@clisp.org>
48310             Paul Eggert  <eggert@cs.ucla.edu>
48311
48312         * lib/stdbool_.h (_Bool)
48313         [(! (defined __cplusplus || defined __BEOS__)
48314           && !defined __GNUC__
48315           && !(defined __HP_cc || defined __xlc__
48316                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
48317                || defined __sgi))]:
48318         #define to signed char in these cases too; this simplifies
48319         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
48320         etc., separately) and makes it more conservative.
48321
48322 2006-01-25  Simon Josefsson  <jas@extundo.com>
48323
48324         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
48325         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
48326         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
48327
48328 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48329
48330         * lib/argp-namefrob.h: Bugfix. Remove stray #
48331
48332 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48333
48334         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
48335         so that we test the test.
48336         Check for yet another HP-UX cc bug involving *bool |= bool.
48337
48338 2006-01-25  Karl Berry  <karl@gnu.org>
48339
48340         * config/srclist.txt (vasnprintf.c): sync lost.
48341
48342 2006-01-25  Jim Meyering  <jim@meyering.net>
48343
48344         Sync from the stable (b5) branch of coreutils:
48345
48346         * lib/fts.c (fts_children): Don't let close() clobber errno from
48347         failed fchdir().
48348
48349         * lib/fts.c (fts_stat): When following a symlink-to-directory,
48350         don't necessarily interpret stat-fails+lstat-succeeds as indicating
48351         a dangling symlink.  That can also happen at least for ELOOP.
48352         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
48353         FYI, this bug predates the inclusion of fts.c in coreutils.
48354
48355         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
48356         in their own block, so pre-c99 compilers don't object.
48357
48358         Avoid the double-free (first in fts_read, second in fts_close) that
48359         would occur when an `active' directory is made inaccessible (e.g.,
48360         via chmod a-x) during a traversal.
48361         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48362         before returning.  Reproduce this failure by
48363         mkdir -p a/b; cd a; chmod a-x . b
48364         Reported by Stavros Passas.
48365
48366 2006-01-25  Jim Meyering  <jim@meyering.net>
48367
48368         * lib/fileblocks.c: Remove more useless parentheses.
48369         * lib/readutmp.h: Likewise.
48370
48371 2006-01-25  Bruno Haible  <bruno@clisp.org>
48372
48373         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
48374         warnings.
48375         Reported by Paul Eggert.
48376
48377 2006-01-25  Bruno Haible  <bruno@clisp.org>
48378
48379         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
48380         rid of a trap command. For Solaris sh.
48381         Reported by Mark D. Baushke <mdb@gnu.org>.
48382
48383 2006-01-24  Simon Josefsson  <jas@extundo.com>
48384
48385         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
48386         Bruno.
48387
48388 2006-01-24  Karl Berry  <karl@gnu.org>
48389
48390         * config/srclist.txt (argp-namefrob.h): sync lost.
48391
48392 2006-01-24  Jim Meyering  <jim@meyering.net>
48393
48394         * modules/openat (Files): Add lib/intprops.h.
48395         From Mark D. Baushke.
48396
48397 2006-01-24  Jim Meyering  <jim@meyering.net>
48398
48399         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
48400         Reported by Mark D. Baushke.
48401
48402 2006-01-24  Jim Meyering  <jim@meyering.net>
48403
48404         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
48405
48406 2006-01-24  Bruno Haible  <bruno@clisp.org>
48407
48408         * modules/strnlen (Maintainer): Change from glibc to all.
48409
48410 2006-01-24  Bruno Haible  <bruno@clisp.org>
48411
48412         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
48413         Patch by Paul Eggert.
48414
48415 2006-01-24  Bruno Haible  <bruno@clisp.org>
48416
48417         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
48418         already has it.
48419         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
48420         2005-11-26.
48421
48422         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
48423         'signed char' to avoid problems with the built-in _Bool type.
48424         Reported by Paul Eggert on 2005-11-26.
48425
48426 2006-01-24  Bruno Haible  <bruno@clisp.org>
48427
48428         * gnulib-tool (func_import): Avoid constructing complicated sed
48429         expressions inside backquote.
48430         Report and solution by Mark D. Baushke <mdb@gnu.org>.
48431
48432 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
48433
48434         These changes imported from libc.
48435         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
48436         test and two separate function calls.
48437         * lib/strndup.c (__strndup): Add libc_hidden_def.
48438
48439 2006-01-23  Simon Josefsson  <jas@extundo.com>
48440
48441         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
48442         Remove the test_*_SOURCES variable: automake infers it by default.
48443         * modules/tls-tests: Likewise.
48444
48445 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48446
48447         Work around porting bugs reported by Dieter in
48448         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
48449         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
48450         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
48451         Include "getopt.h" first, to check interface.
48452         (getenv): Declare only if defined HAVE_DECL_GETENV &&
48453         !HAVE_DECL_GETENV.
48454         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
48455         (__strndup): Revert to K&R-style function dfns, the glibc style.
48456         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
48457         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
48458         Include strnlen.h first, to get prototype properly.
48459         (strnlen): Renamed from __strnlen.
48460         Remove weak alias.
48461
48462 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48463
48464         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
48465
48466 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
48467
48468         * config/srclist.txt: Adjust to reflect glibc reorganization.
48469         This affects only comments.
48470
48471 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48472
48473          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
48474          Reported by Bruce Korb <bkorb@gnu.org>.
48475
48476 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
48477
48478         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
48479         to pacify gcc -Wswitch-default.
48480
48481 2006-01-22  Bruno Haible  <bruno@clisp.org>
48482
48483         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
48484         temporary buffer for sprintf, take into account the precision also
48485         for 'd', 'i', 'u', 'o', 'x', 'X'.
48486
48487 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48488
48489         * modules/argp-tests: New module
48490         * tests/test-argp.c: New file
48491         * tests/test-argp-2.sh: New file
48492
48493 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
48494
48495         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
48496         (__argp_base_name): Removed
48497         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
48498         typo.
48499         (__argp_base_name): Provide macro definition or extern declaration
48500         depending on the configuration
48501
48502 2006-01-20  Simon Josefsson  <jas@extundo.com>
48503
48504         * modules/inet_ntop (Depends-on): Depend on sys_socket.
48505
48506 2006-01-20  Simon Josefsson  <jas@extundo.com>
48507
48508         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
48509
48510 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
48511
48512         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
48513         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
48514         Suggested by Bruno Haible.
48515
48516 2006-01-20  Karl Berry  <karl@gnu.org>
48517
48518         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
48519         until changes propagate, I guess.
48520
48521 2006-01-19  Simon Josefsson  <jas@extundo.com>
48522
48523         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
48524
48525 2006-01-19  Simon Josefsson  <jas@extundo.com>
48526
48527         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
48528
48529 2006-01-19  Simon Josefsson  <jas@extundo.com>
48530
48531         * gnulib-tool: Set check_PROGRAMS.
48532
48533         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48534         modules/des-tests, modules/gc-arcfour-tests,
48535         modules/gc-arctwo-tests, modules/gc-des-tests,
48536         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48537         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48538         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48539         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48540         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48541         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
48542         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
48543         test_*_SOURCES.
48544
48545 2006-01-18  Simon Josefsson  <jas@extundo.com>
48546
48547         * modules/socklen (Depends-on): Depend on sys_socket.
48548
48549 2006-01-18  Simon Josefsson  <jas@extundo.com>
48550
48551         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
48552         modules/des-tests, modules/gc-arcfour-tests,
48553         modules/gc-arctwo-tests, modules/gc-des-tests,
48554         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
48555         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
48556         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
48557         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
48558         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
48559         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
48560         $(EXEEXT) to automake TESTS variable, for mingw32.
48561
48562 2006-01-17  Simon Josefsson  <jas@extundo.com>
48563
48564         * modules/socklen (Include): Need sys/socket.h.
48565
48566 2006-01-17  Bruno Haible  <bruno@clisp.org>
48567
48568         * modules/ssize_t (Include): Add <sys/types.h>.
48569
48570 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
48571
48572         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
48573         it's not portable and it doesn't work with cross-compiles.
48574         Problem reported by Bruno Haible.  Fix missing-$ typo in
48575         'test "gl_cv_ignore_unused_libraries" ...' that prevented
48576         -zignore from being used with Sun's C compiler.
48577
48578 2006-01-12  Simon Josefsson  <jas@extundo.com>
48579
48580         * lib/base64.c: Fix warning, reported by Bruno Haible
48581         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
48582
48583 2006-01-12  Bruno Haible  <bruno@clisp.org>
48584
48585         * modules/ldd: New file.
48586         * build-aux/ldd.sh.in: New file.
48587         * MODULES.html.sh (Support for building libraries and executables): Add
48588         ldd.
48589
48590 2006-01-12  Bruno Haible  <bruno@clisp.org>
48591
48592         * m4/ldd.m4: New file.
48593
48594 2006-01-12  Bruno Haible  <bruno@clisp.org>
48595
48596         * gnulib-tool (func_import, func_create_testdir): Don't go into an
48597         endless loop while replacing $auxdir with build-aux.
48598
48599 2006-01-11  Simon Josefsson  <jas@extundo.com>
48600
48601         * lib/stdint_.h (SIZE_MAX): Add missing (.
48602
48603 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
48604
48605         Sync from coreutils.
48606         * lib/md5.c: Fix commentary typos.
48607         (alignof, UNALIGNED_P): No need for a GCC-specific version.
48608         * lib/md5.h (__attribute__): Remove; unused.
48609         * lib/sha1.c: Fix commentary to match md5 better.
48610         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
48611         so that we don't need to worry about alignment.  All uses changed.
48612         This merges the 2005-10-28 md5 change into sha1.
48613
48614 2006-01-11  Jim Meyering  <jim@meyering.net>
48615
48616         Sync from coreutils.
48617         * lib/md5.c (OP): Fix spacing.
48618
48619 2006-01-11  Bruno Haible  <bruno@clisp.org>
48620
48621         Ensure automatic ordering between gl_LOCK and gl_ARGP.
48622         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
48623         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
48624
48625 2006-01-11  Bruno Haible  <bruno@clisp.org>
48626
48627         Ensure automatic ordering between gl_LOCK and gl_ARGP.
48628         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
48629         the "early" section as well.
48630
48631 2006-01-11  Bruno Haible  <bruno@clisp.org>
48632
48633         Avoid "ar: no archive members specified" error on MacOS X.
48634         * gnulib-tool (func_modules_add_dummy): New function.
48635         (func_import, func_create_testdir): Invoke it.
48636
48637 2006-01-11  Bruno Haible  <bruno@clisp.org>
48638
48639         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
48640         with $auxdir in AC_CONFIG_FILES statements.
48641
48642 2006-01-11  Bruno Haible  <bruno@clisp.org>
48643
48644         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48645         Initialize also noinst_HEADERS to empty.
48646
48647 2006-01-11  Bruno Haible  <bruno@clisp.org>
48648
48649         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
48650         variables.
48651         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
48652         autoreconf.
48653
48654 2006-01-11  Bruno Haible  <bruno@clisp.org>
48655
48656         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
48657         overridable by the user.
48658         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48659
48660 2006-01-10  Simon Josefsson  <jas@extundo.com>
48661
48662         * modules/sys_socket: New file.
48663
48664 2006-01-10  Simon Josefsson  <jas@extundo.com>
48665
48666         * m4/sys_socket_h.m4: New file.
48667
48668 2006-01-10  Simon Josefsson  <jas@extundo.com>
48669
48670         * lib/socket_.h: New file.
48671
48672 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48673
48674         * modules/readutmp (Maintainer): Add myself.
48675
48676 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48677
48678         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
48679         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
48680         People who are still concerned with buggy memcmp implementations
48681         can invoke gl_FUNC_MEMCMP themselves.
48682
48683 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48684
48685         * lib/regex_internal.h (BITSET_WORD_BITS):
48686         Work around a bug in 64-bit PGC (before version 6.1-2), where the
48687         preprocessor mishandles large unsigned values as if they were signed.
48688         Problem reported by Claudio Fontana in
48689         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
48690
48691 2006-01-10  Jim Meyering  <jim@meyering.net>
48692
48693         Avoid the double-free (first in fts_read, second in fts_close) that
48694         would occur when an `active' directory is made inaccessible (e.g.,
48695         via chmod a-x) during a traversal.
48696         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
48697         before returning.  Reproduce this failure by
48698         mkdir -p a/b; cd a; chmod a-x . b
48699         Reported by Stavros Passas.
48700
48701         Sync from coreutils.
48702         * lib/sha1.c: Tweak grammar in a comment.
48703
48704 2006-01-10  Jim Meyering  <jim@meyering.net>
48705
48706         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
48707         Patch by Joerg Sonnenberger.
48708
48709 2006-01-10  Bruno Haible  <bruno@clisp.org>
48710
48711         * modules/readutmp: Depend on module free.
48712         * modules/strtok_r: Depend on module restrict.
48713
48714 2006-01-10  Bruno Haible  <bruno@clisp.org>
48715
48716         * modules/gettext (configure.ac): Add an invocation of
48717         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
48718
48719 2006-01-10  Bruno Haible  <bruno@clisp.org>
48720
48721         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
48722         Reported by Werner Lemberg <wl@gnu.org>.
48723
48724 2006-01-10  Bruno Haible  <bruno@clisp.org>
48725
48726         * lib/localcharset.c: Update from GNU gettext.
48727
48728 2006-01-10  Bruno Haible  <bruno@clisp.org>
48729
48730         * lib/argp.h (__const): Remove macro. Use const instead.
48731         * lib/argp-fmtstream.h (__const): Likewise.
48732         * lib/glob_.h (__const): Remove macro.
48733         * lib/glob-libc.h: Use const instead of __const.
48734
48735 2006-01-10  Bruno Haible  <bruno@clisp.org>
48736
48737         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
48738         variable.
48739         Needed to avoid an automake error regarding the 'gettext' module.
48740
48741 2006-01-09  Simon Josefsson  <jas@extundo.com>
48742
48743         * modules/inet_ntop (Depends-on): Add restrict.
48744
48745 2006-01-09  Simon Josefsson  <jas@extundo.com>
48746
48747         * modules/gc-rijndael-tests (License): Put under LGPL.
48748
48749         * modules/gc-des-tests (License): Likewise.
48750
48751         * modules/gc-arcfour-tests (License): Likewise.
48752
48753         * modules/gc-arctwo-tests (License): Likewise.
48754
48755         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
48756
48757         * modules/gc-hmac-sha1-tests (Files): Likewise.
48758
48759         * modules/gc-hmac-md5-tests (License): Likewise.
48760
48761         * modules/gc-sha1-tests (License): Likewise.
48762
48763         * modules/gc-md5-tests (License): Likewise.
48764
48765         * modules/gc-md4-tests (License): Likewise.
48766
48767         * modules/gc-md2-tests (License): Likewise.
48768
48769         * modules/gc-tests (License): Likewise.
48770
48771         * modules/des-tests (License): Likewise.
48772
48773         * modules/md4-tests (License): Likewise.
48774
48775         * modules/md2-tests (License): Likewise.
48776
48777 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48778
48779         Sync from coreutils:
48780
48781         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
48782         * modules/lib-ignore: New file.
48783         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
48784         chdir-safer.m4, lchmod.m4.
48785         * modules/openat: Add mkdirat.c, openat-priv.h.
48786
48787 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48788
48789         Sync from coreutils.
48790         * m4/lib-ignore.m4: New file.
48791         * m4/lchmod.m4: New file.
48792
48793 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48794
48795         Sync from coreutils.
48796         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
48797         for write access: POSIX says that must fail.
48798         * lib/fts.c (diropen): Likewise.
48799         * lib/save-cwd.c (save_cwd): Likewise.
48800         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
48801         well, for minor improvements on hosts that lack O_DIRECTORY.
48802         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
48803         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
48804         Fall back on chown if open failed with EACCES.
48805
48806         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
48807         Report an error at compile-time if only a 1-second nominal clock
48808         resolution is found.
48809
48810         * lib/lchmod.h: New file.
48811         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
48812         (make_dir_parents): Use lchown rather than chown, and
48813         lchmod rather than chmod.
48814
48815         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
48816         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
48817         "proc" reported by n0dalus.
48818
48819         * lib/mountlist.c: Include <limits.h>.
48820         (dev_from_mount_options)
48821         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
48822         New function.  It no longer assumes "dev=" has the System V meaning
48823         on Linux (since it doesn't).  It also parses "dev=" more carefully.
48824         (read_file_system_list)
48825         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
48826         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
48827         dev= in that case.
48828
48829         * lib/posixtm.h (PDS_PRE_2000): New macro.
48830         * lib/posixtm.c (year): Arg is now syntax_bits rather than
48831         allow_century.  All usages changed.  Reject dates outside the range
48832         1969-1999 if PDS_PRE_2000 is used.
48833
48834 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48835
48836         Sync from coreutils.
48837         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
48838         (Time of day items): Mention the possibility of leap seconds.
48839         Problem reported by Dr. David Alan Gilbert.
48840
48841 2006-01-09  Jim Meyering  <jim@meyering.net>
48842
48843         Sync from coreutils.
48844
48845         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
48846
48847         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
48848
48849         * lib/modechange.c (mode_compile): Reject an invalid mode string
48850         that starts with an octal digit.  From Andreas Gruenbacher.
48851
48852         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
48853         and dup to open_safer and dup_safer, respectively.
48854         (openat_permissive): Fix typo in comment.
48855
48856         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
48857         "gettext.h"; either no longer needed or are guaranteed by openat.h.
48858         (_): Remove; no longer needed.
48859         (openat): Renamed from rpl_openat; no need for rpl_openat
48860         since openat.h renames openat for us.
48861         Replace most of the body with a call to openat_permissive,
48862         to avoid duplicate code.
48863         Port to (probably hypothetical) environments were mode_t is
48864         wider than int.
48865         (openat_permissive): Require mode arg, so that we can check
48866         types better.  Put it just after flags.  Change cwd failure
48867         indicator from pointer-to-bool to pointer-to-errno-value.
48868         All callers changed.
48869         Invoke openat_save_fail and/or openat_restore_fail if
48870         cwd_errno is null, so that openat can call us.
48871         (openat_permissive, fdopendir, fstatat, unlinkat):
48872         Simplify errno handling to avoid some duplicate code,
48873         as it's OK to set errno on success.
48874         * lib/openat.h: Revamp code so that function macros depend on
48875         __OPENAT_PREFIX only, not also on AT_FDCWD.
48876         (openat_ro): Remove.  Caller changed to use openat_permissive.
48877         (openat_permissive): Now a macro, if not a function.
48878         (openat_restore_fail, openat_save_fail): Now always functions,
48879         since mkdirat needs them even if __OPENAT_PREFIX is defined.
48880
48881         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
48882         and openat.c.
48883         * lib/mkdirat.c: Include openat-priv.h.
48884         Remove definitions of macros defined therein.
48885         * lib/openat.c: Likewise.
48886
48887         * lib/mkdirat.c (mkdirat): New file and function.
48888         * lib/openat.h (mkdirat): Declare.
48889
48890         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
48891
48892         * lib/openat.h (openat_permissive): Declare.
48893         (openat_ro): Define.
48894
48895         * lib/openat.c (EXPECTED_ERRNO): New macro.
48896         (openat_permissive): New function -- used in remove.c rewrite.
48897         (all functions): Set errno just before returning, only if there
48898         was an actual failure.
48899         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
48900
48901         Emulate openat-family functions using Linux's procfs, if possible.
48902         Idea and some code based on Ulrich Drepper's glibc changes.
48903
48904         * lib/openat.c: (BUILD_PROC_NAME): New macro.
48905         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
48906         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
48907         before falling back on save_cwd and restore_cwd.
48908         (fdopendir, fstatat, unlinkat): Likewise.
48909
48910         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
48911         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
48912
48913         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
48914         as second argument to va_arg.  Otherwise, some versions of gcc
48915         warn that `if this code is reached, the program will abort'.
48916
48917 2006-01-09  Jim Meyering  <jim@meyering.net>
48918
48919         Sync from coreutils.
48920         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
48921         Require openat-priv.h.
48922
48923 2006-01-09  Bruno Haible  <bruno@clisp.org>
48924
48925         * modules/strnlen (Include): Use strnlen.h.
48926
48927 2006-01-09  Bruno Haible  <bruno@clisp.org>
48928
48929         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
48930
48931 2006-01-09  Bruno Haible  <bruno@clisp.org>
48932
48933         * lib/sysexit_.h (EX_OK): New macro.
48934         Suggested by Martin Lambers <marlam@marlam.de>.
48935
48936 2006-01-09  Bruno Haible  <bruno@clisp.org>
48937
48938         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
48939         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
48940
48941 2006-01-09  Bruno Haible  <bruno@clisp.org>
48942
48943         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
48944         numbers.
48945
48946 2006-01-09  Bruno Haible  <bruno@clisp.org>
48947
48948         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
48949         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
48950         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
48951         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
48952
48953 2006-01-09  Bruno Haible  <bruno@clisp.org>
48954
48955         * build-aux/javacomp.sh.in: New file, moved from lib/.
48956         * modules/javacomp-script (Files): Update.
48957         (configure.ac): Add AC_CONFIG_FILES invocation.
48958         (EXTRA_DIST): Remove variable.
48959
48960         * build-aux/javaexec.sh.in: New file, moved from lib/.
48961         * modules/javaexec (Files): Update.
48962         (configure.ac): Add AC_CONFIG_FILES invocation.
48963         (EXTRA_DIST): Remove javaexec.sh.in.
48964
48965         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
48966         * modules/csharpcomp-script (Files): Update.
48967         (configure.ac): Add AC_CONFIG_FILES invocation.
48968         (EXTRA_DIST): Remove variable.
48969
48970         * build-aux/csharpexec.sh.in: New file, moved from lib/.
48971         * modules/csharpexec (Files): Update.
48972         (configure.ac): Add AC_CONFIG_FILES invocation.
48973         (EXTRA_DIST): Remove csharpexec.sh.in.
48974
48975 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
48976
48977         Sync from coreutils.
48978
48979         Add POSIX ACL support
48980         * lib/acl.h (copy_acl, set_acl): Add declarations.
48981         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
48982         systems other than Linux.
48983         (chmod_or_fchmod): New function: use fchmod when possible,
48984         and chmod otherwise.
48985         (file_has_acl): Add a POSIX ACL implementation, with a
48986         Linux-specific subcase.
48987         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
48988         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
48989         acls are unsupported.
48990         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
48991         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
48992         are unsupported.
48993
48994 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
48995
48996         Sync from coreutils.
48997         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
48998
48999 2006-01-07  Bruno Haible  <bruno@clisp.org>
49000
49001         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
49002         gl_EARLY.
49003
49004 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49005
49006         * lib/strftime.c (tzname): Don't declare if it is already #defined.
49007         Problem reported for Mingw by Mark Junker.
49008
49009 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49010
49011         * README: Gnulib normally doesn't generate a tarball.
49012
49013 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
49014
49015         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
49016         long int, not int, for nanosecond counts, so that people who are
49017         used to POSIX struct timespec won't be surprised.  Reported by Jim
49018         Meyering.
49019
49020 2005-12-28  Bruno Haible  <bruno@clisp.org>
49021
49022         * build-aux/config.rpath: Update from GNU gettext.
49023
49024 2005-12-16  Jim Meyering  <jim@meyering.net>
49025
49026         * modules/fprintftime: New module.
49027         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
49028
49029 2005-12-16  Jim Meyering  <jim@meyering.net>
49030
49031         * m4/fprintftime.m4: New file.
49032
49033 2005-12-16  Jim Meyering  <jim@meyering.net>
49034
49035         * lib/fprintftime.c, lib/fprintftime.h: New files.
49036
49037 2005-12-15  Simon Josefsson  <jas@extundo.com>
49038
49039         * modules/socklen (configure.ac): Fix M4 macro name, to align with
49040         new m4/socklen.m4.
49041
49042 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49043
49044         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
49045         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
49046
49047 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49048
49049         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
49050         * lib/argp-help.c (fill_in_uparams): Check if the constructed
49051         struct uparams is valid. Fall back to the default values if it is
49052         not.
49053
49054 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49055
49056         * modules/argp (Files): Add argp-pin.c
49057         (Depends-on): dirname
49058         (lib_SOURCES): Add argp-pin.c
49059
49060 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49061
49062         * m4/argp.m4:  Check if program_invocation_name and
49063         program_invocation_short_name are declared and define appropriate
49064         macros if they are not.
49065
49066 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49067
49068         * lib/argp-help.c (__argp_base_name): New function
49069         (__argp_short_program_name): Rewrite using __argp_base_name
49070         * lib/argp-namefrob.h: Define program_invocation_name and
49071         program_invocation_short_name if requested
49072         (__argp_base_name): Add prototype
49073         * lib/argp-parse.c (argp_def): Use gettext wrappers
49074         (argp_default_parser): Use __argp_base_name
49075         * lib/argp-pin.c: New file. Defines program_invocation_name and
49076         program_invocation_short_name on systems that lack them.
49077
49078 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49079
49080         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
49081         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49082         porting problem reported by Georg Schwarz in
49083         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49084
49085 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
49086
49087         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
49088         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
49089         porting problem reported by Georg Schwarz in
49090         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
49091
49092 2005-12-05  Bruno Haible  <bruno@clisp.org>
49093
49094         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
49095         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
49096         Reported by Mark Junker <mjscod@gmx.de>.
49097
49098 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
49099
49100         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
49101         Use implementation from Albert Chin, with some
49102         comments/corrections by Stepan Kasal and myself.
49103
49104 2005-12-02  Bruno Haible  <bruno@clisp.org>
49105
49106         * gnulib-tool (func_import): Accept GPLed build tool modules when
49107         --lgpl is given.
49108         * modules/csharpcomp-script: New file.
49109         * modules/csharpcomp: Depend on it.
49110         * modules/javacomp-script: New file.
49111         * modules/javacomp: Depend on it.
49112         Suggested by Simon Josefsson.
49113
49114 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
49115
49116         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
49117         statement, to work around an HP-UX 10.20 compiler bug reported by
49118         Peter O'Gorman.
49119
49120 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49121
49122         * modules/savedir (Depends-on): Add openat.
49123
49124 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
49125
49126         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
49127         (uintmax_t) [defined uintmax_t]: Do not declare.
49128         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
49129         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
49130         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
49131         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
49132         sake of portability to weird hosts that C allows (though we don't
49133         know of any practical examples).
49134
49135         * lib/savedir.h (fdsavedir): New decl.
49136         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
49137         contains most of the former guts of savedir.
49138         (savedir): Use savedirstream.
49139         Include "openat.h".
49140
49141 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
49142
49143         * modules/obstack (Files): Add m4/ulonglong.m4.
49144         Problem reported by Davide Angelocola.
49145
49146 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49147
49148         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
49149         coreutils no longer futzes with rounding modes.
49150
49151 2005-11-14  Jim Meyering  <jim@meyering.net>
49152
49153         * lib/mkstemp-safer.c: Include <config.h>, required for possible
49154         replacement of mkstemp.
49155
49156 2005-11-10  Simon Josefsson  <jas@extundo.com>
49157
49158         * lib/readline.c: Remove EOL.
49159
49160 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49161
49162         * modules/gethrxtime (Depends-on): Add gettime.
49163
49164 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49165
49166         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
49167         or gettimeofday; no longer needed.
49168
49169 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
49170
49171         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
49172         time business.
49173         (gethrxtime) [! (HAVE_NANOUPTIME
49174         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
49175         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
49176         our own approximation.
49177
49178 2005-11-08  Eric Blake  <ebb9@byu.net>
49179
49180         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49181
49182 2005-11-08  Eric Blake  <ebb9@byu.net>
49183
49184         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
49185
49186 2005-11-04  Bruno Haible  <bruno@clisp.org>
49187
49188         * gnulib-tool: Implement --update mode.
49189
49190 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49191
49192         Fix porting problem reported by Theodoros V. Kalamatianos.
49193         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
49194         Don't assume that futimes failing means we must fail.
49195
49196 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
49197
49198         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
49199         variables to suggest the intended function of the PATH_MAX check.
49200
49201 2005-10-30  Kean Johnston  <jkj@sco.com>
49202
49203         Trivial changes to support SCO systems.
49204         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
49205         as PATH_MAX.
49206         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
49207         where __ptr is null when no I/O is pending.
49208
49209 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
49210
49211         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
49212         leave errno alone.  Problem reported by Dmitry V. Levin.
49213
49214 2005-10-28  Simon Josefsson  <jas@extundo.com>
49215
49216         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
49217         Test more.
49218
49219         * tests/test-gc-md2.c, tests/test-md2.c: New files.
49220
49221         * modules/md2, modules/md2-tests: New files.
49222
49223 2005-10-28  Simon Josefsson  <jas@extundo.com>
49224
49225         * m4/inet_ntop.m4: More tests.
49226
49227         * m4/gc-md2.m4, md2.m4: New file.
49228
49229 2005-10-28  Simon Josefsson  <jas@extundo.com>
49230
49231         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
49232         "restrict" keywords, as per POSIX.  Protect the function
49233         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
49234         Don't use K&R prototypes.  Check the sprintf return values.
49235         Re-define EAFNOSUPPORT if not present.  Indent.
49236
49237         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
49238         suggested by Bruno Haible <bruno@clisp.org>.
49239
49240         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
49241
49242         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
49243
49244         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
49245         libgcrypt).
49246
49247         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
49248
49249         * lib/md2.h, lib/md2.c: New files.
49250
49251 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
49252
49253         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
49254         errno alone.  Problem reported by Frederic Jolliton.
49255
49256 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49257
49258         * modules/verify (License): Change from GPL to LGPL.  This is a
49259         tiny module and there are apparently near-equivalents that are
49260         under the BSD license.
49261
49262 2005-10-24  Simon Josefsson  <jas@extundo.com>
49263
49264         * modules/sha1: Relicense to LGPL.
49265
49266 2005-10-24  Simon Josefsson  <jas@extundo.com>
49267
49268         * lib/md4.h: Shrink buffer size, now that we changed the type.
49269
49270 2005-10-23  Simon Josefsson  <jas@extundo.com>
49271
49272         * gnulib-tool (func_import): Fix --tests-base.
49273
49274 2005-10-22  Simon Josefsson  <jas@extundo.com>
49275
49276         * modules/arcfour (Depends-on): Need stdint.
49277
49278 2005-10-22  Simon Josefsson  <jas@extundo.com>
49279
49280         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
49281         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
49282
49283 2005-10-22  Simon Josefsson  <jas@extundo.com>
49284
49285         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
49286         suggested by Bruno Haible <bruno@clisp.org>.
49287
49288 2005-10-22  Simon Josefsson  <jas@extundo.com>
49289
49290         * lib/crc.h: Include stddef.h, for size_t.
49291
49292 2005-10-22  Simon Josefsson  <jas@extundo.com>
49293
49294         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
49295         arcfour_context struct (simplify test vector testing in GNU
49296         Shishi).
49297
49298 2005-10-21  Simon Josefsson  <jas@extundo.com>
49299
49300         * modules/des, modules/des-tests: New files.
49301
49302         * modules/gc-des, modules/gc-des-tests: New files.
49303
49304         * tests/test-des.c, tests/test-gc-des.c: New file.
49305
49306 2005-10-21  Simon Josefsson  <jas@extundo.com>
49307
49308         * modules/arctwo, modules/arctwo-tests: New files.
49309
49310         * tests/test-arctwo.c: New file.
49311
49312         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
49313
49314         * tests/test-gc-arctwo.c: New file.
49315
49316 2005-10-21  Simon Josefsson  <jas@extundo.com>
49317
49318         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
49319         Bruno Haible <bruno@clisp.org>.
49320
49321         * m4/gc-des.m4: New file.
49322
49323 2005-10-21  Simon Josefsson  <jas@extundo.com>
49324
49325         * m4/arctwo.m4: New file.
49326
49327         * m4/gc-arctwo.m4: New file.
49328
49329 2005-10-21  Simon Josefsson  <jas@extundo.com>
49330
49331         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
49332         block.
49333
49334 2005-10-21  Simon Josefsson  <jas@extundo.com>
49335
49336         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
49337         <bruno@clisp.org>.
49338
49339         * lib/hmac-sha1.c (hmac_sha1): Likewise.
49340
49341         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
49342         Bruno Haible <bruno@clisp.org>.
49343
49344         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
49345         <bruno@clisp.org>.
49346
49347 2005-10-21  Simon Josefsson  <jas@extundo.com>
49348
49349         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
49350
49351 2005-10-21  Simon Josefsson  <jas@extundo.com>
49352
49353         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
49354
49355 2005-10-21  Simon Josefsson  <jas@extundo.com>
49356
49357         * lib/des.h, lib/des.c: New files.
49358
49359         * lib/gc-gnulib.c: Support DES.c
49360
49361 2005-10-21  Simon Josefsson  <jas@extundo.com>
49362
49363         * lib/arctwo.h, lib/arctwo.c: New files.
49364
49365         * lib/gc-gnulib.c: Support ARCTWO.
49366
49367 2005-10-21  Simon Josefsson  <jas@extundo.com>
49368
49369         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
49370         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49371
49372 2005-10-21  Simon Josefsson  <jas@extundo.com>
49373
49374         * gnulib-tool (func_import, func_create_testdir): Define automake
49375         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
49376         Makefile.am snippet),
49377         suggested by Bruno Haible <bruno@clisp.org>.
49378
49379         * modules/gc (Makefile.am): Use it.
49380
49381 2005-10-21  Bruno Haible  <bruno@clisp.org>
49382
49383         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
49384         patch.
49385
49386 2005-10-19  Simon Josefsson  <jas@extundo.com>
49387
49388         * tests/test-gc-rijndael.c: New file.
49389
49390         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
49391
49392 2005-10-19  Simon Josefsson  <jas@extundo.com>
49393
49394         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
49395         interface too.
49396
49397 2005-10-19  Simon Josefsson  <jas@extundo.com>
49398
49399         * tests/test-gc-arcfour.c: New file.
49400
49401         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
49402
49403 2005-10-19  Simon Josefsson  <jas@extundo.com>
49404
49405         * modules/gc-md4, modules/gc-md4-tests: New file.
49406
49407         * tests/test-gc-md4.c: New file.
49408
49409 2005-10-19  Simon Josefsson  <jas@extundo.com>
49410
49411         * m4/gc-md4.m4: New file.
49412
49413 2005-10-19  Simon Josefsson  <jas@extundo.com>
49414
49415         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
49416         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
49417         <kasal@ucw.cz>.
49418
49419 2005-10-19  Simon Josefsson  <jas@extundo.com>
49420
49421         * m4/gc-arcfour.m4: New file.
49422
49423         * m4/gc-rijndael.m4: New file.
49424
49425 2005-10-19  Simon Josefsson  <jas@extundo.com>
49426
49427         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
49428
49429 2005-10-19  Simon Josefsson  <jas@extundo.com>
49430
49431         * lib/gc-gnulib.c: Support ARCFOUR.
49432
49433 2005-10-19  Simon Josefsson  <jas@extundo.com>
49434
49435         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
49436         support.
49437
49438         * lib/gc.h: Add ECB enum type.
49439
49440         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
49441
49442 2005-10-18  Simon Josefsson  <jas@extundo.com>
49443
49444         * tests/test-md5.c: New file.
49445
49446         * modules/md5-tests: New file.
49447
49448 2005-10-18  Simon Josefsson  <jas@extundo.com>
49449
49450         * tests/test-md4.c: New file.
49451
49452         * modules/md4, modules/md4-tests: New files.
49453
49454 2005-10-18  Simon Josefsson  <jas@extundo.com>
49455
49456         * m4/md4.m4: New file.
49457
49458 2005-10-18  Simon Josefsson  <jas@extundo.com>
49459
49460         * lib/md4.h, lib/md4.c: New files, based on md5.?.
49461
49462 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
49463
49464         * gnulib-tool (func_create_testdir): Omit the second check whether
49465         BUILT_SOURCES in nonempty.
49466
49467 2005-10-17  Simon Josefsson  <jas@extundo.com>
49468
49469         * tests/test-rijndael.c: New file.
49470
49471 2005-10-17  Simon Josefsson  <jas@extundo.com>
49472
49473         * modules/sha1: Depend on stdint instead of md5.
49474
49475         * modules/md5: Depend on stdint, remove uint32_t.
49476
49477 2005-10-17  Simon Josefsson  <jas@extundo.com>
49478
49479         * modules/gc-sha1-tests: New file.
49480
49481         * tests/test-gc-sha1.c: New file.
49482
49483 2005-10-17  Simon Josefsson  <jas@extundo.com>
49484
49485         * m4/md5.m4: Remove call to uint32_t.m4.
49486
49487 2005-10-17  Simon Josefsson  <jas@extundo.com>
49488
49489         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
49490
49491         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
49492         md5.h.
49493
49494         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
49495
49496         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
49497
49498 2005-10-17  Simon Josefsson  <jas@extundo.com>
49499
49500         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
49501
49502 2005-10-17  Simon Josefsson  <jas@extundo.com>
49503
49504         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
49505
49506 2005-10-17  Simon Josefsson  <jas@extundo.com>
49507
49508         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
49509
49510         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
49511
49512 2005-10-17  Bruno Haible  <bruno@clisp.org>
49513
49514         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
49515         that it can also be used in a test.
49516
49517 2005-10-16  Bruno Haible  <bruno@clisp.org>
49518
49519         * gnulib-tool (func_emit_tests_Makefile_am): Also define
49520         TESTS_ENVIRONMENT, so that individual tests can augment it.
49521
49522         * gnulib-tool (func_create_testdir): Use an intermediate target for
49523         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
49524         macros, like $(ALLOCA_H), which cannot be passed through the command
49525         line.
49526
49527 2005-10-15  Simon Josefsson  <jas@extundo.com>
49528
49529         * modules/rijndael-tests: New file.
49530
49531         * modules/rijndael: New file.
49532
49533 2005-10-15  Simon Josefsson  <jas@extundo.com>
49534
49535         * m4/rijndael.m4: New file.
49536
49537 2005-10-15  Simon Josefsson  <jas@extundo.com>
49538
49539         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
49540
49541         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
49542
49543 2005-10-14  Simon Josefsson  <jas@extundo.com>
49544
49545         * tests/test-arcfour.c: New file.
49546
49547         * modules/arcfour, modules/arcfour-tests: New files.
49548
49549 2005-10-14  Simon Josefsson  <jas@extundo.com>
49550
49551         * m4/arcfour.m4: New file.
49552
49553 2005-10-14  Simon Josefsson  <jas@extundo.com>
49554
49555         * lib/arcfour.h, lib/arcfour.c: New files.
49556
49557 2005-10-14  Roland McGrath  <roland@redhat.com>
49558
49559         Import from libc.  [BZ #1331]
49560         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
49561         macro argument.
49562         Reported by Matej Vela <vela@debian.org>.
49563
49564 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49565
49566         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
49567         include <wchar.h>; no longer needed.
49568
49569 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49570
49571         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
49572
49573 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
49574         and  Ulrich Drepper  <drepper@redhat.com>
49575
49576         Import from libc.
49577         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
49578         instead of inline stream orientation test and two separate
49579         function calls.  Pay no attention to USE_IN_LIBIO.
49580
49581 2005-10-13  Simon Josefsson  <jas@extundo.com>
49582
49583         * modules/gc-hmac-md5-tests: New file.
49584
49585         * tests/test-gc-hmac-sha1.c: New file.
49586
49587         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
49588
49589         * modules/gc-hmac-md5-tests: New file.
49590
49591         * tests/test-gc-md5.c: New file.
49592
49593         * modules/gc-md5-tests: New file.
49594
49595 2005-10-13  Simon Josefsson  <jas@extundo.com>
49596
49597         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
49598         Move memory allocation outside of loop.
49599
49600 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
49601
49602         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
49603         intermediate directory is in a read-only file system.  Problem
49604         reported by Eric Blake.
49605
49606 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
49607
49608         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
49609
49610 2005-10-12  Simon Josefsson  <jas@extundo.com>
49611
49612         * tests/test-hmac-sha1.c: New file.
49613
49614         * modules/hmac-sha1-tests: New file.
49615
49616         * modules/hmac-sha1: New file.
49617
49618 2005-10-12  Simon Josefsson  <jas@extundo.com>
49619
49620         * modules/gc-sha1: New file.
49621
49622 2005-10-12  Simon Josefsson  <jas@extundo.com>
49623
49624         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
49625
49626         * tests/test-gc-pbkdf2-sha1.c: New file.
49627
49628 2005-10-12  Simon Josefsson  <jas@extundo.com>
49629
49630         * modules/gc-md5, modules/gc-hmac-md5: New files.
49631
49632         * modules/gc (Files): Remove md5, memxor and hmac files.
49633
49634 2005-10-12  Simon Josefsson  <jas@extundo.com>
49635
49636         * m4/gc-pbkdf2-sha1.m4: New file.
49637
49638         * m4/gc-hmac-sha1.m4: New file.
49639
49640         * m4/gc-sha1: New file.
49641
49642         * m4/hmac-sha1.m4: New file.
49643
49644 2005-10-12  Simon Josefsson  <jas@extundo.com>
49645
49646         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
49647
49648         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
49649
49650 2005-10-12  Simon Josefsson  <jas@extundo.com>
49651
49652         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
49653         suggested by Bruno Haible <bruno@clisp.org>.
49654
49655 2005-10-12  Simon Josefsson  <jas@extundo.com>
49656
49657         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
49658
49659 2005-10-12  Simon Josefsson  <jas@extundo.com>
49660
49661         * lib/gc-pbkdf2-sha1.c: New file.
49662
49663         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
49664
49665 2005-10-12  Simon Josefsson  <jas@extundo.com>
49666
49667         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
49668
49669         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
49670
49671 2005-10-12  Simon Josefsson  <jas@extundo.com>
49672
49673         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
49674         GC_USE_HMAC_MD5, respectively.
49675
49676         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
49677         (gc_md5): Fix typo.
49678
49679         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
49680
49681         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
49682
49683         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
49684
49685 2005-10-12  Bruno Haible  <bruno@clisp.org>
49686
49687         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
49688         Reported by Stepan Kasal <kasal@ucw.cz>.
49689
49690 2005-10-11  Simon Josefsson  <jas@extundo.com>
49691
49692         * tests/test-crc.c: New file.
49693
49694         * modules/crc, modules/crc-tests: New files.
49695
49696 2005-10-11  Simon Josefsson  <jas@extundo.com>
49697
49698         * m4/crc.m4: New file.
49699
49700 2005-10-11  Simon Josefsson  <jas@extundo.com>
49701
49702         * lib/gc.h: Add gc_hash and gc_hash_buffer.
49703
49704         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
49705
49706         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
49707
49708 2005-10-11  Simon Josefsson  <jas@extundo.com>
49709
49710         * lib/crc.h, lib/crc.c: New files.
49711
49712         * lib/gc.h (gc_hash_buffer): Add doc.
49713
49714 2005-10-11  Bruno Haible  <bruno@clisp.org>
49715
49716         * modules/c-strcasestr: New file.
49717         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
49718
49719 2005-10-11  Bruno Haible  <bruno@clisp.org>
49720
49721         * modules/c-strcase: New file.
49722         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
49723
49724 2005-10-11  Bruno Haible  <bruno@clisp.org>
49725
49726         * lib/strcasecmp.c: Include limits.h.
49727         (strcasecmp): Avoid integer overflow on exotic platforms.
49728         * lib/strncasecmp.c: Include limits.h.
49729         (strncasecmp): Avoid integer overflow on exotic platforms.
49730         Reported by Paul Eggert.
49731
49732 2005-10-11  Bruno Haible  <bruno@clisp.org>
49733
49734         * lib/c-strcasestr.h: New file, from GNU gettext.
49735         * lib/c-strcasestr.c: New file, from GNU gettext.
49736
49737 2005-10-11  Bruno Haible  <bruno@clisp.org>
49738
49739         * lib/c-strcase.h: New file, from GNU gettext.
49740         * lib/c-strcasecmp.c: New file, from GNU gettext.
49741         * lib/c-strncasecmp.c: New file, from GNU gettext.
49742
49743 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
49744
49745         * modules/mempcpy (License): GPL -> LGPL.
49746         * modules/strchrnul (License): Likewise.
49747         * modules/sysexits (License): Likewise.
49748
49749 2005-10-08  Simon Josefsson  <jas@extundo.com>
49750
49751         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
49752
49753 2005-10-07  Simon Josefsson  <jas@extundo.com>
49754
49755         * m4/memxor.m4: Remove gl_C_RESTRICT call.
49756
49757 2005-10-06  Simon Josefsson  <jas@extundo.com>
49758
49759         * tests/test-hmac-md5.c: New file.
49760
49761         * modules/hmac-md5-tests: New file.
49762
49763         * modules/hmac-md5: New file.
49764
49765 2005-10-06  Simon Josefsson  <jas@extundo.com>
49766
49767         * m4/hmac-md5.m4: New file.
49768
49769         * m4/memxor.m4: Require gl_C_RESTRICT.
49770
49771 2005-10-06  Simon Josefsson  <jas@extundo.com>
49772
49773         * lib/memxor.c (memxor): Avoid casts and warnings.
49774
49775 2005-10-06  Simon Josefsson  <jas@extundo.com>
49776
49777         * lib/hmac-md5.c: New file.
49778
49779         * lib/hmac.h: New file.
49780
49781 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
49782
49783         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
49784         promotes to int, not unsigned int, to catch the AIX 5.3
49785         compiler bug.
49786
49787 2005-10-05  Simon Josefsson  <jas@extundo.com>
49788
49789         * modules/memxor: New file.
49790
49791         * modules/iconv (Files): Move config.rpath to havelib, it is used
49792         there.
49793
49794         * modules/havelib (Files): Add config.rpath.
49795
49796 2005-10-05  Simon Josefsson  <jas@extundo.com>
49797
49798         * m4/memxor.m4: New file.
49799
49800 2005-10-05  Simon Josefsson  <jas@extundo.com>
49801
49802         * lib/memxor.c (memxor): Fix compiler error.
49803
49804         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
49805         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
49806
49807         * lib/memxor.h, lib/memxor.c: New files.
49808
49809         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
49810         we assume all systems have it, suggested by Jim Meyering
49811         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
49812         any systems lack sys/socket.h; mingw32 is known to lack it, but we
49813         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
49814         same reasons.
49815
49816 2005-10-05  Simon Josefsson  <jas@extundo.com>
49817
49818         * config/srclist.txt: Add glibc bug 1423 for md5.h.
49819
49820 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
49821
49822         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
49823         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
49824         needed, since the source code now assumes these .h files.
49825
49826 2005-10-05  Derek Price  <derek@ximbiot.com>
49827
49828         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
49829
49830 2005-10-05  Bruno Haible  <bruno@clisp.org>
49831
49832         * modules/stdint (License): Change to LGPL.
49833
49834 2005-10-04  Simon Josefsson  <jas@extundo.com>
49835
49836         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
49837         D. Baushke" <mdb@gnu.org>.
49838
49839 2005-10-04  Bruno Haible  <bruno@clisp.org>
49840
49841         * lib/verify.h (verify_true): Provide alternative definition for C++.
49842
49843 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
49844
49845         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
49846         (SSIZE_MAX): New macro, if not already defined.
49847         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
49848         than 2 GiB.
49849
49850 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
49851
49852         Sync from coreutils.
49853         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
49854         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
49855         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
49856         ULLONG_MAX doesn't work with 2.7.2.1.
49857
49858 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
49859
49860         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
49861         From Ben Pfaff.
49862
49863         * modules/exclude (Depends-on): Depend on verify.
49864         * modules/strtoimax (Depends-on): Likewise.
49865         * modules/utimecmp (Depends-on): Likewise.
49866
49867 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
49868
49869         * lib/exclude.c: Include verify.h.
49870         (verify): Remove.  All callers changed to use verify.h's version.
49871         * lib/strtoimax.c: Likewise.
49872         * lib/utimecmp.c: Likewis.e
49873
49874         Sync from coreutils.
49875         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
49876         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
49877         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
49878         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
49879         bother returning ENOSYS if settimeofday or stime fails; just let
49880         them return whatever errno they want to return.
49881         * lib/utimens.c: Include unistd.h, for dup2.
49882         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
49883         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
49884
49885 2005-10-02  Jim Meyering  <jim@meyering.net>
49886
49887         Sync from coreutils.
49888         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
49889         from glibc-2.2.5 that fails for read-only files.
49890
49891 2005-10-02  Jim Meyering  <jim@meyering.net>
49892
49893         Sync from coreutils.
49894         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
49895         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
49896         `#if HAVE_CONFIG_H'.
49897         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
49898         Remove AT_FDCWD test.
49899         Do not consume the fd unless successful.
49900         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
49901         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
49902         block, so that we don't even try to compile it if settimeofday is
49903         available.  This works around a compilation failure on OSF1 V5.1,
49904         due to stime requiring a `long int*' while tv_sec is `int'.
49905
49906 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
49907
49908         Sync from coreutils.
49909         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
49910         against `yes', rather than just testing for nonempty.
49911
49912 2005-10-01  Simon Josefsson  <jas@extundo.com>
49913
49914         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
49915         and Darwin.
49916
49917         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
49918         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
49919         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
49920         freeaddrinfo and gai_strerror are declared by the POSIX headers.
49921         Check if struct addrinfo is declared.
49922
49923 2005-10-01  Simon Josefsson  <jas@extundo.com>
49924
49925         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
49926         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
49927         AI_* and EAI_* definitions.  Protect function declarations.
49928
49929 2005-10-01  Jim Meyering  <jim@meyering.net>
49930
49931         Sync from coreutils.
49932
49933         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
49934         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
49935         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
49936         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
49937         in the inet and nsl libraries.  Required on Solaris 5.7.
49938
49939 2005-10-01  Jim Meyering  <jim@meyering.net>
49940
49941         Sync from coreutils.
49942         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
49943         in the inet and nsl libraries.  Required on Solaris 5.7.
49944
49945 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
49946
49947         * lib/getdelim.c (getdelim): Remove unused variables.
49948
49949 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
49950
49951         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
49952         so that the code works even with ancient cpp.  Portability problem
49953         with GCC 2.7.2.1 reported by Thomas M.Ott.
49954
49955 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
49956
49957         * modules/regex (Depends-on): Add strcase.
49958
49959         * modules/gethostname (Licence): Change from GPL to LGPL, since
49960         gethostname.c is a trivial implementation of a standard library
49961         function.
49962         * modules/poll (License): Change from GPL to LGPL, since it's
49963         derived from LGPL code.
49964
49965 2005-09-27  Jim Meyering  <jim@meyering.net>
49966
49967         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
49968         HAVE_CONFIG_H.
49969
49970         * lib/intprops.h (signed_type_or_expr__): Define.
49971         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
49972         for unsigned types.
49973
49974 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
49975
49976         * lib/verify.h (verify_expr): Remove, replacing with:
49977         (verify_true): New macro that returns true instead of void.
49978         (verify_type__): Remove.
49979         (verify): Use verify_true rather than verify_type__.
49980
49981 2005-09-26  Bruno Haible  <bruno@clisp.org>
49982
49983         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
49984         is necessary.
49985         (lib_SOURCES): Remove mbchar.c.
49986         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
49987         (Files): Add m4/mbrtowc.m4.
49988         * modules/mbiter: Likewise.
49989         * modules/mbuiter: Likewise.
49990
49991 2005-09-26  Bruno Haible  <bruno@clisp.org>
49992
49993         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
49994         compile mbchar.c if they are not both present.
49995         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
49996         * m4/mbiter.m4 (gl_MBITER): Likewise.
49997         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
49998         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
49999         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
50000
50001 2005-09-25  Jim Meyering  <jim@meyering.net>
50002
50003         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
50004         also uses socklen_t.
50005
50006 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
50007
50008         * lib/utimens.c (ENOSYS): Define if not already defined.
50009         (futimens): Support having a null PATH if the file descriptor
50010         is nonnegative.
50011
50012         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
50013         Remove.
50014         (__attribute): Define to empty unless GCC 3.1 or later.
50015         This works around a core dump on OpenBSD 3.4, which has GCC
50016         2.95.3, which dumps core when given __attribute__(()).  It also
50017         simplifies other tests, since we really don't want to bother with
50018         worrying about which ancient version of GCC supported what.
50019         Original problem reported by Yoann Vandoorselaere, with part of
50020         the fix suggested by Derek Price.
50021
50022 2005-09-24  Jim Meyering  <jim@meyering.net>
50023
50024         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
50025         so we can once again use a positive bitfield width of 1 -- now we
50026         don't have to explain why we were using a bitfield width of 2.
50027
50028 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50029
50030         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
50031         and similarly for the other external symbols.  Problem reported
50032         by James Gallager.
50033
50034         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
50035         bug reported by Jim Meyering.
50036
50037         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
50038         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
50039         not needed, since socklen is a prerequisite module.
50040
50041 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
50042
50043         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
50044         Problem reported by Eric Blake.
50045         (getaddrinfo): Initialize se so that it's not garbage.
50046         Redo internal storage allocation so that it doesn't make unportable
50047         assumptions about alignment.
50048         Fix a memory leak.
50049
50050         * lib/utimens.c (futimens): Use futimesat if available.
50051         Prefer it to futimes since it doesn't have the futimes bug.
50052
50053         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
50054         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
50055         Instead, declare a function that returns a pointer to an array,
50056         and use verify_type__ to declare the size of the array.
50057         Problem and germ of a solution reported by Bruno Haible.
50058         (verify_type__): Use 2, not 1, for bitfield size, to avoid
50059         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
50060
50061 2005-09-23  Jim Meyering  <jim@meyering.net>
50062
50063         Sync from coreutils.
50064         Correct build failure (socklen_t not defined) on at least
50065         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
50066         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
50067
50068 2005-09-23  Jim Meyering  <jim@meyering.net>
50069
50070         * modules/getaddrinfo (Depends-on): Add socklen.
50071
50072 2005-09-23  Bruno Haible  <bruno@clisp.org>
50073
50074         * tests/test-verify.c: New file.
50075
50076 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50077
50078         Sync from coreutils.
50079
50080         * modules/argmatch (Depends-on): Add verify.
50081         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
50082         unistd-safer.
50083         * modules/save-cwd (Depends-on): Likewise.
50084
50085         * modules/openat (Files): Add lib/openat-die.c.
50086         (Depends-on): Remove error, exitfail.
50087         Add dirname.
50088
50089         * modules/verify: New file.
50090         * MODULES.html.sh (Diagnostics <assert.h>): New section,
50091         with "verify" module.
50092
50093 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50094
50095         Sync from coreutils.
50096
50097         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
50098         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
50099         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
50100         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
50101         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
50102         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
50103         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
50104         Don't bother checking for string.h, stdlib.h, unistd.h.
50105         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
50106         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
50107         module's job.
50108         * m4/jm-macros.m4 (gl_MACROS): Likewise.
50109         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
50110
50111         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
50112         (gl_GETDATE): Use it.
50113
50114         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
50115
50116 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50117
50118         Sync from coreutils.
50119
50120         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
50121         stat-time.h.
50122         * lib/argmatch.h: Include verify.h
50123         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
50124         (ARGMATCH_ASSERT): Remove; unused.
50125         * lib/canonicalize.c: Assume STDC_HEADERS.
50126         * lib/exclude.c: Include "strcase.h".
50127         * lib/regex_internal.h [!defined _LIBC]: Likewise.
50128         * lib/getusershell.c: Include stdio--.h rather than stdio.h
50129         and stdio-safer.h.
50130         (getusershell): Call fopen, not fopen_safer.
50131         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
50132         Do not include unistd-safer.h.
50133         (save_cwd): Don't call fd_safer; no longer needed
50134         now that we include fcntl--.h.
50135
50136         * lib/getdate.y (relative_time): New type.
50137         (RELATIVE_TIME_0): New constant.
50138         (parser_control): Use relative_time instead of doing it ourselves.
50139         (%union): Add new relative_time rel member.
50140         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
50141         Now typeless.
50142         (relunit, relunit_snumber): Now of type rel.
50143         (zone, rel, relunit, get_date): Adjust to above changes.
50144
50145         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
50146         Do not include unistd-safer.h.
50147         (getloadavg): Don't call fd_safer; no longer needed
50148         now that we include fcntl--.h.
50149
50150         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
50151         (make_dir_parents): Treat ENOSYS like EEXIST.
50152
50153         Improve quality of diagnostics on restore_cwd failure.
50154         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
50155         (make_dir_parents): Last arg is now int * (for errno), not bool *.
50156         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
50157         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
50158         each time through the loop.  Do not diagnose restore_cwd failure;
50159         that is the caller's job (and perhaps the caller does not care).
50160
50161         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
50162         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
50163         If the file already exists but is not a directory, don't bother
50164         to try to make its parents.
50165         Close potential file descriptor leak if we can't chdir("/") (!).
50166         Don't always return true if chdir($PWD) fails; return true only
50167         if the requested action was done successfully (except for the
50168         chdir($PWD)).
50169         Don't log final directory unless we actually made it.
50170         Refactor to avoid duplicate code to fix up permissions.
50171         Don't attempt to fix up parent permissions if chdir($PWD) fails.
50172
50173         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
50174         to make it a bit faster and (I hope) clearer.
50175         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
50176         Fix bug in formats like %2N.
50177
50178         * lib/verify.h: New file.
50179
50180 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
50181
50182         Sync from coreutils.
50183         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
50184
50185 2005-09-22  Jim Meyering  <jim@meyering.net>
50186
50187         Sync from coreutils.
50188
50189         * m4/lstat.m4 (gl_FUNC_LSTAT):
50190         Use AC_LIBSOURCES to require lstat.c and lstat.h.
50191         Remove obsolete comment.
50192         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
50193         * m4/xstrtod.m4: Likewise.
50194
50195         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
50196
50197 2005-09-22  Jim Meyering  <jim@meyering.net>
50198
50199         Sync from coreutils.
50200
50201         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
50202
50203         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
50204         the .tm_year member, since otherwise gcc-4.0 would now warn about
50205         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
50206
50207         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
50208         order to avoid an unsuppressible warning from gcc on 64-bit systems.
50209
50210         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
50211         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
50212         when run in a time zone for which daylight savings time is in effect
50213         for the starting date.
50214
50215         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
50216         stop us from restricting permissions of just-created absolute-named
50217         directories.
50218         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
50219         to restore initial working directory.
50220         * lib/mkdir-p.c (make_dir_parents): New parameter:
50221         different_working_dir, to tell caller if/when we change the working
50222         directory and are unable to return to the initial one.
50223         * lib/mkdir-p.h (make_dir_parents): Update prototype.
50224         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
50225         `return false'.  This fixes a bug introduced on 2004-07-30.
50226
50227         * lib/openat.c (fdopendir): Be sure to close the supplied
50228         file descriptor before returning.  This makes our replacement
50229         implementation a little closer to Solaris's, where fdopendir
50230         ties the file descriptor to the returned DIR* pointer.
50231         * lib/openat.c (unlinkat): New function.
50232         * lib/openat.h (unlinkat): Add prototype.
50233         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
50234         (openat_restore_fail): Rename from openat_restore_die.
50235         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
50236
50237         Provide an alternative to exiting immediately upon save_cwd or
50238         restore_cwd failure.  Now, an application can arrange e.g.,
50239         to perform a longjump in that case.
50240         * lib/openat.c: Include dirname.h.
50241         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
50242         (rpl_openat, fdopendir, fstatat): Call openat_save_die
50243         and openat_restore_die rather than calling error directly.
50244         Don't include "error.h" or "exitfail.h"; they're no longer needed.
50245
50246         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
50247         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
50248         define.
50249
50250         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
50251         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
50252                             int utc, int nanoseconds);
50253         Background:
50254         date should not have to allocate a megabyte of virtual memory to
50255         handle a format argument like +%1048575T.  When implemented with
50256         strftime, it must allocate such a buffer, use strftime to fill it
50257         in, print it, then free it.
50258         With fprintftime, it simply prints everything and exits.
50259         With no need for memory allocation, that's one fewer way to fail.
50260         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
50261         optional field width, not before, so we accept %9:z, not %:9z.
50262         (my_strftime): Be sure to use L_('x') for literals.
50263
50264         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
50265         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
50266         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
50267         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
50268         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
50269         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
50270         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
50271         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
50272         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
50273         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
50274         * lib/xgethostname.c, lib/xreadlink.c:
50275         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
50276
50277         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
50278         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
50279         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
50280         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
50281         and don't include <sys/file.h>).
50282
50283 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
50284
50285         Sync from coreutils.
50286
50287         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
50288         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
50289         [!LDAV_DONE]: Avoid unused variable warning.
50290
50291 2005-09-21  Bruno Haible  <bruno@clisp.org>
50292
50293         * lib/unicodeio.h (unicode_to_mb): New declaration.
50294
50295 2005-09-20  Derek Price  <derek@ximbiot.com>
50296
50297         * lib/getaddrinfo.c: Don't include <netdb.h> included from
50298         getaddrinfo.h.
50299
50300 2005-09-20  Bruno Haible  <bruno@clisp.org>
50301
50302         * gnulib-tool: Remove trailing slashes from the values specified for
50303         --source-base, --m4-base, --tests-base, --aux-dir.
50304         Suggested by Simon Josefsson <jas@extundo.com>.
50305
50306 2005-09-20  Bruno Haible  <bruno@clisp.org>
50307
50308         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
50309         func_modules_to_filelist, func_import, func_create_testdir): Make all
50310         sorting results locale-independent, so that gnulib-cache.m4 doesn't
50311         change when gnulib-tool is invoked in a different locale.
50312
50313 2005-09-19  Simon Josefsson  <jas@extundo.com>
50314
50315         * m4/socklen.m4: Fix typo.
50316
50317 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50318
50319         Use a consistent style for including <config.h>.
50320         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
50321         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
50322         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
50323         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
50324         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
50325         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
50326         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
50327         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
50328         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
50329         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
50330         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
50331         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
50332         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
50333         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
50334         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
50335         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
50336         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
50337         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
50338         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
50339         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
50340         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
50341         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
50342         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
50343         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
50344         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
50345         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
50346         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
50347         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
50348         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
50349         lib/xstrtoumax.c, lib/yesno.c:
50350         Standardize inclusion of config.h.
50351         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
50352         lib/inttostr.h:  Removed inclusion of config.h from header files.
50353         * lib/inttostr.c:  Adjusted in-tree users.
50354         * lib/timespec.h: Remove superfluous warning to include config.h.
50355         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
50356         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
50357         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
50358         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
50359         config.h with HAVE_CONFIG_H.
50360
50361 2005-09-19  Jim Meyering  <jim@meyering.net>
50362
50363         * modules/pathmax (License): Change to LGPL.
50364
50365 2005-09-19  Derek Price  <derek@ximbiot.com>
50366
50367         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
50368
50369 2005-09-19  Bruno Haible  <bruno@clisp.org>
50370
50371         * gnulib-tool (import): Provide default for --tests-base.
50372
50373 2005-09-19  Bruno Haible  <bruno@clisp.org>
50374
50375         * doc/quote.texi: New file, extracted from gnulib.texi.
50376         * doc/ctime.texi: New file, extracted from gnulib.texi.
50377         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
50378         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
50379         * doc/gnulib.texi: Include them.
50380
50381 2005-09-18  Bruno Haible  <bruno@clisp.org>
50382
50383         Portability fix.
50384         * gnulib-tool (func_readlink): New function.
50385         (func_ln_if_changed): Use it.
50386
50387 2005-09-18  Bruno Haible  <bruno@clisp.org>
50388
50389         * gnulib-tool: Support --with-tests also with --import.
50390         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
50391         (func_import): Use variables $testsbase and $inctests. Emit a
50392         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
50393         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
50394         SUBDIRS += $testsdir.
50395         (func_create_testdir): Update.
50396
50397 2005-09-18  Bruno Haible  <bruno@clisp.org>
50398
50399         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
50400         instead of $dry_run.
50401         (func_cp_if_changed, func_mv_if_changed): Remove functions.
50402         (func_ln_if_changed): Don't handle dry-run here.
50403         (func_import): In dry-run mode, detect more precisely which actions
50404         would be performed, and don't use "...ing" verbs.
50405
50406 2005-09-18  Bruno Haible  <bruno@clisp.org>
50407
50408         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
50409         (func_import): Use join on two temporary files instead of three nested
50410         loops, in order to determine which files are new or old.
50411
50412 2005-09-18  Bruno Haible  <bruno@clisp.org>
50413
50414         * gnulib-tool (func_import): Comment out code that spits out the
50415         new files with --dry-run.
50416
50417 2005-09-18  Bruno Haible  <bruno@clisp.org>
50418
50419         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
50420
50421 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50422
50423         * lib/stat-time.h: New file.
50424         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
50425         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
50426         in a different way.
50427         (timespec_cmp): New function.
50428         * lib/utimecmp.c: Include stat-time.h.
50429         (SYSCALL_RESOLUTION): Depend on whether various struct stat
50430         members exist, not on the obsolescent ST_MTIM_NSEC.
50431         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
50432
50433 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50434
50435         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
50436
50437 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
50438
50439         * MODULES.html.sh (File system functions): Add stat-time.
50440         * modules/stat-time: New file.
50441         * modules/timespec (Files): Remove m4/st_mtim.m4; this
50442         is now done in a different way, by the stat-time module.
50443         * modules/utimecmp (Depends-on): Add stat-time.
50444
50445 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
50446
50447         * m4/st_mtim.m4: Remove.  Superseded by...
50448         * m4/stat-time.m4: New file.
50449         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
50450         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
50451
50452 2005-09-15  Derek Price  <derek@ximbiot.com>
50453
50454         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
50455
50456 2005-09-15  Derek Price  <derek@ximbiot.com>
50457
50458         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
50459         * lib/regex_internal.c: Ditto, using this...
50460         (__GNUC_PREREQ): ...new macro.
50461         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
50462         using...
50463         (__GNUC_PREREQ): ...this new macro.
50464
50465         * lib/strstr.h: Include string.h. Define strstr as a macro here.
50466
50467 2005-09-15  Derek Price  <derek@ximbiot.com>
50468             Paul Eggert  <eggert@cs.ucla.edu>
50469
50470         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
50471         changes, consolidating in...
50472         * lib/regex_internal.h: ...this file.
50473
50474 2005-09-13  Jim Meyering  <jim@meyering.net>
50475
50476         * lib/canon-host.c: Filter through gnu indent and reword comments
50477         slightly.
50478         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
50479
50480 2005-09-13  Derek Price  <derek@ximbiot.com>
50481
50482         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
50483         failure.
50484         Reported by Jim Meyering  <jim@meyering.net>.
50485
50486 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50487
50488         * lib/base64.c: Typo.
50489         (base64_encode): Put b64str in initialized data section.
50490
50491 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
50492
50493         Merge glibc and coreutils changes into gnulib, plus a few
50494         extra fixes.
50495         * lib/md5.c: Use #error rather than a string.
50496         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
50497         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
50498         (__attribute__): Define to empty for non recent-GCC.
50499         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
50500         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
50501         Renamed from their non-__ counterparts, with new macros replacing
50502         them if not _LIBC.  Add __THROW attribute.
50503         (rol): Remove.
50504         (struct md5_ctx): Align buffer if using GCC.
50505         * lib/sha1.h (struct sha1_ctx): Likewise.
50506         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
50507         The old name was backwards.
50508         (NOTSWAP): Remove; not used.
50509         (rol): New macro, moved here from md5.h.
50510         (sha1_process_block): Remove a FIXME that doesn't make sense.
50511
50512 2005-09-12  Derek Price  <derek@ximbiot.com>
50513
50514         Return usable errors from canon-host.
50515         * lib/canon-host.h: New file.
50516         * lib/canon-host.c (canon_host): Wrap...
50517         (canon_host_r): ...this new function, which now relies exclusively on
50518         getaddrinfo.
50519         (ch_strerror): New function.
50520         (last_cherror): New global.
50521         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
50522         interface.
50523         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
50524         void *.
50525         (freeaddrinfo): Free ai->ai_canonname when set.
50526
50527 2005-09-12  Derek Price  <derek@ximbiot.com>
50528
50529         Make canon-host require getaddrinfo.
50530         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
50531         AC_LIBSOURCE canon-host.h.  Call...
50532         (gl_PREREQ_CANON_HOST): ...this new function, which requires
50533         gl_GETADDRINFO.
50534         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
50535
50536 2005-09-12  Derek Price  <derek@ximbiot.com>
50537
50538         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
50539         LGPL.
50540         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
50541
50542 2005-09-12  Derek Price  <derek@ximbiot.com>
50543
50544         * lib/gai_strerror.c: Include config.h when available.  Include
50545         getaddrinfo.h before other headers to test interface.
50546         Reported by Larry Jones <lawrence.jones@ugs.com>.
50547
50548 2005-09-12  Derek Price  <derek@ximbiot.com>
50549             Paul Eggert  <eggert@cs.ucla.edu>
50550
50551         * modules/glob (Files): Add glob-libc.h.
50552
50553 2005-09-12  Derek Price  <derek@ximbiot.com>
50554             Paul Eggert  <eggert@cs.ucla.edu>
50555
50556         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
50557         glob_.h, glob-libc.h.
50558         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
50559
50560 2005-09-12  Derek Price  <derek@ximbiot.com>
50561             Paul Eggert  <eggert@cs.ucla.edu>
50562
50563         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
50564         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
50565         protecting things that should be done only in gnulib contexts.
50566         * lib/glob_.h: New file, containing only the glob things needed for
50567         gnulib.
50568         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
50569         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
50570         (glob, globfree, glob_pattern_p): Now defined simply in terms of
50571         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
50572         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
50573         and to respect the namespace rules better.
50574
50575 2005-09-08  Simon Josefsson  <jas@extundo.com>
50576
50577         * modules/socklen: New file.
50578
50579 2005-09-08  Simon Josefsson  <jas@extundo.com>
50580
50581         * m4/socklen.m4: New file.
50582
50583 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50584
50585         * modules/utimens (Files): Add m4/utimbuf.m4, since
50586         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
50587         Reported by Sergey Poznyakoff.
50588
50589 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50590
50591         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
50592         definitions, since that's the preferred style in glibc.
50593         Fix a minor spacing issue, and update copyright notice to match
50594         glibc's.
50595
50596 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
50597
50598         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
50599
50600 2005-09-06  Simon Josefsson  <jas@extundo.com>
50601
50602         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
50603         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
50604
50605 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50606
50607         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
50608         warning.
50609
50610 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50611
50612         * config/srclist.txt: Add glibc bug 1302.
50613
50614 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
50615
50616         Change bitset word type from unsigned int to unsigned long int,
50617         as this has better performance on typical 64-bit hosts.
50618         Port bitset code to hosts with unusual word sizes.
50619         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
50620         (build_collating_symbol):
50621         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
50622         argument is a bitset.  This is merely a style issue, but it makes
50623         it clearer that an entire array is expected.
50624         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
50625         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
50626         Port to the case where bitset_word is not the same as unsigned int.
50627         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
50628         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
50629         Likewise.
50630         * lib/regexec.c (check_dst_limits_calc_pos_1,
50631         check_subexp_matching_top):
50632         (build_trtable, group_nodes_into_DFAstates):
50633         Likewise.
50634         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
50635         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
50636         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
50637         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
50638         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
50639         * lib/regcomp.c (optimize_subexps, lower_subexp):
50640         Work even if bitset_word has holes in its bitwise representation.
50641         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
50642         * lib/regexec.c (check_dst_limits_calc_pos_1,
50643         check_subexp_matching_top):
50644         Likewise.
50645         * lib/regex_internal.c (re_string_reconstruct):
50646         Don't assume UCHAR_MAX == 255.
50647         * lib/regex_internal.h (bitset_set_all): Likewise.
50648         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
50649         All uses changed.
50650         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
50651         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
50652         All uses changed.
50653         (BITSET_WORD_MAX): New macro.
50654         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
50655         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
50656         (bitset_empty, bitset_copy):
50657         Prefer sizeof (bitset) to multiplying it out ourselves.
50658         (bitset_not_merge): Remove; unused.
50659         (bitset_contain): Return bool, not unsigned int with one bit on.
50660         All callers changed.
50661         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
50662         alignment than re_node_set; do this by defining a new internal
50663         type struct dests_alloc and using it to allocate memory.
50664
50665 2005-09-05  Bruno Haible  <bruno@clisp.org>
50666
50667         * gnulib-tool (func_import): Fix comparison in handling of symbolic
50668         links.
50669
50670 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
50671
50672         * modules/size_max (Makefile.am): Add size_max.h
50673
50674 2005-09-04  Derek Price  <derek@ximbiot.com>
50675
50676         * gnulib-tool (func_import): Fix reversed $symbolic logic.
50677
50678 2005-09-03  Simon Josefsson  <jas@extundo.com>
50679
50680         * gnulib-tool: Fix typo.
50681
50682 2005-09-03  Simon Josefsson  <jas@extundo.com>
50683
50684         * config/srclist.txt: Add glibc bug 1293.
50685
50686 2005-09-03  Derek Price  <derek@ximbiot.com>
50687
50688         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
50689         From Larry Jones <lawrence.jones@ugs.com>.
50690
50691 2005-09-02  Simon Josefsson  <jas@extundo.com>
50692
50693         * modules/socklen: New file.
50694
50695 2005-09-02  Simon Josefsson  <jas@extundo.com>
50696
50697         * modules/havelib: New module.
50698
50699         * modules/gettext, modules/iconv, modules/lock, modules/readline:
50700         Use havelib.
50701
50702 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
50703
50704         Check for arithmetic overflow when calculating sizes, to prevent
50705         some buffer-overflow issues.  These patches are conservative, in the
50706         sense that when I couldn't determine whether an overflow was possible,
50707         I inserted a run-time check.
50708         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
50709         macros.
50710         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
50711         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
50712         (re_xnrealloc, re_x2nrealloc): New inline functions.
50713         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
50714         parse_bracket_exp):
50715         (build_equiv_class, build_charclass): Check for arithmetic overflow
50716         in size expression calculations.
50717         * lib/regex_internal.c (re_string_realloc_buffers):
50718         (build_wcs_upper_buffer, re_node_set_add_intersect):
50719         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
50720         (re_dfa_add_node, register_state): Likewise.
50721         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
50722         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
50723         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
50724         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
50725
50726 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
50727
50728         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
50729         m4/ulonglong.m4.  Problem reported by Martin Lambers.
50730
50731 2005-09-02  Bruno Haible  <bruno@clisp.org>
50732
50733         Support for lib vs. lib64 distinction on biarch platforms.
50734         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
50735         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
50736         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
50737
50738 2005-09-02  Bruno Haible  <bruno@clisp.org>
50739
50740         * gnulib-tool (import): In the other first-use case, provide defaults
50741         as well.
50742
50743 2005-09-02  Bruno Haible  <bruno@clisp.org>
50744
50745         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
50746         patches not yet found in the latest gettext release.
50747
50748 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50749
50750         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
50751         to avoid a collision with bits/local_lim.h in glibc.
50752         All uses changed.  Problem reported by Dmitry V. Levin in
50753         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
50754
50755         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
50756         bugs in int versus size_t comparisons.
50757         (re_string_context_at): Fix bug where the code assumed that
50758         Idx is signed.
50759
50760         Use bool where appropriate.
50761         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
50762         All callers changed.
50763         (calc_eclosure_iter): Likewise, for ROOT arg.
50764         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
50765         (build_charclass_op): Likewise, for NON_MATCH arg.
50766         * lib/regex_internal.c (re_string_allocate, re_string_construct):
50767         (re_string_construct_common): Likewise, for ICASE arg.
50768         * lib/regexec.c (re_search_2_stub, re_search_stub):
50769         Likewise, for RET_LEN arg.
50770         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
50771         (set_regs): Likewise, for FL_BACKTRACK arg.
50772         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
50773         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
50774         (calc_eclosure_iter, parse_bracket_exp):
50775         Use bool for internal variables that are booleans.
50776         * lib/regexec.c (re_search_internal, check_matching,
50777         proceed_next_node):
50778         (set_regs, build_sifted_states, sift_states_bkref):
50779         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
50780         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
50781         (find_collation_sequence_value):
50782         Likewise.
50783         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
50784         (re_node_set_compare):
50785         Return bool, not int. All callers changed.
50786         * lib/regexec.c (check_halt_node_context, check_dst_limits):
50787         (build_trtable, check_node_accept): Likewise.
50788         * lib/regex_internal.h: Include stdbool.h.
50789
50790         Fix bugs uncovered when converting to bool.
50791         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
50792         failure instead of charging ahead blindly.
50793         * lib/regex_internal.c (register_state): Likewise.
50794         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
50795         for freeing internal storage.
50796         (group_nodes_into_DFA_states): Use unsigned int, not int, for
50797         bitset pieces used as boolean, to avoid undefined behavior
50798         on hosts that do int overflow checking.
50799
50800 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
50801
50802         * config/srclist.txt: Add glibc bugs 1285-1287.
50803
50804 2005-09-01  Jim Meyering  <jim@meyering.net>
50805
50806         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
50807         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
50808         Require gl_STAT_MACROS, too.
50809
50810 2005-09-01  Bruno Haible  <bruno@clisp.org>
50811
50812         * gnulib-tool (import): In the first-use case, provide defaults.
50813
50814 2005-09-01  Bruno Haible  <bruno@clisp.org>
50815
50816         * gnulib-tool (func_import): Remove the .tmp files.
50817
50818 2005-09-01  Bruno Haible  <bruno@clisp.org>
50819
50820         * gnulib-tool (func_import): Fix handling of symbolic links.
50821
50822 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50823
50824         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
50825         old glibc regex code mishandles strings longer than 2**31 bytes.
50826         This patch fixes this when the regex code is used in gnulib
50827         (i.e., outside glibc).
50828
50829         This patch should not affect the use of the regex code inside
50830         glibc.  No doubt this problem also needs to be handled for glibc
50831         as well, but the result will be an incompatible change to the
50832         glibc ABI, and the old ABI will have to be supported too.  That
50833         can be the the subject for another patch.
50834
50835         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
50836         governing whether the rest of this patch is active.  By default,
50837         the macro is disabled and the patch has no effect.
50838         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
50839         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
50840         (struct re_pattern_buffer, re_search, re_search_2, re_match):
50841         (re_match_2, re_set_registers): Use the new types.
50842         * lib/regex_internal.h (Idx, re_hashval_t): New types.
50843         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
50844         New macros.
50845         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
50846         (re_string_context_at, bin_tree_t, re_dfastate_t):
50847         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
50848         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
50849         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
50850         (re_string_char_size_at, re_string_wchar_at):
50851         (re_string_elem_size_at):
50852         Use the new types and macros to port to 64-bit hosts.
50853         Use unsigned types for internal values, so that the code
50854         mostly works even for arrays larger than SSIZE_MAX.
50855         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
50856         (search_duplicated_node, calc_eclosure_iter, fetch_number):
50857         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
50858         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
50859         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
50860         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
50861         (calc_inveclosure, parse_dup_op, build_range_exp):
50862         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
50863         (fetch_number, create_token_tree, mark_opt_subexp):
50864         Likewise.
50865         * lib/regex_internal.c (re_string_construct_common,
50866         create_ci_newstate):
50867         (create_cd_newstate, re_string_allocate, re_string_construct):
50868         (re_string_realloc_buffers, build_wcs_upper_buffer):
50869         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
50870         (re_string_reconstruct, re_string_peek_byte_case):
50871         (re_string_fetch_byte_case, re_string_context_at):
50872         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
50873         (re_node_set_init_copy, re_node_set_add_intersect):
50874         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
50875         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
50876         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
50877         (re_acquire_state, re_acquire_state_context, register_state):
50878         Likewise.
50879         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
50880         search_cur_bkref_entry):
50881         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
50882         (re_search_internal, re_search_2_stub, re_search_stub)
50883         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
50884         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
50885         (update_cur_sifted_state, check_dst_limits):
50886         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
50887         (check_subexp_limits, sift_states_bkref, merge_state_array):
50888         (check_subexp_matching_top, get_subexp, get_subexp_sub):
50889         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
50890         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
50891         (expand_bkref_cache, check_node_accept_bytes):
50892         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
50893         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
50894         (acquire_init_state_context, check_halt_node_context):
50895         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
50896         (sift_states_backward, clean_state_log_if_needed):
50897         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
50898         (find_recover_state, transit_state_sb, transit_state_mb):
50899         (transit_state_bkref, build_trtable, match_ctx_clean):
50900         Likewise.
50901         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
50902         to work around an assumption that REG_MISSING is negative.
50903
50904         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
50905         (seek_collating_symbol_entry) [defined _LIBC]:
50906         (lookup_collation_sequence_value) [defined _LIBC]:
50907         (build_range_exp, build_collating_symbol) [defined _LIBC]:
50908         Use prototypes rather than old-style function definitions.
50909         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
50910         (transit_state_sb) [0]:
50911         (find_collation_sequence_value) [defined _LIBC]: Likewise.
50912
50913         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
50914         rm_eo.
50915
50916         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
50917         (optimize_subexps, lower_subexp):
50918         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
50919         since the signed shift might overflow.  Use 1u<<31 instead.
50920         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
50921         Likewise.
50922         * lib/regexec.c (check_dst_limits_calc_pos_1,
50923         check_subexp_matching_top): Likewise.
50924
50925         * lib/regcomp.c (optimize_subexps, lower_subexp):
50926         Use CHAR_BIT rather than 8, for clarity.
50927         * lib/regexec.c (check_dst_limits_calc_pos_1):
50928         (check_subexp_matching_top): Likewise.
50929         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
50930         have to worry about portability issues when shifting it left.
50931         Remove no-longer-needed test for table_size > 0.
50932         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
50933         in a word, as the resulting behavior is undefined.
50934         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
50935         in one case, a <= should have been an <, and in another case the
50936         whole test was missing.
50937         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
50938         the standard name CHAR_BIT.
50939         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
50940         this is not true on one's complement and signed-magnitude hosts.
50941
50942         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
50943         next_last_offset.
50944         (struct re_dfa_t): Remove unused member states_alloc.
50945         * lib/regcomp.c (init_dfa): Don't initialize unused members.
50946
50947 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50948
50949         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
50950         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
50951         and large-file glibc and in 32-bit large-file Solaris.
50952
50953 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50954
50955         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
50956         lengths fit in regoff_t; this isn't true if regoff_t is the same
50957         width as size_t.
50958         * lib/regex.c (re_search_internal): 5th arg is LAST_START
50959         (= START + RANGE) instead of RANGE.  This avoids overflow
50960         problems when regoff_t is the same width as size_t.
50961         All callers changed.
50962         (re_search_2_stub): Check for overflow when adding the
50963         sizes of the two strings.
50964         (re_search_stub): Check for overflow when adding START
50965         to RANGE; if it occurs, substitute the extreme value.
50966
50967 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
50968
50969         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
50970
50971 2005-08-31  Jim Meyering  <jim@meyering.net>
50972
50973         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
50974         a pointer-to-const.
50975         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
50976         (register_state): Likewise.
50977         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
50978         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
50979         (group_nodes_into_DFAstates): Likewise.
50980
50981 2005-08-31  Jim Meyering  <jim@meyering.net>
50982
50983         * check-module: Add a FIXME comment.
50984
50985 2005-08-31  Eric Blake  <ebb9@byu.net>
50986
50987         * modules/unistd-safer (Files): Add unistd--.h.
50988         * modules/stdio-safer (Files): Add stdio--.h.
50989
50990 2005-08-31  Derek Price  <derek@ximbiot.com>
50991
50992         * lib/getdelim.c (getdelim): Return EOF on EOF.
50993         Reported by Larry Jones <lawrence.jones@ugs.com>.
50994
50995 2005-08-31  Bruno Haible  <bruno@clisp.org>
50996
50997         Avoid unnecessary diffs in the generated lib/Makefile.am.
50998         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
50999         the generated files.
51000         (func_import): Don't set cmd.
51001
51002 2005-08-31  Bruno Haible  <bruno@clisp.org>
51003
51004         * lib/strstr.c: Include <stddef.h>, for NULL.
51005         * lib/strcasestr.c: Likewise.
51006         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51007
51008 2005-08-31  Bruno Haible  <bruno@clisp.org>
51009
51010         * gnulib-tool: New option --macro-prefix.
51011         (func_import): Use macro_prefix.
51012         (import): Handle option --macro-prefix.
51013
51014 2005-08-31  Bruno Haible  <bruno@clisp.org>
51015
51016         * gnulib-tool (import): Rename most ac_* variables to cached_*.
51017         Also use new variables cached_lgpl, cached_libtool.
51018
51019 2005-08-31  Bruno Haible  <bruno@clisp.org>
51020
51021         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
51022         always instantiating them.
51023
51024 2005-08-31  Bruno Haible  <bruno@clisp.org>
51025
51026         * gnulib-tool (func_import): Read the previous cached settings
51027         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
51028         earlier added by gnulib but are now dropped. Warn when a gnulib file
51029         overwrites a non-gnulib file.
51030
51031 2005-08-31  Bruno Haible  <bruno@clisp.org>
51032
51033         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
51034         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
51035         projects that don't keep autogenerated files in CVS. Put into
51036         actioncmd only the specified modules, not the transitive closure.
51037
51038 2005-08-31  Bruno Haible  <bruno@clisp.org>
51039
51040         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
51041         Create directories that shall be filled.
51042         (import): Don't look for gl_* macros in configure.ac. Recurse across
51043         all directories containing a gnulib-cache.m4 files, if meaningful.
51044
51045 2005-08-31  Bruno Haible  <bruno@clisp.org>
51046
51047         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
51048         (import): Set seen_libtool when we see gl_LIBTOOL.
51049
51050 2005-08-31  Bruno Haible  <bruno@clisp.org>
51051
51052         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
51053         declaration macro definitions from generated gnulib.m4.
51054
51055 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
51056
51057         * lib/iconvme.h: Add prototype for iconv_alloc.
51058
51059 2005-08-29  Simon Josefsson  <jas@extundo.com>
51060
51061         * lib/iconvme.c: Fix errno.
51062
51063 2005-08-29  Bruno Haible  <bruno@clisp.org>
51064
51065         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
51066         that it works when the directory contains spaces.
51067
51068 2005-08-29  Bruno Haible  <bruno@clisp.org>
51069
51070         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
51071
51072 2005-08-29  Bruno Haible  <bruno@clisp.org>
51073
51074         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
51075         Emit more advice.
51076
51077 2005-08-29  Bruno Haible  <bruno@clisp.org>
51078         and Stepan Kasal  <kasal@ucw.cz>
51079
51080         * check-module: If more parameters are given, check each of them
51081         separately; add more exceptions, as noted by Jim Meyering.
51082         (check_module): New procedure.
51083         (%exempt_header): Now contains all exceptions.
51084
51085 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
51086
51087         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
51088
51089 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51090
51091         * lib/iconvme.c: Split iconv_string into iconv_alloc.
51092
51093 2005-08-28  Bruno Haible  <bruno@clisp.org>
51094
51095         * m4/gnulib-tool.m4: New file.
51096
51097 2005-08-27  Jim Meyering  <jim@meyering.net>
51098
51099         * modules/unistd-safer (Files): Add pipe-safer.c.
51100         * modules/fcntl-safer (Files): Add creat-safer.c.
51101
51102 2005-08-27  Jim Meyering  <jim@meyering.net>
51103
51104         * m4/stdlib-safer.m4: New file.  From coreutils.
51105         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
51106         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
51107         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
51108         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
51109         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
51110
51111 2005-08-27  Jim Meyering  <jim@meyering.net>
51112
51113         * lib/fopen-safer.c: Merge minor changes from coreutils.
51114         * lib/dup-safer.c: Likewise.
51115         * lib/fd-safer.c: Likewise.
51116
51117         Merge from coreutils.
51118         * lib/stdio--.h: New file.
51119         * lib/stdlib--.h: New file.
51120         * lib/mkstemp-safer.c: New file.
51121
51122         GNU tar needs these.
51123         * lib/pipe-safer.c: New file.
51124         * lib/creat-safer.c: New file.
51125         * lib/fcntl--.h (creat): Define to creat_safer.
51126         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
51127         * lib/unistd--.h (pipe): Define to pipe_safer.
51128         * lib/unistd-safer.h: Declare pipe_safer.
51129
51130 2005-08-26  Simon Josefsson  <jas@extundo.com>
51131
51132         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
51133         Haible <bruno@clisp.org>.
51134
51135 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
51136
51137         * lib/regex_internal.h: Remove all references to
51138         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
51139         or better.
51140         (bitset_not, bitset_merge, bitset_not_merge):
51141         (bitset_mask, re_string_allocate, re_string_construct):
51142         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
51143         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
51144         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
51145         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
51146         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51147         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51148         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
51149         (re_acquire_state_context):
51150         Remove unnecessary forward decls.
51151         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
51152         Put __attribute at function definition,
51153         now that the function decl has been removed.
51154         * lib/regex_internal.c (re_string_peek_byte_case):
51155         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
51156         Likewise.
51157
51158 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
51159
51160         * m4/regex.m4: Add AC_PREREQ(2.50).
51161         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
51162
51163 2005-08-25  Simon Josefsson  <jas@extundo.com>
51164
51165         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
51166         __fsetlocking.
51167
51168 2005-08-25  Simon Josefsson  <jas@extundo.com>
51169
51170         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
51171         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
51172         GLIBC specific code.
51173
51174 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         Make regex safe for g++.  This fixes one real bug (an "err"
51177         that should have been "*err").  g++ problem reported by
51178         Sam Steingold.
51179         * lib/regex_internal.h (re_calloc): New macro, consistent with
51180         re_malloc etc.  All callers of calloc changed to use re_calloc.
51181         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
51182         not int.  All callers changed.
51183         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
51184         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
51185         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
51186         (find_recover_state): Change "err" to "*err"; this fixes what
51187         appears to be a real bug.
51188         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
51189         versus int.
51190
51191 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51192
51193         * modules/regex (Depends-on): Add malloc, since the code
51194         assumes that !malloc(0) means failure.
51195
51196 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51197
51198         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
51199
51200         alloca modernization/simplification for regex.
51201         * lib/regex.c: Remove portability cruft for alloca.  This no longer
51202         needs to be at the start of the file, and can be moved into
51203         regex_internal.h and simplified.
51204         * lib/regex_internal.h: Include <alloca.h>.
51205         (__libc_use_alloca) [!defined _LIBC]: New macro.
51206         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
51207         now works outside glibc.
51208
51209 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
51210
51211         * config/srclist.txt: Add glibc bugs 1241, 1245.
51212
51213 2005-08-25  Jim Meyering  <jim@meyering.net>
51214
51215         * lib/open-safer.c: Include <config.h>.
51216         Otherwise, we'd lose LARGEFILE support in any file using
51217         e.g. "fcntl--.h"
51218
51219 2005-08-25  Bruno Haible  <bruno@clisp.org>
51220
51221         * m4/minmax.m4: Require autoconf 2.52.
51222         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
51223         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
51224         alternatives of translit over the alphabet.
51225         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
51226
51227 2005-08-24  Simon Josefsson  <jas@extundo.com>
51228
51229         * tests/test-getpass.c: New file.
51230
51231 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51232
51233         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
51234         for GNU regex features.
51235
51236 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51237
51238         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
51239         * lib/regex.h (regerror): Likewise.
51240
51241         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
51242         requires this.  (The code never needed it.)
51243
51244         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
51245         All uses of recently-renamed identifiers changed to use the new,
51246         POSIX-compliant names.  The code will build and run just fine
51247         without these changes, but it's better to eat our own dog food
51248         and use the standard-conforming names.
51249
51250         * lib/regex.h: Fix a multitude of POSIX name space violations.
51251         These changes have an effect only for programs that define
51252         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
51253         do not change anything for programs compiled in the normal way.
51254         Also, there is no effect on the ABI.
51255
51256         (_REGEX_SOURCE): New macro.
51257         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
51258         defined and _GNU_SOURCE is not; this fixes a name space violation.
51259
51260         Rename the following macros to obey POSIX requirements.
51261         The old names are still visible as macros if _REGEX_SOURCE is defined.
51262         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
51263         RE_BACKSLASH_ESCAPE_IN_LISTS.
51264         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
51265         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
51266         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
51267         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
51268         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
51269         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
51270         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
51271         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
51272         (REG_INTERVALS): renamed from RE_INTERVALS.
51273         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
51274         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
51275         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
51276         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
51277         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
51278         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
51279         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
51280         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
51281         RE_UNMATCHED_RIGHT_PAREN_ORD.
51282         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
51283         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
51284         (REG_DEBUG): renamed from RE_DEBUG.
51285         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
51286         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
51287         unusual, since we can't clash with the POSIX REG_ICASE.
51288         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
51289         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
51290         (REG_NO_SUB): renamed from RE_NO_SUB.
51291         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
51292         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
51293         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
51294         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
51295         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
51296         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
51297         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
51298         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
51299         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
51300         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
51301         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
51302         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
51303         RE_SYNTAX_POSIX_MINIMAL_BASIC.
51304         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
51305         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
51306         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
51307         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
51308         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
51309         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
51310         (REG_FIXED): Renamed from REGS_FIXED.
51311         (REG_NREGS): Renamed from RE_NREGS.
51312
51313         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
51314         of other REG_* macros, since POSIX says the user is allowed to
51315         #undef these macros selectively.
51316
51317         (reg_errcode_t): Update comment stating what other tables need
51318         to be consistent.
51319
51320         Rename the following enum values to obey POSIX requirements.
51321         The old names are still visible as macros.
51322         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
51323         is not defined, since GNU is supposed to be a superset of POSIX as
51324         much as possible, and since we want reg_errcode_t to be a signed
51325         type for implementation consistency.
51326         (_REG_NOERROR): Renamed from REG_NOERROR.
51327         (_REG_NOMATCH): Renamed from REG_NOMATCH.
51328         (_REG_BADPAT): Renamed from REG_BADPAT.
51329         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
51330         (_REG_ECTYPE): Renamed from REG_ECTYPE.
51331         (_REG_EESCAPE): Renamed from REG_EESCAPE.
51332         (_REG_ESUBREG): Renamed from REG_ESUBREG.
51333         (_REG_EBRACK): Renamed from REG_EBRACK.
51334         (_REG_EPAREN): Renamed from REG_EPAREN.
51335         (_REG_EBRACE): Renamed from REG_EBRACE.
51336         (_REG_BADBR): Renamed from REG_BADBR.
51337         (_REG_ERANGE): Renamed from REG_ERANGE.
51338         (_REG_ESPACE): Renamed from REG_ESPACE.
51339         (_REG_BADRPT): Renamed from REG_BADRPT.
51340         (_REG_EEND): Renamed from REG_EEND.
51341         (_REG_ESIZE): Renamed from REG_ESIZE.
51342         (_REG_ERPAREN): Renamed from REG_ERPAREN.
51343         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
51344         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
51345         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
51346         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
51347
51348         (_REG_RE_NAME, _REG_RM_NAME): New macros.
51349         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
51350         changed.  But support the old name if the new one is not defined
51351         and if _REGEX_SOURCE.
51352
51353         Change the following member names in struct re_pattern_buffer.
51354         The old names are still supported if !_REGEX_SOURCE.
51355         The new names are always supported, regardless of _REGEX_SOURCE.
51356         (re_buffer): Renamed from buffer.
51357         (re_allocated): Renamed from allocated.
51358         (re_used): Renamed from used.
51359         (re_syntax): Renamed from syntax.
51360         (re_fastmap): Renamed from fastmap.
51361         (re_translate): Renamed from translate.
51362         (re_can_be_null): Renamed from can_be_null.
51363         (re_regs_allocated): Renamed from regs_allocated.
51364         (re_fastmap_accurate): Renamed from fastmap_accurate.
51365         (re_no_sub): Renamed from no_sub.
51366         (re_not_bol): Renamed from not_bol.
51367         (re_not_eol): Renamed from not_eol.
51368         (re_newline_anchor): Renamed from newline_anchor.
51369
51370         Change the following member names in struct re_registers.
51371         The old names are still supported if !_REGEX_SOURCE.
51372         The new names are always supported, regardless of _REGEX_SOURCE.
51373         (rm_num_regs): Renamed from num_regs.
51374         (rm_start): Renamed from start.
51375         (rm_end): Renamed from end.
51376
51377         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
51378         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
51379         Prepend __ to parameter names.
51380
51381         Undo yesterday's changes.
51382
51383 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
51384
51385         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
51386         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
51387         lib/regex.c.
51388
51389 2005-08-24  Jim Meyering  <jim@meyering.net>
51390
51391         Sync from coreutils.
51392         * m4/fcntl-safer.m4: New file.
51393
51394         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
51395         and object files for this module.
51396
51397 2005-08-24  Jim Meyering  <jim@meyering.net>
51398
51399         Sync from coreutils.
51400         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
51401
51402 2005-08-24  Jim Meyering  <jim@meyering.net>
51403
51404         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
51405         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
51406
51407 2005-08-24  Jim Meyering  <jim@meyering.net>
51408
51409         * modules/fcntl-safer: New module.
51410         * modules/fts (Depends-on): Add fcntl-safer.
51411         * MODULES.html.sh (File descriptor based Input/Output):
51412         Add fcntl-safer.
51413
51414 2005-08-24  Bruno Haible  <bruno@clisp.org>
51415
51416         Support for unit test modules.
51417         * modules/README: Mention tests modules.
51418         * modules/TEMPLATE-TESTS: New file.
51419         * gnulib-tool: New options --extract-tests-module, --with-tests and
51420         --tests-base (unused for the moment).
51421         (testsbase, inctests): New variables.
51422         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
51423         (func_verify_module): Exclude TEMPLATE-TESTS.
51424         (func_verify_nontests_module, func_verify_tests_module): New functions.
51425         (func_get_dependencies): Add implicit dependency for tests modules.
51426         (func_get_tests_module): New function.
51427         (func_modules_transitive_closure): When --with-tests was specified,
51428         include the unit tests as well, unless explicitly avoided.
51429         (func_emit_lib_Makefile_am): Ignore the tests modules here.
51430         (func_emit_tests_Makefile_am): New function.
51431         (func_create_testdir): When --with-tests was specified, emit a
51432         tests/ directory.
51433         * MODULES.html.sh (Future developments): Update.
51434
51435 2005-08-24  Bruno Haible  <bruno@clisp.org>
51436
51437         * modules/tls-tests: New file.
51438         * tests/test-tls.c: New file, from GNU gettext.
51439
51440 2005-08-24  Bruno Haible  <bruno@clisp.org>
51441
51442         * modules/lock-tests: New file.
51443         * tests/test-lock.c: New file, from GNU gettext.
51444
51445 2005-08-24  Bruno Haible  <bruno@clisp.org>
51446
51447         * lib/lock.h: Add multiple inclusion guard.
51448         * lib/tls.h: Add multiple inclusion guard.
51449
51450 2005-08-24  Bruno Haible  <bruno@clisp.org>
51451
51452         * gnulib-tool: Add support for the --aux-dir option to
51453         --create-testdir, --create-megatestdir, --test, --megatest.
51454         (func_create_testdir, func_create_megatestdir): Optionally emit a
51455         AC_CONFIG_AUX_DIR directive.
51456         (create-testdir, create-megatestdir, test, megatest): Provide a
51457         default value for $auxdir.
51458
51459 2005-08-24  Bruno Haible  <bruno@clisp.org>
51460
51461         * gnulib-tool (import): Use compound statement instead of subshell
51462         where possible.
51463
51464 2005-08-24  Bruno Haible  <bruno@clisp.org>
51465
51466         * gnulib-tool (import): Change --aux-dir default to "build-aux".
51467
51468 2005-08-24  Bruno Haible  <bruno@clisp.org>
51469
51470         * gnulib-tool (func_version): Update.
51471
51472 2005-08-24  Bruno Haible  <bruno@clisp.org>
51473
51474         * gnulib-tool (func_import, func_create_testdir,
51475         func_create_megatestdir): Quote all autoconf macro arguments.
51476
51477 2005-08-24  Bruno Haible  <bruno@clisp.org>
51478
51479         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
51480         option --force, because --force causes the aclocal.m4 of each
51481         subdirectory to be newer than the corresponding config.h.in.
51482
51483 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51484
51485         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
51486         All contents moved to gl_REGEX.
51487         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
51488         assume that it does.
51489
51490 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51491
51492         * lib/regex.h (REG_NOSYS)
51493         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
51494         Define, since POSIX requires it as of 2001.
51495         (_REG_ENOSYS)
51496         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
51497         New private symbol, used to keep the enum signed in all cases.
51498         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
51499         Youngman in
51500         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
51501
51502         * lib/regex_internal.c (re_string_skip_chars, register_state):
51503         (calc_state_hash):
51504         Remove forward decls; no longer needed now that we use prototypes.
51505         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
51506         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
51507         (clean_state_log_if_needed): Likewise.
51508
51509 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
51510
51511         * config/srclist.txt: Add glibc bugs 1231-1233.
51512
51513 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51514
51515         Fix problems reported by Sam Steingold in
51516         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
51517         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
51518         assumed that reg_errcode_t is a signed type, which is not
51519         necessarily true if _XOPEN_SOURCE is not defined.
51520         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
51521         since some compilers warn about it otherwise.
51522
51523 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51524
51525         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
51526         (init_word_char, create_initial_state, duplicate_node_closure):
51527         (fetch_token, peek_token_bracket, build_range_exp):
51528         (build_collating_symbol): Remove forward decls; no longer needed
51529         now that we use prototypes.
51530
51531         * lib/regcomp.c:
51532         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
51533         (re_compile_fastmap_iter, regcomp, regerror, regfree):
51534         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
51535         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
51536         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
51537         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
51538         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
51539         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
51540         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
51541         (build_range_exp, build_collating_symbol, parse_bracket_exp):
51542         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
51543         (build_charclass, build_charclass_op, fetch_number, create_tree):
51544         (create_token_tree, mark_opt_subexp, duplicate_tree):
51545         Use prototypes rather than old-style definitions.
51546
51547         * lib/regex_internal.c:
51548         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
51549         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
51550         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
51551         (re_string_reconstruct, re_string_peek_byte_case):
51552         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
51553         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
51554         (re_node_set_init_copy, re_node_set_add_intersect):
51555         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
51556         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
51557         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
51558         (re_acquire_state, re_acquire_state_context, register_state):
51559         (create_ci_newstate, create_cd_newstate, free_state):
51560         Likewise.
51561         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
51562         re_search_2):
51563         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
51564         (re_search_internal, prune_impossible_nodes):
51565         (acquire_init_state_context, check_matching, static):
51566         (check_halt_node_context, check_halt_state_context, proceed_next_node):
51567         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
51568         (update_regs, sift_states_backward, build_sifted_states):
51569         (clean_state_log_if_needed, merge_state_array):
51570         (update_cur_sifted_state, add_epsilon_src_nodes):
51571         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
51572         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
51573         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
51574         (find_recover_state, check_subexp_matching_top, transit_state_mb):
51575         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
51576         (check_arrival, check_arrival_add_next_nodes):
51577         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
51578         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
51579         (check_node_accept_bytes, check_node_accept, extend_buffers):
51580         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
51581         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
51582         (sift_ctx_init):
51583         Likewise.
51584
51585         * lib/regex_internal.h:
51586         (re_string_allocate, re_string_construct, re_string_reconstruct):
51587         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
51588         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
51589         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
51590         (re_string_context_at, re_string_peek_byte_case):
51591         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
51592         is defined, since we now use prototypes always.
51593
51594         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
51595         C89 or better.  All uses removed.
51596
51597 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
51598
51599         * config/srclist.txt: Add glibc bugs 1220-1227.
51600
51601 2005-08-20  Jim Meyering  <jim@meyering.net>
51602
51603         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
51604         of unused local, dfa.
51605
51606 2005-08-20  Bruno Haible  <bruno@clisp.org>
51607
51608         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
51609
51610 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51611
51612         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
51613         (re_node_set_insert_last, re_dfa_add_node):
51614         Rename local variables to avoid GCC shadowing warnings.
51615
51616 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51617
51618         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
51619         [defined lint]: Suppress bogus uninitialized-variable warnings.
51620
51621         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
51622         and let the caller return REG_ESPACE if out of space.  This
51623         removes an uninitialied-variable warning with GCC 4.0.1, and also
51624         avoids taking the address of a local variable.  All callers
51625         changed.
51626
51627 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51628
51629         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
51630         $LIBCSRC/posix/regexec.c.
51631         Add glibc bug 1217 for regcomp.c.
51632
51633 2005-08-19  Jim Meyering  <jim@meyering.net>
51634
51635         * lib/regexec.c (proceed_next_node): Redo local variables to
51636         avoid GCC shadowing warnings.
51637
51638 2005-08-18  Bruno Haible  <bruno@clisp.org>
51639
51640         * lib/strstr.c (strstr): Fix return value in multibyte case.
51641         * lib/strcasestr.c (strcasestr): Likewise.
51642
51643 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51644
51645         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
51646
51647 2005-08-17  Jim Meyering  <jim@meyering.net>
51648
51649         Make the %s format (seconds since the epoch) work for a negative
51650         number and when used with a zero-padded field width, e.g. %015s.
51651
51652         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
51653         label so that it precedes the code to set `digits'.  Otherwise,
51654         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
51655         print `00-22'.  Now, it prints `-0022', as it should.
51656
51657 2005-08-17  Bruno Haible  <bruno@clisp.org>
51658
51659         * modules/strstr (Files): Add m4/mbrtowc.m4.
51660         (Depends-on): Add mbuiter.
51661
51662 2005-08-17  Bruno Haible  <bruno@clisp.org>
51663
51664         * modules/strcasestr: New file.
51665         * MODULES.html.sh (String handling, based on ANSI C 89): Add
51666         strcasestr.
51667
51668 2005-08-17  Bruno Haible  <bruno@clisp.org>
51669
51670         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
51671
51672 2005-08-17  Bruno Haible  <bruno@clisp.org>
51673
51674         * modules/mbuiter: New file.
51675         * MODULES.html.sh (Extended multibyte and wide character utilities):
51676         Add mbuiter.
51677
51678 2005-08-17  Bruno Haible  <bruno@clisp.org>
51679
51680         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
51681         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
51682
51683 2005-08-17  Bruno Haible  <bruno@clisp.org>
51684
51685         * m4/strcasestr.m4: New file.
51686
51687 2005-08-17  Bruno Haible  <bruno@clisp.org>
51688
51689         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
51690         * lib/strstr.c: Completely rewritten, with multibyte locale support.
51691
51692 2005-08-17  Bruno Haible  <bruno@clisp.org>
51693
51694         * lib/strcasestr.h: New file.
51695         * lib/strcasestr.c: New file.
51696
51697 2005-08-17  Bruno Haible  <bruno@clisp.org>
51698
51699         * lib/strcasecmp.c: Use mbuiter.h.
51700
51701 2005-08-17  Bruno Haible  <bruno@clisp.org>
51702
51703         * lib/mbuiter.h: New file.
51704
51705 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
51706
51707         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
51708         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
51709         and gl_GETOPT are both invoked via different paths (as happens
51710         with GNU tar CVS because it uses both argp and getopt), the former
51711         wins.
51712
51713 2005-08-16  Bruno Haible  <bruno@clisp.org>
51714
51715         * modules/tls: New file.
51716         * MODULES.html.sh (Multithreading): Add tls.
51717
51718 2005-08-16  Bruno Haible  <bruno@clisp.org>
51719
51720         * modules/strnlen1: New file.
51721         * MODULES.html.sh (String handling): Add strnlen1.
51722
51723 2005-08-16  Bruno Haible  <bruno@clisp.org>
51724
51725         * modules/strcase (Files): Add m4/mbrtowc.m4.
51726         (Depends-on): Add strnlen1, mbchar.
51727
51728 2005-08-16  Bruno Haible  <bruno@clisp.org>
51729
51730         * modules/mbiter: New file.
51731         * MODULES.html.sh (Extended multibyte and wide character utilities):
51732         Add mbiter.
51733
51734 2005-08-16  Bruno Haible  <bruno@clisp.org>
51735
51736         * modules/mbfile: New file.
51737         * MODULES.html.sh (Extended multibyte and wide character utilities):
51738         Add mbfile.
51739
51740 2005-08-16  Bruno Haible  <bruno@clisp.org>
51741
51742         * modules/mbchar: New file.
51743         * MODULES.html.sh (Extended multibyte and wide character utilities):
51744         New section.
51745
51746 2005-08-16  Bruno Haible  <bruno@clisp.org>
51747
51748         * m4/tls.m4: New file, from GNU gettext.
51749
51750 2005-08-16  Bruno Haible  <bruno@clisp.org>
51751
51752         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
51753         always.
51754         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
51755
51756 2005-08-16  Bruno Haible  <bruno@clisp.org>
51757
51758         * m4/mbiter.m4: New file.
51759
51760 2005-08-16  Bruno Haible  <bruno@clisp.org>
51761
51762         * m4/mbfile.m4: New file.
51763
51764 2005-08-16  Bruno Haible  <bruno@clisp.org>
51765
51766         * m4/mbchar.m4: New file.
51767
51768 2005-08-16  Bruno Haible  <bruno@clisp.org>
51769
51770         * lib/tls.h: New file, from GNU gettext.
51771         * lib/tls.c: New file, from GNU gettext.
51772
51773 2005-08-16  Bruno Haible  <bruno@clisp.org>
51774
51775         * lib/strnlen1.h: New file.
51776         * lib/strnlen1.c: New file.
51777
51778 2005-08-16  Bruno Haible  <bruno@clisp.org>
51779
51780         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
51781         (mbi_init): Update.
51782         (mbi_avail, mbi_advance): Let the iteration end before the terminating
51783         NUL byte, not after it.
51784
51785 2005-08-16  Bruno Haible  <bruno@clisp.org>
51786
51787         * lib/strcase.h (strcasecmp): Add note in comments.
51788         * lib/strncasecmp.c: Use code from strcasecmp.c.
51789         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
51790         (strcasecmp): Work correctly in multibyte locales.
51791
51792 2005-08-16  Bruno Haible  <bruno@clisp.org>
51793
51794         * lib/mbiter.h: New file.
51795
51796 2005-08-16  Bruno Haible  <bruno@clisp.org>
51797
51798         * lib/mbfile.h: New file.
51799
51800 2005-08-16  Bruno Haible  <bruno@clisp.org>
51801
51802         * lib/mbchar.h: New file.
51803         * lib/mbchar.c: New file.
51804
51805 2005-08-16  Bruno Haible  <bruno@clisp.org>
51806
51807         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
51808         the valid ones. Makes the comparison operations transitive:
51809         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
51810         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
51811
51812 2005-08-15  Simon Josefsson  <jas@extundo.com>
51813
51814         * modules/ssize_t (License): Change to 'unlimited'.
51815
51816         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
51817
51818 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51819
51820         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
51821         Add comments for each pending glibc patch.
51822
51823 2005-08-15  Bruno Haible  <bruno@clisp.org>
51824
51825         * lib/regex.h (__restrict_arr): Don't define to __restrict if
51826         __cplusplus is defined.
51827
51828 2005-08-14  Jim Meyering  <jim@meyering.net>
51829
51830         Sync from coreutils.
51831
51832         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
51833         Use the hash-table-based cycle-detection code not just when
51834         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
51835         Reported by James Youngman in
51836         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
51837         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
51838         FTS_TIGHT_CYCLE_CHECK.
51839         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
51840         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
51841         once again.
51842         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
51843         * lib/fts.c (fd_safer): Remove decl.
51844         Include fcntl--.h rather than unistd-safer.h
51845         (fts_safe_changedir): Don't call fd_safer; no longer needed
51846         now that we include fcntl--.h.
51847
51848 2005-08-12  Simon Josefsson  <jas@extundo.com>
51849
51850         * modules/getndelim2: Use ssize_t module.
51851         * modules/getnline: Likewise.
51852         * modules/safe-read: Likewise.
51853         * modules/xreadlink: Likewise.
51854
51855         * modules/ssize_t: New file.
51856
51857 2005-08-12  Simon Josefsson  <jas@extundo.com>
51858
51859         * m4/readline.m4: Look for termcap, curses or ncurses if required.
51860
51861 2005-08-12  Simon Josefsson  <jas@extundo.com>
51862
51863         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51864         ssize_t.
51865
51866 2005-08-12  Simon Josefsson  <jas@extundo.com>
51867
51868         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
51869         readline, getdelim and check_version.
51870         (Support for systems lacking ISO C 99: Sizes of integer types):
51871         Add size_max.
51872
51873 2005-08-12  Bruno Haible  <bruno@clisp.org>
51874
51875         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
51876
51877 2005-08-11  Simon Josefsson  <jas@extundo.com>
51878
51879         * modules/readline: New file.
51880
51881         * modules/strnlen (Files): Add strnlen.h.
51882
51883 2005-08-11  Simon Josefsson  <jas@extundo.com>
51884
51885         * m4/readline.m4: New file.
51886
51887 2005-08-11  Simon Josefsson  <jas@extundo.com>
51888
51889         * lib/readline.h, readline.c: New file.
51890
51891 2005-08-11  Simon Josefsson  <jas@extundo.com>
51892
51893         * doc/gnulib.texi (Initial import, Finishing touches): Mention
51894         gl_AVOID.
51895
51896 2005-08-11  Bruno Haible  <bruno@clisp.org>
51897
51898         * lib/strnlen.h (strnlen): Change parameter name to match comment.
51899
51900 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
51901
51902         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
51903
51904 2005-08-10  Simon Josefsson  <jas@extundo.com>
51905
51906         * tests/test-iconvme.c: New file.
51907
51908 2005-08-10  Simon Josefsson  <jas@extundo.com>
51909
51910         * m4/strnlen.m4: New file.
51911
51912         * m4/strndup.m4: Don't check for strnlen declaration, done in
51913         strnlen.m4.
51914
51915 2005-08-10  Simon Josefsson  <jas@extundo.com>
51916
51917         * lib/strndup.c: Use strnlen.h.
51918
51919         * lib/strnlen.h: New file.
51920
51921 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51922
51923         * README: Typos.
51924
51925 2005-08-02  Simon Josefsson  <jas@extundo.com>
51926
51927         * modules/readline: New file.
51928
51929 2005-08-02  Simon Josefsson  <jas@extundo.com>
51930
51931         * modules/getdelim: New file.
51932
51933         * modules/getline: Rewrite, don't use getndelim2.
51934
51935 2005-08-02  Simon Josefsson  <jas@extundo.com>
51936
51937         * m4/getline.m4: Separate out getdelim stuff into separate module.
51938
51939         * m4/getdelim.m4: New file.
51940
51941 2005-08-02  Simon Josefsson  <jas@extundo.com>
51942
51943         * lib/getline.h, getline.c: Rewrite.
51944
51945         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
51946
51947 2005-07-31  Bruno Haible  <bruno@clisp.org>
51948
51949         * lib/lock.h (gl_lock_initializer): New macro.
51950         (gl_lock_define_initialized): Use it.
51951         (gl_rwlock_initializer): New macro.
51952         (gl_rwlock_define_initialized): Use it.
51953         (gl_recursive_lock_initializer): New macro.
51954         (gl_recursive_lock_define_initialized): Use it.
51955
51956 2005-07-30  Karl Berry  <karl@gnu.org>
51957
51958         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
51959         Report from Ben Pfaff, regarding getopt.
51960
51961 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
51962
51963         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
51964         normal way.
51965         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
51966         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
51967         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
51968         (gl_GETOPT): Use the new macros.  Most of the implementation
51969         is moved to the new macros.  This is for programs like Emacs
51970         that don't want all the functionality of gl_GETOPT.
51971
51972 2005-07-26  Bruno Haible  <bruno@clisp.org>
51973
51974         * m4/lock.m4: Update from GNU gettext.
51975
51976 2005-07-26  Bruno Haible  <bruno@clisp.org>
51977
51978         * lib/lock.h: Update from GNU gettext.
51979         * lib/lock.c: Update from GNU gettext.
51980
51981 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
51982
51983         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
51984         obsolescent AC_TRY_RUN.  Include the default includes files, for
51985         'exit'.
51986
51987 2005-07-24  Bruno Haible  <bruno@clisp.org>
51988
51989         * modules/visibility: New file.
51990         * MODULES.html.sh (Misc): Add visibility.
51991
51992 2005-07-24  Bruno Haible  <bruno@clisp.org>
51993
51994         * m4/visibility.m4: New file.
51995
51996 2005-07-24  Bruno Haible  <bruno@clisp.org>
51997
51998         * doc/visibility.texi: New file.
51999
52000 2005-07-22  Bruno Haible  <bruno@clisp.org>
52001
52002         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
52003         $(ALLOCA_H), redundant through BUILT_SOURCES.
52004         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
52005         redundant through BUILT_SOURCES.
52006         * modules/byteswap (Makefile.am): Remove explicit dependency on
52007         $(BYTESWAP_H), redundant through BUILT_SOURCES.
52008         * modules/fnmatch (Makefile.am): Remove explicit dependency on
52009         $(FNMATCH_H), redundant through BUILT_SOURCES.
52010         * modules/getopt (Makefile.am): Remove explicit dependency on
52011         $(GETOPT_H), redundant through BUILT_SOURCES.
52012         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
52013         redundant through BUILT_SOURCES.
52014         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
52015         redundant through BUILT_SOURCES.
52016         * modules/stdbool (Makefile.am): Remove explicit dependency on
52017         $(STDBOOL_H), redundant through BUILT_SOURCES.
52018         * modules/stdint (Makefile.am): Remove explicit dependency on
52019         $(STDINT_H), redundant through BUILT_SOURCES.
52020         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
52021         Remove explicit dependency on $(SYSEXITS_H).
52022         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
52023
52024 2005-07-18  Simon Josefsson  <jas@extundo.com>
52025
52026         * lib/check-version.c (check_version): Accept identical versions too.
52027
52028 2005-07-18  Bruno Haible  <bruno@clisp.org>
52029
52030         * modules/lock: New file.
52031         * MODULES.html.sh (Multithreading): New section.
52032
52033 2005-07-18  Bruno Haible  <bruno@clisp.org>
52034
52035         * m4/lock.m4: New file, from GNU gettext.
52036
52037 2005-07-18  Bruno Haible  <bruno@clisp.org>
52038
52039         * lib/lock.h: New file, from GNU gettext.
52040         * lib/lock.c: New file, from GNU gettext.
52041
52042 2005-07-18  Bruno Haible  <bruno@clisp.org>
52043
52044         * lib/lock.h (gl_once_t): New type.
52045         (gl_once_define, gl_once): New macros.
52046         * lib/lock.c (fresh_once): New variable.
52047         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
52048         functions.
52049
52050 2005-07-16  Simon Josefsson  <jas@extundo.com>
52051
52052         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
52053         workaround, suggested by Bruno.
52054
52055 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52056
52057         * modules/xalloc (Depends-on): Add xalloc-die.
52058         * modules/xvasprintf (Depends-on): Add xalloc-die.
52059
52060 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
52061
52062         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
52063         with a minor change.
52064
52065 2005-07-15  Bruno Haible  <bruno@clisp.org>
52066
52067         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
52068         When using lib/poll.c, define poll as rpl_poll.
52069
52070 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
52071
52072         * modules/argp (Depends-on): Remove unlocked-io.
52073
52074 2005-07-14  Derek Price  <derek@ximbiot.com>
52075
52076         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
52077         for glob symlink bug.
52078
52079 2005-07-14  Bruno Haible  <bruno@clisp.org>
52080
52081         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
52082         Instead, test for *_unlocked function declarations directly.
52083
52084 2005-07-11  Simon Josefsson  <jas@extundo.com>
52085
52086         * modules/size_max: New file.
52087
52088         * modules/xsize: Depend on size_max module for size_max.m4.
52089
52090 2005-07-11  Simon Josefsson  <jas@extundo.com>
52091
52092         * lib/size_max.h: New file.
52093
52094 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
52095
52096         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
52097         copyright symbol and the year.
52098         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
52099         (version_etc_va): Use parameterized copyright notice.
52100         Reword to conform to the current GNU coding standards.
52101
52102 2005-07-11  Karl Berry  <karl@gnu.org>
52103
52104         * doc/gnulib.texi (Quoting): new node.
52105         (Initial import): more info, from Patrice.
52106
52107 2005-07-11  Bruno Haible  <bruno@clisp.org>
52108
52109         * gnulib-tool (func_usage): Document option --avoid.
52110         (Command line options): Handle --avoid.
52111         (func_acceptable): New function.
52112         (func_modules_transitive_closure): Use it.
52113
52114 2005-07-11  Bruno Haible  <bruno@clisp.org>
52115
52116         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
52117         Reported by Jim Meyering.
52118
52119 2005-07-10  Bruno Haible  <bruno@clisp.org>
52120
52121         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
52122         Needed when size_t is smaller than 'unsigned int'.
52123         Reported by Paul Eggert.
52124
52125 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52126
52127         * modules/argp (Depends-on): Add unlocked-io
52128
52129 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52130
52131         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
52132         block of defines.
52133
52134 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
52135
52136         * config/srclist.txt: Comment out regcomp.c, since we have a porting
52137         fix now.
52138
52139 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
52140         and Paul Eggert  <eggert@cs.ucla.edu>
52141
52142         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
52143         in wint_t, not wchar_t.  Remove now-unnecessary cast.
52144
52145 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52146
52147         * modules/regex (Files): Add lib/regex_internal.c,
52148         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
52149         (Depends-on): Add extensions.
52150         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
52151
52152 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52153
52154         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
52155         pathconf.
52156         * m4/same.m4 (gl_SAME): Likewise.
52157         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
52158
52159         * m4/regex.m4: Adjust to new libc regex implementation.
52160         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
52161         all the .c and .h parts of (the new) regex.
52162         Quote the m4 stuff better.
52163         Check for RE_ICASE bug of old gnulib.
52164         Check for REG_STARTEND of recent libc.
52165         Rename local variables from jm_* to gl_*.
52166         Quote operand of "test -f".
52167         Say "recent enough" version of libc, not "version 2".
52168         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
52169         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
52170         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
52171         Remove check for btowc, isascii.
52172         Require AM_LANGINFO_CODESET.
52173
52174 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52175
52176         * lib/regex.c, regex.h: Sync from libc.
52177         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
52178         * lib/regexec.c:
52179         New files, synced from libc, except that regex_internal.h
52180         currently has a small porting fix.
52181
52182 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
52183
52184         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
52185         regex_internal.c, regexec.c.
52186         Add regex_internal.h too, but as a comment, since the libc version
52187         is currently broken in gnulib mode.
52188
52189 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
52190
52191         Support programs like Emacs that use gnulib but not gettext.
52192         * MODULES.html.sh (Internationalization functions): Add gettext-h.
52193         * modules/gettext-h: New file.
52194         * modules/gettext (Files): Remove lib/gettext.h.
52195         (Depends-on): Add gettext-h.
52196         (Makefile.am): Remove lib_SOURCES.
52197         * modules/argmatch, modules/c-stack, modules/closeout:
52198         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
52199         * modules/execute, modules/file-type, modules/getaddrinfo:
52200         * modules/getopt, modules/human, modules/javacomp:
52201         * modules/javaexec, modules/mkdir-p, modules/obstack:
52202         * modules/openat, modules/pagealign_alloc, modules/pipe:
52203         * modules/quotearg, modules/regex, modules/rpmatch:
52204         * modules/unicodeio, modules/userspec, modules/version-etc:
52205         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
52206         * modules/xsetenv:
52207         Depend on gettext-h, not gettext.
52208
52209 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
52210
52211         * gnulib-tool (func_import): Add support for 'public domain' license.
52212         * modules/alloca, modules/atexit, modules/memmove:
52213         Now public domain, not GPL.
52214         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
52215         * modules/realloc, modules/strerror, modules/strtod:
52216         Now LGPL, not GPL.
52217
52218 2005-07-05  Bruno Haible  <bruno@clisp.org>
52219
52220         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
52221         autoconf CVS. Needed for mingw.
52222
52223 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52224
52225         Remove the dependency of the strftime module on the tzset module.
52226         * modules/strftime (Depends-on): Remove dependency on tzset.
52227
52228 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52229
52230         Remove the dependency of the strftime module on the tzset module.
52231         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
52232         gl_FUNC_TZSET_CLOBBER.
52233
52234 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52235
52236         Remove the dependency of the strftime module on the tzset module.
52237         * lib/strftime.c (my_strftime)
52238         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
52239         Copy the input structure, to work around some of the bug with
52240         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
52241         Solaris releases, you should also use the tzset module, but we won't
52242         require it as a dependency any more since we don't want LGPLed code
52243         to depend on GPLed code.
52244
52245 2005-07-02  Jim Meyering  <jim@meyering.net>
52246
52247         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
52248         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
52249         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
52250         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
52251
52252 2005-07-02  Jim Meyering  <jim@meyering.net>
52253
52254         * lib/backupfile.c (backup_args): Change a `0' to NULL.
52255
52256 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52257
52258         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
52259         declares only 'struct timespec;' (!).
52260
52261 2005-07-01  Jim Meyering  <jim@meyering.net>
52262
52263         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
52264         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
52265         * lib/save-cwd.c, tempname.c:
52266         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52267         and don't include <sys/file.h>).
52268
52269 2005-06-29  Jim Meyering  <jim@meyering.net>
52270
52271         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
52272         type name.  Use the variable name instead.
52273         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
52274         Likewise.
52275
52276 2005-06-28  Simon Josefsson  <jas@extundo.com>
52277
52278         * modules/check-version (Files): Add check-version.m4.
52279
52280 2005-06-28  Simon Josefsson  <jas@extundo.com>
52281
52282         * m4/check-version.m4: New file, suggested by Jim Meyering
52283         <jim@meyering.net>.
52284
52285 2005-06-28  Simon Josefsson  <jas@extundo.com>
52286
52287         * lib/check-version.h, lib/check-version.c: New files.
52288
52289 2005-06-28  Simon Josefsson  <jas@extundo.com>
52290
52291         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
52292         collision with global variable.  Better indentation.  Don't
52293         increment buffer pointer beyond buffer end.  Based on comments
52294         from Paul Eggert <eggert@cs.ucla.edu>.
52295
52296         * lib/base64.h: Indent.
52297
52298 2005-06-28  Simon Josefsson  <jas@extundo.com>
52299
52300         * doc/gnulib.texi (Library version handling): New section.
52301
52302 2005-06-28  Jim Meyering  <jim@meyering.net>
52303
52304         * check-module (find_included_lib_files): Hard-code another
52305         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
52306         but modules/fts-lgpl (correctly) does not list those files.
52307
52308         * modules/canonicalize (Files): Add lib/pathmax.h.
52309
52310 2005-06-25  Simon Josefsson  <jas@extundo.com>
52311
52312         * modules/check-version: New file.
52313
52314 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52315
52316         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
52317         initializer of struct addrinfo, as an indication that we don't
52318         care how many members the structure has.
52319
52320 2005-06-24  Derek Price  <derek@ximbiot.com>
52321         and Bruno Haible  <bruno@clisp.org>
52322
52323         Remove stat module & update lstat.
52324         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
52325         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52326         * m4/stat.m4: Remove this file.
52327
52328 2005-06-24  Derek Price  <derek@ximbiot.com>
52329         and Bruno Haible  <bruno@clisp.org>
52330
52331         Remove stat module & update lstat.
52332         * lib/stat.c: Remove this file...
52333         (slash_aware_lstat): ...moving this content and its support...
52334         * lib/lstat.c (rpl_lstat): ...into here.
52335         * lib/lstat.h: New file.
52336
52337 2005-06-24  Derek Price  <derek@ximbiot.com>
52338         and Bruno Haible  <bruno@clisp.org>
52339
52340         Remove stat module & update lstat.
52341         * config/srclist.txt (libc sources): Remove stat.
52342
52343 2005-06-24  Derek Price  <derek@ximbiot.com>
52344         and Bruno Haible  <bruno@clisp.org>
52345
52346         Remove stat module & update lstat.
52347         * MODULES.html.sh (stat): Remove.
52348         * MODULES.html: Regenerated.
52349         * modules/lstat (Description): Correct function name.
52350         (Files): Add "lstat.h".
52351         (Depends-on): Remove stat, add xalloc, stat-macros.
52352         * modules/stat: Remove this file.
52353         (Include): Add "lstat.h", remove <sys/stat.h>.
52354
52355 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52356
52357         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
52358         (ranged_convert): Don't save conversion in a temporary struct.
52359         This causes a warning with GCC 4.0.0, and anyway in the typical
52360         case it's not worth the extra 100 bytes or so of code.
52361         (ranged_convert, __mktime_internal): When calling a function via a
52362         pointer P, use P () rather than (*P) (), as we now assume C89 or
52363         better.
52364
52365 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52366
52367         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
52368         "who -r" failed to give output.  Problem reported by Tim Waugh.
52369
52370         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
52371         (xcalloc): Use it to avoid needless tests.
52372         Problem reported by Jim Meyering.
52373
52374 2005-06-20  Derek Price  <derek@ximbiot.com>
52375
52376         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
52377         unnecessary for Autoconfs > 2.59c.
52378
52379 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52380
52381         * lib/argp.h (__option_is_short): Check upper limit of
52382         __key. Isprint() requires its argument to have the value
52383         of an unsigned char or EOF.
52384
52385 2005-06-16  Jim Meyering  <jim@meyering.net>
52386
52387         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
52388         when either N or S is zero.
52389
52390 2005-06-16  Derek Price  <derek@ximbiot.com>
52391
52392         * m4/bison.m4: Declare YACC & YFLAGS precious.
52393
52394 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52395
52396         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
52397         multibyte string or pattern, fall back on unibyte matching.
52398         Problem reported by James Youngman.
52399
52400 2005-06-08  Bruno Haible  <bruno@clisp.org>
52401
52402         * modules/csharpcomp: New file.
52403         * MODULES.html.sh (C#): Add csharpcomp.
52404
52405 2005-06-08  Bruno Haible  <bruno@clisp.org>
52406
52407         * m4/csharpcomp.m4: New file, from GNU gettext.
52408
52409 2005-06-08  Bruno Haible  <bruno@clisp.org>
52410
52411         * lib/csharpcomp.h: New file, from GNU gettext.
52412         * lib/csharpcomp.c: New file, from GNU gettext.
52413         * lib/csharpcomp.sh.in: New file, from GNU gettext.
52414
52415 2005-06-08  Bruno Haible  <bruno@clisp.org>
52416
52417         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
52418         warning on mingw.
52419
52420 2005-06-07  Derek Price  <derek@ximbiot.com>
52421
52422         Sync from CVS.
52423         * lib/glob_.h: Indent nested #ifdef.
52424
52425 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52426
52427         Sync from coreutils.
52428         Use "file name" when talking about file names, instead of "filename"
52429         or "path", as per the GNU coding standards.
52430         * lib/mkdir-p.c: Renamed from makepath.c.
52431         (make_dir_parents): Renamed from make_path.  All callers changed.
52432         * lib/mkdir-p.h: Likewise.  All includers changed.
52433         * lib/filenamecat.c: Renamed from path-concat.c.
52434         (file_name_concat): Renamed from path_concat.  All callers changed.
52435         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
52436         * lib/filenamecat.h: Likewise.  All includers changed.
52437         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
52438         in comments or local variable names.
52439         * lib/basename.c: Likewise.
52440         * lib/canonicalize.c, canonicalize.h: Likewise.
52441         * lib/dirname.c, dirname.h: Likewise.
52442         * lib/euidaccess.c: Likewise.
52443         * lib/exclude.c: Likewise
52444         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
52445         * lib/fsusage.c, fsuage.h: Likewise.
52446         * lib/fts.c, fts_.h: Likewise.
52447         * lib/getcwd.c: Likewise.
52448         * lib/getloadavg.c: Likewise.
52449         * lib/mkstemp.c: Likewise.
52450         * lib/mountlist.c, mountlist.h: Likewise.
52451         * lib/openat.c, openat.h: Likewise.
52452         * lib/readlink-stub.c: Likewise.
52453         * lib/readutmp.c, readutmp.h: Likewise.
52454         * lib/rename.c: Likewise.
52455         * lib/rmdir.c: Likewise.
52456         * lib/same.c: Likewise.
52457         * lib/savedir.c: Likewise.
52458         * lib/stripslash.c: Likewise.
52459         * lib/tempname.c: Likewise.
52460         * lib/xreadlink.c: Likewise.
52461         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
52462         All uses changed.
52463         * lib/exclude.h: Likewise.
52464
52465         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
52466         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52467         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
52468         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52469         * lib/pathmax.h: Include <limits.h> unconditionally, since other
52470         files have been getting away with it for years (MORE/BSD 4.3
52471         is extinct now).
52472         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
52473         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
52474
52475         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
52476         Define to 256, not 255, as per modern POSIX.
52477
52478 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52479
52480         Sync from coreutils.
52481         Use "file name" when talking about file names, instead of "filename"
52482         or "path", as per the GNU coding standards.
52483         * MODULES.html.sh: mkdir-p renamed from makepath.
52484         filenamecat renamed from path-concat.
52485         * modules/filenamecat: Renamed from modules/path-concat.
52486         (Files): filenamecat.h and filenamecat.c renamed from
52487         path-concat.h and path-concat.c.
52488         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
52489         (Include): filenamecat.h, not path-concat.h.
52490         * modules/mkdir-p: Renamed from modules/makepath.
52491         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
52492         makepath.c.
52493         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
52494         (Include): mkdir-p.h, not makepath.h.
52495
52496 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
52497
52498         Sync from coreutils.
52499         * m4/mkdir-p.m4: Renamed from makepath.m4.
52500         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
52501         Rename files from makepath.c to mkdir-p.c, and from
52502         makepath.h to mkdir-p.h.
52503         * m4/filenamecat.m4: Renamed from path-concat.m4.
52504         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
52505         Rename files from path-concat.c to filenamecat.c,
52506         and from path-concat.h to filenamecat.h.
52507         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
52508         "file name" in local variables or comments.
52509         * m4/rename.m4: Likewise.
52510
52511 2005-06-01  Bruno Haible  <bruno@clisp.org>
52512
52513         * modules/csharpexec: New file.
52514         * MODULES.html.sh (C#): New section.
52515
52516 2005-06-01  Bruno Haible  <bruno@clisp.org>
52517
52518         * m4/csharp.m4: New file, from GNU gettext.
52519         * m4/csharpexec.m4: New file, from GNU gettext.
52520
52521 2005-06-01  Bruno Haible  <bruno@clisp.org>
52522
52523         * lib/csharpexec.h: New file, from GNU gettext.
52524         * lib/csharpexec.c: New file, from GNU gettext.
52525         * lib/csharpexec.sh.in: New file, from GNU gettext.
52526
52527 2005-05-31  Derek Price  <derek@ximbiot.com>
52528             Paul Eggert  <eggert@cs.ucla.edu>
52529
52530         Sync from cvs.
52531         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52532
52533 2005-05-31  Derek Price  <derek@ximbiot.com>
52534             Paul Eggert  <eggert@cs.ucla.edu>
52535
52536         Sync from cvs.
52537         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
52538
52539 2005-05-29  Derek Price  <derek@ximbiot.com>
52540
52541         * config/srclist.txt (glob_.h, glob.c): Add these files.
52542
52543 2005-05-29  Derek Price  <derek@ximbiot.com>
52544
52545         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
52546         * modules/glob: New file.
52547         * modules/getlogin_r: Add link to POSIX spec in description.
52548
52549 2005-05-29  Derek Price  <derek@ximbiot.com>
52550             Paul Eggert  <eggert@cs.ucla.edu>
52551
52552         * m4/glob.m4: New file.
52553
52554 2005-05-29  Derek Price  <derek@ximbiot.com>
52555             Paul Eggert  <eggert@cs.ucla.edu>
52556
52557         * lib/glob_.h, lib/glob.c: New files.
52558
52559 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52560
52561         * modules/fts (Files): Remove m4/inttypes-pri.m4.
52562         * modules/fts-lgpl (Depends-on): Remove gettext.
52563
52564 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52565
52566         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
52567         and don't require gt_INTTYPES_PRI.
52568
52569 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52570
52571         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
52572
52573         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
52574         the configuration hassle isn't worth it.
52575         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
52576         (LONGEST_MODIFIER, PRIuMAX): Remove.
52577
52578 2005-05-27  Bruno Haible  <bruno@clisp.org>
52579
52580         * lib/getlogin_r.h: Remove second include of <stddef.h>.
52581
52582 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52583
52584         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
52585         _POSIX_PTHREAD_SEMANTICS for Solaris.
52586
52587 2005-05-25  Derek Price  <derek@ximbiot.com>
52588
52589         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
52590
52591 2005-05-25  Derek Price  <derek@ximbiot.com>
52592             Paul Eggert  <eggert@cs.ucla.edu>
52593
52594         * modules/getlogin_r, m4/getlogin_r.m4: New files.
52595         * lib/getlogin_r.c, getlogin_r.h: New files.
52596
52597 2005-05-25  Bruno Haible  <bruno@clisp.org>
52598             Derek Price  <derek@ximbiot.com>
52599
52600         * lib/getlogin_r.h: Simplify API documentation.
52601
52602 2005-05-23  Derek Price  <derek@ximbiot.com>
52603
52604         * modules/minmax (Files): Add m4/minmax.m4.
52605         (configure.ac): Add gl_MINMAX.
52606
52607 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52608
52609         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
52610         so that unistd-safer.h (GPL'ed code) need not be included.
52611
52612 2005-05-22  Bruno Haible  <bruno@clisp.org>
52613
52614         * m4/minmax.m4: New file.
52615         Based on a patch by Derek Price <derek@ximbiot.com>.
52616
52617 2005-05-22  Bruno Haible  <bruno@clisp.org>
52618
52619         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
52620         (INT64_MIN): Fix definition.
52621         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
52622
52623         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
52624         NEED_SIGNED_INT_TYPES.
52625
52626         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
52627         HAVE_SYSTEM_INTTYPES.
52628
52629 2005-05-22  Bruno Haible  <bruno@clisp.org>
52630
52631         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
52632         Also include <sys/param.h> if it defines MIN, MAX.
52633         Based on a patch by Derek Price <derek@ximbiot.com>.
52634
52635 2005-05-21  Jim Meyering  <jim@meyering.net>
52636
52637         * modules/fts (Files): Add m4/inttypes-pri.m4.
52638         (Depends-on): Add lstat and remove gettext.  Alphabetize.
52639
52640 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52641
52642         New fts module.
52643         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
52644         (setup_dir, free_dir): New functions.
52645         (enter_dir, leave_dir): Define trivial
52646         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
52647         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
52648         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
52649         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
52650         Move to fts-cycle.c.
52651         (fts_open): Use setup_dir.
52652         (fts_close): Use free_dir.
52653         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
52654         This adds a label and some gotos, but the alternatives were messier.
52655         Check for memory allocation failure when entering a dir.
52656         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
52657         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
52658         (FTS): New member fts_cycle, that is a union that contains the
52659         old active_dir_ht and cycle_state.  All uses changed to mention
52660         fts_cycle.ht and fts_cycle.state.
52661         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
52662         fts.c, with the following changes:
52663         (setup_dir, free_dir): New functions.
52664         (enter_dir): Now returns bool.  Return true if successful, false
52665         if memory exhausted.  All callers changed.
52666         Do not bother partly cleaning up on
52667         memory allocation failure; that is free_dir's job.
52668         However, free ad if hash_insert fails, to avoid memory leak.
52669         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
52670         fts->fts_options to see which union member to use.
52671
52672 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52673
52674         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
52675         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
52676
52677 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
52678
52679         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
52680
52681 2005-05-20  Jim Meyering  <jim@meyering.net>
52682
52683         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
52684         Now a macro, to pacify GCC.
52685
52686 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
52687
52688         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
52689         of -1.
52690
52691 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
52692
52693         * lib/chown.c (rpl_chown): Return -1 on failure.
52694
52695 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52696
52697         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
52698         Don't check for stddef.h.
52699         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
52700         don't use its results.
52701         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
52702         since we include them unconditionally.  Don't require
52703         AM_STDBOOL_H, since stdbool is a prerequisite.
52704         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
52705         since we assume C89 or better.
52706         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
52707         as we don't use their results.
52708         Don't check for fchdir, memmove, memset, strrchr, as we use
52709         them unconditionally.
52710         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
52711         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
52712
52713 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52714
52715         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
52716         Include <stddef.h> unconditionally, since we assume C89 now.
52717         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
52718         * lib/fts.c: Include fts_.h first, to check interface.
52719         Do not include intprops.h; no longer needed.
52720         Include cycle-check.h and hash.h, since fts_.h no longer does.
52721         Remove unnecessary casts of closedir to void.
52722         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
52723         decide whether to decrement nlinks.
52724         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
52725         (FTS): Use struct hash_table * instead of Hash_table, so that
52726         we no longer need to include hash.h here.
52727
52728 2005-05-18  Jim Meyering  <jim@meyering.net>
52729
52730         * modules/dirfd (License): Change to LGPL.  Most of the code
52731         is already in the public domain.
52732
52733 2005-05-18  Jim Meyering  <jim@meyering.net>
52734
52735         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
52736         Reported by Yoann Vandoorselaere.
52737
52738 2005-05-17  Jim Meyering  <jim@meyering.net>
52739
52740         * m4/fts.m4: New file, from coreutils.
52741
52742 2005-05-17  Jim Meyering  <jim@meyering.net>
52743
52744         * lib/fts.c, lib/fts_.h: New files, from coreutils.
52745
52746 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52747
52748         Sync from coreutils.
52749         * m4/unlinkdir.m4: New file.
52750
52751 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52752
52753         Sync from coreutils.
52754         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
52755         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
52756         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
52757         White space changes only.
52758         * lib/makepath.c (make_path): Port to hosts where leading "//" is
52759         special.
52760         * lib/yesno.c: Include getline.h, not ctype.h.
52761         (yesno): Don't remove leading white space; POSIX doesn't allow it.
52762         Use getline to remove arbitrary restriction on response length.
52763
52764 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52765
52766         * config/srclist-update: Spell out "Street" in FSF postal
52767         mail address; this is the style the FSF seems to prefer.
52768
52769         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
52770         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
52771         this updates FSF postal mail address.
52772
52773         Sync from coreutils.
52774         * modules/unlinkdir: New file.
52775         * modules/yesno (Depends-on): Add getline.
52776         * MODULES.html.sh (File system functions): Add unlinkdir.
52777
52778 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52779
52780         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
52781         lib/strsep.h:
52782         Change the initial comment to refer to GPL, not LGPL.
52783         gnulib-tool will change it to LGPL as needed.
52784
52785         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
52786         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
52787         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
52788         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
52789         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
52790         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
52791         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
52792         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
52793         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
52794         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
52795         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
52796         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
52797         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
52798         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
52799         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
52800         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
52801         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
52802         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
52803         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
52804         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
52805         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
52806         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
52807         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
52808         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
52809         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
52810         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
52811         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
52812         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
52813         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
52814         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
52815         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
52816         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
52817         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
52818         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
52819         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
52820         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
52821         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
52822         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
52823         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
52824         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
52825         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
52826         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
52827         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
52828         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
52829         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
52830         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
52831         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
52832         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
52833         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
52834         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
52835         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
52836         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
52837         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
52838         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
52839         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
52840         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
52841         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
52842         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
52843         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
52844         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
52845         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
52846         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
52847         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
52848         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
52849         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
52850         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
52851         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
52852         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
52853         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
52854         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
52855         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
52856         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
52857         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
52858         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
52859         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
52860         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
52861         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
52862         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
52863         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
52864         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
52865         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
52866         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
52867         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
52868         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
52869         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
52870         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
52871         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
52872         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
52873         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
52874         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
52875         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
52876         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
52877         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
52878         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
52879         lib/yesno.c, lib/yesno.h:
52880         Update FSF postal mail address.
52881
52882 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
52883
52884         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
52885         tests/test-memmem.c, tests/test-stpncpy.c:
52886         Update FSF postal mail address.
52887
52888 2005-05-13  Bruno Haible  <bruno@clisp.org>
52889
52890         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
52891         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
52892         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
52893         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
52894         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
52895         Add support for 64-bit integers in the MSVC compiler.
52896
52897 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
52898
52899         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
52900
52901 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
52902
52903         * gnulib-tool (func_import): Sort and uniquify recommended includes.
52904
52905 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
52906
52907         * doc/getdate.texi (General date syntax): Don't say that date
52908         date --iso-8601=ns generates acceptable dates; it doesn't yet.
52909         Problem reported by Nic Ferrier.
52910
52911 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52912
52913         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
52914         specified in ai_socktype. Fix invalid ai_protocol
52915         check. ai_protocol is usually set to 0 or depending on
52916         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
52917         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
52918         ai_socktype / ai_protocol in the returned addrinfo structure.
52919
52920 2005-05-10  Simon Josefsson  <jas@extundo.com>
52921
52922         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
52923         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52924
52925 2005-05-10  Karl Berry  <karl@gnu.org>
52926
52927         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
52928         (from http://www.gnu.org/licenses).
52929         * doc/COPYING.LIB: also rename to COPYING.LESSER.
52930         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
52931         fdl.texi suffices.
52932
52933 2005-05-10  Karl Berry  <karl@gnu.org>
52934
52935         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
52936         (COPYING.DOC): remove.
52937
52938         * config/srclist-update: new FSF address.
52939
52940 2005-05-10  Derek Price  <derek@ximbiot.com>
52941
52942         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
52943         possible.
52944
52945 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52946             Bruno Haible  <bruno@clisp.org>
52947
52948         * modules/inet_ntop: New file.
52949         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52950         inet_ntop.
52951
52952 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52953             Bruno Haible  <bruno@clisp.org>
52954
52955         * m4/inet_ntop.m4: New file.
52956
52957 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52958             Bruno Haible  <bruno@clisp.org>
52959
52960         * lib/inet_ntop.h: New file.
52961         * lib/inet_ntop.c: New file, from glibc with modifications.
52962
52963 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
52964
52965         * modules/time_r (License): Change to LGPL.
52966         * modules/extensions (License): Change to LGPL.  Actually,
52967         the license is more permissive than that, but currently gnulib-tool
52968         doesn't know how to handle more-permissive licenses.
52969
52970         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
52971         Problem reported by Dave Love.
52972
52973 2005-05-08  Jim Meyering  <jim@meyering.net>
52974
52975         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
52976         blank.
52977
52978 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
52979
52980         * modules/argmatch (Depends-on): Add stdbool.
52981         * modules/backupfile (Depends-on): Likewise.
52982         * modules/chdir-long (Depends-on): Likewise.
52983         * modules/closeout (Depends-on): Likewise.
52984         * modules/cycle-check (Depends-on): Likewise.
52985         * modules/dirname (Depends-on): Likewise.
52986         * modules/fnmatch (Depends-on): Likewise.
52987         * modules/fsusage (Depends-on): Likewise.
52988         * modules/fwriteerror (Depends-on): Likewise.
52989         * modules/getcwd (Depends-on): Likewise.
52990         * modules/getloadavg (Depends-on): Likewise.
52991         * modules/hard-locale (Depends-on): Likewise.
52992         * modules/makepath (Depends-on): Likewise.
52993         * modules/mountlist (Depends-on): Likewise.
52994         * modules/nanosleep (Depends-on): Likewise.
52995         * modules/posixtm (Depends-on): Likewise.
52996         * modules/quotearg (Depends-on): Likewise.
52997         * modules/readtokens (Depends-on): Likewise.
52998         * modules/readtokens0 (Depends-on): Likewise.
52999         * modules/readutmp (Depends-on): Likewise.
53000         * modules/save-cwd (Depends-on): Likewise.
53001         * modules/strftime (Depends-on): Likewise.
53002         * modules/userspec (Depends-on): Likewise.
53003         * modules/utimecmp (Depends-on): Likewise.
53004         * modules/xgetcwd (Depends-on): Likewise.
53005         * modules/xnanosleep (Depends-on): Likewise.
53006         * modules/xstrtod (Depends-on): Likewise.
53007         * modules/yesno (Depends-on): Likewise.
53008
53009 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53010
53011         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
53012         needless checks.
53013
53014 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53015
53016         Merge from coreutils.  Among other things,
53017         add bulletproofing for cases where stdin, stdout, or stderr are closed.
53018         * lib/fd-safer.c: New file.
53019         * lib/fcntl-safer.h, open-safer.c: Remove.
53020         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
53021         * lib/dup-safer.c: Include unistd-safer.h first.
53022         Don't include errno.h.
53023         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
53024         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
53025         * lib/file-type.c: Rely on file-type.h change.
53026         * lib/getloadavg.c: Include unistd-safer.h.
53027         (getloadavg): Use safer open.
53028         * lib/getusershell.c: Include "stdio-safer.h".
53029         (getusershell): Use safer fopen.
53030         * lib/long-options.c (long_options): Use NULL rather than 0.
53031         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
53032         'free'.
53033         * lib/modechange.c: Likewise.
53034         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
53035         (MODE_DONE): New constant.
53036         (struct mode_change): Remove 'next' member.
53037         (make_node_op_equals): New function; like the old one of the
53038         same name, except it allocates an array.
53039         (mode_compile, mode_create_from_ref): Use it.
53040         (mode_compile): Allocate result as an array, not a linked list.
53041         Parse octal string ourself, so that we catch mistakes like "+0".
53042         (mode_adjust): Arg is an array, not a linked list.
53043         * lib/modechange.c: Include stat-macros.h, xalloc.h.
53044         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
53045         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
53046         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
53047         Remove.  This is now stat-macros.h's job.
53048         (talloc): Remove.  All callers replaced by xalloc, so that
53049         our invokers don't have to worry about reporting memory failures.
53050         (make_node_op_equals): Remove.
53051         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53052         New constants.
53053         (struct mode_change): Moved here from modechange.h.
53054         (mode_append_entry): Remove.
53055         (mode_compile): Remove MASKED_OPS arg, since it encouraged
53056         apps to have incorrect behavior.  Use simpler algorithm for head
53057         and tail.  Don't futz with umask; that's now the job of mode_adjust.
53058         Detect more invalid usages rather than having somewhat-random behavior.
53059         Don't insert an "a=" action, as that leads to incorrect behavior.
53060         (mode_compile, mode_create_from_ref): Return NULL on error instead
53061         of an enum, since now there's only one way to have an error.  All
53062         callers changed.
53063         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
53064         at the correct time.  Simplify calculation of "+u" and its ilk.
53065         Don't mishandle "+X".
53066         (mode_free): Remove "register" and localize decls.
53067         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
53068         (struct mode_change): Move to modechange.c; callers don't
53069         need to see this stuff.
53070         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
53071         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
53072         (mode_change, mode_adjust): Reflect the new signatures noted above.
53073         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
53074         that might redefine system include files.
53075         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
53076         (my_usleep): Use NULL rather than (void *) 0.
53077         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
53078         Use siginterrupt to specify that system calls should be interrupted.
53079         (rpl_nanosleep): Move initialization of suspended closer to call of
53080         my_usleep.
53081         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
53082         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
53083         (desirable_utmp_entry): New function.
53084         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
53085         using x2nrealloc, to simplify logic.
53086         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
53087         size calculation.  Do not assume utmp file is a regular file.
53088         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
53089         (READ_UTMP_CHECK_PIDS): New constant.
53090         * lib/save-cwd.c: Include unistd-safer.h.
53091         (save_cwd): Use fd_safer.
53092         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
53093         [!_LIBC] Include "stat-macros.h" instead.
53094         * lib/unistd-safer.h (fd_safer): New decl.
53095
53096 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53097
53098         * modules/getloadavg (Depends-on): Add unistd-safer.
53099         * modules/getusershell (Depends-on): Add stdio-safer.
53100         * modules/lstat (Depends-on): Remove xalloc.
53101         * modules/mkstemp (Depends-on): Add stat-macros.
53102         * modules/modechange (Depends-on): Remove xstrtol.
53103         Add stat-macros, xalloc.
53104         * modules/save-cwd (Depends-on): Add unistd-safer.
53105         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
53106         * modules/unistd-safer (Files): Add lib/fd-safer.c
53107         (Makefile.am): Remove lib_SOURCES.
53108
53109         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
53110         Remove fcntl-safer; unistd-safer supersedes it.
53111
53112 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53113
53114         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
53115         AC_HEADER_STAT.
53116         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
53117         (gl_PREREQ_CHOWN): Remove.
53118         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
53119         it.  Don't require AC_HEADER_STAT.
53120         (gl_PREREQ_LSTAT): Remove.
53121         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
53122         Don't require AC_HEADER_STAT.
53123         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
53124         (gl_PREREQ_RMDIR): Remove.
53125         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
53126         mention stat-macros.h or AC_HEADER_STAT, since we'll make
53127         the stat-macros module a prerequisite.
53128         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
53129         * m4/filemode.m4 (gl_FILEMODE): Likewise.
53130         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
53131         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
53132         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
53133         variable names.
53134         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
53135         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
53136         variable prefixes.
53137         * m4/fcntl-safer.m4: Remove.
53138         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
53139         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
53140         Invoke gl_PREREQ_FD_SAFER.
53141         (gl_PREREQ_FD_SAFER): New macro.
53142         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
53143         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
53144         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
53145         Remove duplicate call to AC_LIBOBJ(readutmp).
53146         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
53147
53148         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
53149         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
53150
53151 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53152
53153         * MODULES.html.sh (Misc): Add byteswap.
53154
53155 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53156
53157         * modules/getcwd (Depends-on): Add extensions.
53158         * modules/openat (Depends-on): Likewise.
53159
53160 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53161
53162         * modules/byteswap: New file.
53163
53164 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53165
53166         * m4/byteswap.m4: New file.
53167
53168 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
53169
53170         * lib/byteswap_.h: New file.
53171
53172 2005-04-25  Karl Berry  <karl@gnu.org>
53173
53174         * m4/gettext.m4: Update from GNU gettext 0.14.4.
53175
53176 2005-04-25  Albert Chin  <china@thewrittenword.com>
53177
53178         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
53179         Toolkit C bug.
53180
53181 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
53182
53183         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
53184         (func_ln_if_changed) Remove forcibly for no error message
53185         in case file does not exist.
53186
53187 2005-04-19  Simon Josefsson  <jas@extundo.com>
53188
53189         * gnulib-tool (Options): Make --symlink mean --symbolic.
53190
53191 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
53192
53193         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
53194
53195 2005-04-16  Simon Josefsson  <jas@extundo.com>
53196
53197         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
53198
53199 2005-04-15  Simon Josefsson  <jas@extundo.com>
53200
53201         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
53202
53203 2005-04-15  Simon Josefsson  <jas@extundo.com>
53204
53205         * gnulib-tool: Rename --symlink to --symbolic.
53206
53207 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
53208
53209         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
53210         symbolic links to files instead of copying/moving.  Add --aux-dir,
53211         specifying directory relative --dir where auxiliary build tools
53212         are placed.
53213
53214 2005-04-14  Bruno Haible  <bruno@clisp.org>
53215
53216         * modules/allocsa (License): Change to LGPL.
53217         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53218
53219 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53220
53221         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
53222         that "UTC +1 second" continues to work.  Problem reported
53223         by Dmitry V. Levin.
53224         (relunit_snumber): New rule.
53225         (relunit): Use it.
53226
53227 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
53228
53229         * lib/getdate.y (universal_time_zone_table): New constant.
53230         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
53231         universal_time_zone_table.
53232         (lookup_zone): Prefer universal_time_zone_table to
53233         local_time_zone_table, so that "GMT" time stamps are allowed in
53234         London during the summer.  Problem reported by Ian Abbott.
53235
53236 2005-04-12  Jim Meyering  <jim@meyering.net>
53237
53238         * lib/human.c (humblock): Set *options even when returning due to
53239         xstrtoumax conversion failure.  Thanks to a used-uninitialized
53240         warning from gcc-4.
53241
53242 2005-04-09  Jim Meyering  <jim@meyering.net>
53243
53244         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
53245         -Wuninitialized: initialize tm0.tm_year.
53246
53247 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
53248
53249         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
53250         count, since there's no maximum.  All uses changed.
53251         Add member dsts_seen.
53252         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
53253         not being INT_MAX.
53254         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
53255         Use pc_rels_seen to decide whther a date is absolute.
53256
53257         * lib/getdate.y (number): Don't overwrite year.
53258         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
53259         check.
53260
53261 2005-04-02  Simon Josefsson  <jas@extundo.com>
53262
53263         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
53264         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
53265
53266 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
53267
53268         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
53269         where no absolute path name can be longer than PATH_MAX.
53270
53271 2005-03-27  Jim Meyering  <jim@meyering.net>
53272
53273         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
53274
53275 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
53276
53277         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
53278         "one's complement" -> "ones' complement" in comment, as per Knuth.
53279         "value of type" -> "type or expression" in comment.
53280         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
53281
53282 2005-03-26  Jim Meyering  <jim@meyering.net>
53283
53284         Comment nits.
53285         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
53286         Correct typos: s/or/of/.
53287
53288 2005-03-26  Jim Meyering  <jim@meyering.net>
53289
53290         * modules/check-include-files: Move to ../ and rename to...
53291         * check-module: ...this.
53292
53293 2005-03-25  Jim Meyering  <jim@meyering.net>
53294
53295         * modules/xvasprintf (Files): Add xalloc.h.
53296
53297 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
53298
53299         * modules/gettext (Files): config/config.rpath ->
53300         build-aux/config.rpath
53301         * modules/iconv (Files): Likewise.
53302         Problem reported by Oskar Liljeblad.
53303
53304 2005-03-23  Jim Meyering  <jim@meyering.net>
53305
53306         * modules/check-include-files: New script to check for
53307         missing dependencies, multiple includes, etc.
53308
53309         * modules/c-strtold (Depends-on): Add xalloc.
53310         * modules/c-strtod (Depends-on): Add xalloc.
53311         * modules/hash (Depends-on): Add xalloc.
53312         (Files): Remove lib/xalloc.h.
53313
53314         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
53315         * modules/userspec (Files): Add lib/inttostr.h.
53316
53317 2005-03-23  Jim Meyering  <jim@meyering.net>
53318
53319         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
53320
53321 2005-03-22  Jim Meyering  <jim@meyering.net>
53322
53323         * modules/stat-macros: New module.
53324         * modules/canonicalize, modules/euidaccess, modules/file-type,
53325         * modules/filemode, modules/lchown, modules/makepath,
53326         * modules/rmdir, modules/stat: Depend on new stat-macros module
53327         rather than listing lib/stat-macros.h manually.
53328         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
53329
53330 2005-03-22  Jim Meyering  <jim@meyering.net>
53331
53332         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
53333
53334 2005-03-22  Bruno Haible  <bruno@clisp.org>
53335
53336         * config/srclist.txt: Replace target directory 'config' with
53337         'build-aux'.
53338         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
53339         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
53340         ../build-aux/.
53341
53342 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
53343
53344         * modules/chdir-long (Depends-on): Add mempcpy.
53345
53346         * modules/acl, modules/backupfile, modules/c-strtod,
53347         modules/c-strtold, modules/canon-host, modules/canonicalize,
53348         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
53349         modules/exclude, modules/exitfail, modules/file-type,
53350         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
53351         modules/getdate, modules/getline, modules/getpagesize,
53352         modules/getpass, modules/getugroups, modules/group-member,
53353         modules/hard-locale, modules/hash, modules/human, modules/idcache,
53354         modules/inttostr, modules/long-options, modules/makepath,
53355         modules/md5, modules/memcasecmp, modules/memcoll,
53356         modules/modechange, modules/mountlist, modules/path-concat,
53357         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
53358         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
53359         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
53360         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
53361         modules/strftime, modules/strndup, modules/strverscmp,
53362         modules/timespec, modules/unlocked-io, modules/userspec,
53363         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
53364         modules/yesno:
53365         Remove lib_SOURCES line from Makefile.am section, as this is now
53366         done automatically by the corresponding Autoconf macro.
53367
53368 2005-03-21  Jim Meyering  <jim@meyering.net>
53369
53370         Changes imported from coreutils.
53371
53372         * lib/cycle-check.c: Don't include xalloc.h.
53373
53374         * lib/path-concat.c: Don't include assert.h.
53375         (path_concat): Remove assertion that would have triggered
53376         for ABASE starting with more than one slash.
53377         Reported by Andreas Schwab.
53378
53379         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
53380         properly when ABASE is an absolute file name.
53381         Correct the description of this function.
53382         Include <assert.h>.
53383         Add an assertion and a test driver.
53384         This fixes a bug introduced on 2004-07-02.
53385         Andreas Schwab reported the resulting failure of cp --parents:
53386         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
53387
53388 2005-03-21  Jim Meyering  <jim@meyering.net>
53389
53390         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
53391         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
53392
53393 2005-03-21  Jim Meyering  <jim@meyering.net>
53394         and  Paul Eggert  <eggert@cs.ucla.edu>
53395
53396         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
53397         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
53398         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
53399         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
53400         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
53401         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
53402         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
53403         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
53404         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
53405         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
53406         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
53407         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
53408         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
53409         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
53410         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
53411         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
53412         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
53413         for these modules.
53414
53415 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
53416
53417         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
53418         (which shouldn't happen), generate nothing instead of returning 0
53419         immediately, so that nstrftime (NULL, ...) doesn't return 0.
53420
53421 2005-03-16  Bruno Haible  <bruno@clisp.org>
53422
53423         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
53424         HAVE_LONGLONG_64BIT.
53425
53426 2005-03-16  Bruno Haible  <bruno@clisp.org>
53427
53428         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
53429         HAVE_LONGLONG_64BIT.
53430
53431 2005-03-16  Bruno Haible  <bruno@clisp.org>
53432
53433         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
53434         HAVE_LONGLONG_64BIT.
53435
53436 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53437
53438         * lib/strftime.c (my_strftime): Prepend space to format so that we can
53439         reliably distinguish strftime failure from empty output on POSIX
53440         hosts.
53441
53442 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
53443
53444         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
53445         (iconv_string): Don't guess a size-zero buffer, as that might cause
53446         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
53447         result would be 'too large', where 'too large' is (heuristically)
53448         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
53449         overflow concerns.  This will prevent some unwanted malloc failures
53450         when the inputs are very large.
53451
53452 2005-03-15  Karl Berry  <karl@gnu.org>
53453
53454         * config/srclist.txt (config.rpath): from gettext.
53455         * config/config.rpath: update.
53456
53457 2005-03-15  Bruno Haible  <bruno@clisp.org>
53458
53459         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
53460         to 'negate'.
53461
53462         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
53463         variable.
53464
53465         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
53466         results.
53467
53468 2005-03-14  Simon Josefsson  <jas@extundo.com>
53469
53470         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
53471         <fx@gnu.org>.
53472
53473 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
53474
53475         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
53476         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
53477         intprops.h.
53478         * lib/strtol.c: Likewise.
53479
53480 2005-03-14  Jim Meyering  <jim@meyering.net>
53481
53482         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
53483         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
53484         to be nonzero so that we (and caller) can detect the difference
53485         between a valid zero-length expansion and an error return, even
53486         when the underlying strftime fails before writing anything into
53487         that location.
53488
53489 2005-03-14  Bruno Haible  <bruno@clisp.org>
53490
53491         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
53492         Update from GNU gettext 0.14.3.
53493
53494 2005-03-10  Jim Meyering  <jim@meyering.net>
53495
53496         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
53497
53498 2005-03-10  Jim Meyering  <jim@meyering.net>
53499
53500         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
53501         so that this module works on systems without fchdir.
53502
53503 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
53504
53505         Factor int-properties macros into a single file, except for
53506         glibc-related files.
53507         * lib/intprops.h: New file.
53508         * lib/getloadavg.c: Include it instead of limits.h.
53509         (INT_STRLEN_BOUND): Remove.
53510         * lib/human.c: Include intprops.h.
53511         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
53512         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
53513         302/1000.
53514         * lib/inttostr.h: Include intprops.h instead of limits.h.
53515         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
53516         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
53517         for consistency with intprops.h.
53518         (time_t_is_integer, twos_complement_arithmetic): Use them.
53519         * lib/sig2str.h: Include <signal.h>, intprops.h.
53520         (INT_STRLEN_BOUND): Remove.
53521         * lib/strftime.c (TYPE_SIGNED): Remove.
53522         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
53523         * lib/strtol.c: Adjust comments to match intprops.h.
53524         * lib/userspec.c: Include intprops.h.
53525         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
53526         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
53527         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
53528         instead of rolling our own expressions.
53529         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
53530
53531         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
53532         instead of int.
53533         (my_strftime): Do not mishandle years close to INT_MAX, by doing
53534         the right thing even if adding 1900 would overflow.  Similarly
53535         for tm_mon + 1 and tm_yday + 1.
53536         Make %Y always equivalent to %C%y, and similarly for %G and %g.
53537         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
53538         (DO_SIGNED_NUMBER): New macro.
53539         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
53540
53541 2005-03-07  Bruno Haible  <bruno@clisp.org>
53542
53543         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
53544
53545 2005-03-07  Bruno Haible  <bruno@clisp.org>
53546
53547         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
53548
53549 2005-03-04  Derek R. Price  <derek@ximbiot.com>
53550
53551         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
53552         (func_import): Only replace files via --import when they have actually
53553         changed.
53554
53555 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53556
53557         * m4/mmap-anon.m4: New file.
53558         * m4/pagealign_alloc.m4: New file.
53559
53560 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53561             Bruno Haible  <bruno@clisp.org>
53562
53563         * modules/pagealign_alloc: New file.
53564         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
53565
53566 2005-03-03  Derek R. Price  <derek@ximbiot.com>
53567             Bruno Haible  <bruno@clisp.org>
53568
53569         * lib/pagealign_alloc.h: New file.
53570         * lib/pagealign_alloc.c: New file.
53571
53572 2005-03-03  Bruno Haible  <bruno@clisp.org>
53573
53574         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
53575         Use an all-permissive copyright notice, recommended by RMS.
53576
53577 2005-03-02  Bruno Haible  <bruno@clisp.org>
53578
53579         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
53580         of AIX, the replacement has to be done only after <string.h> is
53581         included, therefore not in config.h. stpncpy.h does the replacement,
53582         and stpncpy.c uses it.
53583
53584 2005-03-02  Bruno Haible  <bruno@clisp.org>
53585
53586         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
53587         stpncpy.c uses it.
53588
53589 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53590
53591         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
53592         The workaround isn't strictly needed for POSIX conformance, and
53593         it's too much of a pain to configure and maintain.  We'll ask
53594         people to fix their kernels instead.
53595         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
53596         (NANOSLEEP_BUG_WORKAROUND): Remove.
53597         (xnanosleep): Remove the workaround.
53598
53599 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53600
53601         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
53602         Reported by Derek Price.
53603         (Include): Add "timespec.h".
53604
53605         * modules/xnanosleep (Depends-on): Remove gethrxtime.
53606
53607 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53608
53609         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
53610         to detect nanosleep bug.
53611
53612 2005-03-01  Bruno Haible  <bruno@clisp.org>
53613
53614         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
53615
53616 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53617
53618         * modules/gethrxtime: New file.
53619         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
53620         (Depends-on): Add gethrxtime.
53621         (configure.ac): Add gl_XNANOSLEEP.
53622         (Makefile.am): Remove lib_SOURCES line.
53623
53624 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53625
53626         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
53627         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
53628
53629 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
53630
53631         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
53632         * lib/timespec.h (gettime): Return void, since it always
53633         succeeds now.  All uses changed.
53634         * lib/gettime.c (gettime) Likewise.
53635         [HAVE_NANOTIME]: Prefer nanotime.
53636         Assume gettimeofday succeeds, as POSIX requires.
53637         Assime time () succeeds, since other code already does.
53638         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
53639         (timespec_subtract): Remove.
53640         (NANOSLEEP_BUG_WORKAROUND): New constant.
53641         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
53642         things considerably.  Use it only on GNU/Linux hosts, since the
53643         workaround shouldn't be needed elsewhere.
53644
53645 2005-02-24  Bruno Haible  <bruno@clisp.org>
53646
53647         * modules/gettext (Files): Add m4/glibc2.m4.
53648
53649 2005-02-24  Bruno Haible  <bruno@clisp.org>
53650
53651         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
53652         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
53653         * m4/progtest.m4:
53654         Update from GNU gettext 0.14.2.
53655         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
53656
53657 2005-02-24  Bruno Haible  <bruno@clisp.org>
53658
53659         * lib/localcharset.c: Update from GNU gettext 0.14.2.
53660         * lib/config.charset: Update from GNU gettext 0.14.2.
53661
53662 2005-02-24  Bruno Haible  <bruno@clisp.org>
53663
53664         * lib/gettext.h: Update from GNU gettext 0.14.2.
53665
53666 2005-02-23  Simon Josefsson  <jas@extundo.com>
53667
53668         * m4/iconvme.m4: New file.
53669
53670 2005-02-23  Jim Meyering  <jim@meyering.net>
53671
53672         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
53673         change.
53674         Thanks to Bruno Haible for catching it.
53675
53676 2005-02-22  Simon Josefsson  <jas@extundo.com>
53677
53678         * modules/iconvme: New file.
53679
53680         * MODULES.html.sh: Add iconvme.
53681
53682 2005-02-22  Simon Josefsson  <jas@extundo.com>
53683
53684         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
53685
53686 2005-02-22  Simon Josefsson  <jas@extundo.com>
53687
53688         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
53689
53690 2005-02-22  Jim Meyering  <jim@meyering.net>
53691
53692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
53693         s/ifndef/ifdef/.
53694
53695 2005-02-20  Neil Conway  <neilc@samurai.com>
53696
53697         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
53698         returned by OSX/Darwin if the specified buffer is not large
53699         enough for the hostname.
53700
53701 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53702
53703         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
53704         pass it to _help, otherwise the latter coredumps trying to
53705         dereference state.root_argp.
53706
53707 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53708
53709         * modules/chdir-long (Depends-on): Add memrchr.
53710         * modules/memrchr (Files): Add lib/memrchr.h.
53711         (Include): "memrchr.h".
53712
53713 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53714
53715         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
53716
53717 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53718
53719         * lib/memrchr.h: New file.
53720         * lib/chdir-long.c: Include it.
53721         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
53722         Don't bother including stddef.h.
53723
53724 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53725
53726         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
53727         inclusion.
53728         Include <sys/types.h>, for dev_t.
53729         (ME_DUMMY, ME_REMOTE): Move from here....
53730         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
53731         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
53732         Dmitry V. Levin.
53733         Include mountlist.h first, to test the interface.
53734
53735 2005-01-29  Bruno Haible  <bruno@clisp.org>
53736
53737         * lib/progname.c (program_name): Initialize.
53738         Needed when linking statically on MacOS X.
53739
53740 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53741
53742         Sync from coreutils.
53743         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
53744         (Depends-on): Add c-strtod.
53745         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
53746
53747 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53748
53749         Sync from coreutils.
53750         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
53751
53752         Remove files that are specific to coreutils.
53753         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
53754
53755 2005-01-28  Bruno Haible  <bruno@clisp.org>
53756
53757         * modules/javacomp: New file.
53758         * MODULES.html.sh (Java): Add javacomp.
53759
53760 2005-01-28  Bruno Haible  <bruno@clisp.org>
53761
53762         * m4/javacomp.m4: New file, from GNU gettext.
53763
53764 2005-01-28  Bruno Haible  <bruno@clisp.org>
53765
53766         * lib/javacomp.sh.in: New file, from GNU gettext.
53767         * lib/javacomp.h: New file, from GNU gettext.
53768         * lib/javacomp.c: New file, from GNU gettext.
53769
53770 2005-01-26  Simon Josefsson  <jas@extundo.com>
53771
53772         * lib/gai_strerror.c: Use GPL in header.
53773
53774 2005-01-26  Bruno Haible  <bruno@clisp.org>
53775
53776         * modules/javaexec: New file.
53777         * MODULES.html.sh (Java): Add javaexec.
53778
53779 2005-01-26  Bruno Haible  <bruno@clisp.org>
53780
53781         * m4/javaexec.m4: New file, from GNU gettext.
53782
53783 2005-01-26  Bruno Haible  <bruno@clisp.org>
53784
53785         * lib/javaexec.sh.in: New file, from GNU gettext.
53786         * lib/javaexec.h: New file, from GNU gettext.
53787         * lib/javaexec.c: New file, from GNU gettext.
53788
53789 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53790
53791         * modules/lchown (Depends-on): Remove lchown.h
53792
53793 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53794
53795         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
53796         must be defined if the header file was not found, in order
53797         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
53798
53799 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
53800
53801         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
53802         initializers for struct pentry_state.
53803         (__argp_error): Check return value of __asprintf
53804         (__argp_failure): Translate error message
53805
53806         * lib/argp-parse.c: Removed braces around the expansion of N_()
53807
53808 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53809
53810         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
53811         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
53812         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
53813         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
53814         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
53815         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
53816         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
53817         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
53818         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
53819         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
53820         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
53821         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
53822         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
53823         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
53824         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
53825         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
53826         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
53827         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
53828         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
53829         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
53830         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
53831         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
53832         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
53833         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
53834         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
53835         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
53836         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
53837         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
53838         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
53839         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
53840         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
53841         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
53842         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
53843         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
53844         xstrtol.m4, xstrtoumax.m4, yesno.m4:
53845         Use an all-permissive copyright notice, recommended by RMS.
53846
53847 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
53848
53849         * modules/chdir-long (Depends-on): Remove mempcpy.
53850
53851 2005-01-21  Jim Meyering  <jim@meyering.net>
53852
53853         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
53854         same value as for Solaris 9.
53855
53856         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
53857         component length.  This included changing the parameter to be
53858         of type `char *' rather than `char const *'.
53859         * lib/chdir-long.h (chdir_long): Update prototype.
53860
53861         * lib/openat.c (fdopendir, fstatat): New functions.
53862         * lib/openat.h: Include headers required for use of DIR and struct
53863         stat.
53864         [AT_SYMLINK_NOFOLLOW]: Define.
53865         (fdopendir, fstatat): Add prototypes.
53866
53867 2005-01-21  Bruno Haible  <bruno@clisp.org>
53868
53869         * modules/classpath: New file.
53870         * MODULES.html.sh (Java): Add classpath.
53871
53872 2005-01-21  Bruno Haible  <bruno@clisp.org>
53873
53874         * lib/classpath.h: New file, from GNU gettext.
53875         * lib/classpath.c: New file, from GNU gettext.
53876
53877 2005-01-20  Simon Josefsson  <jas@extundo.com>
53878
53879         * modules/version-etc-fsf: New file.
53880
53881 2005-01-20  Simon Josefsson  <jas@extundo.com>
53882
53883         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
53884         * lib/version-etc.c: Remove version_etc_copyright.
53885         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
53886         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
53887
53888 2005-01-20  Simon Josefsson  <jas@extundo.com>
53889
53890         * lib/base64.h (isbase64): Add.
53891
53892         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
53893         using a unsigned prototype, don't inline.
53894         (base64_decode): Use it.
53895
53896 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
53897
53898         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
53899         it.
53900
53901 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
53902
53903         * lib/save-cwd.c (save_cwd): Remove code to support the case
53904         where fchdir is missing or flaky.
53905
53906 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
53907
53908         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
53909
53910 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
53911
53912         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
53913         AC_LIBSOURCES now does this.
53914         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
53915         with new ullong_max module.
53916
53917 2005-01-19  Bruno Haible  <bruno@clisp.org>
53918
53919         * modules/sh-quote: New file.
53920         * MODULES.html.sh (Executing programs): Add sh-quote.
53921
53922 2005-01-19  Bruno Haible  <bruno@clisp.org>
53923
53924         * lib/sh-quote.h: New file, from GNU gettext.
53925         * lib/sh-quote.c: New file, from GNU gettext.
53926
53927 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53928
53929         Merge from coreutils.
53930         * m4/ullong_max.m4: New file.
53931         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
53932         (gl_MACROS): Assume localeconv exists.
53933
53934 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53935
53936         Merge changes from coreutils, as described below in several
53937         changelogs dated today.
53938
53939         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
53940         (O_DIRECTORY): Remove; not needed here, since "." must be
53941         a directory.  All uses removed.
53942         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
53943         universal on Suns, and we also need to test for IRIX.
53944         Revamp code to use 'if' rather than '#if'.
53945         Avoid unnecessary comparison of cwd->desc to 0.
53946
53947         * lib/utimens.c (futimens): Robustify the previous patch, by checking
53948         for known valid error numbers rather than observed invalid ones.
53949
53950 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53951
53952         * modules/ullong_max: New file.
53953
53954         * modules/chdir-long, modules/openat: New files.
53955         * modules/save-cwd (Depends-on): Depend on chdir-long.
53956         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
53957
53958 2005-01-18  Jim Meyering  <jim@meyering.net>
53959
53960         Merge from coreutils.
53961         * m4/chdir-long.m4, m4/openat.m4: New files.
53962         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
53963         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
53964         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
53965         is sane and DOES follow symlinks.  Besides, testing 20 different
53966         systems found no broken chown implementations.
53967         Prompted by a change in rsync's copy of this macro.
53968         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
53969
53970         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
53971
53972         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
53973         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
53974         NULL-means-set-to-current-time semantics.
53975         Remove temporary file immediately, rather than waiting
53976         for configure's at-exit trap code to do it.
53977
53978 2005-01-18  Jim Meyering  <jim@meyering.net>
53979
53980         * lib/version-etc.c (version_etc_copyright): Update copyright date.
53981
53982         * lib/utimens.c (futimens): Account for the fact that futimes
53983         can also fail with errno == ENOSYS or errno == ENOENT.
53984         Patch from Dmitry V. Levin.
53985
53986         Change the name of the robust chdir function from chdir to chdir_long.
53987         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
53988         (restore_cwd): Use chdir_long, not chdir.
53989         * lib/chdir-long.c: Renamed from chdir.c.
53990         * lib/chdir-long.h: Renamed from chdir.h.
53991         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
53992         Hurd.
53993
53994 2005-01-18  Bruno Haible  <bruno@clisp.org>
53995
53996         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
53997         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
53998         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
53999         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
54000         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
54001         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
54002         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
54003         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
54004         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
54005         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
54006         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
54007         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
54008         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
54009         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
54010         Use an all-permissive copyright notice, recommended by RMS.
54011
54012 2005-01-18  Bob Proulx  <bob@proulx.com>
54013
54014         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
54015         simplify offsetof() macro construct to avoid compile failure with
54016         native HP-UX 11.0 ANSI C compiler.
54017
54018 2005-01-17  Bruno Haible  <bruno@clisp.org>
54019
54020         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
54021         redundant because stpncpy.m4 takes care of it.
54022
54023 2005-01-17  Bruno Haible  <bruno@clisp.org>
54024
54025         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
54026
54027 2005-01-17  Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
54030         used.
54031
54032 2005-01-17  Bruno Haible  <bruno@clisp.org>
54033
54034         * lib/fwriteerror.h (fwriteerror): Change specification to include
54035         fclose.
54036         * lib/fwriteerror.c: Include <stdbool.h>.
54037         (fwriteerror): At the end, close the file stream. Record whether
54038         stdout was already closed.
54039
54040 2005-01-17  Bruno Haible  <bruno@clisp.org>
54041
54042         * lib/execute.c (environ): Declare if needed.
54043         * lib/pipe.c (environ): Likewise.
54044         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
54045
54046 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54047
54048         * modules/argp: Depend on vsnprintf
54049
54050 2005-01-10  Jim Meyering  <jim@meyering.net>
54051
54052         * modules/closeout (Depends-on): Add atexit.
54053
54054 2005-01-06  Bruno Haible  <bruno@clisp.org>
54055
54056         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
54057
54058 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54059
54060         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
54061         definitions to be after all include files, to avoid collisions.
54062         Problem reported by Bob Proulx.
54063
54064 2005-01-04  Jim Meyering  <jim@meyering.net>
54065
54066         Changes imported from coreutils.
54067         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
54068         as the mkstemp template, use a temporary directory and an
54069         8.3-friendly template to avoid trouble on systems like DJGPP.
54070         Reported by Juan M. Guerrero via Stepan Kasal.
54071         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
54072         close. Remove the temporary directory right away, rather than waiting
54073         for configure's at-exit trap code to do it.
54074         Suggestion from Stepan Kasal.
54075
54076 2005-01-01  Simon Josefsson  <jas@extundo.com>
54077
54078         * gnulib-tool: Print #include directives when --import'ing.
54079
54080 2004-12-28  Simon Josefsson  <jas@extundo.com>
54081
54082         * tests/test-base64.c: Include required header files.  Remove
54083         unused variables.
54084
54085 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54086
54087         * modules/error (Depends-on): Remove gettext.
54088
54089 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54090
54091         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
54092         not needed.  This removes a dependency on the gettext module.
54093         [defined _LIBC]: Do not include <libintl.h>; not needed.
54094
54095 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54096
54097         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
54098         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
54099
54100 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
54101
54102         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
54103         HAVE_DECL_STRTOLD.
54104
54105 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54106
54107         * modules/getdate (Depends-on): Remove alloca-opt.
54108
54109 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54110
54111         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
54112
54113 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54114
54115         * lib/argp-parse.c: Include <stddef.h>.
54116         (alignof, alignto): New macros.
54117         (parser_init): Don't assume that void * is aligned sufficiently
54118         for struct option.
54119
54120         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
54121         need to extend the stack.
54122         (YYINITDEPTH): New macro, so that the initial stack isn't overly
54123         large.
54124
54125 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54126
54127         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
54128
54129 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54130
54131         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
54132         (2004-10-24) change.  Apparently this was a false alarm.
54133
54134         * modules/getdate: Depend on alloca-opt, not alloca.
54135
54136 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
54137
54138         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
54139         Remove now-obsolete comment about AIX.
54140         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
54141         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
54142         (YYMAXDEPTH): New macro.
54143
54144 2004-12-18  Simon Josefsson  <jas@extundo.com>
54145
54146         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
54147
54148 2004-12-18  Bruno Haible  <bruno@clisp.org>
54149
54150         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
54151
54152 2004-12-18  Bruno Haible  <bruno@clisp.org>
54153
54154         * lib/fatal-signal.c (fatal_signals): Make non-const.
54155         (init_fatal_signals): New function.
54156         (uninstall_handlers, install_handlers): Ignore signals that were set to
54157         SIG_IGN.
54158         (at_fatal_signal): Call init_fatal_signals.
54159         (init_fatal_signal_set): Likewise. Ignore signals that were set to
54160         SIG_IGN.
54161         Reported by Paul Eggert.
54162
54163 2004-12-18  Bruno Haible  <bruno@clisp.org>
54164
54165         * doc/alloca.texi: New file.
54166         * doc/alloca-opt.texi: New file.
54167
54168 2004-12-17  Jim Meyering  <jim@meyering.net>
54169
54170         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
54171         Otherwise, install-sh could exit with improper exit status when
54172         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
54173
54174 2004-12-16  Simon Josefsson  <jas@extundo.com>
54175
54176         * tests/test-base64.c: Add license.
54177
54178 2004-12-15  Stepan Kasal  <address@hidden>
54179
54180         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
54181
54182 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
54183
54184         * modules/getcwd (Files): Add m4/d-ino.m4.
54185         Suggested by Mark D. Baushke.
54186
54187 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54188
54189         * lib/getdate.y (textint): New member "negative".
54190         (time_zone_hhmm): New function.
54191         Expect 14 shift-reduce conflicts, not 13.
54192         (o_colon_minutes): New rule.
54193         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
54194         (yylex): Set the "negative" member of signed numbers.
54195
54196 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
54197
54198         * doc/getdate.texi (Time of day items, Time zone items):
54199         Describe new formats +00:00, UTC+00:00.
54200
54201 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54202
54203         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
54204         spurious "-l"s.  Problem reported by Stepan Kasal.
54205
54206 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
54207
54208         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
54209         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
54210
54211 2004-12-04  Simon Josefsson  <jas@extundo.com>
54212
54213         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
54214         Vandoorselaere <yoann@prelude-ids.org>.
54215
54216 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54217
54218         Changes imported from coreutils.
54219         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
54220         exist.
54221         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
54222
54223 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54224
54225         Changes imported from coreutils.
54226         * lib/hard-locale.c: Assume <locale.h> exists.
54227         Include "strdup.h".
54228         (GLIBC_VERSION): New macro.
54229         (hard_locale): Assume setlocale exists.
54230         Rewrite to avoid #ifdef.
54231         Use strdup rather than malloc + strcpy.
54232         * lib/human.c: Assume <locale.h> exists.
54233         (human_readable): Assume localeconv exists.
54234
54235 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
54236
54237         * modules/hard-locale (Depends-on): Add strdup.
54238
54239 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54240
54241         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
54242         convert T2, not T.  (Imported from libc.)
54243
54244 2004-11-30  Simon Josefsson  <jas@extundo.com>
54245
54246         * modules/restrict (License): Change to LGPL.
54247
54248 2004-11-30  Simon Josefsson  <jas@extundo.com>
54249
54250         * m4/restrict.m4: Add copyright and copying conditions.
54251
54252 2004-11-30  Simon Josefsson  <jas@extundo.com>
54253
54254         * m4/base64.m4: New file.
54255
54256 2004-11-30  Simon Josefsson  <jas@extundo.com>
54257
54258         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
54259         base64.
54260
54261         * tests/test-base64.c: New file.
54262
54263         * modules/base64: New file.
54264
54265 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54266
54267         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
54268         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
54269
54270         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
54271
54272 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
54273
54274         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
54275         (__getcwd.c): Don't restore errno; glibc doesn't.
54276         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
54277         first, falling back to our code only if its results look suspicious.
54278         Ensure that the resulting buffer is only as large as necessary.
54279
54280         * lib/readutmp.c: Include readutmp.h first.
54281         Include <errno.h>, since readutmp.h no longer does that.
54282         * lib/readutmp.h: Don't include <errno.h>,
54283         <sys/param.h>, <time.h>; not needed to establish interface.
54284         (errno): Remove decl.
54285         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
54286         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
54287         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
54288
54289 2004-11-28  Simon Josefsson  <jas@extundo.com>
54290
54291         * lib/base64.h, base64.c: New file.
54292
54293 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54294
54295         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
54296
54297 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54298
54299         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
54300         (Depends-on): Remove pathmax, same.  Add mempcpy.
54301         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
54302         (Makefile.am): Append getcwd.h to lib_SOURCES.
54303         (Include): Add getcwd.h.
54304         (Maintainer): Change from Jim Meyering to "all, glibc",
54305         since getdate now uses intended-for-glibc code.
54306         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
54307         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
54308
54309 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54310
54311         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
54312         HP's ANSI C compiler.
54313         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
54314         Declaring int functions causes warnings on some modern systems and
54315         shouldn't be needed to compile on ancient ones.
54316         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
54317         defined.
54318
54319         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
54320         with the following changes.
54321         (__set_errno): Parenthesize properly.
54322         Include <stdbool.h>.
54323         (MIN, MAX, MATCHING_INO): New macros.
54324         (__getcwd): Define with prototype, not K&R form.
54325         Use heuristics to allocate default buffer on stack if possible.
54326         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
54327         behavior, and to avoid the PATH_MAX limit when computing
54328         ../../../../...
54329         Use MATCHING_INO to compare inode number to file.
54330         Check for arithmetic overflow in size calculations.
54331         Fix bug in reallocation of dot array that caused getcwd to fail
54332         on directories nested deeper than 75.
54333         Be more careful about saving errno on error.
54334         Do not use realloc; use only free+malloc, as this is a bit
54335         more flexible and avoids a needless copy operation.
54336         Do not inspect st_dev and st_ino for symbolic links; POSIX
54337         doesn't specify the latter.
54338         Check for closedir errors.
54339         Avoid needless casts.
54340         Use "#ifdef weak_alias" around weak_alias, to be like other
54341         glibc code.
54342         The following changes to getcwd.c have effect only when used in
54343         gnulib; they have no effect inside glibc proper.
54344         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
54345         as alloca isn't used.
54346         (alloca, __alloca): Likewise.
54347         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
54348         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
54349         unconditionally, as gnulib assumes C89 or better.
54350         Do not include <sys/param.h>.
54351         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
54352         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
54353         better.
54354         (NULL) [!defined NULL]: Remove; we assume C89 or better.
54355         Include <dirent.h> in a way that is compatible with modern Autoconf.
54356         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
54357         New macros, if not already defined.
54358         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
54359         Use "_LIBC", not "defined _LIBC", for consistency.
54360         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
54361         a mempcpy module.
54362         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
54363         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
54364         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
54365         credit only to Jim Meyering and adjust the copyright dates.
54366         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
54367         <stdlib.h>, <unistd.h>, "pathmax.h".
54368         Instead, include "xgetcwd.h" (first) and "getcwd.h".
54369         (INITIAL_BUFFER_SIZE): Remove.
54370         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
54371
54372 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54373
54374         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
54375         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
54376         Use the _ONCE methods, for efficiency.
54377         Check for fcntl.h.  In test program, include <errno.h>
54378         and <fcntl.h> if available.  Remove old K&R cruft from
54379         test program.  Check for common errors in GNU/Linux,
54380         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
54381         don't do AC_LIBOBJ, as that's getcwd.m4's job.
54382         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
54383         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
54384         name accordingly.
54385         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
54386         accommodate new getcwd.c.
54387         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
54388         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
54389         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
54390         that's all we need now.
54391
54392 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54393
54394         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
54395         argp-parse.c depends on getopt internals, that means we should
54396         always use our getopt, to be on the safe side.
54397         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
54398         order not to spoil the result of an eventual previous invocation
54399         of gl_GETOPT_SUBSTITUTE.
54400
54401 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54402
54403         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
54404         redefinition warnings. To avoid them, include the defines
54405         in `#if !defined __need_getopt ... #endif'. The only place
54406         where __getopt_argv_const is used is in definitions
54407         of getopt_long and getopt_long_only below, which are as well
54408         protected by `#ifndef __need_getopt'.
54409         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
54410         __need_getopt after including <stdio.h> and <unistd.h> These
54411         headers might have defined it.
54412
54413 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54414
54415         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
54416
54417 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
54418
54419         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
54420         (futimens): New function, which uses futimes if available.
54421         (futimens, utimens): Support timespec==NULL, with same semantics
54422         as utime and utimens.
54423         * lib/utimens.h (futimens): New decl.
54424
54425 2004-11-23  Jim Meyering  <jim@meyering.net>
54426
54427         * lib/getopt_.h: Remove trailing blanks.
54428
54429 2004-11-23  Jim Meyering  <jim@meyering.net>
54430
54431         * lib/__fpending.c: Add comment.
54432
54433 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
54434
54435         * modules/canonicalize (Depends-on): Add xreadlink.
54436         Problem reported by James Youngman.
54437
54438 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54439
54440         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
54441         New macros.
54442         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
54443         optopt): Use them instead of invoking ## directly; otherwise, the
54444         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
54445
54446 2004-11-19  Bruno Haible  <bruno@clisp.org>
54447
54448         * lib/strtok_r.c: Move comments from here...
54449         * lib/strtok_r.h: ... to here.
54450
54451 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54452
54453         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
54454         implementations that mishandle size_t overflow.
54455
54456 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54457
54458         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
54459         might fail.  Problem reported by Yoann Vandoorselaere.
54460         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
54461         implementations that mishandle size_t overflow.
54462
54463 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54464
54465         * modules/canon-host (Depends-on): Add strdup.
54466
54467 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54468
54469         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
54470
54471 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54472
54473         * lib/canon-host.c: Include "strdup.h".
54474         (canon_host): Use getaddrinfo if available, so that IPv6 works.
54475         Use strdup instead of malloc/strcpy to duplicate strings.
54476
54477         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
54478         (human_space_before_unit): New constant.
54479         * lib/human.c (human_readable): Support it.
54480
54481         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
54482         (xgetcwd): Set errno correctly when failing.
54483         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
54484         the failure is actually due to a PATH_MAX problem.
54485
54486         Further getopt changes to make it more likely that glibc will
54487         buy the changes back.
54488         * lib/getopt.c (POSIXLY_CORRECT): New constant.
54489         (getopt): Use it, so to preserve glibc semantic
54490         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
54491         when compiling for libc.
54492         * lib/getopt_.h (__getopt_argv_const): Bring it back.
54493         (getopt_long, getopt_long_only): Use it.
54494
54495         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54496         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
54497         (getopt): Argv is now char * const *, as per standard.
54498         (_getopt_internal_r, _getopt_internal): Argv is now char **,
54499         not char *__getopt_argv_const *.
54500         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54501         _getopt_long_only_r): Likewise.
54502         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
54503         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54504         _getopt_long_r, _getopt_long_only_r): Likewise.
54505         * lib/getopt_.h (__getopt_argv_const): Remove.
54506         (getopt): Argv is now char * const *, as per standard.
54507
54508         * lib/getdate.y (tORDINAL): New token.
54509         (day, relunit): Allow it for relative times.
54510         (relative_time_table): Use tORDINAL for ordinals.
54511
54512 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54513
54514         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
54515         Document that "second" isn't allowed as an ordinal number.
54516
54517 2004-11-16  Jim Meyering  <jim@meyering.net>
54518
54519         * modules/closeout (Depends-on): Add fpending.
54520
54521 2004-11-15  Jim Meyering  <jim@meyering.net>
54522
54523         * lib/closeout.c: Include "__fpending.h" once again.
54524         Include <stdbool.h>.
54525         (close_stdout): Don't fail just because stdout was closed initially,
54526         since some programs don't write to stdout in the normal course of
54527         operation (other than --version and --help), and we don't want this
54528         function to make e.g. `touch file >&-' fail.
54529         But do fail if it was closed and someone has tried to write to it.
54530         E.g., `printf foo >&-' must fail.
54531
54532 2004-11-13  Jim Meyering  <jim@meyering.net>
54533
54534         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
54535
54536 2004-11-12  Simon Josefsson  <jas@extundo.com>
54537
54538         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
54539         small doc fix is still pending.
54540
54541 2004-11-11  Simon Josefsson  <jas@extundo.com>
54542
54543         * modules/strtok_r: New file.
54544
54545         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54546         strtok_r.
54547
54548 2004-11-11  Simon Josefsson  <jas@extundo.com>
54549
54550         * m4/strtok_r.m4: New file.
54551
54552         * m4/getopt.m4: Replace opterr.
54553
54554 2004-11-11  Simon Josefsson  <jas@extundo.com>
54555
54556         * lib/strtok_r.h, strtok_r.c: New file.
54557
54558 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54559
54560         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
54561         of replacing opterr, getopt, etc.  This should handle the
54562         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
54563
54564 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
54565
54566         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
54567         we can stop lying to compilers about the constness of argv when we
54568         are compiled outside glibc.
54569         (getopt, getopt_long, getopt_long_only): Use it.
54570         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
54571         _getopt_internal, getopt): Likewise.
54572         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
54573         _getopt_long_only_r): Likewise.
54574         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
54575         _getopt_long_r, _getopt_long_only_r): Likewise.
54576
54577         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
54578         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
54579         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
54580         the other external symbols.
54581         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
54582         declaration, since the above renaming now works around collisions.
54583
54584 2004-11-11  Jim Meyering  <jim@meyering.net>
54585
54586         * lib/linebreak.c: Remove trailing blanks.
54587         * lib/alloca_.h: Likewise.
54588         * lib/acosl.c: Likewise.
54589         * lib/euidaccess.c: Likewise.
54590         * lib/allocsa.h: Likewise.
54591
54592 2004-11-10  Simon Josefsson  <jas@extundo.com>
54593
54594         * m4/getaddrinfo.m4: New file.
54595
54596 2004-11-10  Simon Josefsson  <jas@extundo.com>
54597
54598         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
54599
54600 2004-11-10  Simon Josefsson  <jas@extundo.com>
54601
54602         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54603         getaddrinfo.
54604
54605         * modules/getaddrinfo: New file.
54606
54607 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54608
54609         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
54610
54611 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54612
54613         * lib/mktime.c (SHR): New macro, which is a portable
54614         substitute for >> that should work even on Crays.
54615         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
54616         Problem reported by Mark D. Baushke in
54617         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
54618         * lib/getdate.y (SHR): Likewise.
54619         (tm_diff): Use it.
54620         * lib/strftime.c (SHR): Likewise.
54621         (tm_diff): Use it.
54622         * lib/quotearg.c (struct quoting_options): Use unsigned int for
54623         quote_these_too, so that right shifts are well defined.  All uses
54624         changed.
54625
54626 2004-11-10  Jim Meyering  <jim@meyering.net>
54627
54628         Ensure that no close failure goes unreported.
54629         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
54630         return early when it seems there's nothing to flush.
54631         Don't include __fpending.h.
54632
54633 2004-11-10  Jim Meyering  <jim@meyering.net>
54634
54635         * modules/closeout (Depends-on): Remove fpending.
54636
54637 2004-11-10  Jim Meyering  <jim@meyering.net>
54638
54639         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
54640
54641 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54642
54643         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
54644         gl_FUNC_STRFTIME.
54645         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
54646         and AC_REQUIRE when possible, to avoid duplicate checks.
54647         Check for <wchar.h>.
54648
54649 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54650
54651         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
54652
54653 2004-11-09  Bruno Haible  <bruno@clisp.org>
54654
54655         * m4/sockpfaf.m4: New file.
54656
54657 2004-11-05  Bruno Haible  <bruno@clisp.org>
54658
54659         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
54660         Reported by Mark D. Baushke <mdb@cvshome.org>.
54661
54662 2004-11-04  Bruno Haible  <bruno@clisp.org>
54663
54664         2004-09-11  Bruno Haible  <bruno@clisp.org>
54665                 * allocsa.valgrind: New file.
54666         2004-02-06  Bruno Haible  <bruno@clisp.org>
54667                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
54668                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
54669                 Reported by Christopher Seip <chris.seip@hp.com>.
54670
54671 2004-11-04  Bruno Haible  <bruno@clisp.org>
54672
54673         * modules/allocsa (Files): Add lib/allocsa.valgrind.
54674         (Makefile.am): Distribute it.
54675
54676 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54677
54678         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
54679         with errno == ERANGE if the buffer is too small.
54680         Problem reported by Mark D. Baushke.
54681
54682 2004-11-03  Albert Chin  <china@thewrittenword.com>
54683             Paul Eggert  <eggert@cs.ucla.edu>
54684
54685         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
54686         equivalent, substitute $ac_type for equivalent type rather than
54687         blindly using uint32_t *always* which won't work if uint32_t is not
54688         available.  Define _UINT32_T to work around typedef of uint32_t if
54689         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
54690         2.5.1.
54691
54692 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54693
54694         * m4/jm-macros.m4: Sync from coreutils.
54695         (gl_MACROS): Check for mbrlen, for pathchk.
54696         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
54697
54698 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54699
54700         * lib/xreadlink.c (MAXSIZE): New macro.
54701         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
54702         size does not exceed MAXSIZE.  Avoid cast.
54703         As suggested by Mark D. Baushke in
54704         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
54705         if readlink fails with buffer size just under MAXSIZE, try again
54706         with MAXSIZE.
54707
54708 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
54709
54710         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
54711
54712 2004-11-02  Derek R. Price  <derek@ximbiot.com>
54713         and  Paul Eggert  <eggert@cs.ucla.edu>
54714
54715         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
54716         (get_date): Overparenthesize to avoid GCC warning.
54717
54718 2004-11-02  Bruno Haible  <bruno@clisp.org>
54719
54720         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
54721         returns void.
54722
54723 2004-11-02  Bruno Haible  <bruno@clisp.org>
54724
54725         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
54726         function returns void.
54727
54728 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54729
54730         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
54731         fflush_unlocked, flockfile, funlockfile, funlockfile,
54732         fputs_unlocked, putc_unlocked.
54733
54734 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
54735
54736         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
54737         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
54738         already declared.
54739
54740 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54741
54742         * modules/getdate (Files): Add doc/getdate.texi.
54743         (Depends-on): Add setenv, xalloc.
54744
54745 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54746
54747         * lib/getdate.y: Add support for TZ="foo" within a date string.
54748         Fix some bugs near time_t boundaries.  Reject dates with
54749         out-of-range components, e.g., "Sept 31".
54750         Include <stdlib.h>, "setenv.h", "xalloc.h".
54751         (ISDIGIT_LOCALE): Remove; unused.
54752         Note that the TZ and time functions used here are not reentrant.
54753         (mktime_ok, get_tz): New functions.
54754         (TZBUFSIZE): New constant.
54755         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
54756         This requires that we sometimes generate our own TZ="XXX..." setting.
54757
54758 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54759
54760         * doc/getdate.texi: New file, from coreutils with modifications for
54761         the new TZ parsing.
54762
54763 2004-10-27  Derek R. Price  <derek@ximbiot.com>
54764
54765         * lib/mktime.c (not_equal_tm): Remove redundant check.
54766
54767 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54768
54769         * modules/regex (lib_SOURCES): Add regex.c.
54770         Reported by James Youngman in
54771         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
54772
54773 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54774
54775         * lib/getdate.y: Use Bison 1.875 features, and some minor
54776         code cleanups.  This change does not affect semantics.
54777         Don't include <stdlib.h>; no longer needed.
54778         Don't include unlocked-io.h; only the "#if TEST" code uses
54779         stdio, and performance isn't crucial there.
54780         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
54781         Bison 1.875 features as described below.
54782         All uses of "PC." replaced by "pc->".
54783         (YYSTYPE): Add a forward declaration.
54784         (yylex, yyerror): Use full prototypes in forward decls.
54785         Use "%pure-parser" rather than obsolescent "%pure_parser".
54786         Use %parse-param and %lex-param instead of obsolescent
54787         YYPARSE_PARAM and YYLEX_PARAM.
54788         (meridian_table, month_and_day_table, time_units_table,
54789         relative_time_table, time_zone_table, military_table,
54790         lookup_zone, lookup_word, get_date):
54791         Use NULL instead of 0 where appropriate.
54792         (to_hour): Avoid abort (), to avoid a dependency on
54793         stdlib.h.
54794         (yyerror, yylex): Now accepts parser_control * arg.
54795         (main) [TEST]: Use '\0' rather than 0 for char.
54796
54797 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54798
54799         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
54800
54801 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
54802
54803         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
54804         It's now the caller's responsibility to handle the case where
54805         !HAVE_GETPAGESIZE && !defined getpagesize.
54806
54807         * lib/mktime.c (leapyear): Arg is long int, not int.
54808
54809 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
54810
54811         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
54812
54813 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54814
54815         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
54816         missing.  Problem reported by James Youngman.
54817
54818 2004-10-16  Simon Josefsson  <jas@extundo.com>
54819
54820         * gnulib-tool: Fix comments.  Fix parse problem.
54821         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
54822
54823 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
54824
54825         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
54826         implementation of getopt_long.  Problem reported by Alexander Taler in:
54827         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
54828
54829 2004-10-15  Bruno Haible  <bruno@clisp.org>
54830
54831         * gnulib-tool: Untabify. Initialize supplied_libname.
54832         (func_usage): More homogenous output.
54833         (func_modules_transitive_closure, func_modules_to_filelist,
54834         func_emit_lib_Makefile_am): New functions.
54835         (func_import): New function, extracted from big case statement. Use
54836         func_get_license, func_modules_transitive_closure,
54837         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
54838         opt_lgpl. Don't use test -a, as it's not portable.
54839         (func_create_testdir): Use func_modules_transitive_closure,
54840         func_modules_to_filelist, func_emit_lib_Makefile_am.
54841
54842 2004-10-15  Bruno Haible  <bruno@clisp.org>
54843
54844         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
54845
54846 2004-10-15  Bruno Haible  <bruno@clisp.org>
54847
54848         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
54849         the portions belonging to each module.
54850         Suggested by Derek Robert Price <derek@ximbiot.com>.
54851
54852 2004-10-12  Simon Josefsson  <jas@extundo.com>
54853
54854         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
54855         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
54856         to real functions.
54857
54858 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54859
54860         * modules/vsnprintf: New file.
54861
54862 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54863
54864         * m4/vsnprintf.m4: New file.
54865
54866 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54867
54868         * lib/vsnprintf.h: New file.
54869         * lib/vsnprintf.c: New file.
54870
54871 2004-10-11  Bruno Haible  <bruno@clisp.org>
54872
54873         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
54874         vsnprintf.
54875
54876 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
54877
54878         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
54879
54880 2004-10-07  Bruno Haible  <bruno@clisp.org>
54881
54882         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
54883         fits into the provided buffer.
54884
54885 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
54886
54887         * lib/diacrit.c, diacrit.h: Add GPL notice.
54888
54889         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
54890         notice.
54891         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
54892         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
54893         This avoids a potential constant-folding bug.
54894
54895 2004-10-05  Bruno Haible  <bruno@clisp.org>
54896
54897         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
54898         for the declaration of strsep.
54899
54900 2004-10-05  Bruno Haible  <bruno@clisp.org>
54901
54902         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
54903
54904 2004-10-04  Simon Josefsson  <jas@extundo.com>
54905
54906         * modules/memmem: New file.
54907         * tests/test-memmem.c: New file.
54908         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
54909
54910 2004-10-04  Simon Josefsson  <jas@extundo.com>
54911
54912         * m4/memmem.m4: New file.
54913
54914 2004-10-04  Simon Josefsson  <jas@extundo.com>
54915
54916         * lib/memmem.h: New file.
54917         * lib/memmem.c: New file, taken from glibc.
54918
54919 2004-10-04  Simon Josefsson  <jas@extundo.com>
54920
54921         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
54922         '#ifdef USE_UNLOCKED_IO'.
54923
54924 2004-10-04  Simon Josefsson  <jas@extundo.com>
54925
54926         * config/srclist.txt: Add memmem from glibc.
54927
54928 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
54929
54930         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
54931
54932         * modules/argmatch, modules/argp, modules/closeout, modules/error,
54933         modules/exclude, modules/getdate, modules/getline,
54934         modules/getndelim2, modules/getpass, modules/getpass-gnu,
54935         modules/getusershell, modules/linebuffer, modules/md5,
54936         modules/mountlist, modules/posixtm, modules/readtokens,
54937         modules/readutmp, modules/regex, modules/sha1,
54938         modules/version-etc, modules/yesno:
54939         Remove dependency on unlocked-io.
54940
54941 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
54942
54943         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
54944
54945         * m4/unlocked-io.m4: Add copyright notice.
54946         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
54947
54948 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
54949
54950         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
54951         * lib/xmalloc.c (xmemdup): Likewise.
54952         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
54953         XFREE): Remove these long-obsolescent macros.
54954         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
54955         * lib/xstrdup.c: Remove.
54956
54957         * lib/regex.c (re_comp): Cast gettext return value to char *,
54958         Problem reported by Martin Neitzel via Mark D. Baushke.
54959
54960 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
54961
54962         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
54963         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
54964         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
54965         regex.c, sha1.c, version-etc.c, yesno.c:
54966         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
54967         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
54968         the includer's responsibility.
54969
54970         Sync from coreutils.
54971
54972         * lib/modechange.c (mode_compile): Don't decrement a pointer that
54973         points to the start of a string, as the C Standard says the
54974         resulting behavior is undefined.
54975
54976         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
54977         simple -> simple_backups, numbered_existing ->
54978         numbered_existing_backups, numbered -> numbered_backups
54979         to avoid shadowing problems.  All uses changed.
54980         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
54981         * lib/backupfile.c (check_extension, numbered_backup):
54982         Rename locals to avoid shadowing 'basename'.
54983         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
54984         once.
54985
54986         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
54987         * lib/.cvsignore: Add getopt.h.
54988
54989 2004-10-04  Bruno Haible  <bruno@clisp.org>
54990
54991         * modules/README: New file.
54992         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
54993         not a module.
54994
54995 2004-10-02  Jim Meyering  <jim@meyering.net>
54996
54997         * lib/dirfd.h, getpagesize.h: Add copyright notice.
54998
54999 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55000
55001         * modules/strsep: New file.
55002
55003 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55004
55005         * m4/strsep.m4: New file.
55006
55007 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55008
55009         * lib/strsep.h: New file.
55010         * lib/strsep.c: New file.
55011
55012 2004-10-01  Simon Josefsson  <jas@extundo.com>
55013
55014         * lib/snprintf.c (snprintf): Handle size==0.
55015
55016 2004-10-01  Simon Josefsson  <jas@extundo.com>
55017             Bruno Haible  <bruno@clisp.org>
55018
55019         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
55020         (snprintf): Declare 'args'.
55021
55022 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
55023
55024         * lib/snprintf.c: Remove comments as to why each header is needed.
55025
55026 2004-10-01  Bruno Haible  <bruno@clisp.org>
55027
55028         * MODULES.html.sh: Add strsep.
55029
55030 2004-09-30  Simon Josefsson  <jas@extundo.com>
55031
55032         * modules/snprintf: New file.
55033
55034 2004-09-30  Simon Josefsson  <jas@extundo.com>
55035
55036         * m4/snprintf.m4: New file.
55037
55038 2004-09-30  Simon Josefsson  <jas@extundo.com>
55039
55040         * lib/snprintf.h, lib/snprintf.c: New files.
55041
55042 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55043
55044         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
55045         (hol_entry_help): Never translate an empty string.
55046         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
55047         * lib/argp.h (OPTION_NO_TRANS): New option.
55048
55049 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55050
55051         * modules/argp (Maintainer): Replace Simon Josefsson
55052         by Sergey Poznyakoff.
55053
55054 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55055
55056         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
55057         changes merged back into glibc.
55058
55059 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
55060
55061         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
55062
55063 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55064
55065         * lib/xvasprintf.c: Include xalloc.h.
55066         (xvasprintf): Use xalloc_die, not xmalloc_die.
55067
55068 2004-09-29  Bruno Haible  <bruno@clisp.org>
55069
55070         * modules/alloca-opt: New file, derived from modules/alloca.
55071         * modules/allocsa: Depend on alloca-opt instead of alloca.
55072         * modules/setenv: Likewise.
55073         * modules/vasnprintf: Likewise.
55074         * MODULES.html.sh: Add alloca-opt.
55075
55076 2004-09-28  Simon Josefsson  <jas@extundo.com>
55077
55078         * gnulib-tool: New parameter --lgpl, to asseert that modules are
55079         LGPL, and to replace license template from GPL to LGPL.
55080
55081 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55082
55083         * modules/dummy: Change license to LGPL.
55084
55085 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
55086
55087         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
55088
55089 2004-09-24  Simon Josefsson  <jas@extundo.com>
55090
55091         * modules/minmax (License): Change from GPL to LGPL.
55092
55093 2004-09-23  Simon Josefsson  <jas@extundo.com>
55094
55095         * gnulib-tool (--import): Typo.
55096
55097 2004-09-23  Simon Josefsson  <jas@extundo.com>
55098
55099         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
55100
55101 2004-09-22  Bruno Haible  <bruno@clisp.org>
55102
55103         * modules/*: Add 'License' field.
55104         * gnulib-tool: Accept --extract-license option.
55105         (func_get_license): New function.
55106
55107 2004-09-21  Bruno Haible  <bruno@clisp.org>
55108
55109         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
55110         Reported by Simon Josefsson.
55111
55112 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55113
55114         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
55115         gl_AC_TYPE_LONG_LONG.
55116
55117 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55118
55119         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
55120
55121 2004-09-18  Simon Josefsson  <jas@extundo.com>
55122         and  Paul Eggert  <eggert@cs.ucla.edu>
55123
55124         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
55125         calls with autoreconf.  Define GL_LIB.
55126
55127 2004-09-14  Karl Berry  <karl@gnu.org>
55128
55129         * config/srclist.txt: unsync setenv.c, sigh.
55130
55131 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55132
55133         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
55134         Problem reported by Bruno Haible in:
55135         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
55136
55137 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
55138
55139         * config/srclist.txt: Comment out argp-pvh.c.
55140
55141 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
55142
55143         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
55144         in case some system header has #define'd it.  Problem reported by
55145         Soeren D. Schulze in
55146         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
55147
55148 2004-09-09  Karl Berry  <karl@gnu.org>
55149
55150         * regex.[ch]: delete from the root.  These were supposed to be
55151                 synced with emacs cvs, but this has not happened for about
55152                 a year, and anyway nothing else uses emacs regex.[ch].
55153                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
55154                 lib/regex[.ch] is untouched.
55155
55156 2004-09-09  Bruno Haible  <bruno@clisp.org>
55157
55158         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
55159
55160 2004-09-09  Bruno Haible  <bruno@clisp.org>
55161
55162         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
55163         modifications.
55164         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
55165
55166 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55167
55168         * modules/xvasprintf: New file.
55169         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
55170
55171 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
55172
55173         * lib/xvasprintf.h: New file.
55174         * lib/xvasprintf.c: New file.
55175         * lib/xasprintf.c: New file.
55176
55177 2004-09-08  Bruno Haible  <bruno@clisp.org>
55178
55179         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
55180
55181 2004-09-08  Bruno Haible  <bruno@clisp.org>
55182
55183         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
55184         length is > INT_MAX.
55185         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
55186         more.
55187
55188 2004-09-08  Bruno Haible  <bruno@clisp.org>
55189
55190         * lib/stdint_.h: New file, taken from GNU clisp.
55191
55192 2004-09-08  Bruno Haible  <bruno@clisp.org>
55193             Oskar Liljeblad  <oskar@osk.mine.nu>
55194
55195         * modules/stdint: New file.
55196         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
55197
55198 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55199
55200         Import from coreutils.
55201         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
55202         strings on unbounded length.  alloca's performance benefits aren't
55203         that important here.
55204         (V_STRDUP): Remove.
55205         (parse_with_separator): New function, with most of the internals
55206         of the old parse_user_spec.  Allow user to omit both user and group,
55207         for compatibility with FreeBSD.
55208         Clone only the user name, not the entire spec.
55209         Do not set *uid, *gid unless entirely successful.
55210         Avoid memory leak in some failing cases.
55211         Fix regression for USER.GROUP reported by Dmitry V. Levin in
55212         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
55213         (parse_user_spec): Rewrite to use parse_with_separator.
55214
55215 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55216
55217         * modules/userspec: Don't depend on alloca.
55218
55219 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55220
55221         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
55222
55223 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55224
55225         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
55226         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
55227         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
55228
55229 2004-08-16  Simon Josefsson  <jas@extundo.com>
55230
55231         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
55232         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
55233         Add --dry-run for --import.
55234         Let user provided command line parameters override configure.ac
55235         settings.
55236
55237 2004-08-12  Simon Josefsson  <jas@extundo.com>
55238
55239         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
55240         as discussed with Paul Eggert in threads rooted at
55241         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
55242         and
55243         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
55244         Before, the test was empty, and relied on ELIDE_CODE in source
55245         code.)
55246         (gl_PREREQ_GETOPT): New macro.
55247         (gl_GETOPT): Use them.
55248
55249 2004-08-12  Simon Josefsson  <jas@extundo.com>
55250
55251         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
55252         * lib/getopt_.h: Renamed from getopt.h.
55253
55254 2004-08-12  Simon Josefsson  <jas@extundo.com>
55255
55256         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
55257         Change default library name from libfoo to libgnu.
55258         Now, if you have a configure.ac that says:
55259                 gl_SOURCE_BASE(gl)
55260                 gl_M4_BASE(gl/m4)
55261                 gl_MODULES(error getopt etcetera)
55262                 gl_INIT
55263         you can import all you need by running:
55264                 ../gnulib/gnulib-tool --import
55265
55266         * modules/getopt (Files): Rename getopt.h to getopt_.h.
55267         (Makefile.am): Rewrite, use logic from argz.
55268         (Include): Use <getopt.h> instead of "getopt.h".
55269
55270 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55271
55272         * modules/argp (Files): Add m4/unlocked-io.m4.
55273         (Depends-on): Add extensions.
55274
55275 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55276
55277         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
55278         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
55279         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
55280         Check for program_invocation_name, program_invocation_short_name,
55281         flockfile, funlockfile, features.h, _getopt_long_only_r.
55282
55283 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55284
55285         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
55286         its complicated substitute.
55287         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
55288         and program_invocation_name.
55289         (__argp_basename) [!_LIBC]: Remove; the only use was
55290         replaced by its body.
55291         (__argp_short_program_name): Change condition from
55292         !defined __argp_short_program_name to
55293         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
55294         to match argp-namefrob.h.
55295         (__argp_failure): Don't assume strerror_r returns char *.
55296         * lib/argp-parse.c (N_): Define unconditionally.
55297         (argp_default_options): Fill out initializers with 0 to avoid
55298         gcc warnings.
55299
55300 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
55301
55302         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
55303         getopt1.c.
55304
55305 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55306
55307         Merge from coreutils.
55308
55309         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
55310
55311         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
55312         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
55313
55314 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55315
55316         Merge from coreutils.
55317
55318         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
55319         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
55320         for Reliant Unix 5.43.
55321
55322         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
55323         (union fooround): Use uintmax_t, not long int.
55324         The rest is a merge from libc:
55325         [defined _LIBC]: Include <shlib-compat.h>.
55326         (_obstack) [defined _LIBC]: Remove after 2.3.4.
55327
55328         * lib/settime.c (settime): Recode to avoid warning with
55329         Sun Forte C 6U2.
55330
55331         * lib/strverscmp.c: Convert to UTF-8.
55332
55333 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55334
55335         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
55336         m4/uintmax_t.m4.
55337
55338 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55339
55340         * modules/xalloc-die: New file.
55341         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
55342
55343         * modules/md5 (Files): Add m4/uint32_t.m4.
55344         * modules/sha1: Renamed from modules/sha.
55345         (Files):
55346         Rename lib/sha.h to lib/sha1.h.
55347         Rename lib/sha.c to lib/sha1.c.
55348         Rename m4/sha.m4 to m4/sha1.m4.
55349         (lib_SOURCES): Likewise.
55350         (configure.ac): Rename gl_SHA to gl_SHA1.
55351         (Include): sha.h -> sha1.h.
55352
55353 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55354
55355         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
55356         * m4/sha1.m4: Renamed from sha.m4.
55357         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
55358
55359 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55360
55361         * lib/obstack.h (obstack_empty_p):
55362         Don't assume that chunk->contents is suitably aligned.
55363         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
55364         Likewise. Problem reported by Benno in
55365         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
55366
55367         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
55368         readable.  This could be improved further but it'd take some work.
55369
55370 2004-08-08  Simon Josefsson  <jas@extundo.com>
55371
55372         * modules/xgethostname (Depends-on): Remove exit and error (not
55373         used).
55374
55375         * modules/getpass-gnu: Add getpass.h.
55376         (Depends-on): Add stdbool.
55377         * modules/getpass: Add getpass.h.
55378
55379 2004-08-08  Simon Josefsson  <jas@extundo.com>
55380
55381         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
55382         Check getpass declaration.
55383
55384 2004-08-08  Simon Josefsson  <jas@extundo.com>
55385
55386         * lib/xgethostname.c: Don't include error.h (not used).
55387
55388         * lib/getpass.h: Add.
55389         * lib/getpass.c: Include getpass.h first.
55390
55391 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
55392
55393         * lib/xalloc-die.c: New file.
55394         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
55395         All uses removed.
55396         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
55397         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
55398         xalloc-die.c.
55399         (_, N_, xalloc_die): Move to xalloc-die.c.
55400         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
55401         so that we needn't mess with xalloc_msg_memory_exhausted.
55402
55403         * lib/sha1.h: Renamed from sha.h.
55404         (SHA1_H): Renamed from _SHA_H.
55405         (sha1_ctx): Renamed from sha_ctx.
55406         (sha1_init_ctx): Renamed from sha_init_ctx.
55407         (sha1_process_block): Renamed from sha_process_block.
55408         (sha1_process_bytes): Renamed from sha_process_bytes.
55409         (sha1_finish_ctx): Renamed from sha_finish_ctx.
55410         (sha1_read_ctx): Renamed from sha_read_ctx.
55411         (sha1_stream): Renamed from sha_stream.
55412         (sha1_buffer): Renamed from sha_buffer.
55413         * lib/sha1.c: Likewise; renamed from sha.c.
55414         Do not include <sys/types.h>.
55415         Include <stddef.h> rather than <stdlib.h>.
55416
55417 2004-08-08  Bruno Haible  <bruno@clisp.org>
55418
55419         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
55420         FILESYSTEM_PREFIX_LEN.
55421         * lib/progreloc.c: Likewise.
55422         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
55423
55424 2004-08-06  Simon Josefsson  <jas@extundo.com>
55425
55426         * modules/progname (Depends-on): Don't depend on stdbool.
55427
55428 2004-08-06  Simon Josefsson  <jas@extundo.com>
55429
55430         * modules/getsubopt: New file.
55431         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55432         getsubopt.
55433
55434 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55435
55436         More merge from coreutils.
55437
55438         * m4/utimens.m4, m4/utimecmp.m4: New files.
55439         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
55440         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
55441         prereq.m4, sha.m4: Import changes from coreutils.
55442
55443 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55444
55445         More merge from coreutils.
55446         * modules/raise, modules/readtokens0, modules/utimens:
55447         * modules/utimecmp, module/xnanosleep: New files.
55448         * modules/strftime: Add lib/strftime.h.
55449         Change include from <time.h> to "strftime.h".
55450         * modules/yesno: Add lib/yesno.h.
55451         * modules/backupfile: Remove lib/addext.c.
55452         * modules/euidaccess: Add stat-macros.h.
55453         * modules/canonicalize, modules/euidaccess,
55454         modules/filemode, modules/lchown, modules/makepath,
55455         modules/rmdir, modules/stat: Likewise.
55456
55457 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55458
55459         Merge from tar.
55460         * lib/argp-help.c (make_hol, hol_append): Don't assume that
55461         SIZE_MAX is a valid preprocessor constant.
55462         (__argp_basename): Change from "#ifndef _LIBC"
55463         to "#ifndef __argp_short_program_name", so that
55464         we don't compile these functions for tar.
55465
55466         More merges from coreutils.
55467         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
55468         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
55469         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
55470         * lib/addext.c: Remove; no longer needed.
55471         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
55472         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
55473         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
55474         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
55475         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
55476         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
55477         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
55478         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
55479         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
55480         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55481         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
55482         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
55483         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
55484         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
55485         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
55486         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
55487         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
55488         Import changes from coreutils.
55489
55490 2004-08-05  Simon Josefsson  <jas@extundo.com>
55491
55492         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
55493
55494 2004-08-05  Simon Josefsson  <jas@extundo.com>
55495
55496         * m4/getsubopt.m4: New file.
55497
55498 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55499
55500         Merge from coreutils.
55501
55502         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
55503         * m4/getcwd-path-max.m4: New files.
55504
55505         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
55506         FILESYSTEM_PREFIX_LEN ->
55507         FILE_SYSTEM_PREFIX_LEN.
55508         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
55509         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
55510         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
55511         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
55512
55513         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
55514         prerequisite modules now handle the DOS stuff.
55515         Don't check for unistd.h.
55516
55517 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55518
55519         Merge from coreutils.
55520
55521         * lib/.gdb-history: Remove; this doesn't belong here.
55522
55523         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
55524         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
55525         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
55526         * lib/getcwd.c: New files.
55527
55528         * lib/dirname.h: Include <stdbool.h>.
55529         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
55530         for consistency with POSIX terminology.  All uses changed.
55531         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
55532         (strip_trailing_slashes): Use bool for booleans.
55533         * lib/stripslash.c (strip_trailing_slashes): Likewise.
55534
55535         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
55536         sometimes returns a positive errno value even when it succeeds.
55537         (print_errno_message) [!LIBC]: Fall back on strerror if
55538         __strerror_r fails.
55539
55540         * lib/path-concat.c (mempcpy): Don't define if a system header defines
55541         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
55542         (longest_relative_suffix): New function.
55543         (path_concat): Use it.  Assume first argument is not NULL.
55544         Port to DOS.  Omit redundant separators.
55545         Report an error instead of returning NULL.
55546         Use mempcpy instead of memcpy.
55547         (xpath_concat): Remove: not declared or used.
55548
55549         * lib/same.h: Include <stdbool.h>
55550         (same_name): Return bool, not int.
55551         * lib/same.c (same_name): Likewise.
55552         (errno): Don't declare; we assume C89 or better now.
55553
55554         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
55555         if not already defined.
55556
55557         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
55558         * lib/dup-safer.c (errno): Likewise.
55559
55560 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
55561
55562         Merge from coreutils.
55563         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
55564         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
55565         * modules/path-concat: Don't depend on strdup.
55566
55567 2004-08-03  Simon Josefsson  <jas@extundo.com>
55568
55569         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
55570         * lib/progname.h: Don't include stdbool.h.
55571
55572 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55573
55574         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
55575         * MODULES.html.sh (func_all_modules): Remove fatal.
55576
55577 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55578
55579         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
55580
55581 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
55582
55583         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
55584         working.
55585
55586 2004-08-02  Simon Josefsson  <jas@extundo.com>
55587
55588         * lib/getsubopt.h: New file, with comments from Bruno Haible.
55589         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
55590         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
55591
55592 2004-08-01  Simon Josefsson  <jas@extundo.com>
55593
55594         * lib/xgetdomainname.c: Include stdlib.h, for free().
55595
55596 2004-07-19  Bruno Haible  <bruno@clisp.org>
55597
55598         * MODULES.html.sh (func_all_modules): Add dummy.
55599
55600 2004-07-16  Simon Josefsson  <jas@extundo.com>
55601
55602         * modules/dummy: New file.
55603
55604 2004-07-16  Simon Josefsson  <jas@extundo.com>
55605
55606         * lib/dummy.c: New file.
55607
55608 2004-07-16  Bruno Haible  <bruno@clisp.org>
55609
55610         * lib/backupfile.h: Add extern "C" for C++.
55611         * lib/closeout.h: Likewise.
55612         * lib/copy-file.h: Likewise.
55613         * lib/findprog.h: Likewise.
55614         * lib/full-write.h: Likewise.
55615         * lib/pathname.h: Likewise.
55616         * lib/progname.h: Likewise.
55617         * lib/stpcpy.h: Likewise.
55618         * lib/stpncpy.h: Likewise.
55619         * lib/strcase.h: Likewise.
55620         * lib/strstr.h: Likewise.
55621         * lib/xalloc.h: Likewise.
55622
55623         * lib/mbswidth.h: Add extern "C" for C++.
55624         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
55625
55626 2004-07-13  Robert Millan  <robertmh@gnu.org>
55627
55628         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
55629
55630 2004-07-09  Simon Josefsson  <jas@extundo.com>
55631
55632         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
55633         failed without this.)
55634
55635 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55636
55637         * modules/chown (Files): Add lib/fchown-stub.c, since
55638         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
55639
55640 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
55641
55642         * lib/fchown-stub.c: New file.
55643
55644 2004-06-24  Jim Meyering  <jim@meyering.net>
55645
55646         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
55647
55648 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55649
55650         * modules/argz: Omit "#include".
55651
55652         * MODULES.html.sh (func_all_modules): Add calloc, to match
55653         2004-06-01 addition of calloc module.
55654
55655 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55656
55657         * m4/argz.m4: New file, which is autoupdated from libtool.
55658
55659 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55660
55661         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
55662         libtool.
55663
55664 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55665
55666         * config/srclist-update: Don't insist on "USA." before the
55667         close-comment, as libtool omits the period and puts the */ on a
55668         separate line.
55669         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
55670         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
55671
55672 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
55673
55674         * modules/argz: New file.
55675         * MODULES.html.sh (func_all_modules): Add argz.
55676
55677 2004-06-12  Jim Meyering  <jim@meyering.net>
55678         and  Paul Eggert  <eggert@cs.ucla.edu>
55679
55680         * modules/hash (Files): Add lib/xalloc.h.
55681         * modules/pipe (Depends-on): Add wait-process.
55682         * modules/stat (Depends-on): Add xalloc.
55683         * modules/userspec (Files): Add lib/userspec.h.
55684         * modules/xstrto
55685
55686         Upgrade from gettext-0.13.
55687         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
55688         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
55689         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
55690
55691 2004-06-10  Jim Meyering  <jim@meyering.net>
55692
55693         * lib/calloc.c: New file.
55694
55695 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
55696
55697         * lib/getdate.y (yylex): Allow space between sign and number.
55698         Problem reported by Dan Jacobson.
55699
55700 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
55701
55702         Merge from coreutils CVS.
55703
55704         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
55705         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
55706         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
55707         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
55708         xstrtol.m4: Fix copyright date and/or serial number.
55709
55710         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
55711         See if we need an fchown replacement.
55712         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
55713         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
55714         and use the replacement function if we detect either defect.
55715
55716         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
55717         gl_UTIMECMP.
55718
55719 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
55720         and  Jim Meyering  <jim@meyering.net>
55721
55722         Merge from coreutils CVS.
55723
55724         * lib/stat-macros.h: New file, with contents from file-type.h
55725         and coreutils' system.h.
55726         * lib/file-type.c: Include "stat-macros.h".
55727         * lib/file-type.h (file_type): Move all macro definitions to new file,
55728         stat-macros.h.
55729
55730         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
55731         Wrap old code with this conditional.
55732         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
55733         function that does not dereference symlinks.
55734         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
55735
55736         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
55737         dependency problems.
55738         (xreadlink): Accept new arg SIZE, for efficiency.
55739         All decls and uses changed.
55740         * lib/xreadlink.h: Include <stddef.h>, for size_t.
55741
55742         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
55743         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
55744
55745         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
55746         sysexits.h.
55747
55748 2004-06-01  Jim Meyering  <jim@meyering.net>
55749
55750         * m4/calloc.m4: New file.
55751
55752 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
55753
55754         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
55755         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
55756         Also, fix a typo in a diagnostic.
55757
55758 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
55759
55760         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
55761         or AC_FUNC_REALLOC.
55762
55763 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
55764
55765         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
55766         macros to be defined.
55767         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
55768         the allocator returns NULL because the requested size is zero.
55769
55770 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55771
55772         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
55773         var.  Add comment explaining why libc still defines it.  This
55774         merges the following patch from glibc:
55775         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
55776
55777 2004-05-20  Andreas Schwab  <schwab@suse.de>
55778
55779         * m4/free.m4: Replace free if it not known to work, not the other
55780         way round.
55781
55782 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55783
55784         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
55785         present in glibc since revision 1.1 of this file.
55786         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
55787         obstack_alignment_mask, obstack_alloc, obstack_base,
55788         obstack_blank, obstack_blank_fast, obstack_chunk_size,
55789         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
55790         obstack_grow0, obstack_init, obstack_int_grow,
55791         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
55792         obstack_next_free, obstack_object_size, obstack_ptr_grow,
55793         obstack_ptr_grow_fast, obstack_room): Remove declarations of
55794         nonexistent functions.
55795
55796 2004-05-18  Karl Berry  <karl@gnu.org>
55797
55798         * config/srclist.txt: break link for vasnprintf.c.
55799
55800 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55801
55802         Port obstack to the AS/400, where pointers are 16 bytes wide and
55803         you cannot cast an integer to a valid pointer.  This patch is
55804         currently waiting to be integrated into glibc; see
55805         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
55806
55807         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
55808         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
55809         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
55810         (struct obstack): temp member is now a union of a pointer and
55811         an integer, instead of an integer.  All integer uses changed.
55812         This does not affect the physical layout of struct obstack,
55813         except on hosts (like the AS/400) where the size or alignment of
55814         void * is greater than that of ptrdiff_t.
55815         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
55816         __STDC__)]: Store temporary in pointer member of union, not
55817         integer member.
55818         * lib/obstack.c: Include <stddef.h>, for offsetof.
55819         (struct fooalign): Remove; it doesn't need a name.
55820         (union fooround): Change double to long double, and add void *.
55821         (DEFAULT_ALIGNMENT): Use offsetof to compute.
55822         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
55823         not a macro.  Hence the values are always int; so remove all
55824         casts-to-int in uses.
55825
55826 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55827
55828         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
55829         we can get this patch merged into glibc.
55830
55831 2004-05-17  Derek R. Price  <derek@ximbiot.com>
55832             Paul Eggert  <eggert@cs.ucla.edu>
55833
55834         * m4/argp: Depend on alloca.
55835
55836 2004-05-17  Derek R. Price  <derek@ximbiot.com>
55837             Paul Eggert  <eggert@cs.ucla.edu>
55838
55839         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
55840         freecoding.
55841
55842 2004-05-17  Bruno Haible  <bruno@clisp.org>
55843
55844         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
55845         precision that consists of a '.' followed by an empty digit string.
55846         Patch by Tor Lillqvist <tml@iki.fi>.
55847
55848 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55849
55850         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
55851         for backward compatibility with older code.  We need our own
55852         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
55853         it under some other name, and our alloca.h will define it.
55854
55855 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55856             Derek Price  <derek@ximbiot.com>
55857
55858         * lib/alloca.c: Include <alloca.h>, to get our interface.
55859         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
55860         include <alloca.h> first.  Use C89 prototype for alloca; this
55861         requires including <stddef.h> for size_t.  Use extern "C" if C++.
55862         Use #elif for simplicity, since we can assume C89 now.
55863         Don't try to source the system alloca.h since it will not be found
55864         and to prevent recursively including its replacement.
55865         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
55866         * lib/regex.c: Likewise.
55867
55868 2004-05-16  Derek Price  <derek@ximbiot.com>
55869             Paul Eggert  <eggert@cs.ucla.edu>
55870
55871         getline cleanup.  This changes the getndelim2 API: both order of
55872         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
55873         no delimiter).
55874
55875         * lib/getline.c: Don't include stddef.h or stdio.h, since our
55876         interface does that.
55877         (getline): Always use getdelim, so that we don't have two
55878         copies of this code.
55879         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
55880         if available.
55881         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
55882         (GETNDELIM2_MAXIMUM): New macro.
55883         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
55884         instead of the old practice of delim2==0.  All callers changed.
55885         Return -1 on overflow, instead of returning junk.
55886         Do not set *linesize unless allocation succeeds.
55887         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
55888         that we include sys/types.h.
55889         * lib/getnline.h: Likewise.
55890         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
55891         (getndelim2): Reorder arguments.
55892         * lib/getnline.c (getnline, getndelim):
55893         Don't discard the NMAX argument.
55894         (getnline): Invoke getndelim, to avoid code duplication.
55895         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
55896         of (size_t) -1 by callers of the getnline family.
55897
55898 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55899
55900         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
55901         Check for gettimeofday.
55902         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
55903         Check for settimeofday, stime.
55904
55905 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55906
55907         * lib/nanosleep.c (suspended): Change its type from int to
55908         sig_atomic_t volatile.
55909         (first_call): Make it private to rpl_nanosleep, and have it
55910         be zero initially as that's a bit faster.
55911         (my_usleep): Round up fractional times instead of truncating them,
55912         as this is the usual meaning for 'sleep'.
55913
55914         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
55915         doesn't work.
55916         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
55917         (ENOSYS): Define if not defined.
55918         (settime): Fall back on stime if it exists and settimeofday fails.
55919         But don't bother with fallbacks if a method fails with errno == EPERM.
55920
55921 2004-05-11  Jim Meyering  <jim@meyering.net>
55922
55923         Prior to this change, the save_cwd caller required read access to the
55924         current directory on most systems (ones with the fchdir function).
55925
55926         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
55927         fails, try write-only, and finally, resort to using xgetcwd.
55928
55929 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
55930
55931         * lib/obstack.c, obstack.h: Import changes from libc.
55932
55933 2004-04-28  Bruno Haible  <bruno@clisp.org>
55934
55935         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
55936         also implicitly appends .exe to executables.
55937         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
55938         accepts Windows pathnames.
55939         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
55940         Treat Cygwin like Windows, since it now accepts Windows pathnames.
55941         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
55942         Treat Cygwin like Windows, since it now accepts Windows pathnames.
55943         Reported by Derek Robert Price <derek@ximbiot.com>.
55944
55945 2004-04-21  Karl Berry  <karl@gnu.org>
55946
55947         * config/srclist.txt (localcharset.c): break sync.
55948
55949 2004-04-20  Paul Eggert  <eggert@twinsun.com>
55950
55951         * m4/host-os.m4: Add a copyright notice.
55952
55953 2004-04-20  Jim Meyering  <jim@meyering.net>
55954
55955         Change UTILS_ to gl_ in AC_DEFINE'd names.
55956         Change utils_- and jm_-prefixed variables, too.
55957         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
55958         UTILS_FUNC_MKDIR_TRAILING_SLASH.
55959         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
55960
55961         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
55962         Don't emit trailing blanks.
55963         Also rename jm_-prefixed variables to have gl_ prefix.
55964
55965         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
55966         Also rename jm_-prefixed variables to have gl_ prefix.
55967
55968         * m4/jm-macros.m4: Reflect the renamings.
55969         * m4/prereq.m4: Likewise.
55970
55971 2004-04-20  Jim Meyering  <jim@meyering.net>
55972
55973         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
55974         memory.
55975
55976 2004-04-20  Jim Meyering  <jim@meyering.net>
55977             Bruno Haible  <bruno@clisp.org>
55978
55979         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
55980         memory when realloc fails.
55981
55982 2004-04-19  Jim Meyering  <jim@meyering.net>
55983
55984         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
55985         now that readutmp.c may call `free (0)'.
55986
55987 2004-04-19  Bruno Haible  <bruno@clisp.org>
55988
55989         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
55990         * m4/inttypes_h.m4: Likewise.
55991         * m4/stdint_h.m4: Likewise.
55992         * m4/intmax_t.m4: Likewise.
55993         * m4/uintmax_t.m4: Likewise.
55994
55995 2004-04-18  Jim Meyering  <jim@meyering.net>
55996
55997         * m4/prereq.m4: Don't forbid jm_ prefix.
55998
55999         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
56000         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
56001         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
56002         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
56003         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
56004         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
56005         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
56006         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
56007         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
56008         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
56009         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
56010         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
56011         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
56012         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
56013         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
56014         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
56015         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
56016         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
56017         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
56018
56019 2004-04-18  Jim Meyering  <jim@meyering.net>
56020
56021         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
56022         failure, don't leak memory and do call END_UTMP_ENT.
56023
56024 2004-04-16  Jim Meyering  <jim@meyering.net>
56025
56026         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
56027         coreutils' stat program.
56028         (gl_PREREQ): Don't require jm_PREREQ_STAT.
56029
56030 2004-04-11  Paul Eggert  <eggert@twinsun.com>
56031
56032         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
56033         C89.
56034         (CHAR_BIT): Remove, since we assume C89.
56035         Include <stdint.h> if available, as per current Autoconf CVS advice.
56036
56037 2004-03-31  Jim Meyering  <jim@meyering.net>
56038
56039         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
56040         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
56041         * m4/xalloc.m4: Likewise.
56042
56043 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56044
56045         Merge from coreutils.
56046
56047         * m4/inttostr.m4: New file.
56048         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
56049         Require AM_STDBOOL_H and gl_TIMESPEC instead.
56050         Require gl_CLOCK_TIME.
56051         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
56052
56053 2004-03-30  Paul Eggert  <eggert@twinsun.com>
56054
56055         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
56056         not bool, to be more consistent with Unix conventions.
56057         Suggested by Bruno Haible.
56058
56059         Merge from coreutils.
56060
56061         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
56062         * lib/umaxtostr.c: New files.
56063
56064         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
56065         the usual <time.h> dance.
56066         (get_date): Change signature to support fractional time stamps.
56067         All callers changed.
56068         * lib/getdate.y: Include "getdate.h" first, as we can now
56069         assume C89 and don't need to worry about 'const'.
56070         Similarly, include "unlocked-io.h" near start, not in middle.
56071         Include <limits.h>.
56072         (textint.value): Use long int rather than int.
56073         (textint.digits): Use size_t rather than int.
56074         (BILLION, LOG10_BILLION): New constants.
56075         (parser_control): New member rel_ns.  Members day_ordinal,
56076         time_zone, month, day, hour, minutes, rel_year, rel_month,
56077         rel_day, rel_hour, rel_minutes, rel_seconds
56078         are now long int, not int.  Member seconds is now struct timespec,
56079         not int.  New member timespec_seen.  Members dates_seen, days_seen,
56080         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
56081         not int.
56082         (%union.intval): Now long int, not int.
56083         New member timespec.
56084         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
56085         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
56086         (spec): Now is a timespec or an item list.
56087         (timespec, items): New nonterminals.
56088         (time, rel, relunit, number, get_date):
56089         Add support for fractional seconds.
56090         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
56091         (gmtime, localtime, mktime): Remove decls; not needed with C89.
56092         (to_hour): First arg is now long int, not int.
56093         (to_year): Returns long int, not int.
56094         Don't treat year -70 like 70.
56095         (tm_diff): Returns long int, not int.
56096         (lookup_word): Use bool instead of int when appropriate.
56097         (yylex): Use size_t for count, not int.
56098         Detect overflow when parsing large integer constants.
56099         Add support for fractions.
56100         (get_date): Make pointers 'const' if possible.
56101         Use more-portable code to detect integer overflow.
56102         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
56103         Don't use ctime; it's not reliable if the year has >4 digits.
56104
56105         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
56106         This is for compatibility with BSD.
56107
56108         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
56109         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
56110         From coreutils' system.h.
56111
56112         * lib/userspec.c: Don't include "posixver.h".
56113         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
56114         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
56115         compatible extension.  Simplify code by removing a boolean int
56116         that was always nonzero if a string was nonnull.
56117
56118 2004-03-30  Jim Meyering  <jim@meyering.net>
56119
56120         Merge from coreutils.
56121
56122         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
56123         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
56124         on some systems one must include <grp.h> before it.
56125         Reported by Christian Krackowizer.
56126
56127 2004-03-30  Jim Meyering  <jim@meyering.net>
56128
56129         Merge from coreutils.
56130
56131         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
56132
56133         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
56134         an empty input stream.
56135
56136         * lib/readtokens.c: Include <stdbool.h>.
56137         (readtoken): Use `size_t' rather than int/long.
56138         All callers adjusted.
56139         Use `bool' rather than `int' where appropriate.
56140         Use memset rather than an explicit loop.
56141         Use x2nrealloc rather than xrealloc.
56142         Allow the use of `\0' as a delimiter.
56143         (readtokens): Likewise.
56144         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
56145
56146 2004-03-30  Jim Meyering  <jim@meyering.net>
56147
56148         * m4/realloc.m4: Remove file, since now it does no more than
56149         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
56150         the `configure.ac' section of module/realloc.
56151         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
56152
56153 2004-03-30  Bruno Haible  <bruno@clisp.org>
56154
56155         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
56156         nonnull.
56157
56158 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56159
56160         Merge changes to getloadavg.c from coreutils and Emacs.
56161
56162         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
56163         Define to an expression, not to the empty string.
56164         Include cloexec.h and xalloc.h.
56165         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
56166         Use set_cloexec_flag rather than rolling our own.
56167         * lib/cloexec.c, lib/cloexec.h: New files.
56168
56169 2004-03-29  Paul Eggert  <eggert@twinsun.com>
56170
56171         * m4/cloexec.m4: New file.
56172
56173 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56174
56175         * lib/getopt.h: Sync with libc CVS.
56176
56177 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56178             Bruno Haible  <bruno@clisp.org>
56179
56180         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
56181         mbswidth.
56182
56183 2004-03-18  Paul Eggert  <eggert@twinsun.com>
56184             Bruno Haible  <bruno@clisp.org>
56185
56186         * lib/mbswidth.h: Include <wchar.h> only if
56187         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
56188         <wchar.h>.
56189         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
56190
56191 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56192
56193         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
56194         Sync with libc CVS.
56195         * lib/getopt_int.h: New file, also synced from libc.
56196
56197 2004-03-09  Paul Eggert  <eggert@twinsun.com>
56198
56199         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
56200         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
56201         Bring back getopt.c, getopt.h, getopt1.c.
56202
56203 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56204
56205         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
56206         All uses changed.  Check for sa_sigaction member; this fixes
56207         a bug first reported by Jason Andrade in
56208         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56209
56210 2004-03-07  Paul Eggert  <eggert@twinsun.com>
56211
56212         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
56213         '#if' expressions.  Unlike the code it replaces, it does not
56214         depend on (defined _SC_PAGESIZE).  However, it does depend on
56215         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
56216         first reported by Jason Andrade in
56217         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
56218
56219 2004-02-25  Simon Josefsson  <jas@extundo.com>
56220
56221         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
56222
56223 2004-02-25  Simon Josefsson  <jas@extundo.com>
56224
56225         * lib/strdup.h: New file.
56226         * lib/strdup.c: Include it.
56227         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
56228         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
56229
56230 2004-02-23  Karl Berry  <karl@gnu.org>
56231
56232         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
56233         (from fencepost.gnu.org:/gd/gnuorg).
56234
56235 2004-02-23  Karl Berry  <karl@gnu.org>
56236
56237         * config/srclistvars.sh (GNUORG) [karl]: redefine.
56238         * config/srclist.txt: add maintain/standards documents.
56239
56240 2004-02-18  Bruno Haible  <bruno@clisp.org>
56241
56242         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
56243         Reported by Derek Robert Price <derek@ximbiot.com>.
56244
56245 2004-02-16  Karl Berry  <karl@gnu.org>
56246
56247         * config/mkinstalldirs, install-sh: update from automake.
56248
56249 2004-02-06  Karl Berry  <karl@gnu.org>
56250
56251         * m4/po.m4: update from gettext 0.14.1.
56252
56253 2004-02-06  Karl Berry  <karl@gnu.org>
56254
56255         * lib/config.charset: update from gettext 0.14.1.
56256
56257 2004-02-05  Paul Eggert  <eggert@twinsun.com>
56258
56259         Add comments and code, prompted by suggestions from Bruno Haible
56260         for sh-quote.
56261         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
56262         describing the enum quoting_style values.
56263         * lib/quotearg.c (quotearg_alloc): New function.
56264         (quotearg_buffer_restyled): Treat lone { and } as special.
56265         Treat = as special.  Work around bug with older shells
56266         that "see" a '\' that is really the 2nd byte of a multibyte char.
56267         Quote empty string with shell_quoting_style.
56268
56269 2004-02-03  Bruno Haible  <bruno@clisp.org>
56270
56271         * m4/pipe.m4: New file, from GNU gettext.
56272
56273 2004-02-03  Bruno Haible  <bruno@clisp.org>
56274
56275         * lib/pipe.h: New file, from GNU gettext.
56276         * lib/pipe.c: New file, from GNU gettext.
56277
56278 2004-01-27  Bruno Haible  <bruno@clisp.org>
56279
56280         * m4/execute.m4: New file, from GNU gettext.
56281
56282 2004-01-27  Bruno Haible  <bruno@clisp.org>
56283
56284         * lib/execute.h: New file, from GNU gettext.
56285         * lib/execute.c: New file, from GNU gettext.
56286         * lib/w32spawn.h: New file, from GNU gettext.
56287
56288 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56289
56290         Merge from diffutils.
56291
56292         * lib/file-type.c (file_type): Add typed memory objects.
56293         * lib/file-type.h (S_TYPEISTMO): New macro.
56294
56295         * lib/c-stack.h (c_stack_action): Remove argv argument.
56296         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
56297         (die): Don't calculate message unless segv_action returns.
56298         (get_stack_location, min_address_from_argv, max_address_from_argv,
56299         volatile stack_base, volatile_stack_size): Remove.
56300         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
56301         that every segmentation violation is a stack overflow.  (Ouch!)
56302         See Debian bug 136249 (still outstanding) for more info about why
56303         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
56304
56305 2004-01-24  Paul Eggert  <eggert@twinsun.com>
56306
56307         Exit-status fix from coreutils.
56308
56309         Use exit_failure consistently in place of EXIT_FAILURE,
56310         so that program exit statuses are consistent on failure.
56311
56312         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
56313         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
56314         * lib/argmatch.h: Comment fix to match the above.
56315         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
56316         Now a macro referring to exit_failure, instead of a separate
56317         variable.  Include "exitfail.h" to get it.
56318         * lib/xstrtol.h: Include "exitfail.h".
56319         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
56320
56321         * lib/long-options.c (parse_long_options): Use prototype
56322         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
56323         for clarity.
56324
56325 2004-01-21  Jim Meyering  <jim@meyering.net>
56326
56327         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
56328         so as not to conflict with a different-sized __mktime_internal
56329         function in GNU libc.
56330         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
56331         Problem building statically-linked `ls' reported by Michael Brunnbauer.
56332
56333 2004-01-20  Karl Berry  <karl@gnu.org>
56334
56335         * config/config.guess: update from config.
56336
56337         * config/srclistvars.sh: GNUWWWLICENSES for karl.
56338
56339 2004-01-20  Bruno Haible  <bruno@clisp.org>
56340
56341         Safer stack allocation.
56342         * lib/setenv.c: Include allocsa.h.
56343         (alloca): Remove fallback definition.
56344         (freea): Remove macro.
56345         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
56346         instead of freea.
56347
56348 2004-01-20  Bruno Haible  <bruno@clisp.org>
56349
56350         * m4/eealloc.m4: New file, from GNU gettext.
56351
56352 2004-01-20  Bruno Haible  <bruno@clisp.org>
56353
56354         * m4/allocsa.m4: New file, from GNU gettext.
56355
56356 2004-01-20  Bruno Haible  <bruno@clisp.org>
56357
56358         * lib/xallocsa.h: New file, from GNU gettext.
56359         * lib/xallocsa.c: New file, from GNU gettext.
56360
56361 2004-01-20  Bruno Haible  <bruno@clisp.org>
56362
56363         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
56364
56365 2004-01-20  Bruno Haible  <bruno@clisp.org>
56366
56367         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
56368         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
56369         specially.
56370
56371 2004-01-20  Bruno Haible  <bruno@clisp.org>
56372
56373         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
56374         patch.
56375
56376 2004-01-20  Bruno Haible  <bruno@clisp.org>
56377
56378         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
56379
56380 2004-01-20  Bruno Haible  <bruno@clisp.org>
56381
56382         * lib/eealloc.h: New file.
56383
56384 2004-01-20  Bruno Haible  <bruno@clisp.org>
56385
56386         * lib/binary-io.h: Avoid warnings on Cygwin.
56387
56388 2004-01-20  Bruno Haible  <bruno@clisp.org>
56389
56390         * lib/allocsa.h: New file, from GNU gettext.
56391         * lib/allocsa.c: New file, from GNU gettext.
56392
56393 2004-01-18  Karl Berry  <karl@gnu.org>
56394
56395         * doc/gpl.texi, doc/lgpl.texi: new files.
56396
56397 2004-01-18  Karl Berry  <karl@gnu.org>
56398
56399         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
56400         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
56401
56402 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56403
56404         Merge from coreutils.
56405
56406         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
56407         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
56408         (gl_DEFAULT_POSIX2_VERSION): Move
56409         the documentation from 'configure' into 'config.hin',
56410         so that 'configure --help' isn't burdened by it and
56411         we don't have to worry about its formatting there.
56412         Reword the documentation so that it's more succinct
56413         and can be run together into a single paragraph.
56414         * m4/same.m4 (gl_SAME): Check for pathconf.
56415
56416 2004-01-15  Paul Eggert  <eggert@twinsun.com>
56417
56418         Merge from coreutils.
56419
56420         * lib/posixver.c: Include posixver.h.
56421
56422         * lib/same.c: Include <stdbool.h>, <limits.h>.
56423         (_POSIX_NAME_MAX): Define if not defined.
56424         (MIN): New macro.
56425         (same_name): If file names are silently truncated, report
56426         that the file names are the same if they are the same after
56427         the silent truncation.
56428
56429         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
56430         conversion function.
56431         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
56432         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
56433         longer needed.
56434
56435 2004-01-15  Jim Meyering  <jim@meyering.net>
56436
56437         Merge from coreutils.
56438
56439         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
56440         if no library is required.
56441         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
56442         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
56443         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
56444         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
56445         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
56446         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
56447         value, $ac_cv_search_crypt, if it's "none required".
56448         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
56449         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
56450         not gl_FUNC_GETLOADAVG.
56451         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
56452         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
56453
56454 2004-01-15  Jim Meyering  <jim@meyering.net>
56455
56456         Merge from coreutils.
56457
56458         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
56459         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
56460         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
56461
56462         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
56463         optional configure-time default.
56464
56465         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56466
56467         * lib/xreadlink.c (xreadlink): Correct outdated comment.
56468
56469 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
56470
56471         Merge from coreutils.
56472
56473         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
56474         value, $ac_cv_search_nanosleep, if it's "none required".
56475
56476 2004-01-14  Paul Eggert  <eggert@twinsun.com>
56477
56478         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
56479         with like-named macro in fnmatch.c.
56480         (EXT): Use an internal constant instead.
56481
56482         Merge fnmatch patches from glibc.
56483         * lib/fnmatch.c (mbsinit): Remove define.
56484         Add libc_hidden_ver (__fnmatch, fnmatch).
56485         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
56486         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
56487
56488 2004-01-14  Karl Berry  <karl@gnu.org>
56489
56490         * config/install-sh: update from automake.
56491
56492 2004-01-13  Karl Berry  <karl@gnu.org>
56493
56494         * config/install-sh: update from automake.
56495
56496 2004-01-09  Karl Berry  <karl@gnu.org>
56497
56498         * config/install-sh: update from automake.
56499
56500 2004-01-05  Karl Berry  <karl@gnu.org>
56501
56502         * config/config.{sub,guess}: update from config.
56503
56504 2003-12-31  Karl Berry  <karl@gnu.org>
56505
56506         * config/depcomp: update from automake.
56507
56508 2003-12-14  Karl Berry  <karl@gnu.org>
56509
56510         * lib/config.charset: update from gettext-runtime.
56511
56512 2003-12-03  Paul Eggert  <eggert@twinsun.com>
56513
56514         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
56515         Bug reported by Alfred M. Szmidt.
56516
56517 2003-12-03  Bruno Haible  <bruno@clisp.org>
56518
56519         * m4/gettext.m4: Upgrade from gettext-0.13.
56520         * m4/po.m4: Upgrade from gettext-0.13.
56521         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
56522         * m4/intmax.m4: New file, from gettext-0.13.
56523         * m4/printf-posix.m4: New file, from gettext-0.13.
56524
56525 2003-11-29  Karl Berry  <karl@gnu.org>
56526
56527         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
56528
56529 2003-11-25  Paul Eggert  <eggert@twinsun.com>
56530             Bruno Haible  <bruno@clisp.org>
56531
56532         * lib/printf-parse.h: Don't include sys/types.h.
56533         (ARG_NONE): New macro.
56534         (char_directive): Change type of *arg_index fields to size_t.
56535         * lib/printf-parse.c: Don't include sys/types.h.
56536         (SSIZE_MAX): Remove macro.
56537         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
56538         Remove unnecessary overflow check.
56539         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
56540         fields.
56541
56542 2003-11-25  Bruno Haible  <bruno@clisp.org>
56543
56544         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
56545
56546 2003-11-25  Bruno Haible  <bruno@clisp.org>
56547
56548         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
56549         gt_TYPE_SSIZE_T.
56550
56551 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56552
56553         * modules/alloca: Remove dependency on xalloc.
56554
56555 2003-11-24  Paul Eggert  <eggert@twinsun.com>
56556
56557         * lib/alloca.c: Remove dependency on xalloc module.
56558         (xalloc_die): Remove.
56559         (memory_full) [!defined emacs]: New macro.
56560         [!defined emacs]: Don't include xalloc.h.
56561         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
56562         address arithmetic overflows.  Change datatypes a bit to avoid
56563         unnecessary casts.
56564
56565 2003-11-22  Jim Meyering  <jim@meyering.net>
56566
56567         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
56568         s/size/size_t/.
56569
56570 2003-11-21  Karl Berry  <karl@gnu.org>
56571
56572         * config/config.{sub,guess}: update from config.
56573
56574 2003-11-18  Karl Berry  <karl@gnu.org>
56575
56576         * config/config.{sub,guess}: update from config.
56577
56578         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
56579
56580 2003-11-17  Paul Eggert  <eggert@twinsun.com>
56581
56582         * README: Mention that S+T cannot overflow if S is the size of
56583         an existing object and T is sufficiently small.
56584
56585 2003-11-17  Jim Meyering  <jim@meyering.net>
56586
56587         On systems without utime and without a utimes function capable of
56588         dealing with a NULL struct utimbuf* argument, this utime replacement
56589         could -- in unusual circumstances -- leak a file descriptor.
56590         * lib/utime.c: Include <unistd.h> and <errno.h>.
56591         (utime_null): Be sure to close `fd' and to preserve errno.
56592         Reported by Geoff Collyer via Arnold Robbins.
56593
56594 2003-11-17  Bruno Haible  <bruno@clisp.org>
56595
56596         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
56597         (Depends-on): Add xsize.
56598
56599 2003-11-17  Bruno Haible  <bruno@clisp.org>
56600
56601         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
56602
56603 2003-11-17  Bruno Haible  <bruno@clisp.org>
56604
56605         * lib/vasnprintf.c (alloca): Remove fallback definition.
56606         (freea): Remove definition.
56607         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
56608         Reported by Paul Eggert.
56609
56610 2003-11-16  Paul Eggert  <eggert@twinsun.com>
56611             Bruno Haible  <bruno@clisp.org>
56612
56613         Protect against address arithmetic overflow.
56614         * lib/printf-args.h: Include stddef.h.
56615         (arguments): Change type of field 'count' to size_t.
56616         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
56617         'unsigned int' where appropriate.
56618         * lib/printf-parse.h: Include sys/types.h.
56619         (char_directive): Change type of *arg_index fields to ssize_t.
56620         (char_directives): Change type of fields 'count', max_*_length to
56621         size_t.
56622         * lib/printf-parse.c: Include sys/types.h and xsize.h.
56623         (SSIZE_MAX): Define fallback value.
56624         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
56625         instead of 'int' where appropriate. Check a_allocated, d_allocated
56626         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
56627         * lib/vasnprintf.c: Include xsize.h.
56628         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
56629         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
56630         overflow. Avoid wraparound when converting a width or precision from
56631         decimal to binary.
56632
56633 2003-11-16  Bruno Haible  <bruno@clisp.org>
56634
56635         Update from GNU gettext.
56636         * lib/printf-parse.c: Generalize to it can be compiled for wide
56637         strings.
56638         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
56639         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
56640         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
56641         SNPRINTF): New macros.
56642         Don't include <alloca.h> if the file is used inside libintl.
56643         (local_wcslen): New function, for Solaris 2.5.1.
56644         (VASNPRINTF): Use it instead of wcslen.
56645
56646 2003-11-16  Bruno Haible  <bruno@clisp.org>
56647
56648         * lib/xsize.h (xmax): New function.
56649         (xsum, xsum3, xsum4): Declare as "pure" functions.
56650
56651 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56652
56653         * modules/xalloc (Files): Undo latest change, since xalloc.h
56654         no longer needs SIZE_MAX or PTRDIFF_MAX.
56655
56656 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56657
56658         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
56659         gl_PTRDIFF_MAX.
56660
56661 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56662
56663         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
56664         "return", to pacify some unknown compiler.  Problem reported
56665         by Joerg Schilling.
56666
56667 2003-11-12  Paul Eggert  <eggert@twinsun.com>
56668
56669         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
56670         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
56671         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
56672         heuristic is just as accurate as far as we know, and it removes a
56673         dependency on size_max.m4 and ptrdiff_max.m4.
56674
56675 2003-11-11  Bruno Haible  <bruno@clisp.org>
56676
56677         * modules/xsize (Files): Add m4/size_max.m4.
56678         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
56679
56680 2003-11-11  Bruno Haible  <bruno@clisp.org>
56681
56682         * m4/size_max.m4: New file.
56683         * m4/ptrdiff_max.m4: New file.
56684         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
56685         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
56686         (gl_XALLOC): Invoke it.
56687
56688 2003-11-11  Bruno Haible  <bruno@clisp.org>
56689
56690         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
56691         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
56692         defined.
56693
56694 2003-11-10  Paul Eggert  <eggert@twinsun.com>
56695
56696         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
56697         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
56698         rejected some allocations of exactly SIZE_MAX - 2 bytes.
56699         From Bruno Haible.
56700         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
56701         not (size_t) -1, since it's defined here.
56702
56703 2003-11-09  Karl Berry  <karl@gnu.org>
56704
56705         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
56706
56707 2003-11-06  Paul Eggert  <eggert@twinsun.com>
56708
56709         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
56710         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
56711         Reject sizes of exactly SIZE_MAX bytes.
56712         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
56713         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
56714
56715 2003-11-05  Bruno Haible  <bruno@clisp.org>
56716
56717         * lib/xsize.h: Include limits.h, to avoid a possible collision with
56718         SIZE_MAX defined in <limits.h> on Solaris.
56719
56720 2003-11-04  Jim Meyering  <jim@meyering.net>
56721
56722         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
56723         variable names, rather than @VAR@.
56724         * modules/poll: Likewise.
56725
56726 2003-11-04  Bruno Haible  <bruno@clisp.org>
56727
56728         * modules/xsize: New file.
56729         * modules/linebreak: Depend on xsize.
56730         * MODULES.html.sh (func_all_modules): Add xsize.
56731
56732 2003-11-04  Bruno Haible  <bruno@clisp.org>
56733
56734         * m4/xsize.m4: New file.
56735
56736 2003-11-04  Bruno Haible  <bruno@clisp.org>
56737
56738         * lib/xsize.h: New file.
56739         * lib/linebreak.c: Include xsize.h.
56740         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
56741         argument for overflow.
56742         Suggested by Paul Eggert.
56743
56744 2003-11-03  Karl Berry  <karl@gnu.org>
56745
56746         * config/config.{guess,sub}: update from config.
56747
56748 2003-11-03  Jim Meyering  <jim@meyering.net>
56749
56750         * modules/userspec (lib_SOURCES): Add userspec.h.
56751         (Include): Add "userspec.h".
56752         Improve description.
56753
56754 2003-11-03  Jim Meyering  <jim@meyering.net>
56755
56756         * lib/userspec.c: Include "userspec.h".
56757         * lib/userspec.h: New file.
56758
56759 2003-11-03  Bruno Haible  <bruno@clisp.org>
56760
56761         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
56762
56763 2003-11-03  Bruno Haible  <bruno@clisp.org>
56764
56765         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
56766         available, to avoid (extremely rare) race condition.
56767         Suggested by Paul Eggert.
56768
56769 2003-11-02  Karl Berry  <karl@gnu.org>
56770
56771         * config/srclist.txt (vasprintf.c): sync broken, sigh.
56772
56773 2003-10-31  Paul Eggert  <eggert@twinsun.com>
56774
56775         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
56776         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
56777         (read_filesystem_list): Set and use me_type_malloced.
56778         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
56779         whatever the type happens to be), for brevity and consistency.
56780         Check for size calculation overflow on Alphas running OSF/1.
56781
56782 2003-10-31  Jim Meyering  <jim@meyering.net>
56783
56784         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
56785
56786         * lib/linebuffer.c: Include <string.h> for declaration of memset.
56787
56788 2003-10-30  Paul Eggert  <eggert@twinsun.com>
56789             Bruno Haible  <bruno@clisp.org>
56790
56791         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
56792         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
56793
56794 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
56795
56796         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
56797         netbsd*-gnu*.  Suggested by Robert Millan.
56798
56799 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56800
56801         * modules/group-member: Depend on stdbool.
56802
56803 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56804
56805         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
56806
56807 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56808
56809         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
56810         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
56811         after the 'gnu' in these cases.  This fixes some bugs in the
56812         previous change, and is based on suggestions by Robert Millan.
56813
56814 2003-10-29  Paul Eggert  <eggert@twinsun.com>
56815
56816         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
56817         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
56818         no longer needed.
56819         * lib/quotearg.c (quotearg_n_options): Use it.
56820         * lib/group-member.c: Include <stdbool.h>.
56821         (free_group_info): Arg is now const *; don't free arg.
56822         (get_group_info): Now returns bool and accepts struct group_info *,
56823         rather than returning a malloc'ed struct group_info *.
56824         All uses changed.  Check for overflow in internal size calculation.
56825
56826         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
56827         rather than xmalloc/xrealloc.
56828         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
56829         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
56830         conformance bug: the old code used a pointer after freeing the
56831         storage that it addressed.
56832         * lib/hash.c (hash_initialize): Simplify the code by using
56833         xalloc_oversized rather than doing it by hand.
56834         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
56835         the buffer preserved.  Use free and xmalloc instead.
56836         * lib/quotearg.c (quotearg_n_options): Likewise.
56837         Use a simpler test for size overflow.  Don't use xalloc_oversized
56838         because unsigned int might be wider than size_t (!); this suggests
56839         that we should switch from unsigned int to size_t for slot numbers.
56840
56841 2003-10-28  Paul Eggert  <eggert@twinsun.com>
56842
56843         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
56844         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
56845         NetBSD kernels.  Requested by Richard Stallman.
56846
56847 2003-10-27  Paul Eggert  <eggert@twinsun.com>
56848
56849         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
56850         to allocate the returned structure.  Do not allocate a subarray,
56851         as x2nrealloc will do that.
56852         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
56853         instead of xnrealloc.
56854         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
56855
56856 2003-10-27  Bruno Haible  <bruno@clisp.org>
56857
56858         * lib/stdbool_.h: Better support for BeOS.
56859
56860 2003-10-26  Paul Eggert  <eggert@twinsun.com>
56861
56862         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
56863         now uses inline.
56864
56865 2003-10-26  Paul Eggert  <eggert@twinsun.com>
56866
56867         * lib/xalloc.h (xalloc_oversized): New static inline function, for
56868         callers that want to do their own size-overflow checking.  Include
56869         <stdbool.h>, since xalloc_oversized returns bool.
56870         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
56871         to use xalloc_oversized.
56872
56873         Add two functions x2realloc, x2nrealloc, for programs that grow
56874         arrays dynamically by doubling their sizes.
56875         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
56876         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
56877         New functions.
56878
56879         Port to C99 semantics for 'inline' of external functions.
56880         Bug reported by Bruno Haible.
56881         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
56882         with the old contents of xnmalloc.
56883         (xnmalloc, xmalloc): Use it.
56884         (xnrealloc_inline): New static inline function,
56885         with the old contents of xnrealloc.
56886         (xnrealloc, xrealloc): Use it.
56887
56888         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
56889         that.
56890
56891 2003-10-26  Karl Berry  <karl@gnu.org>
56892
56893         * config/srclist.txt (COPYING.DOC): no longer available from
56894         /gd/gnuorg; don't know where the ultimate source is.
56895
56896 2003-10-25  Paul Eggert  <eggert@twinsun.com>
56897
56898         Fix several address-calculation bugs in the hash modules,
56899         plus some minor code cleanup.
56900
56901         * lib/hash.h: Include <stdbool.h>, for bool.
56902         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
56903         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
56904         hash_get_n_entries, hash_get_max_bucket_length,
56905         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
56906         hash_rehash): Use size_t rather than unsigned.
56907         * lib/hash.c (struct hash_table, hash_get_n_buckets,
56908         hash_get_n_buckets_used, hash_get_n_entries,
56909         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
56910         hash_get_entries, hash_do_for_each, hash_string, is_prime,
56911         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
56912         Likewise.
56913         (SIZE_MAX): Define if not defined.
56914         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
56915         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
56916         hash_print):
56917         Use const * when possible.
56918         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
56919         (check_tuning): Fix bug: if tuning parameters were very close to
56920         0 or 1, rounding errors could have caused subscript violations.
56921         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
56922         (hash_initialize): Add 'fail:' label
56923         to free table and return NULL, and use it to simplify code.
56924         Use calloc rather than clearing the storage ourself.
56925         (hash_initialize, hash_rehash): Check for arithmetic overflow in
56926         buffer size calculations.
56927         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
56928         Include <stddef.h>, for size_t.
56929         * lib/hash-pjw.c (hash_pjw): Likewise.
56930         Switch to method described by Bruno Haible.
56931         Include <limits.h>, for CHAR_BIT.
56932         (SIZE_BITS): New macro.
56933
56934 2003-10-23  Paul Eggert  <eggert@twinsun.com>
56935
56936         * m4/getline.m4 (AM_FUNC_GETLINE):
56937         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
56938         hosts.  Problem reported by Derek Robert Price in
56939         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
56940         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
56941         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
56942
56943 2003-10-21  Paul Eggert  <eggert@twinsun.com>
56944
56945         * lib/getndelim2.c (getndelim2): When size calculation overflows,
56946         ceiling the allocation at NMAX bytes rather than silently
56947         discarding input bytes before NMAX is reached.  This makes
56948         a difference only if NMAX exceeds SIZE_MAX / 2.
56949
56950         * lib/obstack.c: Merge from glibc.
56951         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
56952         Add libc_hidden_def (_obstack_newchunk).
56953         (_obstack_free) [! defined _LIBC]: Remove.
56954         [defined _LIBC]: Make a strong alias from obstack_free, rather than
56955         a clone of the function body.
56956         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
56957         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
56958
56959         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
56960         glibc.
56961         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
56962         arg to memcpy.
56963
56964         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
56965         (obstack_ptr_grow_fast, obstack_int_grow_fast):
56966         Don't use lvalue casts, as GCC plans to remove support for them
56967         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
56968         was also present in the non-GCC version, indicating that this
56969         code had always been buggy and had never been widely used.
56970         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
56971         Use the fast variant of each macro, rather than copying the
56972         definiens of the fast variant; that way, we'll be more likely to
56973         catch future bugs in the fast variants.
56974
56975 2003-10-20  Bruno Haible  <bruno@clisp.org>
56976
56977         * modules/wait-process: New file.
56978         * MODULES.html.sh (func_all_modules): Add wait-process.
56979
56980 2003-10-20  Bruno Haible  <bruno@clisp.org>
56981
56982         * m4/wait-process.m4: New file.
56983
56984 2003-10-20  Bruno Haible  <bruno@clisp.org>
56985
56986         * lib/wait-process.h: New file, from GNU gettext.
56987         * lib/wait-process.c: New file, from GNU gettext.
56988
56989 2003-10-19  Jim Meyering  <jim@meyering.net>
56990
56991         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
56992         HPUX 10.20.
56993
56994 2003-10-18  Karl Berry  <karl@gnu.org>
56995
56996         * config/config.guess: update from config.
56997
56998 2003-10-16  Paul Eggert  <eggert@twinsun.com>
56999
57000         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
57001         (getgroups): First arg is int, not size_t.
57002         Don't let 'free' mangle errno.
57003
57004 2003-10-16  Paul Eggert  <eggert@twinsun.com>
57005
57006         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
57007
57008 2003-10-16  Karl Berry  <karl@gnu.org>
57009
57010         * config/config.{guess,sub}: update from config.
57011
57012 2003-10-16  Jim Meyering  <jim@meyering.net>
57013
57014         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
57015         memcpy.
57016
57017 2003-10-15  Paul Eggert  <eggert@twinsun.com>
57018
57019         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
57020         (SIZE_MAX): Remove.
57021         (new_exclude, add_exclude_file): Initial size no longer needs to
57022         be a power of 2.
57023         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
57024         our own address arithmetic overflow checking.
57025
57026         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
57027         (fnmatch): Do not alloca more than 2000 wide characters;
57028         instead, use malloc for large buffers.
57029         Check for address arithmetic overflow, and return -1
57030         with errno set to ENOMEM in that case.
57031         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
57032         (NEW_PATTERN): Do not alloca more than 8000 bytes;
57033         instead, return -1.  Check for address arithmetic overflow.
57034
57035 2003-10-14  Paul Eggert  <eggert@twinsun.com>
57036
57037         Handle invalid suffixes and overflow independently, so that
57038         callers can treat them independently as needed.  Fix some bugs in
57039         suffix handling, e.g., "100k@" was not diagnosed as an invalid
57040         suffix for a human-readable blocksize.  The major caller-visible
57041         change is the addition of a new
57042         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
57043         that both overflow and suffix chars were found.
57044
57045         * lib/human.c (humblock): Don't check separately for invalid suffix
57046         char; that is xstrtoumax's job (now that its bug is fixed).
57047         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
57048         INTMAX_MAX]: New macros.
57049         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
57050         TYPE_MAXIMUM): New macros.
57051         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
57052         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
57053         if overflow occurs, as it's what __strtol does and it's more useful
57054         in practice.
57055         (__xstrtol): If __strtol reports some error other than ERANGE,
57056         reflect it to the caller as LONGINT_INVALID.  If it reports
57057         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
57058         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
57059         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
57060         value.
57061         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
57062         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
57063         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
57064         [defined UINTMAX_MAX]: New macros.
57065
57066 2003-10-14  Bruno Haible  <bruno@clisp.org>
57067
57068         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
57069
57070 2003-10-14  Bruno Haible  <bruno@clisp.org>
57071
57072         * m4/sig_atomic_t: New file, from GNU gettext.
57073         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
57074
57075 2003-10-14  Bruno Haible  <bruno@clisp.org>
57076
57077         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
57078         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
57079         Also use volatile where needed.
57080
57081 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57082
57083         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
57084         Change maintainer from Bruno Haible to 'all'.
57085
57086 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57087
57088         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
57089
57090 2003-10-12  Paul Eggert  <eggert@twinsun.com>
57091
57092         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
57093         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
57094         and define in terms of the other primitives.
57095         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
57096         (SIZE_MAX): Define if not already defined.
57097         (array_size_overflow): New function.
57098         (xalloc_die): Abort instead of exiting if 'error' returns.
57099         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
57100         (xmalloc, xrealloc): Use them.
57101         (xcalloc): Check for address arithmetic overflow.
57102         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
57103         a bit faster than strcpy.
57104
57105 2003-10-10  Simon Josefsson  <jas@extundo.com>
57106
57107         * modules/argp (Depends-on): Add restrict and strcase.
57108
57109 2003-10-10  Simon Josefsson  <jas@extundo.com>
57110
57111         * m4/argp.m4: Add AC_C_INLINE.
57112
57113 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57114
57115         Merge getpass from libc, plus a few fixes.
57116
57117         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
57118         Include <stdbool.h>.
57119         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
57120         __fsetlocking to empty.
57121         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
57122         do include <bits/libc-lock.h>.
57123         Do not include <fcntl.h>; not needed.
57124         [_LIBC]: Include <wchar.h>.
57125         (NOTCANCEL_MODE): New macro.
57126         (flockfile, funlockfile) [_LIBC]: New macros.
57127         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
57128         [!_LIBC]: New macros.
57129         (call_fclose): New function.
57130         (getpass): Use it.  Save tty stream separately; this simplifies the
57131         code and makes it more reliable if stdin happens to equal stdout.
57132         Invoke __fsetlocking on tty.
57133         Handle thread cancellation if needed.
57134         Namespace cleanup (use __tcgetattr, __getline).
57135         Use bool for Booleans.
57136         [USE_IN_LIBIO]: Handle wide streams.
57137         [!_LIBC]: Unconditionally do the fseek, since we don't know what
57138         stream might go where.
57139
57140         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
57141         doesn't have to include <stdio.h> before us.
57142         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
57143         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
57144         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
57145         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
57146         if not declared, so that we can use getpass.c code from libc without
57147         rewriting it.
57148         (flockfile, ftrylockfile, funlockfile): New macros.
57149
57150 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57151
57152         * modules/getpass: Depend on stdbool.
57153
57154 2003-10-08  Paul Eggert  <eggert@twinsun.com>
57155
57156         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
57157
57158 2003-10-07  Karl Berry  <karl@gnu.org>
57159
57160         * config/config.{guess,sub}: update from config.
57161
57162 2003-10-06  Jim Meyering  <jim@meyering.net>
57163             Bruno Haible  <bruno@clisp.org>
57164
57165         This lets translators provide better translations for the
57166         "Written by ..." part of --version output.
57167         * lib/version-etc.h: Include stdarg.h.
57168         (version_etc_copyright): Declare as readonly.
57169         (version_etc): Make this function variadic with a NULL-terminated list
57170         of author name strings.
57171         (version_etc_va): New declaration.
57172         * lib/version-etc.c: Include stdarg.h, stdlib.h.
57173         (version_etc_copyright): Declare as readonly.
57174         (version_etc_va): New function. Provide a different translatable string
57175         for each possible number of authors < 10. Abbreviate when there are 10
57176         authors or more.
57177         (version_etc): Make this function variadic. Call version_etc_va.
57178         Suggestion from Gary V. Vaughan.
57179
57180         * lib/long-options.h (parse_long_options): Change prototype: the
57181         authors string is moved to the end and becomes variadic.
57182         * lib/long-options.c: Include stdarg.h.
57183         (parse_long_options): Make this function variadic, too.
57184         Call version_etc_va, not version_etc.
57185
57186 2003-10-06  Bruno Haible  <bruno@clisp.org>
57187
57188         * modules/version-etc-2: Remove file.
57189         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
57190
57191 2003-10-06  Bruno Haible  <bruno@clisp.org>
57192
57193         * modules/fatal-signal: New file.
57194         * MODULES.html.sh (func_all_modules): Add fatal-signal.
57195
57196 2003-10-06  Bruno Haible  <bruno@clisp.org>
57197
57198         * m4/fatal-signal.m4: New file.
57199         * m4/signalblocking.m4: New file, from GNU gettext.
57200
57201 2003-10-06  Bruno Haible  <bruno@clisp.org>
57202
57203         * lib/version-etc-2.h: Remove file.
57204         * lib/version-etc-2.c: Remove file.
57205
57206 2003-10-06  Bruno Haible  <bruno@clisp.org>
57207
57208         * lib/fatal-signal.h: New file, from GNU gettext.
57209         * lib/fatal-signal.c: New file, from GNU gettext.
57210
57211 2003-10-05  Paul Eggert  <eggert@twinsun.com>
57212
57213         * README: Rework advice for preventing empty .o files.
57214         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
57215         not <sys/types.h>.
57216
57217 2003-10-04  Karl Berry  <karl@gnu.org>
57218
57219         * lib/argp*: update from libc.
57220
57221 2003-10-04  Karl Berry  <karl@gnu.org>
57222
57223         * config/config.{guess,sub}: update from config.
57224
57225 2003-10-02  Bruno Haible  <bruno@clisp.org>
57226
57227         * modules/lchown (Include): Add lchown.h.
57228         * modules/time_r (Include): Use "..." syntax.
57229         * modules/xgetdomainname (Include): Add xgetdomainname.h.
57230
57231 2003-10-01  Simon Josefsson  <jas@extundo.com>
57232
57233         * MODULES.html.sh (func_all_modules): Move gethostname from section
57234         'based on' to section 'lacking' POSIX:2001.
57235
57236 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
57237
57238         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
57239         to output mode on the same stream.
57240
57241 2003-09-29  Paul Eggert  <eggert@twinsun.com>
57242
57243         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
57244         Fix arg typo in previous patch.
57245
57246 2003-09-28  Jim Meyering  <jim@meyering.net>
57247
57248         * lib/error.c: Correct cpp indentation.
57249
57250 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57251
57252         * modules/free: New file.
57253
57254 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57255
57256         * m4/free.m4: New file.
57257
57258 2003-09-27  Paul Eggert  <eggert@twinsun.com>
57259
57260         * lib/minmax.h (MIN, MAX)
57261         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
57262         Omit the special code that used __typeof__, since we worry that
57263         it could be more trouble than it's worth.  See:
57264         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
57265         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
57266
57267         * lib/free.c: New file.
57268
57269 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
57270
57271         Trivial fixes to Makefile.am parts of module listings.
57272         * modules/strstr: Append strstr.h to lib_SOURCES.
57273         * modules/strcase: Likewise, for strcase.h.
57274
57275 2003-09-27  Karl Berry  <karl@gnu.org>
57276
57277         * config/mkinstalldirs: update from automake.
57278
57279 2003-09-26  Paul Eggert  <eggert@twinsun.com>
57280
57281         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
57282         (error_tail): Do not loop, reallocating temporary buffer, since
57283         the output cannot contain more wide characters than the input
57284         contains bytes, the size must be big enough already.  This avoids
57285         one potential size overflow calculation.  Check for size overflow
57286         when calculating temporary buffer size.  Free temporary buffer
57287         when done, if it was allocated with malloc; this plugs a memory
57288         leak.  Remove casts from void * to pointers, that are no longer
57289         needed now that we're assuming C89 or better.
57290
57291         Merge error changes from glibc.
57292
57293         * lib/error.c, error.h: Update copyright notice header to match glibc.
57294         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
57295         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
57296         Disable cancellation while printing error.
57297         * lib/error.h: Prepend __ to parameter names.
57298
57299 2003-09-26  Jim Meyering  <jim@meyering.net>
57300
57301         * lib/error.c (error_tail): Move some declarations
57302         into inner scope where the local variables are used.
57303
57304 2003-09-26  Bruno Haible  <bruno@clisp.org>
57305
57306         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
57307         stpncpy().
57308         Don't define stpncpy through config.h; it's now done through stpncpy.h.
57309
57310 2003-09-26  Bruno Haible  <bruno@clisp.org>
57311
57312         * lib/stpncpy.h (gnu_stpncpy): New declaration.
57313         (stpncpy): Define as alias for gnu_stpncpy.
57314         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
57315
57316 2003-09-25  Simon Josefsson  <jas@extundo.com>
57317
57318         * lib/xgetdomainname.h: New file.
57319         * lib/xgetdomainname.c: New file.
57320
57321 2003-09-25  Simon Josefsson  <jas@extundo.com>
57322             Bruno Haible  <bruno@clisp.org>
57323
57324         * modules/getdomainname: New file.
57325         * modules/xgetdomainname: New file.
57326         * MODULES.html.sh (func_all_modules): Add getdomainname,
57327         xgetdomainname.
57328
57329 2003-09-25  Simon Josefsson  <jas@extundo.com>
57330             Bruno Haible  <bruno@clisp.org>
57331
57332         * m4/getdomainname.m4: New file.
57333
57334 2003-09-25  Simon Josefsson  <jas@extundo.com>
57335             Bruno Haible  <bruno@clisp.org>
57336
57337         * lib/getdomainname.h: New file.
57338         * lib/getdomainname.c: New file.
57339
57340 2003-09-25  Karl Berry  <karl@gnu.org>
57341
57342         * lib/argp-fmtstream.c, argp-help.c: update from libc.
57343
57344 2003-09-25  Karl Berry  <karl@gnu.org>
57345
57346         * config/install-sh: update from automake.
57347
57348 2003-09-25  Bruno Haible  <bruno@clisp.org>
57349
57350         * modules/version-etc-2: New file, from modules/version-etc with
57351         modifications.
57352         * MODULES.html.sh (func_all_modules): Add version-etc-2.
57353
57354 2003-09-25  Bruno Haible  <bruno@clisp.org>
57355
57356         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
57357         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
57358
57359 2003-09-24  Simon Josefsson  <jas@extundo.com>
57360
57361         * modules/xgethostname: Add xgethostname.h.
57362
57363 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57364
57365         * lib/linebuffer.c (freebuffer): Don't free the argument, just
57366         the buffer associated with the argument.  Bug reported by
57367         Simon Josefsson.
57368
57369 2003-09-24  Paul Eggert  <eggert@twinsun.com>
57370
57371         * README: Document assumptions that 'int' is at least 32 bits
57372         wide, that integer arithmetic is 2's complement without overflow,
57373         that there are no holes in integer values, that adding sizes of
57374         two nonoverlapping objects can't overflow, and that all-bits-zero
57375         yields scalar zero.  Fix spelling and capitalization typos.
57376
57377 2003-09-19  Karl Berry  <karl@gnu.org>
57378
57379         * lib/argp.h: update from libc.
57380
57381 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57382
57383         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
57384         to avoid spurious warnings like "AC_RUN_IFELSE was called before
57385         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
57386
57387 2003-09-17  Paul Eggert  <eggert@twinsun.com>
57388
57389         * gnulib-tool: Use "test -h", not "test -L", for portability
57390         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
57391         (tags_regexp): Remove, since \| doesn't conform to POSIX.
57392         (sed_extract_prog): Issue s commands one-by-one, rather than
57393         using \| in one s command.
57394
57395 2003-09-16  Paul Eggert  <eggert@twinsun.com>
57396
57397         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
57398         input error, instead of returning NULL the next time we are called
57399         (and therefore losing track of errno).
57400
57401 2003-09-16  Bruno Haible  <bruno@clisp.org>
57402
57403         * gnulib-tool (func_create_testdir): Warn about duplicated
57404         dependencies.
57405
57406 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57407
57408         * modules/argmatch, modules/fatal, modules/obstack,
57409         modules/xalloc, modules/xgethostname: Sort dependencies by
57410         importance, not alphabetically.
57411
57412 2003-09-15  Paul Eggert  <eggert@twinsun.com>
57413
57414         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
57415         fails, so that the caller gets the proper errno.
57416
57417         * lib/readutmp.c (read_utmp): Likewise.
57418         Check for fstat error.  Close stream and free storage
57419         when failing.
57420
57421 2003-09-14  Karl Berry  <karl@gnu.org>
57422
57423         * config/srclist.txt (strdup.c): disable for c89 changes.
57424
57425 2003-09-14  Jim Meyering  <jim@meyering.net>
57426
57427         * lib/getloadavg.c: Correct cpp indentation.
57428         * lib/strdup.c: Likewise.
57429         * lib/vasnprintf.c: Likewise.
57430
57431 2003-09-14  Bruno Haible  <bruno@clisp.org>
57432
57433         * modules/fwriteerror: New file.
57434         * MODULES.html.sh (func_all_modules): Add fwriteerror.
57435
57436 2003-09-14  Bruno Haible  <bruno@clisp.org>
57437
57438         * lib/fwriteerror.h: New file.
57439         * lib/fwriteerror.c: New file.
57440
57441 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57442
57443         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
57444         modules/xgethostname, modules/xalloc: Depend on exit.
57445
57446 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57447
57448         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
57449
57450         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
57451         and AC_MINIX, too, so that their extensions are available.
57452
57453         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
57454         This macro has been superseded by gl_BACKUPFILE.
57455
57456         More patches to assume C89 or better.
57457
57458         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
57459
57460         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
57461         unconditionally.
57462         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
57463         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
57464         Include <string.h>, <stdlib.h> unconditionally.
57465         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
57466         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
57467         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
57468         headers or for string.h.
57469         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
57470         or strtoul.
57471
57472         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
57473         headers.
57474         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
57475         * m4/userspec.m4 (gl_USERSPEC): Likewise.
57476         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
57477         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
57478         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
57479         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
57480         memcpy, memset.
57481         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
57482         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
57483         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
57484         strtol.
57485         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
57486         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
57487         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
57488         strtoul.
57489
57490 2003-09-12  Paul Eggert  <eggert@twinsun.com>
57491
57492         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
57493         * lib/obstack.c [!defined _LIBC]: Likewise.
57494         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
57495         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
57496         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
57497
57498         More changes to assume C89 or better.
57499
57500         * lib/error.c (error_tail): Assume vprintf.
57501
57502         * lib/argmatch.c (getenv): Remove decl.
57503         * lib/progreloc.c (get_full_program_name): Define via prototype.
57504         * lib/setenv.c (clearenv): Likewise.
57505         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
57506         needed.
57507         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
57508         (malloc, memcpy): Remove decls.
57509         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
57510         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
57511         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57512         (memcpy): Remove macro.
57513         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
57514         (__P): Remove.  All uses removed.
57515         (PTR): Remove.  All uses changed to void *.
57516         (CHAR_BIT, NULL): Remove.
57517         (spaces, zeros, memset_space, memset_zero)
57518         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
57519         Remove.
57520         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
57521         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
57522         Define with prototype.
57523         Remove now-unnecessary prototype decl.
57524         (extra_args_spec): Assume ANSI C.  All uses changed.
57525         (extra_args_spec_iso): Remove.
57526         (my_strftime, emacs_strftimeu): Define via prototype.
57527         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
57528         unconditionally.
57529         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
57530         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
57531         (strtoul, strtol): Remove decls.
57532         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
57533         LONG_MAX): Remove.
57534         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
57535         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
57536         (LOCALE_PARAM_PROTO): New macro.
57537         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
57538         (INTERNAL (strtol), strtol): Define with a prototype.
57539         (PARAMS): Remove.  All uses removed.
57540         * lib/tempname.c: Include <string.h> unconditionally.
57541         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
57542         * lib/xgethostname.c (main): Define with a prototype.
57543         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
57544         Include <stdlib.h> unconditionally.
57545         (calloc, malloc, realloc, free): Remove decls.
57546         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
57547         Include <stdlib.h> unconditionally.  Sort include file names.
57548         (strtod): Remove.
57549         (xstrtod): Define with a prototype.
57550         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
57551         (strtol, strtoul): Remove decls.
57552
57553 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57554
57555         More patches to assume C89 or better.
57556         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
57557         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
57558         string.h, memchr, STDC_HEADERS.
57559
57560 2003-09-11  Paul Eggert  <eggert@twinsun.com>
57561
57562         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
57563         Include <stdlib.h>, <string.h> unconditionally.
57564         Remove now-unnecessary cast to char *.
57565         * lib/strnlen.c: Include <string.h> unconditionally.
57566         * lib/yesno.c (yesno): Define with a prototype.
57567
57568 2003-09-11  Bruno Haible  <bruno@clisp.org>
57569
57570         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
57571
57572 2003-09-10  Jim Meyering  <jim@meyering.net>
57573
57574         * lib/error.c: Correct indentation of cpp directives.
57575
57576 2003-09-10  Bruno Haible  <bruno@clisp.org>
57577
57578         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
57579         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
57580         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
57581         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
57582         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
57583         <stdlib.h> and <string.h> checks.
57584         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
57585         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
57586
57587 2003-09-10  Bruno Haible  <bruno@clisp.org>
57588
57589         * lib/strcspn.c: Include <string.h> unconditionally.
57590         * lib/strpbrk.c: Include <string.h> unconditionally.
57591         * lib/strstr.c: Include <string.h> unconditionally.
57592         * lib/unicodeio.c: Include <string.h> unconditionally.
57593         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
57594         * lib/unsetenv.c: Likewise.
57595         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
57596         * lib/yesno.c: Include <stdlib.h> unconditionally.
57597         (rpmatch): Add prototype.
57598
57599 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57600
57601         More patches to assume C89 or better.
57602         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
57603         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
57604         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
57605         or for string.h.
57606         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
57607         stdlib.h.
57608         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
57609         C headers.
57610         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
57611         string.h.
57612         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
57613         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
57614         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
57615         or for string.h.
57616         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
57617         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
57618         C headers.
57619         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
57620         memcpy.
57621         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
57622         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
57623         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
57624         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
57625         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
57626         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
57627         string.h, free.
57628         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
57629         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
57630         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
57631         C headers, or for string.h.
57632         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
57633         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
57634         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
57635         headers, memory.h, stdlib.h, string.h, strings.h.
57636         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
57637         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
57638         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
57639         strchr.
57640         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
57641         headers, memory.h, string.h.
57642         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
57643         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
57644         free.
57645         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
57646         headers.
57647         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
57648         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
57649         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
57650         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
57651         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
57652
57653 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57654
57655         More K&R removal.
57656
57657         * lib/acosl.c (main): Use a prototype.
57658         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
57659         tanl.c: Likewise.
57660
57661         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
57662
57663         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
57664         (getopt, etopt_long, getopt_long_only, _getopt_internal)
57665         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
57666         with a prototype.
57667         * lib/getopt.c (const): Remove macro.
57668         Include <string.h> unconditionally.
57669         (my_index): Remove; all uses changed to strchr.
57670         (strlen): Remove decl.
57671         (exchange): Remove forward decl; no longer needed.
57672         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
57673         Define with prototype.
57674         * lib/getopt1.c (const): Remove macro.
57675         (getopt_long, getopt_long_only, main): Define with prototype.
57676
57677         * lib/getugroups.c: Include <string.h> unconditionally.
57678
57679         * lib/getusershell.c: Include <stdlib.h> unconditionally.
57680         (getusershell, setusershell, endusershell, readname, main):
57681         Define with prototypes.
57682
57683         * lib/group-member.c: Include group-member.h first.
57684         Include <stdlib.h> unconditionally.
57685
57686         * lib/hard-locale.c: Include hard-locale.h first.
57687         Include <stdlib.h>, <string.h> unconditionally.
57688
57689         * lib/hash.c (free, malloc): Remove decls.
57690         Include <stdlib.h> unconditionally.
57691
57692         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
57693         (getenv): Do not declare.
57694
57695         * lib/idcache.c: Include <string.h> unconditionally.
57696
57697         * lib/long-options.c: Include long-options.h first, to test interface.
57698         Include <stdlib.h> unconditionally.
57699
57700         * lib/makepath.c: Include makepath.h first, to test interface.
57701         Include <stdlib.h> and <string.h> unconditionally.
57702
57703         * lib/linebuffer.c: Include <stdlib.h>.
57704         (free): Remove decl.
57705
57706         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
57707         stddef.h. rpl_malloc returns void *, not char *.
57708         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
57709         prototype.
57710
57711         * lib/md5.h: Include <limits.h> unconditionally.
57712         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
57713         (__P): Remove; all uses removed.
57714         * lib/md5.c: Include "md5.h" first.
57715         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
57716         md5_buffer, md5_process_bytes, md5_process_block):
57717         Define with prototypes.
57718         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
57719         * lib/sha.c: Include "sha.h" first.
57720         Include <stdlib.h>, <string.h> unconditionally.
57721
57722         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
57723         * lib/memcmp.c (__ptr_t): Likewise.
57724         * lib/memrchr.c (__ptr_t): Likewise.
57725         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
57726         Include <string.h> unconditionally.
57727         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
57728         * lib/memchr.c: Include <stdlib.h> unconditionally.
57729         * lib/memchr.c (LONG_MAX): Remove.
57730         * lib/memrchr.c (LONG_MAX): Likewise.
57731         * lib/memchr.c (__memchr): Define via a prototype.
57732         * lib/memrchr.c (__memrchr): Likewise.
57733         * lib/memcmp.c (__P): Remove, and remove all uses.
57734         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
57735         Remove forward decls; no longer needed.
57736         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
57737         Use types required by C89 in prototype.
57738
57739         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
57740         * lib/savedir.c: Likewise.
57741         * lib/mkdir.c (free): Remove decl.
57742         * lib/rmdir.c (rmdir): Define with a prototype.
57743         * lib/savedir.c: Include savedir.h first, to test interface.
57744
57745         * lib/mktime.c (STDC_HEADERS): Remove.
57746         Include <stdlib.h>, <string.h> unconditionally.
57747
57748         * lib/modechange.c: Include <stdlib.h> unconditionally.
57749         (malloc): Remove decl.
57750
57751         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
57752         (free): Remove decl.
57753
57754         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
57755         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
57756         (This type really should be intptr_t, but that's a C99ism.)
57757         (_obstack_memcpy): Remove: all uses changed to memcpy.
57758         Include <string.h> unconditionally.
57759         (struct obstack): Assume __STDC__ for types of members
57760         chunkfun, freefun, extra_arg.
57761         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
57762         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
57763         obstack_begin, obstack_specify_allocation,
57764         obstack_specify_allocation_with_arg, obstack_chunkfun,
57765         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
57766         Remove unprototyped decls and the macros that use them.
57767         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
57768         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
57769         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
57770         (defined __STDC__ && __STDC__)]:
57771         Remove nonprototyped code.
57772         Include <stdlib.h> unconditionally.
57773         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
57774         _obstack_allocated_p, _obstack_free, obstack_free,
57775         _obstack_memory_used, print_and_abort):
57776         Define using prototypes.
57777         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
57778         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
57779         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
57780         obstack_next_free, obstack_object_size, obstack_room) [0]:
57781         Remove unused, unprototyped code.
57782
57783         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
57784
57785         * lib/physmem.c (physmem_total, physmem_available, main): Define
57786         with prototypes.
57787
57788         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
57789         (main): Define with a prototype.
57790
57791         * lib/posixver.c (getenv): Remove decl.
57792
57793         * lib/putenv.c (malloc): Returns void *, not char *.
57794         Include <string.h> unconditionally.
57795         (strchr, memcpy, NULL): Do not define.
57796
57797         * lib/readtokens.c: Include readtokens.h first, to test interface.
57798         Include <stdlib.h>, <string.h> unconditionally.
57799         (init_tokenbuffer): Define with a prototype.
57800
57801         * lib/regex.c (PARAMS): Remove.  All uses removed.
57802         All uses of _RE_ARGS removed, too.
57803         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
57804         unconditionally.
57805         (bzero): Assume memset exists.
57806         (memcmp, memcpy, NULL): Remove.
57807         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
57808         char, or assignments to local vars of type signed char.
57809         (init_syntax_once, PREFIX(extract_number_and_incr),
57810         PREFIX(print_partial_compiled_pattern),
57811         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
57812         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
57813         PREFIX(regex_grow_registers), PREFIX(regex_compile),
57814         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
57815         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
57816         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
57817         wcs_compile_range, byte_compile_range, truncate_wchar,
57818         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
57819         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
57820         count_mbs_length, wcs_re_match_2_internal,
57821         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
57822         PREFIX(alt_match_null_string_p),
57823         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
57824         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
57825         regfree, PREFIX(extract_number)): Define with prototype.  Remove
57826         now-unnecessary declaration, if any.
57827         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
57828         regcomp, regexec):
57829         Remove now-unnecessary casts among pointer types.
57830         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
57831
57832         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
57833         (free): Remove decl.
57834
57835         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
57836
57837         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
57838         (free): Remove decl.
57839
57840         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
57841         * lib/xgetcwd.c: Likewise.
57842
57843         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
57844         (free): Remove decl.
57845
57846         * lib/strchrnul.c (strchrnul): Define with a prototype.
57847         Fix bug: c_in was not converted to char before searching.
57848
57849         The following changes are not K&R related:
57850
57851         * lib/group-member.h: Include <sys/types.h>, so that this file is
57852         self-contained.
57853         * lib/makepath.h: Likewise.
57854
57855         * lib/getusershell.c (readname, default_index, line_size, readname):
57856         Use size_t, not int, for sizes.
57857         (readname): If the size overflows, report an error instead of
57858         looping forever.
57859
57860 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57861
57862         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
57863         libc.
57864
57865 2003-09-09  Paul Eggert  <eggert@twinsun.com>
57866
57867         * README: New section: portability guidelines.
57868
57869 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
57870
57871         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
57872         C89 spec.
57873
57874 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
57875
57876         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
57877
57878 2003-09-08  Paul Eggert  <eggert@twinsun.com>
57879
57880         Assume C89 or better; remove K&R cruft.
57881         A few of these changes were first proposed by Derek Robert Price
57882         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
57883
57884         * lib/addext.c: Include <string.h> unconditionally.
57885         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
57886         Don't declare getenv or malloc.
57887
57888         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
57889         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
57890         (NULL): Remove.
57891         (find_stack_direction, alloca): Use prototypes.
57892
57893         * lib/atexit.c (atexit): Define using a prototype.
57894
57895         * lib/basename.c, dirname.c, stripslash.c:
57896         Include <string.h> unconditionally.
57897
57898         * lib/bcopy.c: Include <stddef.h>.
57899         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
57900
57901         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
57902
57903         * lib/error.h (error, error_at_line, error_print_progname)
57904         [! (defined (__STDC__) && __STDC__)]: Remove decls.
57905         * lib/error.c: Include error.h first, to check interface.
57906         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
57907         (VA_START): Remove; all uses changeed to va_start.
57908         (exit, strerror): Remove decls.
57909         (error_print_progname): Prototype uncondionally.
57910         Don't include <errno.h>; no longer needed.
57911         (private_strerror): Remove.
57912         (error_tail): Always define.
57913         (error, error_at_line): Assume C89 or better; always use prototypes.
57914         * lib/fatal.c: Include "fatal.h" first, to test interface.
57915         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
57916         (VA_START): Remove; all uses changed to va_start.
57917         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
57918         this case.
57919         (exit): Remove decl.
57920         (fatal): Prototype unconditionally.  Assume va_start works.
57921         Abort at end, to pacify gcc.
57922
57923         * lib/euidaccess.c (main): Define with a prototype.
57924
57925         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
57926
57927         * lib/exitfail.c: Include <stdlib.h> unconditionally.
57928
57929         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
57930         prototypes.
57931         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
57932         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
57933         (getenv): Remove decl.
57934         (fnmatch): Define using a prototype.
57935         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
57936         (FCT): Define using a prototype.
57937
57938         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
57939
57940         * lib/gethostname.c: Include <stddef.h>.
57941         (gethostname): Define with prototype.  Length is size_t, not int.
57942
57943 2003-09-08  Paul Eggert  <eggert@twinsun.com>
57944
57945         Assume C89 or better; remove K&R cruft.
57946         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
57947         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
57948         string.h, getenv, malloc.
57949         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
57950         headers.
57951         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
57952         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
57953         do not check for strerror.
57954         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
57955         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
57956         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
57957         do not check for doprnt or vprintf.
57958         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
57959         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
57960
57961 2003-09-08  Paul Eggert  <eggert@twinsun.com>
57962
57963         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
57964         getversion.c should have been removed then, but was accidentally
57965         preserved.
57966
57967         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
57968         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
57969
57970 2003-09-08  Karl Berry  <karl@gnu.org>
57971
57972         * config/config.sub, config.guess, srclistvars.sh: update from savannah
57973                 config, forget about prep.
57974
57975         * config/depcomp, missing: update from automake.
57976
57977 2003-09-07  Paul Eggert  <eggert@twinsun.com>
57978
57979         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
57980         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
57981
57982 2003-09-07  Paul Eggert  <eggert@twinsun.com>
57983
57984         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
57985         copy_tm_result.  Bug reported by Simon Josefsson in
57986         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
57987
57988 2003-09-06  Paul Eggert  <eggert@twinsun.com>
57989
57990         * m4/time_r.m4: New file.
57991         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
57992         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
57993         is. Check for timegm declaration.
57994         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
57995         Do not check for gmtime_r.
57996         Replace mktime if __mktime_internal does not exist and if mktime
57997         hasn't been replaced already.
57998
57999 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58000
58001         * lib/time_r.c, lib/time_r.h: New files.
58002
58003         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
58004         __localtime_r.
58005         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
58006         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
58007
58008         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
58009         __gmtime_r.
58010         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
58011         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
58012         Include <time_r.h>.
58013
58014         * lib/timegm.c: Switch to glibc implementation, with the following
58015         changes:
58016         [defined HAVE_CONFIG_H]: Include <config.h>.
58017         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
58018         (__mktime_internal) [!defined _LIBC]: New decl.
58019         (__gmtime_r) [!defined _LIBC]: New macro and function.
58020         (timegm): Use a prototype, since gnulib assumes C89.
58021         Do not bother declaring tmp to be const, as it's not really usefu.
58022         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
58023         (timegm): Declare only if HAVE_DECL_TIMEGM.
58024
58025 2003-09-06  Paul Eggert  <eggert@twinsun.com>
58026
58027         * MODULES.html.sh (func_all_modules): Add time_r.
58028         * modules/time_r: New file.
58029         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
58030         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
58031
58032 2003-09-03  Paul Eggert  <eggert@twinsun.com>
58033
58034         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
58035         Bug reported by Lute Kamstra in
58036         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
58037
58038         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
58039         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
58040         course with correspondingly smaller numbers for tomorrow and
58041         yesterday.  From Tadayoshi Funaba.  Originally installed into
58042         sh-utils on 1999-08-07, but the patch got lost (I guess during the
58043         coreutils merge?).
58044
58045 2003-08-31  Simon Josefsson  <jas@extundo.com>
58046
58047         * modules/timegm: New file.
58048         * MODULES.html.sh (func_all_modules): Add timegm.
58049
58050 2003-08-31  Simon Josefsson  <jas@extundo.com>
58051
58052         * m4/timegm.m4: New file.
58053
58054 2003-08-31  Simon Josefsson  <jas@extundo.com>
58055
58056         * lib/timegm.h: New file.
58057         * lib/timegm.c: New file.  Based on
58058         wget-1.8.2/src/http.c:mktime_from_utc.
58059
58060 2003-08-31  Karl Berry  <karl@gnu.org>
58061
58062         * lib/argp.h: update from libc.
58063
58064 2003-08-28  Bruno Haible  <bruno@clisp.org>
58065
58066         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
58067         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
58068         followed by '#define fnmatch fnmatch_posix' gives an error.
58069
58070 2003-08-28  Bruno Haible  <bruno@clisp.org>
58071
58072         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
58073         warning on QNX, which defines O_BINARY to 000000.
58074
58075 2003-08-27  Jim Meyering  <jim@meyering.net>
58076
58077         * m4/mkstemp.m4: Require that the system mkstemp be able to create
58078         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
58079         would fail after 32.  Reported by Danny Levinson.  Details here:
58080         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
58081
58082 2003-08-24  Bruno Haible  <bruno@clisp.org>
58083
58084         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
58085         MSVC7 <stdio.h> is included later.
58086
58087 2003-08-22  Simon Josefsson  <jas@extundo.com>
58088
58089         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
58090
58091 2003-08-20  Karl Berry  <karl@gnu.org>
58092
58093         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
58094
58095 2003-08-20  Bruno Haible  <bruno@clisp.org>
58096
58097         * modules/progname: New file.
58098         * MODULES.html.sh (func_all_modules): Add progname.
58099
58100 2003-08-20  Bruno Haible  <bruno@clisp.org>
58101
58102         * lib/progname.h: New file, from GNU gettext.
58103         * lib/progname.c: New file, from GNU gettext.
58104         * lib/progreloc.c: New file, from GNU gettext.
58105
58106 2003-08-19  Jim Meyering  <jim@meyering.net>
58107
58108         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
58109         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
58110
58111 2003-08-19  Bruno Haible  <bruno@clisp.org>
58112
58113         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
58114         more.
58115
58116 2003-08-19  Bruno Haible  <bruno@clisp.org>
58117
58118         * lib/xstrdup.c: Assume <string.h> exists.
58119
58120 2003-08-18  Paul Eggert  <eggert@twinsun.com>
58121
58122         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
58123         in makefile rules.
58124
58125 2003-08-18  Jim Meyering  <jim@meyering.net>
58126
58127         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
58128         * m4/lib-ld.m4: Likewise.
58129
58130 2003-08-18  Jim Meyering  <jim@meyering.net>
58131
58132         * lib/setenv.h: Indent nested cpp directive.
58133         * lib/vasnprintf.c: Remove trailing blanks.
58134
58135 2003-08-17  Simon Josefsson  <jas@extundo.com>
58136
58137         * modules/xstrndup: New file.
58138         * MODULES.html.sh (func_all_modules): Add xstrndup.
58139
58140 2003-08-17  Simon Josefsson  <jas@extundo.com>
58141
58142         * modules/argp: Fix autoconf macro name. Add more dependencies.
58143
58144 2003-08-17  Simon Josefsson  <jas@extundo.com>
58145
58146         * m4/xstrndup.m4: New file.
58147
58148 2003-08-17  Simon Josefsson  <jas@extundo.com>
58149
58150         * m4/argp.m4: New file.
58151
58152 2003-08-17  Simon Josefsson  <jas@extundo.com>
58153             Bruno Haible  <bruno@clisp.org>
58154
58155         * lib/xstrndup.h: New file.
58156         * lib/xstrndup.c: New file.
58157
58158 2003-08-17  Bruno Haible  <bruno@clisp.org>
58159
58160         * modules/strndup (Files, Include): Add lib/strndup.h.
58161
58162 2003-08-17  Bruno Haible  <bruno@clisp.org>
58163
58164         * modules/euidaccess (Files): Add lib/euidaccess.h.
58165
58166 2003-08-17  Bruno Haible  <bruno@clisp.org>
58167
58168         * lib/strndup.h: New file.
58169
58170 2003-08-17  Bruno Haible  <bruno@clisp.org>
58171
58172         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
58173         like AC_GNU_SOURCE.
58174         * modules/extensions (configure.ac): Comment out the invocation of
58175         gl_USE_SYSTEM_EXTENSIONS.
58176
58177 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58178
58179         Merges from coreutils, etc.
58180         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
58181         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
58182         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
58183         fixing a typo.
58184         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
58185         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
58186
58187 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58188
58189         Document merge from coreutils.
58190         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
58191         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
58192         * modules/utime: Add m4/utimes-null.m4.
58193
58194 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58195
58196         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
58197         space, undoing this 2003-08-12 change:
58198         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58199
58200 2003-08-16  Paul Eggert  <eggert@twinsun.com>
58201
58202         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
58203         strtoul.c from libc, undoing this 2003-08-12 change:
58204         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
58205
58206 2003-08-16  Jim Meyering  <jim@meyering.net>
58207
58208         Merges from coreutils.
58209         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
58210         prefix.  Adjust cache variables similarly.  Create 500 rather than
58211         just 300 files, to exercise bug on Darwin6.5, too.
58212         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
58213         $missing_dir.
58214         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
58215         AM_SYS_POSIX_TERMIOS.
58216         Reported by mkc@mathdogs.com.
58217         Also change use of $am_cv_sys_posix_termios
58218         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
58219         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
58220         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
58221         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
58222         in /proc/mounts until it finds one with matching device number.  This
58223         is unnecessary when the FILE argument *is* a mount point.  No stat call
58224         is necessary in that case.  So, disable the statvfs-testing code on
58225         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
58226         as RedHat bug# 84846.
58227         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58228         to 1MB, so as not to render systems with no stack size limit (e.g.,
58229         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58230         Include <unistd.h>.  On some systems,
58231         it is required for the definition of _SC_PAGESIZE.
58232
58233 2003-08-16  Jim Meyering  <jim@meyering.net>
58234
58235         Merge from coreutils.
58236         * lib/xstrtoimax.c: #else #if -> #elif.
58237         * lib/xstrtoumax.c: Likewise.
58238
58239 2003-08-16  Jim Meyering  <jim@meyering.net>
58240
58241         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
58242         * m4/utimes.m4: Removed.
58243         * m4/utimes-null.m4: Renamed from utimes.m4.
58244
58245         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
58246         to 1MB, so as not to render systems with no stack size limit (e.g.,
58247         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
58248         Include <unistd.h>.  On some systems,
58249         it is required for the definition of _SC_PAGESIZE.
58250
58251 2003-08-16  Jim Meyering  <jim@meyering.net>
58252         and Paul Eggert  <eggert@cs.ucla.edu>
58253
58254         Merges from coreutils, etc.
58255
58256         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
58257         using the latest version from cvs.  This avoids problems with #line
58258         directives using a vendor (Sun) compiler.
58259         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
58260         Don't set GETGROUPS_LIB here; now it's
58261         done via getgroups.m4's wrapper function.
58262         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
58263         rather than just in sh-util/configure.in, so that the
58264         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
58265         same.
58266         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
58267         AC_FUNC_GETLOADAVG where to find getloadavg.c.
58268         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
58269         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
58270         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
58271         Remove code that is now done by the newly-required macros.
58272         Append $(EXEEXT) to DF_PROG.
58273         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
58274         Do not invoke or require the following here,
58275         since prereq.m4 or some gnulib .m4 now does this for us:
58276         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
58277         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
58278         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
58279         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
58280         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
58281         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
58282         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
58283         AC_FUNC_OBSTACK.
58284         Do not replace the following functions, as this is now the job
58285         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
58286         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
58287         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
58288         atexit getpass, strdup, getpagesize.
58289         Replace 'raise'.
58290         Do not check for the following functions, as this is now the job
58291         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
58292         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
58293         setregid.
58294         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
58295         Check for sys/sysctl.h.
58296         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
58297         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
58298         of checking for ssize_t ourselves.
58299
58300         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
58301         Require every macro that gnulib/modules/* suggests for us.
58302         (jm_PREREQ_ADDEXT): New macro.
58303         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
58304         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
58305
58306         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
58307         (gl_PHYSMEM): Use it.
58308         Also check for `table' function.
58309         Check for new headers and functions.
58310         Add check for sys/sysmp.h.
58311         With suggestions from Kaveh Ghazi.
58312         Ignore headers that are present but cannot be compiled.  This
58313         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
58314         C 5.4.
58315
58316 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58317
58318         Document merge from coreutils.
58319         * modules/userspec: Depend on posixver.
58320         * modules/strftime: Depend on tzset.
58321
58322 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58323
58324         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
58325         rather than tab, after '#' in shell-script copyright notices.
58326         Suggested by Bruno Haible.
58327
58328 2003-08-15  Paul Eggert  <eggert@twinsun.com>
58329
58330         * config/srclist-update: Use three spaces, rather than tab, after '#'
58331         in shell-script copyright notices.  Suggested by Bruno Haible.
58332         Remove unnecessary parenthesization in regular expression.
58333
58334 2003-08-15  Jim Meyering  <jim@meyering.net>
58335
58336         Merge from coreutils.
58337         * lib/xgethostname.c: Include <stdlib.h>.
58338         (xghostname): Don't exit for anything other than memory-related
58339         failure; just return NULL.
58340         * lib/userspec.c: Include "posixver.h".
58341         (parse_user_spec): Accept `.' as a separator only
58342         in pre-POSIX-200112 mode.
58343         * lib/strtoimax.c: Use #elif rather than #else #if.
58344         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
58345         Remove function, now that we can rely on a working tzset function.
58346         [!_LIBC]: Ensure that the required autoconf test has been run.
58347         [!defined _NL_CURRENT && HAVE_STRFTIME]:
58348         Use underlying_strftime for %r.
58349         * lib/sha.c: Merge in some clean-up and optimization changes from
58350         glibc.
58351         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
58352         Ensure that it is a multiple of 64.
58353         Rearrange loop exit tests so as to avoid performing an
58354         additional fread after encountering an error or EOF.
58355         * lib/realloc.c: Update copyright date.
58356
58357 2003-08-15  Jim Meyering  <jim@meyering.net>
58358         and Paul Eggert  <eggert@twinsun.com>
58359
58360         Merge from coreutils.
58361         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
58362         member but strut utmpx does not.  Needed for AIX 4.3.3.
58363         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
58364
58365 2003-08-15  Jim Meyering  <jim@meyering.net>
58366         and Paul Eggert  <eggert@cs.ucla.edu>
58367
58368         Merges from coreutils, etc.
58369         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
58370         Require gl_FUNC_TZSET_CLOBBER.
58371         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
58372         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
58373         members.
58374
58375 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58376
58377         Help the merge from coreutils.
58378         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
58379         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
58380         * m4/tzset.m4: Use it too.
58381
58382 2003-08-14  Paul Eggert  <eggert@twinsun.com>
58383
58384         * modules/tzset: New file.
58385
58386 2003-08-14  Jim Meyering  <jim@meyering.net>
58387
58388         Merges from coreutils.
58389         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
58390         variable names, rather than @FNMATCH_H@.
58391         * modules/alloca: Likewise for $(ALLOCA_H).
58392
58393         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
58394         the three copies of the literal target, `fnmatch.h'.
58395         * modules/alloca (alloca.h): Likewise.
58396
58397 2003-08-14  Jim Meyering  <jim@meyering.net>
58398
58399         Merge from coreutils.
58400         * m4/tzset.m4: New file.
58401         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
58402         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
58403         otherwise, AIX 5.1 systems would end up using the latter.
58404         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
58405         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
58406         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
58407         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
58408
58409 2003-08-14  Jim Meyering  <jim@meyering.net>
58410
58411         Merge from coreutils.
58412         * lib/obstack.h: Whitespace changes.
58413         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
58414         and xcalloc return values.
58415         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
58416         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
58417         hang on OSF/1 5.1 for DIR on both local and remote file systems.
58418         Reported by (and fix confirmed by) Nelson H. F. Beebe.
58419         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
58420         error from mntctl.
58421         Use mntctl's return value to drive the entry-processing loop, since
58422         we can't rely on the value of the vmt_length member in the last
58423         entry.  On some systems doing so could result in exhausting
58424         virtual memory.  Based in part on a patch from Mike Jetzer.
58425
58426 2003-08-14  Jim Meyering  <jim@meyering.net>
58427         and Paul Eggert  <eggert@twinsun.com>
58428
58429         Merges from coreutils, plus other fixes.
58430         * lib/physmem.c: Merge in portability changes from gcc/libiberty
58431         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
58432         for credits and details.  Thanks to Kaveh Ghazi for helping
58433         to keep these files in sync.
58434         (ARRAY_SIZE): Define it.
58435         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
58436         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
58437         (memcasecmp): Don't assume size_t fits in unsigned int.
58438         Remove casts and duplicate code.
58439         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
58440         (memcpy): Remove definition.
58441         Merge in some clean-up and optimization changes from glibc.
58442         [BLOCKSIZE]: Move definition to top of file.
58443         Ensure that it is a multiple of 64.
58444         Rearrange loop exit tests so as to avoid performing an
58445         additional fread after encountering an error or EOF.
58446         * lib/md5.h (md5_uintptr): Define.
58447         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
58448         return to the initial working directory.  Preserve errno
58449         for caller.
58450         * lib/idcache.c: Include "xalloc.h".
58451         (xmalloc, xrealloc): Remove decls.
58452         (getuser): Remove casts no longer required in C89.
58453         * lib/human.c: Include stdio.h, for sprintf.
58454         * lib/group-member.c: Include "xalloc.h".
58455         (xmalloc, xrealloc): Remove decls.
58456         (get_group_info): Remove casts no longer required in C89.
58457         * lib/getusershell.c (readname): Remove casts no longer required in
58458         C89.
58459         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
58460         * lib/getline.c: Whitespace fix, from coreutils.
58461
58462 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58463
58464         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
58465         Check for isascii.
58466
58467         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58468         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58469         Undo previous (whitespace-only) change.
58470
58471 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58472
58473         * lib/exclude.c: Include <ctype.h>
58474         (IN_CTYPE_DOMAIN): New macro.
58475         (is_space): New fn.
58476         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
58477         and empty lines.
58478
58479         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58480         Undo previous (whitespace-only) change.
58481
58482 2003-08-13  Paul Eggert  <eggert@twinsun.com>
58483
58484         * config/srclist-update: Change update back to the old behavior,
58485         leaving whitespace alone.  Use one 'sed' command rather than a
58486         pipeline.
58487         (fixlicense): Now a variable, not a function.
58488         (remove_trailing_blanks): Remove.
58489         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
58490         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58491         Undo previous (whitespace-only) change.
58492
58493 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58494
58495         Merge from coreutils.
58496         * modules/euidaccess: Add lib_SOURCES, include for new
58497         file euidaccess.h
58498
58499 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58500
58501         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
58502         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
58503         Normalize leading white space and remove trailing white space.
58504
58505         Merge from coreutils
58506         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
58507
58508         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
58509         0.12.1.  These files are now being upgraded automatically by
58510         ../config/srclist-update.
58511
58512 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58513
58514         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
58515         Normalize leading white space and remove trailing white space.
58516         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
58517         notice, as per ../config/srclist-update.
58518
58519         Merge from coreutils.
58520         * lib/euidaccess.h: New file.
58521         * lib/euidaccess.c: Include it.
58522         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
58523         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
58524         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
58525
58526 2003-08-12  Paul Eggert  <eggert@twinsun.com>
58527
58528         * config/srclist-update: Add copyright notice.
58529         (remove_id_lines, remove_trailing_blanks): New constants.
58530         (fixfile): Use them to normalize spacing a bit in copied files.
58531         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
58532         Normalize leading white space and remove trailing white space.
58533
58534         * config/texinfo.tex: Sync with texinfo.
58535
58536         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
58537         strtoul.c from libc, to merge coreutils whitespace changes.
58538
58539         * config/srclist.txt: Get the following m4 files from gettext:
58540         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
58541         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
58542         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
58543         wint_t.m4.
58544
58545 2003-08-12  Karl Berry  <karl@gnu.org>
58546
58547         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
58548         been made.
58549
58550 2003-08-11  Paul Eggert  <eggert@twinsun.com>
58551
58552         * modules/gnu-source, m4/gnu-source.m4:
58553         Remove; we're assuming Autoconf 2.54 or later now.
58554         Suggested by Bruno Haible.
58555         * MODULES.html.sh (func_all_modules): Remove gnu-source.
58556
58557 2003-08-11  Bruno Haible  <bruno@clisp.org>
58558
58559         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
58560
58561 2003-08-11  Bruno Haible  <bruno@clisp.org>
58562
58563         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
58564         (vasnprintf): Use it instead of wcslen.
58565
58566 2003-08-11  Bruno Haible  <bruno@clisp.org>
58567
58568         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
58569         value to ensure that _Bool promotes to int. Use #define for _Bool when
58570         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
58571
58572 2003-08-10  Karl Berry  <karl@gnu.org>
58573
58574         * lib/regex.h: update from libc (whitespace fix).
58575
58576 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58577
58578         Merge some files from coreutils.  These changes were
58579         originally made by Jim Meyering.
58580         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
58581         many older Unixes require this.
58582         * lib/alloca.c (alloca): Remove cast to argument of free;
58583         no longer needed in C89.
58584         * lib/alloca_.h, regex.h: Fix white space to match
58585         what GNU indent does.
58586
58587 2003-08-09  Paul Eggert  <eggert@twinsun.com>
58588
58589         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
58590         apparently Emacs's Unicode mode got confused before my 2003-08-05
58591         checkin.
58592
58593 2003-08-08  Paul Eggert  <eggert@twinsun.com>
58594
58595         * m4/extensions.m4: New file.
58596         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
58597         Require gl_USE_SYSTEM_EXTENSIONS.
58598         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
58599         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
58600
58601 2003-08-08  Paul Eggert  <eggert@twinsun.com>
58602
58603         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
58604         * modules/extensions, modules/gnu-source: New files.
58605         * modules/timespec, modules/unlocked-io: Depend on extensions.
58606
58607 2003-08-07  Paul Eggert  <eggert@twinsun.com>
58608
58609         * modules/restrict: New file.
58610         * MODULES.html.sh (func_all_modules): Add restrict.
58611         * modules/regex: Depend on restrict.
58612
58613 2003-08-07  Paul Eggert  <eggert@twinsun.com>
58614
58615         * m4/restrict.m4: New file.
58616         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
58617
58618 2003-08-07  Bruno Haible  <bruno@clisp.org>
58619
58620         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
58621         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
58622
58623 2003-08-07  Bruno Haible  <bruno@clisp.org>
58624
58625         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
58626         makes the module 'getndelim2' compatible with the module 'getline'.
58627
58628 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58629
58630         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
58631         byte with "\201" to avoid glitches when editing that source file
58632         with multi-gnome-terminal.
58633
58634 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58635
58636         * lib/bumpalloc.h: Remove.
58637
58638 2003-08-05  Paul Eggert  <eggert@twinsun.com>
58639
58640         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
58641         * modules/bumpalloc: Remove.
58642
58643 2003-08-04  Paul Eggert  <eggert@twinsun.com>
58644
58645         * lib/getloadavg.c: Change copyright notice and spacing to conform to
58646         GNU coding style.
58647
58648         Merge from coreutils.
58649         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
58650         1. From glibc.
58651         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
58652         from Karl Berry, implemented by Jim Meyering.
58653         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
58654         from Dmitry V. Levin.
58655         Remove anachronistic cast of xrealloc.
58656         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
58657         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
58658         type. Otherwise, it wouldn't compile with at least /bin/cc on
58659         ymp-cray-unicos9.0.2.X.
58660         Combine two mostly-identical uses of alloca into one.
58661         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
58662
58663 2003-08-04  Dave Love  <d.love@dl.ac.uk>
58664
58665         [From Emacs.]
58666
58667         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
58668         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
58669         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
58670         obsolete NLIST_NAME_UNION.
58671         [__GNU__]: Undef BSD and FSCALE.
58672         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
58673
58674 2003-08-03  Paul Eggert  <eggert@twinsun.com>
58675
58676         * lib/stdbool_.h (_Bool): Make it signed char, instead of
58677         an enum type, so that it's guaranteed to promote to int.  See:
58678         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
58679
58680 2003-08-03  Karl Berry  <karl@gnu.org>
58681
58682         * config/depcomp: update from automake.
58683
58684 2003-07-31  Paul Eggert  <eggert@twinsun.com>
58685
58686         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
58687         (strerror): Don't assume that a printable int fits in 14 bytes.
58688
58689 2003-07-31  Bruno Haible  <bruno@clisp.org>
58690
58691         * modules/getpass-gnu: New file.
58692         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
58693
58694 2003-07-31  Bruno Haible  <bruno@clisp.org>
58695
58696         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
58697
58698 2003-07-24  Karl Berry  <karl@gnu.org>
58699
58700         * config/missing: update from automake.
58701
58702 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
58703             Bruno Haible  <bruno@clisp.org>
58704
58705         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
58706         * lib/getline.c (getline, getdelim): Likewise.
58707         Remove _GNU_SOURCE define; now it's defined in config.h through
58708         m4/getline.m4.
58709
58710 2003-07-23  Karl Berry  <karl@gnu.org>
58711
58712         * config/config.sub: update from prep.
58713
58714 2003-07-22  Paul Eggert  <eggert@twinsun.com>
58715
58716         * modules/xalloc (Depends-on): Add exitfail.
58717         * modules/xmemcoll: Likewise.
58718
58719 2003-07-22  Paul Eggert  <eggert@twinsun.com>
58720
58721         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
58722         over-parenthesization in macros.
58723
58724         Sync with coreutils.
58725
58726         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
58727         required by C99.
58728
58729         Use `exit_failure' for xalloc and xmemcoll instead of their own
58730         private exit-failure variables.
58731         * lib/xalloc.h (xalloc_exit_failure): Remove.
58732         * lib/xmalloc.c: Likewise.  Include exitfail.h.
58733         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
58734         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
58735         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
58736         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
58737
58738 2003-07-20  Jim Meyering  <jim@meyering.net>
58739
58740         * modules/closeout (Depends-on): Add exitfail.
58741         Suggestion from Bruno Haible.
58742
58743 2003-07-19  Karl Berry  <karl@gnu.org>
58744
58745         * config/config.sub: update from prep.
58746
58747 2003-07-18  Paul Eggert  <eggert@twinsun.com>
58748
58749         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
58750         Remove.
58751         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
58752         to test that it can stand by itself.  Include "exitfail.h".
58753         Clients should set exit_failure instead.
58754         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
58755
58756 2003-07-18  Bruno Haible  <bruno@clisp.org>
58757
58758         * modules/getndelim2: New file.
58759         * modules/getline: Share files with module getndelim2.
58760         * modules/getnline: Depend on getndelim2 instead of sharing files with
58761         it. Add getnline.c to lib_SOURCES.
58762         * MODULES.html.sh (func_all_modules): Add getndelim2.
58763
58764 2003-07-18  Bruno Haible  <bruno@clisp.org>
58765
58766         * m4/getndelim2.m4: New file.
58767         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
58768         invoke gl_PREREQ_GETNDELIM2.
58769         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
58770         gl_PREREQ_GETNDELIM2.
58771         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
58772         gl_GETNDELIM2.
58773
58774 2003-07-18  Bruno Haible  <bruno@clisp.org>
58775
58776         * lib/getndelim2.h: New file.
58777         * lib/getndelim2.c: Make into a module of its own. Include config.h,
58778         getndelim2.h.
58779         (getndelim2): Make non-static. Change return type to ssize_t.
58780         * lib/getline.h: Change argument names.
58781         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
58782         * lib/getnline.c: Include getndelim2.h.
58783
58784 2003-07-18  Andreas Schwab  <schwab@suse.de>
58785
58786         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
58787
58788 2003-07-17  Karl Berry  <karl@gnu.org>
58789
58790         * config/config.sub: update from prep.
58791
58792 2003-07-17  Bruno Haible  <bruno@clisp.org>
58793
58794         * modules/getnline: New file.
58795         * modules/getline: Add lib/getndelim2.c to source file list.
58796         * MODULES.html.sh (func_all_modules): Add getnline.
58797
58798 2003-07-17  Bruno Haible  <bruno@clisp.org>
58799
58800         * m4/getnline.m4: New file.
58801
58802 2003-07-17  Bruno Haible  <bruno@clisp.org>
58803
58804         * m4/Makefile.am.in: Remove file.
58805         * m4/Makefile.am: Remove file.
58806         * m4/Makefile.in: Remove file.
58807
58808 2003-07-17  Bruno Haible  <bruno@clisp.org>
58809
58810         * lib/getnline.h: New file.
58811         * lib/getnline.c: New file.
58812         * lib/getndelim2.c: New file, extracted from getline.c.
58813         (getndelim2): Renamed from getdelim2, with added nmax argument.
58814         * lib/getline.c: Include getndelim2.c.
58815         (getdelim2): Moved out to getndelim2.c.
58816         (getline, getdelim): Update.
58817
58818 2003-07-17  Bruno Haible  <bruno@clisp.org>
58819
58820         * lib/Makefile.am: Remove file.
58821         * lib/Makefile.in: Remove file.
58822
58823 2003-07-17  Bruno Haible  <bruno@clisp.org>
58824
58825         * configure.in: Remove file.
58826         * Makefile.in: Remove file.
58827
58828 2003-07-17  Bruno Haible  <bruno@clisp.org>
58829
58830         * MODULES.html.sh: Put the </BODY> right before </HTML>.
58831
58832 2003-07-16  Karl Berry  <karl@gnu.org>
58833
58834         * config/srclist-update: was running fixlicense twice, which caused
58835                 texinfo.tex to be nullified for some reason.  Simplify,
58836                 $gplsrc is no longer needed as far as I can see?
58837
58838 2003-07-16  Jim Meyering  <jim@meyering.net>
58839
58840         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
58841
58842 2003-07-15  Paul Eggert  <eggert@twinsun.com>
58843
58844         * config/srclist.txt: Get the following files from gettext-runtime/intl
58845         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
58846         ref-del.sin.  From Bruno Haible.
58847         * config/srclist-update (fixfile): Change grep pattern again, since the
58848         previous fix didn't work (there was another trailing $).  Use
58849         '[$]' to escape the $s.
58850
58851 2003-07-15  Karl Berry  <karl@gnu.org>
58852
58853         * lib/vasnprintf.c: update from gettext.
58854
58855 2003-07-15  Karl Berry  <karl@gnu.org>
58856
58857         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
58858         gets expanded when surrounded by '$'.
58859
58860 2003-07-15  Jim Meyering  <jim@meyering.net>
58861
58862         * modules/save-cwd: Don't depend on error.  From Derek Price.
58863
58864 2003-07-15  Jim Meyering  <jim@meyering.net>
58865
58866         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
58867
58868 2003-07-14  Simon Josefsson  <jas@extundo.com>
58869
58870         * modules/mempcpy: New file.
58871         * MODULES.html.sh (func_all_modules): Add mempcpy.
58872
58873 2003-07-14  Simon Josefsson  <jas@extundo.com>
58874
58875         * m4/mempcpy.m4: New file.
58876
58877 2003-07-14  Simon Josefsson  <jas@extundo.com>
58878
58879         * lib/mempcpy.h: New file.
58880         * lib/mempcpy.c: New file.
58881
58882 2003-07-14  Paul Eggert  <eggert@twinsun.com>
58883
58884         * modules/getdate, modules/posixtm: Depend on mktime.
58885
58886 2003-07-14  Paul Eggert  <eggert@twinsun.com>
58887
58888         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
58889         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
58890         unicodeio.c, unicodeio.h, unlocked-io.h:
58891         Switch from LGPL to GPL.
58892
58893 2003-07-14  Paul Eggert  <eggert@twinsun.com>
58894
58895         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
58896         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
58897         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
58898         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
58899         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
58900         updated automatically by ../config/srclist-update.  This changes
58901         their license from LPGL to GPL.
58902
58903 2003-07-14  Paul Eggert  <eggert@twinsun.com>
58904
58905         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
58906         assumed to refer to the root of the most recent stable gettext version.
58907         * config/srclistvars.sh: Add defaults for eggert.
58908         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
58909         Match "This program" as well as "The program".  This is needed
58910         for gettext.
58911
58912 2003-07-14  Jim Meyering  <jim@meyering.net>
58913
58914         Don't emit diagnostics.  Let callers do that.
58915         * lib/save-cwd.c: Don't include "error.h".
58916         (save_cwd): Don't call error.  Ensure that errno is valid
58917         when returning nonzero.
58918
58919         * lib/save-cwd.h (restore_cwd): Update prototype.
58920         * lib/save-cwd.c (restore_cwd): Remove two parameters.
58921         Simplify.  Don't call error upon failure.  Let callers do that.
58922         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
58923         when auditing is enabled.  But don't bother updating the #if.
58924
58925 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
58926
58927         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
58928         it breaks C++ compilation.
58929         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
58930
58931 2003-07-10  Simon Josefsson  <jas@extundo.com>
58932
58933         * modules/strchrnul (Makefile.am): Add strchrnul.h.
58934
58935 2003-07-10  Jim Meyering  <jim@meyering.net>
58936
58937         * m4/clock_time.m4: Remove trailing blank.
58938         * m4/intmax_t.m4: Likewise.
58939
58940 2003-07-10  Jim Meyering  <jim@meyering.net>
58941
58942         * lib/vasnprintf.c: Remove trailing blanks.
58943         Make cpp indentation consistent.
58944
58945 2003-07-09  Paul Eggert  <eggert@twinsun.com>
58946
58947         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
58948         posixver.c, strftime.c, strnlen.c, strverscmp.c:
58949         Switch from LGPL to GPL.
58950
58951 2003-07-09  Paul Eggert  <eggert@twinsun.com>
58952
58953         * config/srclist.txt: Sort sublists.  Add
58954         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
58955         that differ from gnulib for one reason or another; we'd like this list
58956         to be smaller but for now let's document what we have.
58957
58958 2003-07-08  Paul Eggert  <eggert@twinsun.com>
58959
58960         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
58961         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
58962         and sweeter "eval x=$x".
58963         * config/srclist.txt: Get lib/argp* from glibc.
58964
58965 2003-07-07  Paul Eggert  <eggert@twinsun.com>
58966
58967         * lib/mktime.c: Fix some boundary cases and remove need for floating
58968         point.
58969
58970         Issue a compile-time diagnostic if time_t is floating point, or if
58971         two's complement arithmetic is not in effect, or if arithmetic
58972         right shift does not propagate the sign.  These assumptions were
58973         all in the original code but they weren't checked.
58974
58975         (TIME_T_MIDPOINT, verify): New macros.
58976         (__isleap): Remove; it has integer overflow problems.
58977         (leapyear): New function, without those problems.
58978         (ydhms_tm_diff): Remove; splitting into two parts.
58979         (ydhms_diff): New function, containing the arithmetic part of
58980         the old ydhms_tm_diff function.  Issue a compile-time
58981         diagnostic if we are not using C99 integer division.
58982         Avoid casts when possible.
58983         (guess_time_tm): New function, containing the checking part of
58984         the old ydhms_tm_diff function.  Return the new value, rather than
58985         the difference between it and the old.  Accept a new argument T
58986         so that *T specifies the old value.  Check for overflow in the result.
58987
58988         (__mktime_internal): Use a time_t offset, not a long int offset.
58989         This undoes the 2003-06-04 change, which is no longer needed now
58990         that we have better overflow checking.
58991         (localtime_offset): Likewise.
58992
58993         (__mktime_internal): Avoid harmful overflow on hosts where time_t
58994         and long are 64-bit but int is only 32-bit.
58995         (ydhms_diff): Use long int to store year1 and yday1.
58996         Issue a compile-time diagnostic if long int is not wide enough.
58997
58998         (__mktime_internal): Use long int to store adjusted year and yday.
58999         Use plain C rather than preprocessor commands, if that doesn't
59000         affect efficiency.
59001         Check for overflow (and try to repair) after each probe
59002         rather than checking only at the very end.  This avoids some bugs
59003         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
59004         does not equal GMT offset at maximum time).
59005         Use integer to check for overflow rather than floating point; this
59006         is more portable to non-IEEE hosts, and is a tad faster.
59007         When we detect that we are oscillating between two values,
59008         don't check whether tm_isdst has the requested value, since
59009         we already know the answer.  When tm_isdst has the wrong value,
59010         use a different heuristic to find the right one, based on the
59011         extreme values actually observed in practice in tz2003a,
59012         rather than the (overly optimistic) "previous 3 calendar quarters".
59013
59014         (not_equal_tm, print_tm, check_result): Use "const T" rather than
59015         "T const" to accommodate glibc style.
59016         (check_result): Use less-confusing report format.  "long" -> "long int.
59017         (main): Likewise.
59018         Don't loop if the iteration overflows time_t.
59019         Allow a negative step in the iteration.
59020
59021 2003-07-06  Karl Berry  <karl@gnu.org>
59022
59023         * config/depcomp: update from automake.
59024         * config/config.sub: update from prep.
59025
59026 2003-07-03  Karl Berry  <karl@gnu.org>
59027
59028         * config/config.guess: update from prep.
59029
59030 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59031
59032         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
59033         xreadlink.c now includes it unconditionally.
59034
59035 2003-07-01  Paul Eggert  <eggert@twinsun.com>
59036
59037         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
59038         having it depend on HAVE_SYS_TYPES_H.
59039
59040 2003-07-01  Bruno Haible  <bruno@clisp.org>
59041
59042         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
59043         <sys/types.h> should be sufficient.
59044         Reported by Paul Eggert.
59045
59046 2003-06-26  Karl Berry  <karl@gnu.org>
59047
59048         * config/depcomp: update from automake.
59049
59050 2003-06-26  Bruno Haible  <bruno@clisp.org>
59051
59052         * modules/human: Depend on module stdbool.
59053
59054 2003-06-25  Bruno Haible  <bruno@clisp.org>
59055
59056         * modules/readlink: New file.
59057         * modules/xreadlink: Depend on it.
59058         * MODULES.html.sh (func_all_modules): Add readlink.
59059
59060 2003-06-25  Bruno Haible  <bruno@clisp.org>
59061
59062         * m4/readlink.m4: New file.
59063
59064 2003-06-25  Bruno Haible  <bruno@clisp.org>
59065
59066         * lib/readlink.c: New file.
59067
59068 2003-06-22  Karl Berry  <karl@gnu.org>
59069
59070         * config/srclist.txt: update mkinstalldirs from automake.
59071         * config/mkinstalldirs: update.
59072
59073 2003-06-22  Bruno Haible  <bruno@clisp.org>
59074
59075         Portability to mingw32.
59076         * m4/ssize_t.m4: New file, from GNU gettext.
59077         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
59078         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
59079
59080 2003-06-22  Bruno Haible  <bruno@clisp.org>
59081
59082         * modules/safe-read: Add m4/ssize_t.m4.
59083         * modules/xreadlink: Add m4/ssize_t.m4.
59084
59085 2003-06-20  Bruno Haible  <bruno@clisp.org>
59086
59087         Assume C89, so PARAMS isn't needed.
59088         * lib/unicodeio.h (PARAMS): Remove.
59089         * lib/unicodeio.c: Don't use PARAMS.
59090
59091 2003-06-18  Karl Berry  <karl@gnu.org>
59092
59093         * config/config.{guess,sub}: update from prep.
59094
59095 2003-06-18  Jim Meyering  <jim@meyering.net>
59096
59097         Merge changes from coreutils.
59098         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
59099         Remove explicit declarations of xmalloc and realloc.
59100         Include xalloc.h.
59101         (read_utmp): Remove anachronistic cast of xmalloc.
59102
59103 2003-06-17  Paul Eggert  <eggert@twinsun.com>
59104
59105         Assume C89, so PARAMS isn't needed.
59106         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
59107         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
59108         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
59109         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
59110         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
59111         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
59112         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
59113         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
59114         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
59115         lib/xstrtod.h, lib/xstrtol.h: Likewise.
59116         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
59117         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
59118         no longer needed. Anyway, config.h should always be included before any
59119         other file.
59120
59121 2003-06-11  Simon Josefsson  <jas@extundo.com>
59122
59123         * modules/sysexits: New file.
59124         * MODULES.html.sh (func_all_modules): Add sysexits.
59125
59126 2003-06-11  Simon Josefsson  <jas@extundo.com>
59127
59128         * lib/sysexit_.h: New file.
59129
59130 2003-06-11  Derek Price  <derek@ximbiot.com>
59131
59132         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
59133         necessary.
59134
59135 2003-06-11  Bruno Haible  <bruno@clisp.org>
59136
59137         * m4/sysexits.m4: New file.
59138
59139 2003-06-10  Simon Josefsson  <jas@extundo.com>
59140
59141         * lib/argp.h: New file, from glibc.
59142         * lib/argp-ba.c: New file, from glibc.
59143         * lib/argp-eexst.c: New file, from glibc.
59144         * lib/argp-fmtstream.c: New file, from glibc.
59145         * lib/argp-fmtstream.h: New file, from glibc.
59146         * lib/argp-fs-xinl.c: New file, from glibc.
59147         * lib/argp-help.c: New file, from glibc.
59148         * lib/argp-namefrob.h: New file, from glibc.
59149         * lib/argp-parse.c: New file, from glibc.
59150         * lib/argp-pv.c: New file, from glibc.
59151         * lib/argp-pvh.c: New file, from glibc.
59152         * lib/argp-xinl.c: New file, from glibc.
59153
59154 2003-06-10  Simon Josefsson  <jas@extundo.com>
59155
59156         * modules/strchrnul: New file.
59157
59158 2003-06-10  Simon Josefsson  <jas@extundo.com>
59159
59160         * modules/argp: New file.
59161
59162 2003-06-10  Simon Josefsson  <jas@extundo.com>
59163
59164         * m4/strchrnul.m4: New file.
59165
59166 2003-06-10  Simon Josefsson  <jas@extundo.com>
59167
59168         * lib/strchrnul.h: New file.
59169         * lib/strchrnul.c: New file.
59170
59171 2003-06-10  Bruno Haible  <bruno@clisp.org>
59172
59173         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
59174
59175 2003-06-07  Karl Berry  <karl@gnu.org>
59176
59177         * config/config.{guess,sub}: update from prep.
59178
59179 2003-06-07  Jim Meyering  <jim@meyering.net>
59180
59181         * modules/strtod: Use $(...) notation, not @...@ for
59182         AC_REPLACE'd variables.
59183         * modules/localcharset: Likewise.
59184
59185 2003-06-07  Jim Meyering  <jim@meyering.net>
59186
59187         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
59188         in place of my name in the copyright comment.
59189         Remove definition and uses of __P.
59190
59191         From coreutils.
59192         * lib/stat.c: Don't declare xmalloc explicitly.
59193         Instead, include "xalloc.h".
59194         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
59195         xrealloc, and xcalloc return values.
59196         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
59197         Improve comment.
59198         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
59199
59200 2003-06-07  Bruno Haible  <bruno@clisp.org>
59201
59202         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
59203         avoid AC_CONFIG_LINKS.
59204         * modules/fnmatch (Makefile.am): Use explicit creation rule for
59205         fnmatch.h, to avoid AC_CONFIG_LINKS.
59206         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
59207
59208 2003-06-07  Bruno Haible  <bruno@clisp.org>
59209
59210         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
59211         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
59212         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59213         directory.
59214         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
59215         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
59216         directory.
59217
59218 2003-06-06  Jim Meyering  <jim@meyering.net>
59219
59220         Merge from coreutils.
59221         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
59222         Consolidate declarations and initializations of *_base* locals.
59223
59224         Merge from coreutils.
59225         This avoids a core dump on systems without GNU putenv,
59226         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
59227         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
59228         (unsetenv): New static function, from GNU libc.
59229         (rpl_putenv): Use it.
59230
59231         * lib/modechange.c: Remove trailing blanks.
59232
59233         Merge from coreutils.
59234         * lib/fsusage.c: Remove declaration of statfs.
59235         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
59236
59237         * lib/posixtm.c: Include <stdbool.h> unconditionally.
59238
59239 2003-06-06  Jim Meyering  <jim@meyering.net>
59240
59241         * lib/stdbool_.h: Renamed from stdbool.h.in.
59242
59243 2003-06-06  Jim Meyering  <jim@meyering.net>
59244             Bruno Haible  <bruno@clisp.org>
59245
59246         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
59247         Adjust Makefile.am snippet not to redirect directly to target.
59248         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
59249
59250 2003-06-05  Paul Eggert  <eggert@twinsun.com>
59251
59252         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
59253         mismatch, look in future quarters as well as past.  This fixes a
59254         bug when processing fall-backwards gaps immediately after a long
59255         period of daylight-saving time.
59256
59257         * lib/mktime.c: Assume freestanding C89 or better.
59258         (HAVE_LIMITS_H): Remove.  Assume it's 1.
59259         (__P): Remove; not used.
59260         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
59261         (mktime, not_equal_tm, print_tm, check_result,
59262         main): Use prototypes.  Use const * where appropriate.
59263         (main): Fix typo in testing code that uncovered by above changes.
59264         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
59265
59266 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59267
59268         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
59269         locale.h, localeconv.  This merges changes from coreutils.
59270
59271         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
59272         It can be removed after the next Autoconf is released.
59273         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
59274         needed.
59275
59276 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59277
59278         * lib/mktime.c: Fix Debian bug 177940
59279         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
59280         (localtime_offset): Now long int, not time_t, because we want it
59281         to be guaranteed to be signed.  All uses changed.
59282         (__mktime_internal): If overflow would occur when adding offset,
59283         don't add it.
59284
59285         Merge 'human' changes from coreutils.  Rewrite to support
59286         locale-specific notations like thousands separators.
59287         * lib/human.c: Simplify authorship notice.
59288         Include human.h immediately after config.h.
59289         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
59290         <limits.h>: Do not include, since human.h does.
59291         (SIZE_MAX, UINTMAX_MAX): New macros.
59292         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
59293         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
59294         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
59295         (power_letter): Renamed from suffixes.
59296         (generate_suffix_backwards): Remove.
59297         (adjust_value): Now takes int style (because of human.h changes)
59298         and long double value (for greater precision on some platforms).
59299         (group_number): New function.
59300         (human_readable): Use it.  Use integer options, not enum.
59301         Put the options before the sizes in the arg list.
59302         Support all the new options.
59303         The old human_readable function has been removed;
59304         use inttostr.h instead.
59305         (human_readable, default_block_size, humblock):
59306         Use uintmax_t, not int, for block sizes.
59307         (human_readable_inexact, block_size_types): Remove.
59308         (block_size_opts): New constant.
59309         (human_options): Renamed from human_block_size, with new signature
59310         that allows block sizes up to UINTMAX_MAX.  All callers changed.
59311         * lib/human.h: Add copyright and authorship notice.
59312         Include <limits.h> and <stdbool.h> unconditionally.
59313         (PARAMS): Remove.  All uses removed.
59314         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
59315         (enum human_inexact_style): Remove tag; now a nameless enum.
59316         (human_floor, human_ceiling, human_round_to_even): Now have
59317         values 2, 0, 1 rather than -1, 1, 0.
59318         (human_group_digits, human_suppress_point_zero, human_autoscale,
59319         human_base_1024, human_SI, human_B): New constants.
59320         (human_readable_inexact, human_block_size): Remove.
59321         (human_readable): Size args are now uintmax_t, not int.
59322         (human_options): New decl.
59323
59324         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
59325         unnecessary now that we assume C89 or better.  This change
59326         imported from coreutils.
59327
59328         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59329         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
59330         in the 2003-05-30 sync from glibc.
59331
59332         .h files should stand alone, but we shouldn't include <sys/types.h>
59333         if we can get away with just <stddef.h>.
59334
59335         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
59336         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
59337         rather than <sys/types.h>, as we merely need size_t.
59338         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
59339         to get size_t.
59340         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
59341         Include <stdio.h>, to get FILE.
59342         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
59343         memcasecmp.h has included <stddef.h> and all we need is size_t.
59344         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
59345         our interface, instead of including <sys/types.h>
59346
59347 2003-06-04  Paul Eggert  <eggert@twinsun.com>
59348
59349         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
59350         now, as glibc mktime is buggy on non-glibc systems.
59351
59352 2003-06-03  Karl Berry  <karl@gnu.org>
59353
59354         * config/config.sub: update from prep.
59355
59356 2003-06-02  Paul Eggert  <eggert@twinsun.com>
59357
59358         [from coreutils]
59359         Fix some minor time-related bugs with POSIX time arguments.
59360         Some valid time stamps were being rejected (notably -1, and
59361         time stamps before 1900 on 64-bit hosts).  And some invalid
59362         time stamps were being accepted, e.g. September 31.
59363
59364         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
59365         that we can return (time_t) -1 successfully.
59366         * lib/posixtm.c: Likewise.
59367         [HAVE_STDBOOL_H]: Include <stdbool.h>.
59368         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
59369         (t): Remove static var.
59370         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
59371         of static var.  All uses changed.
59372         (year): Do not reject years before 1900; they can occur with
59373         64-bit time_t.
59374         (posix_time_parse): Do not check for out-of-range components;
59375         that is now the caller's responsibility, since our checks were
59376         only approximations.
59377         (posixtime): Use mktime to check for out-of-range components,
59378         since it knows them exactly.
59379         If mktime returns (time_t) -1, check whether an error actually occurred
59380         by invoking localtime on -1.
59381         (main) [TEST_POSIXTIME]: Check for input data errors, and report
59382         posixtime failures better.
59383         Improve the test data (in comments only).
59384
59385 2003-06-02  Karl Berry  <karl@gnu.org>
59386
59387         * config/mkinstalldirs (version): new variable.
59388         (--version): new option.
59389         (usage): improve message.
59390
59391 2003-05-30  Karl Berry  <karl@gnu.org>
59392
59393         * lib/mktime.c: update from libc.
59394
59395 2003-05-30  Bruno Haible  <bruno@clisp.org>
59396
59397         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
59398         * config/config.rpath: Upgrade to gettext-0.12.1.
59399
59400 2003-05-30  Bruno Haible  <bruno@clisp.org>
59401
59402         * m4/gettext.m4: Upgrade to gettext-0.12.1.
59403         * m4/nls.m4: New file, from gettext-0.12.1.
59404         * m4/po.m4: New file, from gettext-0.12.1.
59405         * m4/progtest.m4: Upgrade to gettext-0.12.1.
59406
59407 2003-05-30  Bruno Haible  <bruno@clisp.org>
59408
59409         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
59410         * lib/localcharset.h: Likewise.
59411         * lib/localcharset.c: Likewise.
59412
59413 2003-05-29  Karl Berry  <karl@gnu.org>
59414
59415         * config/config.rpath: update from gettext.
59416
59417 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59418
59419         Assume the headers required for C89 freestanding compilers.
59420         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
59421         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
59422         * m4/human.m4 (gl_HUMAN): Likewise.
59423         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
59424         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
59425         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59426         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
59427         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59428         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
59429
59430 2003-05-28  Paul Eggert  <eggert@twinsun.com>
59431
59432         Assume the headers required for C89 freestanding compilers.
59433         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
59434         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
59435         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
59436         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
59437         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
59438         define, since <limits.h> is guaranteed to do that.
59439         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
59440         * lib/exclude.c: Include <stdbool.h> unconditionally.
59441         * lib/tempname.c: Include <stddef.h> unconditionally.
59442         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
59443         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
59444         <stddef.h> does that.
59445         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
59446         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
59447         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
59448         needed.
59449         * lib/xstrtol.c: Likewise.
59450         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
59451         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
59452
59453         * lib/addext.c (addext): Use assignment rather than cast, to avoid
59454         warnings on some platforms.
59455
59456         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
59457         arbitrarily.
59458
59459 2003-05-26  Jim Meyering  <jim@meyering.net>
59460
59461         Merge in a change from coreutils:
59462         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
59463         that is guaranteed to be `no'.  Use `no_such_member' to indicate
59464         that condition, rather than `-1' which is slightly misleading.
59465         Change the name of the cache variable to have the gl_ prefix.
59466         Prompted by a patch from Richard Dawe for DJGPP.
59467
59468 2003-05-24  Karl Berry  <karl@gnu.org>
59469
59470         * config/config.guess: update from prep.
59471
59472 2003-05-22  Karl Berry  <karl@gnu.org>
59473
59474         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
59475
59476 2003-05-20  Karl Berry  <karl@gnu.org>
59477
59478         * config/config.guess: update from prep.
59479
59480 2003-05-18  Karl Berry  <karl@gnu.org>
59481
59482         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
59483         might actually be set by the user.
59484
59485         * config/depcomp, install-sh, mdate-sh: update from automake.
59486
59487 2003-05-17  Bruno Haible  <bruno@clisp.org>
59488
59489         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
59490         invalid expansion for AC_EGREP_CPP.
59491         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
59492         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
59493         Suggested by Akim Demaille <akim@epita.fr> in
59494         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
59495
59496 2003-05-12  Jim Meyering  <jim@meyering.net>
59497
59498         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
59499         the space-padded-by-default conversion specifiers, %e, %k, %l.
59500
59501 2003-05-12  Bruno Haible  <bruno@clisp.org>
59502
59503         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
59504         the string is longer than 4 KB.
59505
59506 2003-05-11  Karl Berry  <karl@gnu.org>
59507
59508         * config/config.{guess,sub}: update from prep.
59509
59510 2003-05-09  Bruno Haible  <bruno@clisp.org>
59511
59512         * modules/error: Add m4/strerror_r.m4 to file list.
59513
59514 2003-05-03  Bruno Haible  <bruno@clisp.org>
59515
59516         Upgrade to Unicode-4.0.
59517         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
59518         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
59519         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
59520         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
59521         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
59522         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
59523         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
59524         Change width of U+E0100..U+E01EF from 1 to 0.
59525
59526 2003-04-25  Jim Meyering  <jim@meyering.net>
59527
59528         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
59529         of type size_t, not int.
59530
59531 2003-04-25  Bruno Haible  <bruno@clisp.org>
59532
59533         * lib/copy-file.c: Include <stddef.h>, for size_t.
59534
59535 2003-04-21  Paul Eggert  <eggert@twinsun.com>
59536
59537         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
59538         code which expansion is under static control.  Patch imported from
59539         Akim Demaille's patch to Bison; see
59540         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
59541
59542 2003-04-14  Bruno Haible  <bruno@clisp.org>
59543
59544         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
59545
59546 2003-04-11  Jim Meyering  <jim@meyering.net>
59547
59548         Merge changes from Coreutils.
59549
59550         2003-03-22  Jim Meyering  <jim@meyering.net>
59551
59552         * lib/strftime.c (widen): Cast alloca return value to proper type.
59553
59554         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
59555
59556         From GNU libc.
59557         * lib/strftime.c (my_strftime): Handle very large width
59558         specifications for numeric values correctly.  Improve checks for
59559         overflow.
59560
59561         2003-01-19  Jim Meyering  <jim@meyering.net>
59562
59563         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
59564         definitions.
59565         (nl_get_alt_digit) [! defined my_strftime]: Define.
59566         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
59567         _nl_get_alt_digit and _nl_get_walt_digit.
59568
59569         * lib/strftime.c (my_strftime): Merge in locale-related changes from
59570         libc. These changes have no effect outside of _LIBC.
59571
59572 2003-04-10  Bruno Haible  <bruno@clisp.org>
59573
59574         * modules/findprog: New file.
59575         * MODULES.html.sh (func_all_modules): Add it.
59576
59577 2003-04-10  Bruno Haible  <bruno@clisp.org>
59578
59579         * m4/findprog.m4: New file.
59580         * m4/eaccess.m4: New file.
59581
59582 2003-04-10  Bruno Haible  <bruno@clisp.org>
59583
59584         * lib/findprog.h: New file, from GNU gettext.
59585         * lib/findprog.c: New file, from GNU gettext.
59586
59587 2003-04-05  Jim Meyering  <jim@meyering.net>
59588
59589         Merge changes from Coreutils.
59590
59591         * lib/exclude.h (PARAMS): Remove definition and uses.
59592         * lib/exclude.c: Remove uses of `PARAMS'.
59593
59594         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
59595         Add test-cases for DOS filenames. Declare program_name.
59596         (main): Set up program_name.  Patch by Rich Dawe.
59597
59598         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
59599         error from mntctl.
59600         Use mntctl's return value to drive the entry-processing loop, since
59601         we can't rely on the value of the vmt_length member in the last
59602         entry.  On some systems doing so could result in exhausting
59603         virtual memory.  Based in part on a patch from Mike Jetzer.
59604
59605 2003-04-04  Bruno Haible  <bruno@clisp.org>
59606
59607         * modules/linebreak: New file.
59608         * MODULES.html.sh (func_all_modules): Add it.
59609
59610 2003-04-04  Bruno Haible  <bruno@clisp.org>
59611
59612         * m4/linebreak.m4: New file.
59613
59614 2003-04-04  Bruno Haible  <bruno@clisp.org>
59615
59616         * lib/linebreak.h: New file, from GNU gettext.
59617         * lib/linebreak.c: New file, from GNU gettext with slight
59618         modifications.
59619         * lib/lbrkprop.h: New file, from GNU gettext.
59620
59621 2003-04-03  Bruno Haible  <bruno@clisp.org>
59622
59623         * modules/utf8-ucs4: New file.
59624         * modules/utf16-ucs4: New file.
59625         * modules/ucs4-utf8: New file.
59626         * modules/ucs4-utf16: New file.
59627         * MODULES.html.sh (func_all_modules): Add them.
59628
59629 2003-04-03  Bruno Haible  <bruno@clisp.org>
59630
59631         * m4/utf-ucs4.m4: New file.
59632         * m4/ucs4-utf.m4: New file.
59633
59634 2003-04-03  Bruno Haible  <bruno@clisp.org>
59635
59636         * lib/utf8-ucs4.h: New file, from GNU gettext.
59637         * lib/utf16-ucs4.h: New file, from GNU gettext.
59638         * lib/ucs4-utf8.h: New file, from GNU gettext.
59639         * lib/ucs4-utf16.h: New file, from GNU gettext.
59640
59641 2003-04-02  Bruno Haible  <bruno@clisp.org>
59642
59643         * modules/binary-io: New file.
59644         * MODULES.html.sh (func_all_modules): Add it.
59645
59646 2003-04-02  Bruno Haible  <bruno@clisp.org>
59647
59648         * lib/binary-io.h: New file, from GNU gettext.
59649
59650 2003-04-01  Bruno Haible  <bruno@clisp.org>
59651
59652         * modules/pathname: New file.
59653         * MODULES.html.sh (func_all_modules): Add it.
59654
59655 2003-04-01  Bruno Haible  <bruno@clisp.org>
59656
59657         * lib/pathname.h: New file, from GNU gettext.
59658         * lib/concatpath.c: New file, from GNU gettext.
59659
59660 2003-03-30  Bruno Haible  <bruno@clisp.org>
59661
59662         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
59663
59664 2003-03-30  Bruno Haible  <bruno@clisp.org>
59665
59666         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
59667         function chown() doesn't exist.
59668
59669 2003-03-28  Bruno Haible  <bruno@clisp.org>
59670
59671         * modules/copy-file: New file.
59672         * MODULES.html.sh (func_all_modules): Add it.
59673
59674 2003-03-28  Bruno Haible  <bruno@clisp.org>
59675
59676         * m4/copy-file.m4: New file.
59677
59678 2003-03-28  Bruno Haible  <bruno@clisp.org>
59679
59680         * lib/copy-file.h: New file, from GNU gettext.
59681         * lib/copy-file.c: New file, from GNU gettext.
59682
59683 2003-03-18  Jim Meyering  <jim@meyering.net>
59684
59685         * lib/quote.c (quote_n): Fix typo in comment.
59686
59687 2003-03-18  Bruno Haible  <bruno@clisp.org>
59688
59689         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
59690         checking.
59691         * m4/onceonly_2_57.m4: Likewise.
59692
59693 2003-03-17  Bruno Haible  <bruno@clisp.org>
59694
59695         * m4/onceonly.m4: Require autoconf 2.54 or newer.
59696         (m4_quote): Remove macro.
59697         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
59698
59699 2003-03-14  Jim Meyering  <jim@meyering.net>
59700
59701         Merge changes from Coreutils.
59702         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
59703         to be const, in order to avoid warnings.
59704         (obstack_room): Likewise.
59705         (obstack_empty_p): Likewise.
59706
59707 2003-03-14  Bruno Haible  <bruno@clisp.org>
59708
59709         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
59710         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
59711
59712 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59713
59714         Merge changes from Bison.
59715         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
59716         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
59717         when compiling Bison 1.875's `bitset bset = obstack_alloc
59718         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
59719         * lib/hash.c: Include <stdbool.h> unconditionally.
59720
59721 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59722
59723         * m4/onceonly.m4 (m4_quote): New macro.
59724         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
59725         Quote AC_FOREACH variable-expansions properly.
59726
59727 2003-03-13  Paul Eggert  <eggert@twinsun.com>
59728
59729         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
59730
59731 2003-03-09  Paul Eggert  <eggert@twinsun.com>
59732
59733         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
59734         Reported by Bruce Becker; see:
59735         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
59736
59737 2003-03-03  Paul Eggert  <eggert@twinsun.com>
59738             Bruno Haible  <bruno@clisp.org>
59739
59740         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
59741         Reported by John Hughes, see
59742         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
59743
59744 2003-02-20  Bruno Haible  <bruno@clisp.org>
59745
59746         * MODULES.html.sh (func_all_modules): Add poll.
59747
59748 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59749
59750         * modules/poll: New file.
59751
59752 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59753
59754         * lib/poll_.h: New file.
59755         * lib/poll.c: New file.
59756
59757 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
59758
59759         * m4/poll.m4: New file.
59760
59761 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
59762
59763         * modules/mathl: New file.
59764
59765 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
59766
59767         * lib/mathl.h: New file.
59768         * lib/acosl.c: New file.
59769         * lib/asinl.c: New file.
59770         * lib/atanl.c: New file.
59771         * lib/ceill.c: New file.
59772         * lib/cosl.c: New file.
59773         * lib/expl.c: New file.
59774         * lib/floorl.c: New file.
59775         * lib/frexpl.c: New file.
59776         * lib/ldexpl.c: New file.
59777         * lib/logl.c: New file.
59778         * lib/sincosl.c: New file.
59779         * lib/sinl.c: New file.
59780         * lib/sqrtl.c: New file.
59781         * lib/tanl.c: New file.
59782         * lib/trigl.c: New file.
59783         * lib/trigl.h: New file.
59784
59785 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
59786
59787         * m4/mathl.m4: New file.
59788
59789 2003-02-18  Bruno Haible  <bruno@clisp.org>
59790
59791         * MODULES.html.sh (func_all_modules): Add mathl.
59792
59793 2003-02-17  Bruno Haible  <bruno@clisp.org>
59794
59795         * modules/mkdtemp: New module.
59796         * MODULES.html.sh (func_all_modules): Add it.
59797
59798 2003-02-17  Bruno Haible  <bruno@clisp.org>
59799
59800         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
59801
59802 2003-02-17  Bruno Haible  <bruno@clisp.org>
59803
59804         * lib/mkdtemp.h: New file, from GNU gettext.
59805         * lib/mkdtemp.c: New file, from GNU gettext.
59806
59807 2003-02-02  Jim Meyering  <jim@meyering.net>
59808
59809         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
59810         e.g. glibc-2.2.93.
59811
59812 2003-01-31  Bruno Haible  <bruno@clisp.org>
59813
59814         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
59815         'rpl_rename'.
59816         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
59817         'rpl_strnlen'.
59818         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
59819         'rpl_strtod'.
59820         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
59821         'rpl_utime'.
59822
59823 2003-01-31  Bruno Haible  <bruno@clisp.org>
59824
59825         * lib/rename.c: #undef rename before defining rpl_rename.
59826         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
59827
59828 2003-01-30  Bruno Haible  <bruno@clisp.org>
59829
59830         * modules/vasnprintf, modules/vasprintf: New modules.
59831         * MODULES.html.sh (func_all_modules): Add them.
59832
59833 2003-01-30  Bruno Haible  <bruno@clisp.org>
59834
59835         * m4/signed.m4: New file, from GNU gettext.
59836         * m4/longdouble.m4: New file, from GNU gettext.
59837         * m4/wchar_t.m4: New file, from GNU gettext.
59838         * m4/wint_t.m4: New file, from GNU gettext.
59839         * m4/vasnprintf.m4: New file.
59840         * m4/vasprintf.m4: New file.
59841
59842 2003-01-30  Bruno Haible  <bruno@clisp.org>
59843
59844         * lib/printf-args.h: New file, from GNU gettext.
59845         * lib/printf-args.c: New file, from GNU gettext.
59846         * lib/printf-parse.h: New file, from GNU gettext.
59847         * lib/printf-parse.c: New file, from GNU gettext.
59848         * lib/vasnprintf.h: New file, from GNU gettext.
59849         * lib/vasnprintf.c: New file, from GNU gettext.
59850         * lib/asnprintf.c: New file, from GNU gettext.
59851         * lib/vasprintf.h: New file, from GNU gettext with modifications.
59852         * lib/vasprintf.c: New file, from GNU gettext.
59853         * lib/asprintf.c: New file, from GNU gettext.
59854
59855 2003-01-29  Bruno Haible  <bruno@clisp.org>
59856
59857         * modules/stpncpy: New module.
59858         * MODULES.html.sh (func_all_modules): Add it.
59859
59860 2003-01-29  Bruno Haible  <bruno@clisp.org>
59861
59862         * m4/stpncpy.m4: New file.
59863
59864 2003-01-29  Bruno Haible  <bruno@clisp.org>
59865
59866         * lib/stpncpy.h: New file, from GNU gettext with modifications.
59867         * lib/stpncpy.c: New file, from GNU gettext with modifications.
59868
59869 2003-01-28  Bruno Haible  <bruno@clisp.org>
59870
59871         * modules/c-ctype: New module.
59872         * MODULES.html.sh (func_all_modules): Add it.
59873
59874 2003-01-28  Bruno Haible  <bruno@clisp.org>
59875
59876         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
59877         Paul Eggert.
59878         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
59879         Paul Eggert.
59880
59881 2003-01-27  Bruno Haible  <bruno@clisp.org>
59882
59883         * modules/xsetenv: New module.
59884         * MODULES.html.sh (func_all_modules): Add it.
59885
59886 2003-01-27  Bruno Haible  <bruno@clisp.org>
59887
59888         * lib/xsetenv.h: New file, from GNU gettext.
59889         * lib/xsetenv.c: New file, from GNU gettext.
59890
59891 2003-01-23  Jim Meyering  <jim@meyering.net>
59892
59893         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
59894         from working on systems without dirfd (at least Irix and OSF1/Tru64).
59895
59896 2003-01-23  Bruno Haible  <bruno@clisp.org>
59897
59898         * modules/minmax: New module.
59899         * MODULES.html.sh (func_all_modules): Add it.
59900
59901 2003-01-23  Bruno Haible  <bruno@clisp.org>
59902
59903         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
59904         Eggert.
59905
59906 2003-01-22  Bruno Haible  <bruno@clisp.org>
59907
59908         * modules/exit: New module.
59909         * MODULES.html.sh (func_all_modules): Add it.
59910
59911 2003-01-22  Bruno Haible  <bruno@clisp.org>
59912
59913         * lib/exit.h: New file, from GNU gettext.
59914
59915 2003-01-19  Bruno Haible  <bruno@clisp.org>
59916
59917         * gnulib-tool: Recognize option --extract-maintainer.
59918         (func_get_maintainer): New function.
59919         * modules/*: Add Maintainer entry.
59920
59921 2003-01-16  Jim Meyering  <jim@meyering.net>
59922
59923         * m4/regex.m4: The `regex' struct is both input and output.
59924         Initialize it before each use.  Patch by Tim Waugh.
59925
59926 2003-01-16  Bruno Haible  <bruno@clisp.org>
59927
59928         * MODULES.html.sh: Add a table of contents. Add the module name as
59929         leftmost column. Add hyperlinks.
59930
59931 2003-01-15  Bruno Haible  <bruno@clisp.org>
59932
59933         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
59934
59935 2003-01-15  Bruno Haible  <bruno@clisp.org>
59936
59937         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
59938         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
59939         suffix.
59940
59941 2003-01-15  Bruno Haible  <bruno@clisp.org>
59942
59943         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
59944
59945 2003-01-15  Bruno Haible  <bruno@clisp.org>
59946
59947         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
59948         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
59949
59950 2003-01-14  Jim Meyering  <jim@meyering.net>
59951
59952         * lib/same.c (same_name): Tweak a comment.
59953
59954 2003-01-14  Bruno Haible  <bruno@clisp.org>
59955
59956         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
59957         when a string comparison is sufficient.
59958
59959 2003-01-14  Bruno Haible  <bruno@clisp.org>
59960
59961         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
59962         'unsigned int'.
59963
59964 2003-01-14  Bruno Haible  <bruno@clisp.org>
59965
59966         * lib/hash-pjw.c: Add comment about low quality of this function.
59967
59968 2003-01-13  Bruno Haible  <bruno@clisp.org>
59969
59970         * modules/stpcpy: Distribute lib/stpcpy.h.
59971         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
59972
59973 2003-01-13  Bruno Haible  <bruno@clisp.org>
59974
59975         * modules/*: Add a description.
59976         * modules/strpbrk: Fix Makefile.am snippet.
59977         * modules/strtoimax: Fix dependencies.
59978         * modules/strtoumax: Likewise.
59979
59980 2003-01-13  Bruno Haible  <bruno@clisp.org>
59981
59982         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
59983         * modules/alloca (Makefile.am): All object files depend on alloca.h.
59984         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
59985
59986 2003-01-13  Bruno Haible  <bruno@clisp.org>
59987
59988         * gnulib-tool (func_create_testdir): Store config/* files in the main
59989         directory.
59990         * config.rpath: Move to ...
59991         * config/config.rpath: ... here.
59992         * modules/gettext: Contains config/config.rpath, not config.rpath.
59993         * modules/iconv: Likewise.
59994
59995 2003-01-12  Paul Eggert  <eggert@twinsun.com>
59996
59997         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
59998         to avoid collisions with libcurses and libreadline.
59999
60000         * m4/getstr.m4: Remove.
60001         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
60002
60003 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60004
60005         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60006         to avoid collisions with libcurses and libreadline.
60007
60008         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
60009         * lib/getstr.h, getstr.c: Remove.
60010         * lib/getline.c: Include "getline.h", to check interface.
60011         Move body of old getstr.c here: this defines MIN_CHUNK and
60012         declares getdelim2, which is renamed from getstr.
60013         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
60014
60015         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
60016         All uses changed.
60017         * lib/linebuffer.h: Likewise.
60018         (readline): Remove backward-compatibility macro.
60019
60020 2003-01-12  Paul Eggert  <eggert@twinsun.com>
60021
60022         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
60023         to avoid collisions with libcurses and libreadline.
60024         * getstr: Remove.
60025         * MODULES.html.sh: Remove getstr.
60026         * modules/getline: Depend on unlocked-io, not getstr.
60027
60028 2003-01-12  Jim Meyering  <jim@meyering.net>
60029
60030         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
60031
60032 2003-01-10  Bruno Haible  <bruno@clisp.org>
60033
60034         * modules/alloca: Change Makefile.am requirements. Simplify Include
60035         requirements. Add lib/alloca_.h to file list.
60036
60037 2003-01-10  Bruno Haible  <bruno@clisp.org>
60038
60039         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
60040
60041 2003-01-10  Bruno Haible  <bruno@clisp.org>
60042
60043         * lib/alloca_.h: New file.
60044         * lib/getdate.y: Unconditionally include alloca.h.
60045         * lib/makepath.c: Likewise.
60046         * lib/setenv.c: Likewise.
60047         * lib/userspec.c: Likewise.
60048
60049 2003-01-09  Karl Berry  <karl@gnu.org>
60050
60051         * MODULES.html.sh: include `dirname $0` in PATH, to find
60052         gnulib-tool.
60053
60054 2003-01-09  Bruno Haible  <bruno@clisp.org>
60055
60056         * modules/stdbool: Change configure.ac, Makefile.am requirements.
60057         Simplify Include requirements. Add lib/stdbool.h.in to file list.
60058
60059 2003-01-09  Bruno Haible  <bruno@clisp.org>
60060
60061         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
60062
60063 2003-01-09  Bruno Haible  <bruno@clisp.org>
60064
60065         * lib/stdbool.h.in: New file.
60066
60067 2003-01-09  Bruno Haible  <bruno@clisp.org>
60068
60069         * gnulib-tool (func_all_modules): Ignore files ending in ~.
60070         * MODULES.html.sh: Likewise.
60071
60072 2003-01-08  Jim Meyering  <jim@meyering.net>
60073
60074         * lib/full-write.c: Undefine and define-away `const' after inclusion
60075         of errno.h, not before.  Suggestion from Bruno Haible.
60076
60077 2003-01-08  Bruno Haible  <bruno@clisp.org>
60078
60079         * modules/full-read: Depend on full-write.
60080
60081 2003-01-08  Bruno Haible  <bruno@clisp.org>
60082
60083         * lib/safe-read.c: Include specification header first, to ensure its
60084         selfcontainedness.
60085         * lib/full-write.c: Likewise.
60086
60087 2003-01-07  Jim Meyering  <jim@meyering.net>
60088
60089         * lib/full-write.c: Rework so that it may serve to define full_read,
60090         too.
60091         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
60092
60093 2003-01-07  Bruno Haible  <bruno@clisp.org>
60094
60095         * lib/strtoimax.c: Include <stdint.h> as an alternative to
60096         <inttypes.h>.
60097         * lib/xstrtol.h: Likewise.
60098         * lib/xstrtoimax.c: Likewise.
60099         * lib/xstrtoumax.c: Likewise.
60100         * lib/human.h: Likewise.
60101
60102         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
60103         on systems that have <inttypes.h> but not <stdint.h>.
60104
60105 2003-01-07  Bruno Haible  <bruno@clisp.org>
60106
60107         * MODULES.html.sh: Add copyright notice.
60108         (missed_files): Omit CVS directory entries.
60109         (func_module): Make it work with sed-3.02.
60110         * MODULES.txt: Remove file.
60111
60112 2003-01-06  Jim Meyering  <jim@meyering.net>
60113
60114         * lib/version-etc.c: Update year in translatable copyright string.
60115
60116 2003-01-03  Karl Berry  <karl@gnu.org>
60117
60118         * config/config.{guess,sub}: update from prep.
60119
60120 2003-01-02  Karl Berry  <karl@gnu.org>
60121
60122         * doc/COPYING.DOC: belatedly updated to 1.2.
60123
60124 2003-01-01  Karl Berry  <karl@gnu.org>
60125
60126         * gnulib-tool (func_verify_module): report module name $module in
60127         error message, not $1.
60128         * gnulib-tool (create-testdir): don't complain if destdir couldn't
60129         be created, only if it doesn't exist.
60130         * gnulib-tool (last_checkin_date): don't expand the $Date here.
60131
60132 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60133
60134         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
60135
60136 2002-12-31  Paul Eggert  <eggert@twinsun.com>
60137
60138         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
60139         memcmp if strcoll doesn't work.
60140
60141 2002-12-31  Bruno Haible  <bruno@clisp.org>
60142
60143         * lib/utime.c (utime_null): No need to call ftruncate if the file was
60144         nonempty.
60145
60146 2002-12-31  Bruno Haible  <bruno@clisp.org>
60147
60148         * lib/memcoll.c (STRCOLL): New macro.
60149         (memcoll): Use it.
60150
60151 2002-12-31  Bruno Haible  <bruno@clisp.org>
60152
60153         * lib/localcharset.h: New file.
60154         * lib/localcharset.c: Include it.
60155         * lib/unicodeio.c: Likewise.
60156
60157 2002-12-31  Bruno Haible  <bruno@clisp.org>
60158
60159         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
60160         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
60161
60162 2002-12-31  Bruno Haible  <bruno@clisp.org>
60163
60164         * lib/getline.h: Include <stddef.h>, for size_t.
60165
60166         * lib/unicodeio.h: Include <stddef.h>, for size_t.
60167         * lib/unicodeio.c: Don't include <stddef.h>.
60168
60169 2002-12-31  Bruno Haible  <bruno@clisp.org>
60170
60171         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
60172         HAVE_TM_ZONE.
60173
60174 2002-12-24  Karl Berry  <karl@gnu.org>
60175
60176         * config/config.guess: update from prep.
60177
60178 2002-12-24  Bruno Haible  <bruno@clisp.org>
60179
60180         General infrasructure.
60181         * m4/README: Rewritten.
60182         * m4/onceonly.m4: New file.
60183         * m4/onceonly_2_57.m4: New file.
60184
60185         Module atexit.
60186         * m4/atexit.m4: New file.
60187
60188         Module strtod.
60189         * m4/strtod.m4: New file.
60190
60191         Module strtol.
60192         * m4/strtol.m4: New file.
60193
60194         Module strtoul.
60195         * m4/strtoul.m4: New file.
60196
60197         Module memchr.
60198         * m4/memchr.m4: New file.
60199
60200         Module memcmp.
60201         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
60202         (jm_FUNC_MEMCMP): Invoke it.
60203
60204         Module memcpy.
60205         * m4/memcpy.m4: New file.
60206
60207         Module memmove.
60208         * m4/memmove.m4: New file.
60209
60210         Module memset.
60211         * m4/memset.m4: New file.
60212
60213         Module strcspn.
60214         * m4/strcspn.m4: New file.
60215
60216         Module strpbrk.
60217         * m4/strpbrk.m4: New file.
60218
60219         Module strstr.
60220         * m4/strstr.m4: New file.
60221
60222         Module strerror.
60223         * m4/strerror.m4: New file.
60224
60225         Module mktime.
60226         * m4/mktime.m4: Renamed from jm-mktime.m4.
60227         (gl_PREREQ_MKTIME): New macro.
60228         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
60229
60230         Module malloc.
60231         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
60232         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
60233         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
60234
60235         Module realloc.
60236         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
60237         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
60238         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
60239
60240         Module strftime.
60241         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
60242         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
60243         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
60244         gl_TM_GMTOFF.
60245         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
60246
60247         Module xalloc.
60248         * m4/xalloc.m4: New file.
60249
60250         Module alloca.
60251         * m4/alloca.m4: New file.
60252
60253         Module putenv.
60254         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
60255         (jm_FUNC_PUTENV): Invoke it.
60256
60257         Module setenv.
60258         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
60259         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
60260         when invoked twice.
60261         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
60262         gt_FUNC_SETENV.
60263
60264         Module memrchr.
60265         * m4/memrchr.m4: New file.
60266
60267         Module stpcpy.
60268         * m4/stpcpy.m4: New file.
60269
60270         Module strcase.
60271         * m4/strcase.m4: New file.
60272
60273         Module strdup.
60274         * m4/strdup.m4: New file.
60275
60276         Module strnlen.
60277         * m4/strnlen.m4: New file.
60278
60279         Module strndup.
60280         * m4/strndup.m4: New file.
60281
60282         Module xstrtod.
60283         * m4/xstrtod.m4: New file.
60284
60285         Module xstrtol.
60286         * m4/xstrtol.m4: New file.
60287
60288         Module getdate.
60289         * m4/getdate.m4: New file.
60290
60291         Module unlocked-io.
60292         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
60293         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
60294         * m4/jm-glibc-io.m4n: Remove file.
60295
60296         Module long-options.
60297         * m4/long-options.m4: New file.
60298
60299         Module md5.
60300         * m4/md5.m4: New file.
60301
60302         Module sha.
60303         * m4/sha.m4: New file.
60304
60305         Module getstr.
60306         * m4/getstr.m4: New file.
60307
60308         Module getline.
60309         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
60310         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
60311         <sys/types.h>, for size_t. Use the function name gnu_getline, not
60312         simply getline. Infoke gl_PREREQ_GETLINE.
60313
60314         Module obstack.
60315         * m4/obstack.m4: New file.
60316
60317         Module hash.
60318         * m4/hash.m4: New file.
60319
60320         Module readtokens.
60321         * m4/readtokens.m4: New file.
60322
60323         Module strverscmp.
60324         * m4/strverscmp.m4: New file.
60325
60326         Module stdbool.
60327         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
60328         OSF/1.
60329
60330         Module strtoll.
60331         * m4/strtoll.m4: New file.
60332
60333         Module strtoull.
60334         * m4/strtoull.m4: New file.
60335
60336         Module strtoimax.
60337         * m4/strtoimax.m4: New file.
60338
60339         Module strtoumax.
60340         * m4/strtoumax.m4: New file.
60341
60342         Module xstrtoimax.
60343         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
60344         jm_AC_PREREQ_XSTRTOIMAX.
60345         Moved the strtol prerequisites to strtol.m4.
60346         Moved the strtoll prerequisites to strtoll.m4.
60347         Moved the strtoimax prerequisites to strtoimax.m4.
60348
60349         Module xstrtoumax.
60350         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
60351         jm_AC_PREREQ_XSTRTOUMAX.
60352         Moved the strtoul prerequisites to strtoul.m4.
60353         Moved the strtoull prerequisites to strtoull.m4.
60354         Moved the strtoumax prerequisites to strtoumax.m4.
60355
60356         Module chown.
60357         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
60358         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
60359
60360         Module dup2.
60361         * m4/dup2.m4: New file.
60362
60363         Module ftruncate.
60364         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
60365         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
60366
60367         Module getgroups.
60368         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
60369         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
60370
60371         Module gettimeofday.
60372         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
60373         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
60374         gl_PREREQ_GETTIMEOFDAY.
60375
60376         Module mkdir.
60377         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
60378         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
60379
60380         Module mkstemp.
60381         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
60382         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
60383         jm_AC_TYPE_UINTMAX_T.
60384         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
60385
60386         Module stat.
60387         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
60388         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
60389
60390         Module lstat.
60391         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
60392         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
60393
60394         Module timespec.
60395         * m4/timespec.m4 (gl_TIMESPEC): New macro.
60396         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
60397         * m4/st_mtim.m4: Indentation.
60398
60399         Module nanosleep.
60400         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
60401         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
60402         gl_PREREQ_NANOSLEEP.
60403
60404         Module regex.
60405         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
60406         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
60407         (gl_REGEX): New macro.
60408
60409         Module rename.
60410         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
60411         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
60412
60413         Module rmdir.
60414         * m4/rmdir.m4: New file.
60415
60416         Module utime.
60417         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
60418         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
60419         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
60420
60421         Module dirname.
60422         * m4/dirname.m4: New file.
60423
60424         Module getopt.
60425         * m4/getopt.m4: New file.
60426
60427         Module unistd-safer.
60428         * m4/unistd-safer.m4: New file.
60429
60430         Module fnmatch.
60431         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
60432         declaration.
60433         (gl_PREREQ_FNMATCH_EXTRA): New macro.
60434         (gl_FUNC_FNMATCH_POSIX): New macro.
60435         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
60436         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
60437         simply fnmatch.
60438
60439         Module exclude.
60440         * m4/exclude.m4: New file.
60441
60442         Module human.
60443         * m4/human.m4: New file.
60444
60445         Module acl.
60446         * m4/acl.m4: Nop.
60447
60448         Module backupfile.
60449         * m4/backupfile.m4: New file.
60450         * m4/d-ino.m4: Indentation.
60451
60452         Module fsusage.
60453         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
60454         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
60455         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
60456
60457         Module dirfd.
60458         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
60459         requirements.
60460
60461         Module euidaccess.
60462         * m4/euidaccess.m4: New file.
60463
60464         Module file-type.
60465         * m4/file-type.m4: New file.
60466
60467         Module fileblocks.
60468         * m4/fileblocks.m4: New file.
60469
60470         Module filemode.
60471         * m4/filemode.m4: New file.
60472
60473         Module isdir.
60474         * m4/isdir.m4: New file.
60475
60476         Module lchown.
60477         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
60478         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
60479
60480         Module makepath.
60481         * m4/makepath.m4: New file.
60482
60483         Module modechange.
60484         * m4/modechange.m4: New file.
60485
60486         Module mountlist.
60487         * m4/mountlist.m4: New file.
60488         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
60489         Indentation.
60490
60491         Module path-concat.
60492         * m4/path-concat.m4: New file.
60493
60494         Module pathmax.
60495         * m4/pathmax.m4: New file.
60496
60497         Module same.
60498         * m4/same.m4: New file.
60499
60500         Module save-cwd.
60501         * m4/save-cwd.m4: New file.
60502
60503         Module savedir.
60504         * m4/savedir.m4: New file.
60505
60506         Module xgetcwd.
60507         * m4/xgetcwd.m4: New file.
60508         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
60509
60510         Module xreadlink.
60511         * m4/xreadlink.m4: New file.
60512
60513         Module safe-read.
60514         * m4/safe-read.m4: New file.
60515
60516         Module safe-write.
60517         * m4/safe-write.m4: New file.
60518
60519         Module closeout.
60520         * m4/closeout.m4: New file.
60521
60522         Module stdio-safer.
60523         * m4/stdio-safer.m4: New file.
60524
60525         Module getpass.
60526         * m4/getpass.m4: New file.
60527
60528         Module getugroups.
60529         * m4/getugroups.m4: New file.
60530
60531         Module group-member.
60532         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
60533         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
60534
60535         Module idcache.
60536         * m4/idcache.m4: New file.
60537
60538         Module userspec.
60539         * m4/userspec.m4: New file.
60540
60541         Module gettime.
60542         * m4/clock_time.m4: New file.
60543         * m4/gettime.m4: New file.
60544
60545         Module settime.
60546         * m4/settime.m4: New file.
60547
60548         Module posixtm.
60549         * m4/posixtm.m4: New file.
60550
60551         Module gethostname.
60552         * m4/gethostname.m4: New file.
60553
60554         Module canon-host.
60555         * m4/canon-host.m4: New file.
60556
60557         Module gettext.
60558         * m4/codeset.m4: New file, from gettext-0.11.5.
60559         * m4/gettext.m4: New file, from gettext-0.11.5.
60560         * m4/glibc21.m4: New file, from gettext-0.11.5.
60561         * m4/iconv.m4: New file, from gettext-0.11.5.
60562         * m4/intdiv0.m4: New file, from gettext-0.11.5.
60563         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
60564         * m4/inttypes.m4: New file, from gettext-0.11.5.
60565         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
60566         * m4/isc-posix.m4: New file, from gettext-0.11.5.
60567         * m4/lcmessage.m4: New file, from gettext-0.11.5.
60568         * m4/lib-ld.m4: New file, from gettext-0.11.5.
60569         * m4/lib-link.m4: New file, from gettext-0.11.5.
60570         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
60571         * m4/progtest.m4: New file, from gettext-0.11.5.
60572         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
60573         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
60574         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
60575
60576         Module localcharset.
60577         * m4/localcharset.m4: New file.
60578
60579         Module hard-locale.
60580         * m4/hard-locale.m4: New file.
60581
60582         Module mbswidth.
60583         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
60584         onceonly macros.
60585         * m4/mbrtowc.m4: Add comment.
60586
60587         Module memcasecmp.
60588         * m4/memcasecmp.m4: New file.
60589
60590         Module memcoll.
60591         * m4/memcoll.m4: New file.
60592
60593         Module unicodeio.
60594         * m4/unicodeio.m4: New file.
60595
60596         Module rpmatch.
60597         * m4/rpmatch.m4: New file.
60598
60599         Module yesno.
60600         * m4/yesno.m4: New file.
60601
60602         Module exitfail.
60603         * m4/exitfail.m4: New file.
60604
60605         Module c-stack.
60606         * m4/c-stack.m4 (gl_C_STACK): New macro.
60607         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
60608
60609         Module error.
60610         * m4/error.m4 (gl_ERROR): New macro.
60611         (jm_PREREQ_ERROR): Use onceonly macros.
60612
60613         Module fatal.
60614         * m4/fatal.m4: New file.
60615
60616         Module getloadavg.
60617         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
60618         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
60619
60620         Module getpagesize.
60621         * m4/getpagesize.m4: New file.
60622
60623         Module getusershell.
60624         * m4/getusershell.m4: New file.
60625
60626         Module physmem.
60627         * m4/physmem.m4: New file.
60628
60629         Module posixver.
60630         * m4/posixver.m4: New file.
60631
60632         Module quotearg.
60633         * m4/quotearg.m4: New file.
60634
60635         Module quote.
60636         * m4/quote.m4: New file.
60637
60638         Module readutmp.
60639         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
60640
60641         Module sig2str.
60642         * m4/sig2str.m4: New file.
60643
60644         Other.
60645         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
60646         ulonglong.m4.
60647         * m4/intmax_t.m4: New file.
60648         * m4/d-type.m4: Indentation.
60649         * m4/jm-macros.m4: Update.
60650         * m4/prereq.m4 (jm_PREREQ): Update.
60651         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
60652         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
60653         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
60654         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
60655         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
60656         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
60657         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
60658         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
60659         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
60660         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
60661         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
60662         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
60663         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
60664         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
60665         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
60666         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
60667         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
60668         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
60669         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
60670
60671 2002-12-24  Bruno Haible  <bruno@clisp.org>
60672
60673         * MODULES.txt: Update according to m4/ changes.
60674
60675         Module gettext.
60676         * config.rpath: New file, from gettext-0.11.5.
60677
60678         * modules/*: New module descriptions.
60679         * gnulib-tool: New file.
60680         * MODULES.html.sh: New file.
60681
60682 2002-12-21  Karl Berry  <karl@gnu.org>
60683
60684         * doc/fdl.texi: update to version 1.2.
60685
60686 2002-12-19  Karl Berry  <karl@gnu.org>
60687
60688         * config/config.guess: update from prep.
60689
60690 2002-12-18  Bruno Haible  <bruno@clisp.org>
60691
60692         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
60693         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
60694
60695 2002-12-17  Bruno Haible  <bruno@clisp.org>
60696
60697         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
60698         stdlib.h, string.h.
60699
60700 2002-12-17  Bruno Haible  <bruno@clisp.org>
60701
60702         * lib/canon-host.c (strdup): Remove unused declaration.
60703
60704         * lib/fsusage.c: Include full_read.h.
60705         (get_fs_usage): Use full_read instead of safe_read.
60706
60707         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
60708
60709 2002-12-12  Karl Berry  <karl@gnu.org>
60710
60711         * config/config.guess: update from prep.
60712
60713 2002-12-11  Bruno Haible  <bruno@clisp.org>
60714
60715         * m4/setenv.m4: New file, from gettext-0.11.5.
60716
60717 2002-12-11  Bruno Haible  <bruno@clisp.org>
60718
60719         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
60720         not unsetenv().
60721         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
60722         modifications:
60723
60724         2002-12-11  Bruno Haible  <bruno@clisp.org>
60725
60726                 * setenv.c (alloca): Fall back to malloc.
60727                 (freea): New macro.
60728                 (setenv): Use freea() to free memory allocated with alloca().
60729
60730         2002-11-13  Bruno Haible  <bruno@clisp.org>
60731
60732                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
60733                 function declarations.
60734                 * unsetenv.c (unsetenv): Likewise.
60735
60736         2002-03-04  Bruno Haible  <bruno@clisp.org>
60737
60738                 Portability to AIX 4.3.3.
60739                 * unsetenv.c: New file, extracted from setenv.c.
60740                 * setenv.c: Move the unsetenv() function to unsetenv.c.
60741
60742         2001-12-20  Bruno Haible  <bruno@clisp.org>
60743
60744                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
60745                 use malloc instead. For SunOS 4.
60746
60747         2001-12-11  Bruno Haible  <bruno@clisp.org>
60748
60749                 * setenv.c: Declare alloca.
60750                 (compar_fn_t): New typedef.
60751                 (KNOWN_VALUE, STORE_VALUE): Use it.
60752
60753         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
60754         setenv.h.
60755
60756 2002-12-10  Paul Eggert  <eggert@twinsun.com>
60757
60758         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
60759         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
60760         Choose values that are less likely to collide with system fnmatch
60761         options.
60762         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
60763         defined (e.g., a pure POSIX system).
60764         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
60765         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
60766
60767 2002-12-06  Paul Eggert  <eggert@twinsun.com>
60768
60769         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
60770         a pain in practice to deal with generated m4 files.  This change
60771         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
60772
60773         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
60774         and jm-glibc-io.m4, as they are no longer a special case.
60775         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
60776         kludge and the auto-generation stuff.  Check only whether the
60777         functions are declared, not whether they exist, since older hosts
60778         that don't declare the functions can't use the optimization anyway.
60779
60780 2002-12-06  Jim Meyering  <jim@meyering.net>
60781
60782         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
60783
60784         Merge in changes from libc's misc/error.c, in preparation
60785         for the merge of gnulib's changes back into libc.
60786
60787         * lib/error.c (_): Define only if not already defined.
60788         Move definition to follow all #include directives.
60789         Include unlocked-io.h only if !_LIBC.
60790         [_LIBC]: Include <libio/libioP.h>.
60791         [USE_IN_LIBIO]: Include <libio/iolibio.h>
60792         (fflush): Tweak definition to use INTUSE.
60793         (putc): Define.
60794
60795 2002-12-05  Paul Eggert  <eggert@twinsun.com>
60796
60797         * lib/alloca.c [defined emacs]: Include "lisp.h".
60798         (xalloc_die) [defined emacs]: New macro.
60799         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
60800         [! defined emacs]: Include <xalloc.h>.
60801         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
60802         (pointer): Typedef to POINTER_TYPE *.
60803         (malloc): Remove decl; we now always use xmalloc.
60804         (alloca): Use old-style definition, since Emacs needs this.
60805         Check for arithmetic overflow when computing combined size.
60806
60807 2002-12-04  Paul Eggert  <eggert@twinsun.com>
60808
60809         Do not generate unlocked-io.h automatically, since it's easier to
60810         maintain it by hand.
60811
60812         * lib/unlocked-io.h: New file, from GNU diffutils,
60813         but with proper copyright notice and attribution.
60814         * lib/gen-uio: Remove.
60815         * lib/Makefile.am: Add copyright notice.
60816         (libfetish_a_SOURCES): Add unlocked-io.h.
60817         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
60818         (DISTCLEANFILES, io_functions): Remove macros.
60819         (EXTRA_DIST): Remove gen_uio.
60820         (unlocked-io.h): Remove rule.
60821
60822 2002-12-04  Jim Meyering  <jim@meyering.net>
60823
60824         Reflect the fact that stat.c and lstat.c are no longer generated.
60825         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
60826         (DISTCLEANFILES): Likewise.
60827         (EXTRA_DIST): Likewise.
60828         (all_local): Don't depend on stat.c or lstat.c.
60829         (stat.c, lstat.c): Remove rules.
60830         (EXTRA_DIST): Remove xstat.in.
60831
60832         * lib/xstat.in: Remove file.  Contents moved into stat.c.
60833         * lib/stat.c: New file.  Contents mostly from xstat.in.
60834         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
60835         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
60836
60837         * lib/safe-read.c: Rework so that it may serve to define safe_write,
60838         too.
60839         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
60840
60841 2002-12-03  Jim Meyering  <jim@meyering.net>
60842
60843         * lib/safe-read.c, safe-write.c: Change variable names and comments,
60844         but not semantics, to minimize the differences between these two files.
60845         (safe_read): Change comment to mention SAFE_READ_ERROR.
60846
60847         * lib/safe-read.c (IS_EINTR): Define.
60848         (safe_read): Use IS_EINTR in place of in-function cpp directives.
60849
60850 2002-12-02  Jim Meyering  <jim@meyering.net>
60851
60852         * lib/safe-read.c (EINTR): Define.
60853         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
60854         (INT_MAX): Provide fallback.
60855         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
60856
60857         * lib/safe-read.h (SAFE_READ_ERROR): Define.
60858
60859 2002-12-02  Bruno Haible  <bruno@clisp.org>
60860
60861         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
60862         Define, taken from safe-read.c.
60863         (INT_MAX): Provide fallback.
60864         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
60865         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
60866
60867         * lib/safe-read.c (EINTR): Remove definition.
60868         (safe_read): Don't use EINTR if it is absent.
60869
60870 2002-12-01  Jim Meyering  <jim@meyering.net>
60871
60872         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
60873         zero.
60874         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
60875
60876 2002-11-27  Paul Eggert  <eggert@twinsun.com>
60877
60878         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
60879         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
60880         with `if (! (value < limit)) abort ();', for readability.
60881
60882 2002-11-26  Karl Berry  <karl@gnu.org>
60883
60884         * lib/strdup.c: copy from libc again, with jim's ok.
60885         * lib/.cppi-disable: re-add strdup.c
60886
60887 2002-11-25  Karl Berry  <karl@gnu.org>
60888
60889         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
60890         instead of "strtol.c".
60891
60892 2002-11-25  Karl Berry  <karl@gnu.org>
60893
60894         * config/install-sh: update from automake for variable quoting, $0 in
60895         error msgs, etc.
60896
60897         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
60898         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
60899         entry.
60900
60901 2002-11-25  Jim Meyering  <jim@meyering.net>
60902
60903         * lib/mktime.c: Sync from libc, now that it has the latest fix.
60904
60905 2002-11-24  Karl Berry  <karl@gnu.org>
60906
60907         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
60908         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
60909
60910 2002-11-24  Jim Meyering  <jim@meyering.net>
60911
60912         Update from coreutils:
60913
60914         * lib/mktime.c: Merge in changes from libc.
60915
60916         Avoid a link-time failure on some Linux systems.
60917         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
60918         (otherwise).
60919         (__mon_yday): Declare with the STATIC attribute.
60920         (__mktime_internal): Likewise.
60921         Based on a report from Greg Schafer.
60922
60923 2002-11-23  Jim Meyering  <jim@meyering.net>
60924
60925         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
60926         Use `unsigned', not `int', as type of index.
60927
60928         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
60929
60930         * lib/fsusage.c: Remove unneeded parentheses around operands of
60931         `defined'.
60932
60933 2002-11-22  Paul Eggert  <eggert@twinsun.com>
60934
60935         * lib/quotearg.h: Allow multiple inclusion by surrounding with
60936         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
60937         so that we can be included first.
60938         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
60939         * lib/quotearg.c: Include quotearg.h immediately after config.h.
60940         No need to include stddef.h or sys/types.h any more.
60941         Surround local include files with "", not "<>".
60942         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
60943         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
60944         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
60945         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
60946         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
60947         (ISPRINT): Remove; no longer needed now that we assume C89.
60948
60949         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
60950         Preserve errno.
60951
60952         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
60953         quotearg_char): Use SIZE_MAX rather than
60954         (size_t) -1 when we are talking about "infinity".
60955
60956         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
60957
60958 2002-11-22  Paul Eggert  <eggert@twinsun.com>
60959
60960         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
60961         hint that one should use `if (! x) abort ();' rather than `assert
60962         (x);', and anyway it's one less thing to worry about configuring.
60963         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
60964         hash_rehash, hash_insert): Use abort rather than assert.
60965
60966 2002-11-22  Bruno Haible  <bruno@clisp.org>
60967
60968         * lib/safe-read.h: Assume C89. Add comments.
60969         (safe_read): Change return type to size_t.
60970         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
60971         byte counts > SSIZE_MAX correctly.
60972         * lib/safe-write.h: New file.
60973         * lib/safe-write.c: New file.
60974         * lib/full-read.h: New file.
60975         * lib/full-read.c: New file.
60976         * lib/full-write.h: Assume C89. Add comments.
60977         * lib/full-write.c: Include safe-write.h.
60978         (full_write): Rewritten to use safe_write.
60979         Suggested by Jim Meyering and Paul Eggert.
60980
60981 2002-11-21  Jim Meyering  <jim@meyering.net>
60982
60983         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
60984
60985         Merge in changes from the coreutils.
60986
60987         2002-09-25  Paul Eggert  <eggert@twinsun.com>
60988         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
60989         <stdint.h>.
60990         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
60991         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
60992         int.  Work more efficiently if X is the same width as uintmax_t.
60993         Do not compare X to -1, to avoid bogus compiler warning.
60994         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
60995         Don't assume that f_frsize and f_bsize are the same type.
60996
60997         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
60998         warning on FreeBSD.
60999
61000         * lib/makepath.c (make_path): Restore umask *before* creating the final
61001         component.
61002         (make_path): Minor reformatting.
61003
61004         * lib/xmalloc.c: Adjust to work with new autoconf macros,
61005         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
61006         HAVE_MALLOC/HAVE_REALLOC.
61007
61008         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
61009         dummy ones.  At least on GNU/Linux systems, `auto' means something
61010         else.
61011         From Michael Stone.
61012
61013 2002-11-21  Bruno Haible  <bruno@clisp.org>
61014
61015         Remove case insensitive option matching.
61016         * lib/argmatch.h (argcasematch): Remove declaration.
61017         (ARGCASEMATCH): Remove macro.
61018         (__xargmatch_internal): Remove case_sensitive argument.
61019         (XARGMATCH): Update.
61020         (XARGCASEMATCH): Remove macro.
61021         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
61022         case_sensitive argument.
61023         (argcasematch): Remove function.
61024         (__xargmatch_internal): Remove case_sensitive argument.
61025         (main): Use XARGMATCH instead of XARGCASEMATCH.
61026
61027         * lib/xmalloc.c: Change compile-time error message. Add comment about
61028         required autoconf version.
61029
61030 2002-11-20  Paul Eggert  <eggert@twinsun.com>
61031
61032         Merge argmatch cleanups from Bison.  Assume C89.
61033
61034         * lib/argmatch.c: Include config.h here, not in argmatch.h.
61035         Include stdlib.h, for EXIT_FAILURE.
61036         Always include <string.h>, since we assume C89.
61037         (EXIT_FAILURE): Remove pre-C89 bug workaround.
61038         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
61039         Include <stddef.h> instead, since it's all we need for size_t.
61040         (PARAMS): Remove.  All uses removed.
61041         (ARRAY_CARDINALITY): Do not bother to #undef.
61042         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
61043         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61044         Remove unnecessary parentheses.
61045         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
61046         Insert necessary parentheses.
61047         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
61048         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
61049
61050 2002-11-19  Bruno Haible  <bruno@clisp.org>
61051
61052         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
61053         * lib/mbswidth.h: Include <stddef.h>, for size_t.
61054
61055         * lib/mbswidth.h (PARAMS): Remove macro.
61056         (mbswidth, mbsnwidth): Use ANSI C function declarations.
61057         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
61058
61059         * lib/gcd.h (PARAMS): Remove macro.
61060         (gcd): Use ANSI C function declarations.
61061         * lib/gcd.c (gcd): Likewise.
61062
61063 2002-11-15  Bruno Haible  <bruno@clisp.org>
61064
61065         * lib/strcspn.c: Include <stddef.h>.
61066         (strcspn): Use ANSI C function declaration. Change return type to
61067         size_t. Use NULL.
61068         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
61069         (strpbrk): Use NULL.
61070         * lib/strpbrk.h (PARAMS): Remove macro.
61071         (strpbrk): Use ANSI C function declaration.
61072         * lib/strstr.c: Don't include <sys/types.h>.
61073         * lib/strstr.h (PARAMS): Remove macro.
61074         (strstr): Use ANSI C function declarations.
61075
61076 2002-11-14  Karl Berry  <karl@gnu.org>
61077
61078         * config/mkinstalldirs: `do' on separate line, instead of
61079         `for var; do'.
61080
61081 2002-11-06  Bruno Haible  <bruno@clisp.org>
61082
61083         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
61084         * lib/gcd.c (gcd): Likewise.
61085
61086 2002-11-05  Bruno Haible  <bruno@clisp.org>
61087
61088         * lib/gcd.h: New file, from gettext-0.11.5.
61089         * lib/gcd.c: New file, from gettext-0.11.5.
61090
61091 2002-11-05  Bruno Haible  <bruno@clisp.org>
61092
61093         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61094         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61095         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61096         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
61097
61098         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
61099         <libintl.h>.
61100         * lib/makepath.c: Include gettext.h instead of <locale.h> and
61101         <libintl.h>.
61102
61103         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
61104         * lib/human.c: Include gettext.h instead of <libintl.h>.
61105         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
61106         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
61107         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
61108         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
61109         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
61110         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
61111         (textdomain): Remove definition.
61112         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
61113
61114         * lib/long-options.c: Remove include of <libintl.h> and definition of
61115         _.
61116         * lib/same.c: Remove include of <libintl.h> and definition of _.
61117
61118 2002-11-04  Owen Taylor  <otaylor@redhat.com>
61119
61120         * lib/config.charset: A few additions for Solaris.
61121
61122 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61123
61124         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
61125         * lib/localcharset.c (locale_charset): Declare as extern "C".
61126
61127 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
61128
61129         * lib/config.charset: msdos in uk_UA uses CP1125.
61130
61131 2002-11-04  Bruno Haible  <bruno@clisp.org>
61132
61133         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
61134         * lib/strcase.h: New file, from GNU gettext-0.11.5.
61135         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
61136         * lib/strstr.h: New file, from GNU gettext-0.11.5.
61137         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
61138
61139 2002-11-04  Bruno Haible  <bruno@clisp.org>
61140
61141         * lib/localcharset.c (locale_charset): Don't return an empty string.
61142
61143 2002-11-04  Bruno Haible  <bruno@clisp.org>
61144
61145         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
61146         aliases.
61147
61148 2002-11-04  Bruno Haible  <bruno@clisp.org>
61149
61150         * lib/config.charset: Update for newest glibc. Add canonical names
61151         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
61152
61153 2002-11-04  Bruno Haible  <bruno@clisp.org>
61154
61155         * lib/config.charset: Add support for NetBSD.
61156
61157 2002-11-04  Bruno Haible  <bruno@clisp.org>
61158
61159         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
61160
61161 2002-11-01  Bruno Haible  <bruno@clisp.org>
61162
61163         * configure.in: Add AC_CONFIG_AUX_DIR call.
61164         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
61165         test/Makefile.
61166         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
61167
61168 2002-09-28  Karl Berry  <karl@gnu.org>
61169
61170         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
61171         installed automake until the next release, since changes have been
61172         made.
61173
61174 2002-09-25  Karl Berry  <karl@gnu.org>
61175
61176         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
61177         * lib/getopt*: copy from libc/posix.
61178         * lib/gettext.h: copy from gettext.
61179         * lib/.cppi-disable: add strdup.c, gettext.h.
61180
61181 2002-09-25  Karl Berry  <karl@gnu.org>
61182
61183         * config/srclist.txt: enable gettext.h check.
61184         * config/config.{guess,sub}: update from prep.
61185         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
61186                 from automake 1.6.3.
61187         See srclist*.
61188
61189 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
61190
61191         * regex.c (PATFETCH): Remove the translating fetch.
61192         (PATFETCH_RAW): Rename to PATFETCH.
61193         (set_image_of_range): New fun.
61194         (SET_RANGE_TABLE_WORK_AREA): Use it.
61195         (regex_compile): Don't translate the pattern chars so eagerly.
61196         Only do it when inserting an `exactn' bytecode or when handling
61197         a char-range.
61198         (mutually_exclusive_p): Avoid empty statement.
61199
61200 2002-07-06  Jim Meyering  <meyering@lucent.com>
61201
61202         * m4/README: Don't mention Makefile.am.in.
61203         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
61204
61205 2002-07-01  Jim Meyering  <meyering@lucent.com>
61206
61207         * lib/c-stack.c: Include sys/time.h.
61208         From Volker Borchert.
61209
61210 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61211
61212         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
61213
61214 2002-06-26  Paul Eggert  <eggert@twinsun.com>
61215
61216         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
61217         New macro.  Use it uniformly instead of
61218         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
61219         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
61220         reported by Vin Shelton.
61221
61222 2002-06-22  Paul Eggert  <eggert@twinsun.com>
61223
61224         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
61225         Do not assume SA_SIGINFO behavior.
61226         Bug reported by Jim Meyering on NetBSD 1.5.2.
61227
61228 2002-06-22  Jim Meyering  <meyering@lucent.com>
61229
61230         * m4/c-stack.m4: New file, from diffutils-2.8.2.
61231         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
61232
61233         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
61234         now that configure.ac uses AC_GNU_SOURCE.
61235         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
61236         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
61237
61238         Update to latest tools.  Suggestions from Paul Eggert.
61239         * m4/stdbool.m4: New file, from diffutils-2.8.2.
61240         * m4/gnu-source.m4: Update from diffutils-2.8.2.
61241         * m4/fnmatch.m4: Likewise.
61242         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
61243         to AC_HEADER_STDBOOL
61244
61245 2002-06-22  Jim Meyering  <meyering@lucent.com>
61246
61247         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
61248         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
61249
61250 2002-06-22  Jim Meyering  <meyering@lucent.com>
61251
61252         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
61253
61254         * lib/exitfail.c, exitfail.h: Likewise.
61255         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
61256
61257         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
61258         of fnmatch.h.
61259         (EXTRA_DIST): Add fnmatch_loop.c.
61260         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
61261
61262         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
61263         * lib/fnmatch.c: Update from diffutils-2.8.2.
61264         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
61265         * lib/fnmatch.h: Remove file.
61266
61267 2002-06-21  Jim Meyering  <meyering@lucent.com>
61268
61269         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
61270         * m4/mbrtowc.m4: Likewise.
61271
61272         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
61273         * m4/mbswidth.m4: Reflect name change:
61274         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
61275         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
61276
61277         * m4/lib-link.m4: Update from gettext-0.11.2.
61278         * m4/gettext.m4: Likewise.
61279
61280         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
61281         From Alfred M. Szmidt.
61282
61283 2002-06-18  Paul Eggert  <eggert@twinsun.com>
61284
61285         * lib/file-type.h: Report an error if neither S_ISREG nor
61286         S_IFREG is defined, instead of using a test specific to glibc
61287         2.2.  This should be safe, since POSIX requires S_ISREG and
61288         Unix Version 7 had S_IFREG.  We don't need to check for
61289         <sys/types.h> since we don't use any symbols that it defines.
61290
61291 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
61292
61293         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
61294         $@-t, so that each temporary file name is unique and valid in the first
61295         8 characters, for operation under DOS.
61296
61297 2002-06-15  Paul Eggert  <eggert@twinsun.com>
61298
61299         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
61300
61301 2002-06-15  Jim Meyering  <meyering@lucent.com>
61302
61303         Work even with DJGPP 2.03, which lacks support for symlinks.
61304         From Richard Dawe.
61305         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
61306         is defined.
61307         * lib/lchown.c (S_ISLNK): Likewise.
61308
61309 2002-06-15  Jim Meyering  <meyering@lucent.com>
61310
61311         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
61312         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
61313         have been included before this file.
61314
61315 2002-06-14  Jim Meyering  <meyering@lucent.com>
61316
61317         * lib/file-type.h: Use the version from diffutils-2.8.2.
61318         * lib/file-type.c: Likewise.
61319
61320 2002-06-07  Jim Meyering  <meyering@lucent.com>
61321
61322         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
61323         They're needed at least for NetBSD 1.5.2.
61324         ($statxfs_includes): Include those same headers.
61325         ($statxfs_includes): Include sys/vfs.h if available.
61326         ($statxfs_includes): Likewise for sys/statvfs.h.
61327         Check for the following members in both structs statfs and statvfs:
61328         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
61329
61330 2002-06-01  Jim Meyering  <meyering@lucent.com>
61331
61332         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
61333         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
61334
61335 2002-05-28  Jim Meyering  <meyering@lucent.com>
61336
61337         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
61338         Reported by Volker Borchert.
61339
61340 2002-05-27  Jim Meyering  <meyering@lucent.com>
61341
61342         Fix a problem seen only on nonconforming systems whereby ls.c's
61343         use of localtime, and then of gettimeofday would cause trouble:
61344         the localtime call used to initialize rpl_gettimeofday's save
61345         mechanism would clobber ls's current local time information so
61346         that in any long listing the first file would always be listed
61347         with date 1970-01-01.  Analysis by Volker Borchert.
61348
61349         * lib/gettimeofday.c (localtime): Undefine.
61350         (rpl_localtime): New function.
61351
61352 2002-05-27  Jim Meyering  <meyering@lucent.com>
61353
61354         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
61355         localtime.
61356
61357         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
61358         use the replacement function; it wouldn't resolve at link time.
61359         Reported by Volker Borchert.
61360
61361 2002-05-22  Jim Meyering  <meyering@lucent.com>
61362
61363         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
61364         file-type.h.
61365         * lib/file-type.h: New file.
61366         * lib/file-type.c (file_type): New file/function.  Extracted from
61367         diffutils.
61368
61369 2002-04-30  Jim Meyering  <meyering@lucent.com>
61370
61371         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
61372
61373 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61374
61375         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
61376
61377 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61378
61379         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
61380         Do not check for alloca.h (no longer used) or stdbool.h (was never
61381         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
61382
61383 2002-04-29  Paul Eggert  <eggert@twinsun.com>
61384
61385         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
61386
61387 2002-04-29  Jim Meyering  <meyering@lucent.com>
61388
61389         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
61390         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
61391         Use AC_FUNC_STRNLEN here instead.
61392
61393         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
61394         With autoconf-2.53a, it's part of AC_PROG_CC.
61395
61396 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61397
61398         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
61399         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
61400
61401 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61402
61403         * lib/sig2str.h, lib/sig2str.c: New files.
61404         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
61405
61406 2002-04-28  Paul Eggert  <eggert@twinsun.com>
61407
61408         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
61409         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
61410         of 127, since 64 is the largest conceivable number for ancient
61411         nonstandard hosts.
61412         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
61413
61414 2002-04-28  Jim Meyering  <meyering@lucent.com>
61415
61416         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
61417
61418 2002-04-24  Jim Meyering  <meyering@lucent.com>
61419
61420         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
61421         (jm_PREREQ): Use it.
61422
61423         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
61424         mach/mach.h fcntl.h.
61425         Check for this function: setlocale.
61426
61427 2002-04-24  Jim Meyering  <meyering@lucent.com>
61428
61429         * lib/gettext.h: New file, from Gettext.
61430         * lib/Makefile.am (INCLUDES): Remove -I../intl.
61431         (libfetish_a_SOURCES): Add gettext.h.
61432
61433 2002-04-16  Jim Meyering  <meyering@lucent.com>
61434
61435         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
61436         ut_pid, ut_id, ut_exit.
61437
61438 2002-04-16  Jim Meyering  <meyering@lucent.com>
61439
61440         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
61441         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
61442         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
61443
61444 2002-04-12  Jim Meyering  <meyering@lucent.com>
61445
61446         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
61447         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
61448         existence of the getmntinfo function.  Needed for Darwin 5.3.
61449
61450         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
61451         This is necessary at least on Darwin 5.3.
61452
61453         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
61454         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
61455         strnlen.o in the library, and that makes some versions of ranlib
61456         object.
61457
61458 2002-04-12  Jim Meyering  <meyering@lucent.com>
61459
61460         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
61461
61462 2002-04-09  Jim Meyering  <meyering@lucent.com>
61463
61464         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
61465         to be more precise.  Rather than saying we're checking whether the
61466         function `works', say what we're testing.
61467         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
61468         Reported by Bruno Haible.
61469
61470 2002-03-10  Jim Meyering  <meyering@lucent.com>
61471
61472         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
61473         Suggestion from Santiago Vila.
61474
61475 2002-03-08  Jim Meyering  <meyering@lucent.com>
61476
61477         * lib/rename.c: Mention that this wrapper is needed also on
61478         mips-dec-ultrix4.4 systems.
61479
61480 2002-03-02  Jim Meyering  <meyering@lucent.com>
61481
61482         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
61483         not HAVE_CLOCK_SETTIME.
61484
61485 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61486
61487         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
61488         Check for clock_settime.
61489
61490 2002-02-27  Paul Eggert  <eggert@twinsun.com>
61491
61492         * lib/nanosleep.h: Rename to....
61493         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
61494
61495         * lib/gettime.c: New file.
61496         * lib/settime.c: New file.
61497         * lib/stime.c: Remove.
61498
61499         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
61500         timespec.h.  Remove nanosleep.h.
61501
61502 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61503
61504         * m4/acl.m4: New file.
61505         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
61506         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
61507
61508 2002-02-25  Paul Eggert  <eggert@twinsun.com>
61509
61510         * lib/acl.c, lib/acl.h: New files.
61511         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
61512
61513 2002-02-24  Jim Meyering  <meyering@lucent.com>
61514
61515         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
61516         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
61517         cause trouble.  Reported by Nelson Beebe.
61518
61519 2002-02-23  Paul Eggert  <eggert@twinsun.com>
61520
61521         * lib/path-concat.c (xpath_concat): Reorder code to pacify
61522         compilers that don't know that xalloc_die never returns.
61523
61524 2002-02-20  Jim Meyering  <meyering@lucent.com>
61525
61526         * lib/getdate.c: Regenerate using bison-1.33.
61527
61528 2002-02-17  Jim Meyering  <meyering@lucent.com>
61529
61530         * config/config.guess (main): Don't use `head -1'; it's no longer
61531         portable. Use `sed 1q' instead.
61532
61533 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
61534
61535         * m4/codeset.m4: Upgrade to gettext-0.11.
61536         * m4/gettext.m4: Upgrade to gettext-0.11.
61537         * m4/glibc21.m4: Upgrade to gettext-0.11.
61538         * m4/iconv.m4: Upgrade to gettext-0.11.
61539         * m4/isc-posix.m4: Upgrade to gettext-0.11.
61540         * m4/lcmessage.m4: Upgrade to gettext-0.11.
61541         * m4/lib-ld.m4: New file, from gettext-0.11.
61542         * m4/lib-link.m4: New file, from gettext-0.11.
61543         * m4/lib-prefix.m4: New file, from gettext-0.11.
61544         * m4/progtest.m4: Upgrade to gettext-0.11.
61545
61546 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61547
61548         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
61549         (jm_PREREQ): Use it.
61550
61551 2002-02-15  Paul Eggert  <eggert@twinsun.com>
61552
61553         * lib/posixver.c, lib/posixver.h: New files.
61554         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61555
61556 2002-02-02  Paul Eggert  <eggert@twinsun.com>
61557             Bruno Haible  <bruno@clisp.org>
61558
61559         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
61560         (fwrite_success_callback): New declaration.
61561         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
61562         print_unicode_char. Call failure callback instead of error.
61563         (fwrite_success_callback): New function.
61564         (exit_failure_callback): New function.
61565         (fallback_failure_callback): New function.
61566         (print_unicode_char): Call unicode_to_mb.
61567
61568 2002-01-26  Jim Meyering  <meyering@lucent.com>
61569
61570         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
61571         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
61572
61573 2002-01-26  Jim Meyering  <meyering@lucent.com>
61574
61575         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
61576
61577 2002-01-22  Paul Eggert  <eggert@twinsun.com>
61578
61579         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
61580
61581 2002-01-22  Jim Meyering  <meyering@lucent.com>
61582
61583         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
61584         Otherwise, some versions of automake would omit the rule that makes
61585         Makefile from Makefile.in.
61586
61587 2002-01-21  Paul Eggert  <eggert@twinsun.com>
61588
61589         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
61590         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
61591         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
61592         (memcoll): Set errno to zero if there is no error.
61593
61594         * lib/quotearg.c (quotearg_buffer_restyled):
61595         Fix bug with quoting buffers containing NUL when backslashing escapes.
61596         This bug was exposed by the other changes in this patch.
61597         (quotearg_n_options): New arg ARGSIZE.
61598         All callers changed.
61599         (quoting_options_from_style): New function.
61600         (quotearg_n_style): Use it.
61601         (quotearg_n_style_mem): New function.
61602
61603         * lib/quotearg.h (quotearg_n_style_mem): New function.
61604
61605 2002-01-19  Jim Meyering  <meyering@lucent.com>
61606
61607         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
61608         Remove useless quotes: DF_PROG="df".
61609         * m4/strnlen.m4: New file.
61610
61611 2002-01-16  Paul Eggert  <eggert@twinsun.com>
61612
61613         * lib/backupfile.c (ISDIGIT): Comment fix.
61614         * lib/getdate.y (ISDIGIT): Likewise.
61615         * lib/posixtm.c (ISDIGIT, year): Likewise.
61616         * lib/strverscmp.c (ISDIGIT): Likewise.
61617         * lib/userspec.c (ISDIGIT): Likewise.
61618
61619 2002-01-16  Jim Meyering  <meyering@lucent.com>
61620
61621         * lib/getdate.y: Add three semicolons, each just before a closing
61622         brace. Bison (as of version 1.31) no longer papers over that mistake.
61623
61624 2002-01-05  Jim Meyering  <meyering@lucent.com>
61625
61626         * lib/version-etc.c (version_etc_copyright): Update copyright year.
61627
61628 2001-12-19  Paul Eggert  <eggert@twinsun.com>
61629
61630         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
61631         not silently exit merely because the output buffer happens to
61632         have nothing pending.
61633
61634 2001-12-18  Paul Eggert  <eggert@twinsun.com>
61635
61636         See the big note in ../ChangeLog.
61637         * lib/human.c (suffixes): Prefer K to k for 1024.
61638         (generate_suffix_backwards): New function.
61639         (human_readable_inexact): Use it.
61640         * lib/xstrtol.c (__xstrtol): If there is no number but there
61641         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
61642         Accept 'K' as well as 'k'.
61643
61644 2001-12-15  Jim Meyering  <meyering@lucent.com>
61645
61646         * lib/regex.h (__restrict_arr): Update from libc.
61647
61648         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
61649         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
61650         (STREQ): Define.
61651
61652 2001-12-14  Jim Meyering  <meyering@lucent.com>
61653
61654         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
61655         Suggestion from Bruno Haible.
61656
61657 2001-12-10  Jim Meyering  <meyering@lucent.com>
61658
61659         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
61660         xrealloc, Instead, include "xalloc.h".
61661         (initbuffer): Don't cast xmalloc return value to char*.
61662         (readline): Reword comment.
61663         Don't cast xrealloc return value to char*
61664         Return NULL, not 0.
61665
61666 2001-12-09  Jim Meyering  <meyering@lucent.com>
61667
61668         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
61669         about `signed and unsigned type in conditional expression'.
61670         * lib/posixtm.c (posix_time_parse): Likewise.
61671
61672         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
61673
61674         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
61675         to avoid a pedantic warning.
61676
61677         * lib/getstr.c: Don't include assert.h.
61678         (getstr): Remove warning-evoking assertions.
61679         Return -1 if offset parameter is out of bounds.
61680         Change the type of a local from int to size_t.
61681
61682         * lib/strftime.c (my_strftime_localtime_r): Include this function
61683         definition in the `#if ! HAVE_TM_GMTOFF' block.
61684
61685         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
61686         Include xalloc.h instead.
61687
61688 2001-12-02  Jim Meyering  <meyering@lucent.com>
61689
61690         * lib/tempname.c: Don't declare getenv, thus reverting the change of
61691         2001-11-18.  It's no longer necessary, now that stdlib.h is always
61692         included.
61693
61694         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
61695         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
61696
61697 2001-11-30  Akim Demaille  <akim@epita.fr>
61698
61699         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
61700         before being defined.
61701
61702 2001-11-27  Paul Eggert  <eggert@twinsun.com>
61703
61704         * lib/quotearg.h (quotearg_n, quotearg_n_style):
61705         First arg is int, not unsigned.
61706         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
61707         (SIZE_MAX, UINT_MAX): New macros.
61708         (quotearg_n_options): Abort if N is negative.
61709         Avoid overflow check on hosts where size_t is 64 bits and int
61710         is 32 bits, as overflow is impossible there.
61711         Fix off-by-one typo that caused unnecessary reallocation.
61712
61713 2001-11-27  Jim Meyering  <meyering@lucent.com>
61714
61715         * lib/tempname.c: Merge with version from libc.
61716         * lib/regex.c: Likewise.
61717
61718         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
61719         systems for which STDC_HEADERS is 0, it was not included, resulting in
61720         a warning about an integer-to-pointer conversion problem with getenv.
61721         Reported by Volker Borchert.
61722
61723 2001-11-26  Jim Meyering  <meyering@lucent.com>
61724
61725         * lib/gtod.h: Remove file.
61726         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
61727         * lib/gettimeofday.c: Don't include gtod.h.
61728         (GTOD_init): Remove function.
61729         (rpl_gettimeofday): Do its job here instead, rather than aborting.
61730         Suggestion from Volker Borchert.
61731
61732 2001-11-23  Jim Meyering  <meyering@lucent.com>
61733
61734         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
61735         it.
61736         * lib/hash.c (struct hash_table): Define it here instead.
61737
61738 2001-11-22  Jim Meyering  <meyering@lucent.com>
61739
61740         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
61741
61742 2001-11-20  Jim Meyering  <meyering@lucent.com>
61743
61744         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
61745         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
61746
61747 2001-11-19  Jim Meyering  <meyering@lucent.com>
61748
61749         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
61750         directory.  Use "conftestXXXXXX" as the template.
61751         Suggestion from Paul Eggert.
61752
61753         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
61754         immediately, so the test doesn't mistakenly hit the max-open-files
61755         limit.
61756
61757 2001-11-18  Paul Eggert  <eggert@twinsun.com>
61758
61759         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
61760         (TEMPORARIES): New macro.
61761         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
61762         removes an artificial limitation (e.g. HP-UX 10.20, where
61763         TMP_MAX is 17576).
61764
61765 2001-11-18  Jim Meyering  <meyering@lucent.com>
61766
61767         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
61768
61769 2001-11-18  Jim Meyering  <meyering@lucent.com>
61770
61771         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
61772         on SunOS 4.
61773
61774         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
61775         files will be created before anything else.
61776
61777 2001-11-17  Paul Eggert  <eggert@twinsun.com>
61778
61779         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
61780         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
61781
61782 2001-11-17  Jim Meyering  <meyering@lucent.com>
61783
61784         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
61785         Prompted by a report from Bob Proulx.
61786
61787         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
61788         Instead, require UTILS_FUNC_MKSTEMP.
61789
61790 2001-11-17  Jim Meyering  <meyering@lucent.com>
61791
61792         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
61793         Now, that's done as part of AC_FUNC_STRTOD.
61794
61795 2001-11-17  Jim Meyering  <meyering@lucent.com>
61796
61797         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
61798         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
61799         rather than group writable.  Patch by Juan F. Codagnone.
61800
61801         * lib/readtokens.c: Remove explicit declarations of xmalloc and
61802         xrealloc, Instead, include "xalloc.h".
61803
61804         * lib/mountlist.c: Include unlocked-io.h after all system headers.
61805         Remove explicit declarations of xmalloc, xrealloc,
61806         and xstrdup.  Instead, include "xalloc.h".
61807
61808         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
61809         unlocked-io.h.
61810         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
61811         Likewise.
61812         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
61813
61814         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
61815         Reported by Padraig Brady.
61816
61817         * lib/mkstemp.c: #undef mkstemp.
61818         Include config.h.
61819         (rpl_mkstemp): Rename from mkstemp.
61820         Protoize.
61821
61822 2001-11-16  Jim Meyering  <meyering@lucent.com>
61823
61824         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
61825         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
61826         determine the amount of total physical memory, use pstat_getstatic.
61827         HPUX-11 doesn't define _SC_PHYS_PAGES.
61828         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
61829         If sysconf couldn't be used to determine the amount of available
61830         physical memory, use both pstat_getstatic and pstat_getdynamic.
61831         Based on a patch from Bob Proulx.
61832
61833 2001-11-10  Jim Meyering  <meyering@lucent.com>
61834
61835         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
61836         (jm_PREREQ): Use it.
61837
61838 2001-11-09  Jim Meyering  <meyering@lucent.com>
61839
61840         * m4/jm-macros.m4: Require autoconf-2.52f.
61841         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
61842         Use these AC_-prefixed names, not the AM_-prefixed ones.
61843
61844         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
61845
61846 2001-11-05  Jim Meyering  <meyering@lucent.com>
61847
61848         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
61849
61850 2001-11-04  Jim Meyering  <meyering@lucent.com>
61851
61852         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
61853         $DEFS.
61854
61855 2001-11-03  Jim Meyering  <meyering@lucent.com>
61856
61857         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
61858         of AC_DEFUN.
61859
61860         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
61861         know the name of the variable in the macro definition.
61862
61863 2001-11-03  Jim Meyering  <meyering@lucent.com>
61864
61865         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
61866         in argmatch_to_argument call.
61867
61868         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
61869         argument.
61870
61871         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
61872         e.g., a fault due to an attempt to free a NULL pointer.
61873
61874 2001-11-01  Jim Meyering  <meyering@lucent.com>
61875
61876         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
61877         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
61878
61879 2001-11-01  Jim Meyering  <meyering@lucent.com>
61880
61881         * lib/dirfd.c, lib/dirfd.h: New files.
61882         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
61883
61884         * lib/hash.c (hash_print) [TESTING]: Clean up.
61885
61886 2001-10-22  Paul Eggert  <eggert@twinsun.com>
61887
61888         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
61889         to avoid a warning if -Wall.
61890
61891 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
61892
61893         * README: New file
61894         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
61895         (per RMS's instructions, this is now the canonical source)
61896         * lgpl/, gpl/: New directories.
61897
61898 2001-10-21  Paul Eggert  <eggert@twinsun.com>
61899
61900         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
61901
61902 2001-10-21  Jim Meyering  <meyering@lucent.com>
61903
61904         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
61905         this code would end up calling gettext even in packages built
61906         with --disable-nls.
61907         * lib/getopt.c (_): Likewise.
61908         * lib/regex.c (_): Likewise.
61909
61910 2001-10-20  Paul Eggert  <eggert@twinsun.com>
61911
61912         * m4/error.m4 (jm_PREREQ_ERROR):
61913         Do not invoke AC_CHECK_FUNCS with strerror_r, as
61914         AC_FUNC_STRERROR_R does that.
61915         Check for strerror declaration.
61916
61917         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
61918         are supposed to have them these days.
61919         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
61920         Merge changes from latest Autoconf CVS.
61921         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
61922         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
61923         POSIX decided to standardize on the int flavor of strerror_r.
61924
61925 2001-10-20  Paul Eggert  <eggert@twinsun.com>
61926
61927         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
61928         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
61929         Use strerror_r that is only a macro, even if it is not a function.
61930         (strerror): Check for HAVE_DECL_STRERROR before declaring.
61931         (private_strerror): Use prototypes, not old-style function definition.
61932         (print_errno_message): New function.
61933         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
61934         char*-flavored one.
61935         (error_tail, error, error_at_line): Use it.
61936
61937 2001-10-11  Jim Meyering  <meyering@lucent.com>
61938
61939         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
61940         and quote_n (1, ... to avoid clobbering a buffer.
61941
61942 2001-10-05  Jim Meyering  <meyering@lucent.com>
61943
61944         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
61945         hash-pjw.h.
61946         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
61947         * lib/hash-pjw.h: New file.
61948
61949 2001-09-30  Jim Meyering  <meyering@lucent.com>
61950
61951         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
61952         `struct fsstat' has the `f_fstypename' member.
61953         Use that to define FS_TYPE, which is now used to make
61954         the getfsstat link test tighter.
61955
61956 2001-09-30  Jim Meyering  <meyering@lucent.com>
61957
61958         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
61959         Include <sys/ucred.h>, for Apple Darwin.
61960         Include sys/mount.h and sys/fs_types.h only if available.
61961         (FS_TYPE): Define.
61962         (read_filesystem_list): Use FS_TYPE.
61963
61964 2001-09-29  Paul Eggert  <eggert@twinsun.com>
61965
61966         * lib/exclude.c (excluded_filename): 0 -> false, since it's
61967         a boolean context.
61968
61969 2001-09-29  Jim Meyering  <meyering@lucent.com>
61970
61971         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
61972         [one-argument getmntent function]): Include stdio.h before mntent.h.
61973         SunOS 4.1.x needs it for the declaration of `FILE'.
61974         Patch by Volker Borchert.
61975
61976         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
61977         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
61978         sys/fs_types.h, and make the link-test for getfsstat guard #include
61979         directives with appropriate #if HAVE_*_H tests so that we can
61980         detect getfsstat on Apple Darwin1.3.7 systems.
61981         Reported by Nelson Beebe.
61982         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
61983
61984 2001-09-28  Paul Eggert  <eggert@twinsun.com>
61985
61986         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
61987         #defines strtoimax.  Also treat the other strto* functions
61988         like strtoimax.
61989
61990         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
61991         Check for strtoul and strtoumax,
61992         as those declarations are made even in the signed case.
61993         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
61994         Likewise, for strtol and strtoimax.
61995
61996 2001-09-28  Paul Eggert  <eggert@twinsun.com>
61997
61998         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
61999         #defines strtoimax.  Also treat the other strto* functions
62000         like strtoimax.
62001
62002         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
62003         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
62004         (strtoimax, strtoumax): Do not declare if already defined as a macro.
62005
62006 2001-09-26  Jim Meyering  <meyering@lucent.com>
62007
62008         Most macros in unlocked-io.h had the wrong number of arguments.
62009         * lib/gen-uio: New script.
62010         (USE_UNLOCKED_IO): Define to 1 if not already defined.
62011         * lib/unlocked-io.hin: Remove file.
62012         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
62013         rather than trying to embed it here.
62014         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
62015         Reported by Padraig Brady.
62016
62017 2001-09-25  Volker Borchert  <bt@teknon.de>
62018
62019         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
62020         `result'.
62021
62022 2001-09-24  Jim Meyering  <meyering@lucent.com>
62023
62024         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
62025
62026 2001-09-23  Jim Meyering  <meyering@lucent.com>
62027
62028         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
62029         instead of the mere test for existence of mntent.h.  The latter
62030         would get a false-positive on AIX 3.4 systems.
62031         In the outer getmntent if-block, don't die if neither of the getmntent
62032         tests succeeds.  Instead, just fall through and continue with the
62033         remaining tests.
62034
62035 2001-09-23  Jim Meyering  <meyering@lucent.com>
62036
62037         * lib/mountlist.c: Remove useless parentheses in #if directives.
62038         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
62039         the deprecated MOUNTED symbol is no longer defined in mntent.h.
62040
62041 2001-09-22  Jim Meyering  <meyering@lucent.com>
62042
62043         * m4/gettext.m4: New file.  From gettext.
62044         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
62045         * m4/progtest.m4: Likewise
62046         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
62047         * m4/glibc21.m4: Likewise.
62048
62049         * m4/libintl.m4: Remove.  No longer used.
62050
62051 2001-09-22  Jim Meyering  <meyering@lucent.com>
62052
62053         * lib/localcharset.c: Update from latest gettext.
62054         * lib/config.charset: Likewise.
62055
62056 2001-09-20  Jim Meyering  <meyering@lucent.com>
62057
62058         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
62059         strtoimax.
62060         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
62061         strtoumax.
62062
62063 2001-09-20  Jim Meyering  <meyering@lucent.com>
62064
62065         * lib/xstrtol.c (strtoimax): Guard declaration with
62066         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
62067         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
62068         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
62069         (strtoumax): Likewise, for completeness (it wasn't necessary).
62070
62071 2001-09-17  Paul Eggert  <eggert@twinsun.com>
62072
62073         * lib/strtoimax.c (HAVE_LONG_LONG):
62074         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
62075         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
62076         to work around bug in IBM C compiler.
62077
62078 2001-09-17  Jim Meyering  <meyering@lucent.com>
62079
62080         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
62081         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
62082         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
62083         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
62084         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
62085         whenever the right hand side need not be expanded by the shell.
62086
62087 2001-09-16  Paul Eggert  <eggert@twinsun.com>
62088
62089         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
62090         library.  It's not correct, as some older glibcs are buggy.
62091         fnmatch wasn't fixed until glibc 2.2.
62092
62093         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
62094         special shell magic here.
62095
62096 2001-09-16  Jim Meyering  <meyering@lucent.com>
62097
62098         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
62099         * m4/jm-macros.m4: Require it.
62100
62101 2001-09-16  Jim Meyering  <meyering@lucent.com>
62102
62103         * lib/mkdir.c: New file.
62104
62105 2001-09-15  Jim Meyering  <meyering@lucent.com>
62106
62107         * m4/jm-macros.m4: Check for help2man.
62108
62109 2001-09-11  Jim Meyering  <meyering@lucent.com>
62110
62111         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
62112         The body, by Paul Eggert, was moved here from configure.in.
62113         * m4/jm-macros.m4: Require UTILS_HOST_OS.
62114
62115 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62116
62117         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
62118         (jm_PREREQ): Use it.
62119
62120 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62121
62122         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
62123         Use ssize_t, not int, to store result of readlink.
62124         Check for ssize_t overflow as well as size_t overflow,
62125         as POSIX says the result of readlink is implementation-defined
62126         when ssize_t overflows.
62127         Remove unnecessary cast to char*.
62128         Use free+malloc instead of realloc, as the storage doesn't need
62129         to be preserved and it's clearer and can be more efficient that way.
62130         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
62131         * lib/xreadlink.h (xreadlink): Update prototype.
62132
62133 2001-09-04  Paul Eggert  <eggert@twinsun.com>
62134
62135         * lib/xgetcwd.c: Revert some of the previous change; intead,
62136         fix the HAVE_GETCWD_NULL code to behave more like the
62137         !HAVE_GETCWD_NULL code used to.
62138
62139         Include "xalloc.h".
62140         (xgetcwd): Do not return NULL when memory is exhausted; instead,
62141         invoke xalloc_die.
62142
62143 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62144
62145         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
62146         sys/param.h, as pathmax.h includes them.
62147
62148 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62149
62150         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
62151         (jm_PREREQ_XGETCWD): New macro.
62152
62153         * m4/getcwd.m4: New file.
62154
62155 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62156
62157         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
62158         like the HAVE_GETCWD_NULL code.
62159         Include pathmax.h if not HAVE_GETCWD.
62160         Do not include xalloc.h.
62161         (INITIAL_BUFFER_SIZE): New symbol.
62162         Do not use xmalloc / xrealloc, since the caller is responsible for
62163         handling errors.  Preserve errno around `free' during failure.
62164         Do not overrun buffer when using getwd.
62165
62166 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62167
62168         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
62169         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
62170         getcwd (NULL, 0).
62171
62172 2001-09-03  Paul Eggert  <eggert@twinsun.com>
62173
62174         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
62175         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
62176         spotted by Jim Meyering.
62177
62178 2001-09-03  Jim Meyering  <meyering@lucent.com>
62179
62180         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
62181         failure.
62182
62183 2001-09-02  Jim Meyering  <meyering@lucent.com>
62184
62185         * lib/error.c: Update from GNU libc.
62186
62187 2001-09-01  Jim Meyering  <meyering@lucent.com>
62188
62189         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
62190         Used by df.
62191
62192 2001-09-01  Jim Meyering  <meyering@lucent.com>
62193
62194         * lib/xreadlink.c: New file.
62195         * lib/xreadlink.h: New file.
62196         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
62197         xreadlink.h.
62198
62199         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
62200         doesn't conflict with sparc Solaris 7's definition in
62201         /usr/include/sys/int_types.h.
62202
62203         * lib/exclude.c: Use `""', not `<>' to #include non-system header
62204         files.
62205         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
62206         and strncasecmp as r-values.  Unixware didn't have declarations.
62207
62208 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62209
62210         * lib/xstrtol.h: Add copyright notice.
62211         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
62212         LONGINT_INVALID_SUFFIX_CHAR.
62213
62214 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62215
62216         * lib/xstrtol.c (strtoimax): New decl.
62217
62218 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62219
62220         * lib/xgetcwd.c: Don't include pathmax.h.
62221         Include stdlib.h and unistd.h if available.
62222         Include xalloc.h.
62223         (xmalloc, xstrdup, free): Remove decls.
62224         (xgetcwd): Don't assume sizes fit in unsigned.
62225         Check for overflow when computing sizes.
62226         Simplify reallocation code.
62227
62228 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62229
62230         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
62231         a directory's st_size can have an arbitrary value, so the old
62232         usage could waste an arbitrary amount of memory.  All uses
62233         changed.
62234         * lib/savedir.h: Update prototype.
62235
62236 2001-08-31  Paul Eggert  <eggert@twinsun.com>
62237
62238         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
62239
62240         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
62241         old strtoimax.c.
62242
62243         Also, make the following further changes to make this file's
62244         configuration more similar to that of strtol.c:
62245         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
62246         (strtoumax, uintmax_t, strtoull, strtol): Remove.
62247         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
62248         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
62249         changed to signed values.
62250
62251         And make the following changes as well:
62252         Fix copyright notice, as 1999 was missing.
62253         (verify): New macro.
62254         (strtoimax): Check sizes at compile-time, not run-time.
62255         Prefer strtol to strtoll if both work.
62256         (main): Remove; it was not that useful and was a pain to maintain.
62257
62258         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
62259
62260 2001-08-31  Jim Meyering  <meyering@lucent.com>
62261
62262         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
62263         Use an initial, malloc'd, buffer of length 128 rather than
62264         a statically allocated one of length 1024.
62265
62266 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62267
62268         Simplify code, partly by assuming autoconf 2.52 semantics.
62269
62270         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
62271
62272         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
62273         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
62274         All uses removed.
62275         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
62276         Move AC_REQUIRE to next-to-top level, to avoid confusion.
62277         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
62278         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
62279         jm_AC_HEADER_INTTYPES_H.
62280         * m4/jm-macros.m4 (jm_MACROS): Likewise.
62281
62282         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
62283
62284         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
62285         Quote first arg of AC_DEFUN.
62286         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
62287         since they are needed to parse the include file even if we need
62288         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
62289         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
62290         but with opposite signedness.
62291
62292 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62293
62294         Merge 'exclude' changes from tar 1.13.22.
62295         This fixes one or two unlikely storage allocation overflow bugs,
62296         but doesn't change user-visible behavior otherwise.
62297
62298 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62299
62300         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
62301         (jm_PREREQ_EXCLUDE): New macro.
62302
62303 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62304
62305         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
62306         tm to be declared.
62307
62308 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62309
62310         * lib/hash.c: Remove '2001' from copyright notice.
62311
62312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62313
62314         * lib/full-write.h: New file.
62315         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
62316         * lib/full-write.c: Correct credits, as cccp.c no longer
62317         exists and anyway it was so heavily changed from the old cccp
62318         code as to be unrecognizable.  Include full-write.h.
62319         (full_write) Return size_t, with short writes meaning failure.
62320         All callers changed.  This fixes a bug with large buffers
62321         on 64-bit hosts.
62322         * lib/utime.c: Include full-write.h.
62323
62324 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62325
62326         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
62327         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
62328         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
62329         Include if available.
62330         (<xalloc.h>): Include
62331         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
62332         (verify): New macro.  Use it to verify that EXCLUDE macros do not
62333         collide with FNM macros.
62334         (struct patopts): New struct.
62335         (struct exclude): Use it, as exclude patterns now come with options.
62336         (new_exclude): Support above changes.
62337         (new_exclude, add_exclude_file):
62338         Initial size must now be a power of two to simplify overflow checking.
62339         (free_exclude, fnmatch_no_wildcards): New function.
62340         (excluded_filename): No longer requires options arg, as the options
62341         are determined by add_exclude.  Now returns bool, not int.
62342         (excluded_filename, add_exclude):
62343         Add support for the fancy new exclusion options.
62344         (add_exclude, add_exclude_file): Now takes int options arg.
62345         Check for arithmetic overflow when computing sizes.
62346         (add_exclude_file): xrealloc might modify errno, so don't
62347         realloc until after errno might be used.
62348
62349         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
62350         New macros.
62351         (free_exclude): New decl.
62352         (add_exclude, add_exclude_file): Now takes int options arg.
62353         (excluded_filename): No longer requires options arg, as the options
62354         are determined by add_exclude.  Now returns bool, not int.
62355
62356 2001-08-30  Paul Eggert  <eggert@twinsun.com>
62357
62358         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
62359
62360 2001-08-27  Jim Meyering  <meyering@lucent.com>
62361
62362         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
62363
62364         * lib/version-etc.c (N_): Remove definition.
62365         Revert most of last change.
62366         Instead, simply don't mark the `Copyright...' string for translation.
62367         Based on advice from Paul Eggert.
62368
62369         * lib/strtoxmax.c: Tweak comment.
62370
62371 2001-08-26  Jim Meyering  <meyering@lucent.com>
62372
62373         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
62374
62375         * m4/xstrtoimax.m4: New file.
62376         * m4/xstrtoumax.m4: Add comments explaining why we
62377         AC_REPLACE_FUNCS(strtol).
62378
62379 2001-08-26  Jim Meyering  <meyering@lucent.com>
62380
62381         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
62382         of copyright with `%s' so translators don't get an untranslated
62383         message in 2002.
62384         (COPYRIGHT_YEAR): Define.
62385         (version_etc): Use fprintf rather than fputs.
62386         Suggestion from Ulrich Drepper.
62387
62388         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
62389
62390         * lib/strtoll.c: New file, from GNU libc.
62391         * lib/xstrtoimax.c: New file.
62392
62393         * lib/xstrtol.h: Add xstrtoimax.
62394         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
62395         * lib/strtoimax.c: New file.  Likewise, but first define
62396         STRTOUXMAX_SIGNED.
62397
62398         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
62399         ...
62400         * lib/strtoxmax.c: ... then renamed to this.
62401
62402 2001-08-18  Paul Eggert  <eggert@twinsun.com>
62403
62404         * m4/inttypes.m4: Add AC_PREREQ(2.13).
62405         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
62406         (jm_AC_TYPE_INTMAX_T): New macro.
62407         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
62408
62409         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
62410
62411         * m4/longlong.m4: Renamed from ulonglong.m4.
62412         * m4/inttypes.m4: Renamed from inttypes_h.m4.
62413         * m4/uintmax_t.m4: Removed.
62414
62415 2001-08-13  Paul Eggert  <eggert@twinsun.com>
62416
62417         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
62418         Port to Solaris 8, where 'sed' requires a space after the 'r'
62419         command, and where sh dislikes "$/".  Clean up the spacing a bit.
62420         Redirect output to $tmp just once.
62421
62422 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
62423
62424         * lib/addext.c (<errno.h>): Include.
62425         (errno): Declare if not defined.
62426         (addext): Work correctly when pathconf returns -1 and leaves
62427         errno alone because there is no limit.  Also, work even if
62428         pathconf returns a value greater than SIZE_MAX.
62429
62430 2001-08-12  Jim Meyering  <meyering@lucent.com>
62431
62432         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
62433         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
62434         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
62435         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
62436         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
62437         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
62438         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
62439         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
62440         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
62441         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
62442         utime.m4, utimes.m4, xstrtoumax.m4:
62443         Quote the first argument in each use of AC_DEFUN.
62444
62445 2001-08-12  Jim Meyering  <meyering@lucent.com>
62446
62447         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
62448         Simply `return getcwd (NULL, 0);'.
62449         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
62450         Use 1300 as initial value for length, not PATH_MAX.
62451
62452         * lib/pathmax.h: Clean up cpp syntax.
62453
62454 2001-08-12  Jim Meyering  <meyering@lucent.com>
62455
62456         * lib/gettimeofday.c: New file.
62457         * lib/gtod.h: New file.
62458         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
62459
62460 2001-08-05  Jim Meyering  <meyering@lucent.com>
62461
62462         * m4/jm-macros.m4: Require autoconf-2.52.
62463
62464 2001-08-04  Jim Meyering  <meyering@lucent.com>
62465
62466         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
62467         stmt, to get in sync with glibc.
62468
62469 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62470
62471         The following changes are from gettext 0.10.39 as maintained by
62472         Bruno Haible.
62473
62474         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
62475         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
62476         with inverted sense.  All uses changed.
62477
62478         * lib/mbswidth.c: Don't include <limits.h>.
62479         Include <stdlib.h> and <string.h> unconditionally.
62480         (iswcntrl, mbsinit, ISCNTRL): New macros.
62481         (mbsnwidth): Use K&R style function declarations.
62482         Don't bother checking for MB_LEN_MAX == 1, since the compiler
62483         can optimize it when MB_CUR_MAX == 1.
62484         The width of control characters is zero, not 1.
62485
62486 2001-08-03  Paul Eggert  <eggert@twinsun.com>
62487
62488         The following changes are from gettext 0.10.39 as maintained by
62489         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
62490
62491         * m4/codeset.m4: Upgrade to serial AM1.
62492         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
62493         all uses changed.  Quote first arg of AC_DEFUN.
62494         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
62495
62496         * m4/iconv.m4: Upgrade to serial AM2.
62497         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
62498         Add --with-libconv-prefix.
62499         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
62500         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
62501         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
62502         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
62503         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
62504
62505         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
62506         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
62507         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
62508         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
62509         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
62510         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
62511         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
62512         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
62513         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
62514
62515         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
62516         string.h any more.
62517
62518         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
62519         not the default value.
62520
62521         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
62522         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
62523         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
62524         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
62525         Also check for iswcntrl, used for wcwidth fallback.
62526         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
62527         to Autoconf 2.13.
62528
62529 2001-08-03  Jim Meyering  <meyering@lucent.com>
62530
62531         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
62532         as it was in the original.  Reported by Paul Eggert.
62533
62534 2001-07-16  Jim Meyering  <meyering@lucent.com>
62535
62536         * m4/gettimeofday.m4: New file.
62537         Prompted by a report from Bernhard Baehr.
62538
62539 2001-07-15  Jim Meyering  <meyering@lucent.com>
62540
62541         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
62542         stuff. Now it's in ../Makefile.cfg.
62543
62544 2001-07-15  Jim Meyering  <meyering@lucent.com>
62545
62546         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
62547         (BUILT_SOURCES): Add unlocked-io.h.
62548         (io_functions): Define.
62549         (unlocked-io.h): New rule.
62550         (DISTCLEANFILES): Add unlocked-io.h.
62551         (all-local): Depend on unlocked-io.h, to ensure it is created.
62552
62553         * lib/unlocked-io.hin: New file
62554
62555         * lib/regex.c: Update from glibc.
62556
62557 2001-07-05  Jim Meyering  <meyering@lucent.com>
62558
62559         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
62560         recommendation.
62561         (libfetish_a_SOURCES): Put all .h files here instead.
62562         Remove a thus-exposed (better checks in automake) duplicate and
62563         two unnecessary .h files.
62564
62565 2001-07-04  Jim Meyering  <meyering@lucent.com>
62566
62567         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
62568         that generates jm-glibc-io.m4 so that it doesn't trigger any make
62569         distcheck failure.
62570
62571 2001-07-02  Jim Meyering  <meyering@lucent.com>
62572
62573         The following changes were prompted by suggestions from Bruno Haible.
62574
62575         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
62576         is now generated.
62577         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
62578         definition of EXTRA_DIST.
62579         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
62580         ensure that the generated file is created/updated whenever the list
62581         of $(unlocked_functions) is changed.
62582         (jm-glibc-io.m4): New rule.
62583         (unlocked-io.h): New rule -- currently unused.
62584
62585 2001-06-24  Jim Meyering  <meyering@lucent.com>
62586
62587         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
62588         unmatched right bracket, rather than kludging it with an extra,
62589         falsely-matching quote in a comment.  Patch by Akim Demaille.
62590
62591 2001-06-11  Jim Meyering  <meyering@lucent.com>
62592
62593         * lib/regex.c: Update from GNU libc.
62594
62595 2001-05-27  Jim Meyering  <meyering@lucent.com>
62596
62597         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
62598         Check for ut_type in struct utmp.
62599
62600 2001-05-27  Jim Meyering  <meyering@lucent.com>
62601
62602         * lib/readutmp.h (UT_TYPE): Define.
62603
62604 2001-05-24  Jim Meyering  <meyering@lucent.com>
62605
62606         * lib/argmatch.c: Include "quote.h".
62607         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
62608         quote function.  Reported by Göran Uddeborg.
62609
62610 2001-05-22  Jim Meyering  <meyering@lucent.com>
62611
62612         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
62613         now that we use the package-supplied version unconditionally.
62614         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
62615
62616 2001-05-21  Jim Meyering  <meyering@lucent.com>
62617
62618         * m4/regex.m4: Change a couple backticks to single quotes to avoid
62619         shell syntax errors.
62620
62621 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
62622
62623         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
62624
62625 2001-05-20  Paul Eggert  <eggert@twinsun.com>
62626
62627         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
62628         Don't bother to check library strftime, since
62629         we'll be using our own my_strftime function anyway.
62630         Define my_strftime instead of strftime.
62631
62632 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
62633
62634         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
62635         which is not yet declared.
62636
62637 2001-05-15  Jim Meyering  <meyering@lucent.com>
62638
62639         * m4/regex.m4: Use proper quoting so brackets appear in the test
62640         program.
62641         Reported by, and with help from, Bruno Haible.
62642
62643 2001-05-13  Jim Meyering  <meyering@lucent.com>
62644
62645         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
62646         undefined.
62647
62648 2001-05-11  Paul Eggert  <eggert@twinsun.com>
62649
62650         dirname code cleanup.  base_name now behaves more compatibly
62651         with POSIX basename when given file names that have trailing
62652         slashes, and similarly for dir_name.  Add new primitives
62653         base_len and dir_len.  Put the directory-name-related decls
62654         into dirname.h.
62655
62656         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
62657         * lib/backupfile.c (base_name): Likewise.
62658         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
62659         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
62660         * lib/makepath.c (strip_trailing_slashes): Likewise.
62661         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
62662         ISSLASH): Likewise.
62663         * lib/rename.c (strip_trailing_slashes): Likewise.
62664         * lib/same.c (base_name): Likewise.
62665         * lib/stripslash.c (ISSLASH): Likewise.
62666
62667         * lib/addext.c: Include <dirname.h> after size_t is defined.
62668         * lib/backupfile.c: Likewise.
62669
62670         * lib/addext.c (addext): Use base_len to trim redundant
62671         trailing slashes instead of doing it ourselves.
62672         But do not trim the last slash if it is not redundant.
62673
62674         * lib/backupfile.c (find_backup_file_name,
62675         max_backup_version): Use base_len instead of rolling it ourselves.
62676         Handle the case of "" and (on DOS) "C:" correctly.
62677
62678         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
62679         needed. Include <string.h>, <dirname.h>.
62680         (base_name): Allow file names ending in slashes, other than names
62681         that are all slashes.  In this case, return the basename followed
62682         by the slashes.  This is more general, and can be used in places
62683         where the original base_name purposely had an assertion failure.
62684         (base_len): New function.
62685
62686         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
62687         Do not include <assert.h>; no longer needed.
62688         Include xalloc.h.
62689         (memrchr): Remove decl.
62690         (dir_name_r): Remove.
62691         (dir_len): Renamed from dirlen.  All callers changed.
62692         Rewrite in terms of base_name, for simplicity and consistency.
62693         (dir_name): Never return NULL.  All callers changed.
62694         Do not include <stdlib.h> in test program; no longer needed.
62695         return 0; is fine for test program.
62696
62697         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
62698         New macros.
62699         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
62700
62701         * lib/path-concat.c (path_concat): Use base_len to compute
62702         base length, not strlen; this means we cannot rely on memcpy
62703         to null-terminate.
62704
62705         * lib/same.c (STREQ): Remove.
62706         (same_name): Handle the case where the basename ends in trailing '/'.
62707
62708         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
62709         a slash was stripped.  Do not strip the last slash after a
62710         file system prefix.
62711
62712 2001-05-11  Paul Eggert  <eggert@twinsun.com>
62713
62714         * lib/Makefile.am (libfetish_a_SOURCES):
62715         Add strftime.c, since we now compile it on all hosts.
62716
62717         * lib/strftime.c (my_strftime):
62718         Define to nstrftime if emacs, but only if my_strftime is not defined.
62719         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
62720         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
62721         Add one more extra argument: a nanoseconds value.
62722         All uses changed.
62723         (ns): New macro.
62724         (my_strftime function): Add %N format.
62725         (emacs_strftimeu): Renamed from emacs_strftime,
62726         with extra ut argument.
62727
62728 2001-05-09  Paul Eggert  <eggert@twinsun.com>
62729
62730         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
62731
62732 2001-04-21  Jim Meyering  <meyering@lucent.com>
62733
62734         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
62735         doesn't interfere.
62736
62737 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
62738
62739         * m4/ftruncate.m4: Check for chsize.
62740         Link with ftruncate.o unconditionally if ftruncate is missing.
62741         This was required when cross-compiling to i586-mingw32msvc.
62742
62743 2001-04-08  Jim Meyering  <meyering@lucent.com>
62744
62745         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
62746         recomputed; that's necessary when the offset spans a DST transition.
62747         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
62748
62749 2001-04-02  Jim Meyering  <meyering@lucent.com>
62750
62751         * lib/regex.h, regex.c: Update from GNU libc.
62752
62753 2001-03-24  Jim Meyering  <meyering@lucent.com>
62754
62755         * m4/jm-macros.m4: Require autoconf-2.49d.
62756
62757 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
62758
62759         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
62760
62761 2001-03-19  Paul Eggert  <eggert@twinsun.com>
62762
62763         * lib/version-etc.c (version_etc_copyright): Update to 2001.
62764
62765 2001-03-17  Jim Meyering  <meyering@lucent.com>
62766
62767         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
62768         now that the version in autoconf is equivalent.
62769         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
62770
62771         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
62772         Suggestion from Akim Demaille.
62773
62774         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
62775         (jm_PREREQ_TEMPNAME): New function.
62776
62777 2001-03-16  Paul Eggert  <eggert@twinsun.com>
62778
62779         * lib/tempname.c (uint64_t): Define to uintmax_t if
62780         not defined, and if UINT64_MAX is not defined.
62781         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
62782         Reported by John David Anglin.
62783
62784 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
62785
62786         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
62787         resolve alias if codeset is empty.
62788         * lib/config.charset (BeOS): Use wildcard syntax.
62789
62790 2001-03-13  Jim Meyering  <meyering@lucent.com>
62791
62792         * lib/path-concat.c (path_concat)
62793         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
62794         concatenating e.g., `C:' and `foo'.
62795         From Bruno Haible.
62796
62797 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
62798
62799         * lib/localcharset.c (locale_charset): Don't use
62800         setlocale(LC_CTYPE,NULL). Don't return NULL.
62801         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
62802
62803 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
62804
62805         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
62806         support for DOS/DJGPP.
62807
62808 2001-03-01  Paul Eggert  <eggert@twinsun.com>
62809
62810         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
62811         lacks mkstemp.  Compile our own tempname.c if we compile our own
62812         mkstemp.c, as mkstemp relies on tempname.
62813
62814 2001-03-01  Jim Meyering  <meyering@lucent.com>
62815
62816         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
62817         AH_VERBATIM really does output its argument verbatim.
62818
62819 2001-02-28  Paul Eggert  <eggert@twinsun.com>
62820
62821         * lib/Makefile.am (libfetish_a_SOURCES):
62822         Add dup-safer.c, fopen-safer.c.
62823         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
62824
62825         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
62826         * lib/unistd-safer.h: New files.
62827
62828 2001-02-25  Paul Eggert  <eggert@twinsun.com>
62829
62830         The mkstemp replacement is taken from glibc 2.2.2, with some
62831         portability fixes for use outside glibc, as follows:
62832
62833         * lib/tempname.c (struct_stat64): New macro.
62834         (direxists, __gen_tempname): Use it.
62835         This avoids a portability problem with Solaris 8.
62836
62837         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
62838         (<stddef.h>, <stdint.h>, <string.h>):
62839         Include only if STDC_HEADERS || _LIBC.
62840         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
62841         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
62842         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
62843         (__set_errno): Define this macro if <errno.h> doesn't.
62844         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
62845         Define these macros if <stdio.h> doesn't.
62846         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
62847         Define these macros if <sys/stat.h>
62848         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
62849         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
62850         __xstat64): Define if not _LIBC.
62851         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
62852         (__gen_tempname): Invoke gettimeofday only if
62853         HAVE_GETTIMEOFDAY || _LIBC;
62854         otherwise, fall back on plain "time".
62855         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
62856
62857         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
62858
62859         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
62860
62861 2001-02-18  Paul Eggert  <eggert@twinsun.com>
62862
62863         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
62864
62865 2001-02-17  Paul Eggert  <eggert@twinsun.com>
62866
62867         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
62868         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
62869         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
62870         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
62871
62872 2001-02-17  Paul Eggert  <eggert@twinsun.com>
62873
62874         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
62875         Remove workaround macros for hosts that have mbrtowc but not
62876         mbstate_t, as we now insist on proper declarations for both
62877         before using mbrtowc.
62878
62879 2001-02-17  Jim Meyering  <meyering@lucent.com>
62880
62881         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
62882         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
62883         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
62884         UnixWare 7.1.1.
62885
62886         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
62887         rather than AC_CACHE_VAL.
62888
62889 2001-02-17  Jim Meyering  <meyering@lucent.com>
62890
62891         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
62892         around included file name.
62893
62894         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
62895
62896         * lib/strftime.c: Update from GNU libc (the only changes were to
62897         comments).
62898
62899 2001-02-17  Jim Meyering  <meyering@lucent.com>
62900
62901         * lib/regex.c: Update from libc.
62902
62903 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
62904
62905         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
62906         clash.
62907
62908 2001-02-16  Paul Eggert  <eggert@twinsun.com>
62909
62910         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
62911         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
62912         Reported by Mark Hounschell via Paul Eggert.
62913
62914 2001-02-07  Jim Meyering  <meyering@lucent.com>
62915
62916         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
62917
62918 2001-02-05  Jim Meyering  <meyering@lucent.com>
62919
62920         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
62921         it includes the patch required for `large file' support with at least
62922         HP-UX's 10.20 /bin/cc.
62923
62924 2001-02-03  Jim Meyering  <meyering@lucent.com>
62925
62926         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
62927         AS_IF, now that it works once again (mysteriously).
62928         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
62929
62930 2001-01-30  Jim Meyering  <meyering@lucent.com>
62931
62932         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
62933         * m4/chown.m4: Rename conftestchown to conftest.chown.
62934         * m4/rename.m4: s/conftestdir/conftest.d1/ and
62935         s/conftestdir2/conftest.d2/.
62936         * m4/utimes.m4: s/conftestdata/conftest.data/
62937         Inspired by Pavel Roskin's change in autoconf.
62938
62939 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
62940
62941         * lib/config.charset: Update for FreeBSD 4.2.
62942
62943 2001-01-27  Jim Meyering  <meyering@lucent.com>
62944
62945         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
62946         a use of AS_IF.
62947         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
62948
62949 2001-01-26  Jim Meyering  <meyering@lucent.com>
62950
62951         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
62952         quotearg.c includes it.
62953
62954 2001-01-26  Jim Meyering  <meyering@lucent.com>
62955
62956         * lib/quotearg.c: Include stddef.h.
62957         * lib/quote.c: Include stddef.h.
62958         Reported by Axel Kittenberger.
62959
62960         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
62961         line in double quotes so that it evokes a better diagnostic.
62962         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
62963         Reported by Axel Kittenberger.
62964
62965 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
62966
62967         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
62968         as if it was a `charset'.
62969
62970 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
62971
62972         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
62973         has const.
62974
62975 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
62976
62977         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
62978         to avoid a warning.  Add back 'const' to inptr.
62979
62980 2001-01-20  Jim Meyering  <meyering@lucent.com>
62981
62982         Be sure that headers are checked before used in code compiled
62983         for the type checks.
62984         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
62985         In place of that, invoke jm_CHECK_ALL_TYPES.
62986         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
62987         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
62988         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
62989         The check for ssize_t was mistakenly run before the test for unistd.h.
62990
62991         The configure-time check for stdbool.h was missing.
62992         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
62993         (jm_PREREQ_HASH): New function.
62994
62995 2001-01-17  Jim Meyering  <meyering@lucent.com>
62996
62997         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
62998         for autoconf-2.49c.
62999         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
63000
63001 2001-01-16  Jim Meyering  <meyering@lucent.com>
63002
63003         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
63004         From Bruno Haible.
63005
63006 2001-01-14  Jim Meyering  <meyering@lucent.com>
63007
63008         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
63009         foo and bar.  Create conftestdir/ in the script, not in the C code.
63010         Remove directories in the script, not in the C code.
63011         Remove conftestdir{,2} before trying to create the directory.
63012         Make the entire configure script fail if the mkdir fails.
63013
63014 2001-01-14  Jim Meyering  <meyering@lucent.com>
63015
63016         * lib/rename.c: New file.  From Volker Borchert.
63017         Include stdlib.h, string.h or strings.h, and xalloc.h.
63018         Use strip_trailing_slashes rather than open-coding it.
63019
63020 2001-01-03  Paul Eggert  <eggert@twinsun.com>
63021
63022         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
63023
63024 2001-01-03  Jim Meyering  <meyering@lucent.com>
63025
63026         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
63027         of local `inptr' to avoid warning with some system declarations of
63028         iconv.
63029
63030 2001-01-02  Volker Borchert  <bt@teknon.de>
63031
63032         * m4/rename.m4: New file.
63033         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
63034
63035 2001-01-01  Jim Meyering  <meyering@lucent.com>
63036
63037         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
63038         even on systems with utmpx.h.  It's necessary for the declaration of
63039         utmp's ut_user member.  Reported by Andreas Jaeger.
63040
63041         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
63042         available. They are required for the declarations of getgrgid and
63043         getpwuid resp.
63044         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
63045         Reported by Andreas Jaeger.
63046
63047 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
63048
63049         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
63050         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
63051         so `make install' also works in VPATH builds.
63052
63053 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
63054
63055         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
63056         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
63057         can be used in subdirectories.
63058
63059 2000-12-29  Paul Eggert  <eggert@twinsun.com>
63060
63061         * lib/modechange.c: Do not assume that mode_t uses the
63062         traditional octal encoding.  E.g. "chmod 1 FOO" should set
63063         the other-execute bit of FOO even if S_IXOTH != 1.
63064
63065         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
63066         WOTH, XOTH, ALLM): New macros.
63067         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
63068          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
63069         Use them.
63070         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
63071         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
63072         (mode_compile):
63073         No need to use uintmax_t; unsigned long is long enough.
63074         Don't bother to get suffix since we don't use it.
63075
63076 2000-12-26  Jim Meyering  <meyering@lucent.com>
63077
63078         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
63079         better with autoheader.
63080
63081 2000-12-24  Jim Meyering  <meyering@lucent.com>
63082
63083         * lib/hash.c (is_prime): Return explicit boolean values.
63084         (hash_get_first): Return NULL to appease Irix5.6's 89.
63085         Reported by Nelson Beebe.
63086
63087 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
63088
63089         * lib/localcharset.c (locale_charset): Add support for Win32.
63090
63091 2000-12-18  Paul Eggert  <eggert@twinsun.com>
63092
63093         * lib/physmem.h, lib/physmem.c: New files.
63094
63095         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
63096         (noinst_HEADERS): Add physmem.h.
63097
63098         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
63099         't' for compatibility with Solaris 8 sort.
63100
63101 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
63102
63103         * lib/config.charset: Add support for BeOS.
63104
63105 2000-12-17  Jim Meyering  <meyering@lucent.com>
63106
63107         * m4/dos.m4 (jm_AC_DOS): New file and macro.
63108         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
63109
63110 2000-12-16  Jim Meyering  <meyering@lucent.com>
63111
63112         This bug had a serious impact on chown: `chown N:M FILE' (for integer
63113         N and M) would have treated it like `chown N:N FILE'.
63114
63115         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
63116
63117 2000-12-16  Jim Meyering  <meyering@lucent.com>
63118
63119         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
63120         SHELLS_FILE to a file name that's useful on djgpp systems.
63121         Include stdlib.h.
63122         (ADDITIONAL_DEFAULT_SHELLS): Define.
63123         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
63124         Based mostly on a patch from Prashant TR.
63125
63126 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
63127
63128         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
63129         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
63130         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
63131
63132 2000-12-08  Andreas Schwab  <schwab@suse.de>
63133
63134         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
63135         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
63136
63137 2000-12-07  Jim Meyering  <meyering@lucent.com>
63138
63139         * lib/stripslash.c (ISSLASH): Define.
63140         (strip_trailing_slashes): Use ISSLASH rather than comparing against
63141         `/'.
63142         From Prashant TR.
63143
63144         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
63145         (dir_name_r): Declare this function as static.
63146         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
63147         manifest itself on a name containing a mix of slashes and
63148         backslashes.
63149         Make this function work with names starting with a DOS-style
63150         drive letter and colon prefix.
63151         (dir_name): Append `.' if necessary.
63152         Based mostly on patches from Prashant TR and Eli Zaretskii.
63153
63154         * lib/dirname.h (dir_name_r): Remove prototype.
63155
63156 2000-12-06  Paul Eggert  <eggert@twinsun.com>
63157
63158         * m4/off_t-format.m4: Remove this file.
63159         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
63160
63161 2000-12-06  Jim Meyering  <meyering@lucent.com>
63162
63163         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
63164         replacement strtoull, we may well need the replacement strtoul, too.
63165         Check for declarations of strtoul and strtoull.
63166         Check for strtol.  Mainly as a cue to cause automake to include
63167         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
63168         Check for limits.h -- strtol.c needs it.
63169
63170 2000-12-05  Jim Meyering  <meyering@lucent.com>
63171
63172         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
63173
63174 2000-12-04  Jim Meyering  <meyering@lucent.com>
63175
63176         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
63177         Also include memory.h, stdlib.h, unistd.h if appropriate.
63178         Reported by Andreas Jaeger (conflicting declaration of malloc).
63179
63180 2000-12-02  Jim Meyering  <meyering@lucent.com>
63181
63182         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
63183         * m4/jm-macros.m4 (jm_MACROS): require it.
63184
63185 2000-12-02  Jim Meyering  <meyering@lucent.com>
63186
63187         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
63188
63189 2000-12-01  Paul Eggert  <eggert@twinsun.com>
63190
63191         * lib/memrchr.c: Include <config.h> before any system include file.
63192
63193 2000-11-30  Jim Meyering  <meyering@lucent.com>
63194
63195         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
63196
63197 2000-11-30  Jim Meyering  <meyering@lucent.com>
63198
63199         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
63200
63201 2000-11-29  Paul Eggert  <eggert@twinsun.com>
63202
63203         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
63204
63205 2000-11-26  Jim Meyering  <meyering@lucent.com>
63206
63207         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
63208
63209 2000-11-22  Paul Eggert  <eggert@twinsun.com>
63210
63211         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
63212         size of (size_t) -1; it's not portable.
63213
63214 2000-11-17  Jim Meyering  <meyering@lucent.com>
63215
63216         * lib/strstr.c: Update from GNU libc.
63217
63218 2000-11-17  Akim Demaille  <akim@epita.fr>
63219
63220         * lib/obstack.h: Formatting changes.
63221         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
63222         prevent type checking.
63223         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
63224         cast the value to (void *): assigning a `foo *' to a `void *'
63225         variable is valid.
63226         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
63227
63228 2000-11-16  Jim Meyering  <meyering@lucent.com>
63229
63230         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
63231
63232 2000-11-11  Jim Meyering  <meyering@lucent.com>
63233
63234         * lib/error.c: Add a couple #includes, merging from GNU libc version.
63235
63236 2000-11-10  Jim Meyering  <meyering@lucent.com>
63237
63238         * lib/obstack.h: Update from GNU libc.
63239         * lib/obstack.c: Likewise.
63240
63241 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
63242
63243         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
63244
63245 2000-11-06  Paul Eggert  <eggert@twinsun.com>
63246
63247         * lib/getusershell.c (setusershell): Use rewind rather than
63248         fseek/fseeko, to avoid configuration hassles with fseeko.
63249         Don't bother opening SHELLS_FILE if shellstream is NULL;
63250         it's not necessary.
63251
63252 2000-11-05  Jim Meyering  <meyering@lucent.com>
63253
63254         * lib/makepath.h (make_dir): Declare.
63255         * lib/makepath.c (make_dir): Remove `static' attribute.
63256         Tweak a comment.
63257
63258 2000-11-04  Jim Meyering  <meyering@lucent.com>
63259
63260         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
63261
63262 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
63263
63264         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
63265         last one in a bucket, advance to the next bucket.
63266
63267 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
63268
63269         * lib/fnmatch.c: Do not comment out all the code if we are using
63270         the GNU C library, because in some cases we are replacing buggy
63271         code in the GNU C library itself.
63272
63273 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
63274
63275         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
63276         (regex_compile): Catch bogus \(\1\).
63277
63278 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63279
63280         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
63281         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
63282         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
63283
63284 2000-10-30  Paul Eggert  <eggert@twinsun.com>
63285
63286         * lib/error.h, getline.h, modechange.h:
63287         Remove "2000" from Copyright line, as the file hasn't been
63288         changed this year other than in the copyright notice.
63289
63290         * lib/xalloc.h: Add "2000" to Copyright line, as this file
63291         was changed this year.
63292
63293 2000-10-29  Jim Meyering  <meyering@lucent.com>
63294
63295         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
63296         renaming.
63297         * m4/ls-mntd-fs.m4: Likewise
63298
63299 2000-10-29  Jim Meyering  <meyering@lucent.com>
63300
63301         * lib/xstat.in: Fix grammar in comment.
63302
63303 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
63304
63305         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
63306         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
63307         doesn't define __restrict_arr.
63308
63309 2000-10-28  Jim Meyering  <meyering@lucent.com>
63310
63311         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
63312         (jm_PREREQ_MEMCHR): New function.
63313
63314 2000-10-28  Jim Meyering  <meyering@lucent.com>
63315
63316         * lib/memchr.c: Update from libc.
63317         Adjust for portability:
63318         [HAVE_STDLIB_H]: Include stdlib.h.
63319         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
63320         Undef __memchr, too.
63321         [!weak_alias]: Define __memchr to memchr.
63322
63323         * lib/regex.c: Update from libc.
63324         * lib/regex.h: Likewise.
63325         * lib/getopt1.c: Likewise.
63326         * lib/memcmp.c: Likewise.
63327
63328         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
63329         Avoid using fseek, when possible -- it's broken by design.
63330         Patch by Ulrich Drepper.
63331
63332 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
63333
63334         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
63335         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
63336         Giving in to popular pressure to shut up the compiler with casts.
63337
63338 2000-10-26  Jim Meyering  <meyering@lucent.com>
63339
63340         * lib/strftime.c: Update from libc.
63341
63342 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
63343
63344         * regex.c: More `unsigned char' -> `re_char' changes.
63345         Also change several `int' into `re_wchar_t'.
63346         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
63347         (PUSH_FAILURE_POINTER): Don't cast any more.
63348         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
63349         We want GCC to complain, since this piece of code makes
63350         re_match non-reentrant, which *should* be fixed.
63351         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
63352         (EXTEND_BUFFER): Use RETALLOC.
63353         (SET_LIST_BIT): Don't cast.
63354         (re_wchar_t): New type.
63355         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
63356         that those two functions will always properly return.
63357         (IMMEDIATE_QUIT_CHECK): Cast to void.
63358         (analyse_first): Use recursion rather than an explicit stack.
63359         (re_compile_fastmap): Can't fail anymore.
63360         (re_search_2): Don't check re_compile_fastmap for failure.
63361         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
63362         Now also sets the new value (passed in a new argument).
63363         (re_match_2_internal): Use it.
63364         Also, use a new var `reg' of type size_t when looping through regs
63365         rather than reuse the inappropriate `mcnt'.
63366
63367 2000-10-25  Jim Meyering  <meyering@lucent.com>
63368
63369         * lib/obstack.c: Update from libc.
63370
63371 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
63372
63373         * regex.c (regex_compile): Change the way of handling a range from
63374         a char less than 256 to a char not less than 256.
63375
63376 2000-10-24  Andrew Innes  <andrewi@gnu.org>
63377
63378         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
63379         NT-Emacs only.
63380         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
63381         so that re_search functions only quit when callers expect them to.
63382
63383 2000-10-23  Jim Meyering  <meyering@lucent.com>
63384
63385         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
63386         wrong.  That set_locale call must not have any side effects.
63387         From Paul Eggert.
63388
63389 2000-10-22  Jim Meyering  <meyering@lucent.com>
63390
63391         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
63392         [CYCLIC]: Remove now-unused definition.
63393
63394         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
63395         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
63396         Suggestion from Ulrich Drepper.
63397
63398 2000-10-21  Jim Meyering  <meyering@lucent.com>
63399
63400         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
63401         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
63402         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
63403
63404 2000-10-21  Jim Meyering  <meyering@lucent.com>
63405
63406         * lib/dirname.c (memrchr): Declare if necessary.
63407         (dir_name): Remove the restriction that there be no
63408         trailing slashes.  Now, this code skips past them, effectively
63409         ignoring them.
63410         [TEST_DIRNAME] (main): New unit tests.
63411
63412         * lib/memrchr.c: New file from GNU libc.
63413         Undef __memrchr, too.
63414         [!weak_alias]: Define __memrchr to memrchr.
63415         Guard weak_alias use with `#ifdef weak_alias'.
63416
63417 2000-10-21  Jim Meyering  <meyering@lucent.com>
63418
63419         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
63420         (dir_name): Use dir_name_r.
63421         * lib/dirname.h (dir_name_r): Declare it.
63422
63423 2000-10-17  Jim Meyering  <meyering@lucent.com>
63424
63425         * lib/quote.h (PARAMS): Define and use.
63426         Reported by Akim Demaille.
63427
63428         * lib/getopt.c: Update from libc.
63429
63430 2000-10-16  Jim Meyering  <meyering@lucent.com>
63431
63432         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
63433         setlocale.
63434         From Jan Fedak.
63435
63436 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
63437
63438         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
63439
63440 2000-09-25  Jim Meyering  <meyering@lucent.com>
63441
63442         * lib/md5.h (rol): Define (from GnuPG).
63443
63444         * lib/sha.c: Give credit (GnuPG) where due.
63445         (M): Use rol rather than open-coding it.
63446         Add a FIXME comment.
63447
63448 2000-09-21  Jim Meyering  <meyering@lucent.com>
63449
63450         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
63451         Reported by Michael Stone.
63452
63453 2000-09-20  Jim Meyering  <meyering@lucent.com>
63454
63455         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
63456         (noinst_HEADERS): Add sha.h.
63457         Based on code from Scott G. Miller and from GnuPG.
63458
63459 2000-09-18  Jim Meyering  <meyering@lucent.com>
63460
63461         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
63462         LIBS. Otherwise, everyone ends up linking with -lelf for some
63463         configurations.
63464         Reported by Mike Stone.
63465
63466 2000-09-15  Jim Meyering  <meyering@lucent.com>
63467
63468         * lib/regex.c: Update from libc.
63469
63470 2000-09-10  Jim Meyering  <meyering@lucent.com>
63471
63472         * lib/getopt.c (_getopt_internal): Update from glibc.
63473
63474 2000-09-09  Jim Meyering  <meyering@lucent.com>
63475
63476         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
63477         think it should be used as a general replacement for isascii.
63478         * lib/fnmatch.c: Likewise.
63479         * lib/mbswidth.c: Likewise
63480         * lib/regex.c: Likewise.
63481
63482         Don't use atoi.
63483         * lib/userspec.c: Include sys/param.h and limits.h.
63484         Include xstrtol.h.
63485         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63486         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
63487         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
63488         UID, GID.  Check range.
63489
63490 2000-09-06  Jim Meyering  <meyering@lucent.com>
63491
63492         * lib/getopt.c (_getopt_internal): Update from glibc.
63493
63494 2000-08-30  Jim Meyering  <meyering@lucent.com>
63495
63496         * lib/strftime.c: Merge in changes from GNU libc.
63497
63498 2000-08-26  Jim Meyering  <meyering@lucent.com>
63499
63500         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
63501         * m4/fpending.m4: New file.
63502
63503 2000-08-26  Jim Meyering  <meyering@lucent.com>
63504
63505         * lib/closeout.c: Include "__fpending.h".
63506         (close_stdout_status): Return right away if there's nothing to flush.
63507
63508         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
63509         * lib/__fpending.c: New file.
63510         * lib/__fpending.h: New file.
63511
63512 2000-08-20  Jim Meyering  <meyering@lucent.com>
63513
63514         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
63515         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
63516         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
63517
63518 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
63519
63520         Improve fileutils installation on systems where running
63521         programs (like install) can't be unlinked.
63522         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
63523         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
63524
63525 2000-08-07  Paul Eggert  <eggert@twinsun.com>
63526
63527         Standardize on "memory exhausted" instead of "Memory exhausted"
63528         or "virtual memory exhausted".
63529         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
63530         "virtual memory exhausted".
63531         * lib/same.c (same_name): Invoke xalloc_die instead of printing
63532         our own message.
63533         * lib/userspec.c (parse_user_spec): Likewise.
63534         * lib/bumpalloc.h: comment fix
63535         * lib/same.c, userspec.c: Include xalloc.h.
63536
63537         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
63538         not char *const and pointing to a constant array.
63539         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
63540         (xrealloc): Comment fix.
63541
63542         * lib/userspec.c (parse_user_spec):
63543         Don't translate a message until just before returning,
63544         to avoid unnecessary translation.
63545
63546 2000-08-07  Jim Meyering  <meyering@lucent.com>
63547
63548         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
63549         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
63550         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
63551         getgroups.c, gethostname.c, getopt.h, group-member.c,
63552         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
63553         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
63554         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
63555         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
63556         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
63557         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
63558         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
63559         yesno.c: Back out Copyright date changes for each file with no change
63560         this year.  This eases coordination with other programs using the same
63561         source code modules.  From Paul Eggert.
63562
63563 2000-08-06  Paul Eggert  <eggert@twinsun.com>
63564
63565         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
63566         not char, for compatibility with glibc 2.1.3 strftime.c.
63567
63568 2000-08-03  Greg McGary  <greg@mcgary.org>
63569
63570         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
63571         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
63572         (EXTEND_BUFFER): Use them.
63573
63574 2000-08-01  Jim Meyering  <meyering@lucent.com>
63575
63576         * lib/dirname.c (ISSLASH): Define.
63577         (BACKSLASH_IS_PATH_SEPARATOR): Define.
63578         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
63579         both `\' and `/' may be use as path separators.
63580         Based on a patch from Prashant TR.
63581
63582 2000-07-31  Paul Eggert  <eggert@twinsun.com>
63583
63584         * lib/quotearg.c (quotearg_n_options): Don't make the initial
63585         slot vector a constant, since it might get modified.
63586
63587 2000-07-31  Jim Meyering  <meyering@lucent.com>
63588
63589         * lib/xmalloc.c: Use `virtual memory exhausted', not
63590         `Memory exhausted'.
63591         * lib/obstack.c (print_and_abort): Likewise.
63592
63593 2000-07-30  Paul Eggert  <eggert@twinsun.com>
63594
63595         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
63596         buffer, so that the caller can always quote one small
63597         component of a "memory exhausted" message in slot 0.
63598         From a suggestion by Jim Meyering.
63599
63600 2000-07-30  Jim Meyering  <meyering@lucent.com>
63601
63602         * lib/makepath.c (make_path): Quote the other instance, too.
63603
63604         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
63605         (STATIC_BUF_SIZE): Define.
63606         (quotearg_n_options): Use only statically allocated storage when
63607         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
63608         than STATIC_BUF_SIZE.
63609
63610 2000-07-29  Jim Meyering  <meyering@lucent.com>
63611
63612         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
63613         * lib/dirname.c (dir_name): Likewise.
63614
63615         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
63616         `/'.
63617
63618         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
63619         (dir_name): Assert that there are no trailing slashes.
63620
63621 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
63622
63623         * lib/mbswidth.h (mbswidth): Add a flags argument.
63624         (mbswidth): New declaration.
63625         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
63626         * lib/mbswidth.c (mbswidth): Add a flags argument.
63627         (mbsnwidth): New function.
63628
63629 2000-07-24  Jim Meyering  <meyering@lucent.com>
63630
63631         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
63632
63633 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63634
63635         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
63636
63637 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63638
63639         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
63640         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
63641         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
63642         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
63643         invoke multibyte primitives.
63644
63645 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63646
63647         * lib/quotearg.c:
63648         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
63649         so that mbstate_t is always defined.
63650
63651         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
63652         be 1 in at least one GCC installation, and this configuration
63653         error is likely to be common.  Ignoring MB_LEN_MAX hurts
63654         performance on hosts that have mbrtowc but have only unibyte
63655         locales, but I assume these hosts are rare.
63656
63657 2000-07-23  Paul Eggert  <eggert@twinsun.com>
63658
63659         * lib/mbswidth.c (_XOPEN_SOURCE):
63660         Don't define; this causes problems on Solaris 7.
63661         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
63662
63663 2000-07-23  Jim Meyering  <meyering@lucent.com>
63664
63665         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
63666         too: getgrgid, getpwuid, getuid.
63667
63668 2000-07-23  Jim Meyering  <meyering@lucent.com>
63669
63670         * lib/basename.c (base_name): Add an assertion.
63671
63672 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
63673
63674         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
63675         shadow its mbsinit function.
63676
63677 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
63678
63679         * lib/mbswidth.h: New file.
63680         * lib/mbswidth.c: New file.
63681         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
63682         (noinst_HEADERS): Add mbswidth.h.
63683
63684 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
63685
63686         * lib/config.charset: Add support for FreeBSD. Improve support for
63687         HP-UX and IRIX 6.
63688
63689 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
63690
63691         * m4/mbswidth.m4: New file.
63692         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
63693
63694 2000-07-15  Jim Meyering  <meyering@lucent.com>
63695
63696         * lib/makepath.c: Include quote.h.
63697         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
63698         corresponding argument in a `quote (...)' call.
63699         Give better diagnostics.
63700
63701         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
63702         (noinst_HEADERS): Add quote.h.
63703
63704         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
63705         from tar's src/misc.c.
63706         * lib/quote.h: New file.  Prototypes for same.
63707
63708 2000-07-14  Paul Eggert  <eggert@twinsun.com>
63709
63710         From a suggestion by Bruno Haible.
63711         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
63712         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
63713         to decide whether to define the BeOS workaround macro;
63714         this adjusts to the change to AC_MBSTATE_T.
63715
63716 2000-07-14  Jim Meyering  <meyering@lucent.com>
63717
63718         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
63719         jm_AC_TYPE_UINTMAX_T.
63720
63721 2000-07-13  Paul Eggert  <eggert@twinsun.com>
63722
63723         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
63724
63725         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
63726         quotearg_buffer_restyled): Add support for
63727         clocale_quoting_style.  Undo previous change to
63728         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
63729         and "{RIGHT QUOTATION MARK}" msgids.
63730
63731 2000-07-10  Paul Eggert  <eggert@twinsun.com>
63732
63733         From a suggestion by Bruno Haible.
63734         * m4/mbstate_t.m4 (AC_MBSTATE_T):
63735         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
63736         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
63737         and mbstate_t, to a single-part test that simply defines mbstate_t.
63738         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
63739         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
63740
63741 2000-07-10  Jim Meyering  <meyering@lucent.com>
63742
63743         * m4/strerror_r.m4: Mirror the correction made in autoconf.
63744
63745         * m4/gnu-source.m4: Output to confdefs.h directly.
63746         Suggestion from Akim Demaille.
63747
63748 2000-07-09  Paul Eggert  <eggert@twinsun.com>
63749
63750         The old behavior of quoting `like this' doesn't look good with
63751         newer, ISO-style fonts.  See:
63752         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
63753
63754         Instead, quote "like this" by default.  Let the translator
63755         tailor the locale-specific quoting behavior by providing
63756         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
63757
63758         * lib/quotearg.c (N_): New macro.
63759         (gettext_default): New function.
63760         (quotearg_buffer_restyled): Use
63761         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
63762         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
63763
63764 2000-07-09  Jim Meyering  <meyering@lucent.com>
63765
63766         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
63767         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
63768
63769         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
63770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
63771
63772 2000-07-09  Jim Meyering  <meyering@lucent.com>
63773
63774         * lib/Most files: Update copyright dates to include 2000.
63775
63776 2000-07-08  Jim Meyering  <meyering@lucent.com>
63777
63778         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
63779         if not defined.
63780         (xgethostname): Remove now-unnecessary #ifdef.
63781         Move declaration of `err' into loop where it's used.
63782
63783 2000-07-05  Paul Eggert  <eggert@twinsun.com>
63784         and Bruno Haible  <haible@clisp.cons.org>
63785
63786         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
63787         only if the test for an object-type mbstate_t fails.  This
63788         prevents us from mistakenly reporting that mbstate_t is a
63789         system object type after we "#define mbstate_t int" to work
63790         around its lack.
63791
63792 2000-07-05  Paul Eggert  <eggert@twinsun.com>
63793         and Bruno Haible  <haible@clisp.cons.org>
63794
63795         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
63796
63797 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
63798
63799         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
63800         to strerror_r.
63801         Include <ctype.h> for use of isalpha.
63802
63803 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
63804
63805         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
63806         by allocating a larger buffer. Test the gethostname return value for
63807         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
63808         returns an error and ENAMETOOLONG isn't defined.
63809
63810 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
63811
63812         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
63813         dimension.
63814
63815 2000-07-04  Jim Meyering  <meyering@lucent.com>
63816
63817         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
63818         of the deprecated AC_CHECKING.
63819
63820 2000-07-04  Jim Meyering  <meyering@lucent.com>
63821
63822         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
63823         Reported by Bruno Haible.
63824
63825 2000-07-04  Jim Meyering  <meyering@lucent.com>
63826
63827         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
63828         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
63829         lacks mbrtowc.
63830
63831 2000-07-03  Paul Eggert  <eggert@twinsun.com>
63832
63833         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
63834         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
63835
63836 2000-07-03  Paul Eggert  <eggert@twinsun.com>
63837         and Bruno Haible  <haible@clisp.cons.org>
63838
63839         * lib/quotearg.c (mbrtowc):
63840         Assign to *pwc, and return 1 only if result is nonzero.
63841         (iswprint): Use ISPRINT when substituting our own mbrtowc.
63842
63843 2000-07-03  Jim Meyering  <meyering@lucent.com>
63844
63845         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
63846
63847 2000-07-03  Jim Meyering  <meyering@lucent.com>
63848
63849         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
63850         This is necessary to get a definition of e.g., UTMP_FILE on
63851         HP-UX 10.20.
63852         From Bob Proulx.
63853
63854 2000-07-02  Jim Meyering  <meyering@lucent.com>
63855
63856         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
63857
63858         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
63859         AC_LIBOBJ(function_name).
63860         * m4/chown.m4: Likewise.
63861         * m4/fnmatch.m4: Likewise.
63862         * m4/ftruncate.m4: Likewise.
63863         * m4/getgroups.m4: Likewise.
63864         * m4/getline.m4: Likewise.
63865         * m4/group-member.m4: Likewise.
63866         * m4/jm-macros.m4: Likewise.
63867         * m4/lstat.m4: Likewise.
63868         * m4/malloc.m4: Likewise.
63869         * m4/memcmp.m4: Likewise.
63870         * m4/nanosleep.m4: Likewise.
63871         * m4/putenv.m4: Likewise.
63872         * m4/realloc.m4: Likewise.
63873         * m4/regex.m4: Likewise.
63874         * m4/stat.m4: Likewise.
63875         * m4/strftime.m4: Likewise.
63876
63877 2000-07-02  Jim Meyering  <meyering@lucent.com>
63878
63879         * lib/quotearg.c (mbstate_t): Don't define here.
63880
63881 2000-07-02  Jim Meyering  <meyering@lucent.com>
63882
63883         * lib/nanosleep.c (SIGCONT): Define if not already defined.
63884
63885 2000-07-01  Jim Meyering  <meyering@lucent.com>
63886
63887         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
63888
63889 2000-07-01  Jim Meyering  <meyering@lucent.com>
63890
63891         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
63892         problem.
63893
63894 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
63895
63896         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
63897         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
63898
63899 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
63900
63901         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
63902         per change in ../m4/ls-mntd-fs.m4.
63903         (read_filesystem_list): Ignore symbolic links.
63904
63905 2000-06-29  Jim Meyering  <meyering@lucent.com>
63906
63907         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
63908         for declaration of strcmp.
63909
63910         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
63911
63912         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
63913         Avoid warning by casting result to `char *' to remove `const'.
63914
63915 2000-06-28  Jim Meyering  <meyering@lucent.com>
63916
63917         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
63918         included by quotearg.c, for which we perform this test.  From
63919         Bruno Haible.
63920
63921 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
63922
63923         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
63924         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
63925         <utmpx.h> exists, put readutmp.o into LIBOBJS.
63926
63927 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
63928
63929         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
63930
63931 2000-06-26  Paul Eggert  <eggert@twinsun.com>
63932
63933         savedir now sets errno on failure and invokes xmalloc to get memory.
63934         Fix a couple of other minor bugs while we're at it.
63935
63936         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
63937         (NAMLEN): Remove macro.
63938         (malloc, realloc): Remove decls.
63939         (stpcpy): Likewise.
63940         ("xalloc.h"): Include.
63941         (NAME_SIZE_DEFAULT): New macro.
63942         (savedir): Use xmalloc / xrealloc to allocate memory.
63943         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
63944         Skip "" directory entries.
63945         Use strlen to calculate directory entry length, since the old method
63946         is rarely used these days and isn't worth supporting.
63947         Don't use a pointer after freeing it.
63948         Check for integer overflow when calculating allocation size.
63949         Use memcpy to copy entries, instead of stpcpy.
63950         Set errno properly when returning NULL.
63951         Check for readdir error.
63952
63953 2000-06-26  Jim Meyering  <meyering@lucent.com>
63954
63955         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
63956
63957 2000-06-25  Jim Meyering  <meyering@lucent.com>
63958
63959         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
63960         Linux header bug when _XOPEN_SOURCE is defined to 500.
63961
63962 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
63963
63964         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
63965         deficiency.
63966
63967 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
63968
63969         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
63970         Include xalloc.h.
63971         Don't include <stdlib.h>.  Don't declare malloc, realloc.
63972
63973 2000-06-24  Jim Meyering  <meyering@lucent.com>
63974
63975         * m4/strerror_r.m4: Revive this file -- to try out an experimental
63976         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
63977         for which strerror does return char*, but which lacks a conveniently
63978         accessible declaration of the function.  If the compile-test says
63979         strerror_r doesn't work, then resort to a `run'-test that works on
63980         BeOS and segfaults on DEC Unix.
63981
63982 2000-06-24  Jim Meyering  <meyering@lucent.com>
63983
63984         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
63985
63986 2000-06-23  Paul Eggert  <eggert@twinsun.com>
63987
63988         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
63989         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
63990
63991 2000-06-23  Paul Eggert  <eggert@twinsun.com>
63992
63993         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
63994         (mbrtowc, mbstate_t): Define substitutes if
63995         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
63996         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
63997         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
63998
63999 2000-06-23  Jim Meyering  <meyering@lucent.com>
64000
64001         * m4/afs.m4: Add missing AC_MSG_RESULT.
64002         Reported by Bruno Haible.
64003
64004         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
64005         Suggestion from Bruno Haible.
64006
64007 2000-06-23  Jim Meyering  <meyering@lucent.com>
64008
64009         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
64010
64011 2000-06-21  Jim Meyering  <meyering@lucent.com>
64012
64013         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
64014
64015 2000-06-21  Jim Meyering  <meyering@lucent.com>
64016
64017         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
64018         (noinst_HEADERS): Add getstr.h.
64019
64020         * lib/getline.c (getstr): Move into a separate file.
64021         * lib/getstr.c (getstr): New file, extracted from getline.c, with
64022         the following changes: new parameter, delim2; both delim[12]
64023         parameters have type `int', not `char'.  The latter would lose
64024         with 8-bit delimiters.
64025         * lib/getstr.h: New file.
64026
64027 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64028
64029         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
64030         than 1024, return a memory chunk of least possible size, instead
64031         of size PATH_MAX + 2. In the loop, increment the size proportionally.
64032         Use free/xmalloc instead of xrealloc to avoid copying for very long
64033         paths.
64034
64035 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64036
64037         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
64038         the empty string.
64039
64040 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
64041
64042         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
64043         address, not strdup.  Include <stdlib.h> and don't declare free().
64044
64045 2000-06-19  Jim Meyering  <meyering@lucent.com>
64046
64047         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
64048
64049 2000-06-18  Jim Meyering  <meyering@lucent.com>
64050
64051         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
64052
64053         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
64054         `checking whether...' message to be consistent with that of the
64055         lstat test.
64056
64057 2000-06-18  Jim Meyering  <meyering@lucent.com>
64058
64059         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
64060         Besides, these days every porting target provides a mkdir function.
64061
64062         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
64063         needed. (this snippet comes from src/system.h).
64064
64065 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
64066
64067         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
64068
64069 2000-06-15  Paul Eggert  <eggert@twinsun.com>
64070
64071         * lib/human.c (adjust_value): New function.
64072         (human_readable_inexact): Apply rounding style even when
64073         printing approximate values.
64074
64075 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64076
64077         * lib/human.c (human_readable_inexact): Allow an input block
64078         size that is not a multiple of the output block size, and vice versa.
64079         Reported by Piergiorgio Sartor.
64080
64081 2000-06-14  Paul Eggert  <eggert@twinsun.com>
64082
64083         * lib/getdate.y (get_date): Apply relative times after time
64084         zone indicator, not before.  Reported by Todd A. Jacobs.
64085
64086 2000-06-13  Jim Meyering  <meyering@lucent.com>
64087
64088         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
64089
64090         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
64091
64092 2000-06-12  Paul Eggert  <eggert@twinsun.com>
64093
64094         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
64095
64096 2000-06-12  Jim Meyering  <meyering@lucent.com>
64097
64098         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
64099         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
64100         optional argument.
64101         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
64102         the optional argument, `lib'.
64103
64104 2000-06-08  Jim Meyering  <meyering@lucent.com>
64105
64106         * m4/largefile.m4: Remove file (now that it's part of autoconf).
64107
64108 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64109
64110         Rewrite largefile configuration so that we don't need to run
64111         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
64112         AC_CANONICAL_HOST in configure.in -- jmm]
64113
64114         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
64115         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
64116         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
64117         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
64118         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
64119         All uses changed.
64120         Instead of inspecting the output of getconf, try to compile the
64121         test program without and with the macro definition.
64122         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
64123         for getconf.  Instead, check for the needed flags by compiling
64124         test programs.
64125
64126 2000-06-04  Paul Eggert  <eggert@twinsun.com>
64127
64128         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
64129
64130 2000-06-04  Jim Meyering  <meyering@lucent.com>
64131
64132         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
64133         SunOS 4.1.4 for which gid_t is an unsigned type.
64134
64135 2000-06-03  Jim Meyering  <meyering@lucent.com>
64136
64137         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
64138         now that autoconf requires that.
64139
64140         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
64141         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
64142         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
64143
64144 2000-06-03  Jim Meyering  <meyering@lucent.com>
64145
64146         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
64147
64148 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64149
64150         * m4/glibc21.m4: New file.
64151         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
64152
64153 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
64154
64155         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
64156         newer, don't install charset.alias.
64157         * lib/config.charset: Change the Linux/glibc rules so they become empty
64158         on glibc-2.1 or newer.
64159
64160 2000-06-02  Jim Meyering  <meyering@lucent.com>
64161
64162         * lib/mountlist.c: Back out last change.  Instead, do this...
64163         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
64164         me_dummy member using the same `ignore'-testing code.
64165         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
64166         fs_type strings.
64167         From Mark D. Roth.
64168
64169 2000-05-29  Jim Meyering  <meyering@lucent.com>
64170
64171         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
64172         mounts with the `ignore' attribute.  Based on a patch from
64173         Mark D. Roth.
64174
64175 2000-05-28  Jim Meyering  <meyering@lucent.com>
64176
64177         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
64178         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64179         * m4/stat.m4: Likewise.
64180         * m4/lstat.m4: Likewise.
64181         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
64182
64183         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
64184         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
64185
64186 2000-05-26  Jim Meyering  <meyering@lucent.com>
64187
64188         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
64189
64190 2000-05-24  Jim Meyering  <meyering@lucent.com>
64191
64192         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
64193         autoconf requires that.
64194         * m4/lib-check.m4: Likewise.
64195         * m4/jm-macros.m4: Likewise.
64196         * m4/strftime.m4: Likewise.
64197
64198         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
64199         AC_CHECK_DECLS, now that autoconf requires that.
64200
64201 2000-05-22  Jim Meyering  <meyering@lucent.com>
64202
64203         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64204         * m4/lstat.m4: Likewise.
64205
64206 2000-05-22  Jim Meyering  <meyering@lucent.com>
64207
64208         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
64209
64210 2000-05-20  Jim Meyering  <meyering@lucent.com>
64211
64212         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
64213         (jm_PREREQ): Use it.
64214
64215 2000-05-18  Jim Meyering  <meyering@lucent.com>
64216
64217         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
64218         back, too, since it may have been modified by allocate_entry.
64219         (hash_delete): Rewrite to use neither the assignment operator
64220         nor the comma operator in an if-expression.
64221
64222 2000-05-15  Paul Eggert  <eggert@twinsun.com>
64223
64224         * lib/closeout.c:
64225         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
64226         Remove; no longer needed.
64227         "quotearg.h": Add include.
64228         (file_name): Do not bother to explicitly initialize to NULL; it's less
64229         efficient on some hosts.
64230         (close_stdout_status): Remove test as to whether stdout was already
64231         closed; it breaks for the case "echo x | sort >&-".
64232         Quote file name colons.
64233         Do not assume that _("write error") lacks format strings.
64234
64235 2000-05-15  Jim Meyering  <meyering@lucent.com>
64236
64237         * lib/version-etc.c (version_etc_copyright): Update the copyright
64238         string used in all --version output.
64239
64240 2000-05-14  Jim Meyering  <meyering@lucent.com>
64241
64242         * lib/closeout.c (close_stdout_set_file_name): New function.
64243         (close_stdout_status): Use new file-scoped global.
64244         Return right away if fstat says the stdout file descriptor is invalid.
64245         * lib/closeout.h (close_stdout_set_file_name): Declare.
64246
64247 2000-05-10  Jim Meyering  <meyering@lucent.com>
64248
64249         * lib/closeout.c [default_exit_status]: New file-scoped variable.
64250         (close_stdout_set_status): New function.
64251         * lib/closeout.h (close_stdout_set_status): Declare.
64252
64253 2000-05-09  Jim Meyering  <meyering@lucent.com>
64254
64255         * m4/gettext.m4: Rename this...
64256         * m4/libintl.m4: ...to this.
64257
64258 2000-05-08  Jim Meyering  <meyering@lucent.com>
64259
64260         * lib/long-options.c: Don't include closeout.h.
64261         (parse_long_options): Don't call close_stdout for --version.
64262
64263 2000-05-06  Paul Eggert  <eggert@twinsun.com>
64264
64265         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
64266         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
64267         2.1.3 bug.  This avoids a clash when files like regex.c define
64268         _GNU_SOURCE.
64269
64270 2000-05-06  Jim Meyering  <meyering@lucent.com>
64271
64272         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
64273         (AC_REPLACE_FUNCS): Add strnlen.
64274
64275         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
64276         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
64277
64278         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
64279         AC_SEARCH_LIBS call for nanosleep.
64280         (LIB_NANOSLEEP): Set and AC_SUBST.
64281
64282 2000-05-06  Jim Meyering  <meyering@lucent.com>
64283
64284         * lib/strnlen.c: Undefine __strnlen and strnlen.
64285         [!weak_alias]: Define __strnlen to strnlen.
64286
64287         * lib/atexit.c: New file, from libiberty.
64288
64289 2000-05-06  Jim Meyering  <meyering@lucent.com>
64290
64291         * lib/closeout.c (close_stdout_status): Also check for errors on the
64292         stderr stream.
64293
64294 2000-05-05  Jim Meyering  <meyering@lucent.com>
64295
64296         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
64297         AC_SEARCH_LIBS call for clock_gettime.
64298         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
64299
64300         * m4/search-libs.m4: Update from autoconf.
64301
64302         su doesn't work on Solaris 2.6.
64303         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
64304         <shadow.h>.  Reported by Dragos Harabor.
64305
64306 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
64307
64308         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
64309         memcpy instead of xmalloc, xrealloc, path_concat.
64310         (locale_charset): Treat empty environment variables as absent.
64311         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
64312
64313 2000-05-04  Jim Meyering  <meyering@lucent.com>
64314
64315         * lib/getopt.c: Update from glibc.
64316         * lib/obstack.c: Likewise.
64317         * lib/obstack.h: Likewise.
64318         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
64319         file
64320
64321         * lib/regex.h: Likewise.
64322         * lib/strndup.c: Likewise.
64323         * lib/strnlen.c: New file, from glibc.
64324
64325 2000-05-03  Jim Meyering  <meyering@lucent.com>
64326
64327         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
64328
64329 2000-05-02  Paul Eggert  <eggert@twinsun.com>
64330
64331         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
64332         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
64333         compile-time test, rather than inspecting host and OS, to
64334         decide whether to define _LARGEFILE_SOURCE.
64335
64336 2000-05-01  Jim Meyering  <meyering@lucent.com>
64337
64338         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
64339
64340         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
64341         Based on a patch from Bruno Haible.
64342
64343 2000-05-01  Jim Meyering  <meyering@lucent.com>
64344
64345         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
64346
64347 2000-04-29  Jim Meyering  <meyering@lucent.com>
64348
64349         * lib/path-concat.c: Declare strdup only if it's not defined.
64350         * lib/canon-host.c: Likewise.
64351
64352 2000-04-28  Jim Meyering  <meyering@lucent.com>
64353
64354         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
64355         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
64356         is included first, then limits.h is included by locale.h by libintl.h.
64357         From John David Anglin.
64358
64359 2000-04-25  Jim Meyering  <meyering@lucent.com>
64360
64361         * lib/makepath.c (S_IRWXUGO): Define.
64362         (make_path): Always perform explicit chmod if MODE specifies any
64363         of the `special' permission bits.  Prompted by a bug report against
64364         install from Mate Wierdl and Joost van Baal.
64365
64366 2000-04-18  Jim Meyering  <meyering@lucent.com>
64367
64368         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
64369         (jm_PREREQ): Use it.
64370
64371 2000-04-18  Jim Meyering  <meyering@lucent.com>
64372
64373         * lib/README: New file.
64374
64375         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
64376         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
64377
64378 2000-04-17  Jim Meyering  <meyering@lucent.com>
64379
64380         Get it right :-)
64381         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
64382         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
64383         Suggestion from Akim Demaille.
64384
64385 2000-04-17  Jim Meyering  <meyering@lucent.com>
64386
64387         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
64388         the definition of it to rpl_strftime also defined-away the system's
64389         declaration.
64390
64391 2000-04-15  Jim Meyering  <meyering@lucent.com>
64392
64393         Use `C' to denote so-called `contiguous' files, the same way
64394         that tar does.
64395         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
64396         (ftypelet): Use S_ISCTG.
64397         From Michael Deutschmann.
64398
64399 2000-04-14  Jim Meyering  <meyering@lucent.com>
64400
64401         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
64402         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
64403         clobbered.
64404
64405 2000-04-14  Jim Meyering  <meyering@lucent.com>
64406
64407         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
64408
64409 2000-04-13  Jim Meyering  <meyering@lucent.com>
64410
64411         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
64412         AH_VERBATIM to insert required #ifndef into config.h.in.
64413         Suggestion from Akim Demaille.
64414
64415 2000-04-12  Jim Meyering  <meyering@lucent.com>
64416
64417         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
64418         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
64419         Christian Krackowizer.
64420
64421         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
64422         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
64423         (AC_SYS_LARGEFILE): Require.
64424         (AM_C_PROTOTYPES): Require.
64425
64426 2000-04-08  Jim Meyering  <meyering@lucent.com>
64427
64428         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
64429         names don't conflict.  Reported by Eli Zaretskii.
64430
64431 2000-04-07  Jim Meyering  <meyering@lucent.com>
64432
64433         * lib/putenv.c: Move inclusion of errno.h so it follows that of
64434         sys/types.h, to work around system header problems on AIX 3.2.5.
64435         From Bruno Haible.
64436
64437 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
64438
64439         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
64440         bug.  Deal with the different error behavior of Irix iconv.
64441
64442 2000-04-05  Paul Eggert  <eggert@twinsun.com>
64443
64444         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
64445         IRIX if the installer said otherwise.
64446
64447 2000-04-05  Jim Meyering  <meyering@lucent.com>
64448
64449         Portability tweaks required for ultrix4.3.
64450         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
64451         (jm_CHECK_DECLS): Add getutent to the list of functions.
64452         (_jm_DECL_HEADERS): Add utmpx.h.
64453         From John David Anglin.
64454
64455         * m4/strftime.m4: Back out the 2000-04-02 change.
64456         Instead of that change, simply undefine putenv in the test program.
64457
64458 2000-04-05  Jim Meyering  <meyering@lucent.com>
64459
64460         Portability tweaks required for ultrix4.3.
64461         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
64462         getutent.
64463         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
64464         * lib/canon-host.c: Declare strdup.
64465         * lib/path-concat.c: Likewise.
64466         From John David Anglin.
64467
64468 2000-04-04  Jim Meyering  <meyering@lucent.com>
64469
64470         Be more DOS 8.3-friendly.
64471         * lib/ref-add.sin: Renamed from ref-add.sed.in.
64472         * lib/ref-del.sin: Renamed from ref-del.sed.in.
64473         * lib/Makefile.am: Reflect renaming.
64474         Reported by Eli Zaretskii.
64475
64476         Use a temporary file name that won't clash with `charset.alias'
64477         in the DOS 8.3 name space.
64478         * lib/Makefile.am (charset_tmp): Define.
64479         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
64480         (uninstall-local): Likewise.
64481         Reported by Eli Zaretskii.
64482
64483 2000-04-03  Jim Meyering  <meyering@lucent.com>
64484
64485         * m4/gettext.m4: Fix typo in comment.
64486
64487         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
64488         textutils/configure.in).  Suggestion from Paul Eggert.
64489         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
64490
64491 2000-04-02  Paul Eggert  <eggert@twinsun.com>
64492
64493         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
64494         variable in the shell rather than using putenv, which isn't
64495         portable.  This avoids the configure-time inter-test dependency
64496         on the potentially-renamed putenv function.
64497
64498 2000-03-30  Paul Eggert  <eggert@twinsun.com>
64499
64500         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
64501         before checking struct stat.st_blksize, so that
64502         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
64503
64504 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64505
64506         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
64507         since strftime.c uses HAVE_STRFTIME to decide whether to use
64508         the underlying strftime.
64509
64510 2000-03-29  Paul Eggert  <eggert@twinsun.com>
64511
64512         * lib/time/strftime.c (my_strftime): Make sure we call the system
64513         strftime, not ourselves, when invoking the underlying strftime.
64514
64515 2000-03-24  Jim Meyering  <meyering@lucent.com>
64516
64517         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
64518         (charset_alias): Define.
64519         (install-exec-local): Factor out common code.
64520         (uninstall-local): Split lines longer than 80.
64521         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
64522         (SUFFIXES): Define.
64523         (.sed.in.sed): New rule.  Don't redirect directly to $@.
64524         (CLEANFILES): Add ref-add.sed and ref-del.sed.
64525
64526 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
64527
64528         * lib/config.charset: Output a line containing "Packages using this
64529         file".
64530         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
64531         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
64532         ref-del.sed): New rules.
64533
64534 2000-03-17  Jim Meyering  <meyering@lucent.com>
64535
64536         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
64537         Otherwise, include <strings.h>
64538
64539 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
64540
64541         * lib/unicodeio.c (utf8_wctomb): New function.
64542         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
64543         format instead of in UCS-4 with platform dependent endianness.
64544
64545 2000-03-10  Jim Meyering  <meyering@lucent.com>
64546
64547         * m4/lib-check.m4: Look for getspnam in -lgen, too.
64548         From Marco Franzen.
64549
64550 2000-03-07  Paul Eggert  <eggert@twinsun.com>
64551
64552         * lib/savedir.c (savedir): Work even if directory size is
64553         negative; this can happen with some screwy NFS configurations.
64554
64555 2000-03-06  Jim Meyering  <meyering@lucent.com>
64556
64557         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
64558         if it's NULL (because we ran out of memory).  From Bruno Haible.
64559
64560 2000-03-05  Jim Meyering  <meyering@lucent.com>
64561
64562         * lib/localcharset.c ("path-concat.h"): Include.
64563         (get_charset_aliases): Use path_concat instead of ANSI string
64564         concatenation.
64565
64566         * lib/unicodeio.h (PARAMS): Define.
64567         Use it to guard prototype.
64568
64569 2000-03-04  Jim Meyering  <meyering@lucent.com>
64570
64571         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
64572         for lib/localcharset.c.
64573
64574 2000-03-04  Jim Meyering  <meyering@lucent.com>
64575
64576         * lib/Makefile.am (install-exec-local): Create $(libdir) before
64577         installing into it.
64578         (uninstall-local): Uncomment this rule so `make distcheck' works
64579         once again.
64580
64581         * lib/unicodeio.c (<errno.h>): Include it.
64582         (errno): Declare if not defined.
64583
64584         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
64585
64586         * lib/config.charset: New version, incorporating remarks from a linux
64587         i18n mailing list.  From Bruno Haible.
64588
64589 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
64590
64591         * m4/codeset.m4: New file.
64592         * m4/iconv.m4: New file.
64593         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
64594
64595 2000-03-03  Jim Meyering  <meyering@lucent.com>
64596
64597         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
64598
64599 2000-03-02  Jim Meyering  <meyering@lucent.com>
64600
64601         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
64602         the messages come out on separate lines.
64603
64604         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
64605         rather than jm_CHECK_DECLARATIONS.
64606         * m4/decl.m4: Remove now-unused file.
64607
64608         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
64609         geteuid.
64610
64611 2000-03-02  Jim Meyering  <meyering@lucent.com>
64612
64613         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
64614
64615 2000-03-01  Jim Meyering  <meyering@lucent.com>
64616
64617         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
64618         * lib/unicodeio.c: Likewise.
64619
64620 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
64621
64622         * lib/config.charset: New file.
64623         * lib/localcharset.c: New file.
64624         * lib/unicodeio.h, lib/unicodeio.c: New files.
64625         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
64626         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
64627         (noinst_HEADERS): Add unicodeio.h.
64628         (all-local, install-exec-local, charset.alias): New targets.
64629
64630 2000-02-28  Paul Eggert  <eggert@twinsun.com>
64631
64632         * lib/quotearg.c (ALERT_CHAR): New macro.
64633         (quotearg_buffer_restyled): Use it.
64634
64635 2000-02-27  Jim Meyering  <meyering@lucent.com>
64636
64637         * m4/check-decl.m4: Add getenv to the list.
64638
64639 2000-02-27  Jim Meyering  <meyering@lucent.com>
64640
64641         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
64642         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
64643
64644         * lib/backupfile.c: Guard inclusion of stdlib.h with
64645         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
64646         Declare malloc if needed.
64647
64648         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
64649         `#ifndef HAVE_DECL..'
64650         now that autoconf always defines the HAVE_DECL_ symbols.
64651         * lib/human.c: Likewise.
64652         * lib/same.c: Likewise.
64653         * lib/strtoumax.c: Likewise.
64654
64655         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
64656         declaration check was not run.
64657         * lib/hash.c: Likewise.
64658         * lib/human.c: Likewise.
64659         * lib/same.c: Likewise.
64660         * lib/strtoumax.c: Likewise.
64661
64662         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
64663         `.', then first look up the entire `.'-containing string as a login
64664         name.
64665
64666 2000-02-23  Jim Meyering  <meyering@lucent.com>
64667
64668         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
64669         in place of my hack.
64670
64671 2000-02-18  Paul Eggert  <eggert@twinsun.com>
64672
64673         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
64674         (textint): New typedef.
64675         (parser_control): Member year changed from int to textint.
64676         All uses changed.
64677         (YYSTYPE): Removed; replaced by %union with int and textint members.
64678         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
64679         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
64680         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
64681         (tSNUMBER, tUNUMBER): Now of type <textintval>.
64682         (date, number, to_year): Use width of number in digits, not its value,
64683         to determine whether it's a 2-digit year, or a 2-digit time.
64684         (yylex): Store number of digits of numeric tokens.
64685         Reported by John Kendall.
64686
64687         (parser_control): Changed from struct parser_control to typedef (for
64688         consistency).  All uses changed.
64689
64690         (tID): Removed; not used.
64691         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
64692
64693 2000-02-14  Paul Eggert  <eggert@twinsun.com>
64694
64695         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
64696         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
64697
64698 2000-02-12  Jim Meyering  <meyering@lucent.com>
64699
64700         * lib/userspec.c (ISDIGIT): Define it.
64701         (isdigit): Remove definition.
64702         (is_number): Use ISDIGIT, not isdigit.
64703         <libintl.h>: Include.
64704         (_ and N_): Define.
64705         (parse_user_spec): Mark translatable strings.
64706
64707 2000-02-10  Jim Meyering  <meyering@lucent.com>
64708
64709         With these changes, nanosleep.[ch] are finally enough like the other
64710         lib/* replacement files to compile on a few more losing systems.
64711
64712         * lib/nanosleep.h: Don't include config.h.
64713         Remove prototype from declaration of nanosleep.
64714         (PARAMS): Remove now-unneeded definition.
64715         * lib/nanosleep.c: #undef nanosleep.
64716         (rpl_nanosleep): Rename from nanosleep.
64717
64718 2000-02-10  Jim Meyering  <meyering@lucent.com>
64719
64720         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
64721         gnu_nanosleep to rpl_nanosleep.
64722
64723 2000-02-09  Jim Meyering  <meyering@lucent.com>
64724
64725         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
64726         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
64727
64728 2000-02-08  Akim Demaille  <akim@epita.fr>
64729
64730         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
64731         `[' and `]' and remove uses of `changequote'.
64732         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
64733         (AC_SYS_LARGEFILE): Likewise.
64734         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
64735         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
64736         of changequote.
64737         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
64738         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
64739         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
64740         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
64741
64742 2000-02-05  Jim Meyering  <meyering@lucent.com>
64743
64744         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
64745         Remove explicit use of AC_HEADER_TIME.  It is required by
64746         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
64747         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
64748         in autoconf whereby the expansion of the latter ended up preceding
64749         the expansion of its prerequisite, AC_HEADER_TIME.
64750         Reported by Volker Borchert.
64751
64752 2000-02-03  Jim Meyering  <meyering@lucent.com>
64753
64754         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
64755
64756 2000-02-03  Jim Meyering  <meyering@lucent.com>
64757
64758         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
64759         rather than with `#if HAVE_UTMPNAME'.
64760
64761 2000-02-02  Jim Meyering  <meyering@lucent.com>
64762
64763         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
64764         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
64765         Reported by Eli Zaretskii.
64766
64767 2000-02-01  Jim Meyering  <meyering@lucent.com>
64768
64769         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
64770
64771 2000-01-31  Jim Meyering  <meyering@lucent.com>
64772
64773         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
64774         functions.  Add the time.h and sys/time.h headers along with the
64775         AC_REQUIRE'ment of AC_HEADER_TIME.
64776
64777 2000-01-31  Jim Meyering  <meyering@lucent.com>
64778
64779         * lib/nanosleep.h (nanosleep): Guard declaration with
64780         `#if ! HAVE_DECL_NANOSLEEP'.
64781         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
64782         the declaration in that vendor's sys/timers.h.
64783         Reported by Christian Krackowizer.
64784
64785         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
64786         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
64787         (ISPRINT): Likewise.
64788         Reported by Tom Tromey.
64789
64790 2000-01-30  Jim Meyering  <meyering@lucent.com>
64791
64792         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
64793
64794         * m4/prereq.m4 (utmp_includes): Define.
64795         Check for ut_user and ut_name members in both struct utmpx
64796         and struct utmp.
64797
64798 2000-01-30  Jim Meyering  <meyering@lucent.com>
64799
64800         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
64801         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
64802         header files where only utmpx.ut_user is declared.
64803
64804         * lib/readutmp.h (UT_USER): Define.
64805
64806 2000-01-29  Jim Meyering  <meyering@lucent.com>
64807
64808         * m4/lib-check.m4: New file containing library-related checks from
64809         fileutils and sh-utils (textutils had none).
64810
64811 2000-01-28  Jim Meyering  <meyering@lucent.com>
64812
64813         * m4/perl.m4: Change format of warning message to look more like that
64814         from the missing script.  Suggestion from François Pinard.
64815
64816 2000-01-25  Jim Meyering  <meyering@lucent.com>
64817
64818         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
64819         well as time.h in the compile check.
64820         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
64821         Fix typo in cross-compiling case: s/yes/no/.
64822
64823 2000-01-23  Jim Meyering  <meyering@lucent.com>
64824
64825         * m4/jm-macros.m4: Move df-related tests here from
64826         fileutils/configure.in
64827
64828         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
64829         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
64830
64831         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
64832         s/space/ac_fsusage_space/.
64833         (jm_FILE_SYSTEM_USAGE): Take two parameters.
64834
64835         * m4/ftruncate.m4: New file (derived from part of
64836         fileutils/configure.in).
64837         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
64838         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
64839
64840         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
64841         AC_SUBST these here, rather than just in sh-util/configure.in, so
64842         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
64843         all the same.
64844         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
64845         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
64846         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
64847         (AC_SUBST(POW_LIBM)): Likewise.
64848         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
64849
64850 2000-01-23  Jim Meyering  <meyering@lucent.com>
64851
64852         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
64853         obstack.c.
64854
64855 2000-01-22  Jim Meyering  <meyering@lucent.com>
64856
64857         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
64858
64859         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
64860
64861         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
64862         configure.in
64863         (AC_CHECK_HEADERS): Likewise for sh-utils.
64864         (AC_CHECK_HEADERS): Likewise for textutils.
64865         Merge the three lists of headers.
64866
64867         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
64868         from fileutils' configure.in.
64869
64870         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
64871         code. Moved tests into their own function (_jm_DECL_HEADERS) in
64872         check-decl.m4.
64873
64874         * m4/check-decl.m4: Use #if rather than #ifdef.
64875         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
64876         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
64877         (_jm_DECL_HEADERS): Define new function.
64878         (jm_CHECK_DECLARATIONS): Require it.
64879
64880 2000-01-22  Jim Meyering  <meyering@lucent.com>
64881
64882         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
64883         [! HAVE_DECL_STRTOULL]: Declare strtoull.
64884         Required for some AIX systems.  Reported by Christian Krackowizer.
64885         [TESTING] (main): New function.
64886
64887         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
64888         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
64889         letters.
64890
64891         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
64892         iswprint.
64893
64894         * lib/strverscmp.c (ISDIGIT): Define.
64895         (strverscmp): Use ISDIGIT, not isdigit.
64896
64897 2000-01-19  Jim Meyering  <meyering@lucent.com>
64898
64899         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
64900         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
64901         defines `struct timespec' in <sys/time.h>
64902
64903         * m4/c-bs-a.m4: Remove uses of changequote altogether.
64904         Thanks to Akim for explaining.
64905
64906 2000-01-17  Paul Eggert  <eggert@twinsun.com>
64907
64908         * lib/nanosleep.c (nanosleep):
64909         Don't use SA_INTERRUPT to decide whether to call sigaction, as
64910         POSIX.1 doesn't require SA_INTERRUPT and some systems
64911         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
64912         it's been part of POSIX.1 since day 1 (in 1988).
64913
64914 2000-01-17  Jim Meyering  <meyering@lucent.com>
64915
64916         * lib/interlock: Remove unused file.  Reported by François Pinard.
64917
64918 2000-01-16  Paul Eggert  <eggert@twinsun.com>
64919
64920         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
64921         alert, backslash, formfeed, and vertical tab unnecessarily in
64922         shell quoting style.
64923
64924 2000-01-16  Jim Meyering  <meyering@lucent.com>
64925
64926         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
64927         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
64928         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
64929         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
64930
64931 2000-01-16  Jim Meyering  <meyering@lucent.com>
64932
64933         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
64934         because the latter didn't work.
64935
64936 2000-01-15  Jim Meyering  <meyering@lucent.com>
64937
64938         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
64939         (AC_REPLACE_FUNCS): Add memcpy and memset.
64940         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
64941         Add strpbrk.
64942         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
64943
64944 2000-01-12  Jim Meyering  <meyering@lucent.com>
64945
64946         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
64947         (jm_PREREQ): Use it.
64948         (jm_PREREQ_READUTMP): New macro.
64949         (jm_PREREQ): Use it.
64950
64951 2000-01-11  Paul Eggert  <eggert@twinsun.com>
64952
64953         Quote multibyte characters correctly.
64954         * m4/c-bs-a.m4: New file.
64955         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
64956         (jm_PREREQ): Use it.
64957
64958 2000-01-11  Paul Eggert  <eggert@twinsun.com>
64959
64960         * m4/uintmax_t.m4: Port to autoconf 2.13.
64961
64962 2000-01-08  Jim Meyering  <meyering@ascend.com>
64963
64964         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
64965         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
64966
64967 2000-01-04  Jim Meyering  <meyering@ascend.com>
64968
64969         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
64970         jm_STRUCT_DIRENT_D_TYPE.
64971         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
64972         jm_STRUCT_DIRENT_D_INO.
64973         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
64974         jm_STRUCT_UTIMBUF.
64975         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
64976         renamings.
64977         * m4/utime.m4: Likewise.
64978
64979         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
64980         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
64981
64982 2000-01-03  Paul Eggert  <eggert@twinsun.com>
64983
64984         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
64985         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
64986
64987 2000-01-02  Jim Meyering  <meyering@ascend.com>
64988
64989         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
64990         remember if this is necessary.
64991
64992 1999-12-26  Jim Meyering  <meyering@ascend.com>
64993
64994         * m4/jm-macros.m4: Use it here.
64995         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
64996
64997 1999-12-23  Jim Meyering  <meyering@ascend.com>
64998
64999         * m4/jm-macros.m4: Check for clock_gettime (moved from
65000         fileutils/configure.in)
65001         Check for gettimeofday.
65002
65003 1999-12-20  Jim Meyering  <meyering@ascend.com>
65004
65005         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
65006         autoconf-2.14a-1999-12-20.
65007
65008 1999-12-19  Jim Meyering  <meyering@ascend.com>
65009
65010         * m4/lstat-slash.m4: New file.
65011         * m4/jm-macros.m4: Use the new macro:
65012         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65013
65014 1999-12-07  Jim Meyering  <meyering@ascend.com>
65015
65016         * m4/perl.m4: Require that File::Compare be available, too.
65017         Too many systems seem to lack it.
65018
65019         * m4/strftime.m4: Add checks for most of the cpp macros tested in
65020         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
65021
65022 1999-11-18  Paul Eggert  <eggert@twinsun.com>
65023
65024         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
65025         problem with the QNX 4.25 shell, which doesn't propagate exit
65026         status of failed commands inside shell assignments.
65027
65028 1999-11-17  Jim Meyering  <meyering@ascend.com>
65029
65030         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
65031
65032 1999-11-07  Jim Meyering  <meyering@ascend.com>
65033
65034         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
65035
65036 1999-11-06  Jim Meyering  <meyering@ascend.com>
65037
65038         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
65039         * m4/jm-macros.m4 (jm_MACROS): Use it here.
65040
65041 1999-11-05  Jim Meyering  <meyering@ascend.com>
65042
65043         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
65044         configure.in of textutils, fileutils, and sh-utils into this one
65045         (shared between those packages) file.
65046         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
65047         AC_STRUCT_ST_BLKSIZE.
65048
65049 1999-11-03  Jim Meyering  <meyering@ascend.com>
65050
65051         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
65052         of AC_CHECK_TYPE checks includes unistd.h.
65053         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
65054         Suggestion from Akim Demaille.
65055
65056 1999-10-30  Jim Meyering  <meyering@ascend.com>
65057
65058         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
65059         m4-quoted string.
65060         * m4/ls-mntd-fs.m4: Likewise.
65061         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
65062         * m4/jm-winsz1.m4: Likewise.
65063
65064         * m4/const.m4: Remove file, since the fix made it into the experimental
65065         version of autoconf.
65066         * m4/mktime.m4: Likewise.
65067
65068         * m4/check-type.m4: Remove file, now that the latest version of
65069         AC_CHECK_TYPE takes a third arg to specify additional #includes.
65070
65071         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
65072         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
65073         AC_CHECK_TYPE.
65074
65075 1999-10-04  Jim Meyering  <meyering@ascend.com>
65076
65077         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
65078
65079 1999-09-22  Paul Eggert  <eggert@twinsun.com>
65080
65081         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
65082         2.95.1 bug with HP-UX 10.20.
65083
65084 1999-09-17  Jim Meyering  <meyering@ascend.com>
65085
65086         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
65087         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
65088         due to missing strdup (against sh-utils-2.0).
65089
65090 1999-08-29  Jim Meyering  <meyering@ascend.com>
65091
65092         * m4/jm-macros.m4: Require jm_BISON.
65093         * m4/bison.m4: New file.
65094
65095 1999-08-17  Paul Eggert  <eggert@twinsun.com>
65096
65097         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
65098         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
65099
65100 1999-08-05  Jim Meyering  <meyering@ascend.com>
65101
65102         * m4/getline.m4: Rename test file from conftestdata to conftest.data
65103         to avoid conflicts with `conftest' on 8+3 filesystems.
65104         Suggestion from Eli Zaretskii.
65105
65106 1999-08-04  Jim Meyering  <meyering@ascend.com>
65107
65108         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
65109         fileutils and sh-utils (textutils's getline test was inadequate).
65110         (AM_FUNC_GETLINE): Run this test.
65111         (AC_CHECK_FUNCS): Check for getdelim.
65112         Reported by Bob Proulx.
65113
65114 1999-08-02  Jim Meyering  <meyering@ascend.com>
65115
65116         * m4/jm-macros.m4: Add a comment.
65117
65118 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65119
65120         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
65121         <inttypes.h> defines strtoumax as a macro (and not as a
65122         function).
65123
65124 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65125
65126         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
65127         that we can shift, multiply and divide unsigned long long
65128         values; Ultrix cc can't do it.
65129
65130 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65131
65132         * m4/mktime.m4: New file, which is a preview of what should appear
65133         in the next public autoconf release.
65134
65135 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65136
65137         * m4/lfs.m4: Remove this file.
65138         * m4/largefile.m4: New file.  It contains the old contents of
65139         lfs.m4, except that all names with prefix AC_LFS have been
65140         changed to use the prefix AC_SYS_LARGEFILE instead, to be
65141         compatible with future autoconf versions.  Also, some minor m4
65142         quoting problems have been fixed.
65143
65144 1999-08-01  Paul Eggert  <eggert@twinsun.com>
65145
65146         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
65147         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
65148         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
65149         and simplify the shell code.
65150
65151 1999-08-01  Jim Meyering  <meyering@ascend.com>
65152
65153         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
65154         m4.
65155
65156 1999-07-20  Jim Meyering  <meyering@ascend.com>
65157
65158         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
65159
65160 1999-07-15  Jim Meyering  <meyering@ascend.com>
65161
65162         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
65163
65164 1999-05-22  Jim Meyering  <meyering@ascend.com>
65165
65166         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
65167
65168 1999-05-20  Jim Meyering  <meyering@ascend.com>
65169
65170         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
65171         Add a colon after each `then' in case $4 is empty.
65172
65173 1999-05-16  Jim Meyering  <meyering@ascend.com>
65174
65175         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
65176
65177 1999-05-10  Jim Meyering  <meyering@ascend.com>
65178
65179         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
65180
65181         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
65182         AC_FUNC_MKTIME.
65183
65184 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
65185
65186         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
65187
65188 1999-05-04  Paul Eggert  <eggert@twinsun.com>
65189
65190         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
65191         not CPPFLAGS, so that linking works correctly in IRIX.
65192
65193 1999-04-30  Paul Eggert  <eggert@twinsun.com>
65194
65195         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
65196
65197 1999-04-20  Paul Eggert  <eggert@twinsun.com>
65198
65199         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
65200         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
65201         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
65202         jm_AC_TYPE_UNSIGNED_LONG_LONG.
65203         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
65204
65205         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
65206
65207 1999-04-20  Jim Meyering  <meyering@ascend.com>
65208
65209         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
65210         AC_REPLACE xstroull if necessary.  From Paul Eggert.
65211         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
65212
65213 1999-04-18  Jim Meyering  <meyering@ascend.com>
65214
65215         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
65216         * m4/jm-macros.m4: Use it.
65217
65218 1999-04-06  Jim Meyering  <meyering@ascend.com>
65219
65220         * m4/strftime.m4: Remove test for %f.
65221
65222 1999-03-29  Jim Meyering  <meyering@ascend.com>
65223
65224         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
65225         superset of the AC_TYPE_* checks in the textutils, fileutils,
65226         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
65227         AC_TYPE_PID_T.
65228
65229 1999-03-28  Jim Meyering  <meyering@ascend.com>
65230
65231         * m4/jm-macros.m4: Define GNU_PACKAGE here.
65232         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
65233         replaced e.g., in the *.sh files of the sh-utils.
65234
65235 1999-03-20  Jim Meyering  <meyering@ascend.com>
65236
65237         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
65238         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
65239         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
65240
65241 1999-03-19  Jim Meyering  <meyering@ascend.com>
65242
65243         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
65244
65245 1999-03-12  Jim Meyering  <meyering@ascend.com>
65246
65247         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
65248
65249 1999-03-07  Jim Meyering  <meyering@ascend.com>
65250
65251         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
65252         declared.
65253
65254 1999-02-17  Jim Meyering  <meyering@ascend.com>
65255
65256         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
65257         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
65258
65259 1999-02-07  Jim Meyering  <meyering@ascend.com>
65260
65261         * m4/group-member.m4: New file -- extracted from sh-utils'
65262         configure.in.
65263
65264         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
65265         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
65266
65267 1999-02-06  Jim Meyering  <meyering@ascend.com>
65268
65269         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
65270         * m4/fnmatch.m4: Likewise.
65271         * m4/getgroups.m4: Likewise.
65272         * m4/lstat.m4: Likewise.
65273         * m4/malloc.m4: Likewise.
65274         * m4/putenv.m4: Likewise.
65275         * m4/realloc.m4: Likewise.
65276         * m4/regex.m4: Likewise.
65277         * m4/stat.m4: Likewise.
65278         * m4/strftime.m4: Likewise.
65279         Suggestion from Alain Magloire.
65280
65281         * m4/chown.m4: Use `.$ac_objext', not `.o'.
65282         * m4/fnmatch.m4: Likewise.
65283         * m4/getgroups.m4: Likewise.
65284         * m4/getline.m4: Likewise.
65285         * m4/lstat.m4: Likewise.
65286         * m4/malloc.m4: Likewise.
65287         * m4/memcmp.m4: Likewise.
65288         * m4/putenv.m4: Likewise.
65289         * m4/realloc.m4: Likewise.
65290         * m4/regex.m4: Likewise.
65291         * m4/stat.m4: Likewise.
65292         * m4/strftime.m4: Likewise.
65293         Suggestion from Alain Magloire.
65294
65295         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
65296         an argument.
65297
65298         * m4/regex.m4: Add a run-time Test for proper operation of
65299         re_compile_pattern.
65300
65301 1999-01-31  Jim Meyering  <meyering@ascend.com>
65302
65303         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
65304
65305 1999-01-30  Jim Meyering  <meyering@ascend.com>
65306
65307         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
65308
65309         * m4/jm-mktime.m4: Make this a wrapper around the official
65310         AM_FUNC_MKTIME rather than my private copy, now that the official one
65311         is up to date.
65312         * m4/mktime.m4: Remove file.
65313
65314         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
65315         * m4/uptime.m4: Likewise.
65316         * m4/uintmax_t.m4: Likewise.
65317
65318 1999-01-28  Jim Meyering  <meyering@ascend.com>
65319
65320         * m4/jm-macros.m4: Use jm_AFS.
65321         * m4/afs.m4: New file (from fileutils' configure.in).
65322
65323         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
65324         * m4/chown.m4: Likewise.
65325         * m4/d-ino.m4: Likewise.
65326         * m4/d-type.m4: Likewise.
65327         * m4/fnmatch.m4: Likewise.
65328         * m4/getgroups.m4: Likewise.
65329         * m4/gettext.m4: Likewise.
65330         * m4/jm-mktime.m4: Likewise.
65331         * m4/jm-winsz2.m4: Likewise.
65332         * m4/lcmessage.m4: Likewise.
65333         * m4/ls-mntd-fs.m4: Likewise.
65334         * m4/malloc.m4: Likewise.
65335         * m4/memcmp.m4: Likewise.
65336         * m4/putenv.m4: Likewise.
65337         * m4/realloc.m4: Likewise.
65338         * m4/st_mtim.m4: Likewise.
65339         * m4/strftime.m4: Likewise.
65340
65341 1999-01-16  Jim Meyering  <meyering@ascend.com>
65342
65343         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
65344         (ARGMATCH_DIE_DECL): Define.
65345
65346 1999-01-12  Jim Meyering  <meyering@ascend.com>
65347
65348         * m4/Makefile.am.in: Rewrite to avoid using fmt.
65349         Reported by Lars Hecking.
65350
65351 1999-01-10  Jim Meyering  <meyering@ascend.com>
65352
65353         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
65354         gross kludge.
65355         * m4/inttypes_h.m4: Likewise.
65356         * m4/lstat.m4: Likewise.
65357         * m4/malloc.m4: Likewise.
65358         * m4/readdir.m4: Likewise.
65359         * m4/realloc.m4: Likewise.
65360         * m4/st_dm_mode.m4: Likewise.
65361         * m4/stat.m4: Likewise.
65362         * m4/utimbuf.m4: Likewise.
65363         * m4/utimes.m4: Likewise.
65364
65365         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
65366         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
65367         comments in config.h.in are meaningful.
65368
65369         * m4/jm-macros.m4: Require autoconf-2.13 here.
65370
65371         * m4/regex.m4: By default, don't use the included regex.c on systems
65372         with glibc 2.  Suggestion from Uli Drepper.
65373
65374 1999-01-02  Jim Meyering  <meyering@ascend.com>
65375
65376         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
65377
65378 1998-12-18  Jim Meyering  <meyering@ascend.com>
65379
65380         * m4/Makefile.am.in (Makefile.am): Simplify rule.
65381         Based on a suggestion from Lars Hecking.
65382
65383 1998-11-16  Paul Eggert  <eggert@twinsun.com>
65384
65385         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
65386
65387 1998-11-16  Jim Meyering  <meyering@ascend.com>
65388
65389         * m4/lfs.m4: Double-quote the `uname...` expression.
65390
65391 1998-11-14  Jim Meyering  <meyering@ascend.com>
65392
65393         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
65394         * m4/stat.m4: Likewise.
65395
65396 1998-11-03  Jim Meyering  <meyering@ascend.com>
65397
65398         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
65399         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
65400
65401 1998-10-18  Jim Meyering  <meyering@ascend.com>
65402
65403         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
65404
65405 1998-10-17  Jim Meyering  <meyering@ascend.com>
65406
65407         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
65408         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
65409         calls for those previously hard-coded headers.  Instead, take a new
65410         parameter.
65411         (jm_CHECK_DECLARATIONS): Reflect interface change.
65412         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
65413         (jm_CHECK_DECL_LOCALTIME_R): New macro.
65414
65415         * m4/mktime.m4: Test for spring-forward gap before long-running test.
65416
65417 1998-10-14  Jim Meyering  <meyering@ascend.com>
65418
65419         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
65420         instead of "TZ=America/Vancouver".  From Paul Eggert.
65421
65422 1998-10-11  Jim Meyering  <meyering@ascend.com>
65423
65424         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
65425         This adds a test for a recently added compatibility fix for mktime.c.
65426         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
65427
65428 1998-09-27  Jim Meyering  <meyering@ascend.com>
65429
65430         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
65431
65432         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
65433         ../configure.in, including a change from Gordon Matzigkeit to allow
65434         cross-compiling for the Hurd.
65435
65436         * m4/glibc.m4: New file/macro to test for the GNU C Library
65437         versions 1 and 2.  From Gordon Matzigkeit.
65438         Indent.
65439
65440 1998-09-21  Jim Meyering  <meyering@ascend.com>
65441
65442         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
65443
65444 1998-08-18  Paul Eggert  <eggert@twinsun.com>
65445
65446         Port nanosecond-resolution times to UnixWare 2.1.2 and
65447         pedantic Solaris 2.6.
65448
65449         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
65450         AC_STRUCT_ST_MTIM.
65451         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
65452         Generate name of ns member, instead of just 1 or undef.
65453         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
65454
65455 1998-08-15  Jim Meyering  <meyering@ascend.com>
65456
65457         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
65458         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
65459         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
65460         instead of jm_TYPE_SSIZE_T.
65461
65462 1998-08-12  Jim Meyering  <meyering@ascend.com>
65463
65464         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
65465
65466 1998-08-02  Jim Meyering  <meyering@ascend.com>
65467
65468         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
65469         in acconfig.h manually.
65470
65471 1998-07-31  Paul Eggert  <eggert@twinsun.com>
65472
65473         * m4/st_mtim.m4: New file.
65474
65475 1998-07-28  Jim Meyering  <meyering@ascend.com>
65476
65477         * m4/utimes.m4: Undef stat.
65478
65479 1998-07-25  Jim Meyering  <meyering@ascend.com>
65480
65481         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
65482         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
65483
65484 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
65485
65486         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
65487         uid and gid actually remain unchanged.
65488
65489 1998-07-07  Jim Meyering  <meyering@ascend.com>
65490
65491         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
65492
65493 1998-07-04  Jim Meyering  <meyering@ascend.com>
65494
65495         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
65496         to prove that this macro can be used in packages without regex.c.
65497
65498 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
65499
65500         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
65501         is to be used.
65502
65503 1998-07-03  Jim Meyering  <meyering@ascend.com>
65504
65505         * m4/gettext.m4: Add -lintl if it's found to be necessary.
65506
65507         * m4/gettext.m4: New file -- from gettext-0.10.35.
65508         * m4/lcmessage.m4: Likewise.
65509         * m4/progtest.m4: Likewise.
65510
65511         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
65512         * m4/jm-macros.m4: Require the new macro.
65513
65514 1998-06-29  Jim Meyering  <meyering@ascend.com>
65515
65516         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
65517         for the definition of NGROUPS (used in a system header included
65518         by sys/mount.h).
65519
65520 1998-06-28  Jim Meyering  <meyering@ascend.com>
65521
65522         * m4/ls-mntd-fs.m4: New file.
65523         * m4/fstypename.m4: New file.
65524
65525         * m4/jm-macros.m4: Require the new macro.
65526         * m4/jm-glibc-io.m4: New file.
65527
65528 1998-05-19  Jim Meyering  <meyering@ascend.com>
65529
65530         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
65531         * m4/lchown.m4: New file.
65532
65533         * m4/Makefile.am.in: New file.
65534         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
65535
65536 1998-05-14  Jim Meyering  <meyering@ascend.com>
65537
65538         * m4/Makefile.am (EXTRA_DIST): Add them.
65539         * m4/jm-macros.m4: New file.
65540         * m4/utimbuf.m4: New file.
65541
65542 1998-05-12  Jim Meyering  <meyering@ascend.com>
65543
65544         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
65545
65546 1998-05-11  Jim Meyering  <meyering@ascend.com>
65547
65548         * m4/isc-posix.m4: New file.
65549
65550 1998-05-10  Jim Meyering  <meyering@ascend.com>
65551
65552         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
65553
65554 1998-05-09  Jim Meyering  <meyering@ascend.com>
65555
65556         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
65557         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
65558         with automake.
65559
65560         * m4/ssize_t.m4: New file.
65561         * m4/mktime.m4: Remove file -- the new automake has this now.
65562
65563 1998-04-26  Jim Meyering  <meyering@ascend.com>
65564
65565         * m4/assert.m4: New file.
65566         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
65567
65568 1998-04-05  Jim Meyering  <meyering@ascend.com>
65569
65570         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
65571         (jm_PREREQ): Use it here.
65572
65573 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
65574
65575         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
65576         in acconfig.h.
65577
65578 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
65579
65580         * m4/prereq.m4: New file.
65581         * m4/error.m4: New file.
65582         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
65583
65584 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
65585
65586         * m4/getline.m4: Don't set am_cv_func_working_getline before the
65587         cache-check for the same variable -- that defeated the purpose of
65588         the test; the test program was never run.  This was a problem only
65589         on systems with losing getline functions -- HP-UX 10.20 is one.
65590         Reported by Bjorn Helgaas.
65591
65592 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
65593
65594         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
65595
65596 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
65597
65598         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
65599
65600         * m4/const.m4: New file.  Use an initializer in this declaration
65601         typedef int charset[2]; const charset x;
65602         Reported by Bob Glickstein.
65603
65604 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
65605
65606         * m4/chown.m4: Fix reversed types on -1 args to chown.
65607         From Kaveh Ghazi.
65608
65609 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
65610
65611         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
65612         Add lseek and memchr.
65613
65614         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
65615         T.E.Dickey <dickey@clark.net> said that some older preprocessors
65616         have a 20-character limit on names.
65617
65618 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
65619
65620         * m4/inttypes_h.m4: New file.
65621         * m4/uintmax_t.m4: New file.
65622         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
65623
65624
65625         -----
65626
65627         Local Variables:
65628         coding: utf-8
65629         End:
65630
65631         Copyright (C) 1997-2010 Free Software Foundation, Inc.
65632
65633         Copying and distribution of this file, with or without
65634         modification, are permitted provided the copyright notice
65635         and this notice are preserved.